|
60 | 60 | <tr class="sel_days"><td>Воскресенье</td><td><input type="checkbox" name="su" value="1"></td></tr> |
61 | 61 | <tr> |
62 | 62 | <td>Мелодия будильника <button onclick="test_ring();return false;" id="ss">проверить</button></td> |
63 | | - <td><input type="number" name="melody" value="1" id="cur" onkeypress="sendTr(event)"> из <span id="col">0</span></td> |
| 63 | + <td> |
| 64 | + <input type="number" name="melody" value="1" id="track" onkeypress="sendTr(event)" onfocus="fl_allowUpdate=false;" onfocusout="fl_allowUpdate=true;"> |
| 65 | + из <span id="col">0</span> |
| 66 | + <input type="hidden" id="cur" name="cur" value="1"> |
| 67 | + </td> |
64 | 68 | </tr> |
65 | 69 | <tr> |
66 | 70 | <td colspan="2"> |
|
97 | 101 | } |
98 | 102 | } |
99 | 103 | var is_play = false; |
| 104 | +var fl_allowUpdate = true; |
| 105 | +function update_info() { |
| 106 | + ajaxRequest("play","POST","p=0", function(ajaxResp) { |
| 107 | + const a = ajaxResp.responseText.split(":"); |
| 108 | + if( a[3] == 0 && is_play ) test_ring(); |
| 109 | + if(fl_allowUpdate) show(a); |
| 110 | + if( a[1] == 0 && ! is_play ) setTimeout(update_info, 2000); |
| 111 | + }, dummy); |
| 112 | + if(is_play) setTimeout(update_info, 2000); |
| 113 | +} |
100 | 114 | function test_ring() { |
101 | 115 | if(is_play) { |
102 | 116 | $g("ss").innerHTML="проверить"; |
103 | 117 | send(6); |
104 | 118 | is_play=false; |
105 | 119 | } else { |
| 120 | + $g("cur").value = $g("track").value; |
106 | 121 | $g("ss").innerHTML="стоп"; |
107 | 122 | send(3); |
108 | 123 | is_play=true; |
| 124 | + setTimeout(update_info, 5000); |
109 | 125 | } |
110 | 126 | } |
111 | 127 | function sendTr(e) { |
|
142 | 158 | var doc = []; |
143 | 159 | function start() { |
144 | 160 | if (typeof ajaxRequest !== "undefined") { |
145 | | - doc = JSON.parse(httpGet("texts.json")); |
146 | | - $g("txt").appendChild($ee("option","_нет_",{value:-1})); |
147 | | - for(var i=0; i<doc.length; i++) |
148 | | - $g("txt").appendChild($ee("option", doc[i].t.length>30 ? doc[i].t.substring(0,17)+"..."+doc[i].t.substring(doc[i].t.length-10): doc[i].t, {value:i})); |
149 | | - doc = JSON.parse(httpGet("alarms.json")); |
150 | | - var li = $g("list_items"); |
151 | | - for(var i=0; i<doc.length; i++) { |
152 | | - var sp1 = $ee("span",print_time(i),{class:"big"}); |
153 | | - var sp2 = $e("span",{class:"small"}); |
154 | | - if(doc[i].s & 128) { |
155 | | - sp2.innerHTML = " Каждый день"; |
156 | | - } else if(doc[i].s & 256) { |
157 | | - var days = ["Вс","Пн","Вт","Ср","Чт","Пт","Сб"]; |
158 | | - var bit = 2; |
159 | | - for(var t=1; t<7; t++) { |
160 | | - if(doc[i].s & bit) sp2.innerHTML += " "+days[t]; |
161 | | - bit = bit << 1; |
| 161 | + ajaxRequest("texts.json","GET",null, function(ajaxResp) { |
| 162 | + doc = JSON.parse(ajaxResp.responseText); |
| 163 | + $g("txt").appendChild($ee("option","_нет_",{value:-1})); |
| 164 | + for(var i=0; i<doc.length; i++) |
| 165 | + $g("txt").appendChild($ee("option", doc[i].t.length>30 ? doc[i].t.substring(0,17)+"..."+doc[i].t.substring(doc[i].t.length-10): doc[i].t, {value:i})); |
| 166 | + ajaxRequest("alarms.json","GET",null, function(ajaxResp) { |
| 167 | + doc = JSON.parse(ajaxResp.responseText); |
| 168 | + var li = $g("list_items"); |
| 169 | + for(var i=0; i<doc.length; i++) { |
| 170 | + var sp1 = $ee("span",print_time(i),{class:"big"}); |
| 171 | + var sp2 = $e("span",{class:"small"}); |
| 172 | + if(doc[i].s & 128) { |
| 173 | + sp2.innerHTML = " Каждый день"; |
| 174 | + } else if(doc[i].s & 256) { |
| 175 | + var days = ["Вс","Пн","Вт","Ср","Чт","Пт","Сб"]; |
| 176 | + var bit = 2; |
| 177 | + for(var t=1; t<7; t++) { |
| 178 | + if(doc[i].s & bit) sp2.innerHTML += " "+days[t]; |
| 179 | + bit = bit << 1; |
| 180 | + } |
| 181 | + if(doc[i].s & 1) sp2.innerHTML += " "+days[0]; |
| 182 | + } else { |
| 183 | + sp2.innerHTML = " Один раз"; |
| 184 | + } |
| 185 | + var fl = doc[i].s & 512; |
| 186 | + var td1 = $em("td",[sp1,sp2],{class:(fl?"on":"off"),id:"t"+i,onclick:"show_edit("+i+")"}); |
| 187 | + var input = $e("input",{type:"checkbox",id:"e"+i,onchange:"toggle_edit("+i+",0)"}); |
| 188 | + if(fl) input.checked = true; |
| 189 | + li.appendChild($em("tr",[td1,$ee("td",input)])); |
162 | 190 | } |
163 | | - if(doc[i].s & 1) sp2.innerHTML += " "+days[0]; |
164 | | - } else { |
165 | | - sp2.innerHTML = " Один раз"; |
166 | | - } |
167 | | - var fl = doc[i].s & 512; |
168 | | - var td1 = $em("td",[sp1,sp2],{class:(fl?"on":"off"),id:"t"+i,onclick:"show_edit("+i+")"}); |
169 | | - var input = $e("input",{type:"checkbox",id:"e"+i,onchange:"toggle_edit("+i+",0)"}); |
170 | | - if(fl) input.checked = true; |
171 | | - li.appendChild($em("tr",[td1,$ee("td",input)])); |
172 | | - } |
173 | | - show(httpGet("play").split(":")); |
174 | | - $g("shadow").style.display = "none"; |
| 191 | + update_info(); |
| 192 | + $g("shadow").style.display = "none"; |
| 193 | + }, dummy); |
| 194 | + }, dummy); |
175 | 195 | } else setTimeout(start, 100); |
176 | 196 | } |
177 | 197 | start(); |
|
0 commit comments