You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2009/07/16 21:14:56 UTC
svn commit: r794787 [18/34] - in
/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src: ./
animation/ cal/ charting/ charting/svg/ charting/vml/ collections/ crypto/
data/ data/core/ data/old/ data/old/format/ data/old/provider/ date/
debug/...
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/Manager.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/Manager.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/Manager.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/Manager.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,150 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.undo.Manager");
+dojo.require("dojo.lang.common");
+dojo.undo.Manager = function (parent) {
+ this.clear();
+ this._parent = parent;
+};
+dojo.extend(dojo.undo.Manager, {_parent:null, _undoStack:null, _redoStack:null, _currentManager:null, canUndo:false, canRedo:false, isUndoing:false, isRedoing:false, onUndo:function (manager, item) {
+}, onRedo:function (manager, item) {
+}, onUndoAny:function (manager, item) {
+}, onRedoAny:function (manager, item) {
+}, _updateStatus:function () {
+ this.canUndo = this._undoStack.length > 0;
+ this.canRedo = this._redoStack.length > 0;
+}, clear:function () {
+ this._undoStack = [];
+ this._redoStack = [];
+ this._currentManager = this;
+ this.isUndoing = false;
+ this.isRedoing = false;
+ this._updateStatus();
+}, undo:function () {
+ if (!this.canUndo) {
+ return false;
+ }
+ this.endAllTransactions();
+ this.isUndoing = true;
+ var top = this._undoStack.pop();
+ if (top instanceof dojo.undo.Manager) {
+ top.undoAll();
+ } else {
+ top.undo();
+ }
+ if (top.redo) {
+ this._redoStack.push(top);
+ }
+ this.isUndoing = false;
+ this._updateStatus();
+ this.onUndo(this, top);
+ if (!(top instanceof dojo.undo.Manager)) {
+ this.getTop().onUndoAny(this, top);
+ }
+ return true;
+}, redo:function () {
+ if (!this.canRedo) {
+ return false;
+ }
+ this.isRedoing = true;
+ var top = this._redoStack.pop();
+ if (top instanceof dojo.undo.Manager) {
+ top.redoAll();
+ } else {
+ top.redo();
+ }
+ this._undoStack.push(top);
+ this.isRedoing = false;
+ this._updateStatus();
+ this.onRedo(this, top);
+ if (!(top instanceof dojo.undo.Manager)) {
+ this.getTop().onRedoAny(this, top);
+ }
+ return true;
+}, undoAll:function () {
+ while (this._undoStack.length > 0) {
+ this.undo();
+ }
+}, redoAll:function () {
+ while (this._redoStack.length > 0) {
+ this.redo();
+ }
+}, push:function (undo, redo, description) {
+ if (!undo) {
+ return;
+ }
+ if (this._currentManager == this) {
+ this._undoStack.push({undo:undo, redo:redo, description:description});
+ } else {
+ this._currentManager.push.apply(this._currentManager, arguments);
+ }
+ this._redoStack = [];
+ this._updateStatus();
+}, concat:function (manager) {
+ if (!manager) {
+ return;
+ }
+ if (this._currentManager == this) {
+ for (var x = 0; x < manager._undoStack.length; x++) {
+ this._undoStack.push(manager._undoStack[x]);
+ }
+ if (manager._undoStack.length > 0) {
+ this._redoStack = [];
+ }
+ this._updateStatus();
+ } else {
+ this._currentManager.concat.apply(this._currentManager, arguments);
+ }
+}, beginTransaction:function (description) {
+ if (this._currentManager == this) {
+ var mgr = new dojo.undo.Manager(this);
+ mgr.description = description ? description : "";
+ this._undoStack.push(mgr);
+ this._currentManager = mgr;
+ return mgr;
+ } else {
+ this._currentManager = this._currentManager.beginTransaction.apply(this._currentManager, arguments);
+ }
+}, endTransaction:function (flatten) {
+ if (this._currentManager == this) {
+ if (this._parent) {
+ this._parent._currentManager = this._parent;
+ if (this._undoStack.length == 0 || flatten) {
+ var idx = dojo.lang.find(this._parent._undoStack, this);
+ if (idx >= 0) {
+ this._parent._undoStack.splice(idx, 1);
+ if (flatten) {
+ for (var x = 0; x < this._undoStack.length; x++) {
+ this._parent._undoStack.splice(idx++, 0, this._undoStack[x]);
+ }
+ this._updateStatus();
+ }
+ }
+ }
+ return this._parent;
+ }
+ } else {
+ this._currentManager = this._currentManager.endTransaction.apply(this._currentManager, arguments);
+ }
+}, endAllTransactions:function () {
+ while (this._currentManager != this) {
+ this.endTransaction();
+ }
+}, getTop:function () {
+ if (this._parent) {
+ return this._parent.getTop();
+ } else {
+ return this;
+ }
+}});
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/Manager.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/Manager.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/Manager.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/__package__.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/__package__.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/__package__.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/__package__.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,15 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.require("dojo.undo.Manager");
+dojo.provide("dojo.undo.*");
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/__package__.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/__package__.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/__package__.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/browser.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/browser.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/browser.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/browser.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,203 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.undo.browser");
+dojo.require("dojo.io.common");
+try {
+ if ((!djConfig["preventBackButtonFix"]) && (!dojo.hostenv.post_load_)) {
+ document.write("<iframe style='border: 0px; width: 1px; height: 1px; position: absolute; bottom: 0px; right: 0px; visibility: visible;' name='djhistory' id='djhistory' src='" + (djConfig["dojoIframeHistoryUrl"] || dojo.hostenv.getBaseScriptUri() + "iframe_history.html") + "'></iframe>");
+ }
+}
+catch (e) {
+}
+if (dojo.render.html.opera) {
+ dojo.debug("Opera is not supported with dojo.undo.browser, so back/forward detection will not work.");
+}
+dojo.undo.browser = {initialHref:(!dj_undef("window")) ? window.location.href : "", initialHash:(!dj_undef("window")) ? window.location.hash : "", moveForward:false, historyStack:[], forwardStack:[], historyIframe:null, bookmarkAnchor:null, locationTimer:null, setInitialState:function (args) {
+ this.initialState = this._createState(this.initialHref, args, this.initialHash);
+}, addToHistory:function (args) {
+ this.forwardStack = [];
+ var hash = null;
+ var url = null;
+ if (!this.historyIframe) {
+ if (djConfig["useXDomain"] && !djConfig["dojoIframeHistoryUrl"]) {
+ dojo.debug("dojo.undo.browser: When using cross-domain Dojo builds," + " please save iframe_history.html to your domain and set djConfig.dojoIframeHistoryUrl" + " to the path on your domain to iframe_history.html");
+ }
+ this.historyIframe = window.frames["djhistory"];
+ }
+ if (!this.bookmarkAnchor) {
+ this.bookmarkAnchor = document.createElement("a");
+ dojo.body().appendChild(this.bookmarkAnchor);
+ this.bookmarkAnchor.style.display = "none";
+ }
+ if (args["changeUrl"]) {
+ hash = "#" + ((args["changeUrl"] !== true) ? args["changeUrl"] : (new Date()).getTime());
+ if (this.historyStack.length == 0 && this.initialState.urlHash == hash) {
+ this.initialState = this._createState(url, args, hash);
+ return;
+ } else {
+ if (this.historyStack.length > 0 && this.historyStack[this.historyStack.length - 1].urlHash == hash) {
+ this.historyStack[this.historyStack.length - 1] = this._createState(url, args, hash);
+ return;
+ }
+ }
+ this.changingUrl = true;
+ setTimeout("window.location.href = '" + hash + "'; dojo.undo.browser.changingUrl = false;", 1);
+ this.bookmarkAnchor.href = hash;
+ if (dojo.render.html.ie) {
+ url = this._loadIframeHistory();
+ var oldCB = args["back"] || args["backButton"] || args["handle"];
+ var tcb = function (handleName) {
+ if (window.location.hash != "") {
+ setTimeout("window.location.href = '" + hash + "';", 1);
+ }
+ oldCB.apply(this, [handleName]);
+ };
+ if (args["back"]) {
+ args.back = tcb;
+ } else {
+ if (args["backButton"]) {
+ args.backButton = tcb;
+ } else {
+ if (args["handle"]) {
+ args.handle = tcb;
+ }
+ }
+ }
+ var oldFW = args["forward"] || args["forwardButton"] || args["handle"];
+ var tfw = function (handleName) {
+ if (window.location.hash != "") {
+ window.location.href = hash;
+ }
+ if (oldFW) {
+ oldFW.apply(this, [handleName]);
+ }
+ };
+ if (args["forward"]) {
+ args.forward = tfw;
+ } else {
+ if (args["forwardButton"]) {
+ args.forwardButton = tfw;
+ } else {
+ if (args["handle"]) {
+ args.handle = tfw;
+ }
+ }
+ }
+ } else {
+ if (dojo.render.html.moz) {
+ if (!this.locationTimer) {
+ this.locationTimer = setInterval("dojo.undo.browser.checkLocation();", 200);
+ }
+ }
+ }
+ } else {
+ url = this._loadIframeHistory();
+ }
+ this.historyStack.push(this._createState(url, args, hash));
+}, checkLocation:function () {
+ if (!this.changingUrl) {
+ var hsl = this.historyStack.length;
+ if ((window.location.hash == this.initialHash || window.location.href == this.initialHref) && (hsl == 1)) {
+ this.handleBackButton();
+ return;
+ }
+ if (this.forwardStack.length > 0) {
+ if (this.forwardStack[this.forwardStack.length - 1].urlHash == window.location.hash) {
+ this.handleForwardButton();
+ return;
+ }
+ }
+ if ((hsl >= 2) && (this.historyStack[hsl - 2])) {
+ if (this.historyStack[hsl - 2].urlHash == window.location.hash) {
+ this.handleBackButton();
+ return;
+ }
+ }
+ }
+}, iframeLoaded:function (evt, ifrLoc) {
+ if (!dojo.render.html.opera) {
+ var query = this._getUrlQuery(ifrLoc.href);
+ if (query == null) {
+ if (this.historyStack.length == 1) {
+ this.handleBackButton();
+ }
+ return;
+ }
+ if (this.moveForward) {
+ this.moveForward = false;
+ return;
+ }
+ if (this.historyStack.length >= 2 && query == this._getUrlQuery(this.historyStack[this.historyStack.length - 2].url)) {
+ this.handleBackButton();
+ } else {
+ if (this.forwardStack.length > 0 && query == this._getUrlQuery(this.forwardStack[this.forwardStack.length - 1].url)) {
+ this.handleForwardButton();
+ }
+ }
+ }
+}, handleBackButton:function () {
+ var current = this.historyStack.pop();
+ if (!current) {
+ return;
+ }
+ var last = this.historyStack[this.historyStack.length - 1];
+ if (!last && this.historyStack.length == 0) {
+ last = this.initialState;
+ }
+ if (last) {
+ if (last.kwArgs["back"]) {
+ last.kwArgs["back"]();
+ } else {
+ if (last.kwArgs["backButton"]) {
+ last.kwArgs["backButton"]();
+ } else {
+ if (last.kwArgs["handle"]) {
+ last.kwArgs.handle("back");
+ }
+ }
+ }
+ }
+ this.forwardStack.push(current);
+}, handleForwardButton:function () {
+ var last = this.forwardStack.pop();
+ if (!last) {
+ return;
+ }
+ if (last.kwArgs["forward"]) {
+ last.kwArgs.forward();
+ } else {
+ if (last.kwArgs["forwardButton"]) {
+ last.kwArgs.forwardButton();
+ } else {
+ if (last.kwArgs["handle"]) {
+ last.kwArgs.handle("forward");
+ }
+ }
+ }
+ this.historyStack.push(last);
+}, _createState:function (url, args, hash) {
+ return {"url":url, "kwArgs":args, "urlHash":hash};
+}, _getUrlQuery:function (url) {
+ var segments = url.split("?");
+ if (segments.length < 2) {
+ return null;
+ } else {
+ return segments[1];
+ }
+}, _loadIframeHistory:function () {
+ var url = (djConfig["dojoIframeHistoryUrl"] || dojo.hostenv.getBaseScriptUri() + "iframe_history.html") + "?" + (new Date()).getTime();
+ this.moveForward = true;
+ dojo.io.setIFrameSrc(this.historyIframe, url, false);
+ return url;
+}};
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/browser.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/browser.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/undo/browser.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/Uri.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/Uri.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/Uri.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/Uri.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,115 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.uri.Uri");
+dojo.uri = new function () {
+ this.dojoUri = function (uri) {
+ return new dojo.uri.Uri(dojo.hostenv.getBaseScriptUri(), uri);
+ };
+ this.moduleUri = function (module, uri) {
+ var loc = dojo.hostenv.getModuleSymbols(module).join("/");
+ if (!loc) {
+ return null;
+ }
+ if (loc.lastIndexOf("/") != loc.length - 1) {
+ loc += "/";
+ }
+ var colonIndex = loc.indexOf(":");
+ var slashIndex = loc.indexOf("/");
+ if (loc.charAt(0) != "/" && (colonIndex == -1 || colonIndex > slashIndex)) {
+ loc = dojo.hostenv.getBaseScriptUri() + loc;
+ }
+ return new dojo.uri.Uri(loc, uri);
+ };
+ this.Uri = function () {
+ var uri = arguments[0];
+ for (var i = 1; i < arguments.length; i++) {
+ if (!arguments[i]) {
+ continue;
+ }
+ var relobj = new dojo.uri.Uri(arguments[i].toString());
+ var uriobj = new dojo.uri.Uri(uri.toString());
+ if ((relobj.path == "") && (relobj.scheme == null) && (relobj.authority == null) && (relobj.query == null)) {
+ if (relobj.fragment != null) {
+ uriobj.fragment = relobj.fragment;
+ }
+ relobj = uriobj;
+ } else {
+ if (relobj.scheme == null) {
+ relobj.scheme = uriobj.scheme;
+ if (relobj.authority == null) {
+ relobj.authority = uriobj.authority;
+ if (relobj.path.charAt(0) != "/") {
+ var path = uriobj.path.substring(0, uriobj.path.lastIndexOf("/") + 1) + relobj.path;
+ var segs = path.split("/");
+ for (var j = 0; j < segs.length; j++) {
+ if (segs[j] == ".") {
+ if (j == segs.length - 1) {
+ segs[j] = "";
+ } else {
+ segs.splice(j, 1);
+ j--;
+ }
+ } else {
+ if (j > 0 && !(j == 1 && segs[0] == "") && segs[j] == ".." && segs[j - 1] != "..") {
+ if (j == segs.length - 1) {
+ segs.splice(j, 1);
+ segs[j - 1] = "";
+ } else {
+ segs.splice(j - 1, 2);
+ j -= 2;
+ }
+ }
+ }
+ }
+ relobj.path = segs.join("/");
+ }
+ }
+ }
+ }
+ uri = "";
+ if (relobj.scheme != null) {
+ uri += relobj.scheme + ":";
+ }
+ if (relobj.authority != null) {
+ uri += "//" + relobj.authority;
+ }
+ uri += relobj.path;
+ if (relobj.query != null) {
+ uri += "?" + relobj.query;
+ }
+ if (relobj.fragment != null) {
+ uri += "#" + relobj.fragment;
+ }
+ }
+ this.uri = uri.toString();
+ var regexp = "^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$";
+ var r = this.uri.match(new RegExp(regexp));
+ this.scheme = r[2] || (r[1] ? "" : null);
+ this.authority = r[4] || (r[3] ? "" : null);
+ this.path = r[5];
+ this.query = r[7] || (r[6] ? "" : null);
+ this.fragment = r[9] || (r[8] ? "" : null);
+ if (this.authority != null) {
+ regexp = "^((([^:]+:)?([^@]+))@)?([^:]*)(:([0-9]+))?$";
+ r = this.authority.match(new RegExp(regexp));
+ this.user = r[3] || null;
+ this.password = r[4] || null;
+ this.host = r[5];
+ this.port = r[7] || null;
+ }
+ this.toString = function () {
+ return this.uri;
+ };
+ };
+};
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/Uri.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/Uri.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/Uri.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/__package__.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/__package__.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/__package__.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/__package__.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,15 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.kwCompoundRequire({common:[["dojo.uri.Uri", false, false]]});
+dojo.provide("dojo.uri.*");
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/__package__.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/__package__.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/__package__.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/cache.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/cache.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/cache.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/cache.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,32 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.uri.cache");
+dojo.uri.cache = {_cache:{}, set:function (uri, content) {
+ this._cache[uri.toString()] = content;
+ return uri;
+}, remove:function (uri) {
+ delete this._cache[uri.toString()];
+}, get:function (uri) {
+ var key = uri.toString();
+ var value = this._cache[key];
+ if (!value) {
+ value = dojo.hostenv.getText(key);
+ if (value) {
+ this._cache[key] = value;
+ }
+ }
+ return value;
+}, allow:function (uri) {
+ return uri;
+}};
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/cache.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/cache.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uri/cache.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/LightweightGenerator.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/LightweightGenerator.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/LightweightGenerator.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/LightweightGenerator.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,42 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.uuid.LightweightGenerator");
+dojo.uuid.LightweightGenerator = new function () {
+ var HEX_RADIX = 16;
+ function _generateRandomEightCharacterHexString() {
+ var random32bitNumber = Math.floor((Math.random() % 1) * Math.pow(2, 32));
+ var eightCharacterHexString = random32bitNumber.toString(HEX_RADIX);
+ while (eightCharacterHexString.length < 8) {
+ eightCharacterHexString = "0" + eightCharacterHexString;
+ }
+ return eightCharacterHexString;
+ }
+ this.generate = function (returnType) {
+ var hyphen = "-";
+ var versionCodeForRandomlyGeneratedUuids = "4";
+ var variantCodeForDCEUuids = "8";
+ var a = _generateRandomEightCharacterHexString();
+ var b = _generateRandomEightCharacterHexString();
+ b = b.substring(0, 4) + hyphen + versionCodeForRandomlyGeneratedUuids + b.substring(5, 8);
+ var c = _generateRandomEightCharacterHexString();
+ c = variantCodeForDCEUuids + c.substring(1, 4) + hyphen + c.substring(4, 8);
+ var d = _generateRandomEightCharacterHexString();
+ var returnValue = a + hyphen + b + hyphen + c + d;
+ returnValue = returnValue.toLowerCase();
+ if (returnType && (returnType != String)) {
+ returnValue = new returnType(returnValue);
+ }
+ return returnValue;
+ };
+}();
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/LightweightGenerator.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/LightweightGenerator.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/LightweightGenerator.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NameBasedGenerator.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NameBasedGenerator.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NameBasedGenerator.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NameBasedGenerator.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,24 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.uuid.NameBasedGenerator");
+dojo.uuid.NameBasedGenerator = new function () {
+ this.generate = function (returnType) {
+ dojo.unimplemented("dojo.uuid.NameBasedGenerator.generate");
+ var returnValue = "00000000-0000-0000-0000-000000000000";
+ if (returnType && (returnType != String)) {
+ returnValue = new returnType(returnValue);
+ }
+ return returnValue;
+ };
+}();
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NameBasedGenerator.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NameBasedGenerator.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NameBasedGenerator.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NilGenerator.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NilGenerator.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NilGenerator.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NilGenerator.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,23 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.uuid.NilGenerator");
+dojo.uuid.NilGenerator = new function () {
+ this.generate = function (returnType) {
+ var returnValue = "00000000-0000-0000-0000-000000000000";
+ if (returnType && (returnType != String)) {
+ returnValue = new returnType(returnValue);
+ }
+ return returnValue;
+ };
+}();
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NilGenerator.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NilGenerator.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/NilGenerator.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/RandomGenerator.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/RandomGenerator.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/RandomGenerator.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/RandomGenerator.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,24 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.uuid.RandomGenerator");
+dojo.uuid.RandomGenerator = new function () {
+ this.generate = function (returnType) {
+ dojo.unimplemented("dojo.uuid.RandomGenerator.generate");
+ var returnValue = "00000000-0000-0000-0000-000000000000";
+ if (returnType && (returnType != String)) {
+ returnValue = new returnType(returnValue);
+ }
+ return returnValue;
+ };
+}();
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/RandomGenerator.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/RandomGenerator.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/RandomGenerator.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/TimeBasedGenerator.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/TimeBasedGenerator.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/TimeBasedGenerator.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/TimeBasedGenerator.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,245 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.uuid.TimeBasedGenerator");
+dojo.require("dojo.lang.common");
+dojo.require("dojo.lang.type");
+dojo.require("dojo.lang.assert");
+dojo.uuid.TimeBasedGenerator = new function () {
+ this.GREGORIAN_CHANGE_OFFSET_IN_HOURS = 3394248;
+ var _uuidPseudoNodeString = null;
+ var _uuidClockSeqString = null;
+ var _dateValueOfPreviousUuid = null;
+ var _nextIntraMillisecondIncrement = 0;
+ var _cachedMillisecondsBetween1582and1970 = null;
+ var _cachedHundredNanosecondIntervalsPerMillisecond = null;
+ var _uniformNode = null;
+ var HEX_RADIX = 16;
+ function _carry(arrayA) {
+ arrayA[2] += arrayA[3] >>> 16;
+ arrayA[3] &= 65535;
+ arrayA[1] += arrayA[2] >>> 16;
+ arrayA[2] &= 65535;
+ arrayA[0] += arrayA[1] >>> 16;
+ arrayA[1] &= 65535;
+ dojo.lang.assert((arrayA[0] >>> 16) === 0);
+ }
+ function _get64bitArrayFromFloat(x) {
+ var result = new Array(0, 0, 0, 0);
+ result[3] = x % 65536;
+ x -= result[3];
+ x /= 65536;
+ result[2] = x % 65536;
+ x -= result[2];
+ x /= 65536;
+ result[1] = x % 65536;
+ x -= result[1];
+ x /= 65536;
+ result[0] = x;
+ return result;
+ }
+ function _addTwo64bitArrays(arrayA, arrayB) {
+ dojo.lang.assertType(arrayA, Array);
+ dojo.lang.assertType(arrayB, Array);
+ dojo.lang.assert(arrayA.length == 4);
+ dojo.lang.assert(arrayB.length == 4);
+ var result = new Array(0, 0, 0, 0);
+ result[3] = arrayA[3] + arrayB[3];
+ result[2] = arrayA[2] + arrayB[2];
+ result[1] = arrayA[1] + arrayB[1];
+ result[0] = arrayA[0] + arrayB[0];
+ _carry(result);
+ return result;
+ }
+ function _multiplyTwo64bitArrays(arrayA, arrayB) {
+ dojo.lang.assertType(arrayA, Array);
+ dojo.lang.assertType(arrayB, Array);
+ dojo.lang.assert(arrayA.length == 4);
+ dojo.lang.assert(arrayB.length == 4);
+ var overflow = false;
+ if (arrayA[0] * arrayB[0] !== 0) {
+ overflow = true;
+ }
+ if (arrayA[0] * arrayB[1] !== 0) {
+ overflow = true;
+ }
+ if (arrayA[0] * arrayB[2] !== 0) {
+ overflow = true;
+ }
+ if (arrayA[1] * arrayB[0] !== 0) {
+ overflow = true;
+ }
+ if (arrayA[1] * arrayB[1] !== 0) {
+ overflow = true;
+ }
+ if (arrayA[2] * arrayB[0] !== 0) {
+ overflow = true;
+ }
+ dojo.lang.assert(!overflow);
+ var result = new Array(0, 0, 0, 0);
+ result[0] += arrayA[0] * arrayB[3];
+ _carry(result);
+ result[0] += arrayA[1] * arrayB[2];
+ _carry(result);
+ result[0] += arrayA[2] * arrayB[1];
+ _carry(result);
+ result[0] += arrayA[3] * arrayB[0];
+ _carry(result);
+ result[1] += arrayA[1] * arrayB[3];
+ _carry(result);
+ result[1] += arrayA[2] * arrayB[2];
+ _carry(result);
+ result[1] += arrayA[3] * arrayB[1];
+ _carry(result);
+ result[2] += arrayA[2] * arrayB[3];
+ _carry(result);
+ result[2] += arrayA[3] * arrayB[2];
+ _carry(result);
+ result[3] += arrayA[3] * arrayB[3];
+ _carry(result);
+ return result;
+ }
+ function _padWithLeadingZeros(string, desiredLength) {
+ while (string.length < desiredLength) {
+ string = "0" + string;
+ }
+ return string;
+ }
+ function _generateRandomEightCharacterHexString() {
+ var random32bitNumber = Math.floor((Math.random() % 1) * Math.pow(2, 32));
+ var eightCharacterString = random32bitNumber.toString(HEX_RADIX);
+ while (eightCharacterString.length < 8) {
+ eightCharacterString = "0" + eightCharacterString;
+ }
+ return eightCharacterString;
+ }
+ function _generateUuidString(node) {
+ dojo.lang.assertType(node, String, {optional:true});
+ if (node) {
+ dojo.lang.assert(node.length == 12);
+ } else {
+ if (_uniformNode) {
+ node = _uniformNode;
+ } else {
+ if (!_uuidPseudoNodeString) {
+ var pseudoNodeIndicatorBit = 32768;
+ var random15bitNumber = Math.floor((Math.random() % 1) * Math.pow(2, 15));
+ var leftmost4HexCharacters = (pseudoNodeIndicatorBit | random15bitNumber).toString(HEX_RADIX);
+ _uuidPseudoNodeString = leftmost4HexCharacters + _generateRandomEightCharacterHexString();
+ }
+ node = _uuidPseudoNodeString;
+ }
+ }
+ if (!_uuidClockSeqString) {
+ var variantCodeForDCEUuids = 32768;
+ var random14bitNumber = Math.floor((Math.random() % 1) * Math.pow(2, 14));
+ _uuidClockSeqString = (variantCodeForDCEUuids | random14bitNumber).toString(HEX_RADIX);
+ }
+ var now = new Date();
+ var millisecondsSince1970 = now.valueOf();
+ var nowArray = _get64bitArrayFromFloat(millisecondsSince1970);
+ if (!_cachedMillisecondsBetween1582and1970) {
+ var arraySecondsPerHour = _get64bitArrayFromFloat(60 * 60);
+ var arrayHoursBetween1582and1970 = _get64bitArrayFromFloat(dojo.uuid.TimeBasedGenerator.GREGORIAN_CHANGE_OFFSET_IN_HOURS);
+ var arraySecondsBetween1582and1970 = _multiplyTwo64bitArrays(arrayHoursBetween1582and1970, arraySecondsPerHour);
+ var arrayMillisecondsPerSecond = _get64bitArrayFromFloat(1000);
+ _cachedMillisecondsBetween1582and1970 = _multiplyTwo64bitArrays(arraySecondsBetween1582and1970, arrayMillisecondsPerSecond);
+ _cachedHundredNanosecondIntervalsPerMillisecond = _get64bitArrayFromFloat(10000);
+ }
+ var arrayMillisecondsSince1970 = nowArray;
+ var arrayMillisecondsSince1582 = _addTwo64bitArrays(_cachedMillisecondsBetween1582and1970, arrayMillisecondsSince1970);
+ var arrayHundredNanosecondIntervalsSince1582 = _multiplyTwo64bitArrays(arrayMillisecondsSince1582, _cachedHundredNanosecondIntervalsPerMillisecond);
+ if (now.valueOf() == _dateValueOfPreviousUuid) {
+ arrayHundredNanosecondIntervalsSince1582[3] += _nextIntraMillisecondIncrement;
+ _carry(arrayHundredNanosecondIntervalsSince1582);
+ _nextIntraMillisecondIncrement += 1;
+ if (_nextIntraMillisecondIncrement == 10000) {
+ while (now.valueOf() == _dateValueOfPreviousUuid) {
+ now = new Date();
+ }
+ }
+ } else {
+ _dateValueOfPreviousUuid = now.valueOf();
+ _nextIntraMillisecondIncrement = 1;
+ }
+ var hexTimeLowLeftHalf = arrayHundredNanosecondIntervalsSince1582[2].toString(HEX_RADIX);
+ var hexTimeLowRightHalf = arrayHundredNanosecondIntervalsSince1582[3].toString(HEX_RADIX);
+ var hexTimeLow = _padWithLeadingZeros(hexTimeLowLeftHalf, 4) + _padWithLeadingZeros(hexTimeLowRightHalf, 4);
+ var hexTimeMid = arrayHundredNanosecondIntervalsSince1582[1].toString(HEX_RADIX);
+ hexTimeMid = _padWithLeadingZeros(hexTimeMid, 4);
+ var hexTimeHigh = arrayHundredNanosecondIntervalsSince1582[0].toString(HEX_RADIX);
+ hexTimeHigh = _padWithLeadingZeros(hexTimeHigh, 3);
+ var hyphen = "-";
+ var versionCodeForTimeBasedUuids = "1";
+ var resultUuid = hexTimeLow + hyphen + hexTimeMid + hyphen + versionCodeForTimeBasedUuids + hexTimeHigh + hyphen + _uuidClockSeqString + hyphen + node;
+ resultUuid = resultUuid.toLowerCase();
+ return resultUuid;
+ }
+ this.setNode = function (node) {
+ dojo.lang.assert((node === null) || (node.length == 12));
+ _uniformNode = node;
+ };
+ this.getNode = function () {
+ return _uniformNode;
+ };
+ this.generate = function (input) {
+ var nodeString = null;
+ var returnType = null;
+ if (input) {
+ if (dojo.lang.isObject(input) && !dojo.lang.isBuiltIn(input)) {
+ var namedParameters = input;
+ dojo.lang.assertValidKeywords(namedParameters, ["node", "hardwareNode", "pseudoNode", "returnType"]);
+ var node = namedParameters["node"];
+ var hardwareNode = namedParameters["hardwareNode"];
+ var pseudoNode = namedParameters["pseudoNode"];
+ nodeString = (node || pseudoNode || hardwareNode);
+ if (nodeString) {
+ var firstCharacter = nodeString.charAt(0);
+ var firstDigit = parseInt(firstCharacter, HEX_RADIX);
+ if (hardwareNode) {
+ dojo.lang.assert((firstDigit >= 0) && (firstDigit <= 7));
+ }
+ if (pseudoNode) {
+ dojo.lang.assert((firstDigit >= 8) && (firstDigit <= 15));
+ }
+ }
+ returnType = namedParameters["returnType"];
+ dojo.lang.assertType(returnType, Function, {optional:true});
+ } else {
+ if (dojo.lang.isString(input)) {
+ nodeString = input;
+ returnType = null;
+ } else {
+ if (dojo.lang.isFunction(input)) {
+ nodeString = null;
+ returnType = input;
+ }
+ }
+ }
+ if (nodeString) {
+ dojo.lang.assert(nodeString.length == 12);
+ var integer = parseInt(nodeString, HEX_RADIX);
+ dojo.lang.assert(isFinite(integer));
+ }
+ dojo.lang.assertType(returnType, Function, {optional:true});
+ }
+ var uuidString = _generateUuidString(nodeString);
+ var returnValue;
+ if (returnType && (returnType != String)) {
+ returnValue = new returnType(uuidString);
+ } else {
+ returnValue = uuidString;
+ }
+ return returnValue;
+ };
+}();
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/TimeBasedGenerator.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/TimeBasedGenerator.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/TimeBasedGenerator.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/Uuid.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/Uuid.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/Uuid.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/Uuid.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,215 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.uuid.Uuid");
+dojo.require("dojo.lang.common");
+dojo.require("dojo.lang.assert");
+dojo.uuid.Uuid = function (input) {
+ this._uuidString = dojo.uuid.Uuid.NIL_UUID;
+ if (input) {
+ if (dojo.lang.isString(input)) {
+ this._uuidString = input.toLowerCase();
+ dojo.lang.assert(this.isValid());
+ } else {
+ if (dojo.lang.isObject(input) && input.generate) {
+ var generator = input;
+ this._uuidString = generator.generate();
+ dojo.lang.assert(this.isValid());
+ } else {
+ dojo.lang.assert(false, "The dojo.uuid.Uuid() constructor must be initializated with a UUID string.");
+ }
+ }
+ } else {
+ var ourGenerator = dojo.uuid.Uuid.getGenerator();
+ if (ourGenerator) {
+ this._uuidString = ourGenerator.generate();
+ dojo.lang.assert(this.isValid());
+ }
+ }
+};
+dojo.uuid.Uuid.NIL_UUID = "00000000-0000-0000-0000-000000000000";
+dojo.uuid.Uuid.Version = {UNKNOWN:0, TIME_BASED:1, DCE_SECURITY:2, NAME_BASED_MD5:3, RANDOM:4, NAME_BASED_SHA1:5};
+dojo.uuid.Uuid.Variant = {NCS:"0", DCE:"10", MICROSOFT:"110", UNKNOWN:"111"};
+dojo.uuid.Uuid.HEX_RADIX = 16;
+dojo.uuid.Uuid.compare = function (uuidOne, uuidTwo) {
+ var uuidStringOne = uuidOne.toString();
+ var uuidStringTwo = uuidTwo.toString();
+ if (uuidStringOne > uuidStringTwo) {
+ return 1;
+ }
+ if (uuidStringOne < uuidStringTwo) {
+ return -1;
+ }
+ return 0;
+};
+dojo.uuid.Uuid.setGenerator = function (generator) {
+ dojo.lang.assert(!generator || (dojo.lang.isObject(generator) && generator.generate));
+ dojo.uuid.Uuid._ourGenerator = generator;
+};
+dojo.uuid.Uuid.getGenerator = function () {
+ return dojo.uuid.Uuid._ourGenerator;
+};
+dojo.uuid.Uuid.prototype.toString = function (format) {
+ if (format) {
+ switch (format) {
+ case "{}":
+ return "{" + this._uuidString + "}";
+ break;
+ case "()":
+ return "(" + this._uuidString + ")";
+ break;
+ case "\"\"":
+ return "\"" + this._uuidString + "\"";
+ break;
+ case "''":
+ return "'" + this._uuidString + "'";
+ break;
+ case "urn":
+ return "urn:uuid:" + this._uuidString;
+ break;
+ case "!-":
+ return this._uuidString.split("-").join("");
+ break;
+ default:
+ dojo.lang.assert(false, "The toString() method of dojo.uuid.Uuid was passed a bogus format.");
+ }
+ } else {
+ return this._uuidString;
+ }
+};
+dojo.uuid.Uuid.prototype.compare = function (otherUuid) {
+ return dojo.uuid.Uuid.compare(this, otherUuid);
+};
+dojo.uuid.Uuid.prototype.isEqual = function (otherUuid) {
+ return (this.compare(otherUuid) == 0);
+};
+dojo.uuid.Uuid.prototype.isValid = function () {
+ try {
+ dojo.lang.assertType(this._uuidString, String);
+ dojo.lang.assert(this._uuidString.length == 36);
+ dojo.lang.assert(this._uuidString == this._uuidString.toLowerCase());
+ var arrayOfParts = this._uuidString.split("-");
+ dojo.lang.assert(arrayOfParts.length == 5);
+ dojo.lang.assert(arrayOfParts[0].length == 8);
+ dojo.lang.assert(arrayOfParts[1].length == 4);
+ dojo.lang.assert(arrayOfParts[2].length == 4);
+ dojo.lang.assert(arrayOfParts[3].length == 4);
+ dojo.lang.assert(arrayOfParts[4].length == 12);
+ for (var i in arrayOfParts) {
+ var part = arrayOfParts[i];
+ var integer = parseInt(part, dojo.uuid.Uuid.HEX_RADIX);
+ dojo.lang.assert(isFinite(integer));
+ }
+ return true;
+ }
+ catch (e) {
+ return false;
+ }
+};
+dojo.uuid.Uuid.prototype.getVariant = function () {
+ var variantCharacter = this._uuidString.charAt(19);
+ var variantNumber = parseInt(variantCharacter, dojo.uuid.Uuid.HEX_RADIX);
+ dojo.lang.assert((variantNumber >= 0) && (variantNumber <= 16));
+ if (!dojo.uuid.Uuid._ourVariantLookupTable) {
+ var Variant = dojo.uuid.Uuid.Variant;
+ var lookupTable = [];
+ lookupTable[0] = Variant.NCS;
+ lookupTable[1] = Variant.NCS;
+ lookupTable[2] = Variant.NCS;
+ lookupTable[3] = Variant.NCS;
+ lookupTable[4] = Variant.NCS;
+ lookupTable[5] = Variant.NCS;
+ lookupTable[6] = Variant.NCS;
+ lookupTable[7] = Variant.NCS;
+ lookupTable[8] = Variant.DCE;
+ lookupTable[9] = Variant.DCE;
+ lookupTable[10] = Variant.DCE;
+ lookupTable[11] = Variant.DCE;
+ lookupTable[12] = Variant.MICROSOFT;
+ lookupTable[13] = Variant.MICROSOFT;
+ lookupTable[14] = Variant.UNKNOWN;
+ lookupTable[15] = Variant.UNKNOWN;
+ dojo.uuid.Uuid._ourVariantLookupTable = lookupTable;
+ }
+ return dojo.uuid.Uuid._ourVariantLookupTable[variantNumber];
+};
+dojo.uuid.Uuid.prototype.getVersion = function () {
+ if (!this._versionNumber) {
+ var errorMessage = "Called getVersion() on a dojo.uuid.Uuid that was not a DCE Variant UUID.";
+ dojo.lang.assert(this.getVariant() == dojo.uuid.Uuid.Variant.DCE, errorMessage);
+ var versionCharacter = this._uuidString.charAt(14);
+ this._versionNumber = parseInt(versionCharacter, dojo.uuid.Uuid.HEX_RADIX);
+ }
+ return this._versionNumber;
+};
+dojo.uuid.Uuid.prototype.getNode = function () {
+ if (!this._nodeString) {
+ var errorMessage = "Called getNode() on a dojo.uuid.Uuid that was not a TIME_BASED UUID.";
+ dojo.lang.assert(this.getVersion() == dojo.uuid.Uuid.Version.TIME_BASED, errorMessage);
+ var arrayOfStrings = this._uuidString.split("-");
+ this._nodeString = arrayOfStrings[4];
+ }
+ return this._nodeString;
+};
+dojo.uuid.Uuid.prototype.getTimestamp = function (returnType) {
+ var errorMessage = "Called getTimestamp() on a dojo.uuid.Uuid that was not a TIME_BASED UUID.";
+ dojo.lang.assert(this.getVersion() == dojo.uuid.Uuid.Version.TIME_BASED, errorMessage);
+ if (!returnType) {
+ returnType = null;
+ }
+ switch (returnType) {
+ case "string":
+ case String:
+ return this.getTimestamp(Date).toUTCString();
+ break;
+ case "hex":
+ if (!this._timestampAsHexString) {
+ var arrayOfStrings = this._uuidString.split("-");
+ var hexTimeLow = arrayOfStrings[0];
+ var hexTimeMid = arrayOfStrings[1];
+ var hexTimeHigh = arrayOfStrings[2];
+ hexTimeHigh = hexTimeHigh.slice(1);
+ this._timestampAsHexString = hexTimeHigh + hexTimeMid + hexTimeLow;
+ dojo.lang.assert(this._timestampAsHexString.length == 15);
+ }
+ return this._timestampAsHexString;
+ break;
+ case null:
+ case "date":
+ case Date:
+ if (!this._timestampAsDate) {
+ var GREGORIAN_CHANGE_OFFSET_IN_HOURS = 3394248;
+ var arrayOfParts = this._uuidString.split("-");
+ var timeLow = parseInt(arrayOfParts[0], dojo.uuid.Uuid.HEX_RADIX);
+ var timeMid = parseInt(arrayOfParts[1], dojo.uuid.Uuid.HEX_RADIX);
+ var timeHigh = parseInt(arrayOfParts[2], dojo.uuid.Uuid.HEX_RADIX);
+ var hundredNanosecondIntervalsSince1582 = timeHigh & 4095;
+ hundredNanosecondIntervalsSince1582 <<= 16;
+ hundredNanosecondIntervalsSince1582 += timeMid;
+ hundredNanosecondIntervalsSince1582 *= 4294967296;
+ hundredNanosecondIntervalsSince1582 += timeLow;
+ var millisecondsSince1582 = hundredNanosecondIntervalsSince1582 / 10000;
+ var secondsPerHour = 60 * 60;
+ var hoursBetween1582and1970 = GREGORIAN_CHANGE_OFFSET_IN_HOURS;
+ var secondsBetween1582and1970 = hoursBetween1582and1970 * secondsPerHour;
+ var millisecondsBetween1582and1970 = secondsBetween1582and1970 * 1000;
+ var millisecondsSince1970 = millisecondsSince1582 - millisecondsBetween1582and1970;
+ this._timestampAsDate = new Date(millisecondsSince1970);
+ }
+ return this._timestampAsDate;
+ break;
+ default:
+ dojo.lang.assert(false, "The getTimestamp() method dojo.uuid.Uuid was passed a bogus returnType: " + returnType);
+ break;
+ }
+};
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/Uuid.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/Uuid.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/Uuid.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/__package__.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/__package__.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/__package__.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/__package__.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,15 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.kwCompoundRequire({common:["dojo.uuid.Uuid", "dojo.uuid.LightweightGenerator", "dojo.uuid.RandomGenerator", "dojo.uuid.TimeBasedGenerator", "dojo.uuid.NameBasedGenerator", "dojo.uuid.NilGenerator"]});
+dojo.provide("dojo.uuid.*");
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/__package__.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/__package__.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/uuid/__package__.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,15 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.validate");
+dojo.require("dojo.validate.common");
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/__package__.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/__package__.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/__package__.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/__package__.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,16 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.require("dojo.validate");
+dojo.kwCompoundRequire({common:["dojo.validate.check", "dojo.validate.datetime", "dojo.validate.de", "dojo.validate.jp", "dojo.validate.us", "dojo.validate.web"]});
+dojo.provide("dojo.validate.*");
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/__package__.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/__package__.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/__package__.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/check.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/check.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/check.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/check.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,234 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.validate.check");
+dojo.require("dojo.validate.common");
+dojo.require("dojo.lang.common");
+dojo.validate.check = function (form, profile) {
+ var missing = [];
+ var invalid = [];
+ var results = {isSuccessful:function () {
+ return (!this.hasInvalid() && !this.hasMissing());
+ }, hasMissing:function () {
+ return (missing.length > 0);
+ }, getMissing:function () {
+ return missing;
+ }, isMissing:function (elemname) {
+ for (var i = 0; i < missing.length; i++) {
+ if (elemname == missing[i]) {
+ return true;
+ }
+ }
+ return false;
+ }, hasInvalid:function () {
+ return (invalid.length > 0);
+ }, getInvalid:function () {
+ return invalid;
+ }, isInvalid:function (elemname) {
+ for (var i = 0; i < invalid.length; i++) {
+ if (elemname == invalid[i]) {
+ return true;
+ }
+ }
+ return false;
+ }};
+ if (profile.trim instanceof Array) {
+ for (var i = 0; i < profile.trim.length; i++) {
+ var elem = form[profile.trim[i]];
+ if (dj_undef("type", elem) || elem.type != "text" && elem.type != "textarea" && elem.type != "password") {
+ continue;
+ }
+ elem.value = elem.value.replace(/(^\s*|\s*$)/g, "");
+ }
+ }
+ if (profile.uppercase instanceof Array) {
+ for (var i = 0; i < profile.uppercase.length; i++) {
+ var elem = form[profile.uppercase[i]];
+ if (dj_undef("type", elem) || elem.type != "text" && elem.type != "textarea" && elem.type != "password") {
+ continue;
+ }
+ elem.value = elem.value.toUpperCase();
+ }
+ }
+ if (profile.lowercase instanceof Array) {
+ for (var i = 0; i < profile.lowercase.length; i++) {
+ var elem = form[profile.lowercase[i]];
+ if (dj_undef("type", elem) || elem.type != "text" && elem.type != "textarea" && elem.type != "password") {
+ continue;
+ }
+ elem.value = elem.value.toLowerCase();
+ }
+ }
+ if (profile.ucfirst instanceof Array) {
+ for (var i = 0; i < profile.ucfirst.length; i++) {
+ var elem = form[profile.ucfirst[i]];
+ if (dj_undef("type", elem) || elem.type != "text" && elem.type != "textarea" && elem.type != "password") {
+ continue;
+ }
+ elem.value = elem.value.replace(/\b\w+\b/g, function (word) {
+ return word.substring(0, 1).toUpperCase() + word.substring(1).toLowerCase();
+ });
+ }
+ }
+ if (profile.digit instanceof Array) {
+ for (var i = 0; i < profile.digit.length; i++) {
+ var elem = form[profile.digit[i]];
+ if (dj_undef("type", elem) || elem.type != "text" && elem.type != "textarea" && elem.type != "password") {
+ continue;
+ }
+ elem.value = elem.value.replace(/\D/g, "");
+ }
+ }
+ if (profile.required instanceof Array) {
+ for (var i = 0; i < profile.required.length; i++) {
+ if (!dojo.lang.isString(profile.required[i])) {
+ continue;
+ }
+ var elem = form[profile.required[i]];
+ if (!dj_undef("type", elem) && (elem.type == "text" || elem.type == "textarea" || elem.type == "password") && /^\s*$/.test(elem.value)) {
+ missing[missing.length] = elem.name;
+ } else {
+ if (!dj_undef("type", elem) && (elem.type == "select-one" || elem.type == "select-multiple") && (elem.selectedIndex == -1 || /^\s*$/.test(elem.options[elem.selectedIndex].value))) {
+ missing[missing.length] = elem.name;
+ } else {
+ if (elem instanceof Array) {
+ var checked = false;
+ for (var j = 0; j < elem.length; j++) {
+ if (elem[j].checked) {
+ checked = true;
+ }
+ }
+ if (!checked) {
+ missing[missing.length] = elem[0].name;
+ }
+ }
+ }
+ }
+ }
+ }
+ if (profile.required instanceof Array) {
+ for (var i = 0; i < profile.required.length; i++) {
+ if (!dojo.lang.isObject(profile.required[i])) {
+ continue;
+ }
+ var elem, numRequired;
+ for (var name in profile.required[i]) {
+ elem = form[name];
+ numRequired = profile.required[i][name];
+ }
+ if (elem instanceof Array) {
+ var checked = 0;
+ for (var j = 0; j < elem.length; j++) {
+ if (elem[j].checked) {
+ checked++;
+ }
+ }
+ if (checked < numRequired) {
+ missing[missing.length] = elem[0].name;
+ }
+ } else {
+ if (!dj_undef("type", elem) && elem.type == "select-multiple") {
+ var selected = 0;
+ for (var j = 0; j < elem.options.length; j++) {
+ if (elem.options[j].selected && !/^\s*$/.test(elem.options[j].value)) {
+ selected++;
+ }
+ }
+ if (selected < numRequired) {
+ missing[missing.length] = elem.name;
+ }
+ }
+ }
+ }
+ }
+ if (dojo.lang.isObject(profile.dependencies) || dojo.lang.isObject(profile.dependancies)) {
+ if (profile["dependancies"]) {
+ dojo.deprecated("dojo.validate.check", "profile 'dependancies' is deprecated, please use " + "'dependencies'", "0.5");
+ profile.dependencies = profile.dependancies;
+ }
+ for (name in profile.dependencies) {
+ var elem = form[name];
+ if (dj_undef("type", elem)) {
+ continue;
+ }
+ if (elem.type != "text" && elem.type != "textarea" && elem.type != "password") {
+ continue;
+ }
+ if (/\S+/.test(elem.value)) {
+ continue;
+ }
+ if (results.isMissing(elem.name)) {
+ continue;
+ }
+ var target = form[profile.dependencies[name]];
+ if (target.type != "text" && target.type != "textarea" && target.type != "password") {
+ continue;
+ }
+ if (/^\s*$/.test(target.value)) {
+ continue;
+ }
+ missing[missing.length] = elem.name;
+ }
+ }
+ if (dojo.lang.isObject(profile.constraints)) {
+ for (name in profile.constraints) {
+ var elem = form[name];
+ if (!elem) {
+ continue;
+ }
+ if (!dj_undef("tagName", elem) && (elem.tagName.toLowerCase().indexOf("input") >= 0 || elem.tagName.toLowerCase().indexOf("textarea") >= 0) && /^\s*$/.test(elem.value)) {
+ continue;
+ }
+ var isValid = true;
+ if (dojo.lang.isFunction(profile.constraints[name])) {
+ isValid = profile.constraints[name](elem.value);
+ } else {
+ if (dojo.lang.isArray(profile.constraints[name])) {
+ if (dojo.lang.isArray(profile.constraints[name][0])) {
+ for (var i = 0; i < profile.constraints[name].length; i++) {
+ isValid = dojo.validate.evaluateConstraint(profile, profile.constraints[name][i], name, elem);
+ if (!isValid) {
+ break;
+ }
+ }
+ } else {
+ isValid = dojo.validate.evaluateConstraint(profile, profile.constraints[name], name, elem);
+ }
+ }
+ }
+ if (!isValid) {
+ invalid[invalid.length] = elem.name;
+ }
+ }
+ }
+ if (dojo.lang.isObject(profile.confirm)) {
+ for (name in profile.confirm) {
+ var elem = form[name];
+ var target = form[profile.confirm[name]];
+ if (dj_undef("type", elem) || dj_undef("type", target) || (elem.type != "text" && elem.type != "textarea" && elem.type != "password") || (target.type != elem.type) || (target.value == elem.value) || (results.isInvalid(elem.name)) || (/^\s*$/.test(target.value))) {
+ continue;
+ }
+ invalid[invalid.length] = elem.name;
+ }
+ }
+ return results;
+};
+dojo.validate.evaluateConstraint = function (profile, constraint, fieldName, elem) {
+ var isValidSomething = constraint[0];
+ var params = constraint.slice(1);
+ params.unshift(elem.value);
+ if (typeof isValidSomething != "undefined") {
+ return isValidSomething.apply(null, params);
+ }
+ return false;
+};
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/check.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/check.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/check.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/common.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/common.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/common.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/common.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,96 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.validate.common");
+dojo.require("dojo.regexp");
+dojo.validate.isText = function (value, flags) {
+ flags = (typeof flags == "object") ? flags : {};
+ if (/^\s*$/.test(value)) {
+ return false;
+ }
+ if (typeof flags.length == "number" && flags.length != value.length) {
+ return false;
+ }
+ if (typeof flags.minlength == "number" && flags.minlength > value.length) {
+ return false;
+ }
+ if (typeof flags.maxlength == "number" && flags.maxlength < value.length) {
+ return false;
+ }
+ return true;
+};
+dojo.validate.isInteger = function (value, flags) {
+ var re = new RegExp("^" + dojo.regexp.integer(flags) + "$");
+ return re.test(value);
+};
+dojo.validate.isRealNumber = function (value, flags) {
+ var re = new RegExp("^" + dojo.regexp.realNumber(flags) + "$");
+ return re.test(value);
+};
+dojo.validate.isCurrency = function (value, flags) {
+ var re = new RegExp("^" + dojo.regexp.currency(flags) + "$");
+ return re.test(value);
+};
+dojo.validate._isInRangeCache = {};
+dojo.validate.isInRange = function (value, flags) {
+ value = value.replace(dojo.lang.has(flags, "separator") ? flags.separator : ",", "", "g").replace(dojo.lang.has(flags, "symbol") ? flags.symbol : "$", "");
+ if (isNaN(value)) {
+ return false;
+ }
+ flags = (typeof flags == "object") ? flags : {};
+ var max = (typeof flags.max == "number") ? flags.max : Infinity;
+ var min = (typeof flags.min == "number") ? flags.min : -Infinity;
+ var dec = (typeof flags.decimal == "string") ? flags.decimal : ".";
+ var cache = dojo.validate._isInRangeCache;
+ var cacheIdx = value + "max" + max + "min" + min + "dec" + dec;
+ if (typeof cache[cacheIdx] != "undefined") {
+ return cache[cacheIdx];
+ }
+ var pattern = "[^" + dec + "\\deE+-]";
+ value = value.replace(RegExp(pattern, "g"), "");
+ value = value.replace(/^([+-]?)(\D*)/, "$1");
+ value = value.replace(/(\D*)$/, "");
+ pattern = "(\\d)[" + dec + "](\\d)";
+ value = value.replace(RegExp(pattern, "g"), "$1.$2");
+ value = Number(value);
+ if (value < min || value > max) {
+ cache[cacheIdx] = false;
+ return false;
+ }
+ cache[cacheIdx] = true;
+ return true;
+};
+dojo.validate.isNumberFormat = function (value, flags) {
+ var re = new RegExp("^" + dojo.regexp.numberFormat(flags) + "$", "i");
+ return re.test(value);
+};
+dojo.validate.isValidLuhn = function (value) {
+ var sum, parity, curDigit;
+ if (typeof value != "string") {
+ value = String(value);
+ }
+ value = value.replace(/[- ]/g, "");
+ parity = value.length % 2;
+ sum = 0;
+ for (var i = 0; i < value.length; i++) {
+ curDigit = parseInt(value.charAt(i));
+ if (i % 2 == parity) {
+ curDigit *= 2;
+ }
+ if (curDigit > 9) {
+ curDigit -= 9;
+ }
+ sum += curDigit;
+ }
+ return !(sum % 10);
+};
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/common.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/common.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/common.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/creditCard.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/creditCard.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/creditCard.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/creditCard.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,64 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.validate.creditCard");
+dojo.require("dojo.lang.common");
+dojo.require("dojo.validate.common");
+dojo.validate.isValidCreditCard = function (value, ccType) {
+ if (value && ccType && ((ccType.toLowerCase() == "er" || dojo.validate.isValidLuhn(value)) && (dojo.validate.isValidCreditCardNumber(value, ccType.toLowerCase())))) {
+ return true;
+ }
+ return false;
+};
+dojo.validate.isValidCreditCardNumber = function (value, ccType) {
+ if (typeof value != "string") {
+ value = String(value);
+ }
+ value = value.replace(/[- ]/g, "");
+ var results = [];
+ var cardinfo = {"mc":"5[1-5][0-9]{14}", "ec":"5[1-5][0-9]{14}", "vi":"4([0-9]{12}|[0-9]{15})", "ax":"3[47][0-9]{13}", "dc":"3(0[0-5][0-9]{11}|[68][0-9]{12})", "bl":"3(0[0-5][0-9]{11}|[68][0-9]{12})", "di":"6011[0-9]{12}", "jcb":"(3[0-9]{15}|(2131|1800)[0-9]{11})", "er":"2(014|149)[0-9]{11}"};
+ if (ccType && dojo.lang.has(cardinfo, ccType.toLowerCase())) {
+ return Boolean(value.match(cardinfo[ccType.toLowerCase()]));
+ } else {
+ for (var p in cardinfo) {
+ if (value.match("^" + cardinfo[p] + "$") != null) {
+ results.push(p);
+ }
+ }
+ return (results.length) ? results.join("|") : false;
+ }
+};
+dojo.validate.isValidCvv = function (value, ccType) {
+ if (typeof value != "string") {
+ value = String(value);
+ }
+ var format;
+ switch (ccType.toLowerCase()) {
+ case "mc":
+ case "ec":
+ case "vi":
+ case "di":
+ format = "###";
+ break;
+ case "ax":
+ format = "####";
+ break;
+ default:
+ return false;
+ }
+ var flags = {format:format};
+ if ((value.length == format.length) && (dojo.validate.isNumberFormat(value, flags))) {
+ return true;
+ }
+ return false;
+};
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/creditCard.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/creditCard.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/creditCard.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/datetime.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/datetime.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/datetime.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/datetime.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,92 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.validate.datetime");
+dojo.require("dojo.validate.common");
+dojo.validate.isValidTime = function (value, flags) {
+ dojo.deprecated("dojo.validate.datetime", "use dojo.date.parse instead", "0.5");
+ var re = new RegExp("^" + dojo.regexp.time(flags) + "$", "i");
+ return re.test(value);
+};
+dojo.validate.is12HourTime = function (value) {
+ dojo.deprecated("dojo.validate.datetime", "use dojo.date.parse instead", "0.5");
+ return dojo.validate.isValidTime(value, {format:["h:mm:ss t", "h:mm t"]});
+};
+dojo.validate.is24HourTime = function (value) {
+ dojo.deprecated("dojo.validate.datetime", "use dojo.date.parse instead", "0.5");
+ return dojo.validate.isValidTime(value, {format:["HH:mm:ss", "HH:mm"]});
+};
+dojo.validate.isValidDate = function (dateValue, format) {
+ dojo.deprecated("dojo.validate.datetime", "use dojo.date.parse instead", "0.5");
+ if (typeof format == "object" && typeof format.format == "string") {
+ format = format.format;
+ }
+ if (typeof format != "string") {
+ format = "MM/DD/YYYY";
+ }
+ var reLiteral = format.replace(/([$^.*+?=!:|\/\\\(\)\[\]\{\}])/g, "\\$1");
+ reLiteral = reLiteral.replace("YYYY", "([0-9]{4})");
+ reLiteral = reLiteral.replace("MM", "(0[1-9]|10|11|12)");
+ reLiteral = reLiteral.replace("M", "([1-9]|10|11|12)");
+ reLiteral = reLiteral.replace("DDD", "(00[1-9]|0[1-9][0-9]|[12][0-9][0-9]|3[0-5][0-9]|36[0-6])");
+ reLiteral = reLiteral.replace("DD", "(0[1-9]|[12][0-9]|30|31)");
+ reLiteral = reLiteral.replace("D", "([1-9]|[12][0-9]|30|31)");
+ reLiteral = reLiteral.replace("ww", "(0[1-9]|[1-4][0-9]|5[0-3])");
+ reLiteral = reLiteral.replace("d", "([1-7])");
+ reLiteral = "^" + reLiteral + "$";
+ var re = new RegExp(reLiteral);
+ if (!re.test(dateValue)) {
+ return false;
+ }
+ var year = 0, month = 1, date = 1, dayofyear = 1, week = 1, day = 1;
+ var tokens = format.match(/(YYYY|MM|M|DDD|DD|D|ww|d)/g);
+ var values = re.exec(dateValue);
+ for (var i = 0; i < tokens.length; i++) {
+ switch (tokens[i]) {
+ case "YYYY":
+ year = Number(values[i + 1]);
+ break;
+ case "M":
+ case "MM":
+ month = Number(values[i + 1]);
+ break;
+ case "D":
+ case "DD":
+ date = Number(values[i + 1]);
+ break;
+ case "DDD":
+ dayofyear = Number(values[i + 1]);
+ break;
+ case "ww":
+ week = Number(values[i + 1]);
+ break;
+ case "d":
+ day = Number(values[i + 1]);
+ break;
+ }
+ }
+ var leapyear = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
+ if (date == 31 && (month == 4 || month == 6 || month == 9 || month == 11)) {
+ return false;
+ }
+ if (date >= 30 && month == 2) {
+ return false;
+ }
+ if (date == 29 && month == 2 && !leapyear) {
+ return false;
+ }
+ if (dayofyear == 366 && !leapyear) {
+ return false;
+ }
+ return true;
+};
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/datetime.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/datetime.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/datetime.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/de.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/de.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/de.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/de.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,19 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.validate.de");
+dojo.require("dojo.validate.common");
+dojo.validate.isGermanCurrency = function (value) {
+ var flags = {symbol:"\u20ac", placement:"after", signPlacement:"begin", decimal:",", separator:"."};
+ return dojo.validate.isCurrency(value, flags);
+};
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/de.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/de.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/de.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/jp.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/jp.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/jp.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/jp.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,19 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.validate.jp");
+dojo.require("dojo.validate.common");
+dojo.validate.isJapaneseCurrency = function (value) {
+ var flags = {symbol:"\xa5", fractional:false};
+ return dojo.validate.isCurrency(value, flags);
+};
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/jp.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/jp.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/jp.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/us.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/us.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/us.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/us.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,34 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.validate.us");
+dojo.require("dojo.validate.common");
+dojo.validate.us.isCurrency = function (value, flags) {
+ return dojo.validate.isCurrency(value, flags);
+};
+dojo.validate.us.isState = function (value, flags) {
+ var re = new RegExp("^" + dojo.regexp.us.state(flags) + "$", "i");
+ return re.test(value);
+};
+dojo.validate.us.isPhoneNumber = function (value) {
+ var flags = {format:["###-###-####", "(###) ###-####", "(###) ### ####", "###.###.####", "###/###-####", "### ### ####", "###-###-#### x#???", "(###) ###-#### x#???", "(###) ### #### x#???", "###.###.#### x#???", "###/###-#### x#???", "### ### #### x#???", "##########"]};
+ return dojo.validate.isNumberFormat(value, flags);
+};
+dojo.validate.us.isSocialSecurityNumber = function (value) {
+ var flags = {format:["###-##-####", "### ## ####", "#########"]};
+ return dojo.validate.isNumberFormat(value, flags);
+};
+dojo.validate.us.isZipCode = function (value) {
+ var flags = {format:["#####-####", "##### ####", "#########", "#####"]};
+ return dojo.validate.isNumberFormat(value, flags);
+};
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/us.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/us.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/us.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/web.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/web.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/web.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/web.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,43 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.validate.web");
+dojo.require("dojo.validate.common");
+dojo.validate.isIpAddress = function (value, flags) {
+ var re = new RegExp("^" + dojo.regexp.ipAddress(flags) + "$", "i");
+ return re.test(value);
+};
+dojo.validate.isUrl = function (value, flags) {
+ var re = new RegExp("^" + dojo.regexp.url(flags) + "$", "i");
+ return re.test(value);
+};
+dojo.validate.isEmailAddress = function (value, flags) {
+ var re = new RegExp("^" + dojo.regexp.emailAddress(flags) + "$", "i");
+ return re.test(value);
+};
+dojo.validate.isEmailAddressList = function (value, flags) {
+ var re = new RegExp("^" + dojo.regexp.emailAddressList(flags) + "$", "i");
+ return re.test(value);
+};
+dojo.validate.getEmailAddressList = function (value, flags) {
+ if (!flags) {
+ flags = {};
+ }
+ if (!flags.listSeparator) {
+ flags.listSeparator = "\\s;,";
+ }
+ if (dojo.validate.isEmailAddressList(value, flags)) {
+ return value.split(new RegExp("\\s*[" + flags.listSeparator + "]\\s*"));
+ }
+ return [];
+};
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/web.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/web.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/validate/web.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/AccordionContainer.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/AccordionContainer.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/AccordionContainer.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/AccordionContainer.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,128 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.widget.AccordionContainer");
+dojo.require("dojo.widget.*");
+dojo.require("dojo.html.*");
+dojo.require("dojo.lfx.html");
+dojo.require("dojo.html.selection");
+dojo.require("dojo.widget.html.layout");
+dojo.require("dojo.widget.PageContainer");
+dojo.widget.defineWidget("dojo.widget.AccordionContainer", dojo.widget.HtmlWidget, {isContainer:true, labelNodeClass:"label", containerNodeClass:"accBody", duration:250, fillInTemplate:function () {
+ with (this.domNode.style) {
+ if (position != "absolute") {
+ position = "relative";
+ }
+ overflow = "hidden";
+ }
+}, addChild:function (widget) {
+ var child = this._addChild(widget);
+ this._setSizes();
+ return child;
+}, _addChild:function (widget) {
+ if (widget.open) {
+ dojo.deprecated("open parameter deprecated, use 'selected=true' instead will be removed in ", "0.5");
+ dojo.debug(widget.widgetId + ": open == " + widget.open);
+ widget.selected = true;
+ }
+ if (widget.widgetType != "AccordionPane") {
+ var wrapper = dojo.widget.createWidget("AccordionPane", {label:widget.label, selected:widget.selected, labelNodeClass:this.labelNodeClass, containerNodeClass:this.containerNodeClass, allowCollapse:this.allowCollapse});
+ wrapper.addChild(widget);
+ this.addWidgetAsDirectChild(wrapper);
+ this.registerChild(wrapper, this.children.length);
+ return wrapper;
+ } else {
+ dojo.html.addClass(widget.containerNode, this.containerNodeClass);
+ dojo.html.addClass(widget.labelNode, this.labelNodeClass);
+ this.addWidgetAsDirectChild(widget);
+ this.registerChild(widget, this.children.length);
+ return widget;
+ }
+}, postCreate:function () {
+ var tmpChildren = this.children;
+ this.children = [];
+ dojo.html.removeChildren(this.domNode);
+ dojo.lang.forEach(tmpChildren, dojo.lang.hitch(this, "_addChild"));
+ this._setSizes();
+}, removeChild:function (widget) {
+ dojo.widget.AccordionContainer.superclass.removeChild.call(this, widget);
+ this._setSizes();
+}, onResized:function () {
+ this._setSizes();
+}, _setSizes:function () {
+ var totalCollapsedHeight = 0;
+ var openIdx = 0;
+ dojo.lang.forEach(this.children, function (child, idx) {
+ totalCollapsedHeight += child.getLabelHeight();
+ if (child.selected) {
+ openIdx = idx;
+ }
+ });
+ var mySize = dojo.html.getContentBox(this.domNode);
+ var y = 0;
+ dojo.lang.forEach(this.children, function (child, idx) {
+ var childCollapsedHeight = child.getLabelHeight();
+ child.resizeTo(mySize.width, mySize.height - totalCollapsedHeight + childCollapsedHeight);
+ child.domNode.style.zIndex = idx + 1;
+ child.domNode.style.position = "absolute";
+ child.domNode.style.top = y + "px";
+ y += (idx == openIdx) ? dojo.html.getBorderBox(child.domNode).height : childCollapsedHeight;
+ });
+}, selectChild:function (page) {
+ dojo.lang.forEach(this.children, function (child) {
+ child.setSelected(child == page);
+ });
+ var y = 0;
+ var anims = [];
+ dojo.lang.forEach(this.children, function (child, idx) {
+ if (child.domNode.style.top != (y + "px")) {
+ anims.push(dojo.lfx.html.slideTo(child.domNode, {top:y, left:0}, this.duration));
+ }
+ y += child.selected ? dojo.html.getBorderBox(child.domNode).height : child.getLabelHeight();
+ }, this);
+ dojo.lfx.combine(anims).play();
+}});
+dojo.widget.defineWidget("dojo.widget.AccordionPane", dojo.widget.HtmlWidget, {label:"", "class":"dojoAccordionPane", labelNodeClass:"label", containerNodeClass:"accBody", selected:false, templateString:"<div dojoAttachPoint=\"domNode\">\n<div dojoAttachPoint=\"labelNode\" dojoAttachEvent=\"onclick: onLabelClick\" class=\"${this.labelNodeClass}\">${this.label}</div>\n<div dojoAttachPoint=\"containerNode\" style=\"overflow: hidden;\" class=\"${this.containerNodeClass}\"></div>\n</div>\n", templateCssString:".dojoAccordionPane .label {\n\tcolor: #000;\n\tfont-weight: bold;\n\tbackground: url(\"images/soriaAccordionOff.gif\") repeat-x top left #85aeec;\n\tborder:1px solid #d9d9d9;\n\tfont-size:0.9em;\n}\n\n.dojoAccordionPane-selected .label {\n\tbackground: url(\"images/soriaAccordionSelected.gif\") repeat-x top left #85aeec;\n\tborder:1px solid #84a3d1;\n}\n\n.dojoAccordionPane .label:hover {\n\tcursor: pointer;\n}\n\n.dojoAccordionPane .accBody {\n\tbackground: #fff;\n\toverf
low: auto;\n\tborder:1px solid #84a3d1;\n}\n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/AccordionPane.css"), isContainer:true, fillInTemplate:function () {
+ dojo.html.addClass(this.domNode, this["class"]);
+ dojo.widget.AccordionPane.superclass.fillInTemplate.call(this);
+ dojo.html.disableSelection(this.labelNode);
+ this.setSelected(this.selected);
+}, setLabel:function (label) {
+ this.labelNode.innerHTML = label;
+}, resizeTo:function (width, height) {
+ dojo.html.setMarginBox(this.domNode, {width:width, height:height});
+ var children = [{domNode:this.labelNode, layoutAlign:"top"}, {domNode:this.containerNode, layoutAlign:"client"}];
+ dojo.widget.html.layout(this.domNode, children);
+ var childSize = dojo.html.getContentBox(this.containerNode);
+ this.children[0].resizeTo(childSize.width, childSize.height);
+}, getLabelHeight:function () {
+ return dojo.html.getMarginBox(this.labelNode).height;
+}, onLabelClick:function () {
+ this.parent.selectChild(this);
+}, setSelected:function (isSelected) {
+ this.selected = isSelected;
+ (isSelected ? dojo.html.addClass : dojo.html.removeClass)(this.domNode, this["class"] + "-selected");
+ var child = this.children[0];
+ if (child) {
+ if (isSelected) {
+ if (!child.isShowing()) {
+ child.show();
+ } else {
+ child.onShow();
+ }
+ } else {
+ child.onHide();
+ }
+ }
+}});
+dojo.lang.extend(dojo.widget.Widget, {open:false});
+