flight-for-rails 1.1.1 → 1.1.2
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/README.md +1 -1
- data/lib/flight-for-rails/version.rb +1 -1
- data/vendor/assets/javascripts/flight/standalone.js +65 -36
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6e9f106b2d07829bdecb6ad4fd43f0162dcb8f8b
|
4
|
+
data.tar.gz: 98e6e0b82bec8458e79d452d5b32da47fdb3e2d8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a86ba4fad82252740774f69464016388356f4a47e57966cadcb198a519b6f756154cd2b73bb2592e5d568ebee86f7cbf365eaf090c6a7fde0aaa1cc0d6777a13
|
7
|
+
data.tar.gz: 7594e7fee7b1d11a9ff05ada1b52da8b3122269d8c1f9c9069739c08a370ecfbb7ae34950cb5729356529980a1e9fe95ba1d7c009e19a4e644e6c6a2e14431a7
|
data/README.md
CHANGED
@@ -16,7 +16,7 @@ This gem vendors Flight files and dependecies for Rails assets pipeline.
|
|
16
16
|
First add the following lines to your application `Gemfile`:
|
17
17
|
|
18
18
|
``` ruby
|
19
|
-
gem 'flight-for-rails', '~> 1.1.
|
19
|
+
gem 'flight-for-rails', '~> 1.1.2'
|
20
20
|
```
|
21
21
|
|
22
22
|
Then run `bundle install` to update your's gems bundle.
|
@@ -1,4 +1,4 @@
|
|
1
|
-
/*! Flight v1.1.
|
1
|
+
/*! Flight v1.1.2 | (c) Twitter, Inc. | MIT License */
|
2
2
|
(function(context) {
|
3
3
|
var factories = {}, loaded = {};
|
4
4
|
var isArray = Array.isArray || function(obj) {
|
@@ -196,7 +196,7 @@ define('lib/utils', [], function () {
|
|
196
196
|
return function (e, data) {
|
197
197
|
var target = $(e.target), parent;
|
198
198
|
Object.keys(rules).forEach(function (selector) {
|
199
|
-
if ((parent = target.closest(selector)).length) {
|
199
|
+
if (!e.isPropagationStopped() && (parent = target.closest(selector)).length) {
|
200
200
|
data = data || {};
|
201
201
|
data.el = parent[0];
|
202
202
|
return rules[selector].apply(this, [
|
@@ -206,6 +206,17 @@ define('lib/utils', [], function () {
|
|
206
206
|
}
|
207
207
|
}, this);
|
208
208
|
};
|
209
|
+
},
|
210
|
+
once: function (func) {
|
211
|
+
var ran, result;
|
212
|
+
return function () {
|
213
|
+
if (ran) {
|
214
|
+
return result;
|
215
|
+
}
|
216
|
+
result = func.apply(this, arguments);
|
217
|
+
ran = true;
|
218
|
+
return result;
|
219
|
+
};
|
209
220
|
}
|
210
221
|
};
|
211
222
|
return utils;
|
@@ -217,9 +228,9 @@ define('lib/utils', [], function () {
|
|
217
228
|
// ==========================================
|
218
229
|
define('lib/debug', [], function () {
|
219
230
|
'use strict';
|
220
|
-
|
231
|
+
// ==========================================
|
221
232
|
// Search object model
|
222
|
-
|
233
|
+
// ==========================================
|
223
234
|
function traverse(util, searchTerm, options) {
|
224
235
|
options = options || {};
|
225
236
|
var obj = options.obj || window;
|
@@ -294,9 +305,9 @@ define('lib/debug', [], function () {
|
|
294
305
|
function custom(fn, options) {
|
295
306
|
traverse(fn, null, options);
|
296
307
|
}
|
297
|
-
|
308
|
+
// ==========================================
|
298
309
|
// Event logging
|
299
|
-
|
310
|
+
// ==========================================
|
300
311
|
var ALL = 'all';
|
301
312
|
//no filter
|
302
313
|
//no logging by default
|
@@ -755,13 +766,11 @@ define('lib/base', [
|
|
755
766
|
}
|
756
767
|
callback = originalCb.bind(this);
|
757
768
|
callback.target = originalCb;
|
758
|
-
|
759
|
-
if (originalCb.guid) {
|
760
|
-
callback.guid = originalCb.guid;
|
761
|
-
}
|
769
|
+
callback.context = this;
|
762
770
|
$element.on(type, callback);
|
763
|
-
//
|
764
|
-
originalCb.
|
771
|
+
// store every bound version of the callback
|
772
|
+
originalCb.bound || (originalCb.bound = []);
|
773
|
+
originalCb.bound.push(callback);
|
765
774
|
return callback;
|
766
775
|
};
|
767
776
|
this.off = function () {
|
@@ -778,6 +787,16 @@ define('lib/base', [
|
|
778
787
|
$element = this.$node;
|
779
788
|
type = arguments[0];
|
780
789
|
}
|
790
|
+
if (callback) {
|
791
|
+
//set callback to version bound against this instance
|
792
|
+
callback.bound && callback.bound.some(function (fn, i, arr) {
|
793
|
+
if (fn.context && this.identity == fn.context.identity) {
|
794
|
+
arr.splice(i, 1);
|
795
|
+
callback = fn;
|
796
|
+
return true;
|
797
|
+
}
|
798
|
+
}, this);
|
799
|
+
}
|
781
800
|
return $element.off(type, callback);
|
782
801
|
};
|
783
802
|
this.resolveDelegateRules = function (ruleInfo) {
|
@@ -854,35 +873,41 @@ define('lib/logger', ['./utils'], function (utils) {
|
|
854
873
|
].join(result) : result;
|
855
874
|
}
|
856
875
|
function log(action, component, eventArgs) {
|
857
|
-
|
876
|
+
if (!window.DEBUG || !window.DEBUG.enabled)
|
877
|
+
return;
|
878
|
+
var name, eventType, elem, fn, logFilter, toRegExp, actionLoggable, nameLoggable;
|
858
879
|
if (typeof eventArgs[eventArgs.length - 1] == 'function') {
|
859
880
|
fn = eventArgs.pop();
|
860
881
|
fn = fn.unbound || fn; // use unbound version if any (better info)
|
861
882
|
}
|
862
|
-
if (
|
863
|
-
eventArgs.pop(); // trigger data arg - not logged right now
|
864
|
-
}
|
865
|
-
if (eventArgs.length == 2) {
|
866
|
-
elem = eventArgs[0];
|
867
|
-
name = eventArgs[1];
|
868
|
-
} else {
|
883
|
+
if (eventArgs.length == 1) {
|
869
884
|
elem = component.$node[0];
|
870
|
-
|
871
|
-
}
|
872
|
-
|
873
|
-
|
874
|
-
|
875
|
-
|
876
|
-
|
877
|
-
|
878
|
-
return expr.test ? expr : new RegExp('^' + expr.replace(/\*/g, '.*') + '$');
|
879
|
-
};
|
880
|
-
nameLoggable = logFilter.eventNames == 'all' || logFilter.eventNames.some(function (e) {
|
881
|
-
return toRegExp(e).test(name);
|
882
|
-
});
|
883
|
-
if (actionLoggable && nameLoggable) {
|
884
|
-
console.info(actionSymbols[action], action, '[' + name + ']', elemToString(elem), component.constructor.describe.split(' ').slice(0, 3).join(' '));
|
885
|
+
eventType = eventArgs[0];
|
886
|
+
} else if (eventArgs.length == 2) {
|
887
|
+
if (typeof eventArgs[1] == 'object' && !eventArgs[1].type) {
|
888
|
+
elem = component.$node[0];
|
889
|
+
eventType = eventArgs[0];
|
890
|
+
} else {
|
891
|
+
elem = eventArgs[0];
|
892
|
+
eventType = eventArgs[1];
|
885
893
|
}
|
894
|
+
} else {
|
895
|
+
elem = eventArgs[0];
|
896
|
+
eventType = eventArgs[1];
|
897
|
+
}
|
898
|
+
name = typeof eventType == 'object' ? eventType.type : eventType;
|
899
|
+
logFilter = DEBUG.events.logFilter;
|
900
|
+
// no regex for you, actions...
|
901
|
+
actionLoggable = logFilter.actions == 'all' || logFilter.actions.indexOf(action) > -1;
|
902
|
+
// event name filter allow wildcards or regex...
|
903
|
+
toRegExp = function (expr) {
|
904
|
+
return expr.test ? expr : new RegExp('^' + expr.replace(/\*/g, '.*') + '$');
|
905
|
+
};
|
906
|
+
nameLoggable = logFilter.eventNames == 'all' || logFilter.eventNames.some(function (e) {
|
907
|
+
return toRegExp(e).test(name);
|
908
|
+
});
|
909
|
+
if (actionLoggable && nameLoggable) {
|
910
|
+
console.info(actionSymbols[action], action, '[' + name + ']', elemToString(elem), component.constructor.describe.split(' ').slice(0, 3).join(' '));
|
886
911
|
}
|
887
912
|
}
|
888
913
|
function withLogging() {
|
@@ -919,7 +944,11 @@ define('lib/component', [
|
|
919
944
|
var componentInfo = registry.findComponentInfo(this);
|
920
945
|
componentInfo && Object.keys(componentInfo.instances).forEach(function (k) {
|
921
946
|
var info = componentInfo.instances[k];
|
922
|
-
|
947
|
+
// It's possible that a previous teardown caused another component to teardown,
|
948
|
+
// so we can't assume that the instances object is as it was.
|
949
|
+
if (info && info.instance) {
|
950
|
+
info.instance.teardown();
|
951
|
+
}
|
923
952
|
});
|
924
953
|
}
|
925
954
|
function checkSerializable(type, data) {
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flight-for-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sergey Rezvanov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-02-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -76,7 +76,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
76
76
|
version: '0'
|
77
77
|
requirements: []
|
78
78
|
rubyforge_project:
|
79
|
-
rubygems_version: 2.0.
|
79
|
+
rubygems_version: 2.0.6
|
80
80
|
signing_key:
|
81
81
|
specification_version: 4
|
82
82
|
summary: Flight javascript framework for Rails assets pipeline
|