Updated message list functionality to allow passing in list/etc.
This commit is contained in:
parent
6fc39a248c
commit
7aab03c4ba
|
@ -52,9 +52,21 @@ function MessageListModule(options) {
|
||||||
var self = this;
|
var self = this;
|
||||||
var config = this.menuConfig.config;
|
var config = this.menuConfig.config;
|
||||||
|
|
||||||
this.listType = config.listType || 'public';
|
this.messageAreaName = config.messageAreaName;
|
||||||
|
|
||||||
this.messageList = [];
|
if(options.extraArgs) {
|
||||||
|
//
|
||||||
|
// |extraArgs| can override |messageAreaName| provided by config
|
||||||
|
// as well as supply a pre-defined message list
|
||||||
|
//
|
||||||
|
if(options.extraArgs.messageAreaName) {
|
||||||
|
this.messageAreaName = options.extraArgs.messageAreaName;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(options.extraArgs.messageList) {
|
||||||
|
this.messageList = options.extraArgs.messageList;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
this.menuMethods = {
|
this.menuMethods = {
|
||||||
selectMessage : function(formData, extraArgs) {
|
selectMessage : function(formData, extraArgs) {
|
||||||
|
@ -85,9 +97,11 @@ require('util').inherits(MessageListModule, MenuModule);
|
||||||
MessageListModule.prototype.enter = function(client) {
|
MessageListModule.prototype.enter = function(client) {
|
||||||
MessageListModule.super_.prototype.enter.call(this, client);
|
MessageListModule.super_.prototype.enter.call(this, client);
|
||||||
|
|
||||||
if('private' === this.listType) {
|
//
|
||||||
this.messageAreaName = Message.WellKnownAreaNames.Private;
|
// Config can specify |messageAreaName| else it comes from
|
||||||
} else {
|
// the user's current area
|
||||||
|
//
|
||||||
|
if(!this.messageAreaName) {
|
||||||
this.messageAreaName = client.user.properties.message_area_name;
|
this.messageAreaName = client.user.properties.message_area_name;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -110,14 +124,21 @@ MessageListModule.prototype.mciReady = function(mciData, cb) {
|
||||||
vc.loadFromMenuConfig(loadOpts, callback);
|
vc.loadFromMenuConfig(loadOpts, callback);
|
||||||
},
|
},
|
||||||
function fetchMessagesInArea(callback) {
|
function fetchMessagesInArea(callback) {
|
||||||
messageArea.getMessageListForArea( { client : self.client }, self.messageAreaName, function msgs(err, msgList) {
|
//
|
||||||
if(msgList && 0 === msgList.length) {
|
// Config can supply messages else we'll need to populate the list now
|
||||||
callback(new Error('No messages in area'));
|
//
|
||||||
} else {
|
if(_.isArray(self.messageList)) {
|
||||||
self.messageList = msgList;
|
callback(0 === self.messageList.length ? new Error('No messages in area') : null);
|
||||||
callback(err);
|
} else {
|
||||||
}
|
messageArea.getMessageListForArea( { client : self.client }, self.messageAreaName, function msgs(err, msgList) {
|
||||||
});
|
if(msgList && 0 === msgList.length) {
|
||||||
|
callback(new Error('No messages in area'));
|
||||||
|
} else {
|
||||||
|
self.messageList = msgList;
|
||||||
|
callback(err);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
},
|
},
|
||||||
function getLastReadMesageId(callback) {
|
function getLastReadMesageId(callback) {
|
||||||
messageArea.getMessageAreaLastReadId(self.client.user.userId, self.messageAreaName, function lastRead(err, lastReadId) {
|
messageArea.getMessageAreaLastReadId(self.client.user.userId, self.messageAreaName, function lastRead(err, lastReadId) {
|
||||||
|
|
Loading…
Reference in New Issue