mirror of
https://github.com/Mintplex-Labs/express-admin.git
synced 2026-07-19 13:34:42 -04:00
Refactor editview/format
This commit is contained in:
+33
-45
@@ -3,42 +3,46 @@ var moment = require('moment');
|
||||
|
||||
|
||||
exports.value = function (column, value) {
|
||||
if (value == '' && column.defaultValue)
|
||||
if (value == '' && column.defaultValue) {
|
||||
value = column.defaultValue;
|
||||
|
||||
switch (true) {
|
||||
case column.control.date:
|
||||
if (!value) return null;
|
||||
if (moment(value).isValid())
|
||||
return moment(value).format('YYYY-MM-DD');
|
||||
return value;
|
||||
case column.control.datetime:
|
||||
if (!value) return null;
|
||||
if (moment(value).isValid())
|
||||
return moment(value).format('YYYY-MM-DD hh:mm:ss');
|
||||
return value;
|
||||
}
|
||||
|
||||
case column.control.binary:
|
||||
return value ? 'data:image/jpeg;base64,'+value.toString('base64') : value;
|
||||
if (column.control.date) {
|
||||
if (!value) return null;
|
||||
if (moment(value).isValid())
|
||||
return moment(value).format('YYYY-MM-DD');
|
||||
return value;
|
||||
}
|
||||
|
||||
case column.control.multiple:
|
||||
return setActiveMultiple(column, value);
|
||||
|
||||
case column.control.select && (column.control.options instanceof Array):
|
||||
return setActiveStatic(column, value);
|
||||
else if (column.control.datetime) {
|
||||
if (!value) return null;
|
||||
if (moment(value).isValid())
|
||||
return moment(value).format('YYYY-MM-DD hh:mm:ss');
|
||||
return value;
|
||||
}
|
||||
|
||||
case column.control.select:
|
||||
return setActiveSingle(column, value);
|
||||
else if (column.control.binary) {
|
||||
return value ? 'data:image/jpeg;base64,'+value.toString('base64') : value;
|
||||
}
|
||||
|
||||
case column.control.radio:
|
||||
return setActiveRadio(column, value);
|
||||
else if (column.control.multiple) {
|
||||
return this.setActiveMultiple(column, value);
|
||||
}
|
||||
|
||||
default:
|
||||
return value;
|
||||
else if (column.control.select) {
|
||||
return this.setActiveSingle(column, value);
|
||||
}
|
||||
|
||||
else if (column.control.radio) {
|
||||
return this.setActiveRadio(column, value);
|
||||
}
|
||||
|
||||
else {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
function setActiveSingle (column, value) {
|
||||
exports.setActiveSingle = function (column, value) {
|
||||
if (!column.value) return value;
|
||||
var rows = column.value;
|
||||
for (var i=0; i < rows.length; i++) {
|
||||
@@ -50,7 +54,7 @@ function setActiveSingle (column, value) {
|
||||
return rows;
|
||||
}
|
||||
|
||||
function setActiveMultiple (column, value) {
|
||||
exports.setActiveMultiple = function (column, value) {
|
||||
if (!column.value) return value;
|
||||
var rows = column.value;
|
||||
for (var i=0; i < rows.length; i++) {
|
||||
@@ -66,18 +70,7 @@ function setActiveMultiple (column, value) {
|
||||
return rows;
|
||||
}
|
||||
|
||||
function setActiveStatic (column, value) {
|
||||
var rows = column.value;
|
||||
for (var i=0; i < rows.length; i++) {
|
||||
if (rows[i]['__pk'] === value) {
|
||||
rows[i].selected = true;
|
||||
return rows;
|
||||
}
|
||||
}
|
||||
return rows;
|
||||
}
|
||||
|
||||
function setActiveRadio (column, value) {
|
||||
exports.setActiveRadio = function (column, value) {
|
||||
if (value == 1)
|
||||
column.value[0].active = true;
|
||||
|
||||
@@ -86,8 +79,3 @@ function setActiveRadio (column, value) {
|
||||
|
||||
return column.value;
|
||||
}
|
||||
|
||||
exports._setActiveSingle = setActiveSingle;
|
||||
exports._setActiveMultiple = setActiveMultiple;
|
||||
exports._setActiveStatic = setActiveStatic;
|
||||
exports._setActiveRadio = setActiveRadio;
|
||||
|
||||
@@ -6,9 +6,11 @@ exports.value = function (column, value) {
|
||||
if (/^(datetime|timestamp).*/i.test(column.type)) {
|
||||
return value ? moment(value).format('ddd MMM DD YYYY hh:mm:ss') : '';
|
||||
}
|
||||
|
||||
else if (/^date.*/i.test(column.type)) {
|
||||
return value ? moment(value).format('ddd MMM DD YYYY') : '';
|
||||
}
|
||||
|
||||
else if (column.control.radio) {
|
||||
// mysql
|
||||
if (typeof value === 'number') {
|
||||
@@ -23,8 +25,12 @@ exports.value = function (column, value) {
|
||||
: column.control.options[1];
|
||||
}
|
||||
}
|
||||
|
||||
else if (column.control.binary) {
|
||||
return value ? 'data:image/jpeg;base64,'+value.toString('base64') : value;
|
||||
}
|
||||
return value
|
||||
|
||||
else {
|
||||
return value
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ describe('format (editview)', function () {
|
||||
{ __pk: '2', __text: 'tea' }
|
||||
]
|
||||
};
|
||||
format._setActiveSingle(column, 1);
|
||||
format.setActiveSingle(column, 1);
|
||||
column.value[2].selected.should.equal(true);
|
||||
done();
|
||||
});
|
||||
@@ -32,7 +32,7 @@ describe('format (editview)', function () {
|
||||
{ __pk: '2', __text: 'tea' }
|
||||
]
|
||||
};
|
||||
format._setActiveMultiple(column, [5,2]);
|
||||
format.setActiveMultiple(column, [5,2]);
|
||||
column.value[1].selected.should.equal(true);
|
||||
column.value[4].selected.should.equal(true);
|
||||
done();
|
||||
|
||||
Reference in New Issue
Block a user