Тема: HasMany Model
Показать сообщение отдельно
  #1 (permalink)  
Старый 18.03.2016, 13:36
Новичок на форуме
Отправить личное сообщение для skoropadas Посмотреть профиль Найти все сообщения от skoropadas
 
Регистрация: 18.03.2016
Сообщений: 5

HasMany Model
ExtJs 6
Здравствуйте, не как не могу доделать форму.
Суть такова, есть Store(SprMinefield) в нем находятся данные, пользователь выбирает определенную запись и она начинает редактироваться в созданной форме, так же на форме существует таблица которая наследует записи из связанной модели.
При нажатии на кнопку сохранить у формы, данные отправляются на сервер, сохранение происходит нормально, проблема в том что когда север возвращает обновленную запись, обновляется лишь родительская модель, т.е. данные в полях формы, а связанная остается не обновленной (именно строки грида).

Родительская модель:
Ext.define('Drilling.model.SprMinefieldModel', {
    extend : 'Ext.data.Model',
    uses: ['Drilling.model.SprLayerModel'],
    fields : [
        {
            name : 'name',
            type : 'string'
        },
        {
            name : 'short_name',
            type : 'string'
        },
        {
            name : 'spr_org_structure_id',
            type : 'int'
        },
        {
            name : 'code',
            type : 'int'
        },
        {
            name : 'conductor',
            type : 'int'
        },
        {
            name : 'color',
            type : 'string'
        },
        {
            name : 'comments',
            type : 'string'
        }
    ],
    validators: {
        name: 'presence'
    },
    proxy: {
        type: 'ajax',
        batchActions: false,
        api: {
            read: '/spr_minefields.json',
            create: '/spr_minefields/add.json',
            update: '/spr_minefields/update.json',
            destroy: '/spr_minefields/remove.json'
        },
        reader : {
            type : 'json'
        },
        writer : {
            type : 'json',
            //writeAllFields: true,
            partialDataOptions: {
                associated: true,
                changes: true
            }
        },
        listeners: {
            exception: onAjaxException
        }
    },
    hasMany: {
        model: 'Drilling.model.SprLayerModel',
        name: 'spr_layers_attributes'
    }
});


Дочерняя:
Ext.define('Drilling.model.SprLayerModel', {
    extend : 'Ext.data.Model',
    fields : [
        {
            name: 'id',
            type: 'int'
        },
        {
            name: 'name',
            type: 'string'
        },
        {
            name: 'density',
            type: 'int'
        },
        {
            name: '_destroy',
            type: 'string'
        }

    ],
    validators: {
        name: 'presence'
    },
    proxy: {
        type: 'memory',
        listeners: {
            exception: onAjaxException
        }
    }
});


Может это конечно баг такой, и данный функционал вовсе не предусмотрен, но прощу помощи, возможно кто то уже решал подобную задачу.
Ответить с цитированием