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"> ×</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"> ×</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