| | |
| | | return function (scope, element, attrs) { |
| | | scope.data = scope[attrs["treeColumnGenerator"]]; |
| | | |
| | | var myData = scope.data; |
| | | var makeTag = ""; |
| | | var treeStartToken = "└"; |
| | | |
| | | scope.tableConfigs.forEach(function (tableConfig, index) { |
| | | var txt = ""; |
| | | makeTag = '<span class="' + tableConfig.dVisible + '">'; |
| | | |
| | | if (tableConfig.colSpan > 0) { |
| | | return; |
| | | } |
| | | |
| | | makeTag = '<li class="' + tableConfig.dAlign + ' ' + tableConfig.dVisible + '">'; |
| | | |
| | | if (tableConfig.dType === "checkbox") { |
| | | // 체크 박스일때 |
| | | if (scope.data.defaultYn) { |
| | | makeTag += '<input type="checkbox" ng-checked="data.checked == true ? true : false" disabled ng-click="$root.$tableProvider.rowChecked(tableConfigs, data, fn.getResponseData())">'; |
| | | var viewData = myData[tableConfig.dName]; |
| | | if (tableConfig.dType === "CUSTOM_FIELD") { |
| | | var issueCustomFieldValueVos = myData.issueCustomFieldValueVos; |
| | | if (issueCustomFieldValueVos != null) { |
| | | for (let i = 0; i < issueCustomFieldValueVos.length; i++) { |
| | | if (issueCustomFieldValueVos[i].customFieldVo.id === tableConfig.dName) { |
| | | if (index > 0) { makeTag += ","; } |
| | | txt += issueCustomFieldValueVos[i].useValue; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | else { |
| | | makeTag += '<input type="checkbox" ng-checked="data.checked == true ? true : false" ng-click="$root.$tableProvider.rowChecked(tableConfigs, data, fn.getResponseData())">'; |
| | | } |
| | | makeTag += "<span class='cursor issue-tree-item' translate='" + txt + "'></span>"; |
| | | |
| | | tableConfig.hChecked = false; |
| | | } |
| | | else if (tableConfig.dType === "radio") { |
| | | // 라디오 버튼일때 |
| | | makeTag += '<input type="radio" ng-checked="data.checked == true ? true : false" ng-click="$root.$tableProvider.rowChecked(tableConfigs, data, fn.getResponseData())">'; |
| | | } |
| | | else if (tableConfig.dType === "date") { |
| | | makeTag += $filter('date')(scope.data[tableConfig.dName], $tableProvider.getDateFormat(tableConfig.dDateFormat, scope.data[tableConfig.dName])); |
| | | } |
| | | else { |
| | | if (angular.isDefined(scope.data[tableConfig.dName]) && scope.data[tableConfig.dName] != null) { |
| | | makeTag += '<span>' + scope.data[tableConfig.dName] + '</span>'; |
| | | } else { |
| | | if (tableConfig.dName === "assigneeTeam") { |
| | | var departmentVos = myData.departmentVos; |
| | | if (departmentVos != null) { |
| | | if (index > 0) { makeTag += ","; } |
| | | for (let i = 0; i < departmentVos.length; i++) { |
| | | if (i > 0) { |
| | | txt += ","; |
| | | } |
| | | txt += departmentVos[i].departmentName; |
| | | } |
| | | } |
| | | makeTag += "<span class='cursor issue-tree-item' translate='" + txt + "'></span>"; |
| | | } else if (tableConfig.dName === "register") { |
| | | if (index > 0) { makeTag += ","; } |
| | | makeTag += "<span class='cursor issue-tree-item' translate='" + myData.registerVo.name + "'></span>"; |
| | | } |
| | | else { |
| | | makeTag += '<span></span>'; |
| | | else if (tableConfig.dName === "period") { |
| | | if (index > 0) { makeTag += ","; } |
| | | if (!$rootScope.isDefined(myData.startDate) && !$rootScope.isDefined(myData.completeDate)) { |
| | | makeTag += "<span translate='common.noDate'>기간 없음</span>"; |
| | | } |
| | | else { |
| | | makeTag += '<span class="cursor" ng-click="event.changeDetailView(data.id)">' + myData.startDate + ' ~ ' + myData.completeDate + '</span>'; |
| | | } |
| | | |
| | | } |
| | | else if (tableConfig.dName === "countDownIssue") { |
| | | if (index > 0) { makeTag += ","; } |
| | | makeTag += makeTag += "<span class='cursor issue-tree-item' translate='(" + myData.downIssueCount + "/" + myData.downIssueAllCount + ")'></span>"; |
| | | } else { |
| | | viewData = viewData != null ? viewData : ""; |
| | | |
| | | if (viewData !== "") { |
| | | if (index > 0) { makeTag += ","; } |
| | | makeTag += "<span ng-click=\"event.changeDetailView(data.id)\" class='cursor issue-tree-item' translate='" + viewData + "'></span>"; |
| | | } else { |
| | | // makeTag += "<span>" + tableConfig.dName + " NOT FOUND</span> "; // 디버깅시 사용 |
| | | makeTag += "<span></span> "; |
| | | } |
| | | } |
| | | } |
| | | |
| | | makeTag += '</li>'; |
| | | makeTag += '</span>'; |
| | | |
| | | var linkFn = $compile(makeTag); |
| | | var content = linkFn(scope); |
| | | |
| | | element.append(content); |
| | | |
| | | }); |
| | | } |
| | | } |