forked from saurabh/orbit4-5
change in rendering .. added working ad banner module and also changed the rendering of widgets and fixed the js problem in items page.
This commit is contained in:
parent
08aa3ec753
commit
a3f5977b74
|
@ -1,11 +1,28 @@
|
||||||
|
var Items = function(){
|
||||||
|
var i = this;
|
||||||
|
this.initialize = function(){
|
||||||
|
i.bindHandlers();
|
||||||
|
}
|
||||||
|
|
||||||
|
this.bindHandlers = function(){
|
||||||
var $openSlide = $('.open-slide'),
|
var $openSlide = $('.open-slide'),
|
||||||
$pageslideW;
|
$pageslideW;
|
||||||
$(window).width() > 1440 ? $pageslideW = 1024 : $pageslideW = 954;
|
$(window).width() > 1440 ? $pageslideW = 1024 : $pageslideW = 954;
|
||||||
$(window).resize(function() {
|
$(window).resize(function() {
|
||||||
$(this).width() > 1440 ? $pageslideW = 1024 : $pageslideW = 954;
|
$(this).width() > 1440 ? $pageslideW = 1024 : $pageslideW = 954;
|
||||||
});
|
});
|
||||||
$iFrame = $openSlide.filter('.view-page.open-slide');
|
$iFrame = $openSlide.filter('.view-page.open-slide');
|
||||||
$iFrame.pageslide({
|
$iFrame.pageslide({
|
||||||
W: $pageslideW,
|
W: $pageslideW,
|
||||||
iframe: true
|
iframe: true
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
this.reBindHandlers = function(){
|
||||||
|
$.pageslide.close();
|
||||||
|
window.openSlide();
|
||||||
|
i.bindHandlers();
|
||||||
|
}
|
||||||
|
i.initialize();
|
||||||
|
}
|
||||||
|
|
||||||
|
itemsLibrary = new Items();
|
||||||
|
|
|
@ -21,7 +21,7 @@ class PagePartsController < ApplicationController
|
||||||
|
|
||||||
@select_number = params[:number_of_select]
|
@select_number = params[:number_of_select]
|
||||||
@widget_types = []
|
@widget_types = []
|
||||||
Dir.glob("#{Rails.root}/app/templates/#{@key}/modules/#{module_name.downcase.pluralize}/*").each do |w|
|
Dir.glob("#{Rails.root}/app/templates/#{@key}/modules/#{module_name.downcase}/*").each do |w|
|
||||||
w = File.basename(w, ".*")
|
w = File.basename(w, ".*")
|
||||||
w = File.basename(w, ".*")
|
w = File.basename(w, ".*")
|
||||||
@widget_types << w.gsub("_","") if w != "index" && w != "show"
|
@widget_types << w.gsub("_","") if w != "index" && w != "show"
|
||||||
|
|
|
@ -147,7 +147,7 @@ class PagesController < ApplicationController
|
||||||
if page == Page.first
|
if page == Page.first
|
||||||
@view = File.join(Rails.root, 'app', 'templates', "#{@key}", 'home/index.html.erb')
|
@view = File.join(Rails.root, 'app', 'templates', "#{@key}", 'home/index.html.erb')
|
||||||
else
|
else
|
||||||
module_name = page.module.downcase.pluralize
|
module_name = page.module.downcase.singularize
|
||||||
@view = File.join(Rails.root, 'app', 'templates', "#{@key}", "modules/#{module_name}/index.html.erb")
|
@view = File.join(Rails.root, 'app', 'templates', "#{@key}", "modules/#{module_name}/index.html.erb")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -80,7 +80,7 @@ module ApplicationHelper
|
||||||
|
|
||||||
def render_view
|
def render_view
|
||||||
if params[:target_action] == "index"
|
if params[:target_action] == "index"
|
||||||
file = File.open(File.join(Rails.root, 'app', 'templates', "#{@key}", 'modules', params[:target_controller], "#{params[:target_action]}.html.erb"))
|
file = File.open(File.join(Rails.root, 'app', 'templates', "#{@key}", 'modules', params[:target_controller].singularize, "#{params[:target_action]}.html.erb"))
|
||||||
doc = Nokogiri::HTML(file, nil, "UTF-8")
|
doc = Nokogiri::HTML(file, nil, "UTF-8")
|
||||||
file.close
|
file.close
|
||||||
wrap_elements = doc.css("*[data-module]")
|
wrap_elements = doc.css("*[data-module]")
|
||||||
|
@ -110,7 +110,7 @@ module ApplicationHelper
|
||||||
end
|
end
|
||||||
html.html_safe
|
html.html_safe
|
||||||
elsif params[:target_action] == "show"
|
elsif params[:target_action] == "show"
|
||||||
file = File.open(File.join(Rails.root, 'app', 'templates', "#{@key}", 'modules', params[:target_controller], "#{params[:target_action]}.html.erb"))
|
file = File.open(File.join(Rails.root, 'app', 'templates', "#{@key}", 'modules', params[:target_controller].singularize, "#{params[:target_action]}.html.erb"))
|
||||||
doc = Nokogiri::HTML(file, nil, "UTF-8")
|
doc = Nokogiri::HTML(file, nil, "UTF-8")
|
||||||
file.close
|
file.close
|
||||||
wrap_element_html = doc.to_s
|
wrap_element_html = doc.to_s
|
||||||
|
|
|
@ -12,13 +12,13 @@ module PagesHelper
|
||||||
end
|
end
|
||||||
|
|
||||||
def render_widget_for_frontend(controller_name, widget_method, widget_file)
|
def render_widget_for_frontend(controller_name, widget_method, widget_file)
|
||||||
controller_name = controller_name.downcase.pluralize
|
controller_name = controller_name.downcase.singularize
|
||||||
file = File.open(File.join(Rails.root, 'app', 'templates', "#{Template::KEY}", 'modules', "#{controller_name}", "_#{widget_file}.html.erb"))
|
f = File.join('../templates', "#{Template::KEY}", 'modules', "#{controller_name}", "_#{widget_file}.html.erb");
|
||||||
doc = Nokogiri::HTML(file, nil, "UTF-8")
|
s = render_to_string(f)
|
||||||
file.close
|
doc = Nokogiri::HTML(s, nil, "UTF-8")
|
||||||
wrap_elements = doc.css("*[data-repeat]")
|
wrap_elements = doc.css("*[data-repeat]")
|
||||||
controller = "#{controller_name.capitalize}Controller".classify.constantize.new
|
controller = "#{controller_name.capitalize.pluralize}_controller".classify.constantize.new
|
||||||
OrbitHelper.set_current_widget_module controller_name.downcase.singularize
|
OrbitHelper.set_current_widget_module controller_name
|
||||||
data = controller.send("#{widget_method}")
|
data = controller.send("#{widget_method}")
|
||||||
keys = data.keys
|
keys = data.keys
|
||||||
wrap_elements.each do |wrap_element|
|
wrap_elements.each do |wrap_element|
|
||||||
|
@ -27,8 +27,8 @@ module PagesHelper
|
||||||
el = wrap_element.inner_html
|
el = wrap_element.inner_html
|
||||||
item.each do |key,value|
|
item.each do |key,value|
|
||||||
value = value.nil? ? "" : value
|
value = value.nil? ? "" : value
|
||||||
el = el.gsub("{{#{key}}}",value)
|
el = el.gsub("{{#{key}}}",value.to_s)
|
||||||
el = el.gsub("%7B%7B#{key}%7D%7D",value)
|
el = el.gsub("%7B%7B#{key}%7D%7D",value.to_s)
|
||||||
end
|
end
|
||||||
html_to_render = html_to_render + el
|
html_to_render = html_to_render + el
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
(function($) {
|
||||||
|
$(function() { //on DOM ready
|
||||||
|
$("#scroller").simplyScroll();
|
||||||
|
});
|
||||||
|
})(jQuery);
|
|
@ -11,4 +11,5 @@
|
||||||
// about supported directives.
|
// about supported directives.
|
||||||
//
|
//
|
||||||
|
|
||||||
//= require_tree
|
//= require lib/jquery-1.11.0.min.js
|
||||||
|
//= require plugin/jquery.simplyscroll.min.js
|
||||||
|
|
27
app/templates/orbit_classic/assets/javascripts/plugin/jquery.simplyscroll.min.js
vendored
Normal file
27
app/templates/orbit_classic/assets/javascripts/plugin/jquery.simplyscroll.min.js
vendored
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
/*
|
||||||
|
* simplyScroll 2 - a scroll-tastic jQuery plugin
|
||||||
|
*
|
||||||
|
* http://logicbox.net/jquery/simplyscroll/
|
||||||
|
*
|
||||||
|
* Copyright (c) 2009-2012 Will Kelly - http://logicbox.net
|
||||||
|
*
|
||||||
|
* Dual licensed under the MIT and GPL licenses.
|
||||||
|
*
|
||||||
|
* Version: 2.0.5 Last revised: 10/05/2012
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
(function(c,j,i){c.fn.simplyScroll=function(a){return this.each(function(){new c.simplyScroll(this,a)})};var h={customClass:"simply-scroll",frameRate:24,speed:1,orientation:"horizontal",auto:!0,autoMode:"loop",manualMode:"end",direction:"forwards",pauseOnHover:!0,pauseOnTouch:!0,pauseButton:!1,startOnLoad:!1};c.simplyScroll=function(a,b){var g=this;this.o=c.extend({},h,b||{});this.isAuto=!1!==this.o.auto&&null!==this.o.autoMode.match(/^loop|bounce$/);this.isRTL=(this.isHorizontal=null!==this.o.orientation.match(/^horizontal|vertical$/)&&
|
||||||
|
this.o.orientation==h.orientation)&&"rtl"==c("html").attr("dir");this.isForwards=!this.isAuto||this.isAuto&&(null!==this.o.direction.match(/^forwards|backwards$/)&&this.o.direction==h.direction)&&!this.isRTL;this.isLoop=this.isAuto&&"loop"==this.o.autoMode||!this.isAuto&&"loop"==this.o.manualMode;this.events=(this.supportsTouch="createTouch"in document)?{start:"touchstart MozTouchDown",move:"touchmove MozTouchMove",end:"touchend touchcancel MozTouchRelease"}:{start:"mouseenter",end:"mouseleave"};
|
||||||
|
this.$list=c(a);var d=this.$list.children();this.$list.addClass("simply-scroll-list").wrap('<div class="simply-scroll-clip"></div>').parent().wrap('<div class="'+this.o.customClass+' simply-scroll-container"></div>');this.isAuto?this.o.pauseButton&&(this.$list.parent().parent().prepend('<div class="simply-scroll-btn simply-scroll-btn-pause"></div>'),this.o.pauseOnHover=!1):this.$list.parent().parent().prepend('<div class="simply-scroll-forward"></div>').prepend('<div class="simply-scroll-back"></div>');
|
||||||
|
if(1<d.length){var f=!1,e=0;this.isHorizontal?(d.each(function(){e=e+c(this).outerWidth(true)}),f=d.eq(0).outerWidth(!0)*d.length!==e):(d.each(function(){e=e+c(this).outerHeight(true)}),f=d.eq(0).outerHeight(!0)*d.length!==e);f&&(this.$list=this.$list.wrap("<div></div>").parent().addClass("simply-scroll-list"),this.isHorizontal?this.$list.children().css({"float":"left",width:e+"px"}):this.$list.children().css({height:e+"px"}))}this.o.startOnLoad?c(j).load(function(){g.init()}):this.init()};c.simplyScroll.fn=
|
||||||
|
c.simplyScroll.prototype={};c.simplyScroll.fn.extend=c.simplyScroll.extend=c.extend;c.simplyScroll.fn.extend({init:function(){this.$items=this.$list.children();this.$clip=this.$list.parent();this.$container=this.$clip.parent();this.$btnBack=c(".simply-scroll-back",this.$container);this.$btnForward=c(".simply-scroll-forward",this.$container);this.isHorizontal?(this.itemMax=this.$items.eq(0).outerWidth(!0),this.clipMax=this.$clip.width(),this.dimension="width",this.moveBackClass="simply-scroll-btn-left",
|
||||||
|
this.moveForwardClass="simply-scroll-btn-right",this.scrollPos="Left"):(this.itemMax=this.$items.eq(0).outerHeight(!0),this.clipMax=this.$clip.height(),this.dimension="height",this.moveBackClass="simply-scroll-btn-up",this.moveForwardClass="simply-scroll-btn-down",this.scrollPos="Top");this.posMin=0;this.posMax=this.$items.length*this.itemMax;var a=Math.ceil(this.clipMax/this.itemMax);if(this.isAuto&&"loop"==this.o.autoMode)this.$list.css(this.dimension,this.posMax+this.itemMax*a+"px"),this.posMax+=
|
||||||
|
this.clipMax-this.o.speed,this.isForwards?(this.$items.slice(0,a).clone(!0).appendTo(this.$list),this.resetPosition=0):(this.$items.slice(-a).clone(!0).prependTo(this.$list),this.resetPosition=this.$items.length*this.itemMax,this.isRTL&&(this.$clip[0].dir="ltr",this.$items.css("float","right")));else if(!this.isAuto&&"loop"==this.o.manualMode){this.posMax+=this.itemMax*a;this.$list.css(this.dimension,this.posMax+this.itemMax*a+"px");this.posMax+=this.clipMax-this.o.speed;this.$items.slice(0,a).clone(!0).appendTo(this.$list);
|
||||||
|
this.$items.slice(-a).clone(!0).prependTo(this.$list);this.resetPositionForwards=this.resetPosition=a*this.itemMax;this.resetPositionBackwards=this.$items.length*this.itemMax;var b=this;this.$btnBack.bind(this.events.start,function(){b.isForwards=false;b.resetPosition=b.resetPositionBackwards});this.$btnForward.bind(this.events.start,function(){b.isForwards=true;b.resetPosition=b.resetPositionForwards})}else this.$list.css(this.dimension,this.posMax+"px"),this.isForwards?this.resetPosition=0:(this.resetPosition=
|
||||||
|
this.$items.length*this.itemMax,this.isRTL&&(this.$clip[0].dir="ltr",this.$items.css("float","right")));this.resetPos();this.interval=null;this.intervalDelay=Math.floor(1E3/this.o.frameRate);if(this.isAuto||"end"!=this.o.manualMode)for(;0!==this.itemMax%this.o.speed;)if(this.o.speed--,0===this.o.speed){this.o.speed=1;break}b=this;this.trigger=null;this.funcMoveBack=function(a){a!==i&&a.preventDefault();b.trigger=!b.isAuto&&b.o.manualMode=="end"?this:null;b.isAuto?b.isForwards?b.moveBack():b.moveForward():
|
||||||
|
b.moveBack()};this.funcMoveForward=function(a){a!==i&&a.preventDefault();b.trigger=!b.isAuto&&b.o.manualMode=="end"?this:null;b.isAuto?b.isForwards?b.moveForward():b.moveBack():b.moveForward()};this.funcMovePause=function(){b.movePause()};this.funcMoveStop=function(){b.moveStop()};this.funcMoveResume=function(){b.moveResume()};if(this.isAuto){this.paused=!1;var g=function(){if(b.paused===false){b.paused=true;b.funcMovePause()}else{b.paused=false;b.funcMoveResume()}return b.paused};this.supportsTouch&&
|
||||||
|
this.$items.find("a").length&&(this.supportsTouch=!1);if(this.isAuto&&this.o.pauseOnHover&&!this.supportsTouch)this.$clip.bind(this.events.start,this.funcMovePause).bind(this.events.end,this.funcMoveResume);else if(this.isAuto&&this.o.pauseOnTouch&&!this.o.pauseButton&&this.supportsTouch){var d,f;this.$clip.bind(this.events.start,function(a){g();var c=a.originalEvent.touches[0];d=b.isHorizontal?c.pageX:c.pageY;f=b.$clip[0]["scroll"+b.scrollPos];a.stopPropagation();a.preventDefault()}).bind(this.events.move,
|
||||||
|
function(a){a.stopPropagation();a.preventDefault();a=a.originalEvent.touches[0];a=d-(b.isHorizontal?a.pageX:a.pageY)+f;if(a<0)a=0;else if(a>b.posMax)a=b.posMax;b.$clip[0]["scroll"+b.scrollPos]=a;b.funcMovePause();b.paused=true})}else this.o.pauseButton&&(this.$btnPause=c(".simply-scroll-btn-pause",this.$container).bind("click",function(a){a.preventDefault();g()?c(this).addClass("active"):c(this).removeClass("active")}));this.funcMoveForward()}else this.$btnBack.addClass("simply-scroll-btn "+this.moveBackClass).bind(this.events.start,
|
||||||
|
this.funcMoveBack).bind(this.events.end,this.funcMoveStop),this.$btnForward.addClass("simply-scroll-btn "+this.moveForwardClass).bind(this.events.start,this.funcMoveForward).bind(this.events.end,this.funcMoveStop),"end"==this.o.manualMode&&(!this.isRTL?this.$btnBack.addClass("disabled"):this.$btnForward.addClass("disabled"))},moveForward:function(){var a=this;this.movement="forward";null!==this.trigger&&this.$btnBack.removeClass("disabled");a.interval=setInterval(function(){a.$clip[0]["scroll"+a.scrollPos]<
|
||||||
|
a.posMax-a.clipMax?a.$clip[0]["scroll"+a.scrollPos]+=a.o.speed:a.isLoop?a.resetPos():a.moveStop(a.movement)},a.intervalDelay)},moveBack:function(){var a=this;this.movement="back";null!==this.trigger&&this.$btnForward.removeClass("disabled");a.interval=setInterval(function(){a.$clip[0]["scroll"+a.scrollPos]>a.posMin?a.$clip[0]["scroll"+a.scrollPos]-=a.o.speed:a.isLoop?a.resetPos():a.moveStop(a.movement)},a.intervalDelay)},movePause:function(){clearInterval(this.interval)},moveStop:function(a){this.movePause();
|
||||||
|
null!==this.trigger&&("undefined"!==typeof a&&c(this.trigger).addClass("disabled"),this.trigger=null);this.isAuto&&"bounce"==this.o.autoMode&&("forward"==a?this.moveBack():this.moveForward())},moveResume:function(){"forward"==this.movement?this.moveForward():this.moveBack()},resetPos:function(){this.$clip[0]["scroll"+this.scrollPos]=this.resetPosition}})})(jQuery,window);
|
|
@ -0,0 +1,54 @@
|
||||||
|
/* Container DIV - automatically generated */
|
||||||
|
.simply-scroll-container {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Clip DIV - automatically generated */
|
||||||
|
.simply-scroll-clip {
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* UL/OL/DIV - the element that simplyScroll is inited on
|
||||||
|
Class name automatically added to element */
|
||||||
|
.simply-scroll-list {
|
||||||
|
overflow: hidden;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.simply-scroll-list li {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.simply-scroll-list li img {
|
||||||
|
border: none;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Custom class modifications - adds to / overrides above
|
||||||
|
|
||||||
|
.simply-scroll is default base class */
|
||||||
|
|
||||||
|
/* Container DIV */
|
||||||
|
.simply-scroll {
|
||||||
|
width: 576px;
|
||||||
|
height: 200px;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Clip DIV */
|
||||||
|
.simply-scroll .simply-scroll-clip {
|
||||||
|
width: 576px;
|
||||||
|
height: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Explicitly set height/width of each list item */
|
||||||
|
.simply-scroll .simply-scroll-list li {
|
||||||
|
float: left; /* Horizontal scroll only */
|
||||||
|
width: auto;
|
||||||
|
height: auto;
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
<div class="banner" data-ps=''>
|
||||||
|
<ul data-repeat="0" id="scroller">
|
||||||
|
<li><img src="{{image_link}}" height="{{height}}" width="{{width}}"></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<%= javascript_include_tag "adbanner.js" %>
|
|
@ -1,5 +0,0 @@
|
||||||
<div class="banner" data-ps=''>
|
|
||||||
<ul>
|
|
||||||
<li data-repeat="0"><img src="http://placehold.it/150x150"></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
|
@ -1,2 +1,3 @@
|
||||||
$("#main-wrap ol.sortable").html("<%= j render 'admin/items/node_and_children', {node: Page.root, level: 0} %>");
|
$("#main-wrap ol.sortable").html("<%= j render 'admin/items/node_and_children', {node: Page.root, level: 0} %>");
|
||||||
$.pageslide.close();
|
$.pageslide.close();
|
||||||
|
itemsLibrary.reBindHandlers();
|
|
@ -1 +1,2 @@
|
||||||
$("#main-wrap ol.sortable").html("<%= j render 'admin/items/node_and_children', {node: Page.root, level: 0} %>");
|
$("#main-wrap ol.sortable").html("<%= j render 'admin/items/node_and_children', {node: Page.root, level: 0} %>");
|
||||||
|
itemsLibrary.reBindHandlers();
|
Loading…
Reference in New Issue