// jshint esversion: 6 const doorNaming = {}; let doorInterval = false; function doorInit() { fetch((conf.doorSrcUrl+'&machine='+machine).replace('?&','?'), {cache: "no-store"}) .then((response) => {return response.json();}) .then((doorList) => { for (let facility in doorList) { doorNaming[facility] = []; for (let d=0; d<doorList[facility].length; d++) { if (doorNaming[facility][d] == "") continue; doorNaming[facility][d] = doorList[facility][d]; const id = doorNaming[facility][d].replace('.', '_'); $('#'+id).css('fill', 'gray'); $('#'+id).css('stroke', 'gray'); // console.log('doorNaming', facility, doorNaming[facility], d, id); } } doorInterval = setInterval(doorRead, 1000); }); } function doorMenu(menuParams) { // console.log('doorMenu', menuParams, (conf.doorSrcUrl+'&machine='+machine).replace('?&','?')); menuParams.door = document.location.search.indexOf('door')>-1; gui.add(menuParams, 'door').name('doors').onChange(function() {doorSwitch(menuParams);}); if (menuParams.door) { doorInit(); } } function door2d(lattice, menuParams) { console.log('door2d',lattice, menuParams); $('.doorpss').css('fill', 'gray'); $('.doorpss').css('stroke', 'gray'); doorMenu(menuParams); } function doorSwitch(menuParams) { console.log('doorSwitch()',menuParams, menuParams.door); if (doorInterval !== false) { clearInterval(doorInterval); } doorInterval = false; if (menuParams.door==false) { for (let facility in doorNaming) { for (let d=0; d<doorNaming[facility].length; d++) { const id = doorNaming[facility][d].replace('.', '_'); $('#'+id).css('fill', 'gray'); $('#'+id).css('stroke', 'gray'); // console.log('doorNaming', facility, doorNaming[facility], d, id); } } } else { if ($.isEmptyObject(doorNaming)) doorInit(); else { doorRead(); doorInterval = setInterval(doorRead, 1000); } } } function doorRender(val) { for (let facility in val) { for (let d=0; d<val[facility].door.length; d++) { if (typeof doorNaming[facility][d]=='undefined') continue; const id = doorNaming[facility][d].replace('.', '_'); $('#'+id).css('fill', val[facility].door[d]!=1? '#00000000': (val[facility].hold[d]==1 != facility=='sr'? 'yellow': 'white')); $('#'+id).css('stroke', val[facility].door[d]!=1? 'red': '#00000000'); // console.log('doorNaming', facility, doorNaming[facility], d, id); } } } function doorRead() { fetch((conf.doorUrl+'&machine='+machine).replace('?&','?'), {cache: "no-store"}) .then((response) => {return response.json();}) .then((eventData) => { // console.log('fetch()',(conf.doorUrl+'&machine='+machine).replace('?&','?'), eventData); doorRender(eventData); }); }