UNPKG

unserver-unify

Version:

96 lines (87 loc) 2.79 kB
'use strict'; angular.module('bamboo.topic').controller('BlogsCtrl', function($scope, $rootScope, ApiService, TopicApi, deviceDetector, $state, $stateParams) { var _self = this; var tab = $scope.tab = $stateParams.tab || 'all'; this.page = parseInt($stateParams.page) || 0; this.mobileFlag = false; this.pageSize = 6; $scope.options = ApiService.blogcategory; this.getText = function(string) { return string.replace(/<[^>]*>/g, "") } this.allblogs = true; if ($state.current.name.indexOf('index.myspace') > -1) { this.allblogs = false; } if (deviceDetector.isMobile() && !deviceDetector.isTablet()) { this.mobileFlag = true; } this.catnumber = {}; function getlateststatus() { var _info = { action: "getblogcounters", }; TopicApi.BlogApi(_info, function(result) { // console.log(result); _self.catnumber = result.data; // console.log(_self.catnumber); }); } getlateststatus(); var laststate; this.getBlogs = function(tableState) { laststate = tableState; if (tableState) { self.tableState = tableState; } tableState = tableState || self.tableState; console.log(tableState); var limit = tableState.pagination.number; var start = tableState.pagination.start; var search = tableState.search.predicateObject; var info = { action: "getblogs", start: start, limit: limit || 6, sort: tableState.sort, search: search, }; if (!_self.allblogs) { info.action = "getmyblogs"; } console.log(info); TopicApi.BlogApi(info, function(data) { console.log(data); if (_self.mobileFlag) { if (!_self.items) { _self.items = []; } _self.items = _self.items.concat(data.data.items); //self.items = result.data.data.items; } else { _self.items = data.data.items; } console.log(_self.items); angular.forEach(_self.items, function(item) { item.content = _self.getText(item.content); }) tableState.pagination.numberOfPages = parseInt(data.data.counter / limit + 0.99); $scope.totalcounter = data.data.counter; $rootScope.totalcounter = data.data.counter; // console.log($scope.totalcounter); // console.log(tableState.pagination.numberOfPages); }); } this.nextPage = this.getBlogs; this.changeTab = function(_tab) { console.log(_tab); _self.tab = _tab; if (_tab) { laststate.search = { predicateObject: { tab: _tab } }; } else { laststate.search = { predicateObject: null }; } laststate.pagination.start = 0; _self.getBlogs(laststate); }; });