'use strict';
|
|
define(['app', 'angular'],
|
function (app, angular) {
|
|
app.directive('treeColumnGenerator', ['$compile', '$log', '$rootScope', '$tableProvider', '$filter',
|
function ($compile, $log, $rootScope, $tableProvider, $filter) {
|
return {
|
restrict : "A",
|
compile : function (tElement, tAttrs) {
|
return function (scope, element, attrs) {
|
scope.data = scope[attrs["treeColumnGenerator"]];
|
|
var myData = scope.data;
|
var makeTag = "";
|
|
scope.tableConfigs.forEach(function (tableConfig, index) {
|
var txt = "";
|
makeTag = '<span class="' + tableConfig.dVisible + '">';
|
|
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;
|
}
|
}
|
}
|
makeTag += "<span class='cursor issue-tree-item' translate='" + txt + "'></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 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 += '</span>';
|
|
var linkFn = $compile(makeTag);
|
var content = linkFn(scope);
|
|
element.append(content);
|
});
|
}
|
}
|
}
|
}]);
|
});
|