/**
|
* Created by wisestone on 2018-11-05.
|
*/
|
'use strict';
|
|
define(['app', 'angular'],
|
function (app, angular) {
|
app.directive('registerIssueWidget', ['$log', '$rootScope', '$resourceProvider', 'Widget', 'SweetAlert', '$filter',
|
function ($log, $rootScope, $resourceProvider, Widget, SweetAlert, $filter) {
|
return {
|
restrict : 'E',
|
scope : {
|
registerIssueWidget : '=',
|
},
|
replace : true,
|
templateUrl : '../custom_components/widget/register-issue-widget/register-issue-widget.html',
|
controller : function ($scope, $element, $attrs) {
|
|
// 변수 모음
|
$scope.vm = {
|
registerIssueWidget : {},
|
page : {
|
selectedPage : 0
|
}
|
};
|
|
// 함수 모음
|
$scope.fn = {
|
makeRegisterIssueWidget : makeRegisterIssueWidget, // 내가 등록한 이슈 정보를 저장한다.
|
findRegisterIssueWidget : findRegisterIssueWidget, // 내가 등록한 이슈 목록 조회
|
moveIssue : moveIssue // 해당 이슈로 이동한다.
|
};
|
|
|
// 내가 등록한 이슈 정보가 변경될때 감지한다.
|
$scope.$watch("registerIssueWidget", function (newValue) {
|
if ($rootScope.isDefined(newValue)) {
|
// 내가 등록한 이슈 정보를 저장한다.
|
$scope.fn.makeRegisterIssueWidget(newValue);
|
}
|
});
|
|
|
// 내가 등록한 이슈 정보를 저장한다.
|
function makeRegisterIssueWidget(result) {
|
$scope.vm.registerIssueWidget = result;
|
$scope.vm.page.selectedPage = 1;
|
}
|
|
// 내가 등록한 이슈 목록 조회
|
function findRegisterIssueWidget(selectedPage) {
|
if (selectedPage < 0) {
|
selectedPage = 0;
|
}
|
// 현재 페이지 정보
|
var currentPage = 0;
|
|
// 쿠키에 선택한 페이지 정보가 없으면 기본 페이지 정보 0 을 저장
|
if (angular.isUndefined(selectedPage) || selectedPage === "") {
|
currentPage = $scope.vm.page.selectedPage;
|
}
|
else {
|
currentPage = selectedPage;
|
}
|
|
Widget.findRegisterIssue($resourceProvider.getContent({},
|
$resourceProvider.getPageContent(currentPage, 5))).then(function (result) {
|
|
if (result.data.message.status === "success") {
|
$scope.vm.page.selectedPage = currentPage + 1;
|
$scope.vm.registerIssueWidget.issues = result.data.registerIssueWidget.issues;
|
}
|
else {
|
SweetAlert.error($filter("translate")("dashboard.failedToListOfIssueRegisteredLookup"), result.data.message.message); // 내가 등록한 이슈 목록 조회 실패
|
}
|
});
|
}
|
|
// 해당 이슈로 이동한다.
|
function moveIssue(issue) {
|
// 이슈 번호를 저장한 후 이슈 목록으로 이동한다.
|
$rootScope.$broadcast("makeIssueSearch", issue);
|
}
|
},
|
link : function (scope, element, attrs) {
|
|
}
|
};
|
}])
|
});
|