mirror of
https://github.com/Mintplex-Labs/express-admin.git
synced 2026-07-19 21:43:38 -04:00
Refactor editview/index
This commit is contained in:
+26
-29
@@ -1,5 +1,6 @@
|
||||
|
||||
var dcopy = require('deep-copy');
|
||||
var async = require('async'),
|
||||
dcopy = require('deep-copy');
|
||||
var upload = require('./upload'),
|
||||
data = require('./data'),
|
||||
params = require('./params');
|
||||
@@ -14,67 +15,63 @@ function removeHidden (columns) {
|
||||
return result;
|
||||
}
|
||||
|
||||
function getData (args, cb) {
|
||||
function getData (args, done) {
|
||||
args.config.columns = removeHidden(args.config.columns);
|
||||
|
||||
data.otm.get(args, function (err) {
|
||||
if (err) return cb(err);
|
||||
if (err) return done(err);
|
||||
data.stc.get(args);
|
||||
data.tbl.get(args, function (err, rows) {
|
||||
if (err) return cb(err);
|
||||
if (err) return done(err);
|
||||
data.mtm.get(args, rows, function (err) {
|
||||
if (err) return cb(err);
|
||||
if (err) return done(err);
|
||||
upload.loopRecords(args, function (err) {
|
||||
if (err) return cb(err);
|
||||
cb(null, params.get(args, rows));
|
||||
if (err) return done(err);
|
||||
done(null, params.get(args, rows));
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function getTables (args, cb) {
|
||||
var tables = [],
|
||||
keys = Object.keys(args.tables);
|
||||
(function loop (index) {
|
||||
if (index == keys.length) return cb(null, tables);
|
||||
var name = keys[index];
|
||||
|
||||
function getTables (args, done) {
|
||||
var tables = [];
|
||||
async.eachSeries(Object.keys(args.tables), function (name, done) {
|
||||
|
||||
args.config = dcopy(args.settings[name]);
|
||||
args.fk = args.tables[name];
|
||||
|
||||
getData(args, function (err, table) {
|
||||
if (err) return cb(err);
|
||||
if (err) return done(err);
|
||||
tables.push(table);
|
||||
loop(++index);
|
||||
done();
|
||||
});
|
||||
}(0));
|
||||
}, function (err) {
|
||||
done(err, tables);
|
||||
});
|
||||
}
|
||||
|
||||
exports.getTypes = function (args, cb) {
|
||||
var types = ['view', 'oneToOne', 'manyToOne'],
|
||||
config = args.config,
|
||||
result = {};
|
||||
(function loop (i) {
|
||||
if (i == types.length) return cb(null, result);
|
||||
var type = types[i];
|
||||
|
||||
exports.getTypes = function (args, done) {
|
||||
var result = {};
|
||||
async.eachSeries(['view', 'oneToOne', 'manyToOne'], function (type, done) {
|
||||
args.type = type;
|
||||
|
||||
args.tables = {};
|
||||
(type == 'view')
|
||||
? args.tables[args.name] = null
|
||||
: args.tables = config.editview[type] || {};
|
||||
: args.tables = args.config.editview[type] || {};
|
||||
|
||||
args.post = args.data ? args.data[type] : null;
|
||||
args.files = args.upload ? args.upload[type] : null;
|
||||
|
||||
getTables(args, function (err, tables) {
|
||||
if (err) return cb(err);
|
||||
if (err) return done(err);
|
||||
result[type] = {tables: tables};
|
||||
loop(++i);
|
||||
done();
|
||||
});
|
||||
}(0));
|
||||
}, function (err) {
|
||||
done(err, result);
|
||||
});
|
||||
}
|
||||
|
||||
exports._removeHidden = removeHidden;
|
||||
|
||||
Reference in New Issue
Block a user