Код IT
← Каталог

JavaScript 3-ecosystem-2-frontend-frameworks-4-ext-js-31 — Пример — декларативное описание компонента Рё работа СЃ данными

Фрагмент из «JavaScript 3-ecosystem-2-frontend-frameworks-4-ext-js-31»: Пример — декларативное описание компонента Рё работа СЃ данными.

javascript javascriptencyclopedia3-ecosystem-2-frontend-frameworks-4-ext-js-31 embed URL статья в энциклопедии
JavaScript main.js
Ext.define('App.controller.User', {
    extend: 'Ext.app.Controller',

    init: function() {
        this.listen({
            component: {
                'user-edit-form button[text=Сохранить]': {
                    click: 'onSave'
                }
            }
        });
    },

    onSave: function(button) {
        var form = button.up('form'),
            viewModel = form.getViewModel(),
            record = viewModel.get('record');

        form.updateRecord(record); // переносит значения из полей в модель

        if (record.isValid()) {
            record.save({
                success: function() {
                    Ext.toast('data сохранены');
                },
                failure: function() {
                    Ext.Msg.alert('Ошибка', 'Не удалось сохранить');
                }
            });
        } else {
            form.getForm().markInvalid(record.getValidation().errors);
        }
    }
});
Ext.define('App.controller.User', {
    extend: 'Ext.app.Controller',

    init: function() {
        this.listen({
            component: {
                'user-edit-form button[text=Сохранить]': {
                    click: 'onSave'
                }
            }
        });
    },

    onSave: function(button) {
        var form = button.up('form'),
            viewModel = form.getViewModel(),
            record = viewModel.get('record');

        form.updateRecord(record); // переносит значения из полей в модель

        if (record.isValid()) {
            record.save({
                success: function() {
                    Ext.toast('data сохранены');
                },
                failure: function() {
                    Ext.Msg.alert('Ошибка', 'Не удалось сохранить');
                }
            });
        } else {
            form.getForm().markInvalid(record.getValidation().errors);
        }
    }
});