diff options
| author | Hunternif <hunternif@gmail.com> | 2025-02-15 18:12:57 +0000 |
|---|---|---|
| committer | Hunternif <hunternif@gmail.com> | 2025-02-15 18:12:57 +0000 |
| commit | 6a5300502df8b4de9c8f269b444cd309f02b28ad (patch) | |
| tree | 0cf2ba56bce802c94ad324f9eda7a31d37a42e2e /client/js/views/posts_header_view.js | |
| parent | 34e7c883808738871aed371948a3c9896a95905c (diff) | |
| parent | 376f687c386f65522b2f65e98b998b21af26ee29 (diff) | |
Merge branch 'master' into hunternif
Diffstat (limited to 'client/js/views/posts_header_view.js')
| -rw-r--r-- | client/js/views/posts_header_view.js | 50 |
1 files changed, 47 insertions, 3 deletions
diff --git a/client/js/views/posts_header_view.js b/client/js/views/posts_header_view.js index 7f5acac..7923752 100644 --- a/client/js/views/posts_header_view.js +++ b/client/js/views/posts_header_view.js @@ -160,6 +160,34 @@ class BulkAddRelationEditor extends BulkEditor { } } +class BulkDeleteEditor extends BulkEditor { + constructor(hostNode) { + super(hostNode); + this._hostNode.addEventListener("submit", (e) => + this._evtFormSubmit(e) + ); + } + + _evtFormSubmit(e) { + e.preventDefault(); + this.dispatchEvent( + new CustomEvent("deleteSelectedPosts", { detail: {} }) + ); + } + + _evtOpenLinkClick(e) { + e.preventDefault(); + this.toggleOpen(true); + this.dispatchEvent(new CustomEvent("open", { detail: {} })); + } + + _evtCloseLinkClick(e) { + e.preventDefault(); + this.toggleOpen(false); + this.dispatchEvent(new CustomEvent("close", { detail: {} })); + } +} + class PostsHeaderView extends events.EventTarget { constructor(ctx) { super(); @@ -247,6 +275,13 @@ class PostsHeaderView extends events.EventTarget { this._evtCloseMetricsBtnClick(e) ); } + + if (this._bulkEditDeleteNode) { + this._bulkDeleteEditor = new BulkDeleteEditor( + this._bulkEditDeleteNode + ); + this._bulkEditors.push(this._bulkDeleteEditor); + } for (let editor of this._bulkEditors) { editor.addEventListener("submit", (e) => { @@ -268,6 +303,8 @@ class PostsHeaderView extends events.EventTarget { this._openBulkEditor(this._bulkSafetyEditor); } else if (ctx.parameters.relations && this._bulkAddRelationEditor) { this._openBulkEditor(this._bulkAddRelationEditor); + } else if (ctx.parameters.delete && this._bulkDeleteEditor) { + this._openBulkEditor(this._bulkDeleteEditor); } if (ctx.parameters.metrics && this._metricsBlockNode) { this._toggleMetricsBlock(true); @@ -322,6 +359,10 @@ class PostsHeaderView extends events.EventTarget { return this._hostNode.querySelector(".bulk-add-relation"); } + get _bulkEditDeleteNode() { + return this._hostNode.querySelector(".bulk-edit-delete"); + } + get _metricsButtonHolderNode() { return this._hostNode.querySelector(".metrics-btn-holder"); } @@ -400,9 +441,8 @@ class PostsHeaderView extends events.EventTarget { e.target.classList.toggle("disabled"); const safety = e.target.getAttribute("data-safety"); let browsingSettings = settings.get(); - browsingSettings.listPosts[safety] = !browsingSettings.listPosts[ - safety - ]; + browsingSettings.listPosts[safety] = + !browsingSettings.listPosts[safety]; settings.save(browsingSettings, true); this.dispatchEvent( new CustomEvent("navigate", { @@ -498,6 +538,10 @@ class PostsHeaderView extends events.EventTarget { this._bulkAddRelationEditor && this._bulkAddRelationEditor.opened ? this._ctx.parameters.relations || " " : null; + parameters.delete = + this._bulkDeleteEditor && this._bulkDeleteEditor.opened + ? "1" + : null; this.dispatchEvent( new CustomEvent("navigate", { detail: { parameters: parameters } }) ); |