unserver-unify
Version:
192 lines (187 loc) • 6.2 kB
JavaScript
;
angular.module('bamboo.mystudy').controller('MySpaceNotificationCtrl', function( $state, $log, ApiService) {
var _self = this;
this.getUnreadNotP2p = function(tableState) {
console.log(tableState);
var limit = tableState.pagination.number || 10
var start = tableState.pagination.start || 0;
var search = tableState.search.predicateObject;
var info = {
start: start,
limit: limit,
exclude: 'p2p',
action: "getunreadmsgs"
};
console.log(info);
ApiService.post("/messages", info).then(function(result) {
// console.log(result);
if (result.data.success) {
if (result.data.data) {
console.log(result.data.data);
//var unreads = result.data.data.items;
var read_tempitems = result.data.data.items;
console.log(read_tempitems);
_self.readMsgs = [];
for (var i = 0; i < read_tempitems.length; i++) {
var info = getDisplayInfo(read_tempitems[i]);
_self.readMsgs.push(info);
}
console.log(_self.readMsgs);
_self.read_page++;
console.log(_self.totalcounter);
console.log(read_tempitems.length);
_self.totalcounter = result.data.data.counter;
_self.read_moreData = (_self.totalcounter > read_tempitems.length);
tableState.pagination.numberOfPages = Math.ceil(result.data.data.counter / limit);
}
}
});
}
// this.getUnreadNotP2p();
this.readGroupMsg = function(item) {
var info = {
action: 'readUserP2PMsgs',
author: item.author_id,
}
console.log(info);
ApiService.post("/messages", info).then(function(result) {
//getUnreadMesages();
console.log(result);
$state.go('.messagethread', {
target: item.author_id
});
});
}
function getDisplayInfo(_m) {
var info = {
fullname: _m.author.fullname,
loginname: _m.author.loginname,
time: _m.create_at,
type: _m.type,
message: _m.message,
sender_id: _m.author_id,
idx: _m.idx,
};
_m.topic = _m.topic || {};
_m.content = _m.content || {};
switch (_m.type) {
case 'reply':
info.color = 'color-two';
info.url = 'index.bbs.tab.detail';
info.icon = "ion-chatbubble-working";
info.id = _m.topic._id;
info.title = _m.topic.title;
info.action = "Reply";
info.sender_id = _m.author_id
break;
case 'blogreply':
info.color = 'color-one';
info.url = 'index.blogs.detail';
info.icon = "ion-ios-chatboxes-outline";
info.id = _m.topic._id;
info.title = _m.topic.title;
info.action = "Reply";
break;
case 'bbsreply':
info.color = 'color-one';
info.url = 'index.bbs.tab.detail';
info.icon = "ion-chatboxes-outline";
info.id = _m.topic._id;
info.title = _m.topic.title;
info.action = "Reply";
break;
case 'feedbackreply':
info.color = 'color-one';
info.url = 'index';
info.icon = "ion-ios-chatboxes-outline";
info.id = _m.topic._id;
info.title = _m.topic.title;
info.action = "FeedbackReply";
break;
case 'accesscard':
info.color = 'color-one';
info.url = 'index';
info.icon = "ion-android-walk";
info.id = _m.topic._id;
info.title = _m.message;
info.action = "CardRecord";
break;
case 'announcement':
info.color = 'color-three';
info.url = 'index.announcements.detail';
info.icon = "ion-chatbox-working";
info.id = _m.content._id;
info.title = _m.content.title;
info.action = "Announced";
if (_m.content.atype) {
switch (_m.content.atype) {
case 'thisweektaskremainder':
info.icon = 'ion-ios-list-outline';
break;
case 'examremainder':
info.icon = 'ion-android-calendar';
break;
case 'assignmentremainder':
info.icon = 'ion-document-text';
break;
}
}
break;
case 'courseapply':
info.color = 'color-three';
info.url = 'index.courses.course';
info.icon = "ion-chatbox-working";
info.cid = _m.content._id;
info.id = _m.content._id;
info.title = "<< " + _m.content.title + " >>";
info.action = "Apply for Course Public Access";
break;
case 'follow':
info.color = 'color-four';
// info.url = 'index.setting.profile';
info.icon = "ion-chatbox-working";
info.id = info.loginname;
info.title = "You";
info.action = "Follow";
break;
case 'Following':
info.color = 'color-four';
info.url = 'index.setting.profile';
info.icon = "ion-ios-star-half";
info.id = info.loginname;
info.title = info.message;
info.action = "Following User";
break;
case 'p2p':
info.color = 'color-four';
info.url = 'index.setting.profile';
info.icon = "ion-ios-chatbubble-outline";
info.id = info.loginname;
info.title = info.message;
info.action = "MSG";
info.sender_id = _m.author_id
break;
case 'course':
info.color = 'color-four';
info.icon = "ion-ios-book";
info.title = info.message;
info.action = "COURSE";
break;
case 'feedback':
info.color = 'color-three';
info.icon = "ion-chatbox-working";
info.url = "index";
info.id = info.loginname;
info.id = _m.content._id;
info.title = "[ " + _m.content.title + " ]";
info.action = "Feedback";
break;
default:
console.log("-- unknown type");
console.log(_m);
break;
}
//console.log(info);
return info;
}
});