Author: achiumenti
Date: Thu Jul 17 09:17:46 2008
New Revision: 58
Added:
trunk/main/dojo/src/js/ActionLink.js
trunk/main/dojo/src/js/Dialog.js
trunk/main/dojo/src/js/Editor.js
trunk/main/dojo/src/js/Editor2.js
trunk/main/dojo/src/js/FloatingContent.js
trunk/main/dojo/src/js/Form.js
trunk/main/dojo/src/js/HardLink.js
trunk/main/dojo/src/js/Rounded.js
trunk/main/dojo/src/js/claw.js
Log:
commit of version 0.1.0 (dojo)
Added: trunk/main/dojo/src/js/ActionLink.js
==============================================================================
--- (empty file)
+++ trunk/main/dojo/src/js/ActionLink.js Thu Jul 17 09:17:46 2008
@@ -0,0 +1,130 @@
+/**
+;;; $Header: dojo/src/js/ActionLink.js $
+
+;;; Copyright (c) 2008, Andrea Chiumenti. All rights reserved.
+
+;;; Redistribution and use in source and binary forms, with or without
+;;; modification, are permitted provided that the following conditions
+;;; are met:
+
+;;; * Redistributions of source code must retain the above copyright
+;;; notice, this list of conditions and the following disclaimer.
+
+;;; * Redistributions in binary form must reproduce the above
+;;; copyright notice, this list of conditions and the following
+;;; disclaimer in the documentation and/or other materials
+;;; provided with the distribution.
+
+;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
+;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+ if(!dojo._hasResource["claw.ActionLink"]){
+ dojo.provide("claw.ActionLink");
+
+ dojo.require("dijit._Widget");
+ dojo.require("dijit._Templated");
+ dojo.declare(
+ "claw.ActionLink",
+ [dijit._Widget, dijit._Templated],
+ {
+ xhrTimeout: "",//2000,
+ updateId: null,
+ enctype: "",
+ xhr: true,
+ templateString: "<a dojoAttachPoint='containerNode' dojoAttachEvent='onclick:_onClick' href='#'></a>",
+ 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(); });
+ element.innerHTML = reply.components[item];
+ dojo.parser.parse(element, true);
+ }
+ }
+ },
+
+ _evalReplClassScripts: function (reply) {
+ dijit.byId('scripts-content-pane').setContent(reply.classInjections);
+ },
+
+ _evalReplInstanceScripts: function (reply) {
+ 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);
+ },
+ click: function(){
+ if(!(this.onClick() === false) && !this.xhr){
+ this.containerNode.click();
+ }
+ },
+ _onClick: 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
+
+ if (this.xhr) {
+ if (e) {
+ e.preventDefault();
+ }
+ this.onBeforeClick(e);
+ var thisLink = this;
+ var jsonContent = dojo.mixin(this.jsonContent, { json : thisLink.updateId, rewindobject : thisLink.id });
+ this.jsonContent = {};
+ var linkId = this.id;
+ dojo.xhrPost({
+ url: '#',
+ load : function (data) {
+ try {
+ thisLink._updateAndEval(data);
+ } finally {
+ thisLink.onXhrFinish(e);
+ }
+ },
+ error : function (data) {console.error(data);thisLink.onXhrFinish(e);},
+ timeout : thisLink.xhrTimeout,
+ handleAs : 'json',
+ content : jsonContent });
+ }
+ return true;
+ },
+
+ onBeforeClick: 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.
+ },
+
+ 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
+ }
+ }
+ );
+
+ }
+
Added: trunk/main/dojo/src/js/Dialog.js
==============================================================================
--- (empty file)
+++ trunk/main/dojo/src/js/Dialog.js Thu Jul 17 09:17:46 2008
@@ -0,0 +1,40 @@
+/**
+;;; $Header: dojo/src/js/HardLink.js $
+
+;;; Copyright (c) 2008, Andrea Chiumenti. All rights reserved.
+
+;;; Redistribution and use in source and binary forms, with or without
+;;; modification, are permitted provided that the following conditions
+;;; are met:
+
+;;; * Redistributions of source code must retain the above copyright
+;;; notice, this list of conditions and the following disclaimer.
+
+;;; * Redistributions in binary form must reproduce the above
+;;; copyright notice, this list of conditions and the following
+;;; disclaimer in the documentation and/or other materials
+;;; provided with the distribution.
+
+;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
+;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+//if(!dojo._hasResource["claw.Dialog"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+ dojo.provide("claw.Dialog");
+
+ dojo.require("dijit.Dialog");
+
+ dojo.declare(
+ "claw.Dialog",
+ dijit.Dialog
+ );
+//}
\ No newline at end of file
Added: trunk/main/dojo/src/js/Editor.js
==============================================================================
--- (empty file)
+++ trunk/main/dojo/src/js/Editor.js Thu Jul 17 09:17:46 2008
@@ -0,0 +1,63 @@
+/**
+;;; $Header: dojo/src/js/Editor.js $
+
+;;; Copyright (c) 2008, Andrea Chiumenti. All rights reserved.
+
+;;; Redistribution and use in source and binary forms, with or without
+;;; modification, are permitted provided that the following conditions
+;;; are met:
+
+;;; * Redistributions of source code must retain the above copyright
+;;; notice, this list of conditions and the following disclaimer.
+
+;;; * Redistributions in binary form must reproduce the above
+;;; copyright notice, this list of conditions and the following
+;;; disclaimer in the documentation and/or other materials
+;;; provided with the distribution.
+
+;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
+;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+
+if(!dojo._hasResource["claw.Editor"]){
+ dojo.provide("claw.Editor");
+ dojo.require("dijit.Editor");
+ dojo.declare(
+ "claw.Editor",
+ dijit.Editor,
+ {
+ name: "",
+ hidden: null,
+ postCreate: function(){
+ this.inherited(arguments);
+ this.hidden = dojo.doc.createElement('input');
+ var hidden = this.hidden;
+ hidden.type = "hidden";
+ hidden.name = this.name;
+ this.domNode.parentNode.appendChild(this.hidden);
+ var theEditor = this;
+ if (this.hidden.form) {
+ var theForm = dijit.byId(this.hidden.form.id);
+ if (theForm) {
+ dojo.connect(theForm,
+ "onBeforeSubmit",
+ function(e) {hidden.value = theEditor.getValue();});
+ }
+ }
+ },
+ destroy: function(){
+ this.domNode.parentNode.removeChild(this.hidden);
+ this.inherited(arguments);
+ }
+ });
+}
\ No newline at end of file
Added: trunk/main/dojo/src/js/Editor2.js
==============================================================================
--- (empty file)
+++ trunk/main/dojo/src/js/Editor2.js Thu Jul 17 09:17:46 2008
@@ -0,0 +1,63 @@
+/**
+;;; $Header: dojo/src/js/Editor.js $
+
+;;; Copyright (c) 2008, Andrea Chiumenti. All rights reserved.
+
+;;; Redistribution and use in source and binary forms, with or without
+;;; modification, are permitted provided that the following conditions
+;;; are met:
+
+;;; * Redistributions of source code must retain the above copyright
+;;; notice, this list of conditions and the following disclaimer.
+
+;;; * Redistributions in binary form must reproduce the above
+;;; copyright notice, this list of conditions and the following
+;;; disclaimer in the documentation and/or other materials
+;;; provided with the distribution.
+
+;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
+;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+
+if(!dojo._hasResource["claw.Editor2"]){
+ dojo.provide("claw.Editor2");
+ dojo.require("dijit.Editor");
+ dojo.require("dojox.lang.aspect");
+ dojo.declare(
+ "claw.Editor2",
+ dijit.Editor,
+ {
+ name: "",
+ hidden: null,
+ postCreate: function(){
+ this.inherited(arguments);
+ this.hidden = dojo.doc.createElement('input');
+ var hidden = this.hidden;
+ hidden.type = "hidden";
+ hidden.name = this.name;
+ this.domNode.parentNode.appendChild(this.hidden);
+ var aop = dojox.lang.aspect;
+ var theEditor = this;
+ if (this.hidden.form) {
+ var theForm = dijit.byId(this.hidden.form.id);
+ if (!theForm)
+ theForm = this.hidden.form;
+ aop.advise(theForm, /submit/, { before: function(args) {hidden.value = theEditor.getValue();} });
+ }
+ },
+ destroy: function(){
+ this.domNode.parentNode.removeChild(this.hidden);
+ this.inherited(arguments);
+ }
+ });
+}
\ No newline at end of file
Added: trunk/main/dojo/src/js/FloatingContent.js
==============================================================================
--- (empty file)
+++ trunk/main/dojo/src/js/FloatingContent.js Thu Jul 17 09:17:46 2008
@@ -0,0 +1,47 @@
+/**
+;;; $Header: dojo/src/js/FloatingContent.js $
+
+;;; Copyright (c) 2008, Andrea Chiumenti. All rights reserved.
+
+;;; Redistribution and use in source and binary forms, with or without
+;;; modification, are permitted provided that the following conditions
+;;; are met:
+
+;;; * Redistributions of source code must retain the above copyright
+;;; notice, this list of conditions and the following disclaimer.
+
+;;; * Redistributions in binary form must reproduce the above
+;;; copyright notice, this list of conditions and the following
+;;; disclaimer in the documentation and/or other materials
+;;; provided with the distribution.
+
+;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
+;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+if(!dojo._hasResource["claw.FloatingContent"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+ dojo._hasResource["claw.FloatingContent"] = true;
+ dojo.provide("claw.FloatingContent");
+
+ dojo.require("dijit.Dialog");
+
+ dojo.declare(
+ "claw.FloatingContent",
+ dijit.Dialog,
+ {
+
+ templateString:"<div class=\"dijitDialog\" style=\"border:0;\" tabindex=\"-1\" waiRole=\"dialog\" waiState=\"labelledby-${id}_title\">\n\t<div dojoAttachPoint=\"containerNode\"></div>\n</div>",
+ _getFocusItems: function (domNode) {}
+
+ }
+ );
+}
\ No newline at end of file
Added: trunk/main/dojo/src/js/Form.js
==============================================================================
--- (empty file)
+++ trunk/main/dojo/src/js/Form.js Thu Jul 17 09:17:46 2008
@@ -0,0 +1,157 @@
+/**
+;;; $Header: dojo/src/js/Form.js $
+
+;;; Copyright (c) 2008, Andrea Chiumenti. All rights reserved.
+
+;;; Redistribution and use in source and binary forms, with or without
+;;; modification, are permitted provided that the following conditions
+;;; are met:
+
+;;; * Redistributions of source code must retain the above copyright
+;;; notice, this list of conditions and the following disclaimer.
+
+;;; * Redistributions in binary form must reproduce the above
+;;; copyright notice, this list of conditions and the following
+;;; disclaimer in the documentation and/or other materials
+;;; provided with the distribution.
+
+;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
+;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+if(!dojo._hasResource["claw.Form"]){
+dojo.provide("claw.Form");
+
+dojo.require("dojo.io.iframe");
+dojo.require("dijit.form.Form");
+
+dojo.declare(
+ "claw.Form",
+ [dijit.form.Form],
+ {
+ // summary:
+ // Adds conveniences to regular HTML form
+
+ // HTML <FORM> attributes
+ 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(); });
+ element.innerHTML = reply.components[item];
+ dojo.parser.parse(element, true);
+ }
+ }
+ },
+
+ _evalReplClassScripts: function (reply) {
+ dijit.byId('scripts-content-pane').setContent(reply.classInjections);
+ },
+
+ _evalReplInstanceScripts: function (reply) {
+ 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);
+ },
+ submit: function(){
+ 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') {
+ 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 });
+ } 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;
+ },
+
+ 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.
+ },
+
+ 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
+ }
+ }
+);
+
+}
+
Added: trunk/main/dojo/src/js/HardLink.js
==============================================================================
--- (empty file)
+++ trunk/main/dojo/src/js/HardLink.js Thu Jul 17 09:17:46 2008
@@ -0,0 +1,64 @@
+/**
+;;; $Header: dojo/src/js/HardLink.js $
+
+;;; Copyright (c) 2008, Andrea Chiumenti. All rights reserved.
+
+;;; Redistribution and use in source and binary forms, with or without
+;;; modification, are permitted provided that the following conditions
+;;; are met:
+
+;;; * Redistributions of source code must retain the above copyright
+;;; notice, this list of conditions and the following disclaimer.
+
+;;; * Redistributions in binary form must reproduce the above
+;;; copyright notice, this list of conditions and the following
+;;; disclaimer in the documentation and/or other materials
+;;; provided with the distribution.
+
+;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
+;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+if(!dojo._hasResource["claw.HardLink"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+ dojo._hasResource["claw.HardLink"] = true;
+ dojo.provide("claw.HardLink");
+
+ dojo.require("dijit._Widget");
+
+ dojo.declare(
+ "claw.HardLink",
+ dijit._Widget,
+ {
+
+ // connectId: String
+ // Id of domNode to attach the hard link to.
+
+ refId: "",
+
+ style: "display:none;",
+
+ destroy: function () {
+ if (this.refId) {
+ var widget = dijit.byId(this.refId);
+ if (widget) {
+ var domNode = widget.domNode;
+ var list = dojo.query('[widgetId]', domNode);
+ dojo.forEach(list.map(dijit.byNode), function(widget){if (widget) widget.destroy(); });
+ widget.destroy();
+ }
+ }
+ this.inherited(arguments);
+ }
+
+ }
+ );
+}
\ No newline at end of file
Added: trunk/main/dojo/src/js/Rounded.js
==============================================================================
--- (empty file)
+++ trunk/main/dojo/src/js/Rounded.js Thu Jul 17 09:17:46 2008
@@ -0,0 +1,58 @@
+/**
+;;; $Header: dojo/src/js/LoadingSpinner.js $
+
+;;; Copyright (c) 2008, Andrea Chiumenti. All rights reserved.
+
+;;; Redistribution and use in source and binary forms, with or without
+;;; modification, are permitted provided that the following conditions
+;;; are met:
+
+;;; * Redistributions of source code must retain the above copyright
+;;; notice, this list of conditions and the following disclaimer.
+
+;;; * Redistributions in binary form must reproduce the above
+;;; copyright notice, this list of conditions and the following
+;;; disclaimer in the documentation and/or other materials
+;;; provided with the distribution.
+
+;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
+;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+if(!dojo._hasResource["claw.Rounded"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+ dojo._hasResource["claw.Rounded"] = true;
+ dojo.provide("claw.Rounded");
+
+ dojo.require("dijit._Widget");
+ dojo.require("dijit._Templated");
+
+
+ dojo.declare(
+ "claw.Rounded",
+ [dijit._Widget, dijit._Templated],
+ {
+ templateString:"<div class=\"Rounded\" dojoAttachPoint=\"outerNode\">\n\t<div class=\"RoundedContent\" dojoAttachPoint=\"roundedContent\">\n\t\t<div class=\"RoundedTop\" dojoAttachPoint=\"roundedTop\"></div>\n\t\t<div dojoAttachPoint=\"contentNode\">\n\t\t\t<div dojoAttachPoint=\"containerNode\"></div>\n\t\t</div>\n\t</div>\n\t<div class=\"RoundedBottom\" dojoAttachPoint=\"roundedBottom\">\n\t\t<div dojoAttachPoint=\"roundedBottomDiv\"></div>\n\t</div>\n</div>",
+ bgImg: "", // standard background image (png)
+ bgImgAlt: "", // background image for ie6
+
+ postCreate: function() {
+ dojo.style(this.contentNode, "height", dojo.style(this.outerNode, "height")-10+'px'); // TODO: Calculate correct height
+ var alt = (this.bgImgAlt.length && dojo.isIE < 7 && dojo.isIE > 0);
+ dojo.forEach(["roundedContent","roundedTop","roundedBottom","roundedBottomDiv"],
+ function(elName){
+ dojo.style(this[elName],"backgroundImage", "url(" + (alt ? this.bgImgAlt : this.bgImg) + ")");
+ },
+ this);
+ }
+ });
+
+}
\ No newline at end of file
Added: trunk/main/dojo/src/js/claw.js
==============================================================================
--- (empty file)
+++ trunk/main/dojo/src/js/claw.js Thu Jul 17 09:17:46 2008
@@ -0,0 +1,59 @@
+/**
+;;; $Header: dojo/src/js/claw.js $
+
+;;; Copyright (c) 2008, Andrea Chiumenti. All rights reserved.
+
+;;; Redistribution and use in source and binary forms, with or without
+;;; modification, are permitted provided that the following conditions
+;;; are met:
+
+;;; * Redistributions of source code must retain the above copyright
+;;; notice, this list of conditions and the following disclaimer.
+
+;;; * Redistributions in binary form must reproduce the above
+;;; copyright notice, this list of conditions and the following
+;;; disclaimer in the documentation and/or other materials
+;;; provided with the distribution.
+
+;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
+;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+//dojo.require('dijit.Tooltip');
+
+var claw = {
+ _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(); });
+ element.innerHTML = reply.components[item];
+ dojo.parser.parse(element, true);
+ }
+ }
+ },
+ _evalReplClassScripts: function (reply) {
+ dijit.byId('scripts-content-pane').setContent(reply.classInjections);
+ },
+ _evalReplInstanceScripts: function (reply) {
+ 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);
+
+ }
+};
\ No newline at end of file