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(){
|
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({
|
$('.sortable').nestedSortable({
|
||||||
handle: '.brand',
|
handle: '.brand',
|
||||||
items: 'li',
|
items: 'li',
|
||||||
|
@ -233,3 +223,87 @@ $(function(){
|
||||||
$("#pageslide_iframe").css("box-shadow","0px 0px 40px #333");
|
$("#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?
|
// Are we loading an element from the page or a URL?
|
||||||
if ( settings.href.indexOf("#") === 0 ) {
|
if ( settings.href.indexOf("#") === 0 ) {
|
||||||
// Load a page element
|
// Load a page element
|
||||||
window.console.log("in HTML");
|
|
||||||
var _contentHtml = $(settings.href).html();
|
var _contentHtml = $(settings.href).html();
|
||||||
var dtd = $.Deferred();
|
var dtd = $.Deferred();
|
||||||
function appendHtml(dtd) {
|
function appendHtml(dtd) {
|
||||||
|
@ -53,7 +52,6 @@
|
||||||
} else {
|
} else {
|
||||||
// Load a URL. Into an iframe?
|
// Load a URL. Into an iframe?
|
||||||
if(settings.iframe) {
|
if(settings.iframe) {
|
||||||
window.console.log("iFrame");
|
|
||||||
var iframe = $('<iframe id="pageslide_iframe" />').attr({
|
var iframe = $('<iframe id="pageslide_iframe" />').attr({
|
||||||
src: settings.href,
|
src: settings.href,
|
||||||
frameborder: 0,
|
frameborder: 0,
|
||||||
|
@ -66,7 +64,6 @@
|
||||||
$pageslide.find('.content').css('overflow', 'hidden').html(iframe).show();
|
$pageslide.find('.content').css('overflow', 'hidden').html(iframe).show();
|
||||||
if(settings.loadComplete)settings.loadComplete.call(this, $pageslide, $element);
|
if(settings.loadComplete)settings.loadComplete.call(this, $pageslide, $element);
|
||||||
} else {
|
} else {
|
||||||
window.console.log("Load");
|
|
||||||
$pageslide.find('.content').load(settings.href, function(response, status, xhr){
|
$pageslide.find('.content').load(settings.href, function(response, status, xhr){
|
||||||
if(status == 'success') {
|
if(status == 'success') {
|
||||||
$pageslide.show();
|
$pageslide.show();
|
||||||
|
@ -95,9 +92,9 @@
|
||||||
slideAnimateIn = {};
|
slideAnimateIn = {};
|
||||||
|
|
||||||
// If the slide is open or opening, just ignore the call
|
// If the slide is open or opening, just ignore the call
|
||||||
if($pageslide.is(':visible') || _sliding) return;
|
|
||||||
|
if($pageslide.is(':visible')) return;
|
||||||
_sliding = true;
|
_sliding = true;
|
||||||
|
|
||||||
switch(settings.direction) {
|
switch(settings.direction) {
|
||||||
case 'left':
|
case 'left':
|
||||||
$pageslide.css({left: 'auto', right: '-' + slideWidth + 'px'});
|
$pageslide.css({left: 'auto', right: '-' + slideWidth + 'px'});
|
||||||
|
@ -132,6 +129,7 @@
|
||||||
|
|
||||||
// On click
|
// On click
|
||||||
$elements.click( function(e) {
|
$elements.click( function(e) {
|
||||||
|
|
||||||
var $self = $(this),
|
var $self = $(this),
|
||||||
settings = $.extend({href: $self.attr('href'), pageTitle: $self.data('title')}, options);
|
settings = $.extend({href: $self.attr('href'), pageTitle: $self.data('title')}, options);
|
||||||
|
|
||||||
|
|
|
@ -4,5 +4,7 @@ class Admin::ItemsController < OrbitAdminController
|
||||||
layout "structure"
|
layout "structure"
|
||||||
def index
|
def index
|
||||||
@items = Page.all
|
@items = Page.all
|
||||||
|
@parent_pages = []
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -131,6 +131,7 @@ class PagesController < ApplicationController
|
||||||
|
|
||||||
def destroy
|
def destroy
|
||||||
page = Page.find(params[:id])
|
page = Page.find(params[:id])
|
||||||
|
@parent_pages = page.parent_pages_without_root
|
||||||
page.destroy
|
page.destroy
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.js
|
format.js
|
||||||
|
@ -198,6 +199,7 @@ class PagesController < ApplicationController
|
||||||
@page = Page.find(params[:id])
|
@page = Page.find(params[:id])
|
||||||
@page.update_attributes(page_update_params)
|
@page.update_attributes(page_update_params)
|
||||||
@page.save
|
@page.save
|
||||||
|
@parent_pages = @page.parent_pages_without_root
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.js
|
format.js
|
||||||
end
|
end
|
||||||
|
@ -208,6 +210,7 @@ class PagesController < ApplicationController
|
||||||
params['page']['page_id'] = params['page']['page_id'].gsub('-','_')
|
params['page']['page_id'] = params['page']['page_id'].gsub('-','_')
|
||||||
@page = Page.new(page_params)
|
@page = Page.new(page_params)
|
||||||
@page.save!
|
@page.save!
|
||||||
|
@parent_pages = @page.parent_pages_without_root
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.js
|
format.js
|
||||||
end
|
end
|
||||||
|
|
|
@ -39,6 +39,28 @@ class Page
|
||||||
self.number = number
|
self.number = number
|
||||||
end
|
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
|
def to_param
|
||||||
page_id.parameterize
|
page_id.parameterize
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<% unless node.root? %>
|
<% 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 %>
|
<% end %>
|
||||||
<%= render 'node', {node: node, level: level} rescue render 'admin/items/node', {node: node, level: level} %>
|
<%= render 'node', {node: node, level: level} rescue render 'admin/items/node', {node: node, level: level} %>
|
||||||
<% unless node.child_page.blank? %>
|
<% unless node.child_page.blank? %>
|
||||||
|
|
Loading…
Reference in New Issue