Index: backoffice/js/scheduleConfig.js
===================================================================
diff -u -rb2af5eef60b0cc50cc3982a901a3a393b2889fe8 -rb0f4b73f704bd5b7f88a1f4e49c515d17665ff65
--- backoffice/js/scheduleConfig.js (.../scheduleConfig.js) (revision b2af5eef60b0cc50cc3982a901a3a393b2889fe8)
+++ backoffice/js/scheduleConfig.js (.../scheduleConfig.js) (revision b0f4b73f704bd5b7f88a1f4e49c515d17665ff65)
@@ -55,26 +55,145 @@
"../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/extensions/Buttons/js/vfs_fonts.js",
- // timezone-picker
- "../reference/jquery-plugins/kevalbhatt-timezone-picker-2.0.0/dist/timezone-picker.min.js",
- "../reference/jquery-plugins/kevalbhatt-timezone-picker-2.0.0/dist/styles/timezone-picker.css"
+ "../reference/jquery-plugins/dataTables-1.10.16/extensions/Buttons/js/jszip.min.js"
]
// 추가적인 플러그인 그룹들을 이곳에 추가하면 됩니다.
];
loadPluginGroupsParallelAndSequential(pluginGroups)
.then(function () {
- console.log("모든 플러그인 로드 완료");
+ 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_config", "sidebar_menu_config_schedule");
+
+ // 데이터 테이블 로드 함수
+ var waitDataTable = setInterval(function () {
+ try {
+ if (!$.fn.DataTable.isDataTable("#schedule_list_table")) {
+ dataTableLoad();
+ clearInterval(waitDataTable);
+ }
+ } catch (err) {
+ console.log("서비스 데이터 테이블 로드가 완료되지 않아서 초기화 재시도 중...");
+ }
+ }, 313 /*milli*/);
})
.catch(function (error) {
console.error("플러그인 로드 중 오류 발생");
console.log(error);
});
}
+
+
+////////////////////////////////////////////////////////////////////////////////////////
+// --- 데이터 테이블 설정 --- //
+////////////////////////////////////////////////////////////////////////////////////////
+function dataTableLoad() {
+ // 데이터 테이블 컬럼 및 열그룹 구성
+ var columnList = [
+ { name: "c_id", title: "제품(서비스) 아이디", data: "c_id", visible: false },
+ {
+ name: "c_title",
+ title: "제품(서비스) 이름",
+ data: "c_title",
+ render: function (data, type, row, meta) {
+ if (type === "display") {
+ return '
";
+ }
+ return data;
+ },
+ className: "dt-body-left",
+ visible: true
+ }
+ ];
+ var rowsGroupList = [];
+ var columnDefList = [];
+ var selectList = {};
+ var orderList = [[0, "asc"]];
+ var buttonList = [
+ "copy",
+ "excel",
+ "print",
+ {
+ extend: "csv",
+ text: "Export csv",
+ charset: "utf-8",
+ extension: ".csv",
+ fieldSeparator: ",",
+ fieldBoundary: "",
+ bom: true
+ },
+ {
+ extend: "pdfHtml5",
+ orientation: "landscape",
+ pageSize: "LEGAL"
+ }
+ ];
+
+ var jquerySelector = "#schedule_list_table";
+ var ajaxUrl = "./mock/scheduleConfig_datatable.json";
+ var jsonRoot = "response";
+ var isServerSide = false;
+
+ dataTableRef = dataTable_build(
+ jquerySelector,
+ ajaxUrl,
+ jsonRoot,
+ columnList,
+ rowsGroupList,
+ columnDefList,
+ selectList,
+ orderList,
+ buttonList,
+ isServerSide
+ );
+
+ $("#copychecker").on("click", function () {
+ dataTableRef.button(".buttons-copy").trigger();
+ });
+ $("#printchecker").on("click", function () {
+ dataTableRef.button(".buttons-print").trigger();
+ });
+ $("#csvchecker").on("click", function () {
+ dataTableRef.button(".buttons-csv").trigger();
+ });
+ $("#excelchecker").on("click", function () {
+ dataTableRef.button(".buttons-excel").trigger();
+ });
+ $("#pdfchecker").on("click", function () {
+ dataTableRef.button(".buttons-pdf").trigger();
+ });
+}
+
+// 데이터 테이블 구성 이후 꼭 구현해야 할 메소드 : 열 클릭시 이벤트
+function dataTableClick(tempDataTable, selectedData) {
+ console.log(selectedData);
+}
+
+// 데이터 테이블 데이터 렌더링 이후 콜백 함수.
+function dataTableCallBack(settings, json) {
+ console.log("check");
+}
+
+function dataTableDrawCallback(tableInfo) {
+// resourceDataTable.columns.adjust();
+ console.log(tableInfo);
+}
Index: backoffice/mock/scheduleConfig_datatable.json
===================================================================
diff -u
--- backoffice/mock/scheduleConfig_datatable.json (revision 0)
+++ backoffice/mock/scheduleConfig_datatable.json (revision b0f4b73f704bd5b7f88a1f4e49c515d17665ff65)
@@ -0,0 +1,69 @@
+{
+ "success" : true,
+ "response" : [ {
+ "c_id" : 26,
+ "c_parentid" : 2,
+ "c_position" : 1,
+ "c_left" : 5,
+ "c_right" : 6,
+ "c_level" : 2,
+ "c_title" : "TEST 및 QA 목적의 제품(서비스)",
+ "c_type" : "default",
+ "ref" : 0,
+ "copy" : 0,
+ "multiCounter" : 0,
+ "status" : 0,
+ "searchStr" : null,
+ "id" : 0,
+ "attr" : {
+ "rel" : "default",
+ "id" : "node_26"
+ },
+ "c_pdservice_owner" : "[admin] - 9af24080-050d-4943-b40e-d789c0f976ee",
+ "c_pdservice_reviewer01" : "[admin] - 9af24080-050d-4943-b40e-d789c0f976ee",
+ "c_pdservice_reviewer02" : "none",
+ "c_pdservice_reviewer03" : "none",
+ "c_pdservice_reviewer04" : "none",
+ "c_pdservice_reviewer05" : "none",
+ "c_pdservice_writer" : null,
+ "c_pdservice_contents" : "
제품(서비스)의 기획서 및 Project Charter 의 내용을 기록합니다.
\n",
+ "c_pdservice_desc" : null,
+ "c_pdservice_etc" : "T_ARMS_REQADD_26",
+ "state" : "opened",
+ "data" : "TEST 및 QA 목적의 제품(서비스)",
+ "copied" : false
+ }, {
+ "c_id" : 25,
+ "c_parentid" : 2,
+ "c_position" : 0,
+ "c_left" : 3,
+ "c_right" : 4,
+ "c_level" : 2,
+ "c_title" : "(주)313DEVGRP-ARMS",
+ "c_type" : "default",
+ "ref" : 0,
+ "copy" : 0,
+ "multiCounter" : 0,
+ "status" : 0,
+ "searchStr" : null,
+ "id" : 0,
+ "attr" : {
+ "rel" : "default",
+ "id" : "node_25"
+ },
+ "c_pdservice_owner" : "[admin] - 9af24080-050d-4943-b40e-d789c0f976ee",
+ "c_pdservice_reviewer01" : "[dmlee] - f4cf36a0-c680-44e8-8366-846803ced6d4",
+ "c_pdservice_reviewer02" : "none",
+ "c_pdservice_reviewer03" : "none",
+ "c_pdservice_reviewer04" : "none",
+ "c_pdservice_reviewer05" : "none",
+ "c_pdservice_writer" : null,
+ "c_pdservice_contents" : "
제품(서비스)의 기획서 및 Project Charter 의 내용을 기록합니다.
\n",
+ "c_pdservice_desc" : null,
+ "c_pdservice_etc" : "T_ARMS_REQADD_25",
+ "state" : "opened",
+ "data" : "(주)313DEVGRP-ARMS",
+ "copied" : false
+ } ],
+ "error" : null
+}
\ No newline at end of file
Index: backoffice/mock/scheduleConfig_excel.json
===================================================================
diff -u
--- backoffice/mock/scheduleConfig_excel.json (revision 0)
+++ backoffice/mock/scheduleConfig_excel.json (revision b0f4b73f704bd5b7f88a1f4e49c515d17665ff65)
@@ -0,0 +1,23 @@
+[
+ [ "Dashboard",
+ "Dashboard.Header",
+ "대시 보드",
+ "Dashboard",
+ "ダッシュボード",
+ "1"
+ ],
+ [ "Dashboard",
+ "Dashboard.Header.detail",
+ "통계 및 개요",
+ "Statistics and more",
+ "統計と概要",
+ "2"
+ ],
+ [ "Dashboard",
+ "Dashboard.Section.Header",
+ "통합 현황",
+ "Integration status",
+ "統合状況",
+ "3"
+ ]
+]
\ No newline at end of file