/* @File: init_page.js @Date: 2026-02-23 @brief: Page initialization */ bindingTabEvent('.tab_wrap'); init() function init(){ //기본값 비움 - localStorage에 값이 없으면 빈값 유지 if(localStorage.getItem('line_num')==null) { localStorage.setItem('line_num', DEFAULT_MSG_BOX_LINE) } let ls_line_num = parseInt(localStorage.getItem('line_num'),10) let ls_mqtt_server_address = localStorage.getItem('mqtt_server_address') || '' let ls_mqtt_server_id = localStorage.getItem('mqtt_user_id') || '' let ls_engine_server_address = localStorage.getItem('engine_server_address') || '' MSG_BOX_LINE.val(ls_line_num); MQTT_SERVER_ADDRESS.val(ls_mqtt_server_address); MQTT_USER_ID.val(ls_mqtt_server_id); ENGINE_SERVER_ADDRESS.val(ls_engine_server_address); } function findParent(el, className){ let check = el.parentNode.classList.contains(className); if(check === true){ return el.parentNode; }else{ return findParent(el.parentNode, className); } } function bindingTabEvent(wrap){ let wrapEl = document.querySelectorAll(wrap); wrapEl.forEach(function(tabArea){ let btn = tabArea.querySelectorAll('.btn_tab'); btn.forEach(function(item){ item.addEventListener('click', function(){ let parent = findParent(this, 'tab_area'); let idx = this.dataset['idx']; let depth = this.dataset['depth']; let btnArr = parent.querySelectorAll('.btn_tab[data-depth="'+ depth +'"]'); let contentArr = parent.querySelectorAll('.content_area[data-depth="'+ depth +'"]'); btnArr.forEach(function(btn){ btn.classList.remove('act'); }); this.classList.add('act'); contentArr.forEach(function(content){ content.classList.remove('act'); }); parent.querySelector('.content_area[data-idx="'+ idx +'"][data-depth="'+ depth +'"]').classList.add('act'); }); }); }); }