From b69416fc721e8f0eb478536bf0d98ae3f6c4811e Mon Sep 17 00:00:00 2001 From: wyu <kknd09321@nate.com> Date: 수, 24 11월 2021 17:57:08 +0900 Subject: [PATCH] 이슈 상세 연관,하위 테이블 표시 설정 - [프론트] --- src/main/webapp/scripts/app/issue/issueDetail.controller.js | 128 ++++++++++++++++++++++++++++++++++-------- 1 files changed, 102 insertions(+), 26 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..065b0f6 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, @@ -204,7 +207,7 @@ // �뀒�씠釉붿쓽 �뿰愿� �씠�뒋 而щ읆�쓣 留뚮뱾�뼱以��떎. function setRelTableColumn(issueTableConfig) { - // �뿰愿� �씠�뒋 而щ읆 + // �뿰愿� �씠�뒋 而щ읆 switch(issueTableConfig.key) { case "RELATION_ISSUE_TYPE" : $scope.vm.relTableConfigs.push($tableProvider.config() @@ -222,23 +225,23 @@ .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) .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) .setDAlign("text-center") - .setDRenderer("COMMON_SEVERITY")); + .setDRenderer("REL_COMMON_SEVERITY")); break; case "ISSUE_TYPE" : // �씠�뒋 ���엯 $scope.vm.relTableConfigs.push($tableProvider.config() @@ -255,13 +258,14 @@ .setDAlign("text-center") .setDRenderer("ISSUE_DEPARTMENT")); break; + case "REGISTER" : // �벑濡앹옄 $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("common.register") .setDType("renderer") .setHWidth("bold " + issueTableConfig.width) .setDAlign("text-center") - .setDRenderer("REGISTER")); + .setDRenderer("REL_REGISTER")); break; case "PERIOD" : // 湲곌컙 $scope.vm.relTableConfigs.push($tableProvider.config() @@ -278,6 +282,14 @@ .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; } // �궗�슜�옄 �젙�쓽 �븘�뱶 而щ읆 @@ -287,7 +299,7 @@ var customField = $scope.vm.customFields[count]; if (customField.id === Number(issueTableConfig.key.substring(13))) { - $scope.vm.relTableConfigs.push($tableProvider.config() + $scope.vm.tableConfigs.push($tableProvider.config() .setHName(customField.name) .setDType("renderer") .setHWidth("bold " + issueTableConfig.width) @@ -307,7 +319,7 @@ // �븯�쐞 �씠�뒋 而щ읆 switch(issueTableConfig.key) { - case "DOWN_ISSUE_TITLE" : // �슦�꽑�닚�쐞 + case "DOWN_ISSUE_TITLE" : // �븯�쐞 �씠�뒋 �젣紐� $scope.vm.downTableConfigs.push($tableProvider.config() .setHName("issue.downIssueTitle") .setDType("renderer") @@ -394,23 +406,31 @@ } - - // �뿰愿� �씠�뒋 �뀒�씠釉� �꽕�젙 function makeRelTableConfigs() { $scope.vm.relTableConfigs = []; $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) { // �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎. @@ -427,16 +447,19 @@ $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) { // �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎. if (issueTableConfig.display) { @@ -462,19 +485,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; }); + $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 (issueTableConfig) { // �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎. if (issueTableConfig.display) { // �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎. $scope.fn.setRelTableColumn(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,7 +554,14 @@ $scope.vm.issueDownTableConfigs.sort(function (a, b) { return a.position < b.position ? -1 : a.position > b.position ? 1 : 0; }); - + $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 (issueTableConfig) { // �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎. if (issueTableConfig.display) { @@ -515,6 +569,13 @@ $scope.fn.setDownTableColumn(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 +602,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 +645,12 @@ } }); } + + // �씠�뒋紐낆쓣 �겢由��븯硫� �씠�뒋 �긽�꽭 �젙蹂대�� 議고쉶�븳�떎. + $rootScope.$on("getIssueDetail", function (event, args) { + $scope.vm.viewer.id = args["id"]; + $scope.fn.getIssueDetail(); + }); // �씠�뒋紐낆쓣 �겢由��븯硫� �씠�뒋 �긽�꽭 �젙蹂대�� 議고쉶�븳�떎. $scope.$on("getIssueDetail", function (event, args) { @@ -660,7 +728,7 @@ // �뿰愿� �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 function addRelationIssueTableConfig() { $uibModal.open({ - templateUrl : 'views/issue/issueRelationTableConfig.html', + templateUrl : 'views/issue/issueAddRelationTableConfig.html', size : "lg", controller : 'issueAddRelationTableConfigController', backdrop : 'static', @@ -671,7 +739,7 @@ // �븯�쐞 �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 function addDownIssueTableConfig() { $uibModal.open({ - templateUrl : 'views/issue/issueDownTableConfig.html', + templateUrl : 'views/issue/issueAddDownTableConfig.html', size : "lg", controller : 'issueAddDownTableConfigController', backdrop : 'static', @@ -715,7 +783,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) { @@ -754,9 +822,15 @@ $scope.vm.form.issuesDown.push(issueDownVo.issue); }); + + // // wyu + // angular.forEach(result.data.data.issueRelationVos, function (issueRelationColum){ + // issueRelationColum.issueRelation = $scope.vm.issueRelation; + // $scope.vm.form.issues.push(issueRelationColum.issueRelation); + // }); + $scope.vm.viewer.issueRelationVos = result.data.data.issueRelationVos; $scope.vm.viewer.issueDownVos = result.data.data.issueDownVos; - } } else { @@ -765,6 +839,8 @@ }); } + // =================================================================================== + // �씠�뒋 �씠誘몄� 誘몃━ 蹂닿린 留뚮뱾湲� function makePreviewImages(attachedFileVos) { // 誘몃━蹂닿린 �씠誘몄� 珥덇린�솕 -- Gitblit v1.8.0