Ext.application({ name: 'de.edirom.online', appFolder: 'app', mixins: { observable: 'Ext.util.Observable' }, controllers: [ 'AJAXController', 'LanguageController', 'LinkController', 'PreferenceController', 'desktop.Desktop', 'desktop.TopBar', 'navigator.Navigator', 'window.WindowController', 'window.AnnotationView', 'window.HeaderView', 'window.RenderingView', 'window.SummaryView', 'window.Window', 'window.XmlView', 'window.concordanceNavigator.ConcordanceNavigator', 'window.source.SourceView', 'window.text.TextView' ], requires: [ 'Ext.container.Viewport', 'de.edirom.online.model.Edition', 'de.edirom.online.model.Work', 'de.edirom.online.view.desktop.Desktop' ], events: {}, listeners: {}, activeEdition: 'xmldb:exist:///db/apps/Bargheer-Edition/edition-39469223.xml', activeWork: 'edirom_work_2c574d8e-fbb7-44b6-bc73-f1b5715621e8', launch: function() { var me = this; me.addEvents('workSelected'); this.getController('PreferenceController').initPreferences(me.activeEdition); this.getController('LanguageController').initLangFile(me.activeEdition); this.initDataStores(); me.viewport = new Ext.container.Viewport({ layout: 'fit', items: [ new de.edirom.online.view.desktop.Desktop(this.getDesktopConfig()) ] }); }, initDataStores: function() { var edition = Ext.create('Ext.data.Store', { model: 'de.edirom.online.model.Edition', storeId: 'Editions' }); edition.getProxy().extraParams = {id: this.activeEdition}; edition.load(); var works = Ext.create('Ext.data.Store', { model: 'de.edirom.online.model.Work', storeId: 'Works' }); works.getProxy().extraParams = {editionId: this.activeEdition}; works.load(); }, getDesktopConfig: function (num) { return { app: this }; }, selectWork: function(workId) { this.activeWork = workId; this.fireEvent('workSelected', workId); }, callFunctionOfEdition: function(win, fnName, callback, args) { var me = this; var arguments = Ext.apply({workId: me.activeWork}, args); var editions = Ext.getStore('Editions'); var editionIndex = editions.find('doc', me.activeEdition); var edition = editions.getAt(editionIndex); edition[fnName](callback, arguments); } });