* Initial work on moving to JSON configured Message Areas (vs ID's in SQLite). This will be applied to user groups, and other types as well such that JSON can simply be edited in config.json
* Hopefully better/proper merge of config.js + config.json => config
This commit is contained in:
@@ -30,11 +30,26 @@ function MessageAreaListModule(options) {
|
||||
}
|
||||
}
|
||||
|
||||
this.entryFormat = this.entryFormat || '( {areaId} ) - {name}';
|
||||
this.entryFormat = this.entryFormat || '( {index} ) - {desc}';
|
||||
|
||||
this.menuMethods = {
|
||||
changeArea : function(formData, extraArgs) {
|
||||
if(1 === formData.submitId) {
|
||||
var areaName = self.messageAreas[formData.value.area].name;
|
||||
|
||||
messageArea.changeMessageArea(self.client, areaName, function areaChanged(err) {
|
||||
if(err) {
|
||||
self.client.term.pipeWrite('\n|00Cannot change area: ' + err.message + '\n');
|
||||
|
||||
setTimeout(function timeout() {
|
||||
self.client.gotoMenuModule( { name : self.menuConfig.fallback } );
|
||||
}, 1000);
|
||||
} else {
|
||||
self.client.gotoMenuModule( { name : self.menuConfig.fallback } );
|
||||
}
|
||||
});
|
||||
|
||||
/*
|
||||
var areaId = self.messageAreas[formData.value.area].areaId;
|
||||
|
||||
messageArea.changeCurrentArea(self.client, areaId, function areaChanged(err) {
|
||||
@@ -48,6 +63,7 @@ function MessageAreaListModule(options) {
|
||||
self.client.gotoMenuModule( { name : self.menuConfig.fallback } );
|
||||
}
|
||||
});
|
||||
*/
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -59,11 +75,19 @@ require('util').inherits(MessageAreaListModule, MenuModule);
|
||||
MessageAreaListModule.prototype.enter = function(client) {
|
||||
var self = this;
|
||||
|
||||
self.messageAreas = messageArea.getAvailableMessageAreas();
|
||||
|
||||
console.log(self.messageAreas)
|
||||
|
||||
MessageAreaListModule.super_.prototype.enter.call(self, client);
|
||||
|
||||
/*
|
||||
|
||||
messageArea.getAvailableMessageAreas(function fetched(err, areas) {
|
||||
self.messageAreas = areas;
|
||||
|
||||
MessageAreaListModule.super_.prototype.enter.call(self, client);
|
||||
});
|
||||
});*/
|
||||
};
|
||||
|
||||
MessageAreaListModule.prototype.mciReady = function(mciData, cb) {
|
||||
@@ -91,14 +115,23 @@ MessageAreaListModule.prototype.mciReady = function(mciData, cb) {
|
||||
function populateAreaListView(callback) {
|
||||
var areaListView = vc.getView(1);
|
||||
|
||||
/*
|
||||
var areaList = [];
|
||||
self.messageAreas.forEach(function entry(msgArea) {
|
||||
// :TODO: depending on options, filter out private, local user to user, etc. area IDs
|
||||
// :TODO: dep. on options, filter out areas that current user does not have access to
|
||||
areaList.push(strUtil.format(self.entryFormat, msgArea));
|
||||
});
|
||||
});*/
|
||||
|
||||
areaListView.setItems(areaList);
|
||||
var areaListItems = [];
|
||||
for(var i = 0; i < self.messageAreas.length; ++i) {
|
||||
areaListItems.push(strUtil.format(
|
||||
self.entryFormat,
|
||||
{ index : i, name : self.messageAreas[i].name, desc : self.messageAreas[i].desc })
|
||||
);
|
||||
}
|
||||
|
||||
areaListView.setItems(areaListItems);
|
||||
areaListView.redraw();
|
||||
}
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user