UNPKG

@kldit/cms

Version:

A CMS Framework for @kldit/mvc

120 lines (110 loc) 4.25 kB
/** * @author Orlando Leite * * NumberField class **/ const SimpletextField = require('@kldit/cms/lib/fields/SimpletextField'); const { MQL } = require('mql-mysql'); const { util } = require('@kldit/mvc'); module.exports = class NumberField extends SimpletextField { _prepareValue(value) { if(this.field.subtype == "real" || this.field.subtype == "decimal" || this.field.subtype == "money") { value = Number(value); } else { value = Math.round(value); } if( isNaN( value ) ) { value = 0; } console.log( value ); return value; } insert(cms) { if(this.field.static != true) { var value = cms.values[this.fieldName]; value = this._prepareValue(value); this.request.setColumn(this.cfrom, this.field.column, this.fieldName, value, this, MQL.SET); } } update(cms) { if(this.field.static != true) { var value = cms.values[this.fieldName]; value = this._prepareValue(value); this.request.setColumn(this.cfrom, this.field.column, this.fieldName, value, this, MQL.SET); } } listView(id, cms) { var temp = {}; temp.type = "number"; temp.pre = util.renderJsLine(this.field.pre, cms); temp.pos = util.renderJsLine(this.field.pos, cms); temp.subtype = util.renderJsLine(this.field.subtype, cms); temp.thousands = util.renderJsLine(this.field.thousands, cms); temp.decimal = util.renderJsLine(this.field.decimal, cms); temp.allowZero = util.renderJsLine(this.field["allow-zero"], cms); temp.allowNegative = util.renderJsLine(this.field["allow-negative"], cms); temp.affixesStay = util.renderJsLine(this.field["affixes-stay"], cms); temp.showPositiveSign = util.renderJsLine(this.field["show-positive-sign"], cms); temp["state-classes"] = util.renderJsLine(this.field["state-classes"], cms); temp["list-class"] = util.renderJsLine(this.field["list-class"], cms); temp.value = values[this.fieldName]; return temp; } editView(cms) { var temp = {}; if(this.field.static) temp.type = "staticnumber"; else temp.type = "number"; temp.id = util.renderJsLine(this.fieldName, cms); temp.subtype = util.renderJsLine(this.field.subtype, cms); temp.thousands = util.renderJsLine(this.field.thousands, cms); temp.decimal = util.renderJsLine(this.field.decimal, cms); temp.allowZero = util.renderJsLine(this.field["allow-zero"], cms); temp.allowNegative = util.renderJsLine(this.field["allow-negative"], cms); temp.affixesStay = util.renderJsLine(this.field["affixes-stay"], cms); temp.showPositiveSign = util.renderJsLine(this.field["show-positive-sign"], cms); temp["state-classes"] = util.renderJsLine(this.field["state-classes"], cms); temp.readonly = util.renderJsLine(this.field.readonly, cms); temp.visible = util.renderJsLine(this.field.visible, cms); temp.class = util.renderJsLine(this.field.class, cms); temp.title = util.renderJsLine(this.field.title, cms); temp.placeholder = util.renderJsLine(this.field.placeholder, cms); temp.help = util.renderJsLine(this.field.help, cms); temp.pre = util.renderJsLine(this.field.pre, cms); temp.pos = util.renderJsLine(this.field.pos, cms); temp.value = cms.values[this.fieldName]; this._applyValidations(temp); return temp; } updateEditView(cms) { var temp = {}; temp.subtype = util.renderJsLine(this.field.subtype, cms); temp.thousands = util.renderJsLine(this.field.thousands, cms); temp.decimal = util.renderJsLine(this.field.decimal, cms); temp.allowZero = util.renderJsLine(this.field["allow-zero"], cms); temp.allowNegative = util.renderJsLine(this.field["allow-negative"], cms); temp.affixesStay = util.renderJsLine(this.field["affixes-stay"], cms); temp.showPositiveSign = util.renderJsLine(this.field["show-positive-sign"], cms); temp["state-classes"] = util.renderJsLine(this.field["state-classes"], cms); temp.readonly = util.renderJsLine(this.field.readonly, cms); temp.class = util.renderJsLine(this.field.class, cms); temp.title = util.renderJsLine(this.field.title, cms); temp.placeholder = util.renderJsLine(this.field.placeholder, cms); temp.help = util.renderJsLine(this.field.help, cms); temp.pre = util.renderJsLine(this.field.pre, cms); temp.pos = util.renderJsLine(this.field.pos, cms); return temp; } }