mirror of
https://github.com/NuSkooler/enigma-bbs.git
synced 2025-06-06 20:55:30 +02:00
* Convert MenuModule to ES6 style class
* Convert modules that are MenuModule subclasses to ES6 style classes * Convert mixins to ES6 style * Various cleanup
This commit is contained in:
parent
1c03c3021a
commit
99ab60bf77
26 changed files with 2214 additions and 2418 deletions
|
@ -1,56 +1,31 @@
|
|||
/* jslint node: true */
|
||||
'use strict';
|
||||
|
||||
const messageArea = require('../core/message_area.js');
|
||||
const messageArea = require('../core/message_area.js');
|
||||
|
||||
// deps
|
||||
const assert = require('assert');
|
||||
|
||||
//
|
||||
// A simple mixin for View Controller management
|
||||
//
|
||||
exports.ViewControllerManagement = function() {
|
||||
this.initViewControllers = function() {
|
||||
this.viewControllers = {};
|
||||
};
|
||||
|
||||
this.detachViewControllers = function() {
|
||||
var self = this;
|
||||
Object.keys(this.viewControllers).forEach(function vc(name) {
|
||||
self.viewControllers[name].detachClientEvents();
|
||||
});
|
||||
};
|
||||
|
||||
this.addViewController = function(name, vc) {
|
||||
assert(this.viewControllers, 'initViewControllers() has not been called!');
|
||||
assert(!this.viewControllers[name], 'ViewController by the name of \'' + name + '\' already exists!');
|
||||
|
||||
this.viewControllers[name] = vc;
|
||||
return vc;
|
||||
};
|
||||
};
|
||||
|
||||
exports.MessageAreaConfTempSwitcher = function() {
|
||||
exports.MessageAreaConfTempSwitcher = Sup => class extends Sup {
|
||||
|
||||
this.tempMessageConfAndAreaSwitch = function(messageAreaTag) {
|
||||
tempMessageConfAndAreaSwitch(messageAreaTag) {
|
||||
messageAreaTag = messageAreaTag || this.messageAreaTag;
|
||||
if(!messageAreaTag) {
|
||||
return; // nothing to do!
|
||||
}
|
||||
|
||||
this.prevMessageConfAndArea = {
|
||||
confTag : this.client.user.properties.message_conf_tag,
|
||||
areaTag : this.client.user.properties.message_area_tag,
|
||||
};
|
||||
|
||||
if(!messageArea.tempChangeMessageConfAndArea(this.client, this.messageAreaTag)) {
|
||||
this.client.log.warn( { messageAreaTag : messageArea }, 'Failed to perform temporary message area/conf switch');
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
this.tempMessageConfAndAreaRestore = function() {
|
||||
tempMessageConfAndAreaRestore() {
|
||||
if(this.prevMessageConfAndArea) {
|
||||
this.client.user.properties.message_conf_tag = this.prevMessageConfAndArea.confTag;
|
||||
this.client.user.properties.message_area_tag = this.prevMessageConfAndArea.areaTag;
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue