view app/view/widget/base/DateTimeField.js @ 717:f124d24c8ade

Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
author Dustin Demuth <dustin@intevation.de>
date Mon, 13 Apr 2015 16:22:34 +0200
parents 1f51b6020f8c
children 777bf66dbb11
line wrap: on
line source
Ext.define('Lada.view.widget.base.DateTimeField', {
    extend: 'Ext.form.field.Date',
    alias: 'widget.datetimefield',
    requires: [
        'Lada.view.widget.base.DateTimePicker'
    ],

    format: 'm/d/Y H:i',

    mimicBlur: function(e) {
        var me = this,
        picker = me.picker;

        // ignore mousedown events within the picker element
        if (!picker ||
            !e.within(picker.el, false, true)
        ) {
            me.callParent(arguments);
        }
    },

    collapseIf: function(e) {
        var me = this;

        if (Ext.getVersion().major === 4
            && !me.isDestroyed
            && !e.within(me.bodyEl, false, true)
            && !e.within(me.picker.el, false, true)
        ) {
            me.collapse();
        }
    },

    createPicker: function() {
        var me = this;

        return new Lada.view.widget.base.DateTimePicker({
            pickerField: me,
            floating: true,
            hidden: true,
            focusable: true,
            focusOnShow: true,
            minDate: me.minValue,
            maxDate: me.maxDate,
            disabledDatesRE: me.disabledDatesRE,
            disabledDatesText: me.disabledDatesText,
            disabledDays: me.disabledDays,
            disabledDatesText: me.disabledDaysText,
            format: me.format,
            startDay: me.startDay,
            minText: Ext.String.format(me.minText, me.formatDate(me.minValue)),
            maxText: Ext.String.format(me.maxText, me.formatDate(me.maxValue)),
            listeners: {
                scope: me,
                select: me.onSelect
            },
            keyNavConfig: {
                esc: function() {
                    me.collapse();
                }
            }
        });
    }
});

http://lada.wald.intevation.org