active_frontend 17.6.3 → 17.7.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.
- checksums.yaml +4 -4
- data/lib/active_frontend/version.rb +1 -1
- data/lib/generators/active_frontend/templates/install.js +6 -0
- data/vendor/assets/javascripts/base/_hoverdown.js +21 -12
- data/vendor/assets/javascripts/base/_list.js +21 -13
- data/vendor/assets/javascripts/extensions/_initialize.js +117 -0
- data/vendor/assets/javascripts/extensions/_throttle_and_debounce.js +55 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ebded1681d93f6687ccd1b1786557a175cd28faaaf2987da63c09947c6c89f7b
|
4
|
+
data.tar.gz: 9b8c5aa18366001bfd83ca8fa7fb5f81252f8aeb383da67d8f02d79f3ab4bd1b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b1505790d454c1a0252c6b7c4ada2a172001d121b8fca4006985c21451fb38ad1af46e177662ae9e444180b6432eab4d7b6763fad1c7b436a18fe243bcbf5593
|
7
|
+
data.tar.gz: 3d63a1eabec401c64e48fe5e7fde11845a5932170aa6339c50aace70d28087d2959f7d2a8b9e7c080222917c30259fe7f792426bd33da1d8cd5ee6cd1513ec6a
|
@@ -1,8 +1,14 @@
|
|
1
1
|
// Table of Contents
|
2
2
|
// ==================================================
|
3
|
+
// Global Imports
|
3
4
|
// Base Imports
|
4
5
|
// Extension Imports
|
5
6
|
//
|
7
|
+
// Global Imports
|
8
|
+
// ==================================================
|
9
|
+
//= require extensions/_initialize
|
10
|
+
//= require extensions/_throttle_and_debounce
|
11
|
+
//
|
6
12
|
// Base Imports
|
7
13
|
// ==================================================
|
8
14
|
//= require base/_animation
|
@@ -115,18 +115,27 @@
|
|
115
115
|
// HOVERDOWN DATA-API
|
116
116
|
// ==================
|
117
117
|
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
if ($this.data('hoverdown')) return;
|
128
|
-
Plugin.call($this, $this.data());
|
129
|
-
});
|
118
|
+
function PluginCall(_this) {
|
119
|
+
var $this = $(_this);
|
120
|
+
if ($this.data('hoverdown')) return;
|
121
|
+
Plugin.call($this, $this.data());
|
122
|
+
}
|
123
|
+
|
124
|
+
if ($.fn.initialize) {
|
125
|
+
$.initialize('[data-hover="dropdown"]', function() {
|
126
|
+
PluginCall(this);
|
130
127
|
});
|
128
|
+
} else {
|
129
|
+
$(document)
|
130
|
+
.on('ready.bs.hoverdown.data-api', function () {
|
131
|
+
$('[data-hover="dropdown"]').each(function () {
|
132
|
+
PluginCall(this);
|
133
|
+
});
|
134
|
+
}).on('DOMCharacterDataModified.bs.hoverdown.data-api DOMSubtreeModified.bs.hoverdown.data-api DOMNodeInserted.bs.hoverdown.data-api', function () {
|
135
|
+
$('[data-hover="dropdown"]').each(function () {
|
136
|
+
PluginCall(this);
|
137
|
+
});
|
138
|
+
});
|
139
|
+
}
|
131
140
|
|
132
141
|
}(jQuery);
|
@@ -122,19 +122,27 @@
|
|
122
122
|
// LIST DATA-API
|
123
123
|
// =============
|
124
124
|
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
var $this = $(this);
|
135
|
-
if ($this.data('list')) return;
|
136
|
-
Plugin.call($this, $this.data());
|
137
|
-
});
|
125
|
+
function PluginCall(_this) {
|
126
|
+
var $this = $(_this);
|
127
|
+
if ($this.data('list')) return;
|
128
|
+
Plugin.call($this, $this.data());
|
129
|
+
}
|
130
|
+
|
131
|
+
if ($.fn.initialize) {
|
132
|
+
$.initialize('[data-toggle="list"]', function() {
|
133
|
+
PluginCall(this);
|
138
134
|
});
|
135
|
+
} else {
|
136
|
+
$(document)
|
137
|
+
.on('ready.bs.list.data-api', function () {
|
138
|
+
$('[data-toggle="list"]').each(function () {
|
139
|
+
PluginCall(this);
|
140
|
+
});
|
141
|
+
}).on('DOMCharacterDataModified.bs.list.data-api DOMSubtreeModified.bs.list.data-api DOMNodeInserted.bs.list.data-api', function () {
|
142
|
+
$('[data-toggle="list"]').each(function () {
|
143
|
+
PluginCall(this);
|
144
|
+
});
|
145
|
+
});
|
146
|
+
}
|
139
147
|
|
140
148
|
}(jQuery);
|
@@ -0,0 +1,117 @@
|
|
1
|
+
;(function ($) {
|
2
|
+
'use strict';
|
3
|
+
|
4
|
+
var combinators = [' ', '>', '+', '~'];
|
5
|
+
var fraternisers = ['+', '~'];
|
6
|
+
var complexTypes = ['ATTR', 'PSEUDO', 'ID', 'CLASS'];
|
7
|
+
var msobservers = [];
|
8
|
+
|
9
|
+
if (!Element.prototype.matches) {
|
10
|
+
Element.prototype.matches = Element.prototype.matchesSelector ||
|
11
|
+
Element.prototype.webkitMatchesSelector ||
|
12
|
+
Element.prototype.mozMatchesSelector ||
|
13
|
+
Element.prototype.msMatchesSelector;
|
14
|
+
}
|
15
|
+
|
16
|
+
function grok(msobserver) {
|
17
|
+
if (!$.find.tokenize) {
|
18
|
+
msobserver.isCombinatorial = true;
|
19
|
+
msobserver.isFraternal = true;
|
20
|
+
msobserver.isComplex = true;
|
21
|
+
return;
|
22
|
+
}
|
23
|
+
|
24
|
+
msobserver.isCombinatorial = false;
|
25
|
+
msobserver.isFraternal = false;
|
26
|
+
msobserver.isComplex = false;
|
27
|
+
|
28
|
+
var token = $.find.tokenize(msobserver.selector);
|
29
|
+
|
30
|
+
for (var i = 0; i < token.length; i++) {
|
31
|
+
for (var j = 0; j < token[i].length; j++) {
|
32
|
+
if (combinators.indexOf(token[i][j].type) != -1) msobserver.isCombinatorial = true;
|
33
|
+
if (fraternisers.indexOf(token[i][j].type) != -1) msobserver.isFraternal = true;
|
34
|
+
if (complexTypes.indexOf(token[i][j].type) != -1) msobserver.isComplex = true;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
}
|
38
|
+
|
39
|
+
var MutationSelectorObserver = function (selector, callback, options) {
|
40
|
+
this.selector = selector.trim();
|
41
|
+
this.callback = callback;
|
42
|
+
this.options = options;
|
43
|
+
|
44
|
+
grok(this);
|
45
|
+
};
|
46
|
+
|
47
|
+
msobservers.initialize = function (selector, callback, options) {
|
48
|
+
var seen = [];
|
49
|
+
var callbackOnce = function () {
|
50
|
+
if (seen.indexOf(this) === -1) {
|
51
|
+
seen.push(this);
|
52
|
+
$(this).each(callback);
|
53
|
+
}
|
54
|
+
};
|
55
|
+
|
56
|
+
$(options.target).find(selector).each(callbackOnce);
|
57
|
+
|
58
|
+
var msobserver = new MutationSelectorObserver(selector, callbackOnce, options)
|
59
|
+
this.push(msobserver);
|
60
|
+
|
61
|
+
var observer = new MutationObserver(function (mutations) {
|
62
|
+
var matches = [];
|
63
|
+
|
64
|
+
for (var m = 0; m < mutations.length; m++) {
|
65
|
+
if (mutations[m].type === 'attributes') {
|
66
|
+
if (mutations[m].target.matches(msobserver.selector)) matches.push(mutations[m].target);
|
67
|
+
|
68
|
+
if (msobserver.isFraternal) {
|
69
|
+
matches.push.apply(matches, mutations[m].target.parentElement.querySelectorAll(msobserver.selector));
|
70
|
+
} else {
|
71
|
+
matches.push.apply(matches, mutations[m].target.querySelectorAll(msobserver.selector));
|
72
|
+
}
|
73
|
+
}
|
74
|
+
|
75
|
+
if (mutations[m].type === 'childList') {
|
76
|
+
for (var n = 0; n < mutations[m].addedNodes.length; n++) {
|
77
|
+
if (!(mutations[m].addedNodes[n] instanceof Element)) continue;
|
78
|
+
if (mutations[m].addedNodes[n].matches(msobserver.selector)) matches.push(mutations[m].addedNodes[n]);
|
79
|
+
|
80
|
+
if (msobserver.isFraternal) {
|
81
|
+
matches.push.apply(matches, mutations[m].addedNodes[n].parentElement.querySelectorAll(msobserver.selector));
|
82
|
+
} else {
|
83
|
+
matches.push.apply(matches, mutations[m].addedNodes[n].querySelectorAll(msobserver.selector));
|
84
|
+
}
|
85
|
+
}
|
86
|
+
}
|
87
|
+
}
|
88
|
+
|
89
|
+
for (var i = 0; i < matches.length; i++) {
|
90
|
+
$(matches[i]).each(msobserver.callback);
|
91
|
+
}
|
92
|
+
});
|
93
|
+
|
94
|
+
var defaultObeserverOpts = {
|
95
|
+
childList: true,
|
96
|
+
subtree: true,
|
97
|
+
attributes: msobserver.isComplex
|
98
|
+
};
|
99
|
+
|
100
|
+
observer.observe(options.target, options.observer || defaultObeserverOpts );
|
101
|
+
|
102
|
+
return observer;
|
103
|
+
};
|
104
|
+
|
105
|
+
$.fn.initialize = function (callback, options) {
|
106
|
+
return msobservers.initialize(this.selector, callback, $.extend({}, $.initialize.defaults, options));
|
107
|
+
};
|
108
|
+
|
109
|
+
$.initialize = function (selector, callback, options) {
|
110
|
+
return msobservers.initialize(selector, callback, $.extend({}, $.initialize.defaults, options));
|
111
|
+
};
|
112
|
+
|
113
|
+
$.initialize.defaults = {
|
114
|
+
target: document.documentElement,
|
115
|
+
observer: null
|
116
|
+
}
|
117
|
+
})(jQuery);
|
@@ -0,0 +1,55 @@
|
|
1
|
+
(function (window, undefined) {
|
2
|
+
'$:nomunge';
|
3
|
+
|
4
|
+
var $ = window.jQuery;
|
5
|
+
|
6
|
+
$.throttle = function(delay, no_trailing, callback, debounce_mode) {
|
7
|
+
var last_exec = 0;
|
8
|
+
var timeout_id;
|
9
|
+
|
10
|
+
if (typeof no_trailing !== 'boolean') {
|
11
|
+
debounce_mode = callback;
|
12
|
+
callback = no_trailing;
|
13
|
+
no_trailing = undefined;
|
14
|
+
}
|
15
|
+
|
16
|
+
function wrapper() {
|
17
|
+
var that = this;
|
18
|
+
var elapsed = +new Date() - last_exec;
|
19
|
+
var args = arguments;
|
20
|
+
|
21
|
+
function exec() {
|
22
|
+
last_exec = +new Date();
|
23
|
+
callback.apply( that, args );
|
24
|
+
}
|
25
|
+
|
26
|
+
function clear() {
|
27
|
+
timeout_id = undefined;
|
28
|
+
}
|
29
|
+
|
30
|
+
if (debounce_mode && !timeout_id) exec();
|
31
|
+
|
32
|
+
timeout_id && clearTimeout(timeout_id);
|
33
|
+
|
34
|
+
if (debounce_mode === undefined && elapsed > delay) {
|
35
|
+
exec();
|
36
|
+
} else if (no_trailing !== true) {
|
37
|
+
timeout_id = setTimeout(debounce_mode ? clear : exec,
|
38
|
+
debounce_mode === undefined ? delay - elapsed : delay);
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
if ($.guid) {
|
43
|
+
wrapper.guid = callback.guid = callback.guid || $.guid++;
|
44
|
+
}
|
45
|
+
|
46
|
+
return wrapper;
|
47
|
+
};
|
48
|
+
|
49
|
+
$.debounce = function(delay, at_begin, callback) {
|
50
|
+
return callback === undefined ?
|
51
|
+
$.throttle(delay, at_begin, false) :
|
52
|
+
$.throttle(delay, callback, at_begin !== false);
|
53
|
+
};
|
54
|
+
|
55
|
+
})(this);
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_frontend
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 17.
|
4
|
+
version: 17.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juan Gomez
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-06-
|
11
|
+
date: 2019-06-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -1330,9 +1330,11 @@ files:
|
|
1330
1330
|
- vendor/assets/javascripts/extensions/_cohort.js
|
1331
1331
|
- vendor/assets/javascripts/extensions/_copy.js
|
1332
1332
|
- vendor/assets/javascripts/extensions/_funnel.js
|
1333
|
+
- vendor/assets/javascripts/extensions/_initialize.js
|
1333
1334
|
- vendor/assets/javascripts/extensions/_map.js
|
1334
1335
|
- vendor/assets/javascripts/extensions/_mobile_events.js
|
1335
1336
|
- vendor/assets/javascripts/extensions/_push.js
|
1337
|
+
- vendor/assets/javascripts/extensions/_throttle_and_debounce.js
|
1336
1338
|
- vendor/assets/javascripts/extensions/_wysiwyg.js
|
1337
1339
|
- vendor/assets/javascripts/extensions/_xpull.js
|
1338
1340
|
- vendor/assets/stylesheets/.DS_Store
|