restbox 0.0.1 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE +1 -1
- data/README.rdoc +31 -11
- data/VERSION.yml +5 -0
- data/generators/restbox/restbox_generator.rb +27 -0
- data/generators/restbox/templates/images/loader.gif +0 -0
- data/generators/restbox/templates/images/restbox_close.png +0 -0
- data/generators/restbox/templates/javascripts/restbox.js +79 -0
- data/generators/restbox/templates/restbox.rb +0 -0
- data/generators/restbox/templates/stylesheets/restbox.css +14 -0
- data/init.rb +1 -0
- data/install.rb +1 -0
- data/lib/restbox_view_helper.rb +23 -0
- data/restbox.gemspec +63 -0
- metadata +13 -2
data/LICENSE
CHANGED
data/README.rdoc
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
= Restbox
|
2
2
|
|
3
|
-
== Prerequisites
|
4
|
-
JQuery 1.3.2
|
5
|
-
|
6
3
|
== Install
|
7
4
|
|
8
5
|
To install as a Rails plugin, run this command.
|
9
6
|
|
10
7
|
script/plugin install http://github.com/richardiux/restbox.git
|
11
8
|
|
9
|
+
=== Prerequisites
|
10
|
+
JQuery 1.3.2
|
11
|
+
|
12
12
|
== Setup
|
13
13
|
|
14
14
|
in your layout after including jQuery:
|
@@ -16,20 +16,41 @@ in your layout after including jQuery:
|
|
16
16
|
<%= javascript_include_tag 'restbox' %>
|
17
17
|
<%= stylesheet_link_tag 'restbox' %>
|
18
18
|
|
19
|
-
== Example
|
19
|
+
== Example on Rails Application
|
20
|
+
|
21
|
+
=== In your application.js
|
22
|
+
|
23
|
+
$(document).ready(function() {
|
24
|
+
jQuery("a.restbox").restbox({})
|
25
|
+
}
|
20
26
|
|
21
27
|
=== In your view
|
22
28
|
|
23
|
-
link_to "edit", order_path(@order), :class => "restbox"
|
29
|
+
<%= link_to "edit", order_path(@order), :class => "restbox" %>
|
30
|
+
|
24
31
|
|
32
|
+
=== In your controller
|
33
|
+
|
34
|
+
def edit
|
35
|
+
@order = Order.find params[:id]
|
36
|
+
respond_to do |format|
|
37
|
+
format.html { }
|
38
|
+
format.js { }
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
=== The JS view for the action (edit.js.erb)
|
43
|
+
|
44
|
+
You can use the following javascript helpers
|
25
45
|
|
26
46
|
To put text in the restbox:
|
27
|
-
<%= restbox(
|
47
|
+
<%= restbox(:content => 'some text') %>
|
28
48
|
|
29
49
|
To put a partial inside the restbox:
|
30
|
-
<%= restbox(:content => render(:partial => '
|
50
|
+
<%= restbox(:content => render(:partial => 'form')) %>
|
31
51
|
|
32
|
-
|
52
|
+
|
53
|
+
== With javascript
|
33
54
|
|
34
55
|
To put content in the restbox
|
35
56
|
$.restbox({content: "some text"})
|
@@ -38,6 +59,7 @@ To manually display loading restbox
|
|
38
59
|
$.restbox({})
|
39
60
|
|
40
61
|
== Upgrading
|
62
|
+
|
41
63
|
=== Reinstall the plugin
|
42
64
|
script/plugin install http://github.com/richardiux/restbox.git -f
|
43
65
|
|
@@ -56,8 +78,6 @@ This project can be found on github at the following URL.
|
|
56
78
|
|
57
79
|
http://github.com/richardiux/restbox
|
58
80
|
|
59
|
-
Description goes here.
|
60
|
-
|
61
81
|
== Note on Patches/Pull Requests
|
62
82
|
|
63
83
|
* Fork the project.
|
@@ -71,4 +91,4 @@ Description goes here.
|
|
71
91
|
|
72
92
|
== Copyright
|
73
93
|
|
74
|
-
Copyright (c) 2009 Richard Millan. See LICENSE for details.
|
94
|
+
Copyright (c) 2009 Richard Millan & Joseph Silvashy. See LICENSE for details.
|
data/VERSION.yml
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
class RestboxGenerator < Rails::Generator::Base
|
2
|
+
|
3
|
+
def initialize(*runtime_args)
|
4
|
+
super
|
5
|
+
end
|
6
|
+
|
7
|
+
def manifest
|
8
|
+
record do |m|
|
9
|
+
m.directory File.join('public', 'stylesheets')
|
10
|
+
m.template 'stylesheets/restbox.css', File.join('public', 'stylesheets', 'restbox.css')
|
11
|
+
|
12
|
+
m.directory File.join('public', 'javascripts')
|
13
|
+
m.template 'javascripts/restbox.js', File.join('public', 'javascripts', 'restbox.js')
|
14
|
+
|
15
|
+
m.directory File.join('public', 'images')
|
16
|
+
m.template 'images/loader.gif', File.join('public', 'images', 'loader.gif')
|
17
|
+
m.template 'images/restbox_close.png', File.join('public', 'images', 'restbox_close.png')
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
protected
|
22
|
+
|
23
|
+
def banner
|
24
|
+
%{Usage: #{$0} #{spec.name}\nCopies restbox.css, restbox.js, and images to it's proper location to public}
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
Binary file
|
Binary file
|
@@ -0,0 +1,79 @@
|
|
1
|
+
/*
|
2
|
+
* RestBox - Simple overlay to work with jQuery and Rails
|
3
|
+
* Copyright (c) 2009
|
4
|
+
* Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
|
5
|
+
*/
|
6
|
+
|
7
|
+
(function($) {
|
8
|
+
|
9
|
+
// initialize
|
10
|
+
$(function() {
|
11
|
+
content = 'loading...'
|
12
|
+
$('body').append('<div id=\'restbox_screen\'></div>\n<div id=\'restbox_container\'><div id=\'restbox_content\'></div></div>');
|
13
|
+
});
|
14
|
+
|
15
|
+
// load content
|
16
|
+
$.fn.restbox = function(options) {
|
17
|
+
return this.unbind("click").click(function(event) {
|
18
|
+
$.restbox(options);
|
19
|
+
$.ajax({
|
20
|
+
url: this.href,
|
21
|
+
dataType: "script"
|
22
|
+
});
|
23
|
+
event.preventDefault();
|
24
|
+
})
|
25
|
+
}
|
26
|
+
|
27
|
+
// set defaults
|
28
|
+
$.restbox = function(options) {
|
29
|
+
options = $.extend({
|
30
|
+
loadingClass: "restbox_loading",
|
31
|
+
content: $(content)
|
32
|
+
}, options);
|
33
|
+
|
34
|
+
// just fade screen in, load content when reqest includes content param
|
35
|
+
if (options.content.length != 0) {
|
36
|
+
$('div#restbox_screen').show();
|
37
|
+
$('div#restbox_container').show();
|
38
|
+
$('div#restbox_container div#restbox_content').removeClass(options.loadingClass).html(options.content);
|
39
|
+
$('div#restbox_container div#restbox_content').css({top: -($('div#restbox_content').height() + 100) / 2});
|
40
|
+
$('div#restbox_container div#restbox_content').animate({opacity: "100"}, 3000);
|
41
|
+
|
42
|
+
} else {
|
43
|
+
$('div#restbox_screen').fadeIn(120, function() {
|
44
|
+
$('div#restbox_container').show()
|
45
|
+
$('div#restbox_container div#restbox_content').addClass(options.loadingClass).html(content);
|
46
|
+
$('div#restbox_container div#restbox_content').css({top: -($('div#restbox_content').height() + 100) / 2});
|
47
|
+
$('div#restbox_container div#restbox_content').animate({opacity: "100"}, 3000);
|
48
|
+
});
|
49
|
+
}
|
50
|
+
|
51
|
+
close_button = $("<span id='restbox_close'></span>").click(function(event){
|
52
|
+
$.restbox_close();
|
53
|
+
event.preventDefault();
|
54
|
+
});
|
55
|
+
|
56
|
+
$('div#restbox_container div#restbox_content').prepend(close_button);
|
57
|
+
|
58
|
+
$(document).bind('keydown', function(e){
|
59
|
+
var keycode = e.keyCode;
|
60
|
+
var escapeKey = 27;
|
61
|
+
if (keycode == escapeKey) {
|
62
|
+
$.restbox_close();
|
63
|
+
}
|
64
|
+
})
|
65
|
+
};
|
66
|
+
|
67
|
+
$.restbox_close = function() {
|
68
|
+
$('div#restbox_screen').hide();
|
69
|
+
$('div#restbox_container').hide();
|
70
|
+
$('div#restbox_content').html('');
|
71
|
+
$(document).unbind('keydown');
|
72
|
+
}
|
73
|
+
|
74
|
+
// initialize
|
75
|
+
$(function() {
|
76
|
+
$(".restbox").restbox({});
|
77
|
+
});
|
78
|
+
|
79
|
+
})(jQuery);
|
File without changes
|
@@ -0,0 +1,14 @@
|
|
1
|
+
body {height:100%;}
|
2
|
+
|
3
|
+
div#restbox_screen {display:none; background:black; filter:alpha(opacity=50); opacity:.8; height:100%; width:100%; position:fixed; top:0; left:0; overflow:hidden;}
|
4
|
+
div#restbox_screen {background:-webkit-gradient(radial, center center, 1500, center center, 10, from(black), to(rgba(0,0,0,.4)), color-stop(0, black));}
|
5
|
+
/*div#restbox_screen {background:-moz-radial-gradient(45px 45px, 10px, 52px 50px, 30px, from(#A7D30C), to(rgba(1,159,98,0)), color-stop(0.90, #019F62));}*/
|
6
|
+
|
7
|
+
div#restbox_container {display:none; text-align:center; vertical-align: middle; position:absolute; top:50%; left:0px; width:100%; }
|
8
|
+
div#restbox_container div#restbox_content {width: 350px; position:relative; margin:auto; padding:20px 30px; font-size:13px; text-align:left; line-height:18px; color:#222; background:#fff; -webkit-border-radius:5px; -webkit-box-shadow:0px 1px 16px rgba(0,0,0,.6); -moz-box-shadow:black 0px 1px 8px; -moz-border-radius:5px;}
|
9
|
+
div#restbox_container div#restbox_content.restbox_loading {background:;}
|
10
|
+
|
11
|
+
div#restbox_container div#restbox_content span#restbox_close {position:absolute; top:-12px; left:-12px; height:25px; width:26px; background:url('/images/restbox/restbox_close.png') top left; text-indent:-9999px; cursor:pointer;}
|
12
|
+
div#restbox_container div#restbox_content a:active#restbox_close {background-position:bottom;}
|
13
|
+
|
14
|
+
div#restbox_content {opacity:0;}
|
data/init.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'restbox_view_helper.rb'
|
data/install.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
puts "Run `./script/generate restbox` if you want (copies optional config file and some stylesheets into your app)"
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'action_view'
|
2
|
+
|
3
|
+
module ActionView
|
4
|
+
module Helpers
|
5
|
+
module RestBoxHelper
|
6
|
+
def self.included(base)
|
7
|
+
base.class_eval do
|
8
|
+
include InstanceMethods
|
9
|
+
end
|
10
|
+
end
|
11
|
+
module InstanceMethods
|
12
|
+
def restbox(options = {})
|
13
|
+
content = escape_javascript(options[:content].to_s || '')
|
14
|
+
"jQuery.restbox({content: \"#{content}\"});"
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
ActionView::Base.class_eval do
|
22
|
+
include ActionView::Helpers::RestBoxHelper
|
23
|
+
end
|
data/restbox.gemspec
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{restbox}
|
8
|
+
s.version = "0.1.0"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Richard Millan"]
|
12
|
+
s.date = %q{2009-11-19}
|
13
|
+
s.description = %q{Simple restful ajax overlay to work with jQuery and Rails}
|
14
|
+
s.email = %q{richardiux@gmail.com}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE",
|
17
|
+
"README.rdoc"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
".document",
|
21
|
+
".gitignore",
|
22
|
+
"LICENSE",
|
23
|
+
"README.rdoc",
|
24
|
+
"Rakefile",
|
25
|
+
"VERSION.yml",
|
26
|
+
"generators/restbox/restbox_generator.rb",
|
27
|
+
"generators/restbox/templates/images/loader.gif",
|
28
|
+
"generators/restbox/templates/images/restbox_close.png",
|
29
|
+
"generators/restbox/templates/javascripts/restbox.js",
|
30
|
+
"generators/restbox/templates/restbox.rb",
|
31
|
+
"generators/restbox/templates/stylesheets/restbox.css",
|
32
|
+
"init.rb",
|
33
|
+
"install.rb",
|
34
|
+
"lib/restbox.rb",
|
35
|
+
"lib/restbox_view_helper.rb",
|
36
|
+
"restbox.gemspec",
|
37
|
+
"test/helper.rb",
|
38
|
+
"test/test_restbox.rb"
|
39
|
+
]
|
40
|
+
s.homepage = %q{http://github.com/richardiux/restbox}
|
41
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
42
|
+
s.require_paths = ["lib"]
|
43
|
+
s.rubygems_version = %q{1.3.5}
|
44
|
+
s.summary = %q{Simple restful ajax overlay to work with jQuery and Rails}
|
45
|
+
s.test_files = [
|
46
|
+
"test/helper.rb",
|
47
|
+
"test/test_restbox.rb"
|
48
|
+
]
|
49
|
+
|
50
|
+
if s.respond_to? :specification_version then
|
51
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
52
|
+
s.specification_version = 3
|
53
|
+
|
54
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
55
|
+
s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
56
|
+
else
|
57
|
+
s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
58
|
+
end
|
59
|
+
else
|
60
|
+
s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: restbox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Richard Millan
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-11-
|
12
|
+
date: 2009-11-19 00:00:00 -08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -37,7 +37,18 @@ files:
|
|
37
37
|
- LICENSE
|
38
38
|
- README.rdoc
|
39
39
|
- Rakefile
|
40
|
+
- VERSION.yml
|
41
|
+
- generators/restbox/restbox_generator.rb
|
42
|
+
- generators/restbox/templates/images/loader.gif
|
43
|
+
- generators/restbox/templates/images/restbox_close.png
|
44
|
+
- generators/restbox/templates/javascripts/restbox.js
|
45
|
+
- generators/restbox/templates/restbox.rb
|
46
|
+
- generators/restbox/templates/stylesheets/restbox.css
|
47
|
+
- init.rb
|
48
|
+
- install.rb
|
40
49
|
- lib/restbox.rb
|
50
|
+
- lib/restbox_view_helper.rb
|
51
|
+
- restbox.gemspec
|
41
52
|
- test/helper.rb
|
42
53
|
- test/test_restbox.rb
|
43
54
|
has_rdoc: true
|