mirror of
https://github.com/NuSkooler/enigma-bbs.git
synced 2025-06-11 07:04:32 +02:00
* Lots of work on message loading from message list and extraArgs
This commit is contained in:
parent
e852695354
commit
02e90d7ca3
8 changed files with 311 additions and 54 deletions
BIN
mods/art/msg_area_footer_view.ans
Normal file
BIN
mods/art/msg_area_footer_view.ans
Normal file
Binary file not shown.
102
mods/menu.json
102
mods/menu.json
|
@ -354,6 +354,108 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"messageAreaViewPost" : {
|
||||
"module" : "msg_area_view_fse",
|
||||
"options" : { "cls" : true },
|
||||
"fallback" : "messageArea", // :TODO: remove once default fallback is in place
|
||||
"config" : {
|
||||
"art" : {
|
||||
"header" : "msg_area_post_header", // :TODO: FIXME!
|
||||
"body" : "demo_fse_netmail_body.ans",
|
||||
"footerEdit" : "demo_fse_netmail_footer_edit.ans",
|
||||
"footerEditMenu" : "demo_fse_netmail_footer_edit_menu.ans",
|
||||
"footerView" : "msg_area_footer_view.ans",
|
||||
"help" : "demo_fse_netmail_help.ans"
|
||||
},
|
||||
"editorType" : "area"
|
||||
},
|
||||
"form" : {
|
||||
"0" : {
|
||||
"ETETTL" : {
|
||||
"mci" : {
|
||||
"TL1" : {
|
||||
"width" : 36
|
||||
},
|
||||
"ET2" : {
|
||||
"width" : 36
|
||||
},
|
||||
"ET3" : {
|
||||
"width" : 65
|
||||
},
|
||||
"MA5" : {
|
||||
"width" : 19,
|
||||
"textOverflow" : "..."
|
||||
}
|
||||
/*,
|
||||
"TL4" : {
|
||||
"width" : 19,
|
||||
"textOverflow" : "..."
|
||||
}*/
|
||||
}
|
||||
}
|
||||
},
|
||||
"1" : {
|
||||
"MT" : {
|
||||
"mci" : {
|
||||
"MT1" : {
|
||||
"width" : 79,
|
||||
"height" : 17
|
||||
}
|
||||
},
|
||||
"submit" : {
|
||||
"*" : [
|
||||
{
|
||||
"value" : "message",
|
||||
"action" : "@method:editModeEscPressed"
|
||||
}
|
||||
]
|
||||
},
|
||||
"actionKeys" : [
|
||||
{
|
||||
"keys" : [ "escape" ],
|
||||
"viewId" : 1
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"2" : {
|
||||
"TLTL" : {
|
||||
"mci" : {
|
||||
"TL1" : {
|
||||
"width" : 5
|
||||
},
|
||||
"TL2" : {
|
||||
"width" : 4
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"3" : {
|
||||
"HM" : {
|
||||
"mci" : {
|
||||
"HM1" : {
|
||||
// :TODO: Continue, Save, Discard, Clear, Quote, Help
|
||||
"items" : [ "Save", "Discard", "Quote", "Help" ]
|
||||
}
|
||||
}/*,
|
||||
"submit" : {
|
||||
"*" : [
|
||||
{
|
||||
"value" : { "1" : 0 },
|
||||
"action" : "@method:editModeMenuSave"
|
||||
}
|
||||
]
|
||||
}*/,
|
||||
"actionKeys" : [ // :TODO: Need better name
|
||||
{
|
||||
"keys" : [ "escape" ],
|
||||
"action" : "@method:editModeEscPressed"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
// :TODO: messageAreaSelect (change msg areas -> call @systemMethod -> fallback to menu
|
||||
"messageAreaNewPost" : {
|
||||
"module" : "msg_area_post_fse",
|
||||
|
|
|
@ -12,7 +12,7 @@ exports.getModule = AreaPostFSEModule;
|
|||
|
||||
exports.moduleInfo = {
|
||||
name : 'Message Area Post',
|
||||
desc : 'Module posting a new message to an area',
|
||||
desc : 'Module for posting a new message to an area',
|
||||
author : 'NuSkooler',
|
||||
};
|
||||
|
||||
|
|
59
mods/msg_area_view_fse.js
Normal file
59
mods/msg_area_view_fse.js
Normal file
|
@ -0,0 +1,59 @@
|
|||
/* jslint node: true */
|
||||
'use strict';
|
||||
|
||||
var FullScreenEditorModule = require('../core/fse.js').FullScreenEditorModule;
|
||||
var Message = require('../core/message.js').Message;
|
||||
var user = require('../core/user.js');
|
||||
|
||||
var _ = require('lodash');
|
||||
var async = require('async');
|
||||
var assert = require('assert');
|
||||
|
||||
exports.getModule = AreaViewFSEModule;
|
||||
|
||||
exports.moduleInfo = {
|
||||
name : 'Message Area View',
|
||||
desc : 'Module for viewing an area message',
|
||||
author : 'NuSkooler',
|
||||
};
|
||||
|
||||
function AreaViewFSEModule(options) {
|
||||
FullScreenEditorModule.call(this, options);
|
||||
|
||||
var self = this;
|
||||
var config = this.menuConfig.config;
|
||||
|
||||
this.editorType = 'area';
|
||||
this.editorMode = 'view';
|
||||
|
||||
//assert(_.isString(options.extraArgs.messageAreaName), 'messageAreaName must be supplied!');
|
||||
//assert(options.extraArgs.messageId, 'messageId must be supplied!');
|
||||
//assert(_.isString(options.extraArgs.messageUuid), 'messageUuid must be supplied!');
|
||||
//this.messageUuid = options.extraArgs.messageUuid;
|
||||
/*
|
||||
this.loadMessage = function(uuid) {
|
||||
var msg = new Message();
|
||||
msg.load( { uuid : uuid, user : self.client.user }, function loaded(err) {
|
||||
// :TODO: Hrm... if error...
|
||||
self.setMessage(msg);
|
||||
});
|
||||
};
|
||||
*/
|
||||
|
||||
|
||||
}
|
||||
|
||||
require('util').inherits(AreaViewFSEModule, FullScreenEditorModule);
|
||||
|
||||
/*
|
||||
AreaViewFSEModule.prototype.enter = function(client) {
|
||||
AreaViewFSEModule.super_.prototype.enter.call(this, client);
|
||||
};
|
||||
|
||||
*/
|
||||
|
||||
AreaViewFSEModule.prototype.finishedLoading = function() {
|
||||
//AreaViewFSEModule.super_.prototype.finishedLoading.call(this);
|
||||
|
||||
this.loadMessage(this.messageUuid);
|
||||
};
|
|
@ -4,6 +4,7 @@
|
|||
var MenuModule = require('../core/menu_module.js').MenuModule;
|
||||
var ViewController = require('../core/view_controller.js').ViewController;
|
||||
var messageArea = require('../core/message_area.js');
|
||||
var Message = require('../core/message.js');
|
||||
|
||||
//var moment = require('moment');
|
||||
var async = require('async');
|
||||
|
@ -50,8 +51,28 @@ function MessageListModule(options) {
|
|||
this.menuMethods = {
|
||||
selectMessage : function(formData, extraArgs) {
|
||||
if(1 === formData.submitId) {
|
||||
var selectedMessage = self.messageList[formData.value.message];
|
||||
console.log(selectedMessage)
|
||||
var selected = self.messageList[formData.value.message];
|
||||
console.log(selected);
|
||||
|
||||
//
|
||||
// Load full Message object
|
||||
//
|
||||
var msg = new Message();
|
||||
msg.load( { uuid : selected.messageUuid, user : self.client.user }, function loaded(err) {
|
||||
|
||||
if(err) {
|
||||
// :TODO: Now what?!
|
||||
console.log(err)
|
||||
} else {
|
||||
var modOpts = {
|
||||
// :TODO: get this name from config
|
||||
name : 'messageAreaViewPost',
|
||||
extraArgs : { message : msg },
|
||||
};
|
||||
|
||||
self.client.gotoMenuModule(modOpts);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -98,6 +119,8 @@ MessageListModule.prototype.mciReady = function(mciData, cb) {
|
|||
}));
|
||||
|
||||
msgListView.redraw();
|
||||
|
||||
callback(null);
|
||||
}
|
||||
],
|
||||
function complete(err) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue