@innovation the ‘string’ is the value used in the getDom() function to create the html content
somestring:“this is just a test string”,
counter: 0,
getDom(){
var wrapper=createElement("div")
wrapper.innerText=this.somestring
return wrapper;
}
there is no stopping the module, it MUST always be running… so, if u want to change the string,
you can start a timer, and when the timer expires, call a routine that does the work.
timerRoutine: function(){
this.somestring="some other string"
}
but how does MM know u changed the value?
u tell MM there is new content…
timerRoutine: function(){
this.somestring="some other string "+ this.counter++;
this.updateDom(time_to_delay_in_ms, 0 = immediately)
}
now we need to start a timer… lets say, 15 seconds after we do it in getDom, lets change the text
getDom(){
var wrapper=createElement("div')
wrapper.innerText=this.somestring // use the value of the somestring variable to display
setTimeout(this.timerRoutine, 15000) // call the timerRoutine in 15000 milliseconds
return wrapper;
// after here , MM will put the html tree defined in wrapper,
// in the 'position' the module defined in config.js
}
another way is to use the repeating timer, instead of the single event version
start: {
// now the timerRoutine will be called every 15 seconds, forever
// it will change the string, and then inform MM to call to get new content
setInterval(this.timerRoutine,15000) // start a repeating timer every 15 seconds
},
getDom(){
var wrapper=createElement("div')
wrapper.innerText=this.somestring // use the value of the somestring variable to display
return wrapper;
}
you can do this same updateDom() call after receiving a message back from your node helper with new content.
(my sample module does this)