OSDN Git Service

add rec10webg3.
[rec10/rec10-git.git] / Rec10WEBG3 / trunk / rec10webg3.htm
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\r
2 <html dir="ltr">\r
3     <head>\r
4         <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
5         <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.5/dijit/themes/claro/claro.css">\r
6                 <!--<link rel="stylesheet" type="text/css" href="./dojo-release-1.5.0/dijit/themes/claro/claro.css">-->\r
7         <style type="text/css">\r
8             body, html { font-family:helvetica,arial,sans-serif; font-size:90%; }\r
9         </style>\r
10         <style type="text/css">\r
11             html, body { width: 100%; height: 100%; margin: 0; overflow:hidden; }\r
12             #borderContainerTwo { width: 100%; height: 100%; }\r
13         </style>\r
14                 <title>Rec10Suite 0.0.1</title>\r
15                 <script src="http://ajax.googleapis.com/ajax/libs/dojo/1.5/dojo/dojo.xd.js" type="text/javascript" djConfig="parseOnLoad : true, isDebug : true"></script>\r
16                 <!--<script src="./dojo-release-1.5.0/dojo/dojo.js" type="text/javascript" djConfig="parseOnLoad : true, isDebug : true"></script>-->\r
17                 <script type="text/javascript">\r
18                 dojo.require("dijit.layout.ContentPane");\r
19                 dojo.require("dijit.layout.TabContainer");\r
20                 dojo.require("dijit.layout.AccordionContainer");\r
21                         dojo.require("dijit.layout.BorderContainer");\r
22                         dojo.require("dojo.data.ItemFileReadStore");\r
23                         dojo.require("dijit.form.FilteringSelect");\r
24                         dojo.require("dijit.form.DateTextBox");\r
25                         dojo.require("dijit.form.TimeTextBox");\r
26                         dojo.require("dijit.form.HorizontalSlider");\r
27                         dojo.require("dijit.form.HorizontalRuleLabels");\r
28                         dojo.require("dojo.date");\r
29                         dojo.require("dojo.date.locale");\r
30                         function readCh(){\r
31                                 var chlistPaneTE=dojo.byId("progTableTE");\r
32                                 var chlistPaneBS=dojo.byId("progTableBS");\r
33                                 var chlistPaneCS=dojo.byId("progTableCS");\r
34                                 dojo.xhrGet({\r
35                                         url:"chlist.json",\r
36                                         handleAs: "json",\r
37                                         load: function(data,ioargs){\r
38                                                 //console.log("res=", data['items']);\r
39                                                 for (i=0;i<data['items'].length;i++){\r
40                                                         var node = document.createElement("div");\r
41                                                         var child = new dijit.form.ToggleButton\r
42                                                                 ( {id: data['items'][i]["name"], \r
43                                                                 label: data['items'][i]["label"],\r
44                                                                 iconClass: "dijitCheckBoxIcon" },node );\r
45                                                         if (data['items'][i]['type']=="bs"){\r
46                                                                 chlistPaneBS.appendChild(child.domNode);\r
47                                                         }else if (data['items'][i]['type']=="cs"){\r
48                                                                 chlistPaneCS.appendChild(child.domNode);\r
49                                                         }else {\r
50                                                                 chlistPaneTE.appendChild(child.domNode);\r
51                                                         }\r
52                                                 }; \r
53                                         },\r
54                                         error: function(error,args) {\r
55                                           console.warn("error!",error);\r
56                                         }\r
57                                 });\r
58                         };\r
59                         function changeTab(tabid){\r
60                                 dijit.byId("main_tab").selectChild(dijit.byId(tabid));\r
61                         }\r
62                         function setFilteringSelectValue(dijitid){\r
63                                 console.warn("test");\r
64                                 dijit.byId(dijitid).set('value',dijit.byId(dijitid).store._arrayOfAllItems[0]['id']);\r
65                         }\r
66                         function DateTime2dt(ttime){\r
67                                 var tt=new Date(parseInt(ttime.substring(0,4)),parseInt(ttime.substring(5,7)),parseInt(ttime.substring(8,10)),parseInt(ttime.substring(11,13)),parseInt(ttime.substring(14,16),0));\r
68                                 return tt\r
69                         }\r
70                         function dt2DateTime(tt){\r
71                                 function get2(t){\r
72                                         if (t<10){\r
73                                                 return "0"+t\r
74                                         }else{\r
75                                                 return t\r
76                                         }\r
77                                 }\r
78                                 var month=parseInt(tt.getMonth());\r
79                                 return tt.getFullYear()+"-"+get2(month)+"-"+get2(tt.getDate())+"T"+get2(tt.getHours())+":"+get2(tt.getMinutes())+":"+get2(tt.getSeconds());\r
80                         }\r
81                         function calcMaxHeight(parentid,chlists,bt,et,fontsize){\r
82                                 var maxH=0;\r
83                                 var tempH=0;\r
84                                 for (ch in chlists){\r
85                                         var chnode=dojo.doc.createElement("div");\r
86                                         chnode.setAttribute("style","width:100%;");\r
87                                         //chnode.setAttribute("id",data['items'][i]['id']);\r
88                                         dojo.xhrGet({\r
89                                                 url:"timetable.json",\r
90                                                 handleAs: "json",\r
91                                                 sync: true,\r
92                                                 load: function(data,ioargs){\r
93                                                         var baseForm=dojo.byId(parentid);\r
94                                                         for (i=0;i<data['items'].length;i++){\r
95                                                                 var node = dojo.doc.createElement("div");\r
96                                                                 node.setAttribute("style","border:3px solid #CCC;width:100%;");\r
97                                                                 node.setAttribute("id",data['items'][i]['id']);\r
98                                                                 var nodetitle = dojo.doc.createElement("h5");\r
99                                                                 var node_str = dojo.doc.createTextNode(data['items'][i]['min']+" : "+data['items'][i]['title']);\r
100                                                                 var node_str_desc = dojo.doc.createTextNode(data['items'][i]['desc']);\r
101                                                                 nodetitle.appendChild(node_str);\r
102                                                                 node.appendChild(nodetitle);\r
103                                                                 node.appendChild(node_str_desc);\r
104                                                                 baseForm.appendChild(node);\r
105                                                                 tempH=tempH+node.clientHeight;\r
106                                                                 if (maxH<tempH){\r
107                                                                         maxH=tempH;\r
108                                                                 }\r
109                                                                 baseForm.removeChild(node);\r
110                                                         }; \r
111                                                 },\r
112                                                 error: function(error,args) {\r
113                                                   console.warn("error!",error);\r
114                                                 }\r
115                                         });\r
116                                         //console.log(maxH);\r
117                                         //console.log(tempH);\r
118                                         if (maxH<tempH){\r
119                                                 maxH=tempH;\r
120                                         }\r
121                                         tempH=0;\r
122                                 }\r
123                                 return maxH;\r
124                         }\r
125                         function showTimeTableSingleCH(parentid,ch,bt,et,fontsize,maxsize){\r
126                                 var thisMaxheight=calcMaxHeight(parentid,[ch,],bt,et,fontsize);\r
127                                 dojo.xhrGet({\r
128                                         url:"timetable.json",\r
129                                         handleAs: "json",\r
130                                         load: function(data,ioargs){\r
131                                                 var baseForm=dojo.byId(parentid);\r
132                                                 console.dir(baseForm);\r
133                                                 for (i=0;i<data['items'].length;i++){\r
134                                                         var node = dojo.doc.createElement("div");\r
135                                                         node.setAttribute("style","border:3px solid #FFFFFF;width:100%;");\r
136                                                         node.setAttribute("id",data['items'][i]['id']+"_test");\r
137                                                         var nodetitle = dojo.doc.createElement("h5");\r
138                                                         var node_str = dojo.doc.createTextNode(data['items'][i]['min']+" : "+data['items'][i]['title']);\r
139                                                         var node_str_desc = dojo.doc.createTextNode(data['items'][i]['desc']);\r
140                                                         nodetitle.appendChild(node_str);\r
141                                                         node.appendChild(nodetitle);\r
142                                                         node.appendChild(node_str_desc);\r
143                                                         baseForm.appendChild(node);\r
144                                                         var h=node.clientHeight;\r
145                                                         baseForm.removeChild(node);\r
146                                                         node = dojo.doc.createElement("div");\r
147                                                         node.setAttribute("style","border:3px solid #CCC;width:100%;height:"+h*maxsize/thisMaxheight+"");\r
148                                                         node.setAttribute("id",data['items'][i]['id']);\r
149                                                         nodetitle = dojo.doc.createElement("h5");\r
150                                                         node_str = dojo.doc.createTextNode(data['items'][i]['min']+" : "+data['items'][i]['title']);\r
151                                                         node_str_desc = dojo.doc.createTextNode(data['items'][i]['desc']);\r
152                                                         nodetitle.appendChild(node_str);\r
153                                                         node.appendChild(nodetitle);\r
154                                                         node.appendChild(node_str_desc);\r
155                                                         baseForm.appendChild(node);\r
156                                                         console.log(h)\r
157                                                         baseForm.removeChild(node);\r
158                                                 }; \r
159                                         },\r
160                                         error: function(error,args) {\r
161                                           console.warn("error!",error);\r
162                                         }\r
163                                 });\r
164                         }\r
165                         function showTimeTable(parentid,chlists,btime,etime,fontsize){\r
166                                 var widthp=Math.floor(100/chlists.length);\r
167                                 var every_width=20;\r
168                                 var timetabelArray= new Array();\r
169                                 var bt=new Date(parseInt(btime.substring(0,4)),parseInt(btime.substring(5,7)),parseInt(btime.substring(8,10)),parseInt(btime.substring(11,13)),parseInt(btime.substring(14,16),0));\r
170                                 var et=new Date(parseInt(etime.substring(0,4)),parseInt(etime.substring(5,7)),parseInt(etime.substring(8,10)),parseInt(etime.substring(11,13)),parseInt(etime.substring(14,16),0));\r
171                                 bt.setSeconds(0);\r
172                                 if (bt.getMinutes()>30){\r
173                                         bt.setMinutes(30);\r
174                                 }else{\r
175                                         bt.setMinutes(0);\r
176                                 }\r
177                                 et.setSeconds(0);\r
178                                 if (et.getMinutes()>30){\r
179                                         et.setMinutes(30);\r
180                                         et=dojo.date.add(et, "minute", 30);\r
181                                 }else{\r
182                                         et.setMinutes(30);\r
183                                 }\r
184                                 var dt=dojo.date.difference(bt,et,"minute");\r
185                                 var nbt=bt;\r
186                                 while(dt>i){\r
187                                         net=dojo.date.add(nbt,"minute",30);\r
188                                         var theight=calcMaxHeight("timetable-id0",chlists,dt2DateTime(nbt),dt2DateTime(net),fontsize);\r
189                                         console.log(theight)\r
190                                         for (j=0;j<chlists.length;j++){\r
191                                                 if (j>2){\r
192                                                         j=chlists.length;\r
193                                                         //showTimeTableSingleCH("timetable-id"+j,chlists[j],nbt,net,fontsize,theight);\r
194                                                 }\r
195                                         }\r
196                                         i=i+30;\r
197                                         nbt=dojo.date.add(nbt,"minute",30);\r
198                                         \r
199                                 }\r
200                         }\r
201                         dojo.addOnLoad\r
202                         (\r
203                             function(){\r
204                                         readCh();\r
205                                 }\r
206                         );\r
207         </script>\r
208     </head>\r
209     \r
210     <body class=" claro ">\r
211         <div dojoType="dijit.layout.BorderContainer" gutters="true" id="borderContainerTwo">\r
212             <div dojoType="dijit.layout.ContentPane" region="top" splitter="false">\r
213                 Rec10Suite WEB Interface version 0.0.1\r
214             </div>\r
215             <div dojoType="dijit.layout.BorderContainer" liveSplitters="false" design="sidebar"\r
216             region="center" id="mainSplit">\r
217                 <div dojoType="dijit.layout.AccordionContainer" minSize="20" style="width: 300px;"\r
218                 id="leftMainAccordion" region="leading" splitter="true">\r
219                     <div dojoType="dijit.layout.ContentPane" title="番組表" selected="true">\r
220                         <div dojoType="dijit.layout.AccordionContainer" minSize="20" style="width: 100%;"\r
221                                 id="leftProgramTabTE" region="leading" splitter="true">\r
222                                                         <div dojoType="dijit.layout.BorderContainer" id="progTableTE" title="地上派" selected="true"></div>\r
223                                                         <div dojoType="dijit.layout.BorderContainer" id="progTableBS" title="BS"></div>\r
224                                                         <div dojoType="dijit.layout.BorderContainer" id="progTableCS" title="CS"></div>\r
225                                                 </div>\r
226                     </div>\r
227                     <div dojoType="dijit.layout.ContentPane" title="予約">\r
228                                                 <div dojoType="dijit.form.Button" id="simpleReserveButton" label="新規予約" onclick=changeTab("tab_newreserve")></div>\r
229                     </div>\r
230                     <div dojoType="dijit.layout.ContentPane" title="設定">\r
231                     </div>\r
232                     <div dojoType="dijit.layout.ContentPane" title="その他">\r
233                     </div>\r
234                 </div>\r
235                 <div dojoType="dijit.layout.TabContainer" id="main_tab" region="center" tabStrip="true">\r
236                     <div dojoType="dijit.layout.ContentPane" title="番組表" selected="true">\r
237                                 <div dojoType="dijit.layout.BorderContainer" id="timetableContainer" design="sidebar" style="width:100%;height:98%;" gutters="true">\r
238                                                                 <div dojoType="dijit.layout.ContentPane" id="timetable-id0" region="left" style="width:30%"></div>\r
239                                                                 <div dojoType="dijit.layout.ContentPane" id="timetable-id1" region="center"></div>\r
240                                                                 <div dojoType="dijit.layout.ContentPane" id="timetable-id2" region="right" style="width:30%"></div>\r
241                                                         </div>\r
242                                                         <div dojoType="dijit.form.Button" onClick=showTimeTable("timetableContainer",["tb1","tb2","tb3"],"2001-01-01T12:00:00","2001-01-01T13:15:00",5)></div>\r
243                     </div>\r
244                     <div dojoType="dijit.layout.ContentPane" title="番組検索">\r
245                         Lorem ipsum and all around - second...\r
246                     </div>\r
247                     <div dojoType="dijit.layout.ContentPane" id="tab_newreserve" title="新規予約">\r
248                                 <h2>新規予約</h2><br>\r
249                                                         <p>\r
250                                                         <div dojoType="dojo.data.ItemFileReadStore" jsId="chlistStore"\r
251                                                 url="chlist.json"></div>\r
252                                                         <div dojoType="dojo.data.ItemFileReadStore" jsId="dbtypeStore"\r
253                                                 url="typelist.json" ></div>\r
254                                                                 <h3>タイトル:</h3>\r
255                                                                 <div dojoType="dijit.form.TextBox" id="newreserve_title" style="width:30%"></div><br>\r
256                                                         </p>\r
257                                                         <p>\r
258                                                                 <h3>詳細設定</h3>\r
259                                                                 コマンド:\r
260                                                                 <div dojoType="dijit.form.FilteringSelect" id="newreserve_dbtype_list" \r
261                                                                         autoComplete="true" store="dbtypeStore" searchAttr= "label" \r
262                                                                         onShow="setFilteringSelectValue('newreserve_dbtype_list')"></div>\r
263                                                                 チャンネル:\r
264                                                                 <div dojoType="dijit.form.FilteringSelect" id="newreserve_ch_list" \r
265                                                                         autoComplete="true" store="chlistStore" searchAttr= "label" \r
266                                                                         onShow="setFilteringSelectValue('newreserve_ch_list')"></div><br>\r
267                                                                 <p>\r
268                                                                         <h4>時刻設定</h4>\r
269                                                                         開始時間:\r
270                                                                         <div dojoType="dijit.form.DateTextBox" id="newreserve_bdata" constraints="{datePattern:'yyyy-MM-dd'}"></div>\r
271                                                                         <div dojoType="dijit.form.TimeTextBox" id="newreserve_btime"></div><br>\r
272                                                                         終了時間:\r
273                                                                         <div dojoType="dijit.form.DateTextBox" id="newreserve_edata" constraints="{datePattern:'yyyy-MM-dd'}"></div>\r
274                                                                         <div dojoType="dijit.form.TimeTextBox" id="newreserve_etime"></div><br><br>\r
275                                                                         <p>\r
276                                                                         隔日検索:\r
277                                                                         <div dojoType="dijit.form.HorizontalSlider" id="newreserve_deladay" \r
278                                                                         minimum="1" maximum="7" value="7" discreteValues="7"\r
279                                                                          intermediateChanges="true" style="width:300px">\r
280                                                                                 <ol dojoType="dijit.form.HorizontalRuleLabels">\r
281                                                                                         <li>1</li><li>2</li><li>3</li><li>4</li><li>5</li>\r
282                                                                                         <li>6</li><li>7</li>\r
283                                                                                 </ol>\r
284                                                                          </div><br>\r
285                                                                          時刻揺らぎ:\r
286                                                                          <div dojoType="dijit.form.HorizontalSlider" id="newreserve_delatime" \r
287                                                                         minimum="1" maximum="10" value="3" discreteValues="10"\r
288                                                                          intermediateChanges="true" style="width:300px">\r
289                                                                                 <ol dojoType="dijit.form.HorizontalRuleLabels">\r
290                                                                                         <li>1</li><li>2</li><li>3</li><li>4</li><li>5</li>\r
291                                                                                         <li>6</li><li>7</li><li>8</li><li>9</li><li>10</li>\r
292                                                                                 </ol>\r
293                                                                          </div>\r
294                                                                          </p>\r
295                                                                 </p>\r
296                                                         </p>\r
297                                                         <div dojoType="dijit.form.Button" onClick=showTimeTable("tab_newreserve",["tb1","tb2"],"2001-01-01T12:00:00","2001-01-01T13:15:00",5)></div>\r
298                     </div>\r
299                 </div>\r
300             </div>\r
301         </div>\r
302     </body>\r
303 </html>\r