Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.01.2013, 19:42
Аспирант
Отправить личное сообщение для adamenko.artem Посмотреть профиль Найти все сообщения от adamenko.artem
 
Регистрация: 29.01.2013
Сообщений: 49

Ext.application
Есть Ext.application({}) внутри кое какая реализация.и нужно засунуть туда функцию.чтоб из любого места приложения видно было.
updateTreeStores: function (){
var storeArray = new Array('objectsTreeStore', 'priceObjectsTreeStore');
for(var i = 0; i < storeArray.length; i++){
var store = Ext.getStore(storeArray[i]);
if (store && store.isStore){
store.load();
}
}
}
так вот эта функция описана внутри Ext.application({})
как мне ее вызвать например когда диалоговое окно при событии destroy.
пробовал Ext.app.appName.updateTreeStores
appName.updateTreeStores
и все подобные варианты.
подскажите как функцию вызвать из application
Ответить с цитированием
  #2 (permalink)  
Старый 30.01.2013, 09:41
С++/C# modest developer
Отправить личное сообщение для nekto_O Посмотреть профиль Найти все сообщения от nekto_O
 
Регистрация: 07.11.2011
Сообщений: 244

в launch
var app = this;

затем можно вызывать
app.updateTreeStores();

ну или
appName.getApplication().updateTreeStores();
Ответить с цитированием
  #3 (permalink)  
Старый 30.01.2013, 12:00
Аспирант
Отправить личное сообщение для adamenko.artem Посмотреть профиль Найти все сообщения от adamenko.artem
 
Регистрация: 29.01.2013
Сообщений: 49

для первого случая :
Uncaught ReferenceError: app is not defined
для второго :
Uncaught TypeError: Object #<Object> has no method 'getApplication'
Ответить с цитированием
  #4 (permalink)  
Старый 30.01.2013, 12:03
С++/C# modest developer
Отправить личное сообщение для nekto_O Посмотреть профиль Найти все сообщения от nekto_O
 
Регистрация: 07.11.2011
Сообщений: 244

код покажите, откуда вызывается?
Ответить с цитированием
  #5 (permalink)  
Старый 30.01.2013, 12:06
Аспирант
Отправить личное сообщение для adamenko.artem Посмотреть профиль Найти все сообщения от adamenko.artem
 
Регистрация: 29.01.2013
Сообщений: 49

естьExt.window.window
там listener destroy
destroy: function() {
                app.updateTreeStores();
            },


а вот Ext.application
launch: function(){
        var app = this;
        //Локализация разделителей тысяч и десятичной части
        Ext.util.Format.decimalSeparator = ',';
        Ext.util.Format.thousandSeparator = ' ';
        
        this.currentUserStore.load({
            scope   : this,
            callback: this.authorize
        });
    },
    updateTreeStores: function (){
	var storeArray = new Array('objectsTreeStore', 'priceObjectsTreeStore');
		for(var i = 0; i < storeArray.length; i++){
    			var store = Ext.getStore(storeArray[i]);
			if (store && store.isStore){
				store.load();
			}
		}
	}
Ответить с цитированием
  #6 (permalink)  
Старый 30.01.2013, 13:43
С++/C# modest developer
Отправить личное сообщение для nekto_O Посмотреть профиль Найти все сообщения от nekto_O
 
Регистрация: 07.11.2011
Сообщений: 244

Сообщение от adamenko.artem
естьExt.window.window
там listener destroy
рекомендую перенести логику в контроллер, тогда из него очень просто можно будет вызвать:
this.application.updateTreeStores();


а вообще сам метод updateTreeStores также целесообразнее вынести в контроллер.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск