59 lines
1.9 KiB
JavaScript
59 lines
1.9 KiB
JavaScript
/*
|
|
@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');
|
|
});
|
|
});
|
|
});
|
|
}
|