OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2022-02-18 612b5a21417f3c8dcaed84c1c0691dc883088f61
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
90
'use strict';
 
define(['app', 'angular'],
    function (app, angular) {
        app.directive('severityIssueWidget', ['$log', '$rootScope', '$resourceProvider', 'Widget', 'SweetAlert', '$filter',
            function ($log, $rootScope, $resourceProvider, Widget, SweetAlert, $filter) {
                return {
                    restrict: 'E',
                    scope: {
                        severityIssueWidget: '=',
                    },
                    replace: true,
                    templateUrl: '../custom_components/widget/severity-issue-widget/severity-issue-widget.html',
 
                    controller: function ($scope, $element, $attrs) {
 
                        //  변수 모음
                        $scope.vm = {
                            severityIssueWidget: {},
                            page: {
                                selectedPage: 0
                            },
                            search: {
                                severityId: String(1)
                            }
                        };
 
                        //  함수 모음
                        $scope.fn = {
                            makeSeverityIssueWidget: makeSeverityIssueWidget,  //  중요도 별 이슈 정보를 저장한다.
                            findSeverityIssueWidget: findSeverityIssueWidget,   // 중요도 별 이슈 목록 조회
                            moveIssue: moveIssue   //  해당 이슈로 이동한다.
                        };
 
                        //  중요도 별 이슈 현황 정보가 변경될때 감지한다.
                        $scope.$watch("severityIssueWidget", function (newValue) {
                            if ($rootScope.isDefined(newValue)) {
                                //  중요도 별 이슈 현황 정보를 저장한다.
                                $scope.fn.makeSeverityIssueWidget(newValue);
                            }
                        });
 
                        //  중요도 별 이슈 정보를 저장한다.
                        function makeSeverityIssueWidget(result) {
                            $scope.vm.severityIssueWidget = result;
                            $scope.vm.page.selectedPage = 1;
                        }
 
                        //  중요도 별 이슈 목록 조회
                        function findSeverityIssueWidget(selectedPage) {
                            if (selectedPage < 0) {
                                selectedPage = 0;
                            }
                            //  현재 페이지 정보
                            var currentPage = 0;
 
                            //  쿠키에 선택한 페이지 정보가 없으면 기본 페이지 정보 0 을 저장
                            if (angular.isUndefined(selectedPage) || selectedPage === "") {
                                currentPage = $scope.vm.page.selectedPage;
                            } else {
                                currentPage = selectedPage;
                            }
 
                            Widget.findSeverityIssueWidget($resourceProvider.getContent(
                                {
                                    severityId: $scope.vm.search.severityId,
                                    projectId: $rootScope.workProject.id
                                },
                                $resourceProvider.getPageContent(currentPage, 5))).then(function (result) {
                                if (result.data.message.status === "success") {
                                    $scope.vm.page.selectedPage = currentPage + 1;
                                    $scope.vm.severityIssueWidget = result.data.severityIssueWidget;
                                } else {
                                    SweetAlert.error($filter("translate")("dashboard.failedToListOfIssueAllocatedLookup"), result.data.message.message); // 나에게 할당된 이슈 목록 조회 실패
                                }
                            });
                        }
 
                        //해당 이슈로 이동한다.
                        function moveIssue(issue) {
                            //  이슈 번호를 저장한 후 이슈 목록으로 이동한다.
                            $rootScope.$broadcast("makeIssueSearch", issue);
                        }
                    },
                    link: function (scope, element, attrs) {
 
                    }
                };
            }])
    });