view app/view/form/ExpNumberField.js @ 1229:eeed1b92341f

Avoid side effect of setting 0 as default value. Temporarily, this was not a problem, as 0 was a valid baId, but since server Rev d1d7d684800c this is not the case anymore.
author Tom Gottfried <tom@intevation.de>
date Fri, 28 Oct 2016 17:02:42 +0200
parents b73f9a976c82
children
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.
 */

/**
 * Number field for display and editing of exponential numbers
 */
Ext.define('Lada.view.form.ExpNumberField', {
    extend: 'Ext.form.field.Number',
    alias: 'widget.expnumberfield',

    baseChars: '0123456789eE',

    hideTrigger: true,
    keyNavEnabled: false,
    mouseWheelEnabled: false,

    valueToRaw: function(value) {
        if (!value || value === '') {
            return value;
        }

        // XXX: this will be applied to any input before being sent to
        // the server! Thus, toExponential(2) would lead to incorrectly
        // rounded numbers at this point.
        value = parseFloat(value).toExponential()
            .toString().replace('.', this.decimalSeparator);

        return value;
    },

    rawToValue: function(value) {
        if (!value || value === '') {
            return value;
        }

        value = parseFloat(
            value.toString().replace(this.decimalSeparator, '.'));

        return value;
    }
});

http://lada.wald.intevation.org