olay-rails 0.1.6 → 0.1.7
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.
- checksums.yaml +4 -4
- data/lib/olay/rails/version.rb +2 -2
- data/vendor/assets/javascripts/olay.js +19 -12
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA512:
|
3
|
-
data.tar.gz:
|
4
|
-
metadata.gz:
|
3
|
+
data.tar.gz: 5b642a78813dbad0b298734f7ee2d19e6ed7cb5590dc819d098f3dbd03834e92de05e999e5266e0a2a6c90ea68f9c18e5859b5cc21aadb46378a831118a62b85
|
4
|
+
metadata.gz: c81b19768914cdcf0dfe1abb7ce806b37804b1f10c389bd59015d9a4602e49e8c631645f5fac30c377e2b452f4321944d7a009342c8735f46ddee5bad9489a1e
|
5
5
|
SHA1:
|
6
|
-
data.tar.gz:
|
7
|
-
metadata.gz:
|
6
|
+
data.tar.gz: 7a8c03371b6f7a35e301f3db345170309781dc23
|
7
|
+
metadata.gz: 854ad8f089a4b6757cf8ff9ed0efbd06aa99f477
|
data/lib/olay/rails/version.rb
CHANGED
@@ -4,6 +4,13 @@
|
|
4
4
|
// Store a local reference to jQuery.
|
5
5
|
var $ = window.jQuery;
|
6
6
|
|
7
|
+
// This private function will be used to stop event propagation in $content.
|
8
|
+
var stopPropagation = function (ev) { ev.stopPropagation(); };
|
9
|
+
|
10
|
+
// Selector for tabbable elements.
|
11
|
+
var tabbable = 'a[href], area[href], :input, iframe, object, embed, ' +
|
12
|
+
'*[tabindex], *[contenteditable]';
|
13
|
+
|
7
14
|
// Listen for keydown events.
|
8
15
|
$(document).keydown(function (ev) {
|
9
16
|
var $olay = $('.js-olay-container').last();
|
@@ -14,19 +21,8 @@
|
|
14
21
|
for (var i = 0, l = keys.length; i < l; ++i) {
|
15
22
|
if (which === keys[i]) return olay.hide() && false;
|
16
23
|
}
|
17
|
-
if (which === 9) {
|
18
|
-
setTimeout(function () {
|
19
|
-
if (!$olay.find(':focus').length) {
|
20
|
-
$(':focus').blur();
|
21
|
-
$olay.find(':input').first().focus();
|
22
|
-
}
|
23
|
-
}, 0);
|
24
|
-
}
|
25
24
|
});
|
26
25
|
|
27
|
-
// This private function will be used to stop event propagation in $content.
|
28
|
-
var stopPropagation = function (ev) { ev.stopPropagation(); };
|
29
|
-
|
30
26
|
// Create the `Olay` constructor.
|
31
27
|
//
|
32
28
|
// ```js
|
@@ -151,6 +147,12 @@
|
|
151
147
|
$olays.length && active === $body[0] ?
|
152
148
|
$olays.last() :
|
153
149
|
$(active);
|
150
|
+
$(tabbable).each(function () {
|
151
|
+
var $t = $(this);
|
152
|
+
if ('olayTabindex' in $t.data()) return;
|
153
|
+
$t.data('olayTabindex', $t.attr('tabindex') || null)
|
154
|
+
.attr('tabindex', -1);
|
155
|
+
});
|
154
156
|
$body.addClass('js-olay-visible').append(this.$container);
|
155
157
|
this.$content.attr('tabindex', 0).focus().removeAttr('tabindex');
|
156
158
|
return this;
|
@@ -161,7 +163,12 @@
|
|
161
163
|
this.$container.detach();
|
162
164
|
this._$active.attr('tabindex', 0).focus().removeAttr('tabindex');
|
163
165
|
var $olays = $('.js-olay-container');
|
164
|
-
|
166
|
+
($olays.length ? $olays.last() : $('body').removeClass('js-olay-visible'))
|
167
|
+
.find(tabbable).each(function () {
|
168
|
+
var $t = $(this);
|
169
|
+
$t.attr('tabindex', $t.data('olayTabindex'))
|
170
|
+
.removeData('olayTabindex');
|
171
|
+
});
|
165
172
|
this.$el.trigger('hide');
|
166
173
|
if (!this.preserve) this.destroy();
|
167
174
|
return this;
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: olay-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Casey Foster
|
@@ -22,7 +22,7 @@ dependencies:
|
|
22
22
|
version: "3.1"
|
23
23
|
type: :runtime
|
24
24
|
version_requirements: *id001
|
25
|
-
description: Places Olay 0.1.
|
25
|
+
description: Places Olay 0.1.7 in the Rails asset pipeline.
|
26
26
|
email:
|
27
27
|
- c@sey.me
|
28
28
|
executables: []
|