diff --git a/admin-ui-temp.js b/admin-ui-temp.js deleted file mode 100644 index 40c29eee5..000000000 --- a/admin-ui-temp.js +++ /dev/null @@ -1,109 +0,0 @@ -// # Temporary Admin UI - -/*global window, document, _, $ */ - -(function () { - "use strict"; - - // UTILS - - /** - * Allows to check contents of each element exactly - * @param obj - * @param index - * @param meta - * @param stack - * @returns {boolean} - */ - $.expr[":"].containsExact = function (obj, index, meta, stack) { - return (obj.textContent || obj.innerText || $(obj).text() || "") === meta[3]; - }; - - var positionCenter = _.debounce(function (e) { - - var loginContainer = $(".js-login-container"), - marginTop = Math.floor((loginContainer.parent().height() - loginContainer.height()) / 2) - 15; - loginContainer.animate({'margin-top': marginTop}, 200); - $(window).trigger('centered'); - - }, 100); // Maximum run of once per 100 milliseconds - - function fadeInAndFocus() { - $(".js-login-container").fadeIn(750, function () { - $("[name='email']").focus(); - }); - } - - $(window).on('resize', positionCenter); - $(window).one('centered', fadeInAndFocus); - - // Allow notifications to be dismissed - $(document).on('click', '.js-notification.notification-passive .close', function () { - $(this).parent().fadeOut(200, function () { $(this).remove(); }); - }); - - $(document).on('click', '.js-notification.notification-persistent .close', function () { - var self = this; - $.ajax({ - type: "DELETE", - url: '/api/v0.1/notifications/' + $(this).data('id') - }).done(function (result) { - if ($(self).parent().parent().hasClass('js-bb-notification')) { - $(self).parent().parent().fadeOut(200, function () { $(self).remove(); }); - } else { - $(self).parent().fadeOut(200, function () { $(self).remove(); }); - } - }); - }); - - /** - * Example of how to add a persistent notification. - */ - // $(document).on('click', '.add-persistent-notification', function (event) { - // event.preventDefault(); - // var msg = { - // type: 'error', - // message: 'This is an error', - // status: 'persistent', - // id: 'per-' + $('.notification-persistent').length + 1 - // }; - - // $.ajax({ - // type: "POST", - // url: '/api/v0.1/notifications/', - // data: msg - // }).done(function (result) { - // var fcv; - // fcv = new Ghost.Views.FlashCollectionView({ - // model: [msg] - // }); - // console.log(fcv); - // }); - // }); - - $(document).ready(function () { - - // LOGIN SCREEN - $(window).trigger('resize'); - - - // EDITOR / NOTIFICATIONS - - $('.entry-content header, .entry-preview header').on('click', function () { - $('.entry-content, .entry-preview').removeClass('active'); - $(this).closest('section').addClass('active'); - }); - - $('.entry-title .icon-fullscreen').on('click', function (e) { - e.preventDefault(); - $('body').toggleClass('fullscreen'); - }); - - $('.options.up').on('click', function (e) { - e.stopPropagation(); - $(this).next("ul").fadeToggle(200); - }); - - }); - -}()); diff --git a/assets/lib/jquery-utils.js b/assets/lib/jquery-utils.js index 3f969f2d4..4b2f87e7b 100644 --- a/assets/lib/jquery-utils.js +++ b/assets/lib/jquery-utils.js @@ -33,7 +33,7 @@ 'margin-left': -this.outerWidth() / 2 + 'px', 'margin-top': -this.outerHeight() / 2 + 'px' }); - + $(window).trigger('centered'); return this; }; diff --git a/views/base.js b/views/base.js index fe41b505b..2613e69dd 100644 --- a/views/base.js +++ b/views/base.js @@ -90,6 +90,10 @@ Ghost.Views.Notification = Ghost.View.extend({ templateName: 'notification', className: 'js-bb-notification', + events: { + 'click .js-notification.notification-passive .close': 'closePassive', + 'click .js-notification.notification-persistent .close': 'closePersistent' + }, template: function (data) { return JST[this.templateName](data); }, @@ -97,7 +101,24 @@ var html = this.template(this.model); this.$el.html(html); return this; + }, + closePassive: function (e) { + $(e.currentTarget).parent().fadeOut(200, function () { $(this).remove(); }); + }, + closePersistent: function (e) { + var self = e.currentTarget; + $.ajax({ + type: "DELETE", + url: '/api/v0.1/notifications/' + $(this).data('id') + }).done(function (result) { + if ($(self).parent().parent().hasClass('js-bb-notification')) { + $(self).parent().parent().fadeOut(200, function () { $(self).remove(); }); + } else { + $(self).parent().fadeOut(200, function () { $(self).remove(); }); + } + }); } + }); /** diff --git a/views/editor.js b/views/editor.js index ae6a401c5..efa891830 100644 --- a/views/editor.js +++ b/views/editor.js @@ -228,6 +228,21 @@ this.initMarkdown(); this.renderPreview(); + $('.entry-content header, .entry-preview header').on('click', function () { + $('.entry-content, .entry-preview').removeClass('active'); + $(this).closest('section').addClass('active'); + }); + + $('.entry-title .icon-fullscreen').on('click', function (e) { + e.preventDefault(); + $('body').toggleClass('fullscreen'); + }); + + $('.options.up').on('click', function (e) { + e.stopPropagation(); + $(this).next("ul").fadeToggle(200); + }); + this.$('.CodeMirror-scroll').on('scroll', this.syncScroll); // Shadow on Markdown if scrolled diff --git a/views/login.js b/views/login.js index d29e5b336..dfa369549 100644 --- a/views/login.js +++ b/views/login.js @@ -12,6 +12,7 @@ initialize: function (options) { this.render(); + $(window).trigger('resize'); }, template: function (data) { @@ -19,7 +20,14 @@ }, render: function () { + var self = this; this.$el.html(this.template()); + + $(window).on('resize', _.debounce(function (e) { + $(".js-login-container").center(); + }, 100)); + + $(window).one('centered', self.fadeInAndFocus); return this; }, @@ -49,6 +57,12 @@ })); } }); + }, + + fadeInAndFocus: function () { + $(".js-login-container").fadeIn(750, function () { + $("[name='email']").focus(); + }); } });