UNPKG

unserver-unify

Version:

141 lines (137 loc) 3.94 kB
angular.module('bamboo.project').controller('ProjectListCtrl', function($scope, ApiService, loginService) { var _self = this; console.log("---- 'MaterialListCtrl' -----"); this.defaultPhoto ="assets/images/project.png"; this.photoUrl = ApiService.SHOST + '/project/'; this.items = []; this.itemNumber = 6; this.page = 0; this.currentPage=1; this.user = loginService.user; this.category; this.selected = false; this.projectcategory = ApiService.projectcategory; this.projectkeys = ApiService.school.projectkeys; $scope.setting = { pageSize: _self.itemNumber, currentPage: (_self.page + 1), }; var currentcat=null; function getitems(cat) { var info = { start: (_self.currentPage - 1)*_self.itemNumber, limit: _self.itemNumber, action: "getvalidprojects", }; currentcat=cat; if (cat) { if (!info.search) { info.search = {}; } info.search.category = cat; } console.log(info); ApiService.post("/project", info).then(function(result) { console.log(result); if (result.data.success) { console.log(result.data.data.items); _self.items = result.data.data.items console.log(cat) _self.catCount=result.data.data.counter; if(!_self.totalCount||_self.totalCount<result.data.data.counter){ _self.totalCount = result.data.data.counter; } } }); }; function getArray(obj, array, level, parent) { if ((typeof obj) === "object") { for (var key in obj) { var fullkey; if (parent == '') { fullkey = key; } else { fullkey = parent + "," + key; } var _i = { key: fullkey, value: level, title: key, items: [], }; array.push(_i); var info = obj[key]; if (typeof info === "object") { getArray(info, _i.items, level + 1, fullkey); } } } } this.pageChanged=function(page){ _self.currentPage=page; getitems(currentcat); } function generateCategoryList() { var catList = []; console.log(_self.projectcategory); getArray(_self.projectcategory, catList, 0, ''); console.log(catList); if (!_self.projectkeys) { $scope.catitems = catList; } else { var keyindex = {}; var results = []; angular.forEach(catList, function(val, index) { var key = val.title; keyindex[key] = val; }) angular.forEach(_self.projectkeys, function(key, index) { if (keyindex[key]) { results.push(keyindex[key]); } }) angular.forEach(keyindex, function(val, key) { var found = false; for (var i = 0; i < results.length; i++) { var record = results[i].title; if (record == key) { found = true; break; } } if (!found) { results.push(val); } }) $scope.catitems = results; console.log($scope.catitems); } getlateststatus(); getitems(); } generateCategoryList(); function getlateststatus() { var info={ action:"getcategorynumber", } console.log(info); ApiService.post("/project", info).then(function(result) { console.log(result); if (result.data.success) { console.log(result.data); var _totalCoursesCountUnderCat = 0; for (var i = 0; i < $scope.catitems.length; i++) { var catitem = $scope.catitems[i]; var key = catitem.key; if (result.data.data[key]) { catitem.counter = result.data.data[key]; } } } }); } this.list = function(key) { console.log(key); getitems(key); } });