unserver-unify
Version:
155 lines (140 loc) • 4.05 kB
JavaScript
;
angular.module('bamboo.course').controller('SubjectsCtrl', function($scope, loginService, ApiService, deviceDetector) {
var self = this;
var colorarray = ['panel-grey', 'panel-red', 'panel-blue', 'panel-sea', 'panel-green', 'panel-orange'];
this.pageSize=9;
this.toggledrop = function() {
if ($scope.dropdown) {
$scope.dropdown = false;
} else {
$scope.dropdown = true;
}
}
this.picUrl = ApiService.SHOST + "/subject/";
this.defaultCoursePhoto = ApiService.SHOST + "/public/images/videos.png";
var page = 1;
var option;
this.pageChanged = function(newPage) {
page = newPage;
getInfo();
};
this.nextPage = function() {
page++;
getInfo();
}
function getInfo() {
var info = {
action: "getenablesubjects",
start: (page-1)*(self.pageSize || 9) ,
limit: self.pageSize || 9,
};
if (option) {
info.search={
category : option,
}
}
console.log(info);
return ApiService.post('/subject', info).then(function(result) {
console.log(result.data.data);
self.courses = result.data.data.items;
//$scope.displayCourses =[].concat($scope.courses);
$scope.totalCount = result.data.data.counter;
angular.forEach(self.courses,function(item,index){
if(item.photo){
item.photourl=self.picUrl+item.photo;
}else{
item.photourl=self.defaultCoursePhoto;
}
})
});
}
getInfo();
this.list = function(key, title) {
self.courses = [];
option=key;
page=1;
getInfo();
};
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);
}
}
}
}
if (loginService.school.subjectcatdoc) {
ApiService.get("/schooldoc/" + loginService.school.subjectcatdoc).then(function(result) {
if (result.data.success && result.data.data) {
console.log(result.data.data);
var cat = result.data.data.content || {};
// console.log(result);
var catList = [];
getArray(cat, catList, 0, '');
console.log(catList);
$scope.catitems = catList;
}
});
var info={
action:"getSubjectCatNumber",
}
ApiService.post('/subject', info).then(function(result) {
console.log(result);
if(result.data.success){
console.log(result.data.data);
self.catNumber=result.data.data;
}
});
}
/*function generateCategoryList() {
var catList = [];
getArray(self.category, catList, 0, '');
console.log(catList);
if (!self.categorykeys) {
$scope.catitems = catList;
} else {
var keyindex = {};
var results = [];
angular.forEach(catList, function(val, index) {
var key = val.title;
keyindex[key] = val;
})
angular.forEach(self.categorykeys, 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 );
}
generateCategoryList();*/
});