From 85677984d3a5487e38a3af3fabe1286fd126d729 Mon Sep 17 00:00:00 2001 From: Felix Rieseberg Date: Mon, 1 Dec 2014 11:42:35 -0800 Subject: [PATCH] PSM: Reset 'Published Date' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #4557 - The underlying issue is that the PSM is already loaded when Ember routes from an existing post to a new post. Instead of resetting the ‘Published Date’ value manually (with jQuery), I’m using Ember’s computed property setter to ‘refresh’ the cache for that property. I believe that this Ember solution is better than manually going in and resetting it with jQuery. --- ghost/admin/controllers/post-settings-menu.js | 14 +++++++++++++- ghost/admin/routes/editor/new.js | 3 ++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/ghost/admin/controllers/post-settings-menu.js b/ghost/admin/controllers/post-settings-menu.js index f31a0c8243..a5e6d68125 100644 --- a/ghost/admin/controllers/post-settings-menu.js +++ b/ghost/admin/controllers/post-settings-menu.js @@ -74,15 +74,23 @@ var PostSettingsMenuController = Ember.ObjectController.extend({ .create(deferred); }), - publishedAtValue: Ember.computed('published_at', function () { + /*jshint unused:false */ + publishedAtValue: Ember.computed('published_at', function (key, value) { var pubDate = this.get('published_at'); + // We're using a fake setter to reset + // the cache for this property + if (arguments.length > 1) { + return formatDate(moment()); + } + if (pubDate) { return formatDate(pubDate); } return formatDate(moment()); }), + /*jshint unused:true */ slugValue: boundOneWay('slug'), @@ -463,6 +471,10 @@ var PostSettingsMenuController = Ember.ObjectController.extend({ if (uploader && uploader[0]) { uploader[0].uploaderUi.reset(); } + }, + + resetPubDate: function () { + this.set('publishedAtValue', ''); } } }); diff --git a/ghost/admin/routes/editor/new.js b/ghost/admin/routes/editor/new.js index 327fd7c0c8..4b44eee1ea 100644 --- a/ghost/admin/routes/editor/new.js +++ b/ghost/admin/routes/editor/new.js @@ -20,8 +20,9 @@ var EditorNewRoute = AuthenticatedRoute.extend(base, { // from previous posts psm.removeObserver('titleScratch', psm, 'titleObserver'); - // Ensure that the PSM Image Uploader resets + // Ensure that the PSM Image Uploader and Publish Date selector resets psm.send('resetUploader'); + psm.send('resetPubDate'); this._super(controller, model); }