forked from saurabh/orbit4-5
implemented the feature of current working page not collapsed .. the pages are not collapsed if you are working under a page in site structure
This commit is contained in:
parent
bbb537f7bb
commit
3fae3327b3
|
@ -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()
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -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 = $('<iframe id="pageslide_iframe" />').attr({
|
||||
src: settings.href,
|
||||
frameborder: 0,
|
||||
|
@ -66,7 +64,6 @@
|
|||
$pageslide.find('.content').css('overflow', 'hidden').html(iframe).show();
|
||||
if(settings.loadComplete)settings.loadComplete.call(this, $pageslide, $element);
|
||||
} else {
|
||||
window.console.log("Load");
|
||||
$pageslide.find('.content').load(settings.href, function(response, status, xhr){
|
||||
if(status == 'success') {
|
||||
$pageslide.show();
|
||||
|
@ -95,9 +92,9 @@
|
|||
slideAnimateIn = {};
|
||||
|
||||
// If the slide is open or opening, just ignore the call
|
||||
if($pageslide.is(':visible') || _sliding) return;
|
||||
|
||||
if($pageslide.is(':visible')) return;
|
||||
_sliding = true;
|
||||
|
||||
switch(settings.direction) {
|
||||
case 'left':
|
||||
$pageslide.css({left: 'auto', right: '-' + slideWidth + 'px'});
|
||||
|
@ -132,6 +129,7 @@
|
|||
|
||||
// On click
|
||||
$elements.click( function(e) {
|
||||
|
||||
var $self = $(this),
|
||||
settings = $.extend({href: $self.attr('href'), pageTitle: $self.data('title')}, options);
|
||||
|
||||
|
|
|
@ -4,5 +4,7 @@ class Admin::ItemsController < OrbitAdminController
|
|||
layout "structure"
|
||||
def index
|
||||
@items = Page.all
|
||||
@parent_pages = []
|
||||
|
||||
end
|
||||
end
|
||||
|
|
|
@ -131,6 +131,7 @@ class PagesController < ApplicationController
|
|||
|
||||
def destroy
|
||||
page = Page.find(params[:id])
|
||||
@parent_pages = page.parent_pages_without_root
|
||||
page.destroy
|
||||
respond_to do |format|
|
||||
format.js
|
||||
|
@ -198,6 +199,7 @@ class PagesController < ApplicationController
|
|||
@page = Page.find(params[:id])
|
||||
@page.update_attributes(page_update_params)
|
||||
@page.save
|
||||
@parent_pages = @page.parent_pages_without_root
|
||||
respond_to do |format|
|
||||
format.js
|
||||
end
|
||||
|
@ -208,6 +210,7 @@ class PagesController < ApplicationController
|
|||
params['page']['page_id'] = params['page']['page_id'].gsub('-','_')
|
||||
@page = Page.new(page_params)
|
||||
@page.save!
|
||||
@parent_pages = @page.parent_pages_without_root
|
||||
respond_to do |format|
|
||||
format.js
|
||||
end
|
||||
|
|
|
@ -39,6 +39,28 @@ class Page
|
|||
self.number = number
|
||||
end
|
||||
|
||||
def parent_pages
|
||||
parent_page = self.parent_page
|
||||
pages = []
|
||||
while parent_page != nil
|
||||
pages << parent_page.id
|
||||
parent_page = parent_page.parent_page
|
||||
end
|
||||
pages
|
||||
end
|
||||
|
||||
def parent_pages_without_root
|
||||
parent_page = self.parent_page
|
||||
pages = []
|
||||
while parent_page != nil
|
||||
if parent_page.parent_page_id != nil
|
||||
pages << parent_page.id
|
||||
end
|
||||
parent_page = parent_page.parent_page
|
||||
end
|
||||
pages
|
||||
end
|
||||
|
||||
def to_param
|
||||
page_id.parameterize
|
||||
end
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<% unless node.root? %>
|
||||
<li id='<%= node.id %>' class="<%= 'disabled' unless !node.enabled_for.empty? %> <%= 'collapsed' unless node.child_page.blank? %>" >
|
||||
<li id='<%= node.id %>' class="<%= 'disabled' unless !node.enabled_for.empty? %> <%= 'collapsed' unless (@parent_pages.include?node.id or node.child_page.blank?) %>" >
|
||||
<% end %>
|
||||
<%= render 'node', {node: node, level: level} rescue render 'admin/items/node', {node: node, level: level} %>
|
||||
<% unless node.child_page.blank? %>
|
||||
|
|
Loading…
Reference in New Issue