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 new file mode 100644 index 000000000..d24e911ae --- /dev/null +++ b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/StrutsDatePicker.js @@ -0,0 +1,23 @@ +dojo.provide("struts.widget.StrutsDatePicker"); + +dojo.require("dojo.widget.DropdownDatePicker"); + +dojo.widget.defineWidget( + "struts.widget.StrutsDatePicker", + dojo.widget.DropdownDatePicker, { + widgetType : "StrutsDatePicker", + + postCreate: function() { + struts.widget.StrutsDatePicker.superclass.postCreate.apply(this, arguments); + + //set cssClass + if(this.extraArgs.class) { + dojo.html.setClass(this.inputNode, this.extraArgs.class); + } + + //set cssStyle + if(this.extraArgs.style) { + dojo.html.setStyleText(this.inputNode, this.extraArgs.style); + } + }, +}); \ No newline at end of file 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 374995e03..b4a0560cf 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 @@ -1,5 +1,5 @@ //If we use "TimePicker" for the name, Dojo get's confused and breaks -//TODO remove this file on nect Dojo release +//TODO remove this file on next Dojo release dojo.provide("struts.widget.StrutsTimePicker"); @@ -8,7 +8,7 @@ dojo.require("dojo.widget.DropdownTimePicker"); dojo.widget.defineWidget( "struts.widget.StrutsTimePicker", dojo.widget.DropdownTimePicker, { - widgetType : "TimePicker", + widgetType : "StrutsTimePicker", inputName: "", name: "", @@ -21,6 +21,17 @@ dojo.widget.defineWidget( } this.inputNode.name = this.name; + + //set cssClass + if(this.extraArgs.class) { + dojo.html.setClass(this.inputNode, this.extraArgs.class); + } + + //set cssStyle + if(this.extraArgs.style) { + dojo.html.setStyleText(this.inputNode, this.extraArgs.style); + } + this.valueNode.name = this.inputName; }, diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/__package__.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/__package__.js index 04cea85dd..14d1127ba 100644 --- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/__package__.js +++ b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/struts/widget/__package__.js @@ -3,6 +3,7 @@ dojo.kwCompoundRequire({ "struts.widget.BindDiv", "struts.widget.BindAnchor", "struts.widget.ComboBox", - "struts.widget.StrutsTimePicker"] + "struts.widget.StrutsTimePicker", + "struts.widget.StrutsDatePicker"] }); dojo.provide("struts.widget.*"); diff --git a/plugins/dojo/src/main/resources/template/ajax/datetimepicker.ftl b/plugins/dojo/src/main/resources/template/ajax/datetimepicker.ftl index cf151588a..68a27deef 100644 --- a/plugins/dojo/src/main/resources/template/ajax/datetimepicker.ftl +++ b/plugins/dojo/src/main/resources/template/ajax/datetimepicker.ftl @@ -1,10 +1,7 @@ - <#include "/${parameters.templateDir}/ajax/controlheader.ftl" />
- dojoType="dropdowndatepicker"<#rt/> + dojoType="struts:StrutsDatePicker"<#rt/> <#else> dojoType="struts:StrutsTimePicker"<#rt/> diff --git a/plugins/dojo/src/main/resources/template/ajax/dojoRequire.js b/plugins/dojo/src/main/resources/template/ajax/dojoRequire.js index 1c335943c..822ca7126 100644 --- a/plugins/dojo/src/main/resources/template/ajax/dojoRequire.js +++ b/plugins/dojo/src/main/resources/template/ajax/dojoRequire.js @@ -10,5 +10,6 @@ dojo.require("struts.widget.BindDiv"); dojo.require("struts.widget.BindAnchor"); dojo.require("struts.widget.ComboBox"); dojo.require("struts.widget.StrutsTimePicker") +dojo.require("struts.widget.StrutsDatePicker") dojo.require("dojo.widget.Editor2"); dojo.hostenv.writeIncludes(); // not needed, but allows the Venkman debugger to work with the includes 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 b264ba261..9c2b6b472 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 @@ -1,8 +1,4 @@ - - -