unserver-unify
Version:
96 lines (87 loc) • 2.79 kB
JavaScript
;
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);
};
});