На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ElcnU, ANDLL, fatalist
  
> ExtJS autoLoad:false , extJS 4.2.1 игнорирует autoLoad: false
    в доке пишут
    Цитата
    autoLoad : Boolean/Object
    If data is not specified, and if autoLoad is true or an Object, this store's load method is automatically called after creation. If the value of autoLoad is an Object, this Object will be passed to the store's load method.

    Available since: 2.3.0

    что-то не вижу я реакции от изменения true на false. может я его не так готовлю, но даже вариантов не приходит в голову никаких в чем тут можно ошибиться.

    не думаю что код важен, тут его столько, что какой-то внятный кусок и не выдернуть
    Скрытый текст
    например такой
    ExpandedWrap disabled
      Ext.define('Test.TestListStore', {
          extend: 'Ext.data.Store',
          storeId: 'tListStore',
          fields: [
              'id',
              'date',
              'name'
          ],
          remoteSort: true,
          sortOnLoad: true,
          sorters: [
              {
                  property: 'name',
                  direction: 'ASC'
              }
          ],
          autoLoad: false,
          proxy: {
              type: 'ajax',
              url: '/test/list'),
              filterParam: 'searchString',
              sortParam: 'sorting',
              directionParam: 'sortingOrder',
              simpleSortMode: true,
              reader: {
                  type: 'json',
                  root: 'tListSettings',
                  totalProperty: 'totalCount'
              }
          }
      });

      я непонятно сформулировал или никто не пользуется?
        я "не пользуется"... :-?

        Добавлено
        По Ext тут редко вопросы вообще проскакивают...
          Второе. Если вопросы по кнокауту, шугару, андерскору или JQ - без проблем отвечу, да и по эмберу или ангулару, с моим мелким опытом общения с ними могу попробовать, а вот с Ext вообще даже не сталкивался ранее :-?
            а я даже не могу найти где брейкпойнт поставить :(
            ладно попробую на винграде спросить
              Цитата zera @
              а я даже не могу найти где брейкпойнт поставить

              предполагаю, что там где addEventListener('DOMContentLoaded', ****, судя по названию функции :-?
                Цитата Serafim @
                предполагаю, что там где addEventListener('DOMContentLoaded', ****, судя по названию функции

                да ты разбираешься лучше меня, походу
                  zera, а что не так? Ext должен отталкиваться от события готовности документа, в любом случае :-?
                  Ещё в исходниках есть вот такой код, который задействует автолоад:
                  ExpandedWrap disabled
                     // Data manipulated by the server - reload
                            if (me.autoLoad && (me.remoteSort || me.remoteGroup || me.remoteFilter)) {
                                if (me.autoLoad === true) {
                                    me.reload();
                                } else {
                                    me.reload(me.autoLoad);
                                }
                            }


                  Добавлено
                  Да, вижу, у тебя remoteSort тоже тру. Сорь, недоглядел

                  Добавлено
                  Хм, может добавить событие "beforeload"... Короче забей, тебе лучше знать что там и как =) :blush:
                    remoteSort у меня true, а autoLoad false
                      autoLoad не управляет отключением автозагрузки. просто если он установлен в false, то загружаться данные будут не в том месте, где загрузились бы будь он в true, а в более другом. это очень полезная фича для тех, кто понимает зачем это нужно
                      а для тех, кто не понимает решение:
                      ExpandedWrap disabled
                        Ext.define('Common.ManualStore', {
                            extend: 'Ext.data.Store',
                            autoLoad: false,
                            proxy: {
                                type: 'ajax',
                                autoLoad: false
                            },
                            listeners: {
                                beforeload: function( store, operation, eOpts ) {
                                    console.log('subtables doesn\'t load because autoload off');
                                    return this.storeLoadCallback(store.proxy.extraParams);
                                }
                            },
                         
                            storeLoadCallback: function(extraParams) {
                                return !Ext.isEmpty(extraParams) && !Ext.isEmpty(extraParams.loader)
                            }
                        });

                      и наследовать store от него. соответственно проверяется extraParams.loader, так что для вызова нужно писать
                      ExpandedWrap disabled
                                    grid.getStore().getProxy().setExtraParam('loader', 'manual');
                                    grid.getStore().loadPage(1)

                      про разработчиков же, придумавших такое хочется сказать следующее:
                      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                      0 пользователей:


                      Рейтинг@Mail.ru
                      [ Script execution time: 0,0344 ]   [ 15 queries used ]   [ Generated: 17.06.25, 13:32 GMT ]