Skip to content

Commit 76f8444

Browse files
committed
Adding _webui_listener_handler
1 parent db0a6b6 commit 76f8444

File tree

1 file changed

+79
-18
lines changed

1 file changed

+79
-18
lines changed

src/webui.cpp

Lines changed: 79 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,8 @@ namespace webui {
114114
115115
if(_webui_log)
116116
console.log('WebUI -> Connected');
117+
118+
_webui_listener();
117119
};
118120
119121
_webui_ws.onerror = function(){
@@ -254,7 +256,7 @@ namespace webui {
254256
}
255257
}
256258
257-
function SendEvent(name){
259+
function _webui_SendEvent(name){
258260
259261
if(_webui_ws_status && name != ''){
260262
@@ -282,56 +284,115 @@ namespace webui {
282284
}
283285
}
284286
285-
window.addEventListener("load",function(){
287+
function _webui_listener_handler(){
286288
287289
var elems = document.getElementsByTagName("form");
288290
for (i = 0; i < elems.length; i++){
289-
290291
_webui_ws_status = false;
291292
alert('Incompatible HTML.\n\nYour HTML contain <form> elements, wish is not compatible with WebUI. Please remove all those elements.');
292-
293293
_webui_close(0xFF, '');
294294
}
295295
296296
elems = document.getElementsByTagName("button");
297297
for (i = 0; i < elems.length; i++){
298-
299298
if(elems[i].id == '')
300299
continue;
301-
302300
if(_webui_log)
303301
console.log('WebUI -> Listen -> <Button> -> ' + elems[i].id);
304-
305-
elems[i].addEventListener("click", function(){ SendEvent(this.id) });
302+
elems[i].addEventListener("click", function(){ _webui_SendEvent(this.id) });
306303
}
307304
308305
elems = document.getElementsByTagName("div");
309306
for (i = 0; i < elems.length; i++){
310-
311307
if(elems[i].id == '')
312308
continue;
313-
314309
if(_webui_log)
315310
console.log('WebUI -> Listen -> <Div> -> ' + elems[i].id);
316-
317-
elems[i].addEventListener("click", function(){ SendEvent(this.id) });
311+
elems[i].addEventListener("click", function(){ _webui_SendEvent(this.id) });
318312
}
319313
320314
elems = document.getElementsByTagName("li");
321315
for (i = 0; i < elems.length; i++){
316+
if(elems[i].id == '')
317+
continue;
318+
if(_webui_log)
319+
console.log('WebUI -> Listen -> <LI> -> ' + elems[i].id);
320+
elems[i].addEventListener("click", function(){ _webui_SendEvent(this.id) });
321+
}
322322
323+
elems = document.getElementsByTagName("p");
324+
for (i = 0; i < elems.length; i++){
323325
if(elems[i].id == '')
324326
continue;
327+
if(_webui_log)
328+
console.log('WebUI -> Listen -> <P> -> ' + elems[i].id);
329+
elems[i].addEventListener("click", function(){ _webui_SendEvent(this.id) });
330+
}
325331
332+
elems = document.getElementsByTagName("a");
333+
for (i = 0; i < elems.length; i++){
334+
if(elems[i].id == '')
335+
continue;
326336
if(_webui_log)
327-
console.log('WebUI -> Listen -> <LI> -> ' + elems[i].id);
328-
329-
elems[i].addEventListener("click", function(){ SendEvent(this.id) });
337+
console.log('WebUI -> Listen -> <A> -> ' + elems[i].id);
338+
elems[i].addEventListener("click", function(){ _webui_SendEvent(this.id) });
330339
}
331-
});
332340
341+
elems = document.getElementsByTagName("p");
342+
for (i = 0; i < elems.length; i++){
343+
if(elems[i].id == '')
344+
continue;
345+
if(_webui_log)
346+
console.log('WebUI -> Listen -> <P> -> ' + elems[i].id);
347+
elems[i].addEventListener("click", function(){ _webui_SendEvent(this.id) });
348+
}
349+
350+
elems = document.getElementsByTagName("ul");
351+
for (i = 0; i < elems.length; i++){
352+
if(elems[i].id == '')
353+
continue;
354+
if(_webui_log)
355+
console.log('WebUI -> Listen -> <UL> -> ' + elems[i].id);
356+
elems[i].addEventListener("click", function(){ _webui_SendEvent(this.id) });
357+
}
358+
359+
elems = document.getElementsByTagName("footer");
360+
for (i = 0; i < elems.length; i++){
361+
if(elems[i].id == '')
362+
continue;
363+
if(_webui_log)
364+
console.log('WebUI -> Listen -> <FOOTER> -> ' + elems[i].id);
365+
elems[i].addEventListener("click", function(){ _webui_SendEvent(this.id) });
366+
}
367+
368+
elems = document.getElementsByTagName("nav");
369+
for (i = 0; i < elems.length; i++){
370+
if(elems[i].id == '')
371+
continue;
372+
if(_webui_log)
373+
console.log('WebUI -> Listen -> <NAV> -> ' + elems[i].id);
374+
elems[i].addEventListener("click", function(){ _webui_SendEvent(this.id) });
375+
}
376+
377+
elems = document.getElementsByTagName("span");
378+
for (i = 0; i < elems.length; i++){
379+
if(elems[i].id == '')
380+
continue;
381+
if(_webui_log)
382+
console.log('WebUI -> Listen -> <SPAN> -> ' + elems[i].id);
383+
elems[i].addEventListener("click", function(){ _webui_SendEvent(this.id) });
384+
}
385+
}
386+
387+
function _webui_listener(){
388+
389+
window.addEventListener("load", _webui_listener_handler());
390+
}
391+
392+
// Starting point
333393
_webui_start();
334394
395+
// Check connection
335396
setTimeout(function(){
336397
337398
if(!_webui_ws_status){
@@ -368,7 +429,6 @@ namespace webui {
368429
// console.log('WebUI -> CLOSE -> FUNC END');
369430
_webui_close(0xFF, '');
370431
});
371-
372432
window.onbeforeunload = function (){
373433
_webui_close(0xFF, '');
374434
};
@@ -379,7 +439,8 @@ namespace webui {
379439
//e.returnValue = '';
380440
});
381441
382-
if (typeof webui_ready === "function")
442+
// Callback
443+
if(typeof webui_ready === "function")
383444
setTimeout(webui_ready, 0);
384445
385446
// - - - - - - - - - - -

0 commit comments

Comments
 (0)