/** * Created by wisestone on 2017-12-21. */ 'use strict'; define([ 'app', 'angular' ], function (app, angular) { app.controller('guideListController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$tableProvider', '$state', '$uibModal', 'Guide', 'SweetAlert', '$timeout', '$filter', function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, $state, $uibModal, Guide, SweetAlert, $timeout, $filter) { // 현재 페이지 정보 var currentPage = 0; // 함수 $scope.fn = { initSearch : initSearch, // 검색 초기화 getPageList : getPageList, // 목록 조회 makeTableConfigs : makeTableConfigs, // 테이블 설정 makeSearchConditions : makeSearchConditions, add : add, // guide 등록 }; // 변수 $scope.vm = { search : { title : "" }, page : { selectedPage : 0, selectedPageRowCount : String(10) }, tableConfigs : [], responseData : { data : [] } }; // 테이블 이벤트 $scope.tableEvent = { modify : modify, view : view, activation : activation // 업무 공간 참여하는 사용자의 참여 상태 변경 }; // 가이드 목록 화면 새로 고침 $scope.$on("getGuideList", function () { $scope.fn.getPageList(0); }); // 사용자 목록 다운로드 받기 function makeSearchConditions() { return {}; } // 검색 조건 초기화 function initSearch() { $state.go($state.current, {}, {reload : true}); } // 테이블 설정 function makeTableConfigs() { $scope.vm.tableConfigs = []; $scope.vm.tableConfigs.push($tableProvider.config() .setHName("common.number") .setHWidth("width-60-p bold") .setDAlign("text-center") .setDName("id")); $scope.vm.tableConfigs.push($tableProvider.config() .setHName("common.title") .setHWidth("bold") .setDAlign("text-center") .setDType("renderer") .setDRenderer("GUIDE_MODIFY")); $scope.vm.tableConfigs.push($tableProvider.config() .setHName("common.registrationDate") .setHWidth("width-100-p bold") .setDAlign("text-center") .setDName("registerDate")); $scope.vm.tableConfigs.push($tableProvider.config() .setHName("common.register") .setHWidth("width-120-p bold") .setDAlign("text-center") .setDType("renderer") .setDRenderer("GUIDE_REGISTER")); $scope.vm.tableConfigs.push($tableProvider.config() .setHName("guide.activation") .setHWidth("width-80-p bold") .setDType("renderer") .setDAlign("text-center pdr0 pdt0 pdl0 pdb0") .setDRenderer("GUIDE_ACTIVE")); } // 목록 조회 function getPageList(selectedPage) { if (selectedPage < 0) { selectedPage = 0; } // 쿠키에 선택한 페이지 정보가 없으면 기본 페이지 정보 0 을 저장 if (angular.isUndefined(selectedPage) || selectedPage === "") { currentPage = $scope.vm.page.selectedPage; } else { currentPage = selectedPage; } var conditions = { title : $scope.vm.search.title }; Guide.find($resourceProvider.getContent(conditions, $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) { if (result.data.message.status === "success") { $scope.vm.page.selectedPage = currentPage + 1; $scope.vm.responseData = result.data; } else { SweetAlert.error($filter("translate")("guide.failedToLookupGuideList"), result.data.message.message); //공지 사항 목록 조회 실패 } }); } // guide 등록 function add() { $uibModal.open({ templateUrl : 'views/guide/guideAdd.html', size : "md", controller : 'guideAddController', backdrop : 'static' }); } // guide 수정 function modify(id) { $uibModal.open({ templateUrl : 'views/guide/guideModify.html', size : "md", controller : 'guideModifyController', backdrop : 'static', resolve : { parameter : function () { return { id : id }; } } }); } // guide 보기 function view(title, description) { $uibModal.open({ templateUrl : 'views/guide/guideView.html', size : "lg", controller : 'guideViewController', backdrop : 'static', resolve : { parameter : function () { return { title : title, description : description }; } } }); } function activation(guideData ) { Guide.activation($resourceProvider.getContent( guideData, $resourceProvider.getPageContent(0, 0))).then(function (result) { if (result.data.message.status === "success") { $scope.fn.getPageList(currentPage); } else { SweetAlert.error($filter("translate")("guide.failedToActivation"), result.data.message.message); // "참여 상태 변경 실패" } }); } // 테이블 설정 $scope.fn.makeTableConfigs(); // 목록 조회 $scope.fn.getPageList(0); } ]); } );