From 612b5a21417f3c8dcaed84c1c0691dc883088f61 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 금, 18 2월 2022 18:04:14 +0900 Subject: [PATCH] 이슈 컬럼 정렬 진행 --- src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | 8 ++++++++ src/main/java/kr/wisestone/owl/vo/IssueCustomFieldValueVo.java | 12 ++++++++++++ src/main/resources/mybatis/query-template/issue-template.xml | 1 + src/main/webapp/scripts/app/issue/issueList.controller.js | 6 ++++-- src/main/webapp/custom_components/js-table/js-table.html | 2 +- src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js | 27 +++++++++++++++++++++++---- 6 files changed, 49 insertions(+), 7 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java index 654acc7..0e8375e 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java @@ -2848,8 +2848,16 @@ for (IssueVo issueVo : issueVos) { for (Map<String, Object> issueCustomFieldValue : issueCustomFieldValues) { + int count = 0; + Map<String, Object> useValues = new HashMap<>(); + if (issueVo.getId().equals(MapUtil.getLong(issueCustomFieldValue, "issueId"))) { IssueCustomFieldValueVo issueCustomFieldValueVo = new IssueCustomFieldValueVo(); + + useValues.put("useValue"+count, MapUtil.getString(issueCustomFieldValue, "useValue")); + useValues.put("customFieldId", MapUtil.getLong(issueCustomFieldValue, "customFieldId")); + issueCustomFieldValueVo.setUseValues(useValues); + issueCustomFieldValueVo.setUseValue(MapUtil.getString(issueCustomFieldValue, "useValue")); CustomFieldVo customFieldVo = new CustomFieldVo(); diff --git a/src/main/java/kr/wisestone/owl/vo/IssueCustomFieldValueVo.java b/src/main/java/kr/wisestone/owl/vo/IssueCustomFieldValueVo.java index e5be303..0ebdd86 100644 --- a/src/main/java/kr/wisestone/owl/vo/IssueCustomFieldValueVo.java +++ b/src/main/java/kr/wisestone/owl/vo/IssueCustomFieldValueVo.java @@ -1,5 +1,7 @@ package kr.wisestone.owl.vo; +import java.util.Map; + /** * Created by wisestone on 2018-06-01. */ @@ -7,6 +9,8 @@ private Long id; private String useValue; private CustomFieldVo customFieldVo; + + private Map<String, Object> useValues; public IssueCustomFieldValueVo(){} @@ -33,4 +37,12 @@ public void setCustomFieldVo(CustomFieldVo customFieldVo) { this.customFieldVo = customFieldVo; } + + public Map<String, Object> getUseValues() { + return useValues; + } + + public void setUseValues(Map<String, Object> useValues) { + this.useValues = useValues; + } } diff --git a/src/main/resources/mybatis/query-template/issue-template.xml b/src/main/resources/mybatis/query-template/issue-template.xml index df5144f..96b5c07 100644 --- a/src/main/resources/mybatis/query-template/issue-template.xml +++ b/src/main/resources/mybatis/query-template/issue-template.xml @@ -36,6 +36,7 @@ ic.name AS companyName, ii.name AS ispName, ih.name AS hostingName, + d.department_name AS departmentName, GROUP_CONCAT(issue_custom.use_value) AS useValue, IFNULL(temp_attached_file.attachedFileCount, 0) as attachedFileCount, IFNULL(temp_issue_comment.issueCommentCount, 0) as issueCommentCount diff --git a/src/main/webapp/custom_components/js-table/js-table.html b/src/main/webapp/custom_components/js-table/js-table.html index a6e0d08..b583754 100644 --- a/src/main/webapp/custom_components/js-table/js-table.html +++ b/src/main/webapp/custom_components/js-table/js-table.html @@ -4,7 +4,7 @@ <tr ng-if="hideHeader != true"> <th bindonce ng-repeat="tableConfig in tableConfigs" bo-class="[tableConfig.hAlign, tableConfig.hWidth, tableConfig.dVisible]" - ng-click="$root.$tableProvider.setOrderByColumn(tableConfig.dName)" + ng-click="!tableConfig.dName.contains('useValue') ? $root.$tableProvider.setOrderByColumn(tableConfig.dName) : $root.$tableProvider.setOrderByColumn(tableConfig.dName)" bo-style="{ 'cursor' : tableConfig.dName != '' ? 'pointer' : '' }" rowspan="{{tableConfig.rowSpan}}" colspan="{{tableConfig.colSpan}}" 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 f4160fe..4e39a14 100644 --- a/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js +++ b/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js @@ -439,6 +439,7 @@ break; // �씠�뒋 �젣紐� case "ISSUE_TITLE" : + scope.data.title = scope.data.title.replace(/</gi, '<'); makeTag += '<div class="tags text-left">'; makeTag += '<i class="fa fa-star move-star" ng-show="$root.currentDetailIssueId == data.id"> </i>'; makeTag += '<span class="number-tag">' + scope.data.projectKey + ' - ' + scope.data.issueNumber + '</span>'; @@ -449,7 +450,7 @@ makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"#EF8D9A" + "\"," + "\"border-color\"" + " : \"#EF8D9A" + "\", \"color\": \"#FFFFFF\" }'>" + "<span>API</span>" + "</span>"; } makeTag += '</div>'; - makeTag += '<div class="titlename cursor text-left" ng-click="event.changeDetailView(data.id)">' + scope.data.title.replace(/</gi, '<') + '</div>'; + makeTag += '<div class="titlename cursor text-left" ng-click="event.changeDetailView(data.id)" translate="' + scope.data.title + '">' + '</div>'; makeTag += '<div class="extra-infodiv text-left">'; makeTag += '<span class="extra-info">'; makeTag += '<i class="os-icon os-icon-mail-12"></i>'; @@ -482,7 +483,8 @@ makeTag += "<ul ng-click=\"event.changeDetailView(data.id)\" class='ul-not-comma cursor'>"; makeTag += "<div style='color: #000000'>"; angular.forEach(scope.data.departmentVos, function (departments) { - makeTag += "<li>" + departments.departmentName + "</li>"; + scope.data.departmentName = departments.departmentName; + makeTag += "<li translate='" + scope.data.departmentName + "'>" + "</li>"; }); makeTag += "</div>"; makeTag += "</ul>"; @@ -712,17 +714,34 @@ case "ISSUE_CUSTOM_FIELD_VALUE_VIEW" : var values = []; + let valueMap = new Map(); + //scope.data.useValue = ""; for (var count in scope.data.issueCustomFieldValueVos) { var issueCustomFieldValueVo = scope.data.issueCustomFieldValueVos[count]; + + valueMap.set("useValue"+count, issueCustomFieldValueVo.useValue); + + $window[scope.data.useValue+count] = valueMap.get("useValue"+count); + //window["scope.data.useValue"+count] = scope.data.useValue+count; + //console.log(scope.data.useValue+count); + + /*window[scope.data.useValue+count] = valueMap.get("useValue"+count); + console.log("window" + window[scope.data.useValue+count]); + console.log("map" + valueMap.get("useValue"+count));*/ + + scope.data.useValue = valueMap.get("useValue"+count); + makeTag += '<span ng-click="event.changeDetailView(data.id)" class="table-word-break-all cursor">' + scope.data.useValue+count + '<span>'; + // �뀒�씠釉� �꽕�젙�뿉�꽌 dName 遺�遺꾩뿉 �궗�슜�옄 �젙�쓽 �븘�뱶 id 瑜� �꽔怨� �빐�떦 媛믪쓣 異붿텧�븳�떎. if (tableConfig.columnHint.id === issueCustomFieldValueVo.customFieldVo.id) { values.push(issueCustomFieldValueVo.useValue); } } - angular.forEach(values, function (value) { - makeTag += '<span ng-click="event.changeDetailView(data.id)" class="table-word-break-all cursor">' + value + '<span><br>'; + angular.forEach(values, function (useValue) { + scope.data.useValue = useValue; + makeTag += '<span ng-click="event.changeDetailView(data.id)" class="table-word-break-all cursor">' + scope.data.useValue + '<span>'; }); break; diff --git a/src/main/webapp/scripts/app/issue/issueList.controller.js b/src/main/webapp/scripts/app/issue/issueList.controller.js index ffdec54..03f3cc1 100644 --- a/src/main/webapp/scripts/app/issue/issueList.controller.js +++ b/src/main/webapp/scripts/app/issue/issueList.controller.js @@ -446,20 +446,22 @@ // �궗�슜�옄 �젙�쓽 �븘�뱶 而щ읆 if (issueTableConfig.key.indexOf("CUSTOM_FIELD_") !== -1) { + let cnt = -1; + // 留뚯빟 �씠�뒋 �뀒�씠釉� 而щ읆紐낆씠 �몴�떆�릺吏� �븡�쑝硫� �씠履쎌씠 臾몄젣 for (var count in $scope.vm.customFields) { var customField = $scope.vm.customFields[count]; if (customField.id === Number(issueTableConfig.key.substring(13))) { + cnt ++; $scope.vm.tableConfigs.push($tableProvider.config() .setHName(customField.name) .setDType("renderer") - .setDName("useValue" + count.toString()) /* todo 泥댄겕*/ + .setDName("useValue"+cnt) /* todo 泥댄겕*/ .setHWidth("bold " + issueTableConfig.width) .setDAlign("text-center") .setColumnHint(customField) .setDRenderer("ISSUE_CUSTOM_FIELD_VALUE_VIEW")); - break; } } } -- Gitblit v1.8.0