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