OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2022-01-13 4545664bbece1b1b185945376b344b1660669a53
src/main/webapp/custom_components/js-tree/treeColumnGenerator.directive.js
@@ -11,51 +11,76 @@
                        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);
                            });
                        }
                    }