From 14e26f79ac48486d92c376acea813a853531caaf Mon Sep 17 00:00:00 2001 From: Kevin Ansfield Date: Wed, 19 Apr 2017 10:46:42 +0100 Subject: [PATCH] add "delete post" button to the PSM (#649) closes https://github.com/TryGhost/Ghost/issues/8332 - moves `toggleDeletePostModal` action from the `edit` controller to the `editor-base-controller` mixin - adds delete button to the bottom of the PSM unless it's a new post - adds `deletePost` attribute to `gh-post-settings-menu` to allow a delete post action to be passed in --- ghost/admin/app/components/gh-post-settings-menu.js | 6 ++++++ ghost/admin/app/controllers/editor/edit.js | 10 +--------- ghost/admin/app/mixins/editor-base-controller.js | 11 +++++++++-- .../templates/components/gh-post-settings-menu.hbs | 4 ++++ ghost/admin/app/templates/editor/edit.hbs | 1 + 5 files changed, 21 insertions(+), 11 deletions(-) diff --git a/ghost/admin/app/components/gh-post-settings-menu.js b/ghost/admin/app/components/gh-post-settings-menu.js index 3ad91340cc..3dfc5ae9b9 100644 --- a/ghost/admin/app/components/gh-post-settings-menu.js +++ b/ghost/admin/app/components/gh-post-settings-menu.js @@ -388,6 +388,12 @@ export default Component.extend(SettingsMenuMixin, { if (tag.get('isNew')) { tag.destroyRecord(); } + }, + + deletePost() { + if (this.get('deletePost')) { + this.get('deletePost')(); + } } } }); diff --git a/ghost/admin/app/controllers/editor/edit.js b/ghost/admin/app/controllers/editor/edit.js index 26553b792d..487b3e4d95 100644 --- a/ghost/admin/app/controllers/editor/edit.js +++ b/ghost/admin/app/controllers/editor/edit.js @@ -1,12 +1,4 @@ import Controller from 'ember-controller'; import EditorControllerMixin from 'ghost-admin/mixins/editor-base-controller'; -export default Controller.extend(EditorControllerMixin, { - showDeletePostModal: false, - - actions: { - toggleDeletePostModal() { - this.toggleProperty('showDeletePostModal'); - } - } -}); +export default Controller.extend(EditorControllerMixin); diff --git a/ghost/admin/app/mixins/editor-base-controller.js b/ghost/admin/app/mixins/editor-base-controller.js index 4a80eba0a6..bf4150321e 100644 --- a/ghost/admin/app/mixins/editor-base-controller.js +++ b/ghost/admin/app/mixins/editor-base-controller.js @@ -35,6 +35,7 @@ export default Mixin.create({ showLeaveEditorModal: false, showReAuthenticateModal: false, + showDeletePostModal: false, application: injectController(), notifications: injectService(), @@ -539,8 +540,8 @@ export default Mixin.create({ }, updateTitle() { - let currentTitle = this.model.get('title'); - let newTitle = this.model.get('titleScratch').trim(); + let currentTitle = this.get('model.title'); + let newTitle = this.get('model.titleScratch').trim(); if (currentTitle === newTitle) { return; @@ -557,6 +558,12 @@ export default Mixin.create({ } }, + toggleDeletePostModal() { + if (!this.get('model.isNew')) { + this.toggleProperty('showDeletePostModal'); + } + }, + toggleReAuthenticateModal() { this.toggleProperty('showReAuthenticateModal'); }, diff --git a/ghost/admin/app/templates/components/gh-post-settings-menu.hbs b/ghost/admin/app/templates/components/gh-post-settings-menu.hbs index 65958ec4d7..a542633e4e 100644 --- a/ghost/admin/app/templates/components/gh-post-settings-menu.hbs +++ b/ghost/admin/app/templates/components/gh-post-settings-menu.hbs @@ -113,6 +113,10 @@ + {{#unless model.isNew}} + + {{/unless}} + {{! .settings-menu-content }} {{! .post-settings-menu }} diff --git a/ghost/admin/app/templates/editor/edit.hbs b/ghost/admin/app/templates/editor/edit.hbs index ee1757dbd5..42ab76920a 100644 --- a/ghost/admin/app/templates/editor/edit.hbs +++ b/ghost/admin/app/templates/editor/edit.hbs @@ -82,5 +82,6 @@ showSettingsMenu=application.showSettingsMenu closeNavMenu=(action "closeNavMenu") closeMenus=(action "closeMenus") + deletePost=(action "toggleDeletePostModal") }} {{/liquid-wormhole}}