adding the ability to save a draft from the xforms ui. currently this is only surfaced when clicking back in the create web content wizard (it saves a draft so that entered values don't get blown away).

also fixing a couple bugs related to namespaces within instance data.  being more rigorous about placing the namespace prefix in the right place basically.

removing the wrapperelementbuilders from the schemaformbuilder.  they were confusing and not used anywhere.  (reduces cruft from the schemaformbuilder).

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4816 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Ariel Backenroth
2007-01-12 22:03:30 +00:00
parent 0861936a2e
commit 2063aa7426
10 changed files with 204 additions and 567 deletions

View File

@@ -1487,31 +1487,41 @@ dojo.declare("alfresco.xforms.Submit",
{
initializer: function(xform, xformsNode)
{
var submit_buttons = _xforms_getSubmitButtons();
var submit_buttons = (this.id == "submit"
? _xforms_getSubmitButtons()
: (this.id == "save-draft"
? _xforms_getSaveDraftButtons()
: null));
if (submit_buttons == null)
{
throw new Error("unknown submit button " + this.id);
}
for (var i = 0; i < submit_buttons.length; i++)
{
dojo.debug("adding submit handler for " + submit_buttons[i].getAttribute('id'));
submit_buttons[i].xform = this.xform;
submit_buttons[i].widget = this;
dojo.event.browser.addListener(submit_buttons[i],
"onclick",
function(event)
{
var xform = event.target.xform;
if (!xform.submitWidget.done)
var xform = event.target.widget.xform;
if (xform.submitWidget && xform.submitWidget.done)
{
dojo.debug("done - doing base click on " + xform.submitWidget.currentButton.id);
xform.submitWidget.currentButton = null;
xform.submitWidget = null;
return true;
}
else
{
dojo.debug("triggering submit from handler " + event.target.id);
dojo.event.browser.stopEvent(event);
_hide_errors();
xform.submitWidget = event.target.widget;
xform.submitWidget.currentButton = event.target;
xform.submitWidget.widget.buttonClick();
return false;
}
else
{
dojo.debug("done - doing base click on " + xform.submitWidget.currentButton.id);
xform.submitWidget.currentButton = null;
return true;
}
},
false);
}
@@ -1519,7 +1529,6 @@ dojo.declare("alfresco.xforms.Submit",
render: function(attach_point)
{
this.inherited("render", [ attach_point ]);
this.xform.submitWidget = this;
},
_clickHandler: function(event)
{
@@ -1975,6 +1984,7 @@ dojo.declare("alfresco.xforms.XForm",
}
case "xforms-submit-error":
{
this.submitWidget = null;
var invalid = this.rootWidget.getWidgetsInvalidForSubmit();
_show_error(document.createTextNode("Please provide values for all required fields."));
var error_list = document.createElement("ul");
@@ -2156,8 +2166,8 @@ function _evaluateXPath(xpath, contextNode, result_type)
if (xmlDocument.evaluate)
{
var nsResolver = (xmlDocument.createNSResolver
? xmlDocument.createNSResolver(xmlDocument.documentElement) :
null);
? xmlDocument.createNSResolver(xmlDocument.documentElement)
: null);
result = xmlDocument.evaluate(xpath,
contextNode,
nsResolver,