From 3fa520f0cd36bb903b25437c745bb4f2c0eca848 Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 월, 22 11월 2021 14:24:23 +0900
Subject: [PATCH] 이슈 상세 연관,하위 테이블 표시 설정 - [프론트]

---
 src/main/webapp/scripts/app/issue/issueAddRelationTableConfig.controller.js     |    4 
 src/main/webapp/views/issue/issueAddRelationTableConfig.html                    |  101 ++++++++++++++++++++
 src/main/webapp/scripts/components/issueTableConfig/issueTableConfig.service.js |   20 +++
 src/main/webapp/i18n/ko/global.json                                             |    2 
 src/main/webapp/scripts/app/issue/issueAddDownTableConfig.controller.js         |    4 
 src/main/webapp/views/issue/issueAddDownTableConfig.html                        |  101 ++++++++++++++++++++
 src/main/webapp/views/issue/issueDetail.html                                    |    2 
 src/main/webapp/scripts/app/issue/issueDetail.controller.js                     |    2 
 src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js    |   10 +-
 9 files changed, 233 insertions(+), 13 deletions(-)

diff --git a/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js b/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js
index 7e68f05..f29a5e2 100644
--- a/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js
+++ b/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js
@@ -199,27 +199,27 @@
                                             break;
 
 
-                                        // �뿰愿� �씪媛� �씠�룞
+                                        // �뿰愿� �씠�뒋 �씠�룞
                                         case "ISSUE_RELATION_MOVE" :
                                             makeTag += "<span class=\"titlename cursor\" ng-click=\"event.changeDetailView(data.issueRelation)\">" + scope.data.title + "</span></a>";
                                             break;
 
-                                        // �뿰愿� �씪媛� �씠�룞
+                                        // �뿰愿� �씠�뒋 �씠�룞
                                         case "ISSUE_DOWN_MOVE" :
                                             makeTag += "<span class=\"titlename cursor\" ng-click=\"event.changeDetailView(data.id)\">" + scope.data.title + "</span></a>";
                                             break;
 
-                                            // �뿰愿��씪媛� 援щ텇
+                                            // �뿰愿��씠�뒋 援щ텇
                                         case "ISSUE_RELATION_TYPE":
                                             makeTag += "<span>" + scope.data.relationIssueTypeName + "</span>";
                                             break;
 
-                                            // �뿰愿��씪媛� �궘�젣
+                                            // �뿰愿��씠�뒋 �궘�젣
                                         case "ISSUE_RELATION_DELETE":
                                             makeTag += '<img class="cursor" src="/assets/images/delete-icon.png" ng-click="event.removeRelationIssue(data.id)">';
                                             break;
 
-                                        // �븯�쐞 �씪媛� �궘�젣
+                                        // �븯�쐞 �씠�뒋 �궘�젣
                                         case "ISSUE_DOWN_DELETE":
                                             makeTag += '<img class="cursor" src="/assets/images/delete-icon.png" ng-click="event.removeDownIssue(data.id)">';
                                             break;
diff --git a/src/main/webapp/i18n/ko/global.json b/src/main/webapp/i18n/ko/global.json
index ffd617d..10bfc0a 100644
--- a/src/main/webapp/i18n/ko/global.json
+++ b/src/main/webapp/i18n/ko/global.json
@@ -237,6 +237,8 @@
         "failedToGetCommentListData": "�뙎湲� 紐⑸줉 �뜲�씠�꽣 媛��졇�삤湲� �떎�뙣",
         "failedToAttachmentList": "泥⑤� �뙆�씪 紐⑸줉 議고쉶 �떎�뙣",
         "setIssueTableDisplay": "�씠�뒋 �뀒�씠釉� �몴�떆 �꽕�젙",
+        "setIssueRelationTableDisplay": "�뿰愿� �씠�뒋 �뀒�씠釉� �몴�떆 �꽕�젙",
+        "setIssueDownTableDisplay": "�븯�쐞 �씠�뒋 �뀒�씠釉� �몴�떆 �꽕�젙",
         "columnName": "而щ읆紐�",
         "area": "�꼻�씠",
         "displayed": "�몴�떆 �뿬遺�",
diff --git a/src/main/webapp/scripts/app/issue/issueAddDownTableConfig.controller.js b/src/main/webapp/scripts/app/issue/issueAddDownTableConfig.controller.js
index 4ac07b3..f022efe 100644
--- a/src/main/webapp/scripts/app/issue/issueAddDownTableConfig.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueAddDownTableConfig.controller.js
@@ -88,7 +88,7 @@
                         issueTableConfigs : JSON.stringify($scope.vm.issueTableConfigs)
                     };
 
-                    IssueTableConfig.addDown($resourceProvider.getContent(content,
+                    IssueTableConfig.downAdd($resourceProvider.getContent(content,
                         $resourceProvider.getPageContent(0, 0))).then(function (result) {
 
                         if (result.data.message.status === "success") {
@@ -132,7 +132,7 @@
                 function getIssueTableConfigs() {
                     var deferred = $q.defer();
 
-                    IssueTableConfig.detail($resourceProvider.getContent({},
+                    IssueTableConfig.downDetail($resourceProvider.getContent({},
                         $resourceProvider.getPageContent(0, 1000))).then(function (result) {
                         if (result.data.message.status !== "success") {
                             SweetAlert.error($filter("translate")("issue.failedToIssueTableColumnLookup"), result.data.message.message); // �씠�뒋 �뀒�씠釉� 而щ읆 議고쉶 �떎�뙣
diff --git a/src/main/webapp/scripts/app/issue/issueAddRelationTableConfig.controller.js b/src/main/webapp/scripts/app/issue/issueAddRelationTableConfig.controller.js
index c6775e8..c6ea68c 100644
--- a/src/main/webapp/scripts/app/issue/issueAddRelationTableConfig.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueAddRelationTableConfig.controller.js
@@ -88,7 +88,7 @@
                         issueTableConfigs : JSON.stringify($scope.vm.issueTableConfigs)
                     };
 
-                    IssueTableConfig.addRelation($resourceProvider.getContent(content,
+                    IssueTableConfig.relationAdd($resourceProvider.getContent(content,
                         $resourceProvider.getPageContent(0, 0))).then(function (result) {
 
                         if (result.data.message.status === "success") {
@@ -132,7 +132,7 @@
                 function getIssueTableConfigs() {
                     var deferred = $q.defer();
 
-                    IssueTableConfig.detail($resourceProvider.getContent({},
+                    IssueTableConfig.relationDetail($resourceProvider.getContent({},
                         $resourceProvider.getPageContent(0, 1000))).then(function (result) {
                         if (result.data.message.status !== "success") {
                             SweetAlert.error($filter("translate")("issue.failedToIssueTableColumnLookup"), result.data.message.message); // �씠�뒋 �뀒�씠釉� 而щ읆 議고쉶 �떎�뙣
diff --git a/src/main/webapp/scripts/app/issue/issueDetail.controller.js b/src/main/webapp/scripts/app/issue/issueDetail.controller.js
index c21fadc..7230150 100644
--- a/src/main/webapp/scripts/app/issue/issueDetail.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueDetail.controller.js
@@ -78,6 +78,7 @@
                 };
 
                 $scope.vm.issueName = "";       // �꽑�깮�맂 �뿰愿� �씪媛� �씠由�
+                $scope.vm.issueId = "";       //
                 $scope.vm.autoCompletePage = {
                     issue : {
                         page : 0,
@@ -266,6 +267,7 @@
                     }
 
                     var contents = {
+                        issueId : $rootScope.currentDetailIssueId,
                         id : $scope.vm.form.issuesDown[0].id,
                         parentIssueId : $rootScope.currentDetailIssueId
                     };
diff --git a/src/main/webapp/scripts/components/issueTableConfig/issueTableConfig.service.js b/src/main/webapp/scripts/components/issueTableConfig/issueTableConfig.service.js
index 9310243..6603a78 100644
--- a/src/main/webapp/scripts/components/issueTableConfig/issueTableConfig.service.js
+++ b/src/main/webapp/scripts/components/issueTableConfig/issueTableConfig.service.js
@@ -19,19 +19,33 @@
                 });
             },
 
-            addRelation : function (conditions) {
+            relationAdd : function (conditions) {
                 return $http.post("issueTableConfig/relationAdd", conditions).then(function (response) {
                     $log.debug("�뿰愿� �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 �벑濡� : ", response);
                     return response;
                 });
             },
 
-            addDown : function (conditions) {
+            relationDetail : function (conditions) {
+                return $http.post("issueTableConfig/relationDetail", conditions).then(function (response) {
+                    $log.debug("�뿰愿� �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 �긽�꽭 議고쉶 : ", response);
+                    return response;
+                });
+            },
+
+            downAdd : function (conditions) {
                 return $http.post("issueTableConfig/downAdd", conditions).then(function (response) {
                     $log.debug("�븯�쐞 �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 �벑濡� : ", response);
                     return response;
                 });
-            }
+            },
+
+            downDetail : function (conditions) {
+                return $http.post("issueTableConfig/downDetail", conditions).then(function (response) {
+                    $log.debug("�븯�쐞 紐⑸줉 �뀒�씠釉� �꽕�젙 �긽�꽭 議고쉶 : ", response);
+                    return response;
+                });
+            },
         }
     }
     ])
diff --git a/src/main/webapp/views/issue/issueAddDownTableConfig.html b/src/main/webapp/views/issue/issueAddDownTableConfig.html
new file mode 100644
index 0000000..94e8e82
--- /dev/null
+++ b/src/main/webapp/views/issue/issueAddDownTableConfig.html
@@ -0,0 +1,101 @@
+<div class="formModal">
+    <div class="modal-header faded smaller">
+        <div class="modal-title">
+            <strong translate="issue.setIssueDownTableDisplay">�븯�쐞 �씠�뒋 �뀒�씠釉� �몴�떆 �꽕�젙</strong>
+        </div>
+        <button aria-label="Close" class="close" type="button" ng-click="fn.cancel()">
+            <span aria-hidden="true"> &times;</span>
+        </button>
+    </div>
+
+    <div class="modal-body">
+        <form role="form" name="issueTableConfigForm">
+            <table class="table table-dash table-lightborder table-layout-fixed">
+                <thead>
+                <tr>
+                    <th class="text-center width-80-p">
+                        <span translate="issue.columnName">而щ읆紐�</span>
+                    </th>
+                    <th class="text-center width-80-p">
+                        <span translate="issue.area">�꼻�씠</span>
+                    </th>
+                    <th class="text-center width-80-p">
+                        <span translate="issue.displayed">�몴�떆 �뿬遺�</span>
+                    </th>
+                    <th class="text-center width-40-p">
+                        <span translate="issue.sequence">�닚�꽌</span>
+                    </th>
+                </tr>
+                </thead>
+                <tbody>
+                <tr>
+                    <td class="text-center">
+                        <span class="bold" translate="issue.downIssueType">�븯�쐞 �씠�뒋 援щ텇</span>
+                    </td>
+                    <td class="text-center" colspan="3">
+                        <span class="text-danger bold" translate="issue.cannotChangedIssueTitle">�씠�뒋 �젣紐⑹� 蹂�寃쏀븷 �닔 �뾾�뒿�땲�떎.</span>
+                    </td>
+                    <td class="text-center">
+                        <span class="bold" translate="issue.downIssueTitle">�븯�쐞 �씠�뒋 �젣紐�</span>
+                    </td>
+                    <td class="text-center" colspan="3">
+                        <span class="text-danger bold" translate="issue.cannotChangedIssueTitle">�씠�뒋 �젣紐⑹� 蹂�寃쏀븷 �닔 �뾾�뒿�땲�떎.</span>
+                    </td>
+                </tr>
+                <tr ng-repeat="issueTableConfig in vm.issueTableConfigs">
+                    <td class="text-center">
+                        <span class="bold">{{issueTableConfig.name}}</span>
+                    </td>
+                    <td class="text-center">
+                        <select class="form-control" ng-model="issueTableConfig.width">
+                            <option>�꽑�깮�븯�꽭�슂.</option>
+                            <option value="width-20-p">20px</option>
+                            <option value="width-30-p">30px</option>
+                            <option value="width-40-p">40px</option>
+                            <option value="width-50-p">50px</option>
+                            <option value="width-60-p">60px</option>
+                            <option value="width-70-p">70px</option>
+                            <option value="width-80-p">80px</option>
+                            <option value="width-90-p">90px</option>
+                            <option value="width-100-p">100px</option>
+                            <option value="width-110-p">110px</option>
+                            <option value="width-120-p">120px</option>
+                            <option value="width-130-p">130px</option>
+                            <option value="width-140-p">140px</option>
+                            <option value="width-150-p">150px</option>
+                            <option value="width-160-p">160px</option>
+                            <option value="width-170-p">170px</option>
+                            <option value="width-180-p">180px</option>
+                            <option value="width-190-p">190px</option>
+                            <option value="width-200-p">200px</option>
+                            <option value="width-220-p">220px</option>
+                            <option value="width-240-p">240px</option>
+                            <option value="width-260-p">260px</option>
+                            <option value="width-280-p">280px</option>
+                            <option value="width-300-p">300px</option>
+                            <option value="width-20">20%</option>
+                            <option value="width-30">30%</option>
+                            <option value="width-40">40%</option>
+                            <option value="width-50">50%</option>
+                        </select>
+                    </td>
+                    <td class="text-center">
+                        <label class='switch'><input type='checkbox' ng-model='issueTableConfig.display'><span class='slider round'></span></label>
+                    </td>
+                    <td class="text-center">
+                        <input type="text" class="form-control" ng-model="issueTableConfig.position" maxlength="2" input-regex="[^0-9]">
+                    </td>
+                </tr>
+                </tbody>
+            </table>
+        </form>
+    </div>
+
+    <div class="modal-footer buttons-on-right">
+        <button type="button" class="btn btn-md btn-grey" ng-click="fn.cancel()"><span translate="common.close">�떕湲�</span></button>
+        <button type="button" class="btn btn-md btn-primary bold"
+                ng-disabled="fn.formCheck(issueTableConfigForm.$invalid)"
+                ng-click="fn.formSubmit()"><span translate="common.save">���옣</span>
+        </button>
+    </div>
+</div>
diff --git a/src/main/webapp/views/issue/issueAddRelationTableConfig.html b/src/main/webapp/views/issue/issueAddRelationTableConfig.html
new file mode 100644
index 0000000..e6b7b19
--- /dev/null
+++ b/src/main/webapp/views/issue/issueAddRelationTableConfig.html
@@ -0,0 +1,101 @@
+<div class="formModal">
+    <div class="modal-header faded smaller">
+        <div class="modal-title">
+            <strong translate="issue.setIssueRelationTableDisplay">�뿰愿� �씠�뒋 �뀒�씠釉� �몴�떆 �꽕�젙</strong>
+        </div>
+        <button aria-label="Close" class="close" type="button" ng-click="fn.cancel()">
+            <span aria-hidden="true"> &times;</span>
+        </button>
+    </div>
+
+    <div class="modal-body">
+        <form role="form" name="issueTableConfigForm">
+            <table class="table table-dash table-lightborder table-layout-fixed">
+                <thead>
+                <tr>
+                    <th class="text-center width-80-p">
+                        <span translate="issue.columnName">而щ읆紐�</span>
+                    </th>
+                    <th class="text-center width-80-p">
+                        <span translate="issue.area">�꼻�씠</span>
+                    </th>
+                    <th class="text-center width-80-p">
+                        <span translate="issue.displayed">�몴�떆 �뿬遺�</span>
+                    </th>
+                    <th class="text-center width-40-p">
+                        <span translate="issue.sequence">�닚�꽌</span>
+                    </th>
+                </tr>
+                </thead>
+                <tbody>
+                <tr>
+                    <td class="text-center">
+                        <span class="bold" translate="issue.relationIssueType">�뿰愿� �씠�뒋 援щ텇</span>
+                    </td>
+                    <td class="text-center" colspan="3">
+                        <span class="text-danger bold" translate="issue.cannotChangedIssueTitle">�씠�뒋 �젣紐⑹� 蹂�寃쏀븷 �닔 �뾾�뒿�땲�떎.</span>
+                    </td>
+                    <td class="text-center">
+                        <span class="bold" translate="issue.relationIssueTitle">�뿰愿� �씠�뒋 援щ텇</span>
+                    </td>
+                    <td class="text-center" colspan="3">
+                        <span class="text-danger bold" translate="issue.cannotChangedIssueTitle">�씠�뒋 �젣紐⑹� 蹂�寃쏀븷 �닔 �뾾�뒿�땲�떎.</span>
+                    </td>
+                </tr>
+                <tr ng-repeat="issueTableConfig in vm.issueTableConfigs">
+                    <td class="text-center">
+                        <span class="bold">{{issueTableConfig.name}}</span>
+                    </td>
+                    <td class="text-center">
+                        <select class="form-control" ng-model="issueTableConfig.width">
+                            <option>�꽑�깮�븯�꽭�슂.</option>
+                            <option value="width-20-p">20px</option>
+                            <option value="width-30-p">30px</option>
+                            <option value="width-40-p">40px</option>
+                            <option value="width-50-p">50px</option>
+                            <option value="width-60-p">60px</option>
+                            <option value="width-70-p">70px</option>
+                            <option value="width-80-p">80px</option>
+                            <option value="width-90-p">90px</option>
+                            <option value="width-100-p">100px</option>
+                            <option value="width-110-p">110px</option>
+                            <option value="width-120-p">120px</option>
+                            <option value="width-130-p">130px</option>
+                            <option value="width-140-p">140px</option>
+                            <option value="width-150-p">150px</option>
+                            <option value="width-160-p">160px</option>
+                            <option value="width-170-p">170px</option>
+                            <option value="width-180-p">180px</option>
+                            <option value="width-190-p">190px</option>
+                            <option value="width-200-p">200px</option>
+                            <option value="width-220-p">220px</option>
+                            <option value="width-240-p">240px</option>
+                            <option value="width-260-p">260px</option>
+                            <option value="width-280-p">280px</option>
+                            <option value="width-300-p">300px</option>
+                            <option value="width-20">20%</option>
+                            <option value="width-30">30%</option>
+                            <option value="width-40">40%</option>
+                            <option value="width-50">50%</option>
+                        </select>
+                    </td>
+                    <td class="text-center">
+                        <label class='switch'><input type='checkbox' ng-model='issueTableConfig.display'><span class='slider round'></span></label>
+                    </td>
+                    <td class="text-center">
+                        <input type="text" class="form-control" ng-model="issueTableConfig.position" maxlength="2" input-regex="[^0-9]">
+                    </td>
+                </tr>
+                </tbody>
+            </table>
+        </form>
+    </div>
+
+    <div class="modal-footer buttons-on-right">
+        <button type="button" class="btn btn-md btn-grey" ng-click="fn.cancel()"><span translate="common.close">�떕湲�</span></button>
+        <button type="button" class="btn btn-md btn-primary bold"
+                ng-disabled="fn.formCheck(issueTableConfigForm.$invalid)"
+                ng-click="fn.formSubmit()"><span translate="common.save">���옣</span>
+        </button>
+    </div>
+</div>
diff --git a/src/main/webapp/views/issue/issueDetail.html b/src/main/webapp/views/issue/issueDetail.html
index 5385b12..1b7b9f4 100644
--- a/src/main/webapp/views/issue/issueDetail.html
+++ b/src/main/webapp/views/issue/issueDetail.html
@@ -446,7 +446,7 @@
                         <div class="col-auto vertical-middle">
                             <button type="button" class="btn btn-primary form-control input-sm"
                                     ng-click="fn.addRelationIssue()"
-                                    translate="issue.addRelationIssue">異붽�</button>
+                                    translate="issue.addRelationIssue">�뿰愿� �씠�뒋 異붽�</button>
                         </div>
 
                     </div>

--
Gitblit v1.8.0