facebox-rails-0.2.0/0000755000076400007640000000000012551413536013271 5ustar pravipravifacebox-rails-0.2.0/facebox-rails.gemspec0000644000076400007640000000137712551413536017365 0ustar pravipravi# encoding: utf-8 $:.unshift File.expand_path('../lib', __FILE__) require 'facebox-rails/version' Gem::Specification.new do |s| s.name = "facebox-rails" s.version = Facebox::Rails::VERSION s.authors = ["beawesomeinstead"] s.email = "graf.otodrakula@gmail.com" s.homepage = "http://github.com/bai/facebox-rails" s.summary = "Use Facebox with Rails 3" s.description = "This gem provides Facebox for your Rails 3 application." s.required_rubygems_version = ">= 1.3.6" s.files = `git ls-files`.split("\n") s.platform = Gem::Platform::RUBY s.require_path = 'lib' s.rubyforge_project = '[none]' s.add_dependency "railties", ">= 3.0", "< 5.0" s.add_dependency "thor", ">= 0.14", "< 2.0" end facebox-rails-0.2.0/vendor/0000755000076400007640000000000012551413536014566 5ustar pravipravifacebox-rails-0.2.0/vendor/assets/0000755000076400007640000000000012551413536016070 5ustar pravipravifacebox-rails-0.2.0/vendor/assets/stylesheets/0000755000076400007640000000000012551413536020444 5ustar pravipravifacebox-rails-0.2.0/vendor/assets/stylesheets/jquery.facebox.css0000644000076400007640000000220712551413536024104 0ustar pravipravi#facebox { position: absolute; top: 0; left: 0; z-index: 100; text-align: left; } #facebox .popup{ position:relative; border:3px solid rgba(0,0,0,0); -webkit-border-radius:5px; -moz-border-radius:5px; border-radius:5px; -webkit-box-shadow:0 0 18px rgba(0,0,0,0.4); -moz-box-shadow:0 0 18px rgba(0,0,0,0.4); box-shadow:0 0 18px rgba(0,0,0,0.4); } #facebox .content { display:table; width: 370px; padding: 10px; background: #fff; -webkit-border-radius:4px; -moz-border-radius:4px; border-radius:4px; } #facebox .content > p:first-child{ margin-top:0; } #facebox .content > p:last-child{ margin-bottom:0; } #facebox .close{ position:absolute; top:5px; right:5px; padding:2px; background:#fff; } #facebox .close img{ opacity:0.3; } #facebox .close:hover img{ opacity:1.0; } #facebox .loading { text-align: center; } #facebox .image { text-align: center; } #facebox img { border: 0; margin: 0; } #facebox_overlay { position: fixed; top: 0px; left: 0px; height:100%; width:100%; } .facebox_hide { z-index:-100; } .facebox_overlayBG { background-color: #000; z-index: 99; }facebox-rails-0.2.0/vendor/assets/javascripts/0000755000076400007640000000000012551413536020421 5ustar pravipravifacebox-rails-0.2.0/vendor/assets/javascripts/jquery.facebox.js.erb0000644000076400007640000002211712551413536024456 0ustar pravipravi/* * Facebox (for jQuery) * version: 1.3 * @requires jQuery v1.2 or later * @homepage https://github.com/defunkt/facebox * * Licensed under the MIT: * http://www.opensource.org/licenses/mit-license.php * * Copyright Forever Chris Wanstrath, Kyle Neath * * Usage: * * jQuery(document).ready(function() { * jQuery('a[rel*=facebox]').facebox() * }) * * Terms * Loads the #terms div in the box * * Terms * Loads the terms.html page in the box * * Terms * Loads the terms.png image in the box * * * You can also use it programmatically: * * jQuery.facebox('some html') * jQuery.facebox('some html', 'my-groovy-style') * * The above will open a facebox with "some html" as the content. * * jQuery.facebox(function($) { * $.get('blah.html', function(data) { $.facebox(data) }) * }) * * The above will show a loading screen before the passed function is called, * allowing for a better ajaxy experience. * * The facebox function can also display an ajax page, an image, or the contents of a div: * * jQuery.facebox({ ajax: 'remote.html' }) * jQuery.facebox({ ajax: 'remote.html' }, 'my-groovy-style') * jQuery.facebox({ image: 'stairs.jpg' }) * jQuery.facebox({ image: 'stairs.jpg' }, 'my-groovy-style') * jQuery.facebox({ div: '#box' }) * jQuery.facebox({ div: '#box' }, 'my-groovy-style') * * Want to close the facebox? Trigger the 'close.facebox' document event: * * jQuery(document).trigger('close.facebox') * * Facebox also has a bunch of other hooks: * * loading.facebox * beforeReveal.facebox * reveal.facebox (aliased as 'afterReveal.facebox') * init.facebox * afterClose.facebox * * Simply bind a function to any of these hooks: * * $(document).bind('reveal.facebox', function() { ...stuff to do after the facebox and contents are revealed... }) * */ (function($) { $.facebox = function(data, klass) { $.facebox.loading(data.settings || []) if (data.ajax) fillFaceboxFromAjax(data.ajax, klass) else if (data.image) fillFaceboxFromImage(data.image, klass) else if (data.div) fillFaceboxFromHref(data.div, klass) else if ($.isFunction(data)) data.call($) else $.facebox.reveal(data, klass) } /* * Public, $.facebox methods */ $.extend($.facebox, { settings: { opacity : 0.2, overlay : true, loadingImage : '<%= asset_path('facebox/loading.gif') %>', closeImage : '<%= asset_path('facebox/closelabel.png') %>', imageTypes : [ 'png', 'jpg', 'jpeg', 'gif' ], faceboxHtml : '\ ' }, loading: function() { init() if ($('#facebox .loading').length == 1) return true showOverlay() $('#facebox .content').empty(). append('
') $('#facebox').show().css({ top: getPageScroll()[1] + (getPageHeight() / 10), left: $(window).width() / 2 - ($('#facebox .popup').outerWidth(true) / 2) }) $(document).bind('keydown.facebox', function(e) { if (e.keyCode == 27) $.facebox.close() return true }) $(document).trigger('loading.facebox') }, reveal: function(data, klass) { $(document).trigger('beforeReveal.facebox') if (klass) $('#facebox .content').addClass(klass) $('#facebox .content').empty().append(data) $('#facebox .popup').children().fadeIn('normal') $('#facebox').css('left', $(window).width() / 2 - ($('#facebox .popup').outerWidth() / 2)) $(document).trigger('reveal.facebox').trigger('afterReveal.facebox') }, close: function() { $(document).trigger('close.facebox') return false } }) /* * Public, $.fn methods */ $.fn.facebox = function(settings) { if ($(this).length == 0) return init(settings) function clickHandler() { $.facebox.loading(true) // support for rel="facebox.inline_popup" syntax, to add a class // also supports deprecated "facebox[.inline_popup]" syntax var klass = this.rel.match(/facebox\[?\.(\w+)\]?/) if (klass) klass = klass[1] fillFaceboxFromHref(this.href, klass) return false } return this.bind('click.facebox', clickHandler) } /* * Private methods */ // called one time to setup facebox on this page function init(settings) { if ($.facebox.settings.inited) return true else $.facebox.settings.inited = true $(document).trigger('init.facebox') makeCompatible() var imageTypes = $.facebox.settings.imageTypes.join('|') $.facebox.settings.imageTypesRegexp = new RegExp('\\.(' + imageTypes + ')(\\?.*)?$', 'i') if (settings) $.extend($.facebox.settings, settings) $('body').append($.facebox.settings.faceboxHtml) var preload = [ new Image(), new Image() ] preload[0].src = $.facebox.settings.closeImage preload[1].src = $.facebox.settings.loadingImage $('#facebox').find('.b:first, .bl').each(function() { preload.push(new Image()) preload.slice(-1).src = $(this).css('background-image').replace(/url\((.+)\)/, '$1') }) $('#facebox .close') .click($.facebox.close) .append('') } // getPageScroll() by quirksmode.com function getPageScroll() { var xScroll, yScroll; if (self.pageYOffset) { yScroll = self.pageYOffset; xScroll = self.pageXOffset; } else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict yScroll = document.documentElement.scrollTop; xScroll = document.documentElement.scrollLeft; } else if (document.body) {// all other Explorers yScroll = document.body.scrollTop; xScroll = document.body.scrollLeft; } return new Array(xScroll,yScroll) } // Adapted from getPageSize() by quirksmode.com function getPageHeight() { var windowHeight if (self.innerHeight) { // all except Explorer windowHeight = self.innerHeight; } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode windowHeight = document.documentElement.clientHeight; } else if (document.body) { // other Explorers windowHeight = document.body.clientHeight; } return windowHeight } // Backwards compatibility function makeCompatible() { var $s = $.facebox.settings $s.loadingImage = $s.loading_image || $s.loadingImage $s.closeImage = $s.close_image || $s.closeImage $s.imageTypes = $s.image_types || $s.imageTypes $s.faceboxHtml = $s.facebox_html || $s.faceboxHtml } // Figures out what you want to display and displays it // formats are: // div: #id // image: blah.extension // ajax: anything else function fillFaceboxFromHref(href, klass) { // div if (href.match(/#/)) { var url = window.location.href.split('#')[0] var target = href.replace(url,'') if (target == '#') return $.facebox.reveal($(target).html(), klass) // image } else if (href.match($.facebox.settings.imageTypesRegexp)) { fillFaceboxFromImage(href, klass) // ajax } else { fillFaceboxFromAjax(href, klass) } } function fillFaceboxFromImage(href, klass) { var image = new Image() image.onload = function() { $.facebox.reveal('
', klass) } image.src = href } function fillFaceboxFromAjax(href, klass) { $.facebox.jqxhr = $.get(href, function(data) { $.facebox.reveal(data, klass) }) } function skipOverlay() { return $.facebox.settings.overlay == false || $.facebox.settings.opacity === null } function showOverlay() { if (skipOverlay()) return if ($('#facebox_overlay').length == 0) $("body").append('
') $('#facebox_overlay').hide().addClass("facebox_overlayBG") .css('opacity', $.facebox.settings.opacity) .click(function() { $(document).trigger('close.facebox') }) .fadeIn(200) return false } function hideOverlay() { if (skipOverlay()) return $('#facebox_overlay').fadeOut(200, function(){ $("#facebox_overlay").removeClass("facebox_overlayBG") $("#facebox_overlay").addClass("facebox_hide") $("#facebox_overlay").remove() }) return false } /* * Bindings */ $(document).bind('close.facebox', function() { if ($.facebox.jqxhr) { $.facebox.jqxhr.abort() $.facebox.jqxhr = null } $(document).unbind('keydown.facebox') $('#facebox').fadeOut(function() { $('#facebox .content').removeClass().addClass('content') $('#facebox .loading').remove() $(document).trigger('afterClose.facebox') }) hideOverlay() }) })(jQuery); facebox-rails-0.2.0/vendor/assets/images/0000755000076400007640000000000012551413536017335 5ustar pravipravifacebox-rails-0.2.0/vendor/assets/images/facebox/0000755000076400007640000000000012551413536020744 5ustar pravipravifacebox-rails-0.2.0/vendor/assets/images/facebox/loading.gif0000644000076400007640000000531712551413536023056 0ustar pravipraviGIF89a 򺺺444ėTTT! NETSCAPE2.0! , H *\p hp"8G>D)R4CIË\9p:ȹs1_2`p` u< uSYڐkǞ`Fhvƴ6S>u+ryJ/QM.0@p_ ++/KY&]9ى Mr `ixr\˪ vfjMO&*Z؇o>;ܦŝ",,@CPؼrSE.ٴjTWYR Y+ѫKb ڌ! ,H*=' - !ruby/object:Gem::Version version: '3.0' - - < - !ruby/object:Gem::Version version: '5.0' type: :runtime prerelease: false version_requirements: !ruby/object:Gem::Requirement none: false requirements: - - ! '>=' - !ruby/object:Gem::Version version: '3.0' - - < - !ruby/object:Gem::Version version: '5.0' - !ruby/object:Gem::Dependency name: thor requirement: !ruby/object:Gem::Requirement none: false requirements: - - ! '>=' - !ruby/object:Gem::Version version: '0.14' - - < - !ruby/object:Gem::Version version: '2.0' type: :runtime prerelease: false version_requirements: !ruby/object:Gem::Requirement none: false requirements: - - ! '>=' - !ruby/object:Gem::Version version: '0.14' - - < - !ruby/object:Gem::Version version: '2.0' description: This gem provides Facebox for your Rails 3 application. email: graf.otodrakula@gmail.com executables: [] extensions: [] extra_rdoc_files: [] files: - README.md - Rakefile - facebox-rails.gemspec - lib/facebox-rails.rb - lib/facebox-rails/engine.rb - lib/facebox-rails/version.rb - vendor/assets/images/facebox/closelabel.png - vendor/assets/images/facebox/loading.gif - vendor/assets/javascripts/jquery.facebox.js.erb - vendor/assets/stylesheets/jquery.facebox.css homepage: http://github.com/bai/facebox-rails licenses: [] post_install_message: rdoc_options: [] require_paths: - lib required_ruby_version: !ruby/object:Gem::Requirement none: false requirements: - - ! '>=' - !ruby/object:Gem::Version version: '0' required_rubygems_version: !ruby/object:Gem::Requirement none: false requirements: - - ! '>=' - !ruby/object:Gem::Version version: 1.3.6 requirements: [] rubyforge_project: ! '[none]' rubygems_version: 1.8.23 signing_key: specification_version: 3 summary: Use Facebox with Rails 3 test_files: [] facebox-rails-0.2.0/lib/0000755000076400007640000000000012551413536014037 5ustar pravipravifacebox-rails-0.2.0/lib/facebox-rails/0000755000076400007640000000000012551413536016556 5ustar pravipravifacebox-rails-0.2.0/lib/facebox-rails/version.rb0000644000076400007640000000017712551413536020575 0ustar pravipravimodule Facebox module Rails VERSION = "0.2.0" FACEBOX_VERSION = "30d3f057c466c5a56e36fbdd0a40523a1c38617a" end end facebox-rails-0.2.0/lib/facebox-rails/engine.rb0000644000076400007640000000012312551413536020344 0ustar pravipravimodule Facebox module Rails class Engine < ::Rails::Engine end end end facebox-rails-0.2.0/lib/facebox-rails.rb0000644000076400007640000000013312551413536017100 0ustar pravipravirequire 'facebox-rails/engine' if ::Rails.version >= '3.1' require 'facebox-rails/version' facebox-rails-0.2.0/Rakefile0000644000076400007640000000024612551413536014740 0ustar pravipravirequire 'rake' require 'rake/testtask' Rake::TestTask.new do |t| t.libs << 'lib' t.pattern = 'test/**/*_test.rb' t.verbose = false end task :default => :test