lazybox 0.1.4 → 0.1.5

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/README.md CHANGED
@@ -1,6 +1,10 @@
1
1
  LazyBox
2
2
  =======
3
3
 
4
+ [Live Demo](http://lazybox.herokuapp.com/)
5
+
6
+ [Demo Source](https://github.com/alex-galushka/lazybox_demo)
7
+
4
8
  Lazybox is a jQuery-based, lightbox that can display entire remote pages, images and confirmation dialogs.
5
9
  Replace standard rails confirmations with lazybox just added several rows to your project. Use lazybox with rails assets pipeline.
6
10
 
@@ -9,12 +13,12 @@ This is high perfomance modal dialogs. All unpacked files take only 5 kb.
9
13
  This is simplest solution for popup windows and custom confirmation dialogs.
10
14
 
11
15
  Installing
12
- ------------
16
+ ----------
13
17
 
14
18
  Add it to your Gemfile:
15
19
 
16
20
  ```ruby
17
- gem 'lazybox'
21
+ gem 'lazybox'
18
22
  ```
19
23
 
20
24
  Then run `bundle install` to update your application's bundle.
@@ -22,17 +26,17 @@ Then run `bundle install` to update your application's bundle.
22
26
  Include in your `application.css`:
23
27
 
24
28
  ```css
25
- /*
26
- * ...
27
- *= require lazybox
28
- * ...
29
- */
29
+ /*
30
+ * ...
31
+ *= require lazybox
32
+ * ...
33
+ */
30
34
  ```
31
35
 
32
36
  And in `application.js`:
33
37
 
34
38
  ```javascript
35
- //= require lazybox
39
+ //= require lazybox
36
40
  ```
37
41
 
38
42
  Usage
@@ -41,34 +45,34 @@ Usage
41
45
  ###Remote pages
42
46
  Usual remote link:
43
47
 
44
- ```ruby
45
- link_to 'Lazybox', new_model_path, :remote => true
48
+ ```haml
49
+ - link_to 'Lazybox', new_model_path, :remote => true
46
50
  ```
47
51
 
48
52
  In your controller:
49
53
 
50
54
  ```ruby
51
- def new
52
- @model = Model.new
53
- end
54
-
55
- def create
56
- @model = Model.new(params[:model])
57
- render :action => :new unless @model.save
58
- end
55
+ def new
56
+ @model = Model.new
57
+ end
58
+
59
+ def create
60
+ @model = Model.new(params[:model])
61
+ render :action => :new unless @model.save
62
+ end
59
63
  ```
60
64
 
61
65
  `new.js.haml`
62
66
 
63
- ```ruby
64
- $.lazybox("#{escape_javascript(render :partial => 'form')}");
67
+ ```haml
68
+ $.lazybox("#{escape_javascript(render :partial => 'form')}");
65
69
  ```
66
70
 
67
71
  `create.js.haml`
68
72
 
69
- ```ruby
70
- $.lazybox.close()
71
- window.location.reload()
73
+ ```haml
74
+ $.lazybox.close()
75
+ window.location.reload()
72
76
  ```
73
77
  ![LazyBox](http://i.imgur.com/FEYpJ.png)
74
78
 
@@ -79,7 +83,7 @@ You can replace standard rails confirmations with lazybox
79
83
  And in `application.js`:
80
84
 
81
85
  ```javascript
82
- $.rails.allowAction = $.lazybox.confirm;
86
+ $.rails.allowAction = $.lazybox.confirm;
83
87
  ```
84
88
 
85
89
  ![LazyBox](http://i.imgur.com/1OQdU.png)
@@ -87,7 +91,7 @@ And in `application.js`:
87
91
  for options use global lazybox settings:
88
92
 
89
93
  ```javascript
90
- $.lazybox.settings = {cancelClass: "button gray", submitClass: 'button gray', overlay: false}
94
+ $.lazybox.settings = {cancelClass: "button gray", submitClass: 'button gray', overlay: false}
91
95
  ```
92
96
 
93
97
  ![LazyBox](http://i.imgur.com/2gW9R.png)
@@ -95,7 +99,7 @@ for options use global lazybox settings:
95
99
  ###Images
96
100
 
97
101
  ```haml
98
- - link_to 'Image', image.url, :rel => :lazybox
102
+ - link_to 'Image', image.url, :rel => :lazybox
99
103
  ```
100
104
  Include in your `app/assets/javascripts/application.js`:
101
105
 
@@ -112,10 +116,37 @@ $(document).ready(function() {
112
116
  If there are more than one link to image you can click on image in the lazybox to show the next one
113
117
 
114
118
  ```haml
115
- = link_to image.url, :rel => :lazybox do
116
- = image_tag image.url, :height => 100
117
- = link_to image2.url, :rel => :lazybox do
118
- = image_tag image2.url, :height => 100
119
+ = link_to image.url, :rel => :lazybox do
120
+ = image_tag image.url, :height => 100
121
+ = link_to image2.url, :rel => :lazybox do
122
+ = image_tag image2.url, :height => 100
123
+ ```
124
+
125
+ Custom close image
126
+ ------------------
127
+
128
+ Set 'closeImg' option to true.
129
+
130
+ `application.js`:
131
+
132
+ ```javascript
133
+ $(document).ready(function() {
134
+ $('.images a').lazybox({closeImg: true});
135
+ });
136
+ ```
137
+
138
+ Style your close:
139
+
140
+ `application.css`
141
+
142
+ ```css
143
+ #lazybox_close.img {
144
+ background: url('close.png') no-repeat;
145
+ width: 32px;
146
+ height: 32px;
147
+ top: -17px;
148
+ right: -17px;
149
+ }
119
150
  ```
120
151
 
121
152
  Options
@@ -125,6 +156,7 @@ Options
125
156
  esc: true|false //default true. Close lazybox on esc press
126
157
  close: true|false //default true. Show close lazybox button
127
158
  niceClose: true|false //default true. Show nice close button like in fancybox(IE always shows simple close button)
159
+ closeImg: true|false //default false. Use image for close link
128
160
  modal: true|false //default true. Close lazybox on overlay click
129
161
  opacity: 0.6 //default 0.3. Set opacity for lazybox overlay
130
162
  klass: 'class' // Set class for lazybox. <div id='lazybox' class='class'>...</div>
@@ -140,9 +172,6 @@ Events
140
172
  $.lazybox.show()
141
173
  $.lazybox.close()
142
174
  $.lazybox.center()
143
- $(document).trigger('close.lazybox') //Will be deprecated in next version. Use $.lazybox.close()
144
- $(document).trigger('center.lazybox') //Will be deprecated in next version. Use $.lazybox.center()
145
-
146
175
 
147
176
  Browser Compatibility
148
177
  ---------------------
@@ -1,3 +1,3 @@
1
1
  module Lazybox
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
@@ -28,9 +28,8 @@
28
28
  }
29
29
  });
30
30
  $.fn.lazybox = function(options){
31
- var imagesRegexp = new RegExp('\\.(png|jpg|jpeg|gif)(\\?.*)?$', 'i')
32
31
  this.live('click', function(e){
33
- var a = $(this), href = a.attr('href')
32
+ var a = $(this), href = a.attr('href'), imagesRegexp = new RegExp('\\.(png|jpg|jpeg|gif)(\\?.*)?$', 'i')
34
33
  e.preventDefault()
35
34
  if (href.match(imagesRegexp)){
36
35
  var img = new Image()
@@ -50,17 +49,16 @@
50
49
  $('body:not(:has(#lazybox_overlay))').append("<div id='lazybox_overlay'></div>")
51
50
  $('#lazybox_overlay').css({filter: 'alpha(opacity='+options.opacity*100+')', opacity: options.opacity}).fadeIn(500)
52
51
  }
53
- $('body:not(:has(#lazybox))').append("<div id='lazybox'><div id='lazybox_body'></div></div>")
54
- if (options.klass) { $('#lazybox').removeClass().addClass(options.klass) } else { $('#lazybox').removeClass() }
52
+ $('body:not(:has(#lazybox))').append("<div id='lazybox'><div id='lazybox_body'></div></div>");
53
+ (options.klass) ? $('#lazybox').attr('class', options.klass) : $('#lazybox').removeClass()
55
54
  if (options.close) {
56
- $('#lazybox:not(:has(#lazybox_close))').prepend($("<a id='lazybox_close' title='close'>×</a>"))
57
- if (!$.browser.msie && options.niceClose) $('#lazybox_close').addClass('nice')
58
- } else $('#lazybox_close').remove()
59
- if (!options.modal && options.overlay) { $('#lazybox_overlay').bind('click', function(){ $.lazybox.close() }) } else { $('#lazybox_overlay').unbind() }
55
+ $('#lazybox:not(:has(#lazybox_close))').prepend($("<a id='lazybox_close' title='close'></a>"));
56
+ (options.closeImg) ? $('#lazybox_close').attr('class', 'img').text('') : $('#lazybox_close').removeClass().text('×')
57
+ if (!$.browser.msie && options.niceClose && !options.closeImg) $('#lazybox_close').attr('class', 'nice')
58
+ } else $('#lazybox_close').remove();
59
+ (!options.modal && options.overlay) ? $('#lazybox_overlay').bind('click', function(){ $.lazybox.close() }) : $('#lazybox_overlay').unbind()
60
60
  $(document).keyup(function(e) { if (e.keyCode == 27 && options.esc) $.lazybox.close() })
61
61
  $('#lazybox_close, #lazybox_body .lazy_buttons a').live('click', function(e){ $.lazybox.close(); e.preventDefault() })
62
62
  }
63
63
 
64
- $(document).bind('close.lazybox', function(){ $.lazybox.close(); console.warn('will be deprecated') })
65
- $(document).bind('center.lazybox', function(){ $.lazybox.center(); console.warn('will be deprecated') })
66
64
  })(jQuery);
@@ -38,8 +38,6 @@ a#lazybox_close {
38
38
  width: 25px;
39
39
  }
40
40
 
41
- a#lazybox_close:hover { color: black; }
42
-
43
41
  a#lazybox_close.nice {
44
42
  background: black;
45
43
  border: 2px solid white;
@@ -52,9 +50,9 @@ a#lazybox_close.nice {
52
50
  -moz-box-shadow: 0 1px 5px #333;
53
51
  -webkit-box-shadow: 0 1px 5px #333;
54
52
  }
55
- a#lazybox_close.nice:hover { background: white; border-color: black; color: black; }
56
53
 
54
+ a#lazybox_close:hover { color: black; }
55
+ a#lazybox_close.nice:hover { background: white; border-color: black; color: black; }
57
56
  img.lazy_img { cursor: pointer; }
58
-
59
57
  #lazybox .lazy_buttons { margin-top: 15px; text-align: right; }
60
58
  #lazybox.confirm { max-width: 300px; }
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lazybox
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 4
10
- version: 0.1.4
9
+ - 5
10
+ version: 0.1.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - Alex Galushka
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-03-29 00:00:00 Z
18
+ date: 2012-03-31 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: rails