Extjs проблемы с MVC - PullRequest
       5

Extjs проблемы с MVC

2 голосов
/ 31 мая 2011

Я пытаюсь воссоздать модель MVC их простого примера, но у меня возникла следующая проблема. Это моя декларация сетки

Ext.define('MCMS.view.items.List' ,{
extend: 'Ext.grid.Panel',
alias : 'widget.itemsList',
title : lang.items,
store: 'Items',
loadMask: true,
columns: [
        {header: "#ID", width: 60, dataIndex: 'id', sortable: true},
        {header: "Title", width: 250, dataIndex: 'title', sortable: true},
        {header: "Availability", width: 60, dataIndex: 'active', sortable: true},
        {header: "Category", width: 200, dataIndex: 'category',sortable:false,renderer: function(value, metaData, record, rowIndex, colIndex, store) {                          
            var cat = new Array;
            Ext.each(value, function(person, index) {
                cat.push('<a href="#showCat" rel="'+ this.categoryid + '">' + this.category + '</a>');
            });
            return cat.join(' , '); }},
],
bbar : Ext.create('Ext.PagingToolbar', {
    store: 'Items',
    pageSize: 5,
    displayInfo: true,
    displayMsg: 'Displaying topics {0} - {1} of {2}',
    emptyMsg: "No topics to display",
}),

});

Я получаю очень общую ошибку типа Следующие классы не объявляются, даже если их файлы загружены: 'MCMS.view.items.List'. Пожалуйста, проверьте исходный код их соответствующих файлов для возможных опечаток: 'app / view / items / List.js' " Когда я удаляю раздел bbar, он работает просто отлично. Мой контроллер выглядит так Ext.define ('MCMS.controller.Items', { расширение: «Ext.app.Controller»,

stores: ['Items'],

models: ['Item'],

views: ['items.Edit', 'items.List','items.itemsTabs'],

refs: [
    {
        ref: 'itemsPanel',
        selector: 'panel'
    }
],

init: function() {
    this.control({
        'viewport > itemsTabs itemsList dataview': {
            itemdblclick: this.editItem
        },
        'itemEdit button[action=save]': {
            click: this.updateItem
        }
    });
},

editItem: function(grid, record) {
    var edit = Ext.create('MCMS.view.items.Edit').show();

    edit.down('form').loadRecord(record);
},

updateItem: function(button) {
    var win    = button.up('window'),
        form   = win.down('form'),
        record = form.getRecord(),
        values = form.getValues();

    record.set(values);
    win.close();
    this.getItemsStore().sync();
}

});

1 Ответ

2 голосов
/ 01 июня 2011

Переименовать 'Ext.PagingToolbar' в 'Ext.toolbar.Paging'

Если это не сработает, попробуйте xtype на основе конфигурации, как это -


bbar : {
    xtype:'pagingtoolbar'
    store: 'Items',
    pageSize: 5,
    displayInfo: true,
    displayMsg: 'Displaying topics {0} - {1} of {2}',
    emptyMsg: "No topics to display",
}
...