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 [23/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/widget/FloatingPane.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/FloatingPane.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/FloatingPane.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/FloatingPane.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,249 @@
+/*
+ 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.FloatingPane");
+dojo.require("dojo.widget.*");
+dojo.require("dojo.widget.Manager");
+dojo.require("dojo.html.*");
+dojo.require("dojo.html.layout");
+dojo.require("dojo.html.iframe");
+dojo.require("dojo.html.selection");
+dojo.require("dojo.lfx.shadow");
+dojo.require("dojo.widget.html.layout");
+dojo.require("dojo.widget.ContentPane");
+dojo.require("dojo.dnd.HtmlDragMove");
+dojo.require("dojo.widget.Dialog");
+dojo.require("dojo.widget.ResizeHandle");
+dojo.declare("dojo.widget.FloatingPaneBase", null, {title:"", iconSrc:"", hasShadow:false, constrainToContainer:false, taskBarId:"", resizable:true, titleBarDisplay:true, windowState:"normal", displayCloseAction:false, displayMinimizeAction:false, displayMaximizeAction:false, _max_taskBarConnectAttempts:5, _taskBarConnectAttempts:0, templateString:"<div id=\"${this.widgetId}\" dojoAttachEvent=\"onMouseDown\" class=\"dojoFloatingPane\">\n\t<div dojoAttachPoint=\"titleBar\" class=\"dojoFloatingPaneTitleBar\" style=\"display:none\">\n\t \t<img dojoAttachPoint=\"titleBarIcon\" class=\"dojoFloatingPaneTitleBarIcon\">\n\t\t<div dojoAttachPoint=\"closeAction\" dojoAttachEvent=\"onClick:closeWindow\"\n \t \t\tclass=\"dojoFloatingPaneCloseIcon\"></div>\n\t\t<div dojoAttachPoint=\"restoreAction\" dojoAttachEvent=\"onClick:restoreWindow\"\n \t \t\tclass=\"dojoFloatingPaneRestoreIcon\"></div>\n\t\t<div dojoAttachPoint=\"maximizeAction\" dojoAttachEvent=\"onClick:maximizeWindow\
"\n \t \t\tclass=\"dojoFloatingPaneMaximizeIcon\"></div>\n\t\t<div dojoAttachPoint=\"minimizeAction\" dojoAttachEvent=\"onClick:minimizeWindow\"\n \t \t\tclass=\"dojoFloatingPaneMinimizeIcon\"></div>\n\t \t<div dojoAttachPoint=\"titleBarText\" class=\"dojoFloatingPaneTitleText\">${this.title}</div>\n\t</div>\n\n\t<div id=\"${this.widgetId}_container\" dojoAttachPoint=\"containerNode\" class=\"dojoFloatingPaneClient\"></div>\n\n\t<div dojoAttachPoint=\"resizeBar\" class=\"dojoFloatingPaneResizebar\" style=\"display:none\"></div>\n</div>\n", templateCssString:"\n/********** Outer Window ***************/\n\n.dojoFloatingPane {\n\t/* essential css */\n\tposition: absolute;\n\toverflow: visible;\t\t/* so drop shadow is displayed */\n\tz-index: 10;\n\n\t/* styling css */\n\tborder: 1px solid;\n\tborder-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;\n\tbackground-color: ThreeDFace;\n}\n\n\n/********** Title Bar ****************/\n\n.dojoFloatingPaneTitleBa
r {\n\tvertical-align: top;\n\tmargin: 2px 2px 2px 2px;\n\tz-index: 10;\n\tbackground-color: #7596c6;\n\tcursor: default;\n\toverflow: hidden;\n\tborder-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;\n\tvertical-align: middle;\n}\n\n.dojoFloatingPaneTitleText {\n\tfloat: left;\n\tpadding: 2px 4px 2px 2px;\n\twhite-space: nowrap;\n\tcolor: CaptionText;\n\tfont: small-caption;\n}\n\n.dojoTitleBarIcon {\n\tfloat: left;\n\theight: 22px;\n\twidth: 22px;\n\tvertical-align: middle;\n\tmargin-right: 5px;\n\tmargin-left: 5px;\n}\n\n.dojoFloatingPaneActions{\n\tfloat: right;\n\tposition: absolute;\n\tright: 2px;\n\ttop: 2px;\n\tvertical-align: middle;\n}\n\n\n.dojoFloatingPaneActionItem {\n\tvertical-align: middle;\n\tmargin-right: 1px;\n\theight: 22px;\n\twidth: 22px;\n}\n\n\n.dojoFloatingPaneTitleBarIcon {\n\t/* essential css */\n\tfloat: left;\n\n\t/* styling css */\n\tmargin-left: 2px;\n\tmargin-right: 4px;\n\theight: 22px;\n}\n\n/* minimize/maximize icons are s
pecified by CSS only */\n.dojoFloatingPaneMinimizeIcon,\n.dojoFloatingPaneMaximizeIcon,\n.dojoFloatingPaneRestoreIcon,\n.dojoFloatingPaneCloseIcon {\n\tvertical-align: middle;\n\theight: 22px;\n\twidth: 22px;\n\tfloat: right;\n}\n.dojoFloatingPaneMinimizeIcon {\n\tbackground-image: url(images/floatingPaneMinimize.gif);\n}\n.dojoFloatingPaneMaximizeIcon {\n\tbackground-image: url(images/floatingPaneMaximize.gif);\n}\n.dojoFloatingPaneRestoreIcon {\n\tbackground-image: url(images/floatingPaneRestore.gif);\n}\n.dojoFloatingPaneCloseIcon {\n\tbackground-image: url(images/floatingPaneClose.gif);\n}\n\n/* bar at bottom of window that holds resize handle */\n.dojoFloatingPaneResizebar {\n\tz-index: 10;\n\theight: 13px;\n\tbackground-color: ThreeDFace;\n}\n\n/************* Client Area ***************/\n\n.dojoFloatingPaneClient {\n\tposition: relative;\n\tz-index: 10;\n\tborder: 1px solid;\n\tborder-color: ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow;\n\tmargin: 2px;\n\
tbackground-color: ThreeDFace;\n\tpadding: 8px;\n\tfont-family: Verdana, Helvetica, Garamond, sans-serif;\n\tfont-size: 12px;\n\toverflow: auto;\n}\n\n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/FloatingPane.css"), fillInFloatingPaneTemplate:function (args, frag) {
+ var source = this.getFragNodeRef(frag);
+ dojo.html.copyStyle(this.domNode, source);
+ dojo.body().appendChild(this.domNode);
+ if (!this.isShowing()) {
+ this.windowState = "minimized";
+ }
+ if (this.iconSrc == "") {
+ dojo.html.removeNode(this.titleBarIcon);
+ } else {
+ this.titleBarIcon.src = this.iconSrc.toString();
+ }
+ if (this.titleBarDisplay) {
+ this.titleBar.style.display = "";
+ dojo.html.disableSelection(this.titleBar);
+ this.titleBarIcon.style.display = (this.iconSrc == "" ? "none" : "");
+ this.minimizeAction.style.display = (this.displayMinimizeAction ? "" : "none");
+ this.maximizeAction.style.display = (this.displayMaximizeAction && this.windowState != "maximized" ? "" : "none");
+ this.restoreAction.style.display = (this.displayMaximizeAction && this.windowState == "maximized" ? "" : "none");
+ this.closeAction.style.display = (this.displayCloseAction ? "" : "none");
+ this.drag = new dojo.dnd.HtmlDragMoveSource(this.domNode);
+ if (this.constrainToContainer) {
+ this.drag.constrainTo();
+ }
+ this.drag.setDragHandle(this.titleBar);
+ var self = this;
+ dojo.event.topic.subscribe("dragMove", function (info) {
+ if (info.source.domNode == self.domNode) {
+ dojo.event.topic.publish("floatingPaneMove", {source:self});
+ }
+ });
+ }
+ if (this.resizable) {
+ this.resizeBar.style.display = "";
+ this.resizeHandle = dojo.widget.createWidget("ResizeHandle", {targetElmId:this.widgetId, id:this.widgetId + "_resize"});
+ this.resizeBar.appendChild(this.resizeHandle.domNode);
+ }
+ if (this.hasShadow) {
+ this.shadow = new dojo.lfx.shadow(this.domNode);
+ }
+ this.bgIframe = new dojo.html.BackgroundIframe(this.domNode);
+ if (this.taskBarId) {
+ this._taskBarSetup();
+ }
+ dojo.body().removeChild(this.domNode);
+}, postCreate:function () {
+ if (dojo.hostenv.post_load_) {
+ this._setInitialWindowState();
+ } else {
+ dojo.addOnLoad(this, "_setInitialWindowState");
+ }
+}, maximizeWindow:function (evt) {
+ var mb = dojo.html.getMarginBox(this.domNode);
+ this.previous = {width:mb.width || this.width, height:mb.height || this.height, left:this.domNode.style.left, top:this.domNode.style.top, bottom:this.domNode.style.bottom, right:this.domNode.style.right};
+ if (this.domNode.parentNode.style.overflow.toLowerCase() != "hidden") {
+ this.parentPrevious = {overflow:this.domNode.parentNode.style.overflow};
+ dojo.debug(this.domNode.parentNode.style.overflow);
+ this.domNode.parentNode.style.overflow = "hidden";
+ }
+ this.domNode.style.left = dojo.html.getPixelValue(this.domNode.parentNode, "padding-left", true) + "px";
+ this.domNode.style.top = dojo.html.getPixelValue(this.domNode.parentNode, "padding-top", true) + "px";
+ if ((this.domNode.parentNode.nodeName.toLowerCase() == "body")) {
+ var viewport = dojo.html.getViewport();
+ var padding = dojo.html.getPadding(dojo.body());
+ this.resizeTo(viewport.width - padding.width, viewport.height - padding.height);
+ } else {
+ var content = dojo.html.getContentBox(this.domNode.parentNode);
+ this.resizeTo(content.width, content.height);
+ }
+ this.maximizeAction.style.display = "none";
+ this.restoreAction.style.display = "";
+ if (this.resizeHandle) {
+ this.resizeHandle.domNode.style.display = "none";
+ }
+ this.drag.setDragHandle(null);
+ this.windowState = "maximized";
+}, minimizeWindow:function (evt) {
+ this.hide();
+ for (var attr in this.parentPrevious) {
+ this.domNode.parentNode.style[attr] = this.parentPrevious[attr];
+ }
+ this.lastWindowState = this.windowState;
+ this.windowState = "minimized";
+}, restoreWindow:function (evt) {
+ if (this.windowState == "minimized") {
+ this.show();
+ if (this.lastWindowState == "maximized") {
+ this.domNode.parentNode.style.overflow = "hidden";
+ this.windowState = "maximized";
+ } else {
+ this.windowState = "normal";
+ }
+ } else {
+ if (this.windowState == "maximized") {
+ for (var attr in this.previous) {
+ this.domNode.style[attr] = this.previous[attr];
+ }
+ for (var attr in this.parentPrevious) {
+ this.domNode.parentNode.style[attr] = this.parentPrevious[attr];
+ }
+ this.resizeTo(this.previous.width, this.previous.height);
+ this.previous = null;
+ this.parentPrevious = null;
+ this.restoreAction.style.display = "none";
+ this.maximizeAction.style.display = this.displayMaximizeAction ? "" : "none";
+ if (this.resizeHandle) {
+ this.resizeHandle.domNode.style.display = "";
+ }
+ this.drag.setDragHandle(this.titleBar);
+ this.windowState = "normal";
+ } else {
+ }
+ }
+}, toggleDisplay:function () {
+ if (this.windowState == "minimized") {
+ this.restoreWindow();
+ } else {
+ this.minimizeWindow();
+ }
+}, closeWindow:function (evt) {
+ dojo.html.removeNode(this.domNode);
+ this.destroy();
+}, onMouseDown:function (evt) {
+ this.bringToTop();
+}, bringToTop:function () {
+ var floatingPanes = dojo.widget.manager.getWidgetsByType(this.widgetType);
+ var windows = [];
+ for (var x = 0; x < floatingPanes.length; x++) {
+ if (this.widgetId != floatingPanes[x].widgetId) {
+ windows.push(floatingPanes[x]);
+ }
+ }
+ windows.sort(function (a, b) {
+ return a.domNode.style.zIndex - b.domNode.style.zIndex;
+ });
+ windows.push(this);
+ var floatingPaneStartingZ = 100;
+ for (x = 0; x < windows.length; x++) {
+ windows[x].domNode.style.zIndex = floatingPaneStartingZ + x * 2;
+ }
+}, _setInitialWindowState:function () {
+ if (this.isShowing()) {
+ this.width = -1;
+ var mb = dojo.html.getMarginBox(this.domNode);
+ this.resizeTo(mb.width, mb.height);
+ }
+ if (this.windowState == "maximized") {
+ this.maximizeWindow();
+ this.show();
+ return;
+ }
+ if (this.windowState == "normal") {
+ this.show();
+ return;
+ }
+ if (this.windowState == "minimized") {
+ this.hide();
+ return;
+ }
+ this.windowState = "minimized";
+}, _taskBarSetup:function () {
+ var taskbar = dojo.widget.getWidgetById(this.taskBarId);
+ if (!taskbar) {
+ if (this._taskBarConnectAttempts < this._max_taskBarConnectAttempts) {
+ dojo.lang.setTimeout(this, this._taskBarSetup, 50);
+ this._taskBarConnectAttempts++;
+ } else {
+ dojo.debug("Unable to connect to the taskBar");
+ }
+ return;
+ }
+ taskbar.addChild(this);
+}, showFloatingPane:function () {
+ this.bringToTop();
+}, onFloatingPaneShow:function () {
+ var mb = dojo.html.getMarginBox(this.domNode);
+ this.resizeTo(mb.width, mb.height);
+}, resizeTo:function (width, height) {
+ dojo.html.setMarginBox(this.domNode, {width:width, height:height});
+ dojo.widget.html.layout(this.domNode, [{domNode:this.titleBar, layoutAlign:"top"}, {domNode:this.resizeBar, layoutAlign:"bottom"}, {domNode:this.containerNode, layoutAlign:"client"}]);
+ dojo.widget.html.layout(this.containerNode, this.children, "top-bottom");
+ this.bgIframe.onResized();
+ if (this.shadow) {
+ this.shadow.size(width, height);
+ }
+ this.onResized();
+}, checkSize:function () {
+}, destroyFloatingPane:function () {
+ if (this.resizeHandle) {
+ this.resizeHandle.destroy();
+ this.resizeHandle = null;
+ }
+}});
+dojo.widget.defineWidget("dojo.widget.FloatingPane", [dojo.widget.ContentPane, dojo.widget.FloatingPaneBase], {fillInTemplate:function (args, frag) {
+ this.fillInFloatingPaneTemplate(args, frag);
+ dojo.widget.FloatingPane.superclass.fillInTemplate.call(this, args, frag);
+}, postCreate:function () {
+ dojo.widget.FloatingPaneBase.prototype.postCreate.apply(this, arguments);
+ dojo.widget.FloatingPane.superclass.postCreate.apply(this, arguments);
+}, show:function () {
+ dojo.widget.FloatingPane.superclass.show.apply(this, arguments);
+ this.showFloatingPane();
+}, onShow:function () {
+ dojo.widget.FloatingPane.superclass.onShow.call(this);
+ this.onFloatingPaneShow();
+}, destroy:function () {
+ this.destroyFloatingPane();
+ dojo.widget.FloatingPane.superclass.destroy.apply(this, arguments);
+}});
+dojo.widget.defineWidget("dojo.widget.ModalFloatingPane", [dojo.widget.FloatingPane, dojo.widget.ModalDialogBase], {windowState:"minimized", displayCloseAction:true, postCreate:function () {
+ dojo.widget.ModalDialogBase.prototype.postCreate.call(this);
+ dojo.widget.ModalFloatingPane.superclass.postCreate.call(this);
+}, show:function () {
+ this.showModalDialog();
+ dojo.widget.ModalFloatingPane.superclass.show.apply(this, arguments);
+ this.bg.style.zIndex = this.domNode.style.zIndex - 1;
+}, hide:function () {
+ this.hideModalDialog();
+ dojo.widget.ModalFloatingPane.superclass.hide.apply(this, arguments);
+}, closeWindow:function () {
+ this.hide();
+ dojo.widget.ModalFloatingPane.superclass.closeWindow.apply(this, arguments);
+}});
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/FloatingPane.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/FloatingPane.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/FloatingPane.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Form.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Form.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Form.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Form.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,267 @@
+/*
+ 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.Form");
+dojo.require("dojo.widget.*");
+dojo.require("dojo.widget.HtmlWidget");
+dojo.widget.defineWidget("dojo.widget.Form", dojo.widget.HtmlWidget, {isContainer:true, templateString:"<form dojoAttachPoint='containerNode' dojoAttachEvent='onSubmit:onSubmit'></form>", formElements:[], ignoreNullValues:false, postCreate:function (args, frag) {
+ for (var key in args) {
+ if (key == "dojotype") {
+ continue;
+ }
+ var attr = document.createAttribute(key);
+ attr.nodeValue = args[key];
+ this.containerNode.setAttributeNode(attr);
+ }
+}, _createRepeaters:function (obj, widget) {
+ for (var i = 0; i < widget.children.length; ++i) {
+ if (widget.children[i].widgetType == "RepeaterContainer") {
+ var rIndex = widget.children[i].index;
+ var rIndexPos = rIndex.indexOf("%{index}");
+ rIndex = rIndex.substr(0, rIndexPos - 1);
+ var myObj = this._getObject(obj, rIndex);
+ if (typeof (myObj) == "object" && myObj.length == 0) {
+ myObj = new Array();
+ }
+ var rowCount = widget.children[i].getRowCount();
+ for (var j = 0, len = rowCount; j < len; ++j) {
+ widget.children[i].deleteRow(0);
+ }
+ for (var j = 0; j < myObj.length; j++) {
+ widget.children[i].addRow(false);
+ }
+ }
+ if (widget.children[i].isContainer) {
+ this._createRepeaters(obj, widget.children[i]);
+ }
+ }
+}, _createFormElements:function () {
+ if (dojo.render.html.safari) {
+ this.formElements = [];
+ var elems = ["INPUT", "SELECT", "TEXTAREA"];
+ for (var k = 0; k < elems.length; k++) {
+ var list = this.containerNode.getElementsByTagName(elems[k]);
+ for (var j = 0, len2 = list.length; j < len2; j++) {
+ this.formElements.push(list[j]);
+ }
+ }
+ } else {
+ this.formElements = this.containerNode.elements;
+ }
+}, onSubmit:function (e) {
+ e.preventDefault();
+}, submit:function () {
+ this.containerNode.submit();
+}, _getFormElement:function (name) {
+ if (dojo.render.html.ie) {
+ for (var i = 0, len = this.formElements.length; i < len; i++) {
+ var element = this.formElements[i];
+ if (element.name == name) {
+ return element;
+ }
+ }
+ } else {
+ var elem = this.formElements[name];
+ if (typeof (elem) != "undefined") {
+ return elem;
+ }
+ }
+ return null;
+}, _getObject:function (obj, searchString) {
+ var namePath = [];
+ namePath = searchString.split(".");
+ var myObj = obj;
+ var name = namePath[namePath.length - 1];
+ for (var j = 0, len = namePath.length; j < len; ++j) {
+ var p = namePath[j];
+ if (typeof (myObj[p]) == "undefined") {
+ myObj[p] = {};
+ }
+ myObj = myObj[p];
+ }
+ return myObj;
+}, _setToContainers:function (obj, widget) {
+ for (var i = 0, len = widget.children.length; i < len; ++i) {
+ var currentWidget = widget.children[i];
+ if (currentWidget.widgetType == "Repeater") {
+ for (var j = 0, len = currentWidget.getRowCount(); j < len; ++j) {
+ currentWidget._initRow(j);
+ }
+ }
+ if (currentWidget.isContainer) {
+ this._setToContainers(obj, currentWidget);
+ continue;
+ }
+ switch (currentWidget.widgetType) {
+ case "Checkbox":
+ currentWidget.setValue(currentWidget.inputNode.checked);
+ break;
+ case "DropdownDatePicker":
+ currentWidget.setValue(currentWidget.getValue());
+ break;
+ case "Select":
+ continue;
+ break;
+ case "ComboBox":
+ continue;
+ break;
+ default:
+ break;
+ }
+ }
+}, setValues:function (obj) {
+ this._createFormElements();
+ this._createRepeaters(obj, this);
+ for (var i = 0, len = this.formElements.length; i < len; i++) {
+ var element = this.formElements[i];
+ if (element.name == "") {
+ continue;
+ }
+ var namePath = new Array();
+ namePath = element.name.split(".");
+ var myObj = obj;
+ var name = namePath[namePath.length - 1];
+ for (var j = 1, len2 = namePath.length; j < len2; ++j) {
+ var p = namePath[j - 1];
+ if (typeof (myObj[p]) == "undefined") {
+ myObj = undefined;
+ break;
+ }
+ myObj = myObj[p];
+ }
+ if (typeof (myObj) == "undefined") {
+ continue;
+ }
+ if (typeof (myObj[name]) == "undefined" && this.ignoreNullValues) {
+ continue;
+ }
+ var type = element.type;
+ if (type == "hidden" || type == "text" || type == "textarea" || type == "password") {
+ type = "text";
+ }
+ switch (type) {
+ case "checkbox":
+ element.checked = false;
+ if (typeof (myObj[name]) == "undefined") {
+ continue;
+ }
+ for (var j = 0, len2 = myObj[name].length; j < len2; ++j) {
+ if (element.value == myObj[name][j]) {
+ element.checked = true;
+ }
+ }
+ break;
+ case "radio":
+ element.checked = false;
+ if (typeof (myObj[name]) == "undefined") {
+ continue;
+ }
+ if (myObj[name] == element.value) {
+ element.checked = true;
+ }
+ break;
+ case "select-multiple":
+ element.selectedIndex = -1;
+ for (var j = 0, len2 = element.options.length; j < len2; ++j) {
+ for (var k = 0, len3 = myObj[name].length; k < len3; ++k) {
+ if (element.options[j].value == myObj[name][k]) {
+ element.options[j].selected = true;
+ }
+ }
+ }
+ break;
+ case "select-one":
+ element.selectedIndex = "0";
+ for (var j = 0, len2 = element.options.length; j < len2; ++j) {
+ if (element.options[j].value == myObj[name]) {
+ element.options[j].selected = true;
+ } else {
+ }
+ }
+ break;
+ case "text":
+ var value = "";
+ if (typeof (myObj[name]) != "undefined") {
+ value = myObj[name];
+ }
+ element.value = value;
+ break;
+ default:
+ dojo.debug("Not supported type (" + type + ")");
+ break;
+ }
+ }
+ this._setToContainers(obj, this);
+}, getValues:function () {
+ this._createFormElements();
+ var obj = {};
+ for (var i = 0, len = this.formElements.length; i < len; i++) {
+ var elm = this.formElements[i];
+ var namePath = [];
+ if (elm.name == "") {
+ continue;
+ }
+ namePath = elm.name.split(".");
+ var myObj = obj;
+ var name = namePath[namePath.length - 1];
+ for (var j = 1, len2 = namePath.length; j < len2; ++j) {
+ var nameIndex = null;
+ var p = namePath[j - 1];
+ var nameA = p.split("[");
+ if (nameA.length > 1) {
+ if (typeof (myObj[nameA[0]]) == "undefined") {
+ myObj[nameA[0]] = [];
+ }
+ nameIndex = parseInt(nameA[1]);
+ if (typeof (myObj[nameA[0]][nameIndex]) == "undefined") {
+ myObj[nameA[0]][nameIndex] = {};
+ }
+ } else {
+ if (typeof (myObj[nameA[0]]) == "undefined") {
+ myObj[nameA[0]] = {};
+ }
+ }
+ if (nameA.length == 1) {
+ myObj = myObj[nameA[0]];
+ } else {
+ myObj = myObj[nameA[0]][nameIndex];
+ }
+ }
+ if ((elm.type != "select-multiple" && elm.type != "checkbox" && elm.type != "radio") || (elm.type == "radio" && elm.checked)) {
+ if (name == name.split("[")[0]) {
+ myObj[name] = elm.value;
+ } else {
+ }
+ } else {
+ if (elm.type == "checkbox" && elm.checked) {
+ if (typeof (myObj[name]) == "undefined") {
+ myObj[name] = [];
+ }
+ myObj[name].push(elm.value);
+ } else {
+ if (elm.type == "select-multiple") {
+ if (typeof (myObj[name]) == "undefined") {
+ myObj[name] = [];
+ }
+ for (var jdx = 0, len3 = elm.options.length; jdx < len3; ++jdx) {
+ if (elm.options[jdx].selected) {
+ myObj[name].push(elm.options[jdx].value);
+ }
+ }
+ }
+ }
+ }
+ name = undefined;
+ }
+ return obj;
+}});
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Form.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Form.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Form.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/GoogleMap.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/GoogleMap.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/GoogleMap.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/GoogleMap.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,169 @@
+/*
+ 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.GoogleMap");
+dojo.require("dojo.event.*");
+dojo.require("dojo.math");
+dojo.require("dojo.widget.*");
+dojo.require("dojo.uri.Uri");
+dojo.require("dojo.widget.HtmlWidget");
+(function () {
+ var gkey = djConfig["gMapKey"] || djConfig["googleMapKey"];
+ var uri = new dojo.uri.Uri(window.location.href);
+ if (uri.host == "www.dojotoolkit.org") {
+ gkey = "ABQIAAAACUNdgv_7FGOmUslbm9l6_hRqjp7ri2mNiOEYqetD3xnFHpt5rBSjszDd1sdufPyQKUTyCf_YxoIxvw";
+ } else {
+ if (uri.host == "blog.dojotoolkit.org") {
+ gkey = "ABQIAAAACUNdgv_7FGOmUslbm9l6_hSkep6Av1xaMhVn3yCLkorJeXeLARQ6fammI_P3qSGleTJhoI5_1JmP_Q";
+ } else {
+ if (uri.host == "archive.dojotoolkit.org") {
+ gkey = "ABQIAAAACUNdgv_7FGOmUslbm9l6_hTaQpDt0dyGLIHbXMPTzg1kWeAfwRTwZNyrUfbfxYE9yIvRivEjcXoDTg";
+ } else {
+ if (uri.host == "dojotoolkit.org") {
+ gkey = "ABQIAAAACUNdgv_7FGOmUslbm9l6_hSaOaO_TgJ5c3mtQFnk5JO2zD5dZBRZk-ieqVs7BORREYNzAERmcJoEjQ";
+ }
+ }
+ }
+ }
+ if (!dojo.hostenv.post_load_) {
+ if (!gkey || gkey == "") {
+ dojo.raise("dojo.widget.GoogleMap: The Google Map widget requires a proper API key in order to be used.");
+ }
+ var tag = "<scr" + "ipt src='http://maps.google.com/maps?file=api&v=2&key=" + gkey + "'></scri" + "pt>";
+ if (!dj_global["GMap2"]) {
+ document.write(tag);
+ }
+ } else {
+ dojo.debug("Cannot initialize Google Map system after the page has been loaded! Please either manually include the script block provided by Google in your page or require() the GoogleMap widget before onload has fired.");
+ }
+})();
+dojo.widget.defineWidget("dojo.widget.GoogleMap", dojo.widget.HtmlWidget, function () {
+ this.map = null;
+ this.geocoder = null;
+ this.data = [];
+ this.datasrc = "";
+ this.controls = ["largemap", "scale", "maptype"];
+}, {templatePath:null, templateCssPath:null, isContainer:false, _defaultPoint:{lat:39.10662, lng:-94.578209}, setControls:function () {
+ var methodmap = {largemap:GLargeMapControl, smallmap:GSmallMapControl, smallzoom:GSmallZoomControl, scale:GScaleControl, maptype:GMapTypeControl, overview:GOverviewMapControl};
+ for (var i = 0; i < this.controls.length; i++) {
+ this.map.addControl(new (methodmap[this.controls[i].toLowerCase()])());
+ }
+}, findCenter:function (bounds) {
+ if (this.data.length == 1) {
+ return (new GLatLng(this.data[0].lat, this.data[0].lng));
+ }
+ var clat = (bounds.getNorthEast().lat() + bounds.getSouthWest().lat()) / 2;
+ var clng = (bounds.getNorthEast().lng() + bounds.getSouthWest().lng()) / 2;
+ return (new GLatLng(clat, clng));
+}, createPinpoint:function (pt, overlay) {
+ var m = new GMarker(pt);
+ if (overlay) {
+ GEvent.addListener(m, "click", function () {
+ m.openInfoWindowHtml("<div>" + overlay + "</div>");
+ });
+ }
+ return m;
+}, plot:function (obj) {
+ var p = new GLatLng(obj.lat, obj.lng);
+ var d = obj.description || null;
+ var m = this.createPinpoint(p, d);
+ this.map.addOverlay(m);
+}, plotAddress:function (address) {
+ var self = this;
+ this.geocoder.getLocations(address, function (response) {
+ if (!response || response.Status.code != 200) {
+ alert("The address \"" + address + "\" was not found.");
+ return;
+ }
+ var obj = {lat:response.Placemark[0].Point.coordinates[1], lng:response.Placemark[0].Point.coordinates[0], description:response.Placemark[0].address};
+ self.data.push(obj);
+ self.render();
+ });
+}, parse:function (table) {
+ this.data = [];
+ var h = table.getElementsByTagName("thead")[0];
+ if (!h) {
+ return;
+ }
+ var a = [];
+ var cols = h.getElementsByTagName("td");
+ if (cols.length == 0) {
+ cols = h.getElementsByTagName("th");
+ }
+ for (var i = 0; i < cols.length; i++) {
+ var c = cols[i].innerHTML.toLowerCase();
+ if (c == "long") {
+ c = "lng";
+ }
+ a.push(c);
+ }
+ var b = table.getElementsByTagName("tbody")[0];
+ if (!b) {
+ return;
+ }
+ for (var i = 0; i < b.childNodes.length; i++) {
+ if (!(b.childNodes[i].nodeName && b.childNodes[i].nodeName.toLowerCase() == "tr")) {
+ continue;
+ }
+ var cells = b.childNodes[i].getElementsByTagName("td");
+ var o = {};
+ for (var j = 0; j < a.length; j++) {
+ var col = a[j];
+ if (col == "lat" || col == "lng") {
+ o[col] = parseFloat(cells[j].innerHTML);
+ } else {
+ o[col] = cells[j].innerHTML;
+ }
+ }
+ this.data.push(o);
+ }
+}, render:function () {
+ if (this.data.length == 0) {
+ this.map.setCenter(new GLatLng(this._defaultPoint.lat, this._defaultPoint.lng), 4);
+ return;
+ }
+ this.map.clearOverlays();
+ var bounds = new GLatLngBounds();
+ var d = this.data;
+ for (var i = 0; i < d.length; i++) {
+ bounds.extend(new GLatLng(d[i].lat, d[i].lng));
+ }
+ var zoom = Math.min((this.map.getBoundsZoomLevel(bounds) - 1), 14);
+ this.map.setCenter(this.findCenter(bounds), zoom);
+ for (var i = 0; i < this.data.length; i++) {
+ this.plot(this.data[i]);
+ }
+}, initialize:function (args, frag) {
+ if (this.datasrc) {
+ this.parse(dojo.byId(this.datasrc));
+ } else {
+ if (this.domNode.getElementsByTagName("table")[0]) {
+ this.parse(this.domNode.getElementsByTagName("table")[0]);
+ }
+ }
+}, postCreate:function () {
+ while (this.domNode.childNodes.length > 0) {
+ this.domNode.removeChild(this.domNode.childNodes[0]);
+ }
+ if (this.domNode.style.position != "absolute") {
+ this.domNode.style.position = "relative";
+ }
+ this.map = new GMap2(this.domNode);
+ try {
+ this.geocoder = new GClientGeocoder();
+ }
+ catch (ex) {
+ }
+ this.render();
+ this.setControls();
+}});
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/GoogleMap.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/GoogleMap.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/GoogleMap.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/HtmlWidget.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/HtmlWidget.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/HtmlWidget.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/HtmlWidget.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,101 @@
+/*
+ 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.HtmlWidget");
+dojo.require("dojo.widget.DomWidget");
+dojo.require("dojo.html.util");
+dojo.require("dojo.html.display");
+dojo.require("dojo.html.layout");
+dojo.require("dojo.lang.extras");
+dojo.require("dojo.lang.func");
+dojo.require("dojo.lfx.toggle");
+dojo.declare("dojo.widget.HtmlWidget", dojo.widget.DomWidget, {templateCssPath:null, templatePath:null, lang:"", toggle:"plain", toggleDuration:150, initialize:function (args, frag) {
+}, postMixInProperties:function (args, frag) {
+ if (this.lang === "") {
+ this.lang = null;
+ }
+ this.toggleObj = dojo.lfx.toggle[this.toggle.toLowerCase()] || dojo.lfx.toggle.plain;
+}, createNodesFromText:function (txt, wrap) {
+ return dojo.html.createNodesFromText(txt, wrap);
+}, destroyRendering:function (finalize) {
+ try {
+ if (this.bgIframe) {
+ this.bgIframe.remove();
+ delete this.bgIframe;
+ }
+ if (!finalize && this.domNode) {
+ dojo.event.browser.clean(this.domNode);
+ }
+ dojo.widget.HtmlWidget.superclass.destroyRendering.call(this);
+ }
+ catch (e) {
+ }
+}, isShowing:function () {
+ return dojo.html.isShowing(this.domNode);
+}, toggleShowing:function () {
+ if (this.isShowing()) {
+ this.hide();
+ } else {
+ this.show();
+ }
+}, show:function () {
+ if (this.isShowing()) {
+ return;
+ }
+ this.animationInProgress = true;
+ this.toggleObj.show(this.domNode, this.toggleDuration, null, dojo.lang.hitch(this, this.onShow), this.explodeSrc);
+}, onShow:function () {
+ this.animationInProgress = false;
+ this.checkSize();
+}, hide:function () {
+ if (!this.isShowing()) {
+ return;
+ }
+ this.animationInProgress = true;
+ this.toggleObj.hide(this.domNode, this.toggleDuration, null, dojo.lang.hitch(this, this.onHide), this.explodeSrc);
+}, onHide:function () {
+ this.animationInProgress = false;
+}, _isResized:function (w, h) {
+ if (!this.isShowing()) {
+ return false;
+ }
+ var wh = dojo.html.getMarginBox(this.domNode);
+ var width = w || wh.width;
+ var height = h || wh.height;
+ if (this.width == width && this.height == height) {
+ return false;
+ }
+ this.width = width;
+ this.height = height;
+ return true;
+}, checkSize:function () {
+ if (!this._isResized()) {
+ return;
+ }
+ this.onResized();
+}, resizeTo:function (w, h) {
+ dojo.html.setMarginBox(this.domNode, {width:w, height:h});
+ if (this.isShowing()) {
+ this.onResized();
+ }
+}, resizeSoon:function () {
+ if (this.isShowing()) {
+ dojo.lang.setTimeout(this, this.onResized, 0);
+ }
+}, onResized:function () {
+ dojo.lang.forEach(this.children, function (child) {
+ if (child.checkSize) {
+ child.checkSize();
+ }
+ });
+}});
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/HtmlWidget.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/HtmlWidget.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/HtmlWidget.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/InlineEditBox.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/InlineEditBox.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/InlineEditBox.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/InlineEditBox.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,156 @@
+/*
+ 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.InlineEditBox");
+dojo.require("dojo.widget.*");
+dojo.require("dojo.event.*");
+dojo.require("dojo.lfx.*");
+dojo.require("dojo.gfx.color");
+dojo.require("dojo.string");
+dojo.require("dojo.html.*");
+dojo.require("dojo.html.layout");
+dojo.widget.defineWidget("dojo.widget.InlineEditBox", dojo.widget.HtmlWidget, function () {
+ this.history = [];
+}, {templateString:"<form class=\"inlineEditBox\" style=\"display: none\" dojoAttachPoint=\"form\" dojoAttachEvent=\"onSubmit:saveEdit; onReset:cancelEdit; onKeyUp: checkForValueChange;\">\n\t<input type=\"text\" dojoAttachPoint=\"text\" style=\"display: none;\" />\n\t<textarea dojoAttachPoint=\"textarea\" style=\"display: none;\"></textarea>\n\t<input type=\"submit\" value=\"Save\" dojoAttachPoint=\"submitButton\" />\n\t<input type=\"reset\" value=\"Cancel\" dojoAttachPoint=\"cancelButton\" />\n</form>\n", templateCssString:".editLabel {\n\tfont-size : small;\n\tpadding : 0 5px;\n\tdisplay : none;\n}\n\n.editableRegionDisabled {\n\tcursor : pointer;\n\t_cursor : hand;\n}\n\n.editableRegion {\n\tbackground-color : #ffc !important;\n\tcursor : pointer;\n\t_cursor : hand;\n}\n\n.editableRegion .editLabel {\n\tdisplay : inline;\n}\n\n.editableTextareaRegion .editLabel {\n\tdisplay : block;\n}\n\n.inlineEditBox {\n\t/*background-color : #ffc;*/\n\tdisplay : inline;\n}\n", templa
teCssPath:dojo.uri.moduleUri("dojo.widget", "templates/InlineEditBox.css"), mode:"text", name:"", minWidth:100, minHeight:200, editing:false, value:"", textValue:"", defaultText:"", postMixInProperties:function () {
+ if (this.textValue) {
+ dojo.deprecated("InlineEditBox: Use value parameter instead of textValue; will be removed in 0.5");
+ this.value = this.textValue;
+ }
+ if (this.defaultText) {
+ dojo.deprecated("InlineEditBox: Use value parameter instead of defaultText; will be removed in 0.5");
+ this.value = this.defaultText;
+ }
+}, postCreate:function (args, frag) {
+ this.editable = this.getFragNodeRef(frag);
+ dojo.html.insertAfter(this.editable, this.form);
+ dojo.event.connect(this.editable, "onmouseover", this, "onMouseOver");
+ dojo.event.connect(this.editable, "onmouseout", this, "onMouseOut");
+ dojo.event.connect(this.editable, "onclick", this, "_beginEdit");
+ if (this.value) {
+ this.editable.innerHTML = this.value;
+ return;
+ } else {
+ this.value = dojo.string.trim(this.editable.innerHTML);
+ this.editable.innerHTML = this.value;
+ }
+}, onMouseOver:function () {
+ if (!this.editing) {
+ if (this.disabled) {
+ dojo.html.addClass(this.editable, "editableRegionDisabled");
+ } else {
+ dojo.html.addClass(this.editable, "editableRegion");
+ if (this.mode == "textarea") {
+ dojo.html.addClass(this.editable, "editableTextareaRegion");
+ }
+ }
+ }
+}, onMouseOut:function () {
+ if (!this.editing) {
+ dojo.html.removeClass(this.editable, "editableRegion");
+ dojo.html.removeClass(this.editable, "editableTextareaRegion");
+ dojo.html.removeClass(this.editable, "editableRegionDisabled");
+ }
+}, _beginEdit:function (e) {
+ if (this.editing || this.disabled) {
+ return;
+ }
+ this.onMouseOut();
+ this.editing = true;
+ var ee = this[this.mode.toLowerCase()];
+ ee.value = dojo.string.trim(this.value);
+ ee.style.fontSize = dojo.html.getStyle(this.editable, "font-size");
+ ee.style.fontWeight = dojo.html.getStyle(this.editable, "font-weight");
+ ee.style.fontStyle = dojo.html.getStyle(this.editable, "font-style");
+ var bb = dojo.html.getBorderBox(this.editable);
+ ee.style.width = Math.max(bb.width, this.minWidth) + "px";
+ if (this.mode.toLowerCase() == "textarea") {
+ ee.style.display = "block";
+ ee.style.height = Math.max(bb.height, this.minHeight) + "px";
+ } else {
+ ee.style.display = "";
+ }
+ this.form.style.display = "";
+ this.editable.style.display = "none";
+ ee.focus();
+ ee.select();
+ this.submitButton.disabled = true;
+}, saveEdit:function (e) {
+ e.preventDefault();
+ e.stopPropagation();
+ var ee = this[this.mode.toLowerCase()];
+ if ((this.value != ee.value) && (dojo.string.trim(ee.value) != "")) {
+ this.doFade = true;
+ this.history.push(this.value);
+ this.onSave(ee.value, this.value, this.name);
+ this.value = ee.value;
+ this.editable.innerHTML = "";
+ var textNode = document.createTextNode(this.value);
+ this.editable.appendChild(textNode);
+ } else {
+ this.doFade = false;
+ }
+ this._finishEdit(e);
+}, _stopEditing:function () {
+ this.editing = false;
+ this.form.style.display = "none";
+ this.editable.style.display = "";
+ return true;
+}, cancelEdit:function (e) {
+ this._stopEditing();
+ this.onCancel();
+ return true;
+}, _finishEdit:function (e) {
+ this._stopEditing();
+ if (this.doFade) {
+ dojo.lfx.highlight(this.editable, dojo.gfx.color.hex2rgb("#ffc"), 700).play(300);
+ }
+ this.doFade = false;
+}, setText:function (txt) {
+ dojo.deprecated("setText() is deprecated, call setValue() instead, will be removed in 0.5");
+ this.setValue(txt);
+}, setValue:function (txt) {
+ txt = "" + txt;
+ var tt = dojo.string.trim(txt);
+ this.value = tt;
+ this.editable.innerHTML = tt;
+}, undo:function () {
+ if (this.history.length > 0) {
+ var curValue = this.value;
+ var value = this.history.pop();
+ this.editable.innerHTML = value;
+ this.value = value;
+ this.onUndo(value);
+ this.onSave(value, curValue, this.name);
+ }
+}, onChange:function (newValue, oldValue) {
+}, onSave:function (newValue, oldValue, name) {
+}, onCancel:function () {
+}, checkForValueChange:function () {
+ var ee = this[this.mode.toLowerCase()];
+ if ((this.value != ee.value) && (dojo.string.trim(ee.value) != "")) {
+ this.submitButton.disabled = false;
+ }
+ this.onChange(this.value, ee.value);
+}, disable:function () {
+ this.submitButton.disabled = true;
+ this.cancelButton.disabled = true;
+ var ee = this[this.mode.toLowerCase()];
+ ee.disabled = true;
+ dojo.widget.InlineEditBox.superclass.disable.apply(this, arguments);
+}, enable:function () {
+ this.checkForValueChange();
+ this.cancelButton.disabled = false;
+ var ee = this[this.mode.toLowerCase()];
+ ee.disabled = false;
+ dojo.widget.InlineEditBox.superclass.enable.apply(this, arguments);
+}});
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/InlineEditBox.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/InlineEditBox.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/InlineEditBox.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/IntegerTextbox.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/IntegerTextbox.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/IntegerTextbox.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/IntegerTextbox.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.widget.IntegerTextbox");
+dojo.require("dojo.widget.ValidationTextbox");
+dojo.require("dojo.validate.common");
+dojo.widget.defineWidget("dojo.widget.IntegerTextbox", dojo.widget.ValidationTextbox, {mixInProperties:function (localProperties, frag) {
+ dojo.widget.IntegerTextbox.superclass.mixInProperties.apply(this, arguments);
+ if ((localProperties.signed == "true") || (localProperties.signed == "always")) {
+ this.flags.signed = true;
+ } else {
+ if ((localProperties.signed == "false") || (localProperties.signed == "never")) {
+ this.flags.signed = false;
+ this.flags.min = 0;
+ } else {
+ this.flags.signed = [true, false];
+ }
+ }
+ if (localProperties.separator) {
+ this.flags.separator = localProperties.separator;
+ }
+ if (localProperties.min) {
+ this.flags.min = parseInt(localProperties.min);
+ }
+ if (localProperties.max) {
+ this.flags.max = parseInt(localProperties.max);
+ }
+}, isValid:function () {
+ return dojo.validate.isInteger(this.textbox.value, this.flags);
+}, isInRange:function () {
+ return dojo.validate.isInRange(this.textbox.value, this.flags);
+}});
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/IntegerTextbox.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/IntegerTextbox.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/IntegerTextbox.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/InternetTextbox.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/InternetTextbox.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/InternetTextbox.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/InternetTextbox.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,78 @@
+/*
+ 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.InternetTextbox");
+dojo.require("dojo.widget.ValidationTextbox");
+dojo.require("dojo.validate.web");
+dojo.widget.defineWidget("dojo.widget.IpAddressTextbox", dojo.widget.ValidationTextbox, {mixInProperties:function (localProperties) {
+ dojo.widget.IpAddressTextbox.superclass.mixInProperties.apply(this, arguments);
+ if (localProperties.allowdotteddecimal) {
+ this.flags.allowDottedDecimal = (localProperties.allowdotteddecimal == "true");
+ }
+ if (localProperties.allowdottedhex) {
+ this.flags.allowDottedHex = (localProperties.allowdottedhex == "true");
+ }
+ if (localProperties.allowdottedoctal) {
+ this.flags.allowDottedOctal = (localProperties.allowdottedoctal == "true");
+ }
+ if (localProperties.allowdecimal) {
+ this.flags.allowDecimal = (localProperties.allowdecimal == "true");
+ }
+ if (localProperties.allowhex) {
+ this.flags.allowHex = (localProperties.allowhex == "true");
+ }
+ if (localProperties.allowipv6) {
+ this.flags.allowIPv6 = (localProperties.allowipv6 == "true");
+ }
+ if (localProperties.allowhybrid) {
+ this.flags.allowHybrid = (localProperties.allowhybrid == "true");
+ }
+}, isValid:function () {
+ return dojo.validate.isIpAddress(this.textbox.value, this.flags);
+}});
+dojo.widget.defineWidget("dojo.widget.UrlTextbox", dojo.widget.IpAddressTextbox, {mixInProperties:function (localProperties) {
+ dojo.widget.UrlTextbox.superclass.mixInProperties.apply(this, arguments);
+ if (localProperties.scheme) {
+ this.flags.scheme = (localProperties.scheme == "true");
+ }
+ if (localProperties.allowip) {
+ this.flags.allowIP = (localProperties.allowip == "true");
+ }
+ if (localProperties.allowlocal) {
+ this.flags.allowLocal = (localProperties.allowlocal == "true");
+ }
+ if (localProperties.allowcc) {
+ this.flags.allowCC = (localProperties.allowcc == "true");
+ }
+ if (localProperties.allowgeneric) {
+ this.flags.allowGeneric = (localProperties.allowgeneric == "true");
+ }
+}, isValid:function () {
+ return dojo.validate.isUrl(this.textbox.value, this.flags);
+}});
+dojo.widget.defineWidget("dojo.widget.EmailTextbox", dojo.widget.UrlTextbox, {mixInProperties:function (localProperties) {
+ dojo.widget.EmailTextbox.superclass.mixInProperties.apply(this, arguments);
+ if (localProperties.allowcruft) {
+ this.flags.allowCruft = (localProperties.allowcruft == "true");
+ }
+}, isValid:function () {
+ return dojo.validate.isEmailAddress(this.textbox.value, this.flags);
+}});
+dojo.widget.defineWidget("dojo.widget.EmailListTextbox", dojo.widget.EmailTextbox, {mixInProperties:function (localProperties) {
+ dojo.widget.EmailListTextbox.superclass.mixInProperties.apply(this, arguments);
+ if (localProperties.listseparator) {
+ this.flags.listSeparator = localProperties.listseparator;
+ }
+}, isValid:function () {
+ return dojo.validate.isEmailAddressList(this.textbox.value, this.flags);
+}});
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/InternetTextbox.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/InternetTextbox.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/InternetTextbox.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/LayoutContainer.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/LayoutContainer.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/LayoutContainer.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/LayoutContainer.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.widget.LayoutContainer");
+dojo.require("dojo.widget.*");
+dojo.require("dojo.widget.html.layout");
+dojo.widget.defineWidget("dojo.widget.LayoutContainer", dojo.widget.HtmlWidget, {isContainer:true, layoutChildPriority:"top-bottom", postCreate:function () {
+ dojo.widget.html.layout(this.domNode, this.children, this.layoutChildPriority);
+}, addChild:function (child, overrideContainerNode, pos, ref, insertIndex) {
+ dojo.widget.LayoutContainer.superclass.addChild.call(this, child, overrideContainerNode, pos, ref, insertIndex);
+ dojo.widget.html.layout(this.domNode, this.children, this.layoutChildPriority);
+}, removeChild:function (pane) {
+ dojo.widget.LayoutContainer.superclass.removeChild.call(this, pane);
+ dojo.widget.html.layout(this.domNode, this.children, this.layoutChildPriority);
+}, onResized:function () {
+ dojo.widget.html.layout(this.domNode, this.children, this.layoutChildPriority);
+}, show:function () {
+ this.domNode.style.display = "";
+ this.checkSize();
+ this.domNode.style.display = "none";
+ this.domNode.style.visibility = "";
+ dojo.widget.LayoutContainer.superclass.show.call(this);
+}});
+dojo.lang.extend(dojo.widget.Widget, {layoutAlign:"none"});
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/LayoutContainer.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/LayoutContainer.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/LayoutContainer.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/LinkPane.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/LinkPane.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/LinkPane.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/LinkPane.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.widget.LinkPane");
+dojo.require("dojo.widget.*");
+dojo.require("dojo.widget.ContentPane");
+dojo.require("dojo.html.style");
+dojo.widget.defineWidget("dojo.widget.LinkPane", dojo.widget.ContentPane, {templateString:"<div class=\"dojoLinkPane\"></div>", fillInTemplate:function (args, frag) {
+ var source = this.getFragNodeRef(frag);
+ this.label += source.innerHTML;
+ var source = this.getFragNodeRef(frag);
+ dojo.html.copyStyle(this.domNode, source);
+}});
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/LinkPane.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/LinkPane.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/LinkPane.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Manager.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Manager.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Manager.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Manager.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,288 @@
+/*
+ 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.Manager");
+dojo.require("dojo.lang.array");
+dojo.require("dojo.lang.func");
+dojo.require("dojo.event.*");
+dojo.widget.manager = new function () {
+ this.widgets = [];
+ this.widgetIds = [];
+ this.topWidgets = {};
+ var widgetTypeCtr = {};
+ var renderPrefixCache = [];
+ this.getUniqueId = function (widgetType) {
+ var widgetId;
+ do {
+ widgetId = widgetType + "_" + (widgetTypeCtr[widgetType] != undefined ? ++widgetTypeCtr[widgetType] : widgetTypeCtr[widgetType] = 0);
+ } while (this.getWidgetById(widgetId));
+ return widgetId;
+ };
+ this.add = function (widget) {
+ this.widgets.push(widget);
+ if (!widget.extraArgs["id"]) {
+ widget.extraArgs["id"] = widget.extraArgs["ID"];
+ }
+ if (widget.widgetId == "") {
+ if (widget["id"]) {
+ widget.widgetId = widget["id"];
+ } else {
+ if (widget.extraArgs["id"]) {
+ widget.widgetId = widget.extraArgs["id"];
+ } else {
+ widget.widgetId = this.getUniqueId(widget.ns + "_" + widget.widgetType);
+ }
+ }
+ }
+ if (this.widgetIds[widget.widgetId]) {
+ dojo.debug("widget ID collision on ID: " + widget.widgetId);
+ }
+ this.widgetIds[widget.widgetId] = widget;
+ };
+ this.destroyAll = function () {
+ for (var x = this.widgets.length - 1; x >= 0; x--) {
+ try {
+ this.widgets[x].destroy(true);
+ delete this.widgets[x];
+ }
+ catch (e) {
+ }
+ }
+ };
+ this.remove = function (widgetIndex) {
+ if (dojo.lang.isNumber(widgetIndex)) {
+ var tw = this.widgets[widgetIndex].widgetId;
+ delete this.topWidgets[tw];
+ delete this.widgetIds[tw];
+ this.widgets.splice(widgetIndex, 1);
+ } else {
+ this.removeById(widgetIndex);
+ }
+ };
+ this.removeById = function (id) {
+ if (!dojo.lang.isString(id)) {
+ id = id["widgetId"];
+ if (!id) {
+ dojo.debug("invalid widget or id passed to removeById");
+ return;
+ }
+ }
+ for (var i = 0; i < this.widgets.length; i++) {
+ if (this.widgets[i].widgetId == id) {
+ this.remove(i);
+ break;
+ }
+ }
+ };
+ this.getWidgetById = function (id) {
+ if (dojo.lang.isString(id)) {
+ return this.widgetIds[id];
+ }
+ return id;
+ };
+ this.getWidgetsByType = function (type) {
+ var lt = type.toLowerCase();
+ var getType = (type.indexOf(":") < 0 ? function (x) {
+ return x.widgetType.toLowerCase();
+ } : function (x) {
+ return x.getNamespacedType();
+ });
+ var ret = [];
+ dojo.lang.forEach(this.widgets, function (x) {
+ if (getType(x) == lt) {
+ ret.push(x);
+ }
+ });
+ return ret;
+ };
+ this.getWidgetsByFilter = function (unaryFunc, onlyOne) {
+ var ret = [];
+ dojo.lang.every(this.widgets, function (x) {
+ if (unaryFunc(x)) {
+ ret.push(x);
+ if (onlyOne) {
+ return false;
+ }
+ }
+ return true;
+ });
+ return (onlyOne ? ret[0] : ret);
+ };
+ this.getAllWidgets = function () {
+ return this.widgets.concat();
+ };
+ this.getWidgetByNode = function (node) {
+ var w = this.getAllWidgets();
+ node = dojo.byId(node);
+ for (var i = 0; i < w.length; i++) {
+ if (w[i].domNode == node) {
+ return w[i];
+ }
+ }
+ return null;
+ };
+ this.byId = this.getWidgetById;
+ this.byType = this.getWidgetsByType;
+ this.byFilter = this.getWidgetsByFilter;
+ this.byNode = this.getWidgetByNode;
+ var knownWidgetImplementations = {};
+ var widgetPackages = ["dojo.widget"];
+ for (var i = 0; i < widgetPackages.length; i++) {
+ widgetPackages[widgetPackages[i]] = true;
+ }
+ this.registerWidgetPackage = function (pname) {
+ if (!widgetPackages[pname]) {
+ widgetPackages[pname] = true;
+ widgetPackages.push(pname);
+ }
+ };
+ this.getWidgetPackageList = function () {
+ return dojo.lang.map(widgetPackages, function (elt) {
+ return (elt !== true ? elt : undefined);
+ });
+ };
+ this.getImplementation = function (widgetName, ctorObject, mixins, ns) {
+ var impl = this.getImplementationName(widgetName, ns);
+ if (impl) {
+ var ret = ctorObject ? new impl(ctorObject) : new impl();
+ return ret;
+ }
+ };
+ function buildPrefixCache() {
+ for (var renderer in dojo.render) {
+ if (dojo.render[renderer]["capable"] === true) {
+ var prefixes = dojo.render[renderer].prefixes;
+ for (var i = 0; i < prefixes.length; i++) {
+ renderPrefixCache.push(prefixes[i].toLowerCase());
+ }
+ }
+ }
+ }
+ var findImplementationInModule = function (lowerCaseWidgetName, module) {
+ if (!module) {
+ return null;
+ }
+ for (var i = 0, l = renderPrefixCache.length, widgetModule; i <= l; i++) {
+ widgetModule = (i < l ? module[renderPrefixCache[i]] : module);
+ if (!widgetModule) {
+ continue;
+ }
+ for (var name in widgetModule) {
+ if (name.toLowerCase() == lowerCaseWidgetName) {
+ return widgetModule[name];
+ }
+ }
+ }
+ return null;
+ };
+ var findImplementation = function (lowerCaseWidgetName, moduleName) {
+ var module = dojo.evalObjPath(moduleName, false);
+ return (module ? findImplementationInModule(lowerCaseWidgetName, module) : null);
+ };
+ this.getImplementationName = function (widgetName, ns) {
+ var lowerCaseWidgetName = widgetName.toLowerCase();
+ ns = ns || "dojo";
+ var imps = knownWidgetImplementations[ns] || (knownWidgetImplementations[ns] = {});
+ var impl = imps[lowerCaseWidgetName];
+ if (impl) {
+ return impl;
+ }
+ if (!renderPrefixCache.length) {
+ buildPrefixCache();
+ }
+ var nsObj = dojo.ns.get(ns);
+ if (!nsObj) {
+ dojo.ns.register(ns, ns + ".widget");
+ nsObj = dojo.ns.get(ns);
+ }
+ if (nsObj) {
+ nsObj.resolve(widgetName);
+ }
+ impl = findImplementation(lowerCaseWidgetName, nsObj.module);
+ if (impl) {
+ return (imps[lowerCaseWidgetName] = impl);
+ }
+ nsObj = dojo.ns.require(ns);
+ if ((nsObj) && (nsObj.resolver)) {
+ nsObj.resolve(widgetName);
+ impl = findImplementation(lowerCaseWidgetName, nsObj.module);
+ if (impl) {
+ return (imps[lowerCaseWidgetName] = impl);
+ }
+ }
+ dojo.deprecated("dojo.widget.Manager.getImplementationName", "Could not locate widget implementation for \"" + widgetName + "\" in \"" + nsObj.module + "\" registered to namespace \"" + nsObj.name + "\". " + "Developers must specify correct namespaces for all non-Dojo widgets", "0.5");
+ for (var i = 0; i < widgetPackages.length; i++) {
+ impl = findImplementation(lowerCaseWidgetName, widgetPackages[i]);
+ if (impl) {
+ return (imps[lowerCaseWidgetName] = impl);
+ }
+ }
+ throw new Error("Could not locate widget implementation for \"" + widgetName + "\" in \"" + nsObj.module + "\" registered to namespace \"" + nsObj.name + "\"");
+ };
+ this.resizing = false;
+ this.onWindowResized = function () {
+ if (this.resizing) {
+ return;
+ }
+ try {
+ this.resizing = true;
+ for (var id in this.topWidgets) {
+ var child = this.topWidgets[id];
+ if (child.checkSize) {
+ child.checkSize();
+ }
+ }
+ }
+ catch (e) {
+ }
+ finally {
+ this.resizing = false;
+ }
+ };
+ if (typeof window != "undefined") {
+ dojo.addOnLoad(this, "onWindowResized");
+ dojo.event.connect(window, "onresize", this, "onWindowResized");
+ }
+};
+(function () {
+ var dw = dojo.widget;
+ var dwm = dw.manager;
+ var h = dojo.lang.curry(dojo.lang, "hitch", dwm);
+ var g = function (oldName, newName) {
+ dw[(newName || oldName)] = h(oldName);
+ };
+ g("add", "addWidget");
+ g("destroyAll", "destroyAllWidgets");
+ g("remove", "removeWidget");
+ g("removeById", "removeWidgetById");
+ g("getWidgetById");
+ g("getWidgetById", "byId");
+ g("getWidgetsByType");
+ g("getWidgetsByFilter");
+ g("getWidgetsByType", "byType");
+ g("getWidgetsByFilter", "byFilter");
+ g("getWidgetByNode", "byNode");
+ dw.all = function (n) {
+ var widgets = dwm.getAllWidgets.apply(dwm, arguments);
+ if (arguments.length > 0) {
+ return widgets[n];
+ }
+ return widgets;
+ };
+ g("registerWidgetPackage");
+ g("getImplementation", "getWidgetImplementation");
+ g("getImplementationName", "getWidgetImplementationName");
+ dw.widgets = dwm.widgets;
+ dw.widgetIds = dwm.widgetIds;
+ dw.root = dwm.root;
+})();
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Manager.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Manager.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Manager.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Menu2.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Menu2.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Menu2.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Menu2.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,455 @@
+/*
+ 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.Menu2");
+dojo.require("dojo.widget.PopupContainer");
+dojo.declare("dojo.widget.MenuBase", null, function () {
+ this.eventNames = {open:""};
+}, {isContainer:true, isMenu:true, eventNaming:"default", templateCssString:"\n.dojoPopupMenu2 {\n\tposition: absolute;\n\tborder: 1px solid #7298d0;\n\tbackground:#85aeec url(images/soriaMenuBg.gif) repeat-x bottom left !important;\n\tpadding: 1px;\n\tmargin-top: 1px;\n\tmargin-bottom: 1px;\n}\n\n.dojoMenuItem2{\n\twhite-space: nowrap;\n\tfont: menu;\n\tmargin: 0;\n}\n\n.dojoMenuItem2Hover {\n\tbackground-color: #D2E4FD;\n\tcursor:pointer;\n\tcursor:hand;\n}\n\n.dojoMenuItem2Icon {\n\tposition: relative;\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n\twidth: 16px;\n\theight: 16px;\n\tpadding-right: 3px;\n}\n\n.dojoMenuItem2Label {\n\tposition: relative;\n\tvertical-align: middle;\n}\n\n/* main label text */\n.dojoMenuItem2Label {\n\tposition: relative;\n\tvertical-align: middle;\n}\n\n.dojoMenuItem2Accel {\n\tposition: relative;\n\tvertical-align: middle;\n\tpadding-left: 3px;\n}\n\n.dojoMenuItem2Disabled .dojoMenuItem2Label,\n.dojoMenuItem2Disabl
ed .dojoMenuItem2Accel {\n\tcolor: #607a9e;\n}\n\n.dojoMenuItem2Submenu {\n\tposition: relative;\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n\tbackground-image: url(images/submenu_off.gif);\n\twidth: 5px;\n\theight: 9px;\n\tpadding-left: 3px;\n}\n.dojoMenuItem2Hover .dojoMenuItem2Submenu {\n\tbackground-image: url(images/submenu_on.gif);\n}\n\n.dojoMenuItem2Disabled .dojoMenuItem2Submenu {\n\tbackground-image: url(images/submenu_disabled.gif);\n}\n\n.dojoMenuSeparator2 {\n\tfont-size: 1px;\n\tmargin: 0;\n}\n\n.dojoMenuSeparator2Top {\n\theight: 50%;\n\tborder-bottom: 1px solid #7a98c4;\n\tmargin: 0px 2px;\n\tfont-size: 1px;\n}\n\n.dojoMenuSeparator2Bottom {\n\theight: 50%;\n\tborder-top: 1px solid #c9deff;\n\tmargin: 0px 2px;\n\tfont-size: 1px;\n}\n\n.dojoMenuBar2 {\n\tbackground:#85aeec url(images/soriaBarBg.gif) repeat-x top left;\n\t/*border-bottom:1px solid #6b9fec;*/\n\tpadding: 1px;\n}\n\n.dojoMenuBar2 .dojoMenuItem2 {\n\twhite-space: nowra
p;\n\tfont: menu;\n\tmargin: 0;\n\tposition: relative;\n\tvertical-align: middle;\n\tz-index: 1;\n\tpadding: 3px 8px;\n\tdisplay: inline;/* needed in khtml to display correctly */\n\tdisplay: -moz-inline-box;/* needed in firefox */\n\tcursor:pointer;\n\tcursor:hand;\n}\n\n.dojoMenuBar2 .dojoMenuItem2Hover {\n\tbackground-color:#d2e4fd;\n}\n\n.dojoMenuBar2 .dojoMenuItem2Disabled span {\n\tcolor: #4f6582;\n}\n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/Menu2.css"), submenuDelay:500, initialize:function (args, frag) {
+ if (this.eventNaming == "default") {
+ for (var eventName in this.eventNames) {
+ this.eventNames[eventName] = this.widgetId + "/" + eventName;
+ }
+ }
+}, _moveToNext:function (evt) {
+ this._highlightOption(1);
+ return true;
+}, _moveToPrevious:function (evt) {
+ this._highlightOption(-1);
+ return true;
+}, _moveToParentMenu:function (evt) {
+ if (this._highlighted_option && this.parentMenu) {
+ if (evt._menu2UpKeyProcessed) {
+ return true;
+ } else {
+ this._highlighted_option.onUnhover();
+ this.closeSubmenu();
+ evt._menu2UpKeyProcessed = true;
+ }
+ }
+ return false;
+}, _moveToChildMenu:function (evt) {
+ if (this._highlighted_option && this._highlighted_option.submenuId) {
+ this._highlighted_option._onClick(true);
+ return true;
+ }
+ return false;
+}, _selectCurrentItem:function (evt) {
+ if (this._highlighted_option) {
+ this._highlighted_option._onClick();
+ return true;
+ }
+ return false;
+}, processKey:function (evt) {
+ if (evt.ctrlKey || evt.altKey || !evt.key) {
+ return false;
+ }
+ var rval = false;
+ switch (evt.key) {
+ case evt.KEY_DOWN_ARROW:
+ rval = this._moveToNext(evt);
+ break;
+ case evt.KEY_UP_ARROW:
+ rval = this._moveToPrevious(evt);
+ break;
+ case evt.KEY_RIGHT_ARROW:
+ rval = this._moveToChildMenu(evt);
+ break;
+ case evt.KEY_LEFT_ARROW:
+ rval = this._moveToParentMenu(evt);
+ break;
+ case " ":
+ case evt.KEY_ENTER:
+ if (rval = this._selectCurrentItem(evt)) {
+ break;
+ }
+ case evt.KEY_ESCAPE:
+ case evt.KEY_TAB:
+ this.close(true);
+ rval = true;
+ break;
+ }
+ return rval;
+}, _findValidItem:function (dir, curItem) {
+ if (curItem) {
+ curItem = dir > 0 ? curItem.getNextSibling() : curItem.getPreviousSibling();
+ }
+ for (var i = 0; i < this.children.length; ++i) {
+ if (!curItem) {
+ curItem = dir > 0 ? this.children[0] : this.children[this.children.length - 1];
+ }
+ if (curItem.onHover && curItem.isShowing()) {
+ return curItem;
+ }
+ curItem = dir > 0 ? curItem.getNextSibling() : curItem.getPreviousSibling();
+ }
+}, _highlightOption:function (dir) {
+ var item;
+ if ((!this._highlighted_option)) {
+ item = this._findValidItem(dir);
+ } else {
+ item = this._findValidItem(dir, this._highlighted_option);
+ }
+ if (item) {
+ if (this._highlighted_option) {
+ this._highlighted_option.onUnhover();
+ }
+ item.onHover();
+ dojo.html.scrollIntoView(item.domNode);
+ try {
+ var node = dojo.html.getElementsByClass("dojoMenuItem2Label", item.domNode)[0];
+ node.focus();
+ }
+ catch (e) {
+ }
+ }
+}, onItemClick:function (item) {
+}, closeSubmenu:function (force) {
+ if (this.currentSubmenu == null) {
+ return;
+ }
+ this.currentSubmenu.close(force);
+ this.currentSubmenu = null;
+ this.currentSubmenuTrigger.is_open = false;
+ this.currentSubmenuTrigger._closedSubmenu(force);
+ this.currentSubmenuTrigger = null;
+}});
+dojo.widget.defineWidget("dojo.widget.PopupMenu2", [dojo.widget.HtmlWidget, dojo.widget.PopupContainerBase, dojo.widget.MenuBase], function () {
+ this.targetNodeIds = [];
+}, {templateString:"<table class=\"dojoPopupMenu2\" border=0 cellspacing=0 cellpadding=0 style=\"display: none; position: absolute;\">" + "<tbody dojoAttachPoint=\"containerNode\"></tbody>" + "</table>", submenuOverlap:5, contextMenuForWindow:false, parentMenu:null, postCreate:function () {
+ if (this.contextMenuForWindow) {
+ var doc = dojo.body();
+ this.bindDomNode(doc);
+ } else {
+ if (this.targetNodeIds.length > 0) {
+ dojo.lang.forEach(this.targetNodeIds, this.bindDomNode, this);
+ }
+ }
+ this._subscribeSubitemsOnOpen();
+}, _subscribeSubitemsOnOpen:function () {
+ var subItems = this.getChildrenOfType(dojo.widget.MenuItem2);
+ for (var i = 0; i < subItems.length; i++) {
+ dojo.event.topic.subscribe(this.eventNames.open, subItems[i], "menuOpen");
+ }
+}, getTopOpenEvent:function () {
+ var menu = this;
+ while (menu.parentMenu) {
+ menu = menu.parentMenu;
+ }
+ return menu.openEvent;
+}, bindDomNode:function (node) {
+ node = dojo.byId(node);
+ var win = dojo.html.getElementWindow(node);
+ if (dojo.html.isTag(node, "iframe") == "iframe") {
+ win = dojo.html.iframeContentWindow(node);
+ node = dojo.withGlobal(win, dojo.body);
+ }
+ dojo.widget.Menu2.OperaAndKonqFixer.fixNode(node);
+ dojo.event.kwConnect({srcObj:node, srcFunc:"oncontextmenu", targetObj:this, targetFunc:"onOpen", once:true});
+ if (dojo.render.html.moz && win.document.designMode.toLowerCase() == "on") {
+ dojo.event.browser.addListener(node, "contextmenu", dojo.lang.hitch(this, "onOpen"));
+ }
+ dojo.widget.PopupManager.registerWin(win);
+}, unBindDomNode:function (nodeName) {
+ var node = dojo.byId(nodeName);
+ dojo.event.kwDisconnect({srcObj:node, srcFunc:"oncontextmenu", targetObj:this, targetFunc:"onOpen", once:true});
+ dojo.widget.Menu2.OperaAndKonqFixer.cleanNode(node);
+}, _openAsSubmenu:function (parent, explodeSrc, orient) {
+ if (this.isShowingNow) {
+ return;
+ }
+ this.parentMenu = parent;
+ this.open(explodeSrc, parent, explodeSrc, orient);
+}, close:function (force) {
+ if (this.animationInProgress) {
+ dojo.widget.PopupContainerBase.prototype.close.call(this, force);
+ return;
+ }
+ if (this._highlighted_option) {
+ this._highlighted_option.onUnhover();
+ }
+ dojo.widget.PopupContainerBase.prototype.close.call(this, force);
+ this.parentMenu = null;
+}, closeAll:function (force) {
+ if (this.parentMenu) {
+ this.parentMenu.closeAll(force);
+ } else {
+ this.close(force);
+ }
+}, _openSubmenu:function (submenu, from_item) {
+ submenu._openAsSubmenu(this, from_item.arrow, {"TR":"TL", "TL":"TR"});
+ this.currentSubmenu = submenu;
+ this.currentSubmenuTrigger = from_item;
+ this.currentSubmenuTrigger.is_open = true;
+}, focus:function () {
+ if (this.currentSubmenuTrigger) {
+ if (this.currentSubmenuTrigger.caption) {
+ try {
+ this.currentSubmenuTrigger.caption.focus();
+ }
+ catch (e) {
+ }
+ } else {
+ try {
+ this.currentSubmenuTrigger.domNode.focus();
+ }
+ catch (e) {
+ }
+ }
+ }
+}, onOpen:function (e) {
+ this.openEvent = e;
+ if (e["target"]) {
+ this.openedForWindow = dojo.html.getElementWindow(e.target);
+ } else {
+ this.openedForWindow = null;
+ }
+ var x = e.pageX, y = e.pageY;
+ var win = dojo.html.getElementWindow(e.target);
+ var iframe = win._frameElement || win.frameElement;
+ if (iframe) {
+ var cood = dojo.html.abs(iframe, true);
+ x += cood.x - dojo.withGlobal(win, dojo.html.getScroll).left;
+ y += cood.y - dojo.withGlobal(win, dojo.html.getScroll).top;
+ }
+ this.open(x, y, null, [x, y]);
+ dojo.event.browser.stopEvent(e);
+}});
+dojo.widget.defineWidget("dojo.widget.MenuItem2", dojo.widget.HtmlWidget, function () {
+ this.eventNames = {engage:""};
+}, {templateString:"<tr class=\"dojoMenuItem2\" dojoAttachEvent=\"onMouseOver: onHover; onMouseOut: onUnhover; onClick: _onClick; onKey:onKey;\">" + "<td><div class=\"${this.iconClass}\" style=\"${this.iconStyle}\"></div></td>" + "<td tabIndex=\"-1\" class=\"dojoMenuItem2Label\" dojoAttachPoint=\"caption\">${this.caption}</td>" + "<td class=\"dojoMenuItem2Accel\">${this.accelKey}</td>" + "<td><div class=\"dojoMenuItem2Submenu\" style=\"display:${this.arrowDisplay};\" dojoAttachPoint=\"arrow\"></div></td>" + "</tr>", is_hovering:false, hover_timer:null, is_open:false, topPosition:0, caption:"Untitled", accelKey:"", iconSrc:"", disabledClass:"dojoMenuItem2Disabled", iconClass:"dojoMenuItem2Icon", submenuId:"", eventNaming:"default", highlightClass:"dojoMenuItem2Hover", postMixInProperties:function () {
+ this.iconStyle = "";
+ if (this.iconSrc) {
+ if ((this.iconSrc.toLowerCase().substring(this.iconSrc.length - 4) == ".png") && (dojo.render.html.ie55 || dojo.render.html.ie60)) {
+ this.iconStyle = "filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.iconSrc + "', sizingMethod='image')";
+ } else {
+ this.iconStyle = "background-image: url(" + this.iconSrc + ")";
+ }
+ }
+ this.arrowDisplay = this.submenuId ? "block" : "none";
+ dojo.widget.MenuItem2.superclass.postMixInProperties.apply(this, arguments);
+}, fillInTemplate:function () {
+ dojo.html.disableSelection(this.domNode);
+ if (this.disabled) {
+ this.setDisabled(true);
+ }
+ if (this.eventNaming == "default") {
+ for (var eventName in this.eventNames) {
+ this.eventNames[eventName] = this.widgetId + "/" + eventName;
+ }
+ }
+}, onHover:function () {
+ this.onUnhover();
+ if (this.is_hovering) {
+ return;
+ }
+ if (this.is_open) {
+ return;
+ }
+ if (this.parent._highlighted_option) {
+ this.parent._highlighted_option.onUnhover();
+ }
+ this.parent.closeSubmenu();
+ this.parent._highlighted_option = this;
+ dojo.widget.PopupManager.setFocusedMenu(this.parent);
+ this._highlightItem();
+ if (this.is_hovering) {
+ this._stopSubmenuTimer();
+ }
+ this.is_hovering = true;
+ this._startSubmenuTimer();
+}, onUnhover:function () {
+ if (!this.is_open) {
+ this._unhighlightItem();
+ }
+ this.is_hovering = false;
+ this.parent._highlighted_option = null;
+ if (this.parent.parentMenu) {
+ dojo.widget.PopupManager.setFocusedMenu(this.parent.parentMenu);
+ }
+ this._stopSubmenuTimer();
+}, _onClick:function (focus) {
+ var displayingSubMenu = false;
+ if (this.disabled) {
+ return false;
+ }
+ if (this.submenuId) {
+ if (!this.is_open) {
+ this._stopSubmenuTimer();
+ this._openSubmenu();
+ }
+ displayingSubMenu = true;
+ } else {
+ this.onUnhover();
+ this.parent.closeAll(true);
+ }
+ this.onClick();
+ dojo.event.topic.publish(this.eventNames.engage, this);
+ if (displayingSubMenu && focus) {
+ dojo.widget.getWidgetById(this.submenuId)._highlightOption(1);
+ }
+ return;
+}, onClick:function () {
+ this.parent.onItemClick(this);
+}, _highlightItem:function () {
+ dojo.html.addClass(this.domNode, this.highlightClass);
+}, _unhighlightItem:function () {
+ dojo.html.removeClass(this.domNode, this.highlightClass);
+}, _startSubmenuTimer:function () {
+ this._stopSubmenuTimer();
+ if (this.disabled) {
+ return;
+ }
+ var self = this;
+ var closure = function () {
+ return function () {
+ self._openSubmenu();
+ };
+ }();
+ this.hover_timer = dojo.lang.setTimeout(closure, this.parent.submenuDelay);
+}, _stopSubmenuTimer:function () {
+ if (this.hover_timer) {
+ dojo.lang.clearTimeout(this.hover_timer);
+ this.hover_timer = null;
+ }
+}, _openSubmenu:function () {
+ if (this.disabled) {
+ return;
+ }
+ this.parent.closeSubmenu();
+ var submenu = dojo.widget.getWidgetById(this.submenuId);
+ if (submenu) {
+ this.parent._openSubmenu(submenu, this);
+ }
+}, _closedSubmenu:function () {
+ this.onUnhover();
+}, setDisabled:function (value) {
+ this.disabled = value;
+ if (this.disabled) {
+ dojo.html.addClass(this.domNode, this.disabledClass);
+ } else {
+ dojo.html.removeClass(this.domNode, this.disabledClass);
+ }
+}, enable:function () {
+ this.setDisabled(false);
+}, disable:function () {
+ this.setDisabled(true);
+}, menuOpen:function (message) {
+}});
+dojo.widget.defineWidget("dojo.widget.MenuSeparator2", dojo.widget.HtmlWidget, {templateString:"<tr class=\"dojoMenuSeparator2\"><td colspan=4>" + "<div class=\"dojoMenuSeparator2Top\"></div>" + "<div class=\"dojoMenuSeparator2Bottom\"></div>" + "</td></tr>", postCreate:function () {
+ dojo.html.disableSelection(this.domNode);
+}});
+dojo.widget.defineWidget("dojo.widget.MenuBar2", [dojo.widget.HtmlWidget, dojo.widget.MenuBase], {menuOverlap:2, templateString:"<div class=\"dojoMenuBar2\" dojoAttachPoint=\"containerNode\" tabIndex=\"0\"></div>", close:function (force) {
+ if (this._highlighted_option) {
+ this._highlighted_option.onUnhover();
+ }
+ this.closeSubmenu(force);
+}, closeAll:function (force) {
+ this.close(force);
+}, processKey:function (evt) {
+ if (evt.ctrlKey || evt.altKey) {
+ return false;
+ }
+ var rval = false;
+ switch (evt.key) {
+ case evt.KEY_DOWN_ARROW:
+ rval = this._moveToChildMenu(evt);
+ break;
+ case evt.KEY_UP_ARROW:
+ rval = this._moveToParentMenu(evt);
+ break;
+ case evt.KEY_RIGHT_ARROW:
+ rval = this._moveToNext(evt);
+ break;
+ case evt.KEY_LEFT_ARROW:
+ rval = this._moveToPrevious(evt);
+ break;
+ default:
+ rval = dojo.widget.MenuBar2.superclass.processKey.apply(this, arguments);
+ break;
+ }
+ return rval;
+}, postCreate:function () {
+ dojo.widget.MenuBar2.superclass.postCreate.apply(this, arguments);
+ this.isShowingNow = true;
+}, _openSubmenu:function (submenu, from_item) {
+ submenu._openAsSubmenu(this, from_item.domNode, {"BL":"TL", "TL":"BL"});
+ this.currentSubmenu = submenu;
+ this.currentSubmenuTrigger = from_item;
+ this.currentSubmenuTrigger.is_open = true;
+}});
+dojo.widget.defineWidget("dojo.widget.MenuBarItem2", dojo.widget.MenuItem2, {templateString:"<span class=\"dojoMenuItem2\" dojoAttachEvent=\"onMouseOver: onHover; onMouseOut: onUnhover; onClick: _onClick;\">${this.caption}</span>"});
+dojo.widget.Menu2.OperaAndKonqFixer = new function () {
+ var implement = true;
+ var delfunc = false;
+ if (!dojo.lang.isFunction(dojo.doc().oncontextmenu)) {
+ dojo.doc().oncontextmenu = function () {
+ implement = false;
+ delfunc = true;
+ };
+ }
+ if (dojo.doc().createEvent) {
+ try {
+ var e = dojo.doc().createEvent("MouseEvents");
+ e.initMouseEvent("contextmenu", 1, 1, dojo.global(), 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, null);
+ dojo.doc().dispatchEvent(e);
+ }
+ catch (e) {
+ }
+ } else {
+ implement = false;
+ }
+ if (delfunc) {
+ delete dojo.doc().oncontextmenu;
+ }
+ this.fixNode = function (node) {
+ if (implement) {
+ if (!dojo.lang.isFunction(node.oncontextmenu)) {
+ node.oncontextmenu = function (e) {
+ };
+ }
+ if (dojo.render.html.opera) {
+ node._menufixer_opera = function (e) {
+ if (e.ctrlKey) {
+ this.oncontextmenu(e);
+ }
+ };
+ dojo.event.connect(node, "onclick", node, "_menufixer_opera");
+ } else {
+ node._menufixer_konq = function (e) {
+ if (e.button == 2) {
+ e.preventDefault();
+ this.oncontextmenu(e);
+ }
+ };
+ dojo.event.connect(node, "onmousedown", node, "_menufixer_konq");
+ }
+ }
+ };
+ this.cleanNode = function (node) {
+ if (implement) {
+ if (node._menufixer_opera) {
+ dojo.event.disconnect(node, "onclick", node, "_menufixer_opera");
+ delete node._menufixer_opera;
+ } else {
+ if (node._menufixer_konq) {
+ dojo.event.disconnect(node, "onmousedown", node, "_menufixer_konq");
+ delete node._menufixer_konq;
+ }
+ }
+ if (node.oncontextmenu) {
+ delete node.oncontextmenu;
+ }
+ }
+ };
+};
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Menu2.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Menu2.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Menu2.js
------------------------------------------------------------------------------
svn:mime-type = text/plain