From 3fae3327b3bc991cb2f82ccc6ecf191f622de778 Mon Sep 17 00:00:00 2001 From: Harry Bomrah Date: Mon, 21 Jul 2014 22:20:36 +0800 Subject: [PATCH] implemented the feature of current working page not collapsed .. the pages are not collapsed if you are working under a page in site structure --- app/assets/javascripts/lib/items/items.js.erb | 94 +++++++++++++++++-- app/assets/javascripts/lib/pageslide.js | 8 +- app/controllers/admin/items_controller.rb | 2 + app/controllers/pages_controller.rb | 3 + app/models/page.rb | 22 +++++ .../admin/items/_node_and_children.html.erb | 2 +- 6 files changed, 115 insertions(+), 16 deletions(-) diff --git a/app/assets/javascripts/lib/items/items.js.erb b/app/assets/javascripts/lib/items/items.js.erb index d9b9677..b97ceae 100755 --- a/app/assets/javascripts/lib/items/items.js.erb +++ b/app/assets/javascripts/lib/items/items.js.erb @@ -18,16 +18,6 @@ var Items = function(){ } this.bindHandlers = function(){ - var $openSlide = $('.open-slide'), - $pageslideW = $(window).width() > 1440 ? 1024 : 954; - $(window).resize(function() { - $(this).width() > 1440 ? $pageslideW = 1024 : $pageslideW = 954; - }); - $iFrame = $openSlide.filter('.view-page.open-slide'); - $iFrame.pageslide({ - W: $pageslideW, - iframe: true - }); $('.sortable').nestedSortable({ handle: '.brand', items: 'li', @@ -233,3 +223,87 @@ $(function(){ $("#pageslide_iframe").css("box-shadow","0px 0px 40px #333"); }); }); + +function customOpenSlide() { + var $openSlide = $('.open-slide'), + $pageslideW; + + $(window).width() > 1440 ? $pageslideW = 1024 : $pageslideW = 954; + $(window).resize(function() { + $(this).width() > 1440 ? $pageslideW = 1024 : $pageslideW = 954; + }); + $noiFrame = $openSlide.not('.view-page'); + $iFrame = $openSlide.filter('.view-page.open-slide'); + $noiFrame.pageslide({ + W: 314, + openFn: function(pageslide, element) { + element.addClass('active') + .closest('.item-menu') + .css('display', 'inline-block') + .closest('.navbar-inner') + .addClass('active'); + }, + closeFn: function(pageslide, element) { + $('.item-menu').removeAttr('style'); + element.removeClass('active') + .closest('.navbar-inner') + .removeClass('active'); + }, + loadComplete: function(pageslide, element) { + $openSlide.removeClass('active'); + $('.navbar-inner').removeClass('active'); + $('.item-menu').removeAttr('style'); + element.addClass('active') + .closest('.item-menu') + .css('display', 'inline-block') + .closest('.navbar-inner') + .addClass('active'); + _type = element.hasClass('page') ? 'page' : 'link'; + var _id = element.data('id'), + _parent = element.data('parent'), + _edit = element.hasClass('edit') ? true : false; + $('#pageslide .parent').val(_parent); + if(_id !== 'new') { + $('#pageslide form').attr({ + 'action': $('#pageslide form').attr('action') + '/' + _id, + 'id': 'edit_' + _type + '_' + _id, + 'method': 'put' + }); + setForm(element.data('form')); + } else { + $('#pageslide form').prop('method', 'post') + }; + _type == 'page' ? pageSetting(element.data('id'), _edit, pageslide) : linkSetting(element.data('id'), _edit, pageslide); + } + }); + $iFrame.pageslide({ + W: $pageslideW, + iframe: true, + openFn: function(pageslide, element) { + element.addClass('active') + .closest('.item-menu') + .css('display', 'inline-block') + .closest('.navbar-inner') + .addClass('active'); + }, + closeFn: function(pageslide, element) { + $('.item-menu').removeAttr('style'); + element.removeClass('active') + .closest('.navbar-inner') + .removeClass('active'); + $('#main-wrap').css('width', 'auto') + }, + loadComplete: function(pageslide, element) { + $openSlide.removeClass('active'); + $('.navbar-inner').removeClass('active'); + $('.item-menu').removeAttr('style'); + element.addClass('active') + .closest('.item-menu') + .css('display', 'inline-block') + .closest('.navbar-inner') + .addClass('active'); + pageslide.find('.content').css('padding', 0); + // iFrameContent() + } + }); +} diff --git a/app/assets/javascripts/lib/pageslide.js b/app/assets/javascripts/lib/pageslide.js index 610259a..1d62e5b 100755 --- a/app/assets/javascripts/lib/pageslide.js +++ b/app/assets/javascripts/lib/pageslide.js @@ -32,7 +32,6 @@ // Are we loading an element from the page or a URL? if ( settings.href.indexOf("#") === 0 ) { // Load a page element - window.console.log("in HTML"); var _contentHtml = $(settings.href).html(); var dtd = $.Deferred(); function appendHtml(dtd) { @@ -53,7 +52,6 @@ } else { // Load a URL. Into an iframe? if(settings.iframe) { - window.console.log("iFrame"); var iframe = $('