NEWS
Jahreszahl in der Objekt ID Automatisch ersetzen
-
Ich wurde gefragt ob es möglich ist die Jahreszahl in einer Objekt ID mit einem Binding zu ersetzen. Soweit ich weis geht das nicht, deswegen hab ich ein Skript angepasst um das Problem zu lösen.
Für den fall das noch jemand anderes es brauchen kann Veröffentliche ich hier die Lösung.Im Widget unter Generell bei CSS Klassse gibt man year ein.
Bei der Objekt ID ersetzt man die Jahreszahl durch <year>.
0_userdata.0.<year>
Skript (VIS Editor):
const timeout = 50; $(document).ready(function(){ setTimeout( () => { replaceYear(); }, timeout) }); function replaceYear(){ let year = new Date().getFullYear(); const yearElements = document.querySelectorAll('div[class*="year"]'); for (let i = 0; i <= yearElements.length - 1; i++) { const arr = [ ...yearElements[i].classList ]; const propName = arr.find(checkForYear).replace('year', ''); const id = yearElements[i].lastElementChild.lastElementChild.dataset.oid.replace('<year>', year); console.log(id); vis.conn.getStates(id, (err, state) => { if (!err){ yearElements[i].lastElementChild.lastElementChild.outerText = state[id].val; } }) } } function checkForYear(className) { const regex = new RegExp('year'); let finding = className.match(regex); return finding; }