diff app/model/Zusatzwert.js @ 1119:b73f9a976c82

Exponential notation without tampering numbers. Rounding is done by the server. Thus, the client should not fix the number of digits, except only for rendering.
author Tom Gottfried <tom@intevation.de>
date Mon, 23 May 2016 16:00:50 +0200
parents 1d20cec263ee
children 52bf58630e58
line wrap: on
line diff
--- a/app/model/Zusatzwert.js	Mon May 23 11:39:19 2016 +0200
+++ b/app/model/Zusatzwert.js	Mon May 23 16:00:50 2016 +0200
@@ -26,97 +26,9 @@
     }, {
         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: 'nwgZuMesswert'
     }, {
-        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: 'messwertPzs'
     }, {
         name: 'messfehler',
         type: 'float'

http://lada.wald.intevation.org