Commit fe4f32cff6963a67f4828e5d11338d2e29e8829b

Authored by Daniela Feitosa
1 parent 692325d6

Replaced lightbox to colorbox on New conten link

(ActionItem2382)
app/helpers/application_helper.rb
... ... @@ -10,6 +10,8 @@ module ApplicationHelper
10 10  
11 11 include ThickboxHelper
12 12  
  13 + include ColorboxHelper
  14 +
13 15 include BoxesHelper
14 16  
15 17 include FormsHelper
... ...
app/helpers/colorbox_helper.rb 0 → 100644
... ... @@ -0,0 +1,21 @@
  1 +module ColorboxHelper
  2 +
  3 + def colorbox_close_button(text, options = {})
  4 + button(:close, text, '#', colorbox_options(options, :close))
  5 + end
  6 +
  7 + def colorbox_button(type, label, url, options = {})
  8 + button(type, label, url, colorbox_options(options))
  9 + end
  10 +
  11 + # options must be an HTML options hash as passed to link_to etc.
  12 + #
  13 + # returns a new hash with colorbox class added. Keeps existing classes.
  14 + def colorbox_options(options, type=nil)
  15 + the_class = 'colorbox'
  16 + the_class += "-#{type.to_s}" unless type.nil?
  17 + the_class << " #{options[:class]}" if options.has_key?(:class)
  18 + options.merge(:class => the_class)
  19 + end
  20 +
  21 +end
... ...
app/views/cms/select_article_type.rhtml
... ... @@ -13,4 +13,4 @@
13 13 </ul>
14 14 <br style="clear:both" />
15 15  
16   -<%= lightbox_close_button(_('Cancel')) %>
  16 +<%= colorbox_close_button(_('Cancel')) %>
... ...
app/views/cms/view.rhtml
... ... @@ -5,7 +5,7 @@
5 5 <% button_bar(:style => 'margin-bottom: 1em;') do %>
6 6 <% parent_id = ((@article && @article.allow_children?) ? @article : nil) %>
7 7  
8   - <%= lightbox_button('new', _('New content'), :action => 'new', :parent_id => parent_id, :cms => true) %>
  8 + <%= colorbox_button('new', _('New content'), :action => 'new', :parent_id => parent_id, :cms => true) %>
9 9 <%= button(:back, _('Back to control panel'), :controller => 'profile_editor', :action => "index") %>
10 10 <% end %>
11 11  
... ...
app/views/content_viewer/_article_toolbar.rhtml
... ... @@ -33,7 +33,7 @@
33 33 :parent_id => (@page.folder? ? @page : (@page.parent.nil? ? nil : @page.parent)),
34 34 :type => @page.type, :article => { :translation_of_id => @page.native_translation.id }),
35 35 :class => 'button with-text icon-locale' if @page.translatable? && !@page.native_translation.language.blank? %>
36   - <%= lightbox_remote_button(:new, label_for_new_article(@page), profile.admin_url.merge(:controller => 'cms', :action => 'new', :parent_id => (@page.folder? ? @page : (@page.parent.nil? ? nil : @page.parent)))) %>
  36 + <%= colorbox_button(:new, label_for_new_article(@page), profile.admin_url.merge(:controller => 'cms', :action => 'new', :parent_id => (@page.folder? ? @page : (@page.parent.nil? ? nil : @page.parent)))) %>
37 37 <% end %>
38 38  
39 39 <% if @page.accept_uploads? && @page.allow_create?(user) %>
... ...
app/views/content_viewer/view_page.rhtml
... ... @@ -9,7 +9,7 @@
9 9 <div id="article-toolbar"></div>
10 10  
11 11 <script type="text/javascript">
12   - <%= remote_function :update => "article-toolbar", :url => @page.url.merge({ :toolbar => true, :only_path => true }), :complete => "$$('#article-toolbar .remote-lbOn').each(function(link) { new lightbox(link); }); jQuery('#article-toolbar .simplemenu-trigger').click(function(e) { e.stopPropagation(); })" %>
  12 + <%= remote_function :update => "article-toolbar", :url => @page.url.merge({ :toolbar => true, :only_path => true }) %>
13 13 </script>
14 14  
15 15 <% if !@page.tags.empty? %>
... ...
public/javascripts/application.js
... ... @@ -863,3 +863,21 @@ function facet_options_toggle(id, url) {
863 863 }
864 864 });
865 865 }
  866 +
  867 +jQuery(function($) {
  868 + $('.colorbox').live('click', function() {
  869 + $.fn.colorbox({
  870 + href:$(this).attr('href'),
  871 + maxWidth: '500',
  872 + maxHeight: '550',
  873 + open:true
  874 + });
  875 + return false;
  876 + });
  877 +
  878 + $('.colorbox-close').live('click', function() {
  879 + $.colorbox.close();
  880 + return false;
  881 + });
  882 +
  883 +});
... ...
test/unit/colorbox_helper_test.rb 0 → 100644
... ... @@ -0,0 +1,30 @@
  1 +require File.dirname(__FILE__) + '/../test_helper'
  2 +
  3 +class ColorboxHelperTest < ActiveSupport::TestCase
  4 +
  5 + include ColorboxHelper
  6 +
  7 + should 'provide the needed files' do
  8 + assert File.exists?(File.join(RAILS_ROOT, 'public', 'stylesheets', 'colorbox.css')), 'colorbox.css expected to be in public/stylesheets, but not found'
  9 + assert File.exists?(File.join(RAILS_ROOT, 'public', 'javascripts', 'colorbox.js')), 'colorbox.js expected to be in public/javascripts, but not found'
  10 + end
  11 +
  12 + should 'provide link to close colorbox' do
  13 + expects(:button).with(:close, 'text', '#', has_entries({ :class => 'colorbox-close', :id => 'my-id' })).returns('[close-colorbox]')
  14 +
  15 + assert_equal '[close-colorbox]', colorbox_close_button('text', :id => 'my-id')
  16 + end
  17 +
  18 + should 'merge existing :class option in colorbox_close_button' do
  19 + expects(:button).with(:close, 'text', '#', has_entries({ :class => 'colorbox-close my-class', :id => 'my-id' })).returns('[close-colorbox]')
  20 +
  21 + assert_equal '[close-colorbox]', colorbox_close_button('text', :class => 'my-class', :id => 'my-id' )
  22 + end
  23 +
  24 + should 'provide colorbox_button' do
  25 + expects(:button).with('type', 'label', { :action => 'popup'}, has_entries({ :class => 'colorbox' })).returns('[button]')
  26 +
  27 + assert_equal '[button]', colorbox_button('type', 'label', { :action => 'popup'})
  28 + end
  29 +
  30 +end
... ...