mirror of
https://github.com/rr-/szurubooru.git
synced 2025-07-17 08:26:24 +00:00
Added post view placeholder
This commit is contained in:
57
public_html/js/Presenters/PostPresenter.js
Normal file
57
public_html/js/Presenters/PostPresenter.js
Normal file
@ -0,0 +1,57 @@
|
||||
var App = App || {};
|
||||
App.Presenters = App.Presenters || {};
|
||||
|
||||
App.Presenters.PostPresenter = function(
|
||||
_,
|
||||
jQuery,
|
||||
util,
|
||||
promise,
|
||||
api,
|
||||
topNavigationPresenter,
|
||||
messagePresenter) {
|
||||
|
||||
var $el = jQuery('#content');
|
||||
var $messages = $el;
|
||||
var template;
|
||||
var post;
|
||||
var postNameOrId;
|
||||
|
||||
function init(args, loaded) {
|
||||
postNameOrId = args.postNameOrId;
|
||||
topNavigationPresenter.select('posts');
|
||||
|
||||
promise.waitAll(
|
||||
util.promiseTemplate('post'),
|
||||
api.get('/posts/' + postNameOrId))
|
||||
.then(function(
|
||||
templatehtml,
|
||||
response) {
|
||||
$messages = $el.find('.messages');
|
||||
template = _.template(templatehtml);
|
||||
|
||||
post = response.json;
|
||||
topNavigationPresenter.changeTitle('@' + post.id);
|
||||
render();
|
||||
loaded();
|
||||
|
||||
}).fail(function(response) {
|
||||
$el.empty();
|
||||
messagePresenter.showError($messages, response.json && response.json.error || response);
|
||||
});
|
||||
}
|
||||
|
||||
function render() {
|
||||
$el.html(template({
|
||||
post: post,
|
||||
formatRelativeTime: util.formatRelativeTime,
|
||||
}));
|
||||
}
|
||||
|
||||
return {
|
||||
init: init,
|
||||
render: render
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
App.DI.register('postPresenter', ['_', 'jQuery', 'util', 'promise', 'api', 'topNavigationPresenter', 'messagePresenter'], App.Presenters.PostPresenter);
|
Reference in New Issue
Block a user