// (2020.11.20, 차재복, Cha Jae Bok, http://www.ktword.co.kr)
// (편집자용) 편집용 버튼 생성 유지
function gen_del_btn (data) {
// 버튼 요소 생성 및 스타일 설정
let btn = document.createElement('button');
btn.id = 'gen_del_btn_'+data.id;
btn.setAttribute('style','margin-left:20px; padding:0px; font-size:9px; font-style:italic');
// (편집자용) 호출 내역 보여주기
btn.title = `reform_edit_gen_del.js \n gen_del_btn(data) \n reform.${data.id}`;
// 버튼 요소 내 텍스트 'Gen/De ∨' 요소 설정
const gen_del_text = document.createTextNode('Gen/Del ∨');
btn.appendChild(gen_del_text);
// 버튼 요소에 이벤트리스너 설정
btn.addEventListener('click', function(e) {
const div_name = 'gen_del_div_';
// 'gen_del_div_(id)' 명칭을 갖는 요소 검색/선택
let div_id = document.getElementById(div_name+data.id);
if (div_id) { // 하부 div의 show/hide
itemShowHide(div_id, btn); // common_utils.js
} else {
// 편집용 div 생성
let div = gen_del_div(data, div_name); // reform_edit_gen_del.js
insertAfter(e.target, div); // common_utils.js
// 클릭 요소 (∨,∧) 바꿈
btn.innerHTML = btn.innerText.replace('∨','∧');
}
});
return btn;
}
// (편집자용) id gen/del div
function gen_del_div (data) {
// container div 요소 생성
let div = document.createElement('div');
// div 요소의 스타일 설정
div.style.padding = '0';
// div 요소에 정보 저장
div.id = 'gen_del_div_'+data.id;
div.dataset.id = data.id;
div.dataset.parent = data.parent;
div.dataset.sub_seq = data.sub_seq;
div.dataset.path2node = data.path2node;
// id 생성(자식,직전,직후) 버튼
// id 생성(자식,직전,직후) input 필드
let gen_input = document.createElement('input');
gen_input.id = 'gen_input_' + data.id;
gen_input.style.marginLeft = '20px';
div.appendChild(gen_input);
// 자식 생성 버튼
let child_btn = document.createElement('button');
child_btn.ch = 'id_child';
child_btn.carrier_id = gen_input.id;
let child_btn_txt = document.createTextNode('자식생성');
child_btn.appendChild(child_btn_txt);
// 이벤트리스너 등록 추가 (id_move_gen_ajax 실행)
child_btn.addEventListener('click', id_move_gen_ajax);
div.appendChild(child_btn);
// 직전 생성 버튼
let before_btn = document.createElement('button');
before_btn.ch = 'id_prepend';
before_btn.carrier_id = gen_input.id;
let before_btn_txt = document.createTextNode('직전생성');
before_btn.appendChild(before_btn_txt);
// 이벤트리스너 등록 추가 (id_move_gen_ajax 실행)
before_btn.addEventListener('click', id_move_gen_ajax);
div.appendChild(before_btn);
// 직후 생성 버튼
let after_btn = document.createElement('button');
after_btn.ch = 'id_append';
after_btn.carrier_id = gen_input.id;
let after_btn_txt = document.createTextNode('직후생성');
after_btn.appendChild(after_btn_txt);
// 이벤트리스너 등록 추가 (id_move_gen_ajax 실행)
after_btn.addEventListener('click', id_move_gen_ajax);
div.appendChild(after_btn);
// id 삭제 버튼
if(data.child <= 0 && !data.more_type) { // 자식 노드 없고, 상세 항목(more) 없다면
let id_delete = document.createElement('button');
id_delete.style.marginLeft = '10px';
id_delete.ch = 'id_delete';
let id_delete_text = document.createTextNode('삭제');
id_delete.appendChild(id_delete_text);
id_delete.addEventListener('click', id_move_gen_ajax); // 이벤트리스너 등록 추가 (id_move_gen_ajax 실행)
div.appendChild(id_delete);
}
// 결과 div 리턴
return div;
}
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"