|
|
|
@ -1,17 +1,30 @@ |
|
|
|
|
OC.router_base_url = OC.webroot + '/index.php/', |
|
|
|
|
OC.Router = { |
|
|
|
|
loadedCallback: null, |
|
|
|
|
// register your ajax requests to load after the loading of the routes
|
|
|
|
|
// has finished. otherwise you face problems with race conditions
|
|
|
|
|
registerLoadedCallback: function(callback){ |
|
|
|
|
if(this.routes_request.state() === 'resolved'){ |
|
|
|
|
callback(); |
|
|
|
|
} else { |
|
|
|
|
this.loadedCallback = callback; |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
routes_request: $.ajax(OC.router_base_url + 'core/routes.json', { |
|
|
|
|
dataType: 'json', |
|
|
|
|
success: function(jsondata) { |
|
|
|
|
if (jsondata.status == 'success') { |
|
|
|
|
if (jsondata.status === 'success') { |
|
|
|
|
OC.Router.routes = jsondata.data; |
|
|
|
|
if(OC.Router.loadedCallback !== null){ |
|
|
|
|
OC.Router.loadedCallback(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}), |
|
|
|
|
generate:function(name, opt_params) { |
|
|
|
|
if (!('routes' in this)) { |
|
|
|
|
if(this.routes_request.state() != 'resolved') { |
|
|
|
|
alert('wait');// wait
|
|
|
|
|
alert('To avoid race conditions, please register a callback');// wait
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (!(name in this.routes)) { |
|
|
|
|