diff --git a/lib/editview/format.js b/lib/editview/format.js index e7bcfd5..743148b 100644 --- a/lib/editview/format.js +++ b/lib/editview/format.js @@ -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; diff --git a/lib/listview/format.js b/lib/listview/format.js index 62fd0e8..a29a943 100644 --- a/lib/listview/format.js +++ b/lib/listview/format.js @@ -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 + } } diff --git a/test/editview/format.js b/test/editview/format.js index e5c38a0..dc86cff 100644 --- a/test/editview/format.js +++ b/test/editview/format.js @@ -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();