Index: arms/html/dashboard/content-container.html =================================================================== diff -u -r451f824cb6183fb3100b9bc32a6e781ffd61020e -r64aefe71455ea2c690f4fac121919ba0fe1d963b --- arms/html/dashboard/content-container.html (.../content-container.html) (revision 451f824cb6183fb3100b9bc32a6e781ffd61020e) +++ arms/html/dashboard/content-container.html (.../content-container.html) (revision 64aefe71455ea2c690f4fac121919ba0fe1d963b) @@ -1,17 +1,87 @@
-
+
-

- - Java Service Tree Framework DevTools +

+ + + Search +

+
- - +
+
+ 1. Product(Service)를 선택해주십시오. +
+ +
+
+
+
+
+ + +
+
+
-
\ No newline at end of file + +
+ +
+
Index: arms/js/dashboard.js =================================================================== diff -u -r3de05ab785ea0c29d1b15d755f6d3c02b66179b8 -r64aefe71455ea2c690f4fac121919ba0fe1d963b --- arms/js/dashboard.js (.../dashboard.js) (revision 3de05ab785ea0c29d1b15d755f6d3c02b66179b8) +++ arms/js/dashboard.js (.../dashboard.js) (revision 64aefe71455ea2c690f4fac121919ba0fe1d963b) @@ -1,54 +1,210 @@ //////////////////////////////////////////////////////////////////////////////////////// //Document Ready //////////////////////////////////////////////////////////////////////////////////////// +var selectedPdServiceId; // 제품(서비스) 아이디 + function execDocReady() { - var pluginGroups = [ - [ "../reference/light-blue/lib/vendor/jquery.ui.widget.js", - "../reference/light-blue/lib/vendor/http_blueimp.github.io_JavaScript-Templates_js_tmpl.js", - "../reference/light-blue/lib/vendor/http_blueimp.github.io_JavaScript-Load-Image_js_load-image.js", - "../reference/light-blue/lib/vendor/http_blueimp.github.io_JavaScript-Canvas-to-Blob_js_canvas-to-blob.js", - "../reference/light-blue/lib/jquery.iframe-transport.js", - "../reference/light-blue/lib/jquery.fileupload.js", - "../reference/light-blue/lib/jquery.fileupload-fp.js", - "../reference/light-blue/lib/jquery.fileupload-ui.js"], + var pluginGroups = [ + ["../reference/light-blue/lib/vendor/jquery.ui.widget.js", + "../reference/light-blue/lib/vendor/http_blueimp.github.io_JavaScript-Templates_js_tmpl.js", + "../reference/light-blue/lib/vendor/http_blueimp.github.io_JavaScript-Load-Image_js_load-image.js", + "../reference/light-blue/lib/vendor/http_blueimp.github.io_JavaScript-Canvas-to-Blob_js_canvas-to-blob.js", + "../reference/light-blue/lib/jquery.iframe-transport.js", + "../reference/light-blue/lib/jquery.fileupload.js", + "../reference/light-blue/lib/jquery.fileupload-fp.js", + "../reference/light-blue/lib/jquery.fileupload-ui.js"], - [ "../reference/jquery-plugins/select2-4.0.2/dist/css/select2_lightblue4.css", - "../reference/jquery-plugins/lou-multi-select-0.9.12/css/multiselect-lightblue4.css", - "../reference/jquery-plugins/multiple-select-1.5.2/dist/multiple-select-bluelight.css", - "../reference/jquery-plugins/select2-4.0.2/dist/js/select2.min.js", - "../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.min.js"], + ["../reference/jquery-plugins/select2-4.0.2/dist/css/select2_lightblue4.css", + "../reference/jquery-plugins/lou-multi-select-0.9.12/css/multiselect-lightblue4.css", + "../reference/jquery-plugins/multiple-select-1.5.2/dist/multiple-select-bluelight.css", + "../reference/jquery-plugins/select2-4.0.2/dist/js/select2.min.js", + "../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.min.js"], - [ "../reference/jquery-plugins/datetimepicker-2.5.20/build/jquery.datetimepicker.min.css", - "../reference/light-blue/lib/bootstrap-datepicker.js", - "../reference/jquery-plugins/datetimepicker-2.5.20/build/jquery.datetimepicker.full.min.js", - "../reference/lightblue4/docs/lib/widgster/widgster.js"], + ["../reference/jquery-plugins/datetimepicker-2.5.20/build/jquery.datetimepicker.min.css", + "../reference/light-blue/lib/bootstrap-datepicker.js", + "../reference/jquery-plugins/datetimepicker-2.5.20/build/jquery.datetimepicker.full.min.js", + "../reference/lightblue4/docs/lib/widgster/widgster.js", + "../reference/lightblue4/docs/lib/slimScroll/jquery.slimscroll.min.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", - "../reference/jquery-plugins/dataTables-1.10.16/extensions/Buttons/js/pdfmake.min.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", + "../reference/jquery-plugins/dataTables-1.10.16/extensions/Buttons/js/pdfmake.min.js"] + // 추가적인 플러그인 그룹들을 이곳에 추가하면 됩니다. + ]; - loadPluginGroupsParallelAndSequential(pluginGroups) - .then(function() { - // 사이드 메뉴 색상 설정 - $('.widget').widgster(); - setSideMenu("sidebar_menu_dashboard", "sidebar_menu_dashboard_home"); - }) - .catch(function() { - console.error('플러그인 로드 중 오류 발생'); - }); + loadPluginGroupsParallelAndSequential(pluginGroups) + .then(function () { + //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); + }, 3000); // 2초 후에 실행됩니다. + console.log('모든 플러그인 로드 완료'); + + // 사이드 메뉴 색상 설정 + $('.widget').widgster(); + setSideMenu("sidebar_menu_dashboard_home"); + + makePdServiceSelectBox(); + }) + .catch(function () { + console.error('플러그인 로드 중 오류 발생'); + }); } +//////////////////////////////////////////////////////////////////////////////////////// +//제품 서비스 셀렉트 박스 +//////////////////////////////////////////////////////////////////////////////////////// +function makePdServiceSelectBox() { + //제품 서비스 셀렉트 박스 이니시에이터 + $(".chzn-select").each(function () { + $(this).select2($(this).data()); + }); + + //제품 서비스 셀렉트 박스 데이터 바인딩 + $.ajax({ + url: "/auth-user/api/arms/pdService/getPdServiceMonitor.do", + type: "GET", + contentType: "application/json;charset=UTF-8", + dataType: "json", + progress: true, + statusCode: { + 200: function (data) { + ////////////////////////////////////////////////////////// + for (var k in data.response) { + var obj = data.response[k]; + var newOption = new Option(obj.c_title, obj.c_id, false, false); + $("#selected_pdService").append(newOption).trigger("change"); + } + ////////////////////////////////////////////////////////// + } + } + }); + + + $("#selected_pdService").on("select2:open", function () { + //슬림스크롤 + makeSlimScroll(".select2-results__options"); + }); + + // --- select2 ( 제품(서비스) 검색 및 선택 ) 이벤트 --- // + $("#selected_pdService").on("select2:select", function (e) { + // 제품( 서비스 ) 선택했으니까 자동으로 버전을 선택할 수 있게 유도 + // 디폴트는 base version 을 선택하게 하고 ( select all ) + //~> 이벤트 연계 함수 :: Version 표시 jsTree 빌드 + bind_VersionData_By_PdService(); + + var checked = $("#checkbox1").is(":checked"); + var endPointUrl = ""; + + if (checked) { + endPointUrl = "/T_ARMS_REQSTATUS_" + $("#selected_pdService").val() + "/getStatusMonitor.do?disable=true"; + } else { + endPointUrl = "/T_ARMS_REQSTATUS_" + $("#selected_pdService").val() + "/getStatusMonitor.do?disable=false"; + } + + // progressLoad($("#selected_pdService").val(), null); + }); +} // end makePdServiceSelectBox() + +function progressLoad(pdservice_id, pdservice_version_id){ + + $('#progress_status').empty(); // 모든 자식 요소 삭제 + + //제품 서비스 셀렉트 박스 데이터 바인딩 + $.ajax({ + url: "/auth-user/api/arms/reqStatus/T_ARMS_REQSTATUS_" + pdservice_id + "/getProgress.do?version=" + pdservice_version_id, + type: "GET", + contentType: "application/json;charset=UTF-8", + dataType: "json", + progress: true, + statusCode: { + 200: function (data) { + + for (var key in data) { + var value = data[key]; + console.log(key + "=" + value); + + var html_piece = "
\n" + + "✡ " + key + " : " + value + "\n" + + "
"; + $('#progress_status').append(html_piece); + } + + } + } + }); +} + +//////////////////////////////////////////////////////////////////////////////////////// +//버전 멀티 셀렉트 박스 +//////////////////////////////////////////////////////////////////////////////////////// +function makeVersionMultiSelectBox() { + //버전 선택 셀렉트 박스 이니시에이터 + $(".multiple-select").multipleSelect({ + filter: true, + onClose: function () { + console.log("onOpen event fire!\n"); + + var checked = $("#checkbox1").is(":checked"); + var endPointUrl = ""; + var versionTag = $(".multiple-select").val(); + + if (checked) { + endPointUrl = + "/T_ARMS_REQSTATUS_" + $("#selected_pdService").val() + "/getStatusMonitor.do?disable=true&versionTag=" + versionTag; + // dataTableLoad($("#selected_pdService").val(), endPointUrl); + } else { + endPointUrl = + "/T_ARMS_REQSTATUS_" + $("#selected_pdService").val() + "/getStatusMonitor.do?disable=false&versionTag=" + versionTag; + // dataTableLoad($("#selected_pdService").val(), endPointUrl); + } + } + }); +} + +function bind_VersionData_By_PdService() { + $(".multiple-select option").remove(); + $.ajax({ + url: "/auth-user/api/arms/pdService/getVersionList.do?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 = $("