//////////////////////////////////////////////////////////////////////////////////////// //Document Ready //////////////////////////////////////////////////////////////////////////////////////// var selectedJsTreeId; // 요구사항 아이디 var selectedJsTreeName; // 요구사항 이름 var tempDataTable; var dataTableRef; var dbName = "drawDB"; var storeName = "armsDiagrams"; var reqColumnList = [ { data: "c_id", title: "c_id", visible: false, defaultContent: "-"}, { data: "c_left", title: "c_left", visible: false, defaultContent: "-"}, { data: "c_title", title: "요구사항", defaultContent: "-"} ]; function execDocReady() { var pluginGroups = [ [ "../reference/lightblue4/docs/lib/slimScroll/jquery.slimscroll.min.js", "../reference/light-blue/lib/bootstrap-datepicker.js", "../reference/jquery-plugins/datetimepicker-2.5.20/build/jquery.datetimepicker.min.css", "../reference/jquery-plugins/datetimepicker-2.5.20/build/jquery.datetimepicker.full.min.js", "../reference/lightblue4/docs/lib/widgster/widgster.js", "../reference/jquery-plugins/swiper-11.1.4/swiper-bundle.min.js", "../reference/jquery-plugins/swiper-11.1.4/swiper-bundle.min.css", "./js/common/swiperHelper.js", "./css/customSwiper.css", "./js/reqAddTable.js", ], [ "../reference/jquery-plugins/select2-4.0.2/dist/css/select2_lightblue4.css", "../reference/jquery-plugins/select2-4.0.2/dist/js/select2.min.js", "../reference/jquery-plugins/lou-multi-select-0.9.12/css/multiselect-lightblue4.css", "../reference/jquery-plugins/lou-multi-select-0.9.12/js/jquery.quicksearch.js", "../reference/jquery-plugins/lou-multi-select-0.9.12/js/jquery.multi-select.js", "../reference/jquery-plugins/multiple-select-1.5.2/dist/multiple-select-bluelight.css", "../reference/jquery-plugins/multiple-select-1.5.2/dist/multiple-select.min.js" ], [ "../reference/jquery-plugins/jstree-v.pre1.0/_lib/jquery.cookie.js", "../reference/jquery-plugins/jstree-v.pre1.0/_lib/jquery.hotkeys.js", "../reference/jquery-plugins/jstree-v.pre1.0/jquery.jstree.js", "../reference/jquery-plugins/dataTables-1.10.16/media/css/jquery.dataTables_lightblue4.css", "../reference/jquery-plugins/dataTables-1.10.16/extensions/Responsive/css/responsive.dataTables_lightblue4.css", "../reference/jquery-plugins/dataTables-1.10.16/extensions/Select/css/select.dataTables_lightblue4.css", "../reference/jquery-plugins/dataTables-1.10.16/media/js/jquery.dataTables.min.js", "../reference/jquery-plugins/dataTables-1.10.16/extensions/Responsive/js/dataTables.responsive.min.js", "../reference/jquery-plugins/dataTables-1.10.16/extensions/Select/js/dataTables.select.min.js", "../reference/jquery-plugins/dataTables-1.10.16/extensions/RowGroup/js/dataTables.rowsGroup.min.js", "../reference/jquery-plugins/dataTables-1.10.16/extensions/Buttons/js/dataTables.buttons.min.js", "../reference/jquery-plugins/dataTables-1.10.16/extensions/Buttons/js/buttons.html5.js", "../reference/jquery-plugins/dataTables-1.10.16/extensions/Buttons/js/buttons.print.js", "../reference/jquery-plugins/dataTables-1.10.16/extensions/Buttons/js/jszip.min.js", ], // 추가적인 플러그인 그룹들을 이곳에 추가하면 됩니다. ]; loadPluginGroupsParallelAndSequential(pluginGroups) .then(function () { console.log("모든 플러그인 로드 완료"); //vfs_fonts 파일이 커서 defer 처리 함. setTimeout(function () { var script = document.createElement("script"); script.src = "../reference/jquery-plugins/dataTables-1.10.16/extensions/Buttons/js/vfs_fonts.js"; script.defer = true; // defer 속성 설정 document.head.appendChild(script); }, 5000); // 5초 후에 실행됩니다. //pdfmake 파일이 커서 defer 처리 함. setTimeout(function () { var script = document.createElement("script"); script.src = "../reference/jquery-plugins/dataTables-1.10.16/extensions/Buttons/js/pdfmake.min.js"; script.defer = true; // defer 속성 설정 document.head.appendChild(script); }, 5000); // 5초 후에 실행됩니다. //위젯 헤더 처리 및 사이드 메뉴 처리 $(".widget").widgster(); setSideMenu("sidebar_menu_requirement", "sidebar_menu_requirement_regist"); //신규 요구사항 등록 버튼 숨김 $(".newReqDiv").hide(); //Select2 var waitSelect2 = setInterval(function () { try { if ($(".ms-select-all") !== 3) { //제품(서비스) 셀렉트 박스 이니시에이터 makePdServiceSelectBox(); //버전 멀티 셀렉트 박스 이니시에이터 makeVersionMultiSelectBox(); clearInterval(waitSelect2); } } catch (err) { console.log("서비스 데이터 테이블 로드가 완료되지 않아서 초기화 재시도 중..."); } }, 313 /*milli*/); // --- 에디터 설정 --- // var waitCKEDITOR = setInterval(function () { try { if (window.CKEDITOR) { if (window.CKEDITOR.status == "loaded") { CKEDITOR.replace("modal_editor", { skin: "office2013" }); CKEDITOR.replace("edit_tabmodal_editor", { skin: "office2013" }); CKEDITOR.replace("detailview_req_contents", { skin: "office2013" }); clearInterval(waitCKEDITOR); } } } catch (err) { console.log("CKEDITOR 로드가 완료되지 않아서 초기화 재시도 중..."); } }, 313 /*milli*/); autoCompleteForUser(); selected_after_action_for_select2(); click_btn_for_regist_req_popup(); click_btn_for_req_save(); click_btn_for_req_update(); click_btn_for_req_delete(); switch_action_for_mode(); tab_click_event(); get_arms_req_state_list() .then((state_list) => { let req_state_list = []; for (let k in state_list) { let state = state_list[k]; //--- 테이블 보기에서 사용하는 전역변수 req_state_map[state.c_id] = state; ReqStatus[state.c_title] = state.c_id; req_state_list.push(state); } console.log(req_state_list); binding_state_list("detailview_req_state", req_state_list, true); binding_state_list("editview_req_state", req_state_list, false); }) .catch((error) => { console.error('Error fetching data:', error); reject(error); // 에러 발생 시 프라미스를 거부 }); drawio(); drawdb(); // 스크립트 실행 로직을 이곳에 추가합니다. var 라따적용_클래스이름_배열 = ['.ladda_save_req']; laddaBtnSetting(라따적용_클래스이름_배열); /* 사용되지 않는 코드 주석 처리 click_btn_for_connect_req_jira(); click_btn_for_search_history(); makeDatePicker($("#btn_start_calendar_popup")); makeDatePicker($("#btn_end_calendar_popup")); */ }) .catch(function () { console.error("플러그인 로드 중 오류 발생"); }); } //////////////////////////////////////////////////////////////////////////////////////// //제품 서비스 셀렉트 박스 //////////////////////////////////////////////////////////////////////////////////////// function makePdServiceSelectBox() { //제품 서비스 셀렉트 박스 이니시에이터 $(".chzn-select").each(function () { $(this).select2($(this).data()); }); //제품 서비스 셀렉트 박스 데이터 바인딩 $.ajax({ url: "/auth-user/api/arms/pdServicePure/getPdServiceMonitor.do", type: "GET", contentType: "application/json;charset=UTF-8", dataType: "json", progress: true, statusCode: { 200: function (data) { ////////////////////////////////////////////////////////// $("#reqAddTableSelect").append('
  • '); for (var k in data.response) { var obj = data.response[k]; $("#reqAddTableSelect").append(tableSelectOption(obj)); var newOption = new Option(obj.c_title, obj.c_id, false, false); $("#selected_pdService").append(newOption).trigger("change"); } $('#searchInput').on('keyup', filterList); $('#searchInput').on('keydown', function(e) { if (e.key === ' ') { e.preventDefault(); $(this).val($(this).val() + ' '); } }); ////////////////////////////////////////////////////////// jSuccess("제품(서비스) 조회가 완료 되었습니다."); } }, beforeSend: function () { //$("#regist_pdservice").hide(); 버튼 감추기 }, complete: function () { //$("#regist_pdservice").show(); 버튼 보이기 }, error: function (e) { jError("제품(서비스) 조회 중 에러가 발생했습니다."); } }); $("#selected_pdService").on("select2:open", function () { makeSlimScroll(".select2-results__options"); }); // --- select2 ( 제품(서비스) 검색 및 선택 ) 이벤트 --- // $("#selected_pdService").on("select2:select", function (e) { // 제품( 서비스 ) 선택했으니까 자동으로 버전을 선택할 수 있게 유도 // 디폴트는 base version 을 선택하게 하고 ( select all ) // 선택된 제품(서비스) 데이터 바인딩 var selectedService = $("#selected_pdService").select2("data")[0].text; $("#select_PdService").text(selectedService); var selectedHtml = `
    선택된 서버 : ` + selectedService + `
    `; $("#reqSender").html(selectedHtml); // 선택된 제품(서비스) //~> 이벤트 연계 함수 :: 요구사항 표시 jsTree 빌드 //서비스(어플리케이션) 트리 로드 build_ReqData_By_PdService(); //~> 이벤트 연계 함수 :: Version 표시 jsTree 빌드 bind_VersionData_By_PdService(); setDefaultBtnText(); }); } // end makePdServiceSelectBox() function filterList() { let searchText = $('#searchInput').val().toLowerCase(); let hasResults = false; $('#reqAddTableSelect li:not(:first)').each(function() { let itemText = $(this).text().toLowerCase(); if (itemText.includes(searchText)) { $(this).show(); hasResults = true; } else { $(this).hide(); } }); if (!hasResults) { if ($('#noResultsMessage').length === 0) { $('#reqAddTableSelect').append('
  • 검색 결과가 없습니다.
  • '); } } else { $('#noResultsMessage').remove(); } } //////////////////////////////////////////////////////////////////////////////////////// //버전 멀티 셀렉트 박스 //////////////////////////////////////////////////////////////////////////////////////// function makeVersionMultiSelectBox() { //버전 선택 셀렉트 박스 이니시에이터 $(".multiple-select").multipleSelect(); } function bind_VersionData_By_PdService() { $(".multiple-select option").remove(); $.ajax({ url: "/auth-user/api/arms/pdService/getVersionList?c_id=" + $("#selected_pdService").val(), type: "GET", dataType: "json", progress: true, statusCode: { 200: function (data) { ////////////////////////////////////////////////////////// for (var k in data.response) { var obj = data.response[k]; var $opt = $("