mirror of
https://github.com/NuSkooler/enigma-bbs.git
synced 2025-06-06 20:55:30 +02:00
* WIP on standard menu and menu.json MCI / form mapping. Much to do...
This commit is contained in:
parent
4c4b0de54c
commit
cca9334bd3
4 changed files with 180 additions and 2 deletions
|
@ -9,9 +9,12 @@ var conf = require('./config.js');
|
|||
var fs = require('fs');
|
||||
var paths = require('path');
|
||||
var async = require('async');
|
||||
var assert = require('assert');
|
||||
|
||||
var stripJsonComments = require('strip-json-comments');
|
||||
|
||||
exports.loadMenu = loadMenu;
|
||||
exports.getFormConfig = getFormConfig;
|
||||
|
||||
function loadMenu(name, client, cb) {
|
||||
/*
|
||||
|
@ -58,4 +61,53 @@ function loadMenu(name, client, cb) {
|
|||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
function getFormConfig(menuConfig, mciMap, cb) {
|
||||
async.filter(
|
||||
menuConfig.form,
|
||||
function check(form, callback) {
|
||||
if(!form.mciReq || form.mciReq.length <= 0) {
|
||||
callback(false);
|
||||
return;
|
||||
}
|
||||
|
||||
var count = form.mciReq.length;
|
||||
for(var i = 0; i < count; ++i) {
|
||||
if(!mciMap[form.mciReq[i]]) {
|
||||
callback(false);
|
||||
}
|
||||
}
|
||||
callback(true);
|
||||
},
|
||||
function filtered(form) {
|
||||
if(form.length > 0) {
|
||||
assert(1 === form.length);
|
||||
cb(form[0]);
|
||||
} else {
|
||||
cb(null);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/*
|
||||
function getFormConfig(menuConfig, mciMap) {
|
||||
var count = menuConfig.form ? menuConfig.form.length : 0;
|
||||
var mciReq;
|
||||
for(var i = 0; i < count; ++i) {
|
||||
mciReq = menuConfig.form[i].mciReq;
|
||||
if(mciReq) {
|
||||
if(mciReq.length === mciMap.length) {
|
||||
for(var m = 0; m < mciReq.length; ++m) {
|
||||
if(!mciMap[mciReq[m]]) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
Loading…
Add table
Add a link
Reference in a new issue