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