Показать сообщение отдельно
  #2 (permalink)  
Старый 08.12.2011, 16:04
Аспирант
Отправить личное сообщение для Bkmz_1_ Посмотреть профиль Найти все сообщения от Bkmz_1_
 
Регистрация: 03.12.2009
Сообщений: 56

Никак не могу понять в чем проблема.


Скрин ошибки:



Вот код окошка в котором расположено поле поиска

Ext.define('MyApp.view.Firms', {
    extend: 'Ext.window.Window',
    alias : 'widget.firms',
    
    id: 'all-firms',
    height: 500,
    width: 450,
    layout: 'fit',
    title: 'Предприятия города',
    modal: true,
    x: 100,
    y: 50,
    
    initComponent: function() {
       this.dockedItems = [
            {
                xtype: 'toolbar',
                dock: 'top',
                items: [
                    {
                        xtype: 'button',
                        iconCls: 'icon-add-firm',
                        text: 'Добавить'
                    }
                ]
            },
            {
                xtype: 'toolbar',
                dock: 'bottom',
                items: [
                    {
                        xtype: 'pagingtoolbar',
                        store: 'Firms',
                        width: 270
                    },
                    {
                        xtype:'tbfill'
                    },
                    {
                        xtype: 'searchfield',
                        store: 'Firms',
                        params: {start: 0, limit: 16}
                    }
                ]
            }
       ],
       this.items = [
            {
                xtype: 'gridpanel',
                border: 'false',
                id: 'firm-list',
                title: '',
                loadMask: true,
                store: 'Firms',
                columns: [
                    {
                        xtype: 'gridcolumn',
                        dataIndex: 'name',
                        flex: 1,
                        text: 'Список предприятий'
                    }
                ]
            }
        ],
        this.callParent(arguments);
    }

});


Я поместил searchfield в папку с view.
Вот содержание файла поиска

Ext.define('MyApp.view.Search', {
    extend: 'Ext.form.field.Trigger',
    
    alias: 'widget.searchfield',
    
    trigger1Cls: Ext.baseCSSPrefix + 'form-clear-trigger',
    
    trigger2Cls: Ext.baseCSSPrefix + 'form-search-trigger',
    
    hasSearch : false,
    paramName : 'query',
    
    initComponent: function(){
        this.callParent(arguments);
        this.on('specialkey', function(f, e){
            if(e.getKey() == e.ENTER){
                this.onTrigger2Click();
            }
        }, this);
    },
    
    afterRender: function(){
        this.callParent();
        this.triggerEl.item(0).setDisplayed('none');  
    },

    onTrigger1Click : function(){
        var me = this,
            store = me.store,
            proxy = store.getProxy(),
            val;
            
        if (me.hasSearch) {
            me.setValue('');
            proxy.extraParams[me.paramName] = '';
            proxy.extraParams.start = 0;
            store.load();
            me.hasSearch = false;
            me.triggerEl.item(0).setDisplayed('none');
            me.doComponentLayout();
        }
    },

    onTrigger2Click : function(){
        var me = this,
            store = me.store,
            proxy = store.getProxy(),
            value = me.getValue();
            
        if (value.length < 1) {
            me.onTrigger1Click();
            return;
        }
        proxy.extraParams[me.paramName] = value;
        proxy.extraParams.start = 0;
        store.load();
        me.hasSearch = true;
        me.triggerEl.item(0).setDisplayed('block');
        me.doComponentLayout();
    }
});


Это стандартный плагин поиска, я только поменял путь к нему на 'MyApp.view.Search'

Может у кого-то есть хоть какие-то идеи как можно исправить?

Последний раз редактировалось Bkmz_1_, 08.12.2011 в 16:08.
Ответить с цитированием