From a61990a30a076c17d7beeeb5c8605b24b16b06fe Mon Sep 17 00:00:00 2001 From: wyu <kknd09321@nate.com> Date: 목, 25 11월 2021 12:59:57 +0900 Subject: [PATCH] 이슈 상세 연관,하위 컬럼 수정 [프론트] --- src/main/webapp/scripts/app/issue/issueDetail.controller.js | 236 ++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 147 insertions(+), 89 deletions(-) diff --git a/src/main/webapp/scripts/app/issue/issueDetail.controller.js b/src/main/webapp/scripts/app/issue/issueDetail.controller.js index 6c65f71..0e69b70 100644 --- a/src/main/webapp/scripts/app/issue/issueDetail.controller.js +++ b/src/main/webapp/scripts/app/issue/issueDetail.controller.js @@ -8,8 +8,9 @@ 'angular' ], function (app, angular) { - app.controller('issueDetailController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$tableProvider', '$state', '$uibModal', 'SweetAlert', '$timeout', 'Issue', 'IssueComment', 'IssueRelation', 'AttachedFile', 'IssueStatus', 'IssueTableConfig', '$filter', - function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, $state, $uibModal, SweetAlert, $timeout, Issue, IssueComment, IssueRelation, AttachedFile, IssueStatus, IssueTableConfig, $filter) { + app.controller('issueDetailController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$tableProvider', '$state', '$uibModal', '$q', + '$controller', '$injector', 'SweetAlert', '$timeout', 'Issue', 'IssueComment', 'IssueRelation', 'AttachedFile', 'Priority', 'Severity','IssueStatus', 'IssueTableConfig', '$filter', + function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, $state, $uibModal, $q, $controller, $injector, SweetAlert, $timeout, Issue, IssueComment, IssueRelation, AttachedFile, Priority, Severity, IssueStatus, IssueTableConfig, $filter) { // IssueListController vm, fn 蹂��닔 �긽�냽. @@ -112,11 +113,13 @@ $scope.$parent.tableEvent.changeDetailView(issue.id); } - // �븯�쐞 �씪媛� �궘�젣 + angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); + + // �븯�쐞 �씠�뒋 �궘�젣 function removeDownIssue(id) { // �궘�젣 �븣由� SweetAlert.swal({ - title : $filter("translate")("issue.downIssueRemove"), // �뿰愿� �씪媛� �궘�젣 + title : $filter("translate")("issue.downIssueRemove"), // �븯�쐞 �씠�뒋 �궘�젣 text : $filter("translate")("issue.wantToDeleteSelectIssue"), type : "warning", showCancelButton : true, @@ -154,11 +157,11 @@ } - // �뿰愿� �씪媛� �궘�젣 + // �뿰愿� �씠�뒋 �궘�젣 function removeRelationIssue(id) { // �궘�젣 �븣由� SweetAlert.swal({ - title : $filter("translate")("issue.relationIssueRemove"), // �뿰愿� �씪媛� �궘�젣 + title : $filter("translate")("issue.relationIssueRemove"), // �뿰愿� �씠�뒋 �궘�젣 text : $filter("translate")("issue.wantToDeleteSelectIssue"), type : "warning", showCancelButton : true, @@ -202,10 +205,12 @@ } // �뀒�씠釉붿쓽 �뿰愿� �씠�뒋 而щ읆�쓣 留뚮뱾�뼱以��떎. - function setRelTableColumn(issueTableConfig) { + function setRelTableColumn(Rel_issueTableConfig) { - // �뿰愿� �씠�뒋 而щ읆 - switch(issueTableConfig.key) { + // �뿰愿� �씠�뒋 而щ읆 + switch(Rel_issueTableConfig.key) { + + // �뿰愿� �씠�뒋 援щ텇 case "RELATION_ISSUE_TYPE" : $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("issue.relationIssueType") @@ -214,6 +219,7 @@ .setHSort(false) .setDRenderer("ISSUE_RELATION_TYPE")) break; + // �뿰愿� �씠�뒋 �젣紐� case "RELATION_ISSUE_TITLE" : $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("issue.relationIssueTitle") @@ -222,78 +228,80 @@ .setHSort(false) .setDRenderer("ISSUE_RELATION_MOVE")) break; - case "PRIORITY" : // �슦�꽑�닚�쐞 + case "PRIORITY" : // �뿰愿� �씠�뒋 �슦�꽑�닚�쐞 $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("common.priority") .setDName("priorityName") .setDType("renderer") - .setHWidth("bold " + issueTableConfig.width) + .setHWidth("bold " + Rel_issueTableConfig.width) .setDAlign("text-center") - .setDRenderer("COMMON_PRIORITY")); + .setDRenderer("REL_COMMON_PRIORITY")); break; - case "SEVERITY" : // 以묒슂�룄 + case "SEVERITY" : // �뿰愿� �씠�뒋 以묒슂�룄 $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("common.importance") .setDName("severityName") .setDType("renderer") - .setHWidth("bold " + issueTableConfig.width) + .setHWidth("bold " + Rel_issueTableConfig.width) .setDAlign("text-center") - .setDRenderer("COMMON_SEVERITY")); + .setDRenderer("REL_COMMON_SEVERITY")); break; - case "ISSUE_TYPE" : // �씠�뒋 ���엯 - $scope.vm.relTableConfigs.push($tableProvider.config() - .setHName("issue.issueType") - .setHWidth("bold " + issueTableConfig.width) - .setDAlign("text-center") - .setDName("issueTypeName")); - break; - case "ASSIGNEE_TEAM" : // �떞�떦遺��꽌 + case "ASSIGNEE_TEAM" : // �뿰愿� �씠�뒋 �떞�떦遺��꽌 $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("common.assigneeTeam") .setDType("renderer") - .setHWidth("bold " + issueTableConfig.width) + .setHWidth("bold " + Rel_issueTableConfig.width) .setDAlign("text-center") - .setDRenderer("ISSUE_DEPARTMENT")); + .setDRenderer("REL_ISSUE_DEPARTMENT")); break; - case "REGISTER" : // �벑濡앹옄 + + case "REGISTER" : // �뿰愿� �씠�뒋 �벑濡앹옄 $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("common.register") .setDType("renderer") - .setHWidth("bold " + issueTableConfig.width) + .setHWidth("bold " + Rel_issueTableConfig.width) .setDAlign("text-center") - .setDRenderer("REGISTER")); + .setDRenderer("REL_REGISTER")); break; - case "PERIOD" : // 湲곌컙 + case "PERIOD" : // �뿰愿� �씠�뒋 湲곌컙 $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("common.period") .setDType("renderer") - .setHWidth("bold " + issueTableConfig.width) + .setHWidth("bold " + Rel_issueTableConfig.width) .setDAlign("text-center") - .setDRenderer("ISSUE_DUE_DATE")); + .setDRenderer("REL_ISSUE_DUE_DATE")); break; - case "MODIFY_DATE" : // 理쒓렐 蹂�寃쎌씪 + case "MODIFY_DATE" : // �뿰愿� �씠�뒋 理쒓렐 蹂�寃쎌씪 $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("common.lastChangeDate") - .setHWidth("bold " + issueTableConfig.width) + .setHWidth("bold " + Rel_issueTableConfig.width) .setDAlign("text-center") .setDName("modifyDate")); break; + // default :"ISSUE_RELATION_DELETE" // �뿰愿� �궘�젣 + // $scope.vm.relTableConfigs.push($tableProvider.config() + // .setHName("issue.downIssueTitle") + // .setDType("renderer") + // .setHWidth("bold" + issueTableConfig.width) + // .setHSort(false) + // .setDRenderer("ISSUE_RELATION_DELETE")); + // break; } // �궗�슜�옄 �젙�쓽 �븘�뱶 而щ읆 - if (issueTableConfig.key.indexOf("CUSTOM_FIELD_") !== -1) { + if (Rel_issueTableConfig.key.indexOf("CUSTOM_FIELD_") !== -1) { // 留뚯빟 �씠�뒋 �뀒�씠釉� 而щ읆紐낆씠 �몴�떆�릺吏� �븡�쑝硫� �씠履쎌씠 臾몄젣 for (var count in $scope.vm.customFields) { var customField = $scope.vm.customFields[count]; - if (customField.id === Number(issueTableConfig.key.substring(13))) { + if (customField.id === Number(Rel_issueTableConfig.key.substring(13))) { $scope.vm.relTableConfigs.push($tableProvider.config() .setHName(customField.name) .setDType("renderer") - .setHWidth("bold " + issueTableConfig.width) + .setHWidth("bold " + Rel_issueTableConfig.width) .setDAlign("text-center") .setColumnHint(customField) - .setDRenderer("ISSUE_CUSTOM_FIELD_VALUE_VIEW")); + .setDRenderer("REL_ISSUE_CUSTOM_FIELD_VALUE_VIEW")); break; } } @@ -302,98 +310,90 @@ // �뀒�씠釉붿쓽 �븯�쐞 �씠�뒋 而щ읆�쓣 留뚮뱾�뼱以��떎. - function setDownTableColumn(issueTableConfig) { + function setDownTableColumn(Down_issueTableConfig) { // if (issueTableConfig == null) return; // �븯�쐞 �씠�뒋 而щ읆 - switch(issueTableConfig.key) { - case "DOWN_ISSUE_TITLE" : // �슦�꽑�닚�쐞 + switch(Down_issueTableConfig.key) { + // �븯�쐞 �씠�뒋 �젣紐� + case "DOWN_ISSUE_TITLE" : $scope.vm.downTableConfigs.push($tableProvider.config() .setHName("issue.downIssueTitle") .setDType("renderer") - .setHWidth("bold " + issueTableConfig.width) + .setHWidth("bold " + Down_issueTableConfig.width) .setDAlign("text-center") .setDRenderer("ISSUE_DOWN_MOVE")); break; - case "PRIORITY" : // �슦�꽑�닚�쐞 + case "PRIORITY" : // �븯�쐞 �씠�뒋 �슦�꽑�닚�쐞 $scope.vm.downTableConfigs.push($tableProvider.config() .setHName("common.priority") .setDName("priorityName") .setDType("renderer") - .setHWidth("bold " + issueTableConfig.width) + .setHWidth("bold " + Down_issueTableConfig.width) .setDAlign("text-center") - .setDRenderer("COMMON_PRIORITY")); + .setDRenderer("DOWN_COMMON_PRIORITY")); break; case "SEVERITY" : // 以묒슂�룄 $scope.vm.downTableConfigs.push($tableProvider.config() .setHName("common.importance") .setDName("severityName") .setDType("renderer") - .setHWidth("bold " + issueTableConfig.width) + .setHWidth("bold " + Down_issueTableConfig.width) .setDAlign("text-center") - .setDRenderer("COMMON_SEVERITY")); - break; - case "ISSUE_TYPE" : // �씠�뒋 ���엯 - $scope.vm.downTableConfigs.push($tableProvider.config() - .setHName("issue.issueType") - .setHWidth("bold " + issueTableConfig.width) - .setDAlign("text-center") - .setDName("issueTypeName")); + .setDRenderer("DOWN_COMMON_SEVERITY")); break; case "ASSIGNEE_TEAM" : // �떞�떦遺��꽌 $scope.vm.downTableConfigs.push($tableProvider.config() .setHName("common.assigneeTeam") .setDType("renderer") - .setHWidth("bold " + issueTableConfig.width) + .setHWidth("bold " + Down_issueTableConfig.width) .setDAlign("text-center") - .setDRenderer("ISSUE_DEPARTMENT")); + .setDRenderer("DOWN_ISSUE_DEPARTMENT")); break; case "REGISTER" : // �벑濡앹옄 $scope.vm.downTableConfigs.push($tableProvider.config() .setHName("common.register") .setDType("renderer") - .setHWidth("bold " + issueTableConfig.width) + .setHWidth("bold " + Down_issueTableConfig.width) .setDAlign("text-center") - .setDRenderer("REGISTER")); + .setDRenderer("DOWN_REGISTER")); break; case "PERIOD" : // 湲곌컙 $scope.vm.downTableConfigs.push($tableProvider.config() .setHName("common.period") .setDType("renderer") - .setHWidth("bold " + issueTableConfig.width) + .setHWidth("bold " + Down_issueTableConfig.width) .setDAlign("text-center") - .setDRenderer("ISSUE_DUE_DATE")); + .setDRenderer("DOWN_ISSUE_DUE_DATE")); break; case "MODIFY_DATE" : // 理쒓렐 蹂�寃쎌씪 $scope.vm.downTableConfigs.push($tableProvider.config() .setHName("common.lastChangeDate") - .setHWidth("bold " + issueTableConfig.width) + .setHWidth("bold " + Down_issueTableConfig.width) .setDAlign("text-center") .setDName("modifyDate")); break; } // �궗�슜�옄 �젙�쓽 �븘�뱶 而щ읆 - if (issueTableConfig.key.indexOf("CUSTOM_FIELD_") === -1) { + if (Down_issueTableConfig.key.indexOf("CUSTOM_FIELD_") !== -1) { // 留뚯빟 �씠�뒋 �뀒�씠釉� 而щ읆紐낆씠 �몴�떆�릺吏� �븡�쑝硫� �씠履쎌씠 臾몄젣 for (var count in $scope.vm.customFields) { var customField = $scope.vm.customFields[count]; - if (customField.id === Number(issueTableConfig.key.substring(13))) { + if (customField.id === Number(Down_issueTableConfig.key.substring(13))) { $scope.vm.downTableConfigs.push($tableProvider.config() .setHName(customField.name) .setDType("renderer") - .setHWidth("bold " + issueTableConfig.width) + .setHWidth("bold " + Down_issueTableConfig.width) .setDAlign("text-center") .setColumnHint(customField) - .setDRenderer("ISSUE_CUSTOM_FIELD_VALUE_VIEW")); + .setDRenderer("DOWN_ISSUE_CUSTOM_FIELD_VALUE_VIEW")); break; } } } } - - // �뿰愿� �씠�뒋 �뀒�씠釉� �꽕�젙 @@ -402,21 +402,31 @@ $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("issue.relationIssueType") .setDType("renderer") - .setHWidth("width-30 bold") + .setDAlign("text-center") + .setHWidth("width-30-p bold") .setHSort(false) .setDRenderer("ISSUE_RELATION_TYPE")) $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("issue.relationIssueTitle") .setDType("renderer") - .setHWidth("width-60 bold") + .setDAlign("text-center") + .setHWidth("width-60-p bold") .setHSort(false) .setDRenderer("ISSUE_RELATION_MOVE")) + $scope.vm.relTableConfigs.push($tableProvider.config() + .setHName("issue.relationIssueDelete") + .setDType("renderer") + .setDAlign("text-center") + .setHWidth("width-20-p bold") + .setDRenderer("ISSUE_RELATION_DELETE") + .setHSort(false) + .setDAlign("text-center")) - angular.forEach($scope.vm.relTableConfigs, function (issueTableConfig) { + angular.forEach($scope.vm.relTableConfigs, function (Rel_issueTableConfig) { // �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎. - if (issueTableConfig.display) { + if (Rel_issueTableConfig.display) { // �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎. - $scope.fn.setRelTableColumn(issueTableConfig); + $scope.fn.setRelTableColumn(Rel_issueTableConfig); } }); } @@ -427,21 +437,24 @@ $scope.vm.downTableConfigs.push($tableProvider.config() .setHName("issue.downIssueTitle") .setDType("renderer") - .setHWidth("width-60 bold") + .setDAlign("text-center") + .setHWidth("width-60-p bold") .setHSort(false) .setDRenderer("ISSUE_DOWN_MOVE")) $scope.vm.downTableConfigs.push($tableProvider.config() .setHName("issue.relationIssueDelete") .setDType("renderer") - .setHWidth("width-10 bold") + .setDAlign("text-center") + .setHWidth("width-20-p bold") .setDRenderer("ISSUE_DOWN_DELETE") .setHSort(false) .setDAlign("text-center")) - angular.forEach($scope.vm.downTableConfigs, function (issueTableConfig) { + + angular.forEach($scope.vm.downTableConfigs, function (Down_issueTableConfig) { // �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎. - if (issueTableConfig.display) { + if (Down_issueTableConfig.display) { // �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎. - $scope.fn.setDownTableColumn(issueTableConfig); + $scope.fn.setDownTableColumn(Down_issueTableConfig); } }); } @@ -462,19 +475,43 @@ // �뿰愿� �뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 媛믪쓣 媛��졇���꽌 �쟻�슜�븳�떎. if ($rootScope.isDefined(issueTableConfigs)) { // �씠�뒋 �뀒�씠釉� �꽕�젙 �젙蹂대�� ���옣 �븳�떎. + $scope.vm.issueRelTableConfigs = []; $scope.vm.issueRelTableConfigs = JSON.parse(issueTableConfigs); $scope.vm.issueRelTableConfigs.sort(function (a, b) { return a.position < b.position ? -1 : a.position > b.position ? 1 : 0; }); - angular.forEach($scope.vm.issueRelTableConfigs, function (issueTableConfig) { + $scope.vm.relTableConfigs = []; + $scope.vm.relTableConfigs.push($tableProvider.config() + .setHName("issue.relationIssueType") + .setDType("renderer") + .setDAlign("text-center") + .setHWidth("width-30-p bold") + .setHSort(false) + .setDRenderer("ISSUE_RELATION_TYPE")) + $scope.vm.relTableConfigs.push($tableProvider.config() + .setHName("issue.relationIssueTitle") + .setDType("renderer") + .setDAlign("text-center") + .setHWidth("width-60-p bold") + .setHSort(false) + .setDRenderer("ISSUE_RELATION_MOVE")) + angular.forEach($scope.vm.issueRelTableConfigs, function (Rel_issueTableConfig) { // �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎. - if (issueTableConfig.display) { + if (Rel_issueTableConfig.display) { // �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎. - $scope.fn.setRelTableColumn(issueTableConfig); + $scope.fn.setRelTableColumn(Rel_issueTableConfig); + } }); + $scope.vm.relTableConfigs.push($tableProvider.config() + .setHName("issue.relationIssueDelete") + .setDType("renderer") + .setHWidth("width-20-p bold") + .setDRenderer("ISSUE_RELATION_DELETE") + .setHSort(false) + .setDAlign("text-center")) } else { makeRelTableConfigs(); @@ -507,14 +544,28 @@ $scope.vm.issueDownTableConfigs.sort(function (a, b) { return a.position < b.position ? -1 : a.position > b.position ? 1 : 0; }); - - angular.forEach($scope.vm.issueDownTableConfigs, function (issueTableConfig) { + $scope.vm.downTableConfigs = []; + $scope.vm.downTableConfigs.push($tableProvider.config() + .setHName("issue.downIssueTitle") + .setDType("renderer") + .setDAlign("text-center") + .setHWidth("width-60-p bold") + .setHSort(false) + .setDRenderer("ISSUE_DOWN_MOVE")) + angular.forEach($scope.vm.issueDownTableConfigs, function (Down_issueTableConfig) { // �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎. - if (issueTableConfig.display) { + if (Down_issueTableConfig.display) { // �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎. - $scope.fn.setDownTableColumn(issueTableConfig); + $scope.fn.setDownTableColumn(Down_issueTableConfig); } }); + $scope.vm.downTableConfigs.push($tableProvider.config() + .setHName("issue.relationIssueDelete") + .setDType("renderer") + .setHWidth("width-20-p bold") + .setDRenderer("ISSUE_DOWN_DELETE") + .setHSort(false) + .setDAlign("text-center")) } else { makeDownTableConfigs(); @@ -541,7 +592,8 @@ var contents = { relationIssueType : $scope.vm.relationIssueType.id, issueId : $rootScope.currentDetailIssueId, - relationIssueId : $scope.vm.form.issues[0].id + relationIssueId : $scope.vm.form.issues[0].id, + priorityName : $scope.vm.priorityName }; IssueRelation.add($resourceProvider.getContent( @@ -583,6 +635,12 @@ } }); } + + // �씠�뒋紐낆쓣 �겢由��븯硫� �씠�뒋 �긽�꽭 �젙蹂대�� 議고쉶�븳�떎. + $rootScope.$on("getIssueDetail", function (event, args) { + $scope.vm.viewer.id = args["id"]; + $scope.fn.getIssueDetail(); + }); // �씠�뒋紐낆쓣 �겢由��븯硫� �씠�뒋 �긽�꽭 �젙蹂대�� 議고쉶�븳�떎. $scope.$on("getIssueDetail", function (event, args) { @@ -660,7 +718,7 @@ // �뿰愿� �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 function addRelationIssueTableConfig() { $uibModal.open({ - templateUrl : 'views/issue/issueRelationTableConfig.html', + templateUrl : 'views/issue/issueAddRelationTableConfig.html', size : "lg", controller : 'issueAddRelationTableConfigController', backdrop : 'static', @@ -671,7 +729,7 @@ // �븯�쐞 �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 function addDownIssueTableConfig() { $uibModal.open({ - templateUrl : 'views/issue/issueDownTableConfig.html', + templateUrl : 'views/issue/issueAddDownTableConfig.html', size : "lg", controller : 'issueAddDownTableConfigController', backdrop : 'static', @@ -715,7 +773,7 @@ $scope.fn.getRelTableConfigs(); $scope.fn.getDownTableConfigs(); - Issue.detail($resourceProvider.getContent( + Issue.detail($resourceProvider.getContent( {id : $scope.vm.viewer.id, deep : "02"}, $resourceProvider.getPageContent(0, 1))).then(function (result) { @@ -734,7 +792,6 @@ $scope.fn.setFormByIssueTypeCustomFields(result.data.data.issueTypeCustomFieldVos); // �씠�뒋�뿉�꽌 �궗�슜�옄媛� �꽑�깮�븳 �궗�슜�옄 �젙�쓽 �븘�뱶 媛믪쓣 �엯�젰 �뤌�뿉 �뀑�똿�븳�떎. $scope.fn.setUseValueByIssueTypeCustomFields(result.data.data.issueCustomFieldValueVos); - // �뿰愿� �씪媛� $scope.vm.issueName = ""; @@ -756,7 +813,6 @@ $scope.vm.viewer.issueRelationVos = result.data.data.issueRelationVos; $scope.vm.viewer.issueDownVos = result.data.data.issueDownVos; - } } else { @@ -765,6 +821,8 @@ }); } + // =================================================================================== + // �씠�뒋 �씠誘몄� 誘몃━ 蹂닿린 留뚮뱾湲� function makePreviewImages(attachedFileVos) { // 誘몃━蹂닿린 �씠誘몄� 珥덇린�솕 -- Gitblit v1.8.0