Added presenter placeholders

This commit is contained in:
Marcin Kurczewski
2014-09-07 19:49:11 +02:00
parent 9a7082c269
commit 2ed9f969f2
17 changed files with 291 additions and 9 deletions

View File

@ -17,6 +17,13 @@ App.Auth = function(jQuery, util, api, appState, promise) {
changeAllPasswords: 'changeAllPasswords',
deleteOwnAccount: 'deleteOwnAccount',
deleteAllAccounts: 'deleteAllAccounts',
listSafePosts: 'listSafePosts',
listSketchyPosts: 'listSketchyPosts',
listUnsafePosts: 'listUnsafePosts',
uploadPosts: 'uploadPosts',
listTags: 'listTags',
};
function loginFromCredentials(userName, password, remember) {

View File

@ -0,0 +1,26 @@
var App = App || {};
App.Presenters = App.Presenters || {};
App.Presenters.CommentListPresenter = function(
jQuery,
topNavigationPresenter) {
var $el = jQuery('#content');
function init(args) {
topNavigationPresenter.select('comments');
render();
}
function render() {
$el.html('Comment list placeholder');
};
return {
init: init,
render: render,
};
};
App.DI.register('commentListPresenter', App.Presenters.CommentListPresenter);

View File

@ -0,0 +1,26 @@
var App = App || {};
App.Presenters = App.Presenters || {};
App.Presenters.HelpPresenter = function(
jQuery,
topNavigationPresenter) {
var $el = jQuery('#content');
function init(args) {
topNavigationPresenter.select('help');
render();
}
function render() {
$el.html('Help placeholder');
};
return {
init: init,
render: render,
};
};
App.DI.register('helpPresenter', App.Presenters.HelpPresenter);

View File

@ -0,0 +1,26 @@
var App = App || {};
App.Presenters = App.Presenters || {};
App.Presenters.HomePresenter = function(
jQuery,
topNavigationPresenter) {
var $el = jQuery('#content');
function init(args) {
topNavigationPresenter.select('home');
render();
}
function render() {
$el.html('Home placeholder');
};
return {
init: init,
render: render,
};
};
App.DI.register('homePresenter', App.Presenters.HomePresenter);

View File

@ -0,0 +1,32 @@
var App = App || {};
App.Presenters = App.Presenters || {};
App.Presenters.PasswordResetPresenter = function(
jQuery,
topNavigationPresenter,
messagePresenter) {
var $el = jQuery('#content');
var $messages = $el;
function init(args) {
topNavigationPresenter.select('login');
if (args.token) {
alert('Got token');
} else {
render();
}
}
function render() {
$el.html('Password reset placeholder');
};
return {
init: init,
render: render,
};
};
App.DI.register('passwordResetPresenter', App.Presenters.PasswordResetPresenter);

View File

@ -0,0 +1,26 @@
var App = App || {};
App.Presenters = App.Presenters || {};
App.Presenters.PostListPresenter = function(
jQuery,
topNavigationPresenter) {
var $el = jQuery('#content');
function init(args) {
topNavigationPresenter.select('posts');
render();
}
function render() {
$el.html('Post list placeholder');
};
return {
init: init,
render: render,
};
};
App.DI.register('postListPresenter', App.Presenters.PostListPresenter);

View File

@ -0,0 +1,26 @@
var App = App || {};
App.Presenters = App.Presenters || {};
App.Presenters.PostUploadPresenter = function(
jQuery,
topNavigationPresenter) {
var $el = jQuery('#content');
function init(args) {
topNavigationPresenter.select('upload');
render();
}
function render() {
$el.html('Post upload placeholder');
};
return {
init: init,
render: render,
};
};
App.DI.register('postUploadPresenter', App.Presenters.PostUploadPresenter);

View File

@ -0,0 +1,26 @@
var App = App || {};
App.Presenters = App.Presenters || {};
App.Presenters.TagListPresenter = function(
jQuery,
topNavigationPresenter) {
var $el = jQuery('#content');
function init(args) {
topNavigationPresenter.select('tags');
render();
}
function render() {
$el.html('Tag list placeholder');
};
return {
init: init,
render: render,
};
};
App.DI.register('tagListPresenter', App.Presenters.TagListPresenter);

View File

@ -33,7 +33,12 @@ App.Presenters.TopNavigationPresenter = function(
$el.html(template({
loggedIn: auth.isLoggedIn(),
user: auth.getCurrentUser(),
canListUsers: auth.hasPrivilege(auth.privileges.listUsers)
canListUsers: auth.hasPrivilege(auth.privileges.listUsers),
canListPosts: auth.hasPrivilege(auth.privileges.listSafePosts) ||
auth.hasPrivilege(auth.privileges.listSketchyPosts) ||
auth.hasPrivilege(auth.privileges.listUnsafePosts),
canListTags: auth.hasPrivilege(auth.privileges.listTags),
canUploadPosts: auth.hasPrivilege(auth.privileges.uploadPosts),
}));
$el.find('li.' + selectedElement).addClass('active');
};

View File

@ -0,0 +1,26 @@
var App = App || {};
App.Presenters = App.Presenters || {};
App.Presenters.UserActivationPresenter = function(
jQuery,
topNavigationPresenter) {
var $el = jQuery('#content');
function init(args) {
topNavigationPresenter.select('login');
render();
}
function render() {
$el.html('Account activation placeholder');
};
return {
init: init,
render: render,
};
};
App.DI.register('userActivationPresenter', App.Presenters.UserActivationPresenter);

View File

@ -19,14 +19,20 @@ App.Router = function(jQuery, util, appState) {
};
function injectRoutes() {
inject('#/home', 'homePresenter');
inject('#/login', 'loginPresenter');
inject('#/logout', 'logoutPresenter');
inject('#/register', 'registrationPresenter');
inject('#/users', 'userListPresenter');
inject('#/users/:searchArgs', 'userListPresenter');
inject('#/user/:userName', 'userPresenter');
inject('#/user/:userName/:tab', 'userPresenter');
setRoot('#/users');
inject('#/upload', 'postUploadPresenter');
inject('#/password-reset(/:token)', 'passwordResetPresenter');
inject('#/activate(/:token)', 'userActivationPresenter');
inject('#/users(/:searchArgs)', 'userListPresenter');
inject('#/user/:userName(/:tab)', 'userPresenter');
inject('#/posts(/:searchArgs)', 'postListPresenter');
inject('#/comments(/:searchArgs)', 'commentListPresenter');
inject('#/tags(/:searchArgs)', 'tagListPresenter');
inject('#/help', 'helpPresenter');
setRoot('#/home');
};
function setRoot(newRoot) {

View File

@ -41,7 +41,7 @@ App.Util = (function(jQuery, promise) {
var initResult = presenter.init.call(presenter, args);
lastContentPresenterName = presenterName;
lastContentPresenter = presenter;
} else {
} else if (lastContentPresenter.reinit) {
lastContentPresenter.reinit.call(presenter, args);
}
}