From d9b39fcaa6a7c264466ab9b6017a8829529ee769 Mon Sep 17 00:00:00 2001 From: Bryan Ashby Date: Fri, 14 Aug 2015 14:49:06 -0600 Subject: [PATCH] * Switching back to module system for FSE... broken now, but hopefully this model sticks --- core/fse.js | 43 ++++++++++++++++++++------------------- mods/menu.json | 4 ++-- mods/msg_area_post_fse.js | 23 +++++++++++++++++++++ 3 files changed, 47 insertions(+), 23 deletions(-) create mode 100644 mods/msg_area_post_fse.js diff --git a/core/fse.js b/core/fse.js index f46f58d0..108b3f1f 100644 --- a/core/fse.js +++ b/core/fse.js @@ -12,6 +12,10 @@ var async = require('async'); var assert = require('assert'); var _ = require('lodash'); +exports.FullScreenEditorModule = FullScreenEditorModule; + +// :TODO: clean this up: + exports.getModule = FullScreenEditorModule; exports.moduleInfo = { @@ -24,32 +28,25 @@ function FullScreenEditorModule(options) { MenuModule.call(this, options); var self = this; - //this.menuConfig = options.menuConfig; // :TODO: MenuModule does this... + var config = this.menuConfig.config; // // menuConfig.config: // editorType : email | area + // editorMode : view | edit | quote (private: editMenu | ... ) // - this.editorType = this.menuConfig.config.editorType; - - this.artNames = [ 'header', 'body', 'footerEdit', 'footerEditMenu', 'footerView' ]; - - // :TODO: The following needs to be passed in via args: - + // extraArgs: + // messageAreaId + // messageNumber / messageTotal // - // options.extraArgs: - // editorMode : edit | view - - this.editorMode = 'edit'; // view | edit | editMenu | quote - this.isLocal = true; - - this.toUserId = options.toUserId || 0; - this.fromUserId = options.fromUserId || 0; - + // + this.editorType = config.editorType; + this.editorMode = config.editorMode; + this.mciData = {}; // netMail/crashMail | echoMail - this.messageAreaId = 'netMail' === this.editorType ? Message.WellKnownAreaIds.Private : options.messageAreaId; + //this.messageAreaId = 'netMail' === this.editorType ? Message.WellKnownAreaIds.Private : options.messageAreaId; this.getFooterName = function(editorMode) { editorMode = editorMode || this.editorMode; @@ -72,7 +69,7 @@ function FullScreenEditorModule(options) { var headerValues = self.viewControllers.header.getFormData().value; var messageOpts = { - areaId : self.messageAreaId, + // areaId : self.messageAreaId, toUserName : headerValues.to, fromUserName : headerValues.from, subject : headerValues.subject, @@ -239,15 +236,17 @@ function FullScreenEditorModule(options) { } ], function complete(err) { - + console.log(err) } ); }; - this.mciReadyHandlerNetMail = function(mciData) { + this.mciReadyHandler = function(mciData) { var menuLoadOpts = { callingMenu : self }; + console.log('mciReadyHandler...') + async.series( [ function header(callback) { @@ -287,6 +286,7 @@ function FullScreenEditorModule(options) { } ], function complete(err) { + console.log(err) var bodyView = self.viewControllers.body.getView(1); self.updateTextEditMode(bodyView.getTextEditMode()); self.updateEditModePosition(bodyView.getEditPosition()); @@ -436,6 +436,7 @@ FullScreenEditorModule.prototype.enter = function(client) { }; FullScreenEditorModule.prototype.mciReady = function(mciData) { - this['mciReadyHandler' + _.capitalize(this.editorType)](mciData); + this.mciReadyHandler(mciData); + //this['mciReadyHandler' + _.capitalize(this.editorType)](mciData); }; diff --git a/mods/menu.json b/mods/menu.json index 6d2468f4..eab40c00 100644 --- a/mods/menu.json +++ b/mods/menu.json @@ -264,10 +264,10 @@ ] }, "messageAreaNewPost" : { - "module" : "msg_area_post", + "module" : "msg_area_post_fse", "options" : { "cls" : true }, "config" : { - "fseArt" : { + "art" : { "header" : "msg_area_post_header", "body" : "demo_fse_netmail_body.ans", "footerEdit" : "demo_fse_netmail_footer_edit.ans", diff --git a/mods/msg_area_post_fse.js b/mods/msg_area_post_fse.js new file mode 100644 index 00000000..0e976dab --- /dev/null +++ b/mods/msg_area_post_fse.js @@ -0,0 +1,23 @@ +/* jslint node: true */ +'use strict'; + +var FullScreenEditorModule = require('../core/fse.js').FullScreenEditorModule; + +exports.getModule = AreaPostFSEModule; + +exports.moduleInfo = { + name : 'Message Area Post', + desc : 'Module posting a new message to an area', + author : 'NuSkooler', +}; + +function AreaPostFSEModule(options) { + FullScreenEditorModule.call(this, options); + + // we're posting, so always start with 'edit' mode + this.editorMode = 'edit'; + +} + +require('util').inherits(AreaPostFSEModule, FullScreenEditorModule); +