Added support for parameters in presenters

This commit is contained in:
Marcin Kurczewski
2014-09-03 09:10:26 +02:00
parent 7c8e473e1b
commit 731b98219d
12 changed files with 83 additions and 48 deletions

View File

@ -1,6 +1,6 @@
var App = App || {};
App.Router = function(jQuery) {
App.Router = function(jQuery, util) {
var root = '#/';
@ -18,16 +18,12 @@ App.Router = function(jQuery) {
Path.listen();
};
function changePresenter(presenterGetter) {
jQuery('#content').empty();
var presenter = presenterGetter();
};
function injectRoutes() {
inject('#/login', function() { return new App.DI.get('loginPresenter'); });
inject('#/logout', function() { return new App.DI.get('logoutPresenter'); });
inject('#/register', function() { return new App.DI.get('registrationPresenter'); });
inject('#/login', function() { return App.DI.get('loginPresenter'); });
inject('#/logout', function() { return App.DI.get('logoutPresenter'); });
inject('#/register', function() { return App.DI.get('registrationPresenter'); });
inject('#/users', function() { return App.DI.get('userListPresenter'); });
inject('#/users/:userName', function() { return App.DI.get('userPresenter'); });
setRoot('#/users');
};
@ -38,7 +34,7 @@ App.Router = function(jQuery) {
function inject(path, presenterGetter) {
Path.map(path).to(function() {
changePresenter(presenterGetter);
util.initContentPresenter(presenterGetter, this.params);
});
};