diff --git a/demo.html b/demo.html index ecb195f..a79ecd9 100644 --- a/demo.html +++ b/demo.html @@ -48,8 +48,11 @@ LNVue.addRoute("/controls","/controls.html"); LNVue.addRoute("/table","/table.html"); + let message = { value: "" }; + app = new LNVue("#frame",{ data: { + message: message, columns: { FirstName: { label: 'Vorname', @@ -123,6 +126,14 @@ } } }); + + LNVue.onidle(()=>{ + message.value = "idle time reached. Message written."; + setTimeout(()=>{ + message.value = "fired from the idle job: new message after 1000ms."; + },1000); + }); + diff --git a/js/ln.vue.application.js b/js/ln.vue.application.js index 1afc69e..2993cc0 100644 --- a/js/ln.vue.application.js +++ b/js/ln.vue.application.js @@ -47,6 +47,28 @@ } + LNVue.$idles = []; + LNVue.onidle = function(cb,thisval = null){ + let scheduled = LNVue.$idles.length > 0; + let n=0; + + for (;n{ + while (LNVue.$idles.length > 0){ + let idle = LNVue.$idles.pop(); + idle[0].call(idle[1]); + } + },0); + } + LNVue.$ = function(src){ let el = document.createElement("parse"); el.innerHTML = src;