diff options
| author | rr- | 2016-10-22 10:03:38 +0200 |
|---|---|---|
| committer | rr- | 2016-10-22 14:05:56 +0200 |
| commit | f1445b9c24b286a9f74a2fead655ab5c169bc74b (patch) | |
| tree | eba026eb8dcd53f8d4db58e9dc50af1b857d92ed /client/js/controls | |
| parent | 8c0fa7f49ea24606e1887b76e89c2bfd155b1776 (diff) | |
client/posts: add post merging
Diffstat (limited to 'client/js/controls')
| -rw-r--r-- | client/js/controls/post_edit_sidebar_control.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/client/js/controls/post_edit_sidebar_control.js b/client/js/controls/post_edit_sidebar_control.js index 2dc3629..49576a1 100644 --- a/client/js/controls/post_edit_sidebar_control.js +++ b/client/js/controls/post_edit_sidebar_control.js @@ -36,6 +36,7 @@ class PostEditSidebarControl extends events.EventTarget { canCreateAnonymousPosts: api.hasPrivilege('posts:create:anonymous'), canDeletePosts: api.hasPrivilege('posts:delete'), canFeaturePosts: api.hasPrivilege('posts:feature'), + canMergePosts: api.hasPrivilege('posts:merge'), })); new ExpanderControl( @@ -108,6 +109,11 @@ class PostEditSidebarControl extends events.EventTarget { 'click', e => this._evtFeatureClick(e)); } + if (this._mergeLinkNode) { + this._mergeLinkNode.addEventListener( + 'click', e => this._evtMergeClick(e)); + } + if (this._deleteLinkNode) { this._deleteLinkNode.addEventListener( 'click', e => this._evtDeleteClick(e)); @@ -186,6 +192,15 @@ class PostEditSidebarControl extends events.EventTarget { } } + _evtMergeClick(e) { + e.preventDefault(); + this.dispatchEvent(new CustomEvent('merge', { + detail: { + post: this._post, + }, + })); + } + _evtDeleteClick(e) { e.preventDefault(); if (confirm('Are you sure you want to delete this post?')) { @@ -314,6 +329,10 @@ class PostEditSidebarControl extends events.EventTarget { return this._formNode.querySelector('.management .feature'); } + get _mergeLinkNode() { + return this._formNode.querySelector('.management .merge'); + } + get _deleteLinkNode() { return this._formNode.querySelector('.management .delete'); } |