diff --git a/core/client/templates/application.hbs b/core/client/templates/application.hbs
index 2ec653339c..8bdddb3911 100644
--- a/core/client/templates/application.hbs
+++ b/core/client/templates/application.hbs
@@ -13,4 +13,6 @@
{{outlet modal}}
+{{outlet settings-menu}}
+
\ No newline at end of file
diff --git a/core/client/templates/post-settings-menu.hbs b/core/client/templates/post-settings-menu.hbs
index 39791b4fa5..54f7d86c49 100644
--- a/core/client/templates/post-settings-menu.hbs
+++ b/core/client/templates/post-settings-menu.hbs
@@ -1,52 +1,118 @@
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/core/client/views/post-settings-menu-view.js b/core/client/views/post-settings-menu.js
similarity index 78%
rename from core/client/views/post-settings-menu-view.js
rename to core/client/views/post-settings-menu.js
index 189808dea5..80381ba2ee 100644
--- a/core/client/views/post-settings-menu-view.js
+++ b/core/client/views/post-settings-menu.js
@@ -7,7 +7,11 @@ var PostSettingsMenuView = Ember.View.extend({
publishedAtBinding: Ember.Binding.oneWay('controller.publishedAt'),
datePlaceholder: Ember.computed('controller.publishedAt', function () {
return formatDate(moment());
- })
+ }),
+
+ animateOut: function () {
+ $('body').removeClass('right-outlet-expanded');
+ }.on('willDestroyElement')
});
export default PostSettingsMenuView;
diff --git a/core/test/functional/client/editor_test.js b/core/test/functional/client/editor_test.js
index 2d7f9e044b..4863cad2f4 100644
--- a/core/test/functional/client/editor_test.js
+++ b/core/test/functional/client/editor_test.js
@@ -570,7 +570,6 @@ CasperTest.begin('Title input is set correctly after using the Post-Settings-Men
// change a post attribute via the post-settings-menu
casper.thenClick('.post-settings');
- casper.waitForOpaque('.post-settings-menu.open');
casper.then(function () {
this.fillSelectors('.post-settings-menu form', {
@@ -618,7 +617,6 @@ CasperTest.begin('Editor content is set correctly after using the Post-Settings-
// change a post attribute via the post-settings-menu
casper.thenClick('.post-settings');
- casper.waitForOpaque('.post-settings-menu.open');
casper.then(function () {
this.fillSelectors('.post-settings-menu form', {
diff --git a/core/test/functional/client/psm_test.js b/core/test/functional/client/psm_test.js
index 5973c947f2..3ad2747397 100644
--- a/core/test/functional/client/psm_test.js
+++ b/core/test/functional/client/psm_test.js
@@ -4,7 +4,7 @@
/*globals CasperTest, casper, __utils__ */
-CasperTest.begin('Post settings menu', 15, function suite(test) {
+CasperTest.begin('Post settings menu', 14, function suite(test) {
casper.thenOpenAndWaitForPageLoad('editor', function testTitleAndUrl() {
test.assertTitle('Ghost Admin', 'Ghost admin has no title');
test.assertUrlMatch(/ghost\/editor\/$/, 'Landed on the correct URL');
@@ -12,7 +12,7 @@ CasperTest.begin('Post settings menu', 15, function suite(test) {
casper.then(function () {
test.assertExists('.post-settings', 'icon toggle should exist');
- test.assertNotVisible('.post-settings-menu', 'popup menu should not be visible at startup');
+ test.assertExists('.post-settings-menu', 'popup menu should be rendered at startup');
test.assertExists('.post-settings-menu #url', 'url field exists');
test.assertExists('.post-settings-menu .post-setting-date', 'publication date field exists');
test.assertExists('.post-settings-menu .post-setting-static-page', 'static page checkbox field exists');
@@ -30,10 +30,6 @@ CasperTest.begin('Post settings menu', 15, function suite(test) {
casper.thenClick('.post-settings');
- casper.waitWhileVisible('.post-settings-menu', function onSuccess() {
- test.assert(true, 'popup menu should not be visible after clicking post-settings icon');
- });
-
// Enter a title and save draft so converting to/from static post
// will result in notifications and 'Delete This Post' button appears
casper.then(function () {
@@ -79,7 +75,6 @@ CasperTest.begin('Delete post modal', 7, function testDeleteModal(test) {
// Open post settings menu
casper.thenClick('.post-settings');
- casper.waitForOpaque('.post-settings-menu.open');
casper.thenClick('.post-settings-menu button.delete');
casper.waitUntilVisible('#modal-container', function onSuccess() {
@@ -97,7 +92,6 @@ CasperTest.begin('Delete post modal', 7, function testDeleteModal(test) {
// Test delete
casper.thenClick('.post-settings');
- casper.waitForOpaque('.post-settings-menu.open');
casper.thenClick('.post-settings-menu button.delete');
casper.waitForSelector('#modal-container .modal-content', function onSuccess() {
@@ -130,7 +124,6 @@ CasperTest.begin('Post url can be changed', 4, function suite(test) {
casper.waitForSelector('#entry-title');
casper.thenClick('.post-settings');
- casper.waitForOpaque('.post-settings-menu.open');
// Test change permalink
casper.then(function () {
@@ -169,7 +162,6 @@ CasperTest.begin('Post published date can be changed', 4, function suite(test) {
casper.waitForSelector('#entry-title');
casper.thenClick('.post-settings');
- casper.waitForOpaque('.post-settings-menu.open');
// Test change published date
casper.then(function () {
@@ -208,7 +200,6 @@ CasperTest.begin('Post can be changed to static page', 6, function suite(test) {
casper.waitForSelector('#entry-title');
casper.thenClick('.post-settings');
- casper.waitForOpaque('.post-settings-menu.open');
casper.thenClick('label[for=static-page]');
@@ -242,7 +233,6 @@ CasperTest.begin('Post url input is reset from all whitespace back to original v
casper.waitForSelector('#entry-title');
casper.thenClick('.post-settings');
- casper.waitForOpaque('.post-settings-menu.open');
var originalSlug;
casper.then(function () {