From bf2301aad53bc032ead8ee9acf02ab833096752f Mon Sep 17 00:00:00 2001 From: Musachy Barroso Date: Wed, 9 May 2007 02:04:20 +0000 Subject: [PATCH] WW-1917 Tag datetimepicker gives "Invalid field value for field xxx:" on form submit when browser locale does not match request_locale git-svn-id: https://svn.apache.org/repos/asf/struts/struts2/trunk@536393 13f79535-47bb-0310-9956-ffa450edef68 --- .../dojo/struts/widget/StrutsDatePicker.js | 21 + .../dojo/struts/widget/StrutsTimePicker.js | 4 - .../apache/struts2/static/dojo/struts_dojo.js | 809 +++++++++--------- .../dojo/struts_dojo.js.uncompressed.js | 25 +- .../template/ajax/datetimepicker.ftl | 4 +- .../views/jsp/ui/DateTimePickerTagTest-1.txt | 4 +- 6 files changed, 459 insertions(+), 408 deletions(-) diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/StrutsDatePicker.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/StrutsDatePicker.js index 314f2a638..7419b9616 100644 --- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/StrutsDatePicker.js +++ b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/StrutsDatePicker.js @@ -28,6 +28,27 @@ dojo.widget.defineWidget( } }, + _syncValueNode:function () { + var date = this.datePicker.value; + var value = ""; + switch (this.saveFormat.toLowerCase()) { + case "rfc": + case "iso": + case "": + value = dojo.date.toRfc3339(date); + break; + case "posix": + case "unix": + value = Number(date); + break; + default: + if (date) { + value = dojo.date.format(date, {datePattern:this.saveFormat, selector:"dateOnly", locale:this.lang}); + } + } + this.valueNode.value = value; + }, + _updateText : function() { struts.widget.StrutsDatePicker.superclass._updateText.apply(this, arguments); if(this.valueNotifyTopicsArray != null) { diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/StrutsTimePicker.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/StrutsTimePicker.js index d37d303dd..dd6e722d9 100644 --- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/StrutsTimePicker.js +++ b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/StrutsTimePicker.js @@ -19,8 +19,6 @@ dojo.widget.defineWidget( postCreate: function() { struts.widget.StrutsTimePicker.superclass.postCreate.apply(this, arguments); - this.inputNode.name = this.name; - //set cssClass if(this.extraArgs["class"]) { dojo.html.setClass(this.inputNode, this.extraArgs["class"]); @@ -31,8 +29,6 @@ dojo.widget.defineWidget( dojo.html.setStyleText(this.inputNode, this.extraArgs.style); } - this.valueNode.name = this.inputName; - //value topics if(!dojo.string.isBlank(this.valueNotifyTopics)) { this.valueNotifyTopicsArray = this.valueNotifyTopics.split(","); diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js index cdd0bbf5f..588ed0a5a 100644 --- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js +++ b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js @@ -16732,14 +16732,12 @@ dojo.widget.DropdownTimePicker.superclass.destroy.apply(this,arguments); dojo.provide("struts.widget.StrutsTimePicker"); dojo.widget.defineWidget("struts.widget.StrutsTimePicker",dojo.widget.DropdownTimePicker,{widgetType:"StrutsTimePicker",inputName:"",name:"",valueNotifyTopics:"",valueNotifyTopicsArray:null,postCreate:function(){ struts.widget.StrutsTimePicker.superclass.postCreate.apply(this,arguments); -this.inputNode.name=this.name; if(this.extraArgs["class"]){ dojo.html.setClass(this.inputNode,this.extraArgs["class"]); } if(this.extraArgs.style){ dojo.html.setStyleText(this.inputNode,this.extraArgs.style); } -this.valueNode.name=this.inputName; if(!dojo.string.isBlank(this.valueNotifyTopics)){ this.valueNotifyTopicsArray=this.valueNotifyTopics.split(","); } @@ -17203,14 +17201,33 @@ dojo.html.setStyleText(this.inputNode,this.extraArgs.style); if(!dojo.string.isBlank(this.valueNotifyTopics)){ this.valueNotifyTopicsArray=this.valueNotifyTopics.split(","); } +},_syncValueNode:function(){ +var date=this.datePicker.value; +var _e4e=""; +switch(this.saveFormat.toLowerCase()){ +case "rfc": +case "iso": +case "": +_e4e=dojo.date.toRfc3339(date); +break; +case "posix": +case "unix": +_e4e=Number(date); +break; +default: +if(date){ +_e4e=dojo.date.format(date,{datePattern:this.saveFormat,selector:"dateOnly",locale:this.lang}); +} +} +this.valueNode.value=_e4e; },_updateText:function(){ struts.widget.StrutsDatePicker.superclass._updateText.apply(this,arguments); if(this.valueNotifyTopicsArray!=null){ for(var i=0;i",selectedChild:"",fillInTemplate:function(args,frag){ -var _e73=this.getFragNodeRef(frag); -dojo.html.copyStyle(this.domNode,_e73); +var _e75=this.getFragNodeRef(frag); +dojo.html.copyStyle(this.domNode,_e75); dojo.widget.PageContainer.superclass.fillInTemplate.apply(this,arguments); },postCreate:function(args,frag){ if(this.children.length){ dojo.lang.forEach(this.children,this._setupChild,this); -var _e76; +var _e78; if(this.selectedChild){ this.selectChild(this.selectedChild); }else{ @@ -17410,12 +17427,12 @@ this.selectChild(this.children[0]); } } } -},addChild:function(_e78){ +},addChild:function(_e7a){ dojo.widget.PageContainer.superclass.addChild.apply(this,arguments); -this._setupChild(_e78); +this._setupChild(_e7a); this.onResized(); if(!this.selectedChildWidget){ -this.selectChild(_e78); +this.selectChild(_e7a); } },_setupChild:function(page){ page.hide(); @@ -17434,9 +17451,9 @@ if(this.children.length>0){ this.selectChild(this.children[0],true); } } -},selectChild:function(page,_e7c){ +},selectChild:function(page,_e7e){ page=dojo.widget.byId(page); -this.correspondingPageButton=_e7c; +this.correspondingPageButton=_e7e; if(this.selectedChildWidget){ this._hideChild(this.selectedChildWidget); } @@ -17447,24 +17464,24 @@ page.isFirstChild=(page==this.children[0]); page.isLastChild=(page==this.children[this.children.length-1]); dojo.event.topic.publish(this.widgetId+"-selectChild",page); },forward:function(){ -var _e7d=dojo.lang.find(this.children,this.selectedChildWidget); -this.selectChild(this.children[_e7d+1]); +var _e7f=dojo.lang.find(this.children,this.selectedChildWidget); +this.selectChild(this.children[_e7f+1]); },back:function(){ -var _e7e=dojo.lang.find(this.children,this.selectedChildWidget); -this.selectChild(this.children[_e7e-1]); +var _e80=dojo.lang.find(this.children,this.selectedChildWidget); +this.selectChild(this.children[_e80-1]); },onResized:function(){ if(this.doLayout&&this.selectedChildWidget){ with(this.selectedChildWidget.domNode.style){ top=dojo.html.getPixelValue(this.containerNode,"padding-top",true); left=dojo.html.getPixelValue(this.containerNode,"padding-left",true); } -var _e7f=dojo.html.getContentBox(this.containerNode); -this.selectedChildWidget.resizeTo(_e7f.width,_e7f.height); +var _e81=dojo.html.getContentBox(this.containerNode); +this.selectedChildWidget.resizeTo(_e81.width,_e81.height); } },_showChild:function(page){ if(this.doLayout){ -var _e81=dojo.html.getContentBox(this.containerNode); -page.resizeTo(_e81.width,_e81.height); +var _e83=dojo.html.getContentBox(this.containerNode); +page.resizeTo(_e83.width,_e83.height); } page.selected=true; page.show(); @@ -17472,8 +17489,8 @@ page.show(); page.selected=false; page.hide(); },closeChild:function(page){ -var _e84=page.onClose(this,page); -if(_e84){ +var _e86=page.onClose(this,page); +if(_e86){ this.removeChild(page); page.destroy(); } @@ -17489,9 +17506,9 @@ dojo.html.addClass(this.domNode,this["class"]); dojo.widget.wai.setAttr(this.domNode,"waiRole","role","tablist"); },postCreate:function(){ this.pane2button={}; -var _e85=dojo.widget.byId(this.containerId); -if(_e85){ -dojo.lang.forEach(_e85.children,this.onAddChild,this); +var _e87=dojo.widget.byId(this.containerId); +if(_e87){ +dojo.lang.forEach(_e87.children,this.onAddChild,this); } dojo.event.topic.subscribe(this.containerId+"-addChild",this,"onAddChild"); dojo.event.topic.subscribe(this.containerId+"-removeChild",this,"onRemoveChild"); @@ -17502,50 +17519,50 @@ dojo.event.topic.unsubscribe(this.containerId+"-removeChild",this,"onRemoveChild dojo.event.topic.unsubscribe(this.containerId+"-selectChild",this,"onSelectChild"); dojo.widget.PageController.superclass.destroy.apply(this,arguments); },onAddChild:function(page){ -var _e87=dojo.widget.createWidget(this.buttonWidget,{label:page.label,closeButton:page.closable}); -this.addChild(_e87); -this.domNode.appendChild(_e87.domNode); -this.pane2button[page]=_e87; -page.controlButton=_e87; -var _e88=this; -dojo.event.connect(_e87,"onClick",function(){ -_e88.onButtonClick(page); +var _e89=dojo.widget.createWidget(this.buttonWidget,{label:page.label,closeButton:page.closable}); +this.addChild(_e89); +this.domNode.appendChild(_e89.domNode); +this.pane2button[page]=_e89; +page.controlButton=_e89; +var _e8a=this; +dojo.event.connect(_e89,"onClick",function(){ +_e8a.onButtonClick(page); }); -dojo.event.connect(_e87,"onCloseButtonClick",function(){ -_e88.onCloseButtonClick(page); +dojo.event.connect(_e89,"onCloseButtonClick",function(){ +_e8a.onCloseButtonClick(page); }); },onRemoveChild:function(page){ if(this._currentChild==page){ this._currentChild=null; } -var _e8a=this.pane2button[page]; -if(_e8a){ -_e8a.destroy(); +var _e8c=this.pane2button[page]; +if(_e8c){ +_e8c.destroy(); } this.pane2button[page]=null; },onSelectChild:function(page){ if(this._currentChild){ -var _e8c=this.pane2button[this._currentChild]; -_e8c.clearSelected(); +var _e8e=this.pane2button[this._currentChild]; +_e8e.clearSelected(); } -var _e8d=this.pane2button[page]; -_e8d.setSelected(); +var _e8f=this.pane2button[page]; +_e8f.setSelected(); this._currentChild=page; },onButtonClick:function(page){ -var _e8f=dojo.widget.byId(this.containerId); -_e8f.selectChild(page,false,this); -},onCloseButtonClick:function(page){ var _e91=dojo.widget.byId(this.containerId); -_e91.closeChild(page); +_e91.selectChild(page,false,this); +},onCloseButtonClick:function(page){ +var _e93=dojo.widget.byId(this.containerId); +_e93.closeChild(page); },onKey:function(evt){ if((evt.keyCode==evt.KEY_RIGHT_ARROW)||(evt.keyCode==evt.KEY_LEFT_ARROW)){ -var _e93=0; +var _e95=0; var next=null; -var _e93=dojo.lang.find(this.children,this.pane2button[this._currentChild]); +var _e95=dojo.lang.find(this.children,this.pane2button[this._currentChild]); if(evt.keyCode==evt.KEY_RIGHT_ARROW){ -next=this.children[(_e93+1)%this.children.length]; +next=this.children[(_e95+1)%this.children.length]; }else{ -next=this.children[(_e93+(this.children.length-1))%this.children.length]; +next=this.children[(_e95+(this.children.length-1))%this.children.length]; } dojo.event.browser.stopEvent(evt); next.onClick(); @@ -17598,20 +17615,20 @@ dojo.widget.TabContainer.superclass._setupChild.apply(this,arguments); if(!this.doLayout){ return; } -var _e99=this.labelPosition.replace(/-h/,""); -var _e9a=[{domNode:this.tablist.domNode,layoutAlign:_e99},{domNode:this.containerNode,layoutAlign:"client"}]; -dojo.widget.html.layout(this.domNode,_e9a); +var _e9b=this.labelPosition.replace(/-h/,""); +var _e9c=[{domNode:this.tablist.domNode,layoutAlign:_e9b},{domNode:this.containerNode,layoutAlign:"client"}]; +dojo.widget.html.layout(this.domNode,_e9c); if(this.selectedChildWidget){ -var _e9b=dojo.html.getContentBox(this.containerNode); -this.selectedChildWidget.resizeTo(_e9b.width,_e9b.height); +var _e9d=dojo.html.getContentBox(this.containerNode); +this.selectedChildWidget.resizeTo(_e9d.width,_e9d.height); } -},selectTab:function(tab,_e9d){ +},selectTab:function(tab,_e9f){ dojo.deprecated("use selectChild() rather than selectTab(), selectTab() will be removed in","0.5"); -this.selectChild(tab,_e9d); +this.selectChild(tab,_e9f); },onKey:function(e){ if(e.keyCode==e.KEY_UP_ARROW&&e.ctrlKey){ -var _e9f=this.correspondingTabButton||this.selectedTabWidget.tabButton; -_e9f.focus(); +var _ea1=this.correspondingTabButton||this.selectedTabWidget.tabButton; +_ea1.focus(); dojo.event.browser.stopEvent(e); }else{ if(e.keyCode==e.KEY_DELETE&&e.altKey){ @@ -17658,27 +17675,27 @@ this.disableTab(div); } }); } -},selectChild:function(tab,_ea3){ +},selectChild:function(tab,_ea5){ if(!tab.disabled){ -var _ea4={"cancel":false}; +var _ea6={"cancel":false}; if(this.beforeSelectTabNotifyTopicsArray){ var self=this; -dojo.lang.forEach(this.beforeSelectTabNotifyTopicsArray,function(_ea6){ +dojo.lang.forEach(this.beforeSelectTabNotifyTopicsArray,function(_ea8){ try{ -dojo.event.topic.publish(_ea6,self,tab,_ea4); +dojo.event.topic.publish(_ea8,self,tab,_ea6); } catch(ex){ dojo.debug(ex); } }); } -if(!_ea4.cancel){ -struts.widget.StrutsTabContainer.superclass.selectChild.apply(this,[tab,_ea3]); +if(!_ea6.cancel){ +struts.widget.StrutsTabContainer.superclass.selectChild.apply(this,[tab,_ea5]); if(this.afterSelectTabNotifyTopicsArray){ var self=this; -dojo.lang.forEach(this.afterSelectTabNotifyTopicsArray,function(_ea7){ +dojo.lang.forEach(this.afterSelectTabNotifyTopicsArray,function(_ea9){ try{ -dojo.event.topic.publish(_ea7,self,tab,_ea4); +dojo.event.topic.publish(_ea9,self,tab,_ea6); } catch(ex){ dojo.debug(ex); @@ -17688,13 +17705,13 @@ dojo.debug(ex); } } },disableTab:function(t){ -var _ea9=this.getTabWidget(t); -_ea9.disabled=true; -dojo.html.addClass(_ea9.controlButton.domNode,this.disabledTabCssClass); -},enableTab:function(t){ var _eab=this.getTabWidget(t); -_eab.disabled=false; -dojo.html.removeClass(_eab.controlButton.domNode,this.disabledTabCssClass); +_eab.disabled=true; +dojo.html.addClass(_eab.controlButton.domNode,this.disabledTabCssClass); +},enableTab:function(t){ +var _ead=this.getTabWidget(t); +_ead.disabled=false; +dojo.html.removeClass(_ead.controlButton.domNode,this.disabledTabCssClass); },getTabWidget:function(t){ if(dojo.lang.isNumber(t)){ return this.children[t]; @@ -17721,19 +17738,19 @@ return this.tree.unlock.apply(this,arguments); return this.tree.isLocked.apply(this,arguments); },cleanLock:function(){ return this.tree.cleanLock.apply(this,arguments); -},actionIsDisabled:function(_ead){ -var _eae=this; -var _eaf=false; -if(this.tree.strictFolders&&_ead==this.actions.ADDCHILD&&!this.isFolder){ -_eaf=true; +},actionIsDisabled:function(_eaf){ +var _eb0=this; +var _eb1=false; +if(this.tree.strictFolders&&_eaf==this.actions.ADDCHILD&&!this.isFolder){ +_eb1=true; } -if(dojo.lang.inArray(_eae.actionsDisabled,_ead)){ -_eaf=true; +if(dojo.lang.inArray(_eb0.actionsDisabled,_eaf)){ +_eb1=true; } if(this.isLocked()){ -_eaf=true; +_eb1=true; } -return _eaf; +return _eb1; },getInfo:function(){ var info={widgetId:this.widgetId,objectId:this.objectId,index:this.getParentIndex(),isFolder:this.isFolder}; return info; @@ -17743,20 +17760,20 @@ for(var i=0;i0){ -for(var i=0;i<_eb4;i++){ +this.depth+=_eb6; +if(_eb6>0){ +for(var i=0;i<_eb6;i++){ var img=this.tree.makeBlankImg(); this.imgs.unshift(img); dojo.html.insertBefore(this.imgs[0],this.domNode.firstChild); } } -if(_eb4<0){ -for(var i=0;i<-_eb4;i++){ +if(_eb6<0){ +for(var i=0;i<-_eb6;i++){ this.imgs.shift(); dojo.html.removeNode(this.domNode.firstChild); } @@ -17778,9 +17795,9 @@ this._markLoadingSavedIcon=null; dojo.event.connect(this.expandIcon,"onclick",this,"onTreeClick"); this.expandIcon.src=this.isExpanded?this.tree.expandIconSrcMinus:this.tree.expandIconSrcPlus; this.isFolder=true; -},createDOMNode:function(tree,_eb9){ +},createDOMNode:function(tree,_ebb){ this.tree=tree; -this.depth=_eb9; +this.depth=_ebb; this.imgs=[]; for(var i=0;i-1?"&":"?")+"nodeId="+this.widgetId; +var _ed0=href+(href.indexOf("?")>-1?"&":"?")+"nodeId="+this.widgetId; var self=this; this.markLoading(); -dojo.io.bind({url:_ece,useCache:false,preventCache:true,handler:function(type,data,e){ +dojo.io.bind({url:_ed0,useCache:false,preventCache:true,handler:function(type,data,e){ if(type=="load"){ if(data){ -dojo.lang.forEach(data,function(_ed3){ -var _ed4=dojo.widget.createWidget("struts:StrutsTreeNode",{title:_ed3.label,isFolder:_ed3.hasChildren,widgetId:_ed3.id}); -self.addChild(_ed4); +dojo.lang.forEach(data,function(_ed5){ +var _ed6=dojo.widget.createWidget("struts:StrutsTreeNode",{title:_ed5.label,isFolder:_ed5.hasChildren,widgetId:_ed5.id}); +self.addChild(_ed6); }); } } @@ -17970,8 +17987,8 @@ self.unMarkLoading(); } }}); dojo.provide("dojo.json"); -dojo.json={jsonRegistry:new dojo.AdapterRegistry(),register:function(name,_ed6,wrap,_ed8){ -dojo.json.jsonRegistry.register(name,_ed6,wrap,_ed8); +dojo.json={jsonRegistry:new dojo.AdapterRegistry(),register:function(name,_ed8,wrap,_eda){ +dojo.json.jsonRegistry.register(name,_ed8,wrap,_eda); },evalJson:function(json){ try{ return eval("("+json+")"); @@ -17981,11 +17998,11 @@ dojo.debug(e); return json; } },serialize:function(o){ -var _edb=typeof (o); -if(_edb=="undefined"){ +var _edd=typeof (o); +if(_edd=="undefined"){ return "undefined"; }else{ -if((_edb=="number")||(_edb=="boolean")){ +if((_edd=="number")||(_edd=="boolean")){ return o+""; }else{ if(o===null){ @@ -17993,24 +18010,24 @@ return "null"; } } } -if(_edb=="string"){ +if(_edd=="string"){ return dojo.string.escapeString(o); } var me=arguments.callee; -var _edd; +var _edf; if(typeof (o.__json__)=="function"){ -_edd=o.__json__(); -if(o!==_edd){ -return me(_edd); +_edf=o.__json__(); +if(o!==_edf){ +return me(_edf); } } if(typeof (o.json)=="function"){ -_edd=o.json(); -if(o!==_edd){ -return me(_edd); +_edf=o.json(); +if(o!==_edf){ +return me(_edf); } } -if(_edb!="function"&&typeof (o.length)=="number"){ +if(_edd!="function"&&typeof (o.length)=="number"){ var res=[]; for(var i=0;i_f0f.getParentIndex()){ -_f11--; +return _f10; +},getTargetParentIndex:function(_f11,_f12){ +var _f13=_f12=="before"?this.treeNode.getParentIndex():this.treeNode.getParentIndex()+1; +if(this.treeNode.parent===_f11.parent&&this.treeNode.getParentIndex()>_f11.getParentIndex()){ +_f13--; } -return _f11; +return _f13; },onDrop:function(e){ -var _f13=this.position; +var _f15=this.position; this.onDragOut(e); -var _f14=e.dragObject.treeNode; -if(!dojo.lang.isObject(_f14)){ +var _f16=e.dragObject.treeNode; +if(!dojo.lang.isObject(_f16)){ dojo.raise("TreeNode not found in dragObject"); } -if(_f13=="onto"){ -return this.controller.move(_f14,this.treeNode,0); +if(_f15=="onto"){ +return this.controller.move(_f16,this.treeNode,0); }else{ -var _f15=this.getTargetParentIndex(_f14,_f13); -return this.controller.move(_f14,this.treeNode.parent,_f15); +var _f17=this.getTargetParentIndex(_f16,_f15); +return this.controller.move(_f16,this.treeNode.parent,_f17); } }}); -dojo.dnd.TreeDNDController=function(_f16){ -this.treeController=_f16; +dojo.dnd.TreeDNDController=function(_f18){ +this.treeController=_f18; this.dragSources={}; this.dropTargets={}; }; @@ -18248,34 +18265,34 @@ dojo.event.topic.unsubscribe(tree.eventNames.moveTo,this,"onMoveTo"); dojo.event.topic.unsubscribe(tree.eventNames.addChild,this,"onAddChild"); dojo.event.topic.unsubscribe(tree.eventNames.removeNode,this,"onRemoveNode"); dojo.event.topic.unsubscribe(tree.eventNames.treeDestroy,this,"onTreeDestroy"); -},onTreeDestroy:function(_f19){ -this.unlistenTree(_f19.source); -},onCreateDOMNode:function(_f1a){ -this.registerDNDNode(_f1a.source); -},onAddChild:function(_f1b){ -this.registerDNDNode(_f1b.child); -},onMoveFrom:function(_f1c){ -var _f1d=this; -dojo.lang.forEach(_f1c.child.getDescendants(),function(node){ -_f1d.unregisterDNDNode(node); +},onTreeDestroy:function(_f1b){ +this.unlistenTree(_f1b.source); +},onCreateDOMNode:function(_f1c){ +this.registerDNDNode(_f1c.source); +},onAddChild:function(_f1d){ +this.registerDNDNode(_f1d.child); +},onMoveFrom:function(_f1e){ +var _f1f=this; +dojo.lang.forEach(_f1e.child.getDescendants(),function(node){ +_f1f.unregisterDNDNode(node); }); -},onMoveTo:function(_f1f){ -var _f20=this; -dojo.lang.forEach(_f1f.child.getDescendants(),function(node){ -_f20.registerDNDNode(node); +},onMoveTo:function(_f21){ +var _f22=this; +dojo.lang.forEach(_f21.child.getDescendants(),function(node){ +_f22.registerDNDNode(node); }); },registerDNDNode:function(node){ if(!node.tree.DNDMode){ return; } -var _f23=null; -var _f24=null; +var _f25=null; +var _f26=null; if(!node.actionIsDisabled(node.actions.MOVE)){ -var _f23=new dojo.dnd.TreeDragSource(node.labelNode,this,node.tree.widgetId,node); -this.dragSources[node.widgetId]=_f23; +var _f25=new dojo.dnd.TreeDragSource(node.labelNode,this,node.tree.widgetId,node); +this.dragSources[node.widgetId]=_f25; } -var _f24=new dojo.dnd.TreeDropTarget(node.labelNode,this.treeController,node.tree.DNDAcceptTypes,node); -this.dropTargets[node.widgetId]=_f24; +var _f26=new dojo.dnd.TreeDropTarget(node.labelNode,this.treeController,node.tree.DNDAcceptTypes,node); +this.dropTargets[node.widgetId]=_f26; },unregisterDNDNode:function(node){ if(this.dragSources[node.widgetId]){ dojo.dnd.dragManager.unregisterDragSource(this.dragSources[node.widgetId]); @@ -18304,45 +18321,45 @@ dojo.event.topic.unsubscribe(tree.eventNames.createDOMNode,this,"onCreateDOMNode dojo.event.topic.unsubscribe(tree.eventNames.treeClick,this,"onTreeClick"); dojo.event.topic.unsubscribe(tree.eventNames.treeCreate,this,"onTreeCreate"); dojo.event.topic.unsubscribe(tree.eventNames.treeDestroy,this,"onTreeDestroy"); -},onTreeDestroy:function(_f2a){ -var tree=_f2a.source; +},onTreeDestroy:function(_f2c){ +var tree=_f2c.source; this.unlistenTree(tree); if(this.dieWithTree){ this.destroy(); } -},onCreateDOMNode:function(_f2c){ -var node=_f2c.source; +},onCreateDOMNode:function(_f2e){ +var node=_f2e.source; if(node.expandLevel>0){ this.expandToLevel(node,node.expandLevel); } -},onTreeCreate:function(_f2e){ -var tree=_f2e.source; -var _f30=this; +},onTreeCreate:function(_f30){ +var tree=_f30.source; +var _f32=this; if(tree.expandLevel){ -dojo.lang.forEach(tree.children,function(_f31){ -_f30.expandToLevel(_f31,tree.expandLevel-1); +dojo.lang.forEach(tree.children,function(_f33){ +_f32.expandToLevel(_f33,tree.expandLevel-1); }); } -},expandToLevel:function(node,_f33){ -if(_f33==0){ +},expandToLevel:function(node,_f35){ +if(_f35==0){ return; } -var _f34=node.children; -var _f35=this; -var _f36=function(node,_f38){ +var _f36=node.children; +var _f37=this; +var _f38=function(node,_f3a){ this.node=node; -this.expandLevel=_f38; +this.expandLevel=_f3a; this.process=function(){ for(var i=0;i",isExpanded:true,isTree:true,objectId:"",controller:"",selector:"",menu:"",expandLevel:"",blankIconSrc:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_blank.gif"),gridIconSrcT:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_grid_t.gif"),gridIconSrcL:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_grid_l.gif"),gridIconSrcV:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_grid_v.gif"),gridIconSrcP:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_grid_p.gif"),gridIconSrcC:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_grid_c.gif"),gridIconSrcX:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_grid_x.gif"),gridIconSrcY:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_grid_y.gif"),gridIconSrcZ:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_grid_z.gif"),expandIconSrcPlus:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_expand_plus.gif"),expandIconSrcMinus:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_expand_minus.gif"),expandIconSrcLoading:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_loading.gif"),iconWidth:18,iconHeight:18,showGrid:true,showRootGrid:true,actionIsDisabled:function(_f63){ -var _f64=this; -return dojo.lang.inArray(_f64.actionsDisabled,_f63); +},{widgetType:"Tree",eventNamesDefault:{createDOMNode:"createDOMNode",treeCreate:"treeCreate",treeDestroy:"treeDestroy",treeClick:"treeClick",iconClick:"iconClick",titleClick:"titleClick",moveFrom:"moveFrom",moveTo:"moveTo",addChild:"addChild",removeNode:"removeNode",expand:"expand",collapse:"collapse"},isContainer:true,DNDMode:"off",lockLevel:0,strictFolders:true,DNDModes:{BETWEEN:1,ONTO:2},DNDAcceptTypes:"",templateCssPath:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/Tree.css"),templateString:"
",isExpanded:true,isTree:true,objectId:"",controller:"",selector:"",menu:"",expandLevel:"",blankIconSrc:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_blank.gif"),gridIconSrcT:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_grid_t.gif"),gridIconSrcL:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_grid_l.gif"),gridIconSrcV:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_grid_v.gif"),gridIconSrcP:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_grid_p.gif"),gridIconSrcC:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_grid_c.gif"),gridIconSrcX:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_grid_x.gif"),gridIconSrcY:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_grid_y.gif"),gridIconSrcZ:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_grid_z.gif"),expandIconSrcPlus:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_expand_plus.gif"),expandIconSrcMinus:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_expand_minus.gif"),expandIconSrcLoading:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_loading.gif"),iconWidth:18,iconHeight:18,showGrid:true,showRootGrid:true,actionIsDisabled:function(_f65){ +var _f66=this; +return dojo.lang.inArray(_f66.actionsDisabled,_f65); },actions:{ADDCHILD:"ADDCHILD"},getInfo:function(){ var info={widgetId:this.widgetId,objectId:this.objectId}; return info; @@ -18458,7 +18475,7 @@ this.selector.listenTree(this); this.selector=null; } },initialize:function(args,frag){ -var _f68=this; +var _f6a=this; for(name in this.eventNamesDefault){ if(dojo.lang.isUndefined(this.eventNames[name])){ this.eventNames[name]=this.widgetId+"/"+this.eventNamesDefault[name]; @@ -18504,15 +18521,15 @@ dojo.event.topic.publish(this.eventNames.treeCreate,{source:this}); },destroy:function(){ dojo.event.topic.publish(this.tree.eventNames.treeDestroy,{source:this}); return dojo.widget.HtmlWidget.prototype.destroy.apply(this,arguments); -},addChild:function(_f6c,_f6d){ -var _f6e={child:_f6c,index:_f6d,parent:this,domNodeInitialized:_f6c.domNodeInitialized}; +},addChild:function(_f6e,_f6f){ +var _f70={child:_f6e,index:_f6f,parent:this,domNodeInitialized:_f6e.domNodeInitialized}; this.doAddChild.apply(this,arguments); -dojo.event.topic.publish(this.tree.eventNames.addChild,_f6e); -},doAddChild:function(_f6f,_f70){ -if(dojo.lang.isUndefined(_f70)){ -_f70=this.children.length; +dojo.event.topic.publish(this.tree.eventNames.addChild,_f70); +},doAddChild:function(_f71,_f72){ +if(dojo.lang.isUndefined(_f72)){ +_f72=this.children.length; } -if(!_f6f.isTreeNode){ +if(!_f71.isTreeNode){ dojo.raise("You can only add TreeNode widgets to a "+this.widgetType+" widget!"); return; } @@ -18521,34 +18538,34 @@ if(!this.isFolder){ this.setFolder(); } } -var _f71=this; -dojo.lang.forEach(_f6f.getDescendants(),function(elem){ -elem.tree=_f71.tree; +var _f73=this; +dojo.lang.forEach(_f71.getDescendants(),function(elem){ +elem.tree=_f73.tree; }); -_f6f.parent=this; +_f71.parent=this; if(this.isTreeNode){ this.state=this.loadStates.LOADED; } -if(_f700){ -_f87[_f88-1].updateExpandGridColumn(); +if(_f8a==_f89.length&&_f8a>0){ +_f89[_f8a-1].updateExpandGridColumn(); } -if(_f86 instanceof dojo.widget.Tree&&_f88==0&&_f87.length>0){ -_f87[0].updateExpandGrid(); +if(_f88 instanceof dojo.widget.Tree&&_f8a==0&&_f89.length>0){ +_f89[0].updateExpandGrid(); } -_f85.parent=_f85.tree=null; -return _f85; +_f87.parent=_f87.tree=null; +return _f87; },markLoading:function(){ },unMarkLoading:function(){ },lock:function(){ @@ -18648,16 +18665,16 @@ if(!dojo.string.isBlank(this.href)){ dojo.io.bind({url:this.href,useCache:false,preventCache:true,handler:function(type,data,e){ if(type=="load"){ if(data){ -dojo.lang.forEach(data,function(_f8e){ -var _f8f=dojo.widget.createWidget("struts:StrutsTreeNode",{title:_f8e.label,isFolder:_f8e.hasChildren,widgetId:_f8e.id}); -self.addChild(_f8f); +dojo.lang.forEach(data,function(_f90){ +var _f91=dojo.widget.createWidget("struts:StrutsTreeNode",{title:_f90.label,isFolder:_f90.hasChildren,widgetId:_f90.id}); +self.addChild(_f91); }); } }else{ if(self.errorNotifyTopicsArray){ -dojo.lang.forEach(self.errorNotifyTopicsArray,function(_f90){ +dojo.lang.forEach(self.errorNotifyTopicsArray,function(_f92){ try{ -dojo.event.topic.publish(_f90,data,e,self); +dojo.event.topic.publish(_f92,data,e,self); } catch(ex){ dojo.debug(ex); diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js.uncompressed.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js.uncompressed.js index 66e5f25c7..9354e2b00 100644 --- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js.uncompressed.js +++ b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js.uncompressed.js @@ -26980,8 +26980,6 @@ dojo.widget.defineWidget( postCreate: function() { struts.widget.StrutsTimePicker.superclass.postCreate.apply(this, arguments); - this.inputNode.name = this.name; - //set cssClass if(this.extraArgs["class"]) { dojo.html.setClass(this.inputNode, this.extraArgs["class"]); @@ -26992,8 +26990,6 @@ dojo.widget.defineWidget( dojo.html.setStyleText(this.inputNode, this.extraArgs.style); } - this.valueNode.name = this.inputName; - //value topics if(!dojo.string.isBlank(this.valueNotifyTopics)) { this.valueNotifyTopicsArray = this.valueNotifyTopics.split(","); @@ -27788,6 +27784,27 @@ dojo.widget.defineWidget( } }, + _syncValueNode:function () { + var date = this.datePicker.value; + var value = ""; + switch (this.saveFormat.toLowerCase()) { + case "rfc": + case "iso": + case "": + value = dojo.date.toRfc3339(date); + break; + case "posix": + case "unix": + value = Number(date); + break; + default: + if (date) { + value = dojo.date.format(date, {datePattern:this.saveFormat, selector:"dateOnly", locale:this.lang}); + } + } + this.valueNode.value = value; + }, + _updateText : function() { struts.widget.StrutsDatePicker.superclass._updateText.apply(this, arguments); if(this.valueNotifyTopicsArray != null) { diff --git a/plugins/dojo/src/main/resources/template/ajax/datetimepicker.ftl b/plugins/dojo/src/main/resources/template/ajax/datetimepicker.ftl index 2a704a7fa..d0b5ee6af 100644 --- a/plugins/dojo/src/main/resources/template/ajax/datetimepicker.ftl +++ b/plugins/dojo/src/main/resources/template/ajax/datetimepicker.ftl @@ -15,8 +15,8 @@ lang="${parameters.language?html}"<#rt/> <#if parameters.name?if_exists != ""> - name="dojo.${parameters.name?html}"<#rt/> - inputName="${parameters.name?html}"<#rt/> + name="${parameters.name?html}"<#rt/> + inputName="dojo.${parameters.name?html}"<#rt/> <#if parameters.displayWeeks?if_exists != ""> displayWeeks="${parameters.displayWeeks?html}"<#rt/> diff --git a/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/DateTimePickerTagTest-1.txt b/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/DateTimePickerTagTest-1.txt index 4578aaad5..a29daa8d6 100644 --- a/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/DateTimePickerTagTest-1.txt +++ b/plugins/dojo/src/test/resources/org/apache/struts2/dojo/views/jsp/ui/DateTimePickerTagTest-1.txt @@ -2,8 +2,8 @@ id="id" value="l" lang="i" - name="dojo.h" - inputName="h" + name="h" + inputName="dojo.h" displayWeeks="true" adjustWeeks="true" startDate="01-01-2007"