Mercurial > lada > lada-client
view app/model/Zusatzwert.js @ 1089:01bcca98ae8f
Allow row-editing for items with empty netzbetreiberId.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Mon, 09 May 2016 13:01:49 +0200 |
parents | 1d20cec263ee |
children | b73f9a976c82 |
line wrap: on
line source
/* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz * Software engineering by Intevation GmbH * * This file is Free Software under the GNU GPL (v>=3) * and comes with ABSOLUTELY NO WARRANTY! Check out * the documentation coming with IMIS-Labordaten-Application for details. */ /** * Model class for Zusatzwerte */ Ext.define('Lada.model.Zusatzwert', { extend: 'Ext.data.Model', fields: [{ name: 'id' }, { name: 'owner', type: 'boolean' }, { name: 'readonly', type: 'boolean', persist: false }, { name: 'probeId' }, { name: 'pzsId' }, { name: 'nwgZuMesswert', serialize: function(v) { if (v.indexOf(',') > 0) { v = v.replace(',', '.'); return v; } return v; }, convert: function(value) { if (!value || value === '') { return value; } var valueString = value.toString(); if (valueString.indexOf('E') > 0) { valueString = valueString.replace('E', 'e'); } var tmp; if (valueString.indexOf('e') > 0) { tmp = valueString; } else { // Currently not locale friendly... if (valueString.indexOf(',') > 0) { valueString = valueString.replace(',', '.'); } tmp = parseFloat(valueString).toExponential(); } var parts = tmp.split('e'); if (parts[0].indexOf('.') > 0) { var floatPart = parseFloat(parts[0]); var separator = floatPart.toFixed(2).toLocaleString().replace(/[-\d]/g, ''); parts[0] = floatPart.toFixed(2).replace('.', separator); } else if (parts[0].indexOf(',') < 0) { parts[0] = parts[0] + ',00'; } var intPart = parseInt(parts[1]); if (intPart < 10 && intPart >= 0) { parts[1] = '+0' + parseInt(parts[1]); } else if (intPart < 0 && intPart > -10) { parts[1] = parts[1].replace('-', '-0'); } return parts[0] + 'e' + parts[1]; } }, { name: 'messwertPzs', serialize: function(v) { if (v.indexOf(',') > 0) { v = v.replace(',', '.'); return v; } return v; }, convert: function(value) { if (!value || value === '') { return value; } var valueString = value.toString(); if (valueString.indexOf('E') > 0) { valueString = valueString.replace('E', 'e'); } var tmp; if (valueString.indexOf('e') > 0) { tmp = valueString; } else { // Currently not locale friendly... if (valueString.indexOf(',') > 0) { valueString = valueString.replace(',', '.'); } tmp = parseFloat(valueString).toExponential(); } var parts = tmp.split('e'); if (parts[0].indexOf('.') > 0) { var floatPart = parseFloat(parts[0]); var separator = floatPart.toFixed(2).toLocaleString().replace(/[-\d]/g, ''); parts[0] = floatPart.toFixed(2).replace('.', separator); } else if (parts[0].indexOf(',') < 0) { parts[0] = parts[0] + ',00'; } var intPart = parseInt(parts[1]); if (intPart < 10 && intPart >= 0) { parts[1] = '+0' + parseInt(parts[1]); } else if (intPart < 0 && intPart > -10) { parts[1] = parts[1].replace('-', '-0'); } return parts[0] + 'e' + parts[1]; } }, { name: 'messfehler', type: 'float' }, { name: 'letzteAenderung', type: 'date', convert: function(v) { if (!v) { return v; } return new Date(v); }, defaultValue: new Date() }, { name: 'treeModified', serialize: function(value) { if (value === '') { return null; } return value; } }, { name: 'parentModified', serialize: function(value) { if (value === '') { return null; } return value; } }], idProperty: 'id', proxy: { type: 'rest', url: 'lada-server/rest/zusatzwert', reader: { type: 'json', root: 'data' } } });