diff --git a/core/fse.js b/core/fse.js index e6e7a9d1..be3be90b 100644 --- a/core/fse.js +++ b/core/fse.js @@ -183,6 +183,13 @@ exports.FullScreenEditorModule = return cb(null); }, editModeEscPressed: function (formData, extraArgs, cb) { + const errMsgView = self.viewControllers.header.getView( + MciViewIds.header.errorMsg + ); + if (errMsgView) { + errMsgView.clearText(); + } + self.footerMode = 'editor' === self.footerMode ? 'editorMenu' : 'editor'; diff --git a/core/message.js b/core/message.js index 6a063802..b9f84abd 100644 --- a/core/message.js +++ b/core/message.js @@ -763,6 +763,11 @@ module.exports = class Message { } persist(cb) { + const containsNonWhitespaceCharacterRegEx = /\S/; + if (!containsNonWhitespaceCharacterRegEx.test(this.message)) { + return cb(Errors.Invalid('Empty message')); + } + if (!this.isValid()) { return cb(Errors.Invalid('Cannot persist invalid message!')); } diff --git a/core/msg_area_post_fse.js b/core/msg_area_post_fse.js index 9eacd1f5..91e8f6d3 100644 --- a/core/msg_area_post_fse.js +++ b/core/msg_area_post_fse.js @@ -14,6 +14,39 @@ exports.moduleInfo = { author: 'NuSkooler', }; +const MciViewIds = { + header: { + from: 1, + to: 2, + subject: 3, + errorMsg: 4, + modTimestamp: 5, + msgNum: 6, + msgTotal: 7, + + customRangeStart: 10, // 10+ = customs + }, + + body: { + message: 1, + }, + + // :TODO: quote builder MCIs - remove all magic #'s + + // :TODO: consolidate all footer MCI's - remove all magic #'s + ViewModeFooter: { + MsgNum: 6, + MsgTotal: 7, + // :TODO: Just use custom ranges + }, + + quoteBuilder: { + quotedMsg: 1, + // 2 NYI + quoteLines: 3, + }, +}; + exports.getModule = class AreaPostFSEModule extends FullScreenEditorModule { constructor(options) { super(options); @@ -42,19 +75,25 @@ exports.getModule = class AreaPostFSEModule extends FullScreenEditorModule { ], function complete(err) { if (err) { - // :TODO:... sooooo now what? - } else { - // note: not logging 'from' here as it's part of client.log.xxxx() - self.client.log.info( - { - to: msg.toUserName, - subject: msg.subject, - uuid: msg.messageUuid, - }, - `User "${self.client.user.username}" posted message to "${msg.toUserName}" (${msg.areaTag})` + const errMsgView = self.viewControllers.header.getView( + MciViewIds.header.errorMsg ); + if (errMsgView) { + errMsgView.setText(err.message); + } + return cb(err); } + // note: not logging 'from' here as it's part of client.log.xxxx() + self.client.log.info( + { + to: msg.toUserName, + subject: msg.subject, + uuid: msg.messageUuid, + }, + `User "${self.client.user.username}" posted message to "${msg.toUserName}" (${msg.areaTag})` + ); + return self.nextMenu(cb); } );