From 069649c8ed93928ee1d3546bdd4268d9f030e370 Mon Sep 17 00:00:00 2001 From: Ariel Backenroth Date: Sun, 24 Sep 2006 16:51:47 +0000 Subject: [PATCH] some fixes for reading in default values for checkboxes and dates. checking in some of my test xsds and xsls. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3908 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../test-resources/xforms/demos/note/note.xml | 6 + .../test-resources/xforms/demos/note/note.xsd | 15 ++ .../test-resources/xforms/demos/note/note.xsl | 61 ++++++++ .../xforms/demos/person/person.xsd | 22 +++ .../demos/press-release/press_release.xsd | 16 +++ .../xforms/demos/record/record.xsd | 30 ++++ .../xforms/demos/record/record.xsl | 40 ++++++ .../unit-tests/components/components.xsd | 46 ++++++ .../unit-tests/components/components.xsl | 67 +++++++++ .../xforms/unit-tests/datetime/datetime.xsd | 42 ++++++ .../default-values/default-values.xml | 10 ++ .../default-values/default-values.xsd | 41 ++++++ .../default-values/default-values.xsl | 14 ++ .../repeat-components/repeat-components.xsd | 47 ++++++ .../repeat-components/repeat-components.xsl | 135 ++++++++++++++++++ .../repeat-simple/repeat-simple.xml | 15 ++ .../repeat-simple/repeat-simple.xsd | 24 ++++ .../repeat-simple/repeat-simple.xsl | 135 ++++++++++++++++++ .../textarea-test/textarea-test.xsd | 12 ++ .../textarea-test/textarea-test.xsl | 135 ++++++++++++++++++ source/web/scripts/ajax/xforms.js | 18 ++- 21 files changed, 925 insertions(+), 6 deletions(-) create mode 100644 source/test-resources/xforms/demos/note/note.xml create mode 100644 source/test-resources/xforms/demos/note/note.xsd create mode 100644 source/test-resources/xforms/demos/note/note.xsl create mode 100644 source/test-resources/xforms/demos/person/person.xsd create mode 100644 source/test-resources/xforms/demos/press-release/press_release.xsd create mode 100644 source/test-resources/xforms/demos/record/record.xsd create mode 100644 source/test-resources/xforms/demos/record/record.xsl create mode 100644 source/test-resources/xforms/unit-tests/components/components.xsd create mode 100644 source/test-resources/xforms/unit-tests/components/components.xsl create mode 100644 source/test-resources/xforms/unit-tests/datetime/datetime.xsd create mode 100644 source/test-resources/xforms/unit-tests/default-values/default-values.xml create mode 100644 source/test-resources/xforms/unit-tests/default-values/default-values.xsd create mode 100644 source/test-resources/xforms/unit-tests/default-values/default-values.xsl create mode 100644 source/test-resources/xforms/unit-tests/repeat-components/repeat-components.xsd create mode 100644 source/test-resources/xforms/unit-tests/repeat-components/repeat-components.xsl create mode 100644 source/test-resources/xforms/unit-tests/repeat-simple/repeat-simple.xml create mode 100644 source/test-resources/xforms/unit-tests/repeat-simple/repeat-simple.xsd create mode 100644 source/test-resources/xforms/unit-tests/repeat-simple/repeat-simple.xsl create mode 100644 source/test-resources/xforms/unit-tests/textarea-test/textarea-test.xsd create mode 100644 source/test-resources/xforms/unit-tests/textarea-test/textarea-test.xsl diff --git a/source/test-resources/xforms/demos/note/note.xml b/source/test-resources/xforms/demos/note/note.xml new file mode 100644 index 0000000000..af4e5c3497 --- /dev/null +++ b/source/test-resources/xforms/demos/note/note.xml @@ -0,0 +1,6 @@ + + me + you + this is a very important note + foo + diff --git a/source/test-resources/xforms/demos/note/note.xsd b/source/test-resources/xforms/demos/note/note.xsd new file mode 100644 index 0000000000..eb70d3c965 --- /dev/null +++ b/source/test-resources/xforms/demos/note/note.xsd @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + diff --git a/source/test-resources/xforms/demos/note/note.xsl b/source/test-resources/xforms/demos/note/note.xsl new file mode 100644 index 0000000000..8eee738e60 --- /dev/null +++ b/source/test-resources/xforms/demos/note/note.xsl @@ -0,0 +1,61 @@ + + + + + + + + + + + <xsl:value-of select="/note/title"/> + + + + + + + +
To:
+
+ +
From:
+
+ +
+ Subject: + + + + !!!!! + + +
+
+ +
+ +
+
+ + +
diff --git a/source/test-resources/xforms/demos/person/person.xsd b/source/test-resources/xforms/demos/person/person.xsd new file mode 100644 index 0000000000..e1e7feb2da --- /dev/null +++ b/source/test-resources/xforms/demos/person/person.xsd @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/source/test-resources/xforms/demos/press-release/press_release.xsd b/source/test-resources/xforms/demos/press-release/press_release.xsd new file mode 100644 index 0000000000..24e3082c50 --- /dev/null +++ b/source/test-resources/xforms/demos/press-release/press_release.xsd @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/source/test-resources/xforms/demos/record/record.xsd b/source/test-resources/xforms/demos/record/record.xsd new file mode 100644 index 0000000000..5c6356d488 --- /dev/null +++ b/source/test-resources/xforms/demos/record/record.xsd @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/test-resources/xforms/demos/record/record.xsl b/source/test-resources/xforms/demos/record/record.xsl new file mode 100644 index 0000000000..e27545cc08 --- /dev/null +++ b/source/test-resources/xforms/demos/record/record.xsl @@ -0,0 +1,40 @@ + + + + + + + + + + + <xsl:value-of select="/record/@title"/> + + +
Name:
+
Artist:
+
Genre:
+
Year:
+ + +
+
diff --git a/source/test-resources/xforms/unit-tests/components/components.xsd b/source/test-resources/xforms/unit-tests/components/components.xsd new file mode 100644 index 0000000000..6df918ec1d --- /dev/null +++ b/source/test-resources/xforms/unit-tests/components/components.xsd @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/test-resources/xforms/unit-tests/components/components.xsl b/source/test-resources/xforms/unit-tests/components/components.xsl new file mode 100644 index 0000000000..50dc57ea2c --- /dev/null +++ b/source/test-resources/xforms/unit-tests/components/components.xsl @@ -0,0 +1,67 @@ + + + + + + + + + + + Component Test + + + + + + + +
Required Textfield:
+
+ +
Optional Textfield:
+
+ +
Integer:
+
+ +
Positive Integer:
+
+ +
Double:
+
+ +
Date:
+
+ +
Radio:
+
+ +
ComboBox:
+
+ +
TextArea:
+
+ +
CheckBox:
+
+
diff --git a/source/test-resources/xforms/unit-tests/datetime/datetime.xsd b/source/test-resources/xforms/unit-tests/datetime/datetime.xsd new file mode 100644 index 0000000000..cbc4906a37 --- /dev/null +++ b/source/test-resources/xforms/unit-tests/datetime/datetime.xsd @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/source/test-resources/xforms/unit-tests/default-values/default-values.xml b/source/test-resources/xforms/unit-tests/default-values/default-values.xml new file mode 100644 index 0000000000..c08f5ecdcb --- /dev/null +++ b/source/test-resources/xforms/unit-tests/default-values/default-values.xml @@ -0,0 +1,10 @@ + + default string value + 3 + 1978-08-08 + three + three + + true + false + diff --git a/source/test-resources/xforms/unit-tests/default-values/default-values.xsd b/source/test-resources/xforms/unit-tests/default-values/default-values.xsd new file mode 100644 index 0000000000..cd3a81e0e4 --- /dev/null +++ b/source/test-resources/xforms/unit-tests/default-values/default-values.xsd @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/test-resources/xforms/unit-tests/default-values/default-values.xsl b/source/test-resources/xforms/unit-tests/default-values/default-values.xsl new file mode 100644 index 0000000000..da14742ce0 --- /dev/null +++ b/source/test-resources/xforms/unit-tests/default-values/default-values.xsl @@ -0,0 +1,14 @@ + + + + + + + + + diff --git a/source/test-resources/xforms/unit-tests/repeat-components/repeat-components.xsd b/source/test-resources/xforms/unit-tests/repeat-components/repeat-components.xsd new file mode 100644 index 0000000000..32e3c0b954 --- /dev/null +++ b/source/test-resources/xforms/unit-tests/repeat-components/repeat-components.xsd @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/test-resources/xforms/unit-tests/repeat-components/repeat-components.xsl b/source/test-resources/xforms/unit-tests/repeat-components/repeat-components.xsl new file mode 100644 index 0000000000..ae49080b76 --- /dev/null +++ b/source/test-resources/xforms/unit-tests/repeat-components/repeat-components.xsl @@ -0,0 +1,135 @@ + + + + + + + + + + repeat-components + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
zero-to-one
one-to-one
+ + one-to-inf + +
    + +
  • +
    +
+
+ + zero-to-inf + +
    + +
  • +
    +
+
+ + one-to-five + +
    + +
  • +
    +
+
+ + zero-to-five + +
    + +
  • +
    +
+
+ + one-to-five-multi + +
    + +
      +
    • +
    • +
    +
    +
+
+ + zero-to-five-multi + +
    + +
  • +
      +
    • +
    • +
    +
  • +
    +
+
+ + +
+
diff --git a/source/test-resources/xforms/unit-tests/repeat-simple/repeat-simple.xml b/source/test-resources/xforms/unit-tests/repeat-simple/repeat-simple.xml new file mode 100644 index 0000000000..a5034a8c59 --- /dev/null +++ b/source/test-resources/xforms/unit-tests/repeat-simple/repeat-simple.xml @@ -0,0 +1,15 @@ + + 021 + 121 + 12inf-0 + 12inf-1 + 12inf-2 + 02inf-0 + 125-0 + 125-1 + 125-2 + 025-2 + 125m-s-0125m-i-0 + 125m-s-1125m-i-1 + 025m-s-0025m-i-0 + diff --git a/source/test-resources/xforms/unit-tests/repeat-simple/repeat-simple.xsd b/source/test-resources/xforms/unit-tests/repeat-simple/repeat-simple.xsd new file mode 100644 index 0000000000..f89eefe595 --- /dev/null +++ b/source/test-resources/xforms/unit-tests/repeat-simple/repeat-simple.xsd @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/test-resources/xforms/unit-tests/repeat-simple/repeat-simple.xsl b/source/test-resources/xforms/unit-tests/repeat-simple/repeat-simple.xsl new file mode 100644 index 0000000000..cafd1af2e6 --- /dev/null +++ b/source/test-resources/xforms/unit-tests/repeat-simple/repeat-simple.xsl @@ -0,0 +1,135 @@ + + + + + + + + + + repeat-simple + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
zero-to-one
one-to-one
+ + one-to-inf + +
    + +
  • +
    +
+
+ + zero-to-inf + +
    + +
  • +
    +
+
+ + one-to-five + +
    + +
  • +
    +
+
+ + zero-to-five + +
    + +
  • +
    +
+
+ + one-to-five-multi + +
    + +
      +
    • +
    • +
    +
    +
+
+ + zero-to-five-multi + +
    + +
  • +
      +
    • +
    • +
    +
  • +
    +
+
+ + +
+
diff --git a/source/test-resources/xforms/unit-tests/textarea-test/textarea-test.xsd b/source/test-resources/xforms/unit-tests/textarea-test/textarea-test.xsd new file mode 100644 index 0000000000..b3f1063704 --- /dev/null +++ b/source/test-resources/xforms/unit-tests/textarea-test/textarea-test.xsd @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/source/test-resources/xforms/unit-tests/textarea-test/textarea-test.xsl b/source/test-resources/xforms/unit-tests/textarea-test/textarea-test.xsl new file mode 100644 index 0000000000..ae49080b76 --- /dev/null +++ b/source/test-resources/xforms/unit-tests/textarea-test/textarea-test.xsl @@ -0,0 +1,135 @@ + + + + + + + + + + repeat-components + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
zero-to-one
one-to-one
+ + one-to-inf + +
    + +
  • +
    +
+
+ + zero-to-inf + +
    + +
  • +
    +
+
+ + one-to-five + +
    + +
  • +
    +
+
+ + zero-to-five + +
    + +
  • +
    +
+
+ + one-to-five-multi + +
    + +
      +
    • +
    • +
    +
    +
+
+ + zero-to-five-multi + +
    + +
  • +
      +
    • +
    • +
    +
  • +
    +
+
+ + +
+
diff --git a/source/web/scripts/ajax/xforms.js b/source/web/scripts/ajax/xforms.js index a90c97a6a8..9c346ba601 100644 --- a/source/web/scripts/ajax/xforms.js +++ b/source/web/scripts/ajax/xforms.js @@ -145,7 +145,8 @@ dojo.declare("alfresco.xforms.DatePicker", }, render: function(attach_point) { - var initial_value = this.getInitialValue() || dojo.widget.DatePicker.util.toRfcDate(); + var initial_value = this.getInitialValue(); + var dateTextBoxDiv = document.createElement("div"); attach_point.appendChild(dateTextBoxDiv); this.dateTextBox = dojo.widget.createWidget("DateTextBox", @@ -160,12 +161,17 @@ dojo.declare("alfresco.xforms.DatePicker", "onfocus", this, this._dateTextBox_focusHandler); + var datePickerDiv = document.createElement("div"); attach_point.appendChild(datePickerDiv); + + var dp_initial_value = (initial_value + ? initial_value + : dojo.widget.DatePicker.util.toRfcDate(new Date())); this.dateTextBox.picker = dojo.widget.createWidget("DatePicker", { isHidden: true, - value : initial_value + storedDate: dp_initial_value }, datePickerDiv); this.dateTextBox.picker.hide(); @@ -355,7 +361,7 @@ dojo.declare("alfresco.xforms.Select1", } }); -dojo.declare("alfresco.xforms.CheckBox", +dojo.declare("alfresco.xforms.Checkbox", alfresco.xforms.Widget, { initializer: function(xform, node) @@ -366,8 +372,8 @@ dojo.declare("alfresco.xforms.CheckBox", { var nodeRef = document.createElement("div"); attach_point.appendChild(nodeRef); - var initial_value = this.getInitialValue() || false; - this.widget = dojo.widget.createWidget("CheckBox", + var initial_value = this.getInitialValue() == "true"; + this.widget = dojo.widget.createWidget("Checkbox", { widgetId: this.id + "-widget", checked: initial_value @@ -1070,7 +1076,7 @@ function create_widget(xform, node) } case "xforms:select1": return (xform.getType(node) == "boolean" - ? new alfresco.xforms.CheckBox(xform, node) + ? new alfresco.xforms.Checkbox(xform, node) : new alfresco.xforms.Select1(xform, node)); case "xforms:submit": return new alfresco.xforms.Submit(xform, node);