'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) { } }; }]) });