summaryrefslogtreecommitdiff
path: root/client/js/controllers/comments_controller.js
diff options
context:
space:
mode:
Diffstat (limited to 'client/js/controllers/comments_controller.js')
-rw-r--r--client/js/controllers/comments_controller.js80
1 files changed, 44 insertions, 36 deletions
diff --git a/client/js/controllers/comments_controller.js b/client/js/controllers/comments_controller.js
index 2de638c..d54059e 100644
--- a/client/js/controllers/comments_controller.js
+++ b/client/js/controllers/comments_controller.js
@@ -1,49 +1,55 @@
-'use strict';
+"use strict";
-const api = require('../api.js');
-const uri = require('../util/uri.js');
-const PostList = require('../models/post_list.js');
-const topNavigation = require('../models/top_navigation.js');
-const PageController = require('../controllers/page_controller.js');
-const CommentsPageView = require('../views/comments_page_view.js');
-const EmptyView = require('../views/empty_view.js');
+const api = require("../api.js");
+const uri = require("../util/uri.js");
+const PostList = require("../models/post_list.js");
+const topNavigation = require("../models/top_navigation.js");
+const PageController = require("../controllers/page_controller.js");
+const CommentsPageView = require("../views/comments_page_view.js");
+const EmptyView = require("../views/empty_view.js");
-const fields = ['id', 'comments', 'commentCount', 'thumbnailUrl'];
+const fields = ["id", "comments", "commentCount", "thumbnailUrl"];
class CommentsController {
constructor(ctx) {
- if (!api.hasPrivilege('comments:list')) {
+ if (!api.hasPrivilege("comments:list")) {
this._view = new EmptyView();
this._view.showError(
- 'You don\'t have privileges to view comments.');
+ "You don't have privileges to view comments."
+ );
return;
}
- topNavigation.activate('comments');
- topNavigation.setTitle('Listing comments');
+ topNavigation.activate("comments");
+ topNavigation.setTitle("Listing comments");
this._pageController = new PageController();
this._pageController.run({
parameters: ctx.parameters,
defaultLimit: 10,
getClientUrlForPage: (offset, limit) => {
- const parameters = Object.assign(
- {}, ctx.parameters, {offset: offset, limit: limit});
- return uri.formatClientLink('comments', parameters);
+ const parameters = Object.assign({}, ctx.parameters, {
+ offset: offset,
+ limit: limit,
+ });
+ return uri.formatClientLink("comments", parameters);
},
requestPage: (offset, limit) => {
return PostList.search(
- 'sort:comment-date comment-count-min:1',
- offset, limit, fields);
+ "sort:comment-date comment-count-min:1",
+ offset,
+ limit,
+ fields
+ );
},
- pageRenderer: pageCtx => {
+ pageRenderer: (pageCtx) => {
Object.assign(pageCtx, {
- canViewPosts: api.hasPrivilege('posts:view'),
+ canViewPosts: api.hasPrivilege("posts:view"),
});
const view = new CommentsPageView(pageCtx);
- view.addEventListener('submit', e => this._evtUpdate(e));
- view.addEventListener('score', e => this._evtScore(e));
- view.addEventListener('delete', e => this._evtDelete(e));
+ view.addEventListener("submit", (e) => this._evtUpdate(e));
+ view.addEventListener("score", (e) => this._evtScore(e));
+ view.addEventListener("delete", (e) => this._evtDelete(e));
return view;
},
});
@@ -52,25 +58,27 @@ class CommentsController {
_evtUpdate(e) {
// TODO: disable form
e.detail.comment.text = e.detail.text;
- e.detail.comment.save()
- .catch(error => {
- e.detail.target.showError(error.message);
- // TODO: enable form
- });
+ e.detail.comment.save().catch((error) => {
+ e.detail.target.showError(error.message);
+ // TODO: enable form
+ });
}
_evtScore(e) {
- e.detail.comment.setScore(e.detail.score)
- .catch(error => window.alert(error.message));
+ e.detail.comment
+ .setScore(e.detail.score)
+ .catch((error) => window.alert(error.message));
}
_evtDelete(e) {
- e.detail.comment.delete()
- .catch(error => window.alert(error.message));
+ e.detail.comment
+ .delete()
+ .catch((error) => window.alert(error.message));
}
-};
+}
-module.exports = router => {
- router.enter(['comments'],
- (ctx, next) => { new CommentsController(ctx); });
+module.exports = (router) => {
+ router.enter(["comments"], (ctx, next) => {
+ new CommentsController(ctx);
+ });
};