Commit 48e8a1da9776f48e6a68b07d4c3b59da342bcff7
1 parent
582e694e
Exists in
master
and in
22 other branches
modals: Replace lightbox with colorbox
Showing
18 changed files
with
19 additions
and
420 deletions
Show diff stats
app/helpers/application_helper.rb
| @@ -8,8 +8,6 @@ module ApplicationHelper | @@ -8,8 +8,6 @@ module ApplicationHelper | ||
| 8 | 8 | ||
| 9 | include PermissionNameHelper | 9 | include PermissionNameHelper |
| 10 | 10 | ||
| 11 | - include LightboxHelper | ||
| 12 | - | ||
| 13 | include ColorboxHelper | 11 | include ColorboxHelper |
| 14 | 12 | ||
| 15 | include BoxesHelper | 13 | include BoxesHelper |
| @@ -649,8 +647,8 @@ module ApplicationHelper | @@ -649,8 +647,8 @@ module ApplicationHelper | ||
| 649 | ' onfocus="if(this.value==\''+s+'\'){this.value=\'\'} this.form.className=\'focus-in\'"'+ | 647 | ' onfocus="if(this.value==\''+s+'\'){this.value=\'\'} this.form.className=\'focus-in\'"'+ |
| 650 | ' onblur="if(/^\s*$/.test(this.value)){this.value=\''+s+'\'} this.form.className=\'focus-out\'">'+ | 648 | ' onblur="if(/^\s*$/.test(this.value)){this.value=\''+s+'\'} this.form.className=\'focus-out\'">'+ |
| 651 | '</form>' | 649 | '</form>' |
| 652 | - else #opt == 'lightbox_link' is default | ||
| 653 | - lightbox_link_to '<span class="icon-menu-search"></span>'+ _('Search'), { | 650 | + else |
| 651 | + colorbox_link_to '<span class="icon-menu-search"></span>'+ _('Search'), { | ||
| 654 | :controller => 'search', | 652 | :controller => 'search', |
| 655 | :action => 'popup', | 653 | :action => 'popup', |
| 656 | :category_path => (@category ? @category.explode_path : nil)}, | 654 | :category_path => (@category ? @category.explode_path : nil)}, |
app/helpers/colorbox_helper.rb
| @@ -17,7 +17,7 @@ module ColorboxHelper | @@ -17,7 +17,7 @@ module ColorboxHelper | ||
| 17 | end | 17 | end |
| 18 | 18 | ||
| 19 | def colorbox_close_button(text, options = {}) | 19 | def colorbox_close_button(text, options = {}) |
| 20 | - button(:close, text, '#', colorbox_options(options, :close)) | 20 | + button(:close, text, '#', colorbox_options(options, :close).merge(:rel => 'deactivate')) |
| 21 | end | 21 | end |
| 22 | 22 | ||
| 23 | def colorbox_button(type, label, url, options = {}) | 23 | def colorbox_button(type, label, url, options = {}) |
app/helpers/lightbox_helper.rb
| @@ -1,36 +0,0 @@ | @@ -1,36 +0,0 @@ | ||
| 1 | -module LightboxHelper | ||
| 2 | - | ||
| 3 | - def lightbox_link_to(text, url, options = {}) | ||
| 4 | - link_to(text, url, lightbox_options(options)) | ||
| 5 | - end | ||
| 6 | - | ||
| 7 | - def lightbox_close_button(text, options = {}) | ||
| 8 | - button(:close, text, '#', lightbox_options(options, 'lbAction').merge(:rel => 'deactivate')) | ||
| 9 | - end | ||
| 10 | - | ||
| 11 | - def lightbox_button(type, label, url, options = {}) | ||
| 12 | - button(type, label, url, lightbox_options(options)) | ||
| 13 | - end | ||
| 14 | - | ||
| 15 | - def lightbox_icon_button(type, label, url, options = {}) | ||
| 16 | - icon_button(type, label, url, lightbox_options(options)) | ||
| 17 | - end | ||
| 18 | - | ||
| 19 | - # options must be an HTML options hash as passed to link_to etc. | ||
| 20 | - # | ||
| 21 | - # returns a new hash with lightbox class added. Keeps existing classes. | ||
| 22 | - def lightbox_options(options, lightbox_type = 'lbOn') | ||
| 23 | - the_class = lightbox_type | ||
| 24 | - the_class << " #{options[:class]}" if options.has_key?(:class) | ||
| 25 | - options.merge(:class => the_class) | ||
| 26 | - end | ||
| 27 | - | ||
| 28 | - def lightbox? | ||
| 29 | - request.xhr? | ||
| 30 | - end | ||
| 31 | - | ||
| 32 | - def lightbox_remote_button(type, label, url, options = {}) | ||
| 33 | - button(type, label, url, lightbox_options(options, 'remote-lbOn')) | ||
| 34 | - end | ||
| 35 | - | ||
| 36 | -end |
app/views/account/_login_form.html.erb
| 1 | <%= labelled_form_for :user, | 1 | <%= labelled_form_for :user, |
| 2 | :url => { :controller => 'account', :action => (params[:enterprise_code] ? 'activate_enterprise' : 'login') } do |f| %> | 2 | :url => { :controller => 'account', :action => (params[:enterprise_code] ? 'activate_enterprise' : 'login') } do |f| %> |
| 3 | 3 | ||
| 4 | -<%= f.text_field :login, | ||
| 5 | - :id => ( lightbox? ? 'lightbox_' : '' ) + 'user_login', | ||
| 6 | - :onchange => 'this.value = convToValidLogin( this.value )' %> | 4 | +<%= f.text_field :login, :id => 'user_login', :onchange => 'this.value = convToValidLogin( this.value )' %> |
| 7 | 5 | ||
| 8 | -<%= f.password_field :password, | ||
| 9 | - :id => ( lightbox? ? 'lightbox_' : '' ) + 'user_password' %> | 6 | +<%= f.password_field :password, :id => 'user_password' %> |
| 10 | 7 | ||
| 11 | <% if params[:enterprise_code] %> | 8 | <% if params[:enterprise_code] %> |
| 12 | <%= hidden_field_tag :enterprise_code, params[:enterprise_code] %> | 9 | <%= hidden_field_tag :enterprise_code, params[:enterprise_code] %> |
| @@ -16,7 +13,7 @@ | @@ -16,7 +13,7 @@ | ||
| 16 | 13 | ||
| 17 | <% button_bar do %> | 14 | <% button_bar do %> |
| 18 | <%= submit_button( 'login', _('Log in') )%> | 15 | <%= submit_button( 'login', _('Log in') )%> |
| 19 | - <%= lightbox_close_button(_('Cancel')) if lightbox? %> | 16 | + <%= colorbox_close_button _('Cancel') if request.xhr? %> |
| 20 | <% end %> | 17 | <% end %> |
| 21 | 18 | ||
| 22 | <% end %> | 19 | <% end %> |
app/views/account/index_anonymous.html.erb
| 1 | <h1><%= _('Identify yourself') %></h1> | 1 | <h1><%= _('Identify yourself') %></h1> |
| 2 | 2 | ||
| 3 | <p> | 3 | <p> |
| 4 | -<%= lightbox_link_to _('Login.'), { :controller => 'account', :action => 'login_popup' } %> | 4 | +<%= colorbox_link_to _('Login.'), { :controller => 'account', :action => 'login_popup' } %> |
| 5 | 5 | ||
| 6 | <%= _('You need to login to be able to use all the features in this environment.') %> | 6 | <%= _('You need to login to be able to use all the features in this environment.') %> |
| 7 | </p> | 7 | </p> |
app/views/account/logout_popup.html.erb
| @@ -2,6 +2,6 @@ | @@ -2,6 +2,6 @@ | ||
| 2 | <p> | 2 | <p> |
| 3 | <% button_bar do %> | 3 | <% button_bar do %> |
| 4 | <%= button :ok, _('Yes'), { :controller => 'account', :action => 'logout' } %> | 4 | <%= button :ok, _('Yes'), { :controller => 'account', :action => 'logout' } %> |
| 5 | - <%= lightbox_close_button _('No, I want to stay.') %> | 5 | + <%= colorbox_close_button _('No, I want to stay.') %> |
| 6 | <% end %> | 6 | <% end %> |
| 7 | </p> | 7 | </p> |
app/views/cms/edit.html.erb
| @@ -28,7 +28,7 @@ | @@ -28,7 +28,7 @@ | ||
| 28 | <% end %> | 28 | <% end %> |
| 29 | 29 | ||
| 30 | <div style='float: right'> | 30 | <div style='float: right'> |
| 31 | - <%= lightbox_button :help, _('Why categorize?'), :action => 'why_categorize' %> | 31 | + <%= colorbox_button :help, _('Why categorize?'), :action => 'why_categorize' %> |
| 32 | </div> | 32 | </div> |
| 33 | 33 | ||
| 34 | <%= select_categories(:article, _('Categorize your article')) %> | 34 | <%= select_categories(:article, _('Categorize your article')) %> |
app/views/cms/why_categorize.html.erb
app/views/profile/join.html.erb
| @@ -9,7 +9,7 @@ | @@ -9,7 +9,7 @@ | ||
| 9 | <%= hidden_field_tag(:confirmation, 1) %> | 9 | <%= hidden_field_tag(:confirmation, 1) %> |
| 10 | <%= submit_button(:ok, _("Yes, I want to join.") % profile.name) %> | 10 | <%= submit_button(:ok, _("Yes, I want to join.") % profile.name) %> |
| 11 | <% if logged_in? && request.xhr? %> | 11 | <% if logged_in? && request.xhr? %> |
| 12 | - <%= lightbox_close_button(_("No, I don't want")) %> | 12 | + <%= colorbox_close_button _("No, I don't want") %> |
| 13 | <% else %> | 13 | <% else %> |
| 14 | <%= button(:cancel, _("No, I don't want."), profile.url) %> | 14 | <%= button(:cancel, _("No, I don't want."), profile.url) %> |
| 15 | <% end %> | 15 | <% end %> |
app/views/profile/leave.html.erb
| @@ -9,7 +9,7 @@ | @@ -9,7 +9,7 @@ | ||
| 9 | <%= hidden_field_tag(:back_to, @back_to) %> | 9 | <%= hidden_field_tag(:back_to, @back_to) %> |
| 10 | <%= submit_button(:ok, _("Yes, I want to leave.") % profile.name) %> | 10 | <%= submit_button(:ok, _("Yes, I want to leave.") % profile.name) %> |
| 11 | <% if logged_in? && request.xhr? %> | 11 | <% if logged_in? && request.xhr? %> |
| 12 | - <%= lightbox_close_button(_("No, I don't want")) %> | 12 | + <%= colorbox_close_button _("No, I don't want") %> |
| 13 | <% else %> | 13 | <% else %> |
| 14 | <%= button(:cancel, _("No, I don't want."), profile.url) %> | 14 | <%= button(:cancel, _("No, I don't want."), profile.url) %> |
| 15 | <% end %> | 15 | <% end %> |
app/views/profile_themes/add_css.html.erb
| @@ -5,7 +5,7 @@ | @@ -5,7 +5,7 @@ | ||
| 5 | 5 | ||
| 6 | <% button_bar do %> | 6 | <% button_bar do %> |
| 7 | <%= submit_button(:add, _('Add')) %> | 7 | <%= submit_button(:add, _('Add')) %> |
| 8 | - <%= lightbox_close_button(_('Cancel')) %> | 8 | + <%= colorbox_close_button _('Cancel') %> |
| 9 | <% end %> | 9 | <% end %> |
| 10 | 10 | ||
| 11 | <% end %> | 11 | <% end %> |
app/views/profile_themes/edit.html.erb
| @@ -16,7 +16,7 @@ | @@ -16,7 +16,7 @@ | ||
| 16 | <% end %> | 16 | <% end %> |
| 17 | </ul> | 17 | </ul> |
| 18 | <% button_bar do %> | 18 | <% button_bar do %> |
| 19 | - <%= lightbox_button(:add, _('New CSS'), :action => 'add_css', :id => @theme.id) %> | 19 | + <%= colorbox_button :add, _('New CSS'), :action => 'add_css', :id => @theme.id %> |
| 20 | <% end %> | 20 | <% end %> |
| 21 | </div> | 21 | </div> |
| 22 | 22 | ||
| @@ -25,10 +25,10 @@ | @@ -25,10 +25,10 @@ | ||
| 25 | <ul> | 25 | <ul> |
| 26 | <% for image in @image_files %> | 26 | <% for image in @image_files %> |
| 27 | <li><%= image_tag("/user_themes/#{@theme.id}/images/#{image}") %></li> | 27 | <li><%= image_tag("/user_themes/#{@theme.id}/images/#{image}") %></li> |
| 28 | - <% end %> | 28 | + <% end %> |
| 29 | </ul> | 29 | </ul> |
| 30 | <% button_bar do %> | 30 | <% button_bar do %> |
| 31 | - <%= lightbox_button(:add, _('Add image'), :action => 'add_image', :id => @theme.id) %> | 31 | + <%= colorbox_button :add, _('Add image'), :action => 'add_image', :id => @theme.id %> |
| 32 | <% end %> | 32 | <% end %> |
| 33 | </div> | 33 | </div> |
| 34 | 34 |
app/views/profile_themes/index.html.erb
| @@ -42,7 +42,7 @@ | @@ -42,7 +42,7 @@ | ||
| 42 | 42 | ||
| 43 | <% button_bar do %> | 43 | <% button_bar do %> |
| 44 | <% if environment.enabled?('user_themes') %> | 44 | <% if environment.enabled?('user_themes') %> |
| 45 | - <%= lightbox_button(:add, _('New theme ...'), :action => 'new') %> | 45 | + <%= colorbox_button :add, _('New theme ...'), :action => 'new' %> |
| 46 | <% end %> | 46 | <% end %> |
| 47 | <%= button(:back, _('Back'), :controller => 'profile_editor', :action => 'index') %> | 47 | <%= button(:back, _('Back'), :controller => 'profile_editor', :action => 'index') %> |
| 48 | <% end %> | 48 | <% end %> |
app/views/shared/user_menu.html.erb
| @@ -20,7 +20,7 @@ | @@ -20,7 +20,7 @@ | ||
| 20 | </li> | 20 | </li> |
| 21 | 21 | ||
| 22 | <li> | 22 | <li> |
| 23 | - <%= lightbox_link_to('<span class="icon-new"></span>' + _('New article'), '/myprofile/{login}/cms/new') %> | 23 | + <%= colorbox_link_to '<span class="icon-new"></span>' + _('New article'), '/myprofile/{login}/cms/new' %> |
| 24 | </li> | 24 | </li> |
| 25 | 25 | ||
| 26 | <li id='manage-enterprises-link-template' style='display: none'><a href='/myprofile/{identifier}'><span class="icon-menu-enterprise"></span><%= _('Manage %s') % '{name}' %></a></li> | 26 | <li id='manage-enterprises-link-template' style='display: none'><a href='/myprofile/{identifier}'><span class="icon-menu-enterprise"></span><%= _('Manage %s') % '{name}' %></a></li> |
public/javascripts/lightbox.js
| @@ -1,232 +0,0 @@ | @@ -1,232 +0,0 @@ | ||
| 1 | -/* | ||
| 2 | -Created By: Chris Campbell | ||
| 3 | -Website: http://particletree.com | ||
| 4 | -Date: 2/1/2006 | ||
| 5 | - | ||
| 6 | -Inspired by the lightbox implementation found at http://www.huddletogether.com/projects/lightbox/ | ||
| 7 | -*/ | ||
| 8 | - | ||
| 9 | -/*-------------------------------GLOBAL VARIABLES------------------------------------*/ | ||
| 10 | - | ||
| 11 | -var detect = navigator.userAgent.toLowerCase(); | ||
| 12 | -var OS,browser,version,total,thestring; | ||
| 13 | - | ||
| 14 | -/*-----------------------------------------------------------------------------------------------*/ | ||
| 15 | - | ||
| 16 | -//Browser detect script origionally created by Peter Paul Koch at http://www.quirksmode.org/ | ||
| 17 | - | ||
| 18 | -function getBrowserInfo() { | ||
| 19 | - if (checkIt('konqueror')) { | ||
| 20 | - browser = "Konqueror"; | ||
| 21 | - OS = "Linux"; | ||
| 22 | - } | ||
| 23 | - else if (checkIt('safari')) browser = "Safari" | ||
| 24 | - else if (checkIt('omniweb')) browser = "OmniWeb" | ||
| 25 | - else if (checkIt('opera')) browser = "Opera" | ||
| 26 | - else if (checkIt('webtv')) browser = "WebTV"; | ||
| 27 | - else if (checkIt('icab')) browser = "iCab" | ||
| 28 | - else if (checkIt('msie')) browser = "Internet Explorer" | ||
| 29 | - else if (!checkIt('compatible')) { | ||
| 30 | - browser = "Netscape Navigator" | ||
| 31 | - version = detect.charAt(8); | ||
| 32 | - } | ||
| 33 | - else browser = "An unknown browser"; | ||
| 34 | - | ||
| 35 | - if (!version) version = detect.charAt(place + thestring.length); | ||
| 36 | - | ||
| 37 | - if (!OS) { | ||
| 38 | - if (checkIt('linux')) OS = "Linux"; | ||
| 39 | - else if (checkIt('x11')) OS = "Unix"; | ||
| 40 | - else if (checkIt('mac')) OS = "Mac" | ||
| 41 | - else if (checkIt('win')) OS = "Windows" | ||
| 42 | - else OS = "an unknown operating system"; | ||
| 43 | - } | ||
| 44 | -} | ||
| 45 | - | ||
| 46 | -function checkIt(string) { | ||
| 47 | - place = detect.indexOf(string) + 1; | ||
| 48 | - thestring = string; | ||
| 49 | - return place; | ||
| 50 | -} | ||
| 51 | - | ||
| 52 | -/*-----------------------------------------------------------------------------------------------*/ | ||
| 53 | - | ||
| 54 | -Event.observe(window, 'load', getBrowserInfo, false); | ||
| 55 | - | ||
| 56 | -var lightbox = Class.create(); | ||
| 57 | - | ||
| 58 | -lightbox.prototype = { | ||
| 59 | - | ||
| 60 | - yPos : 0, | ||
| 61 | - xPos : 0, | ||
| 62 | - | ||
| 63 | - initialize: function(ctrl) { | ||
| 64 | - this.content = ctrl.href; | ||
| 65 | - if (ctrl.id != '') { | ||
| 66 | - this.lightbox_className = ctrl.id; | ||
| 67 | - } | ||
| 68 | - ctrl.onclick = function(){return false;}; | ||
| 69 | - ctrl.lightbox = this; | ||
| 70 | - }, | ||
| 71 | - | ||
| 72 | - // Turn everything on - mainly the IE fixes | ||
| 73 | - activate: function(){ | ||
| 74 | - if (browser == 'Internet Explorer'){ | ||
| 75 | - this.getScroll(); | ||
| 76 | - this.prepareIE('100%', 'hidden'); | ||
| 77 | - this.setScroll(0,0); | ||
| 78 | - this.hideSelects('hidden'); | ||
| 79 | - } | ||
| 80 | - this.hideObjectsAndEmbeds('hidden'); | ||
| 81 | - this.displayLightbox("block"); | ||
| 82 | - }, | ||
| 83 | - | ||
| 84 | - // Ie requires height to 100% and overflow hidden or else you can scroll down past the lightbox | ||
| 85 | - prepareIE: function(height, overflow){ | ||
| 86 | - bod = document.getElementsByTagName('body')[0]; | ||
| 87 | - bod.style.height = height; | ||
| 88 | - bod.style.overflow = overflow; | ||
| 89 | - | ||
| 90 | - htm = document.getElementsByTagName('html')[0]; | ||
| 91 | - htm.style.height = height; | ||
| 92 | - htm.style.overflow = overflow; | ||
| 93 | - }, | ||
| 94 | - | ||
| 95 | - // In IE, select elements hover on top of the lightbox | ||
| 96 | - hideSelects: function(visibility){ | ||
| 97 | - selects = document.getElementsByTagName('select'); | ||
| 98 | - for(i = 0; i < selects.length; i++) { | ||
| 99 | - selects[i].style.visibility = visibility; | ||
| 100 | - } | ||
| 101 | - }, | ||
| 102 | - | ||
| 103 | - // In FF, objects and embeds elements hover on top of the lightbox | ||
| 104 | - hideObjectsAndEmbeds: function(visibility){ | ||
| 105 | - var f = function(collection) { | ||
| 106 | - for(i = 0; i < collection.length; i++) { | ||
| 107 | - if (collection[i].style) { | ||
| 108 | - collection[i].style.visibility = visibility; | ||
| 109 | - } | ||
| 110 | - } | ||
| 111 | - }; | ||
| 112 | - f(document.getElementsByTagName('object')); | ||
| 113 | - f(document.getElementsByTagName('embed')); | ||
| 114 | - }, | ||
| 115 | - | ||
| 116 | - // Taken from lightbox implementation found at http://www.huddletogether.com/projects/lightbox/ | ||
| 117 | - getScroll: function(){ | ||
| 118 | - if (self.pageYOffset) { | ||
| 119 | - this.yPos = self.pageYOffset; | ||
| 120 | - } else if (document.documentElement && document.documentElement.scrollTop){ | ||
| 121 | - this.yPos = document.documentElement.scrollTop; | ||
| 122 | - } else if (document.body) { | ||
| 123 | - this.yPos = document.body.scrollTop; | ||
| 124 | - } | ||
| 125 | - }, | ||
| 126 | - | ||
| 127 | - setScroll: function(x, y){ | ||
| 128 | - window.scrollTo(x, y); | ||
| 129 | - }, | ||
| 130 | - | ||
| 131 | - displayLightbox: function(display){ | ||
| 132 | - $('overlay').style.display = display; | ||
| 133 | - $('lightbox').style.display = display; | ||
| 134 | - if(display != 'none') this.loadInfo(); | ||
| 135 | - }, | ||
| 136 | - | ||
| 137 | - // Begin Ajax request based off of the href of the clicked linked | ||
| 138 | - loadInfo: function() { | ||
| 139 | - var myAjax = new Ajax.Request( | ||
| 140 | - this.content, | ||
| 141 | - {method: 'post', parameters: "", onComplete: this.processInfo.bindAsEventListener(this)} | ||
| 142 | - ); | ||
| 143 | - | ||
| 144 | - }, | ||
| 145 | - | ||
| 146 | - // Display Ajax response | ||
| 147 | - processInfo: function(response){ | ||
| 148 | - info = "<div id='lbContent'><div id='lbBottomBG'><div id='lbTopBG'>" + response.responseText + "</div></div></div>"; | ||
| 149 | - new Insertion.Before($('lbLoadMessage'), info) | ||
| 150 | - if (this.lightbox_className) { | ||
| 151 | - $('lightbox').className = "done " + this.lightbox_className; | ||
| 152 | - } else { | ||
| 153 | - $('lightbox').className = "done"; | ||
| 154 | - } | ||
| 155 | - this.actions(); | ||
| 156 | - }, | ||
| 157 | - | ||
| 158 | - // Search through new links within the lightbox, and attach click event | ||
| 159 | - actions: function(){ | ||
| 160 | - lbActions = document.getElementsByClassName('lbAction'); | ||
| 161 | - | ||
| 162 | - for(i = 0; i < lbActions.length; i++) { | ||
| 163 | - Event.observe(lbActions[i], 'click', this[lbActions[i].rel].bindAsEventListener(this), false); | ||
| 164 | - lbActions[i].onclick = function(){return false;}; | ||
| 165 | - } | ||
| 166 | - | ||
| 167 | - }, | ||
| 168 | - | ||
| 169 | - // Example of creating your own functionality once lightbox is initiated | ||
| 170 | - insert: function(e){ | ||
| 171 | - link = Event.element(e).parentNode; | ||
| 172 | - Element.remove($('lbContent')); | ||
| 173 | - | ||
| 174 | - var myAjax = new Ajax.Request( | ||
| 175 | - link.href, | ||
| 176 | - {method: 'post', parameters: "", onComplete: this.processInfo.bindAsEventListener(this)} | ||
| 177 | - ); | ||
| 178 | - | ||
| 179 | - }, | ||
| 180 | - | ||
| 181 | - // Example of creating your own functionality once lightbox is initiated | ||
| 182 | - deactivate: function(){ | ||
| 183 | - Element.remove($('lbContent')); | ||
| 184 | - | ||
| 185 | - if (browser == "Internet Explorer"){ | ||
| 186 | - this.setScroll(0,this.yPos); | ||
| 187 | - this.prepareIE("auto", "auto"); | ||
| 188 | - this.hideSelects("visible"); | ||
| 189 | - } | ||
| 190 | - this.hideObjectsAndEmbeds("visible"); | ||
| 191 | - this.displayLightbox("none"); | ||
| 192 | - } | ||
| 193 | -} | ||
| 194 | - | ||
| 195 | -/*-----------------------------------------------------------------------------------------------*/ | ||
| 196 | - | ||
| 197 | -jQuery('.lbOn').live('click', function(event) { | ||
| 198 | - if (jQuery('#lbLoadMessage').length == 0) | ||
| 199 | - addLightboxMarkup(); | ||
| 200 | - if (this.lightbox == undefined) | ||
| 201 | - valid = new lightbox(this); | ||
| 202 | - else { | ||
| 203 | - removeLightboxMarkup(); | ||
| 204 | - addLightboxMarkup(); | ||
| 205 | - } | ||
| 206 | - | ||
| 207 | - this.lightbox.activate(); | ||
| 208 | - | ||
| 209 | - event.preventDefault(); | ||
| 210 | - return false; | ||
| 211 | -}); | ||
| 212 | - | ||
| 213 | -// Add in markup necessary to make this work. Basically two divs: | ||
| 214 | -// Overlay holds the shadow | ||
| 215 | -// Lightbox is the centered square that the content is put into. | ||
| 216 | -function addLightboxMarkup() { | ||
| 217 | - bod = document.getElementsByTagName('body')[0]; | ||
| 218 | - overlay = document.createElement('div'); | ||
| 219 | - overlay.id = 'overlay'; | ||
| 220 | - lb = document.createElement('div'); | ||
| 221 | - lb.id = 'lightbox'; | ||
| 222 | - lb.className = 'loading'; | ||
| 223 | - lb.innerHTML = '<div id="lbLoadMessage">' + | ||
| 224 | - '<img src="' + noosfero_root() + '/images/2loading.gif"/>' + | ||
| 225 | - '</div>'; | ||
| 226 | - bod.appendChild(overlay); | ||
| 227 | - bod.appendChild(lb); | ||
| 228 | -} | ||
| 229 | -function removeLightboxMarkup() { | ||
| 230 | - Element.remove($('overlay')); | ||
| 231 | - Element.remove($('lightbox')); | ||
| 232 | -} |
public/stylesheets/lightbox.css
| @@ -1,63 +0,0 @@ | @@ -1,63 +0,0 @@ | ||
| 1 | -/* - - - - - - - - - - - - - - - - - - - - - | ||
| 2 | - | ||
| 3 | -Title : Lightbox CSS | ||
| 4 | -Author : Kevin Hale | ||
| 5 | -URL : http://particletree.com/features/lightbox-gone-wild/ | ||
| 6 | - | ||
| 7 | -Created : January 13, 2006 | ||
| 8 | -Modified : February 1, 2006 | ||
| 9 | - | ||
| 10 | -- - - - - - - - - - - - - - - - - - - - - */ | ||
| 11 | - | ||
| 12 | -#lightbox { | ||
| 13 | - display: none; | ||
| 14 | - position: absolute; | ||
| 15 | - top: 150px; | ||
| 16 | - left: 50%; | ||
| 17 | - z-index: 300; | ||
| 18 | - width: 500px; | ||
| 19 | - margin-left: -265px; | ||
| 20 | - border: 1px solid #000; | ||
| 21 | - text-align: left; | ||
| 22 | - padding: 1em; | ||
| 23 | - background: #FFF; | ||
| 24 | -} | ||
| 25 | - | ||
| 26 | -#overlay{ | ||
| 27 | - display:none; | ||
| 28 | - position:absolute; | ||
| 29 | - top:0; | ||
| 30 | - left:0; | ||
| 31 | - width:100%; | ||
| 32 | - height:100%; | ||
| 33 | - z-index:200; | ||
| 34 | - background-color:#000; | ||
| 35 | - -moz-opacity: 0.75; | ||
| 36 | - opacity:.75; | ||
| 37 | - filter: alpha(opacity=75); | ||
| 38 | -} | ||
| 39 | -#overlay[id]{ | ||
| 40 | - position:fixed; | ||
| 41 | -} | ||
| 42 | - | ||
| 43 | -#lightbox.done #lbLoadMessage{ | ||
| 44 | - display:none; | ||
| 45 | -} | ||
| 46 | -#lightbox.done #lbContent{ | ||
| 47 | - display:block; | ||
| 48 | -} | ||
| 49 | -#lightbox.loading #lbContent{ | ||
| 50 | - display:none; | ||
| 51 | -} | ||
| 52 | -#lightbox.loading #lbLoadMessage{ | ||
| 53 | - display:block; | ||
| 54 | -} | ||
| 55 | - | ||
| 56 | -#lightbox.done img{ | ||
| 57 | - width:100%; | ||
| 58 | - height:100%; | ||
| 59 | -} | ||
| 60 | - | ||
| 61 | -#lightbox select { | ||
| 62 | - max-width: 100%; | ||
| 63 | -} |
test/functional/cms_controller_test.rb
| @@ -638,7 +638,7 @@ class CmsControllerTest < ActionController::TestCase | @@ -638,7 +638,7 @@ class CmsControllerTest < ActionController::TestCase | ||
| 638 | 638 | ||
| 639 | should 'display OK button on why_categorize popup' do | 639 | should 'display OK button on why_categorize popup' do |
| 640 | get :why_categorize, :profile => profile.identifier | 640 | get :why_categorize, :profile => profile.identifier |
| 641 | - assert_tag :tag => 'a', :attributes => { :rel => 'deactivate'} # lightbox close button | 641 | + assert_tag :tag => 'a', :attributes => { :rel => 'deactivate'} # colorbox close button |
| 642 | end | 642 | end |
| 643 | 643 | ||
| 644 | should 'display published option' do | 644 | should 'display published option' do |
test/unit/lightbox_helper_test.rb
| @@ -1,65 +0,0 @@ | @@ -1,65 +0,0 @@ | ||
| 1 | -require_relative "../test_helper" | ||
| 2 | - | ||
| 3 | -class LightboxHelperTest < ActiveSupport::TestCase | ||
| 4 | - | ||
| 5 | - include LightboxHelper | ||
| 6 | - | ||
| 7 | - def setup | ||
| 8 | - stubs(:_).with(anything).returns('TEXT') | ||
| 9 | - end | ||
| 10 | - | ||
| 11 | - should 'provide the needed files' do | ||
| 12 | - assert File.exists?(Rails.root.join('public', 'stylesheets', 'lightbox.css')), 'lightbox.css expected to be in public/stylesheets, but not found' | ||
| 13 | - assert File.exists?(Rails.root.join('public', 'javascripts', 'lightbox.js')), 'lightbox.js expected to be in public/javascripts, but not found' | ||
| 14 | - end | ||
| 15 | - | ||
| 16 | - should 'provide lightbox_link_to helper' do | ||
| 17 | - expects(:link_to).with('text', { :action => 'view', :id => '1' }, has_entries({ :class => 'lbOn', :id => 'my-link' })).returns('[link]') | ||
| 18 | - assert_equal '[link]', lightbox_link_to('text', { :action => 'view', :id => '1'}, { :id => 'my-link' }) | ||
| 19 | - end | ||
| 20 | - | ||
| 21 | - should 'merge existing :class option in lightbox_link_to' do | ||
| 22 | - expects(:link_to).with('text', { :action => 'view', :id => '1' }, has_entries({ :class => 'lbOn my-button', :id => 'my-link' })).returns('[link]') | ||
| 23 | - assert_equal '[link]', lightbox_link_to('text', { :action => 'view', :id => '1'}, { :class => 'my-button', :id => 'my-link' }) | ||
| 24 | - | ||
| 25 | - end | ||
| 26 | - | ||
| 27 | - should 'provide link to close lightbox' do | ||
| 28 | - expects(:button).with(:close, 'text', '#', has_entries({ :class => 'lbAction', :rel => 'deactivate', :id => 'my-id' })).returns('[close-lightbox]') | ||
| 29 | - | ||
| 30 | - assert_equal '[close-lightbox]', lightbox_close_button('text', :id => 'my-id') | ||
| 31 | - end | ||
| 32 | - | ||
| 33 | - should 'merge existing :class option in lightbox_close_button' do | ||
| 34 | - expects(:button).with(:close, 'text', '#', has_entries({ :class => 'lbAction my-class', :rel => 'deactivate', :id => 'my-id' })).returns('[close-lightbox]') | ||
| 35 | - | ||
| 36 | - assert_equal '[close-lightbox]', lightbox_close_button('text', :class => 'my-class', :id => 'my-id' ) | ||
| 37 | - end | ||
| 38 | - | ||
| 39 | - should 'provide lightbox_button' do | ||
| 40 | - expects(:button).with('type', 'label', { :action => 'popup'}, has_entries({ :class => 'lbOn' })).returns('[button]') | ||
| 41 | - | ||
| 42 | - assert_equal '[button]', lightbox_button('type', 'label', { :action => 'popup'}) | ||
| 43 | - end | ||
| 44 | - | ||
| 45 | - should 'provide lightbox_icon_button' do | ||
| 46 | - expects(:icon_button).with('type', 'label', { :action => 'popup'}, has_entries({ :class => 'lbOn' })).returns('[button]') | ||
| 47 | - | ||
| 48 | - assert_equal '[button]', lightbox_icon_button('type', 'label', { :action => 'popup'}) | ||
| 49 | - end | ||
| 50 | - | ||
| 51 | - should 'tell if rendering inside lightbox' do | ||
| 52 | - request = mock | ||
| 53 | - expects(:request).returns(request) | ||
| 54 | - request.expects(:xhr?).returns(true) | ||
| 55 | - | ||
| 56 | - assert lightbox? | ||
| 57 | - end | ||
| 58 | - | ||
| 59 | - should 'provide lightbox_remote_button' do | ||
| 60 | - expects(:button).with('type', 'label', { :action => 'popup'}, has_entries({ :class => 'remote-lbOn' })).returns('[button]') | ||
| 61 | - | ||
| 62 | - assert_equal '[button]', lightbox_remote_button('type', 'label', { :action => 'popup'}) | ||
| 63 | - end | ||
| 64 | - | ||
| 65 | -end |