UNPKG

unserver-unify

Version:

72 lines (71 loc) 2.48 kB
'use strict'; angular.module('bamboo.mystudy').controller('MySessionsCtrl', function(ApiService, loginService, $scope) { var _self = this; this.dayList = []; var today = new Date(); var lastMonth = moment(today).add(-1, 'months').toDate(); var lastWeek = moment(today).add(-1, 'weeks').toDate(); this.dayList.push(lastMonth); this.dayList.push(lastWeek); this.dayList.push(today); this._start; this.getMySession = function(tableState) { var limit = tableState.pagination.number || 10; var start = tableState.pagination.start; var info = { start: start, limit: limit, sort: tableState.sort, action: 'getusersessions', }; if (_self._start) { info._start = _self._start; } // console.log(info); ApiService.post('/coursesession', info).then(function(data) { if (data.data.success) { var result = data.data.data; var _sessions = result.items; // console.log(_sessions); var eventdata = []; var checkdate; if (_self._start) { checkdate = new Date(_self._start); } angular.forEach(_sessions, 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; } // console.log(checkdate); if (!checkdate || checkdate < time) { var info = angular.copy(item); info.start = time; var day = time.toISOString().substring(0, 10); // console.log(day); // console.log(item.attended); if (item.attended&&item.attended[day]) { info.attend = true; } delete info.attended; eventdata.push(info); } } }); _self.sessions = eventdata; // console.log(_self.sessions); $scope.total = result.counter; tableState.pagination.numberOfPages = Math.ceil(result.counter / limit); } }); } });