unserver-unify
Version:
86 lines (84 loc) • 2.9 kB
JavaScript
angular.module('bamboo').component('sessionTableList', {
templateUrl: 'app/directive/course/sessiontablelist.component.html',
// templateUrl: function(deviceDetector) {
// var url = "";
// if (deviceDetector.isMobile() && !deviceDetector.isTablet()) {
// url = 'app/directive/course/sessiontablelistmobile.component.html';
// } else {
// url = 'app/directive/course/sessiontablelist.component.html';
// }
// return url;
// },
bindings: {
courseid: '<',
pageitemcount: '<',
buildingflag: '<'
},
controller: ['ApiService', 'timeHelper', function(ApiService, timeHelper) {
var self = this;
self.$onInit = function() {
var info = {
lid: self.courseid,
action: 'countcoursesessions',
};
console.log(info);
ApiService.post('/coursesession', info).then(function(data) {
console.log(data);
if (data.data.success) {
var result = data.data.data;
console.log(result);
self.isAvailable = (result > 0);
console.log(self.isAvailable);
}
});
};
self.getSessionList = function(tableState) {
console.log(tableState);
var limit = tableState.pagination.number || 10;
var start = tableState.pagination.start;
var info = {
start: start,
limit: limit,
sort: tableState.sort,
lid: self.courseid,
action: 'getcoursesessiones',
};
// if (self.classId) {
// info.classid = self.classId;
// }
// console.log(info);
ApiService.post('/coursesession', info).then(function(data) {
if (data.data.success) {
var result = data.data.data;
//console.log(result);
var resourceItems = result.items;
console.log(resourceItems);
var eventdata = [];
angular.forEach(resourceItems, function(item, idx) {
for (var i = 0; i < item.repeatCounter; i++) {
var time = item.start;
switch (item.repeatType) {
case 'week':
time = moment(item.start).add(i, 'weeks').toDate();
break;
case 'month':
time = moment(item.start).add(i, 'months').toDate();
break;
case 'day':
time = moment(item.start).add(i, 'days').toDate();
break;
}
var info = angular.copy(item);
info.start=time;
eventdata.push(info);
}
});
self.resourceItems=eventdata;
console.log(eventdata);
// self.total = result.counter;
tableState.pagination.numberOfPages = Math.ceil(result.counter / limit);
}
});
}
}]
});