1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
\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
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
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
31 var chlistPaneTE=dojo.byId("progTableTE");
\r
32 var chlistPaneBS=dojo.byId("progTableBS");
\r
33 var chlistPaneCS=dojo.byId("progTableCS");
\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
50 chlistPaneTE.appendChild(child.domNode);
\r
54 error: function(error,args) {
\r
55 console.warn("error!",error);
\r
59 function changeTab(tabid){
\r
60 dijit.byId("main_tab").selectChild(dijit.byId(tabid));
\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
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
70 function dt2DateTime(tt){
\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
81 function calcMaxHeight(parentid,chlists,bt,et,fontsize){
\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
89 url:"timetable.json",
\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
109 baseForm.removeChild(node);
\r
112 error: function(error,args) {
\r
113 console.warn("error!",error);
\r
116 //console.log(maxH);
\r
117 //console.log(tempH);
\r
125 function showTimeTableSingleCH(parentid,ch,bt,et,fontsize,maxsize){
\r
126 var thisMaxheight=calcMaxHeight(parentid,[ch,],bt,et,fontsize);
\r
128 url:"timetable.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
157 baseForm.removeChild(node);
\r
160 error: function(error,args) {
\r
161 console.warn("error!",error);
\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
172 if (bt.getMinutes()>30){
\r
178 if (et.getMinutes()>30){
\r
180 et=dojo.date.add(et, "minute", 30);
\r
184 var dt=dojo.date.difference(bt,et,"minute");
\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
193 //showTimeTableSingleCH("timetable-id"+j,chlists[j],nbt,net,fontsize,theight);
\r
197 nbt=dojo.date.add(nbt,"minute",30);
\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
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
227 <div dojoType="dijit.layout.ContentPane" title="予約">
\r
228 <div dojoType="dijit.form.Button" id="simpleReserveButton" label="新規予約" onclick=changeTab("tab_newreserve")></div>
\r
230 <div dojoType="dijit.layout.ContentPane" title="設定">
\r
232 <div dojoType="dijit.layout.ContentPane" title="その他">
\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
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
244 <div dojoType="dijit.layout.ContentPane" title="番組検索">
\r
245 Lorem ipsum and all around - second...
\r
247 <div dojoType="dijit.layout.ContentPane" id="tab_newreserve" title="新規予約">
\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
255 <div dojoType="dijit.form.TextBox" id="newreserve_title" style="width:30%"></div><br>
\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
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
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
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
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
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
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