OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2022-01-13 4545664bbece1b1b185945376b344b1660669a53
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
'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);
                            });
                        }
                    }
                }
            }]);
    });