1 define([], function() {
2 angular.module('app.yangui').controller('listCtrl', function ($scope, ListFilteringService, NodeWrapperService) {
3 $scope.actElement = null;
4 $scope.showModal = false;
5 $scope.showListFilter = false;
6 $scope.filterListHover = 0;
7 $scope.currentDisplayIndex = 1;
8 $scope.displayOffsets = [-1, 0, 1];
9 $scope.augModalView = false;
11 $scope.toggleExpandedAugModal = function(){
12 $scope.augModalView = !$scope.augModalView;
15 $scope.$on('EV_REFRESH_LIST_INDEX', function(event) {
16 $scope.currentDisplayIndex = 1;
19 $scope.addListElem = function() {
20 $scope.showListFilter = false;
21 $scope.showModal = false;
22 ListFilteringService.removeEmptyFilters($scope.node);
23 $scope.node.addListElem();
26 $scope.removeListElem = function(elemIndex,fromFilter) {
27 $scope.node.removeListElem(elemIndex,fromFilter);
29 $scope.currentDisplayIndex = Math.max(Math.min($scope.currentDisplayIndex, $scope.node.listData.length - 2), 1);
32 $scope.toggleExpanded = function() {
33 $scope.node.expanded = !$scope.node.expanded;
36 $scope.shiftDisplayNext = function(typeListData) {
37 $scope.currentDisplayIndex = Math.min($scope.currentDisplayIndex + 3, $scope.node[typeListData].length - 2);
40 $scope.shiftDisplayPrev = function() {
41 $scope.currentDisplayIndex = Math.max($scope.currentDisplayIndex - 3, 1);
44 $scope.showPrevButton = function() {
45 return $scope.currentDisplayIndex > 1;
48 $scope.showNextButton = function(typeListData) {
49 return $scope.node[typeListData] && $scope.currentDisplayIndex < $scope.node[typeListData].length - 2; //node is selected after view is loaded
52 $scope.showModalWin = function() {
53 $scope.showModal = !$scope.showModal;
54 if($scope.showListFilter){
55 $scope.showListFilter = !$scope.showListFilter;
59 $scope.showListFilterWin = function() {
60 $scope.showListFilter = !$scope.showListFilter;
62 $scope.showModal = !$scope.showModal;
64 ListFilteringService.showListFilterWin($scope.filterRootNode,$scope.node);
67 $scope.getFilterData = function() {
68 ListFilteringService.getFilterData($scope.node);
71 $scope.switchFilter = function(showedFilter) {
72 ListFilteringService.switchFilter($scope.node,showedFilter);
75 $scope.createNewFilter = function() {
76 ListFilteringService.createNewFilter($scope.node);
79 $scope.applyFilter = function() {
80 ListFilteringService.applyFilter($scope.node);
81 $scope.showListFilter = !$scope.showListFilter;
82 $scope.currentDisplayIndex = 1;
83 if($scope.node.filteredListData.length){
84 $scope.node.doubleKeyIndexes = NodeWrapperService.checkKeyDuplicity($scope.node.filteredListData,$scope.node.refKey);
86 $scope.node.doubleKeyIndexes = NodeWrapperService.checkKeyDuplicity($scope.node.listData,$scope.node.refKey);
90 $scope.clearFilterData = function(changeAct, filterForClear, removeFilters) {
91 ListFilteringService.clearFilterData($scope.node,changeAct,filterForClear,removeFilters);
93 $scope.showListFilter = !$scope.showListFilter;
95 $scope.node.doubleKeyIndexes = NodeWrapperService.checkKeyDuplicity($scope.node.listData,$scope.node.refKey);
98 $scope.activeFilter = function(filter) {
99 if(filter.active == 1){
106 $scope.getListName = function(offset, config) {
107 var createdListItemName = $scope.node.createListName($scope.currentDisplayIndex + offset);
109 if ( createdListItemName.length > 33 ) {
111 name: createdListItemName.substring(0,30) + '...',
112 tooltip: createdListItemName
116 name: config ? createdListItemName || '[' + ($scope.currentDisplayIndex + offset) + ']' : createdListItemName,