From 30ddd2cf095d2857ba1134fb3deaf51392ef1030 Mon Sep 17 00:00:00 2001 From: jhjang <jhjang@maprex.co.kr> Date: 화, 07 12월 2021 21:31:45 +0900 Subject: [PATCH] Merge branch 'master' of http://192.168.0.25:9001/r/owl-kisa --- src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js | 257 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 242 insertions(+), 15 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 068d62f..f1ae81c 100644 --- a/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js +++ b/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js @@ -81,6 +81,13 @@ } break; + // �봽濡쒖젥�듃 �씠由�(�봽濡쒖젥�듃 由ъ뒪�듃�뿉�꽌 �궗�슜) + case "PROJECT_BASIC_NAME" : + if (scope.data.projectVo != null) { + makeTag += "<span class='titlenameSelect'>" + myToken + scope.data.projectVo.name.replace(/</gi, '<') + "</span>"; + } + break; + // �봽濡쒖젥�듃 紐⑸줉�뿉�꽌 �궗�슜�옄 �젙�쓽 �븘�뱶 �꽕�젙 �몴�떆 case "CUSTOM_FIELD_CONFIG" : // 愿�由ъ옄留� �닔�젙�븷 �닔 �엳�떎. @@ -92,6 +99,16 @@ // �봽濡쒖젥�듃 ���썝 �젙蹂� case "PROJECT_USER": makeTag += '<div owl-profile-over class="" table-user-image="data" target="projectUserVos"></div>'; + break; + + case "PROJECT_DEPARTMENT": + makeTag += "<ul class='ul-not-comma'>"; + makeTag += "<div style='cursor: pointer; color: #000000'>"; + angular.forEach(scope.data.projectDepartmentVos, function (departments) { + makeTag += "<li>" + departments.departmentName + "</li>"; + }); + makeTag += "</div>"; + makeTag += "</ul>"; break; case "ISSUE_STATUS_TYPE" : @@ -147,17 +164,38 @@ makeTag += "</ul>"; break; + case "WORKFLOW_DEPARTMENT_LIST" : + makeTag += "<ul class='ul-not-comma'>"; + + if(scope.data.issueStatusVos != null && scope.data.issueStatusVos.length > 0){ + makeTag += "<div>"; + angular.forEach(scope.data.issueStatusVos, function (issueStatusVo) { + let workflowDepartments = new Set(issueStatusVo.workflowDepartmentVos); + angular.forEach(workflowDepartments, function (workflowDepartmentVo) { + makeTag += "<li>" + workflowDepartmentVo.departmentVo.departmentName + "</li>"; + }); + }); + makeTag += "</div>"; + } + makeTag += "</ul>"; + break; + case "CONFIG" : makeTag += '<a ng-click="event.modify(data.id)"><i class="fa fa-pencil fa-lg" uib-tooltip="�닔�젙"></i></a>'; break; // �씠�뒋 紐⑸줉�뿉�꽌 湲곌컙 �몴�떆 case "ISSUE_DUE_DATE" : if (!$rootScope.isDefined(scope.data.startDate) && !$rootScope.isDefined(scope.data.completeDate)) { - makeTag += "<span></span>"; + makeTag += "<span translate='common.noDate'>湲곌컙 �뾾�쓬</span>"; } else { - makeTag += "<span>" + scope.data.startDate + " ~ " + scope.data.completeDate + "</span>"; + makeTag += '<span class="cursor" ng-click="event.changeDetailView(data.id)">' + scope.data.startDate + ' ~ ' + scope.data.completeDate + '</span>'; } + break; + + // �븯�쐞�씠�뒋 移댁슫�듃 + case "DOWN_ISSUE_COUNT" : + makeTag += '<span>' + scope.data.downIssueCount + ' / ' + scope.data.downIssueAllCount + '</span>'; break; // �봽濡쒖젥�듃 湲곌컙 �몴�떆 @@ -187,24 +225,149 @@ makeTag += '</div>'; break; - case "ISSUE_DETAIL_MOVE" : - makeTag += "<a ui-sref='issues.detail({ id : " + scope.data.id + " })'><span>" + scope.data.title + "</span></a>"; - break; + /* case "ISSUE_DETAIL_MOVE" : + makeTag += "<a class='text-center' ui-sref='issues.detail({ id : " + scope.data.id + " })'><span>" + scope.data.title + "</span></a>"; + break;*/ - - // �뿰愿��씪媛� �씠�룞 + // �뿰愿� �씠�뒋 �씠�룞(�젣紐�) case "ISSUE_RELATION_MOVE" : - makeTag += "<span class=\"titlename cursor\" ng-click=\"event.changeDetailView(data.issueRelation)\">" + scope.data.title + "</span></a>"; + makeTag += "<span class=\"titlename cursor text-center\" ng-click=\"event.changeDetailView(data.issueRelation)\">" + 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 "REL_COMMON_PRIORITY" : + makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.priorityVo.color + "\"," + "\"border-color\"" + " : \"" + scope.data.priorityVo.color + "\", \"color\": \"#FFFFFF\" }' translate='" + scope.data.priorityVo.name + "'></span>"; + break; + + // �뿰愿� �씠�뒋 以묒슂�룄 + case "REL_COMMON_SEVERITY" : + makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.severityVo.color + "\"," + "\"border-color\"" + " : \"" + scope.data.severityVo.color + "\", \"color\": \"#FFFFFF\" }' translate='" + scope.data.severityVo.name + "'></span>"; + break; + + // �뿰愿� �씠�뒋 �벑濡앹옄 + case "REL_REGISTER": + scope.data.registerVos = [scope.data.issueRelation.registerVo]; + makeTag += '<div owl-profile-over class="" table-user-image="data" target="registerVos"></div>'; + break; + + break; + + // �뿰愿� �씠�뒋 �떞�떦遺��꽌 + case "REL_ISSUE_DEPARTMENT" : + makeTag += "<ul class='ul-not-comma'>"; + makeTag += "<div style='color: #000000'>"; + angular.forEach(scope.data.issueRelation.departmentVos, function (departments) { + makeTag += "<li>" + departments.departmentName + "</li>"; + }); + makeTag += "</div>"; + makeTag += "</ul>"; + break; + + // �뿰愿� �씠�뒋 紐⑸줉�뿉�꽌 湲곌컙 �몴�떆 + case "REL_ISSUE_DUE_DATE" : + if (!$rootScope.isDefined(scope.data.issueRelation.startDate) && !$rootScope.isDefined(scope.data.issueRelation.completeDate)) { + makeTag += "<span translate='common.noDate'>湲곌컙 �뾾�쓬</span>"; + } + else { + makeTag += "<span>" + scope.data.issueRelation.startDate + " ~ " + scope.data.issueRelation.completeDate + "</span>"; + } + break; + + // �뿰愿� �씠�뒋 �궗�슜�옄 �젙�쓽 �븘�뱶 + case "REL_ISSUE_CUSTOM_FIELD_VALUE_VIEW" : + var values = []; + + for (var count in scope.data.issueRelation.issueCustomFieldValueVos) { + var issueCustomFieldValueVo = scope.data.issueRelation.issueCustomFieldValueVos[count]; + // �뀒�씠釉� �꽕�젙�뿉�꽌 dName 遺�遺꾩뿉 �궗�슜�옄 �젙�쓽 �븘�뱶 id 瑜� �꽔怨� �빐�떦 媛믪쓣 異붿텧�븳�떎. + if (tableConfig.columnHint.id == issueCustomFieldValueVo.customFieldVo.id) { + values.push(issueCustomFieldValueVo.useValue); + } + } + angular.forEach(values, function (value) { + makeTag += '<span class="table-word-break-all cursor">' + value + '<span><br>'; + }); + + break; + + // �븯�쐞 �씠�뒋 �씠�룞(�젣紐�) + case "ISSUE_DOWN_MOVE" : + + makeTag += "<span class=\"titlename cursor\" ng-click=\"event.changeDetailView(data)\">" + scope.data.title + "</span></a>"; + break; + + // �븯�쐞 �씠�뒋 ���엯 + case "ISSUE_DOWN_STATUS_TYPE" : + makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.issueStatusVo.color + "\"," + "\"border-color\"" + " : \"" + scope.data.issueStatusVo.color + "\", \"color\": \"#FFFFFF\" }'>" + scope.data.issueStatusVo.name + "</span>"; + break; + + // �븯�쐞 �씠�뒋 �궘�젣 + case "ISSUE_DOWN_DELETE": + makeTag += '<img class="cursor" src="/assets/images/delete-icon.png" ng-click="event.removeDownIssue(data.id)">'; + break; + + // �븯�쐞 �씠�뒋 �슦�꽑 �닚�쐞 + case "DOWN_COMMON_PRIORITY" : + makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.priorityVo.color + "\"," + "\"border-color\"" + " : \"" + scope.data.priorityVo.color + "\", \"color\": \"#FFFFFF\" }' translate='" + scope.data.priorityVo.name + "'></span>"; + break; + + // �븯�쐞 �씠�뒋 以묒슂�룄 + case "DOWN_COMMON_SEVERITY" : + makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.severityVo.color + "\"," + "\"border-color\"" + " : \"" + scope.data.severityVo.color + "\", \"color\": \"#FFFFFF\" }' translate='" + scope.data.severityVo.name + "'></span>"; + break; + + // �븯�쐞 �씠�뒋 �떞�떦遺��꽌 + case "DOWN_ISSUE_DEPARTMENT" : + makeTag += "<ul class='ul-not-comma'>"; + makeTag += "<div style='color: #000000'>"; + angular.forEach(scope.data.departmentVos, function (departments) { + makeTag += "<li>" + departments.departmentName + "</li>"; + }); + makeTag += "</div>"; + makeTag += "</ul>"; + break; + + // �븯�쐞 �씠�뒋 �벑濡앹옄 + case "DOWN_REGISTER": + scope.data.registerVos = [scope.data.registerVo]; + makeTag += '<div owl-profile-over class="" table-user-image="data" target="registerVos"></div>'; + break; + + // �븯�쐞 �씠�뒋 湲곌컙 + case "DOWN_ISSUE_DUE_DATE" : + if (!$rootScope.isDefined(scope.data.startDate) && !$rootScope.isDefined(scope.data.completeDate)) { + makeTag += "<span translate='common.noDate'>湲곌컙 �뾾�쓬</span>"; + } + else { + makeTag += "<span>" + scope.data.startDate + " ~ " + scope.data.completeDate + "</span>"; + } + break; + + // �븯�쐞 �씠�뒋 �궗�슜�옄 �젙�쓽 �븘�뱶 + case "DOWN_ISSUE_CUSTOM_FIELD_VALUE_VIEW" : + var values = []; + + for (var count in scope.data.issueCustomFieldValueVos) { + var issueCustomFieldValueVo = scope.data.issueCustomFieldValueVos[count]; + // �뀒�씠釉� �꽕�젙�뿉�꽌 dName 遺�遺꾩뿉 �궗�슜�옄 �젙�쓽 �븘�뱶 id 瑜� �꽔怨� �빐�떦 媛믪쓣 異붿텧�븳�떎. + if (tableConfig.columnHint.id == issueCustomFieldValueVo.customFieldVo.id) { + values.push(issueCustomFieldValueVo.useValue); + } + } + angular.forEach(values, function (value) { + makeTag += '<span class="table-word-break-all">' + value + '<span><br>'; + }); + break; // �씠由꾩쓣 �겢由��븯硫� �닔�젙 �뙘�뾽 �몴�떆 @@ -216,6 +379,7 @@ makeTag += "<span class='titlename not-modify table-word-break-all'>" + scope.data.name + "</span>"; } break; + // �꽕�젙 踰꾪듉 �겢由��븯硫� �닔�젙 �뙘�뾽 �몴�떆 case "BUTTON_MODIFY" : makeTag += '<button class="btn btn-info" ng-if="data.modifyPermissionCheck" ng-click="event.modify(data.id)"><i class="os-icon os-icon-ui-46" uib-tooltip="�봽濡쒖젥�듃 �꽕�젙"></i></button>'; @@ -233,25 +397,80 @@ case "SINGLE_SELECT" : makeTag += "<span translate='common.singleSelectionField'>�떒�씪 �꽑�깮 �븘�뱶</span>"; break; + case "NUMBER" : + makeTag += "<span translate='common.numberField'>�닽�옄 �븘�뱶</span>"; + break; + case "DATETIME" : + makeTag += "<span translate='common.datetimeField'>�궇吏� �븘�뱶</span>"; + break; + case "IP_ADDRESS" : + makeTag += "<span translate='common.ipAddressField'>IP ADDRESS �븘�뱶</span>"; + break; + case "EMAIL" : + makeTag += "<span translate='common.emailField'>�씠硫붿씪 �븘�뱶</span>"; + break; + case "SITE" : + makeTag += "<span translate='common.siteField'>URL �븘�뱶</span>"; + break; + case "TEL" : + makeTag += "<span translate='common.telField'>�쟾�솕踰덊샇 �븘�뱶</span>"; + break; } break; + // �씠�뒋 �젣紐� + case "ISSUE_TITLE" : + 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>'; + makeTag += ' <span class="tag"> / </span> '; + makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.issueStatusColor + "\"," + "\"border-color\"" + " : \"" + scope.data.issueStatusColor + "\", \"color\": \"#FFFFFF\" }'>" + scope.data.issueStatusName + "</span>"; + makeTag += ' <span class="tag"> / </span> '; + makeTag += '<span class="tag">' + scope.data.projectName + '</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="extra-infodiv text-left">'; + makeTag += '<span class="extra-info">'; + makeTag += '<i class="os-icon os-icon-mail-12"></i>'; + makeTag += '<span>' + scope.data.issueCommentCount + '</span>'; + makeTag += '</span>'; + makeTag += '<span class="extra-info">'; + makeTag += '<i class="os-icon os-icon-ui-51"></i>'; + makeTag += '<span>' + scope.data.attachedFileCount + '</span>'; + makeTag += '</span>'; + makeTag += '</div>'; + break; + // �슦�꽑 �닚�쐞 case "COMMON_PRIORITY" : - makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.priorityColor + "\"," + "\"border-color\"" + " : \"" + scope.data.priorityColor + "\", \"color\": \"#FFFFFF\" }' translate='" + scope.data.priorityName + "'></span>"; + makeTag += "<span ng-click=\"event.changeDetailView(data.id)\" class='badge cursor' ng-style='{ \"background-color\" : \"" + scope.data.priorityColor + "\"," + "\"border-color\"" + " : \"" + scope.data.priorityColor + "\", \"color\": \"#FFFFFF\" }' translate='" + scope.data.priorityName + "'></span>"; break; + // 以묒슂�룄 case "COMMON_SEVERITY" : - makeTag += "<span class='badge' ng-style='{ \"background-color\" : \"" + scope.data.severityColor + "\"," + "\"border-color\"" + " : \"" + scope.data.severityColor + "\", \"color\": \"#FFFFFF\" }' translate='" + scope.data.severityName + "'></span>"; + makeTag += "<span ng-click=\"event.changeDetailView(data.id)\" class='badge cursor' ng-style='{ \"background-color\" : \"" + scope.data.severityColor + "\"," + "\"border-color\"" + " : \"" + scope.data.severityColor + "\", \"color\": \"#FFFFFF\" }' translate='" + scope.data.severityName + "'></span>"; break; + // �떞�떦 遺��꽌 + case "ISSUE_DEPARTMENT" : + 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>"; + }); + makeTag += "</div>"; + makeTag += "</ul>"; + break; + + // �떞�떦�옄 case "ISSUE_USER" : makeTag += '<div owl-profile-over class="" table-user-image="data" target="userVos"></div>'; break; + // �벑濡앹옄 case "REGISTER" : - scope.data.registsrVos = [scope.data.registerVo]; - makeTag += '<div owl-profile-over class="" table-user-image="data" target="registsrVos"></div>'; + scope.data.registerVos = [scope.data.registerVo]; + makeTag += '<div ng-click=\"event.changeDetailView(data.id)\" owl-profile-over class="cursor" table-user-image="data" target="registerVos"></div>'; break; case "WORKFLOW_NAME": @@ -319,6 +538,10 @@ makeTag += "<label class='switch'><input type='checkbox' ng-model='data.permIssueSetting' ng-click='event.modifyLevelPermission(data)'><span class='slider round'></span></label>"; break; + case "PARTNER_SETTING_PERM_YN" : + makeTag += "<label class='switch'><input type='checkbox' ng-model='data.permPartnerSetting' ng-click='event.modifyLevelPermission(data)'><span class='slider round'></span></label>"; + break; + case "API_PERM_YN" : makeTag += "<label class='switch'><input type='checkbox' ng-model='data.permApi' ng-click='event.modifyLevelPermission(data)'><span class='slider round'></span></label>"; break; @@ -350,6 +573,10 @@ else { makeTag += "<span class='titlename cursor table-word-break-all'>" + scope.data.departmentName + "</span>"; } + break; + + case "DEPARTMENT_EX": + makeTag += "<div style='margin-top: 5px;'>" + scope.data.departmentDescription + "</div>"; break; case "DEPARTMENT_COUNT": @@ -420,7 +647,7 @@ } angular.forEach(values, function (value) { - makeTag += '<span class="table-word-break-all">' + value + '<span><br>'; + makeTag += '<span ng-click="event.changeDetailView(data.id)" class="table-word-break-all cursor">' + value + '<span><br>'; }); break; -- Gitblit v1.8.0