mirror of
https://github.com/NuSkooler/enigma-bbs.git
synced 2025-06-07 21:25:34 +02:00
+ Concept of PluginModule and inherited classes such as ServerModule, MenuModule, ...
* Client now tracks current menu module. Auto detach events, etc.
This commit is contained in:
parent
d3e35d286a
commit
f7462bbbdd
11 changed files with 226 additions and 60 deletions
|
@ -1,18 +1,18 @@
|
|||
/* jslint node: true */
|
||||
'use strict';
|
||||
|
||||
var ansi = require('../core/ansi_term.js');
|
||||
var art = require('../core/art.js');
|
||||
var user = require('../core/user.js');
|
||||
var theme = require('../core/theme.js');
|
||||
var modules = require('../core/modules.js');
|
||||
var ansi = require('../core/ansi_term.js');
|
||||
var art = require('../core/art.js');
|
||||
var user = require('../core/user.js');
|
||||
var theme = require('../core/theme.js');
|
||||
var MenuModule = require('../core/menu_module.js').MenuModule;
|
||||
|
||||
//var view = require('../core/view.js');
|
||||
var textView = require('../core/text_view.js');
|
||||
//var view = require('../core/view.js');
|
||||
var textView = require('../core/text_view.js');
|
||||
var editTextView = require('../core/edit_text_view.js');
|
||||
var ViewController = require('../core/view_controller.js').ViewController;
|
||||
|
||||
var async = require('async');
|
||||
//var async = require('async');
|
||||
|
||||
exports.moduleInfo = {
|
||||
name : 'Matrix',
|
||||
|
@ -20,8 +20,63 @@ exports.moduleInfo = {
|
|||
author : 'NuSkooler',
|
||||
};
|
||||
|
||||
exports.entryPoint = entryPoint;
|
||||
//exports.entryPoint = entryPoint;
|
||||
exports.getModule = MatrixModule;
|
||||
|
||||
|
||||
function MatrixModule() {
|
||||
MenuModule.call(this);
|
||||
}
|
||||
|
||||
require('util').inherits(MatrixModule, MenuModule);
|
||||
|
||||
MatrixModule.prototype.enter = function(client) {
|
||||
MatrixModule.super_.prototype.enter.call(this);
|
||||
|
||||
var self = this;
|
||||
|
||||
client.term.write(ansi.resetScreen());
|
||||
//client.term.write('\x1b[?33h');
|
||||
|
||||
theme.displayThemeArt('MATRIX', client, function onMatrix(err, mciMap) {
|
||||
console.log(mciMap);
|
||||
if(mciMap.ET1 && mciMap.ET2 && mciMap.BN1 && mciMap.BN2 && mciMap.BN3) {
|
||||
//
|
||||
// Form via EditTextViews and ButtonViews
|
||||
// * ET1 - userName
|
||||
// * ET2 - password
|
||||
// * BN1 - Login
|
||||
// * BN2 - New
|
||||
// * BN3 - Bye!
|
||||
//
|
||||
} else if(mciMap.VM1) {
|
||||
//
|
||||
// Menu via VerticalMenuView
|
||||
//
|
||||
// * VM1 - menu with the following items:
|
||||
// 0 - Login
|
||||
// 1 - New
|
||||
// 2 - Bye!
|
||||
//
|
||||
//var vc = new ViewController(client);
|
||||
var vc = self.addViewController(new ViewController(client));
|
||||
|
||||
vc.on('submit', function onSubmit(form) {
|
||||
console.log(form);
|
||||
});
|
||||
|
||||
vc.loadFromMCIMap(mciMap);
|
||||
vc.setViewOrder();
|
||||
// :TODO: Localize
|
||||
vc.getView(1).setItems(['Login', 'New User', 'Goodbye!']);
|
||||
vc.getView(1).submit = true;
|
||||
vc.switchFocus(1);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
function entryPoint(client) {
|
||||
|
||||
client.term.write(ansi.resetScreen());
|
||||
|
@ -50,17 +105,19 @@ function entryPoint(client) {
|
|||
var vc = new ViewController(client);
|
||||
|
||||
vc.on('submit', function onSubmit(form) {
|
||||
|
||||
console.log(form);
|
||||
});
|
||||
|
||||
vc.loadFromMCIMap(mciMap);
|
||||
vc.setViewOrder();
|
||||
// :TODO: Localize
|
||||
vc.getView(1).setItems(['Login', 'New User', 'Goodbye!']);
|
||||
vc.getView(1).submit = true;
|
||||
vc.switchFocus(1);
|
||||
}
|
||||
});
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
function entryPoint(client) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue