1 | <!DOCTYPE html> |
---|
2 | <html> |
---|
3 | <head> |
---|
4 | <meta http-equiv="Content-type" content="text/html; charset=utf-8"/> |
---|
5 | <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no"/> |
---|
6 | <meta name="apple-mobile-web-app-capable" content="yes"/> |
---|
7 | <title>ValuePicker on SimpleDialog</title> |
---|
8 | |
---|
9 | <script type="text/javascript" src="../deviceTheme.js" data-dojo-config="mblThemeFiles: ['base','SimpleDialog','ValuePicker']"></script> |
---|
10 | <script type="text/javascript" src="../../../dojo/dojo.js" data-dojo-config="async: true, parseOnLoad: true"></script> |
---|
11 | |
---|
12 | <script type="text/javascript"> |
---|
13 | require([ |
---|
14 | "dojo/date/locale", |
---|
15 | "dojo/dom", |
---|
16 | "dojo/ready", |
---|
17 | "dijit/registry", |
---|
18 | "dojox/mobile/ProgressIndicator", |
---|
19 | "dojox/mobile/parser", |
---|
20 | "dojox/mobile", |
---|
21 | "dojox/mobile/compat", |
---|
22 | "dojox/mobile/SimpleDialog", |
---|
23 | "dojox/mobile/Button", |
---|
24 | "dojox/mobile/ValuePickerDatePicker", |
---|
25 | "dojox/mobile/ValuePickerTimePicker" |
---|
26 | ], function(locale, dom, ready, registry, ProgressIndicator){ |
---|
27 | var date; |
---|
28 | show = function(dlg){ |
---|
29 | if(dlg == "dlg1"){ |
---|
30 | date = registry.byId("picker1").get("values"); |
---|
31 | }else if(dlg == "dlg2"){ |
---|
32 | date = registry.byId("picker2").get("values"); |
---|
33 | } |
---|
34 | registry.byId(dlg).show(); |
---|
35 | }; |
---|
36 | hide = function(dlg){ |
---|
37 | registry.byId(dlg).hide(); |
---|
38 | }; |
---|
39 | cancel = function(dlg){ |
---|
40 | if(dlg == "dlg1"){ |
---|
41 | registry.byId("picker1").set("values", date); |
---|
42 | }else if(dlg == "dlg2"){ |
---|
43 | registry.byId("picker2").set("values", date); |
---|
44 | } |
---|
45 | registry.byId(dlg).show(); |
---|
46 | hide(dlg); |
---|
47 | }; |
---|
48 | |
---|
49 | // Dialog Box |
---|
50 | updateDateDialog = function(){ |
---|
51 | var d = registry.byId("picker1").get("date"); |
---|
52 | if(d){ |
---|
53 | dom.byId("msg1").innerHTML = |
---|
54 | locale.format(d, {formatLength:"full",selector:"date"}); |
---|
55 | } |
---|
56 | }; |
---|
57 | updateTimeDialog = function(){ |
---|
58 | var d = registry.byId("picker2").get("date"); |
---|
59 | if(d){ |
---|
60 | dom.byId("msg2").innerHTML = |
---|
61 | locale.format(d, {timePattern:is24h?"H:mm":"h:mm a",selector:"time"}); |
---|
62 | } |
---|
63 | }; |
---|
64 | onValueChanged1 = function(){ |
---|
65 | updateDateDialog(); |
---|
66 | }; |
---|
67 | onValueChanged2 = function(){ |
---|
68 | updateTimeDialog(); |
---|
69 | }; |
---|
70 | |
---|
71 | |
---|
72 | // ListItem |
---|
73 | updateDateListItem = function(){ |
---|
74 | var d = registry.byId("picker1").get("date"); |
---|
75 | if(d){ |
---|
76 | dom.byId("dateMsg").innerHTML = |
---|
77 | locale.format(d, {formatLength:"short",selector:"date"}); |
---|
78 | } |
---|
79 | }; |
---|
80 | updateTimeListItem = function(){ |
---|
81 | var d = registry.byId("picker2").get("date"); |
---|
82 | if(d){ |
---|
83 | dom.byId("timeMsg").innerHTML = |
---|
84 | locale.format(d, {timePattern:is24h?"H:mm":"h:mm a",selector:"time"}); |
---|
85 | } |
---|
86 | }; |
---|
87 | |
---|
88 | setDate = function(){ |
---|
89 | updateDateListItem(); |
---|
90 | hide('dlg1'); |
---|
91 | }; |
---|
92 | setTime = function(){ |
---|
93 | updateTimeListItem(); |
---|
94 | hide('dlg2'); |
---|
95 | }; |
---|
96 | |
---|
97 | is24h = true; |
---|
98 | use24h = function(){ |
---|
99 | var listItem = registry.byId("item1") |
---|
100 | if(is24h){ |
---|
101 | listItem.set("rightIcon", "mblDomButtonCheckboxOff"); |
---|
102 | dom.byId("use24hMsg").innerHTML = "1:00 pm"; |
---|
103 | registry.byId("picker2").set("is24h", false); |
---|
104 | }else{ |
---|
105 | listItem.set("rightIcon", "mblDomButtonCheckboxOn"); |
---|
106 | dom.byId("use24hMsg").innerHTML = "13:00"; |
---|
107 | registry.byId("picker2").set("is24h", true); |
---|
108 | } |
---|
109 | is24h = !is24h; |
---|
110 | updateTimeDialog(); |
---|
111 | updateTimeListItem(); |
---|
112 | }; |
---|
113 | |
---|
114 | ready(function(){ |
---|
115 | updateDateListItem(); |
---|
116 | updateTimeListItem(); |
---|
117 | // show("dlg1"); |
---|
118 | }) |
---|
119 | }); |
---|
120 | |
---|
121 | </script> |
---|
122 | |
---|
123 | <style> |
---|
124 | .mblValuePicker { |
---|
125 | display: inline-block; /* to align center */ |
---|
126 | } |
---|
127 | #dlg1, #dlg2 { |
---|
128 | width: 300px; |
---|
129 | padding: 0; |
---|
130 | } |
---|
131 | span.dlgBtn { |
---|
132 | padding: 0; |
---|
133 | width: 130px; |
---|
134 | } |
---|
135 | .subtitle { |
---|
136 | color: #00e7e6; |
---|
137 | font-size: 12px; |
---|
138 | } |
---|
139 | </style> |
---|
140 | </head> |
---|
141 | <body style="visibility:hidden;"> |
---|
142 | <div id="dlg1" data-dojo-type="dojox.mobile.SimpleDialog"> |
---|
143 | <div style="text-align:left;margin:6px"> |
---|
144 | <img src="images/tab-icon-19.png" style="vertical-align:middle"> |
---|
145 | <span id="msg1"></span> |
---|
146 | </div> |
---|
147 | <div id="picker1" data-dojo-type="dojox.mobile.ValuePickerDatePicker" data-dojo-props="onValueChanged:onValueChanged1"></div> |
---|
148 | <div style="background-color:#bdbabd;margin-top:6px;"> |
---|
149 | <span data-dojo-type="dojox.mobile.ToolBarButton" class="dlgBtn" onclick="setDate()">Set</span> |
---|
150 | <span data-dojo-type="dojox.mobile.ToolBarButton" class="dlgBtn" onclick="cancel('dlg1')">Cancel</span> |
---|
151 | </div> |
---|
152 | </div> |
---|
153 | |
---|
154 | <div id="dlg2" data-dojo-type="dojox.mobile.SimpleDialog"> |
---|
155 | <div style="text-align:left;margin:6px"> |
---|
156 | <img src="images/tab-icon-19.png" style="vertical-align:middle"> |
---|
157 | <span id="msg2"></span> |
---|
158 | </div> |
---|
159 | <div id="picker2" data-dojo-type="dojox.mobile.ValuePickerTimePicker" data-dojo-props="is24h:true,onValueChanged:onValueChanged2"></div> |
---|
160 | <div style="background-color:#bdbabd;margin-top:6px;"> |
---|
161 | <span data-dojo-type="dojox.mobile.ToolBarButton" class="dlgBtn" onclick="setTime()">Set</span> |
---|
162 | <span data-dojo-type="dojox.mobile.ToolBarButton" class="dlgBtn" onclick="cancel('dlg2')">Cancel</span> |
---|
163 | </div> |
---|
164 | </div> |
---|
165 | |
---|
166 | <div id="view" data-dojo-type="dojox.mobile.View"> |
---|
167 | <ul data-dojo-type="dojox.mobile.EdgeToEdgeList" data-dojo-props='variableHeight:true'> |
---|
168 | <li data-dojo-type="dojox.mobile.ListItem" |
---|
169 | data-dojo-props='clickable:true,noArrow:true,onClick:function(){show("dlg1")}'> |
---|
170 | Set date |
---|
171 | <div id="dateMsg" class="subtitle">2012/02/23</div> |
---|
172 | </li> |
---|
173 | <li data-dojo-type="dojox.mobile.ListItem" |
---|
174 | data-dojo-props='clickable:true,noArrow:true,onClick:function(){show("dlg2")}'> |
---|
175 | Set time |
---|
176 | <div id="timeMsg" class="subtitle">22:34</div> |
---|
177 | </li> |
---|
178 | <li id="item1" data-dojo-type="dojox.mobile.ListItem" |
---|
179 | data-dojo-props='clickable:true,noArrow:true,rightIcon:"mblDomButtonCheckboxOn",onClick:function(){use24h()}'> |
---|
180 | Use 24-hour format |
---|
181 | <div id="use24hMsg" class="subtitle">13:00</div> |
---|
182 | </li> |
---|
183 | </ul> |
---|
184 | </div> |
---|
185 | </body> |
---|
186 | </html> |
---|