Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Ext.application (https://javascript.ru/forum/extjs/35069-ext-application.html)

adamenko.artem 29.01.2013 19:42

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

nekto_O 30.01.2013 09:41

в launch
var app = this;

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

ну или
appName.getApplication().updateTreeStores();

adamenko.artem 30.01.2013 12:00

для первого случая :
Uncaught ReferenceError: app is not defined
для второго :
Uncaught TypeError: Object #<Object> has no method 'getApplication'

nekto_O 30.01.2013 12:03

код покажите, откуда вызывается?

adamenko.artem 30.01.2013 12:06

есть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();
			}
		}
	}

nekto_O 30.01.2013 13:43

Цитата:

Сообщение от adamenko.artem
естьExt.window.window
там listener destroy

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


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


Часовой пояс GMT +3, время: 14:54.