// The Post Settings Menu available in the content preview screen, as well as the post editor. /*global window, document, $, _, Backbone, Ghost */ (function () { "use strict"; Ghost.View.PostSettings = Ghost.View.extend({ events: { 'blur .post-setting-slug' : 'editSlug', 'click .post-setting-slug' : 'selectSlug', 'click .delete' : 'deletePost' }, render: function () { var slug = this.model ? this.model.get('slug') : ''; //var pubDate = this.model.get('published_at'); //pubDate = moment(pubDate).format('DD MMM YY'); $('.post-setting-slug').val(slug); //$('.post-setting-date').val(pubDate); }, selectSlug: function (e) { e.currentTarget.select(); }, editSlug: function (e) { e.preventDefault(); var self = this, slug = self.model.get('slug'), slugEl = e.currentTarget, newSlug = slugEl.value; // Ignore empty or unchanged slugs if (newSlug.length === 0 || slug === newSlug) { slugEl.value = slug === undefined ? '' : slug; return; } this.model.save({ slug: newSlug }, { success : function (model, response, options) { // Repopulate slug in case it changed on the server (e.g. 'new-slug-2') slugEl.value = model.get('slug'); }, error : function (model, xhr) { Ghost.notifications.addItem({ type: 'error', message: Ghost.Views.Utils.getRequestErrorMessage(xhr), status: 'passive' }); } }); }, deletePost: function (e) { e.preventDefault(); var self = this; this.addSubview(new Ghost.Views.Modal({ model: { options: { close: false, confirm: { accept: { func: function () { self.model.destroy({ wait: true }).then(function () { // Redirect to content screen if deleting post from editor. if (window.location.pathname.indexOf('editor') > -1) { window.location = '/ghost/content/'; } Ghost.notifications.addItem({ type: 'success', message: 'Your post has been deleted.', status: 'passive' }); }, function () { Ghost.notifications.addItem({ type: 'error', message: 'Your post could not be deleted. Please try again.', status: 'passive' }); }); }, text: "Yes" }, reject: { func: function () { return true; }, text: "No" } }, type: "action", style: ["wide", "centered"], animation: 'fade' }, content: { template: 'blank', title: 'Are you sure you want to delete this post?' } } })); } }); }());