Author: achiumenti Date: Thu Sep 18 09:30:51 2008 New Revision: 92
Modified: trunk/main/claw-html.dojo/src/js/ActionLink.js trunk/main/claw-html.dojo/src/js/Dialog.js trunk/main/claw-html.dojo/src/js/Form.js Log: several bugfixes
Modified: trunk/main/claw-html.dojo/src/js/ActionLink.js ============================================================================== --- trunk/main/claw-html.dojo/src/js/ActionLink.js (original) +++ trunk/main/claw-html.dojo/src/js/ActionLink.js Thu Sep 18 09:30:51 2008 @@ -51,15 +51,14 @@ _updateParts: function (reply) { for (var item in reply.components) { var element = dojo.byId(item); - if ((element != null) && (reply.components[item] != null)) { - var list = dojo.query('[widgetId]', element); - dojo.forEach(list.map(dijit.byNode), function(widget){if (widget) widget.destroy(); }); + if (element != null) { + if (reply.components[item] != null) { + var list = dojo.query('[widgetId]', element); + dojo.forEach(list.map(dijit.byNode), function(widget){if (widget) widget.destroy(); }); + } + element.innerHTML = reply.components[item]; + dojo.parser.parse(element, true); } - var oldVisibility = element.style.visibility; - element.style.visibility = 'hidden'; - element.innerHTML = reply.components[item]; - dojo.parser.parse(element, true); - element.style.visibility = oldVisibility; } },
Modified: trunk/main/claw-html.dojo/src/js/Dialog.js ============================================================================== --- trunk/main/claw-html.dojo/src/js/Dialog.js (original) +++ trunk/main/claw-html.dojo/src/js/Dialog.js Thu Sep 18 09:30:51 2008 @@ -52,6 +52,10 @@ this.templateString = this.templateStringUnclosable; } this.inherited(arguments); + }, + hide: function () { + this.domNode.style.visibility = 'hidden'; + this.inherited(arguments); } } );
Modified: trunk/main/claw-html.dojo/src/js/Form.js ============================================================================== --- trunk/main/claw-html.dojo/src/js/Form.js (original) +++ trunk/main/claw-html.dojo/src/js/Form.js Thu Sep 18 09:30:51 2008 @@ -28,135 +28,135 @@ ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
-if(!dojo._hasResource["claw.Form"]){ -dojo.provide("claw.Form"); + if(!dojo._hasResource["claw.Form"]){ + dojo.provide("claw.Form");
-dojo.require("dojo.io.iframe"); -dojo.require("dijit.form.Form"); + dojo.require("dojo.io.iframe"); + dojo.require("dijit.form.Form");
-dojo.declare( - "claw.Form", - [dijit.form.Form], - { + dojo.declare( + "claw.Form", + [dijit.form.Form], + { // summary: // Adds conveniences to regular HTML form
// HTML <FORM> attributes - xhrTimeout: "",//2000, + xhrTimeout: "",//2000, updateId: null, enctype: "", xhr: null, jsonContent: {}, _updateParts: function (reply) { - for (var item in reply.components) { - var element = dojo.byId(item); - if ((element != null) && (reply.components[item] != null)) { - var list = dojo.query('[widgetId]', element); - dojo.forEach(list.map(dijit.byNode), function(widget){if (widget) widget.destroy(); }); - } - var oldVisibility = element.style.visibility; - element.style.visibility = 'hidden'; - element.innerHTML = reply.components[item]; - dojo.parser.parse(element, true); - element.style.visibility = oldVisibility; - } - }, + for (var item in reply.components) { + var element = dojo.byId(item); + if (element != null) { + if (reply.components[item] != null) { + var list = dojo.query('[widgetId]', element); + dojo.forEach(list.map(dijit.byNode), function(widget){if (widget) widget.destroy(); }); + } + element.innerHTML = reply.components[item]; + dojo.parser.parse(element, true); + } + } + },
_evalReplClassScripts: function (reply) { - dijit.byId('scripts-content-pane').setContent(reply.classInjections); + dijit.byId('scripts-content-pane').setContent(reply.classInjections); },
_evalReplInstanceScripts: function (reply) { - dijit.byId('scripts-content-pane').setContent(reply.instanceInjections); + dijit.byId('scripts-content-pane').setContent(reply.instanceInjections); },
_updateAndEval: function (reply) { - console.debug("Plain object as string is: ", reply); - console.debug("Object as string is: ", dojo.toJson(reply, true)); - this._evalReplClassScripts(reply); - this._updateParts(reply); - this._evalReplInstanceScripts(reply); + console.debug("Plain object as string is: ", reply); + console.debug("Object as string is: ", dojo.toJson(reply, true)); + this._evalReplClassScripts(reply); + this._updateParts(reply); + this._evalReplInstanceScripts(reply); }, submit: function(){ - if(!(this.onSubmit() === false) && !this.xhr){ - this.containerNode.submit(); - } + if(!(this.onSubmit() === false) && !this.xhr){ + this.containerNode.submit(); + } }, onSubmit: function(e){ - // summary: - // Callback when user submits the form. This method is - // intended to be over-ridden, but by default it checks and - // returns the validity of form elements. When the `submit` - // method is called programmatically, the return value from - // `onSubmit` is used to compute whether or not submission - // should proceed - - var valid = this.validate(); // Boolean - - if (valid && this.xhr) { - if (e) { - e.preventDefault(); - } - this.onBeforeSubmit(e); - var thisForm = this; - var jsonContent = dojo.mixin(this.jsonContent, { json : thisForm.updateId }); - this.jsonContent = {}; - var formId = this.id; - if (this.enctype != 'multipart/form-data') { - try { - dojo.xhrPost({ - url: '#', - load : function (data) { - try { - thisForm._updateAndEval(data); - } finally { - thisForm.onXhrFinish(e); - } - }, - error : function (data) {console.error("!!!!!!",data);thisForm.onXhrFinish(e);}, - timeout : thisForm.xhrTimeout, - handleAs : 'json', - form : formId, - content : jsonContent }); - } catch (e) {alert(e);} - } else { - jsonContent = dojo.mixin(jsonContent, { jsonPrefix: '<textarea>', jsonSuffix: '</textarea>' }); - dojo.io.iframe.send({ - load : function (data) { - try { - thisForm._updateAndEval(data); - } finally { - thisForm.onXhrFinish(e); - } - }, - error : function (data) { - console.error(data); + // summary: + // Callback when user submits the form. This method is + // intended to be over-ridden, but by default it checks and + // returns the validity of form elements. When the `submit` + // method is called programmatically, the return value from + // `onSubmit` is used to compute whether or not submission + // should proceed + + var valid = this.validate(); // Boolean + + if (valid && this.xhr) { + if (e) { + e.preventDefault(); + } + this.onBeforeSubmit(e); + var thisForm = this; + var jsonContent = dojo.mixin(this.jsonContent, { json : thisForm.updateId }); + this.jsonContent = {}; + var formId = this.id; + if (this.enctype != 'multipart/form-data') { + try { + dojo.xhrPost({ + url: '#', + load : function (data) { + try { + thisForm._updateAndEval(data); + } finally { thisForm.onXhrFinish(e); - }, - timeout : thisForm.xhrTimeout, - handleAs : 'json', - form: formId, - content : jsonContent }); - } + } + }, + error : function (data) {console.error("!!!!!!",data);thisForm.onXhrFinish(e);}, + timeout : thisForm.xhrTimeout, + handleAs : 'json', + form : formId, + content : jsonContent }); + } catch (e) {alert(e);} + } else { + jsonContent = dojo.mixin(jsonContent, { jsonPrefix: '<textarea>', jsonSuffix: '</textarea>' }); + dojo.io.iframe.send({ + load : function (data) { + try { + thisForm._updateAndEval(data); + } finally { + thisForm.onXhrFinish(e); + } + }, + error : function (data) { + console.error(data); + thisForm.onXhrFinish(e); + }, + timeout : thisForm.xhrTimeout, + handleAs : 'json', + form: formId, + content : jsonContent }); } - return valid; + } + this.jsonContent = {}; + return valid; },
onBeforeSubmit: function(/*Event?*/e){ - // summary: - // Callback when user submits the form. This method is - // intended to be over-ridden. When the `submit` calls dojo.xhrPost - // this method is called before. + // summary: + // Callback when user submits the form. This method is + // intended to be over-ridden. When the `submit` calls dojo.xhrPost + // this method is called before. },
onXhrFinish: function(/*Event?*/e){ - // summary: - // Callback when user submits the form. This method is - // intended to be over-ridden. After the call to dojo.xhrPost - // thouches lload or error this event is fired + // summary: + // Callback when user submits the form. This method is + // intended to be over-ridden. After the call to dojo.xhrPost + // thouches lload or error this event is fired } - } -); + } + );
-} + }