diff --git a/scm-webapp/src/main/webapp/resources/js/sonia.global.js b/scm-webapp/src/main/webapp/resources/js/sonia.global.js index c3b3b3b2f1..887d3a0de3 100644 --- a/scm-webapp/src/main/webapp/resources/js/sonia.global.js +++ b/scm-webapp/src/main/webapp/resources/js/sonia.global.js @@ -52,6 +52,14 @@ var loginCallbacks = []; */ var logoutCallbacks = []; +/** + * functions called after initialisation + */ +var initCallbacks = []; + +/** + * The base url for the rest api + */ var restUrl = "api/rest/"; var userSearchStore = new Ext.data.JsonStore({ diff --git a/scm-webapp/src/main/webapp/resources/js/sonia.scm.js b/scm-webapp/src/main/webapp/resources/js/sonia.scm.js index 6b1ba1ed5f..95d350d8fd 100644 --- a/scm-webapp/src/main/webapp/resources/js/sonia.scm.js +++ b/scm-webapp/src/main/webapp/resources/js/sonia.scm.js @@ -62,11 +62,15 @@ Sonia.scm.Main = Ext.extend(Ext.util.Observable, { mainTabPanel: null, constructor : function(config) { - this.addEvents('login', 'logout'); + this.addEvents('login', 'logout', 'init'); this.mainTabPanel = Ext.getCmp('mainTabPanel'); this.addListener('login', this.postLogin, this); Sonia.scm.Main.superclass.constructor.call(this, config); }, + + init: function(){ + this.fireEvent('load', this); + }, postLogin: function(){ this.createMainMenu(); @@ -357,7 +361,6 @@ Ext.onReady(function(){ }); main = new Sonia.scm.Main(); - main.checkLogin(); /** * Adds a tab to main TabPanel @@ -368,7 +371,10 @@ Ext.onReady(function(){ main.addTabPanel(id, xtype, title); } + main.addListeners('init', initCallbacks); main.addListeners('login', loginCallbacks); main.addListeners('logout', logoutCallbacks); + main.init(); + main.checkLogin(); }); \ No newline at end of file