esp32-nmea2000-obp60/lib/exampletask/index.js

40 lines
1.3 KiB
JavaScript

(function(){
const api=window.esp32nmea2k;
if (! api) return;
let isActive=false;
const tabName="example";
const configName="exampleBDSel";
let boatItemName;
api.registerListener((id,data)=>{
if (id === api.EVENTS.init){
//data is capabilities
if (data.testboard) isActive=true;
if (isActive){
let page=api.addTabPage(tabName,"Example");
api.addEl('div','',page,"this is a test tab");
}
}
if (isActive){
console.log("exampletask listener",id,data);
if (id === api.EVENTS.tab){
if (data === tabName){
console.log("example tab activated");
}
}
if (id == api.EVENTS.config){
let nextboatItemName=data[configName];
console.log("value of "+configName,nextboatItemName);
if (nextboatItemName){
api.addUserFormatter(nextboatItemName,"xxx",function(v){
return "X"+v+"X";
})
}
if (boatItemName !== undefined && boatItemName != nextboatItemName){
api.removeUserFormatter(boatItemName);
}
boatItemName=nextboatItemName;
}
}
})
})();