greensock-rails 1.13.1.0 → 1.13.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/greensock/rails/version.rb +1 -1
- data/vendor/assets/javascripts/greensock/TimelineLite.js +21 -8
- data/vendor/assets/javascripts/greensock/TimelineMax.js +26 -13
- data/vendor/assets/javascripts/greensock/TweenLite.js +27 -12
- data/vendor/assets/javascripts/greensock/TweenMax.js +59 -29
- data/vendor/assets/javascripts/greensock/easing/EasePack.js +0 -0
- data/vendor/assets/javascripts/greensock/plugins/AttrPlugin.js +0 -0
- data/vendor/assets/javascripts/greensock/plugins/BezierPlugin.js +0 -0
- data/vendor/assets/javascripts/greensock/plugins/CSSPlugin.js +6 -5
- data/vendor/assets/javascripts/greensock/plugins/CSSRulePlugin.js +0 -0
- data/vendor/assets/javascripts/greensock/plugins/ColorPropsPlugin.js +0 -0
- data/vendor/assets/javascripts/greensock/plugins/DirectionalRotationPlugin.js +0 -0
- data/vendor/assets/javascripts/greensock/plugins/EaselPlugin.js +0 -0
- data/vendor/assets/javascripts/greensock/plugins/KineticPlugin.js +0 -0
- data/vendor/assets/javascripts/greensock/plugins/RaphaelPlugin.js +0 -0
- data/vendor/assets/javascripts/greensock/plugins/RoundPropsPlugin.js +0 -0
- data/vendor/assets/javascripts/greensock/plugins/ScrollToPlugin.js +0 -0
- data/vendor/assets/javascripts/greensock/plugins/TEMPLATE_Plugin.js +0 -0
- data/vendor/assets/javascripts/greensock/plugins/TextPlugin.js +0 -0
- data/vendor/assets/javascripts/greensock/utils/Draggable.js +69 -40
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b25cb7670b6ba9df19940ad19b98c380f821c392
|
4
|
+
data.tar.gz: 5c61aad86d6082b7ac861096ad2344de4cc93aaa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ab119b2c6f6066c579b47766b744e40483419485b532d7bbec487445de3b2871bd13e150b445d321bd4d6b277b4ec567ec0076439aee631559838778229a7f4f
|
7
|
+
data.tar.gz: a00476f291d8c599b8cd4ecaa644157f1e57e0eb4104c6dfa941d06b2244855a3ab0eeea16c057f5f712dccb44c8d586019f40588813cf94f0369cd9c4885d56
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*!
|
2
|
-
* VERSION: 1.13.
|
3
|
-
* DATE: 2014-
|
2
|
+
* VERSION: 1.13.2
|
3
|
+
* DATE: 2014-08-23
|
4
4
|
* UPDATES AND DOCS AT: http://www.greensock.com
|
5
5
|
*
|
6
6
|
* @license Copyright (c) 2008-2014, GreenSock. All rights reserved.
|
@@ -51,9 +51,15 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
51
51
|
return copy;
|
52
52
|
},
|
53
53
|
_pauseCallback = function(tween, callback, params, scope) {
|
54
|
-
tween._timeline.
|
55
|
-
if (callback) {
|
56
|
-
|
54
|
+
var time = tween._timeline._totalTime;
|
55
|
+
if (callback || !this._forcingPlayhead) { //if the user calls a method that moves the playhead (like progress() or time()), it should honor that and skip any pauses (although if there's a callback positioned at that pause, it must jump there and make the call to ensure the time is EXACTLY what it is supposed to be, and then proceed to where the playhead is being forced). Otherwise, imagine placing a pause in the middle of a timeline and then doing timeline.progress(0.9) - it would get stuck where the pause is.
|
56
|
+
tween._timeline.pause(tween._startTime);
|
57
|
+
if (callback) {
|
58
|
+
callback.apply(scope || tween._timeline, params || _blankArray);
|
59
|
+
}
|
60
|
+
if (this._forcingPlayhead) {
|
61
|
+
tween._timeline.seek(time);
|
62
|
+
}
|
57
63
|
}
|
58
64
|
},
|
59
65
|
_slice = function(a) { //don't use [].slice because that doesn't work in IE8 with a NodeList that's returned by querySelectorAll()
|
@@ -65,9 +71,9 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
65
71
|
},
|
66
72
|
p = TimelineLite.prototype = new SimpleTimeline();
|
67
73
|
|
68
|
-
TimelineLite.version = "1.13.
|
74
|
+
TimelineLite.version = "1.13.2";
|
69
75
|
p.constructor = TimelineLite;
|
70
|
-
p.kill()._gc = false;
|
76
|
+
p.kill()._gc = p._forcingPlayhead = false;
|
71
77
|
|
72
78
|
/* might use later...
|
73
79
|
//translates a local time inside an animation to the corresponding time on the root/global timeline, factoring in all nesting and timeScales.
|
@@ -577,7 +583,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
577
583
|
tween.invalidate();
|
578
584
|
tween = tween._next;
|
579
585
|
}
|
580
|
-
return this
|
586
|
+
return Animation.prototype.invalidate.call(this);;
|
581
587
|
};
|
582
588
|
|
583
589
|
p._enabled = function(enabled, ignoreTimeline) {
|
@@ -590,6 +596,13 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
590
596
|
}
|
591
597
|
return SimpleTimeline.prototype._enabled.call(this, enabled, ignoreTimeline);
|
592
598
|
};
|
599
|
+
|
600
|
+
p.totalTime = function(time, suppressEvents, uncapped) {
|
601
|
+
this._forcingPlayhead = true;
|
602
|
+
var val = Animation.prototype.totalTime.apply(this, arguments);
|
603
|
+
this._forcingPlayhead = false;
|
604
|
+
return val;
|
605
|
+
};
|
593
606
|
|
594
607
|
p.duration = function(value) {
|
595
608
|
if (!arguments.length) {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*!
|
2
|
-
* VERSION: 1.13.
|
3
|
-
* DATE: 2014-
|
2
|
+
* VERSION: 1.13.2
|
3
|
+
* DATE: 2014-08-23
|
4
4
|
* UPDATES AND DOCS AT: http://www.greensock.com
|
5
5
|
*
|
6
6
|
* @license Copyright (c) 2008-2014, GreenSock. All rights reserved.
|
@@ -34,7 +34,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
34
34
|
|
35
35
|
p.constructor = TimelineMax;
|
36
36
|
p.kill()._gc = false;
|
37
|
-
TimelineMax.version = "1.13.
|
37
|
+
TimelineMax.version = "1.13.2";
|
38
38
|
|
39
39
|
p.invalidate = function() {
|
40
40
|
this._yoyo = (this.vars.yoyo === true);
|
@@ -376,12 +376,12 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
376
376
|
|
377
377
|
//---- GETTERS / SETTERS -------------------------------------------------------------------------------------------------------
|
378
378
|
|
379
|
-
p.progress = function(value) {
|
380
|
-
return (!arguments.length) ? this._time / this.duration() : this.totalTime( this.duration() * ((this._yoyo && (this._cycle & 1) !== 0) ? 1 - value : value) + (this._cycle * (this._duration + this._repeatDelay)),
|
379
|
+
p.progress = function(value, suppressEvents) {
|
380
|
+
return (!arguments.length) ? this._time / this.duration() : this.totalTime( this.duration() * ((this._yoyo && (this._cycle & 1) !== 0) ? 1 - value : value) + (this._cycle * (this._duration + this._repeatDelay)), suppressEvents);
|
381
381
|
};
|
382
382
|
|
383
|
-
p.totalProgress = function(value) {
|
384
|
-
return (!arguments.length) ? this._totalTime / this.totalDuration() : this.totalTime( this.totalDuration() * value,
|
383
|
+
p.totalProgress = function(value, suppressEvents) {
|
384
|
+
return (!arguments.length) ? this._totalTime / this.totalDuration() : this.totalTime( this.totalDuration() * value, suppressEvents);
|
385
385
|
};
|
386
386
|
|
387
387
|
p.totalDuration = function(value) {
|
@@ -498,9 +498,15 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
498
498
|
return copy;
|
499
499
|
},
|
500
500
|
_pauseCallback = function(tween, callback, params, scope) {
|
501
|
-
tween._timeline.
|
502
|
-
if (callback) {
|
503
|
-
|
501
|
+
var time = tween._timeline._totalTime;
|
502
|
+
if (callback || !this._forcingPlayhead) { //if the user calls a method that moves the playhead (like progress() or time()), it should honor that and skip any pauses (although if there's a callback positioned at that pause, it must jump there and make the call to ensure the time is EXACTLY what it is supposed to be, and then proceed to where the playhead is being forced). Otherwise, imagine placing a pause in the middle of a timeline and then doing timeline.progress(0.9) - it would get stuck where the pause is.
|
503
|
+
tween._timeline.pause(tween._startTime);
|
504
|
+
if (callback) {
|
505
|
+
callback.apply(scope || tween._timeline, params || _blankArray);
|
506
|
+
}
|
507
|
+
if (this._forcingPlayhead) {
|
508
|
+
tween._timeline.seek(time);
|
509
|
+
}
|
504
510
|
}
|
505
511
|
},
|
506
512
|
_slice = function(a) { //don't use [].slice because that doesn't work in IE8 with a NodeList that's returned by querySelectorAll()
|
@@ -512,9 +518,9 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
512
518
|
},
|
513
519
|
p = TimelineLite.prototype = new SimpleTimeline();
|
514
520
|
|
515
|
-
TimelineLite.version = "1.13.
|
521
|
+
TimelineLite.version = "1.13.2";
|
516
522
|
p.constructor = TimelineLite;
|
517
|
-
p.kill()._gc = false;
|
523
|
+
p.kill()._gc = p._forcingPlayhead = false;
|
518
524
|
|
519
525
|
/* might use later...
|
520
526
|
//translates a local time inside an animation to the corresponding time on the root/global timeline, factoring in all nesting and timeScales.
|
@@ -1024,7 +1030,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
1024
1030
|
tween.invalidate();
|
1025
1031
|
tween = tween._next;
|
1026
1032
|
}
|
1027
|
-
return this
|
1033
|
+
return Animation.prototype.invalidate.call(this);;
|
1028
1034
|
};
|
1029
1035
|
|
1030
1036
|
p._enabled = function(enabled, ignoreTimeline) {
|
@@ -1038,6 +1044,13 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
1038
1044
|
return SimpleTimeline.prototype._enabled.call(this, enabled, ignoreTimeline);
|
1039
1045
|
};
|
1040
1046
|
|
1047
|
+
p.totalTime = function(time, suppressEvents, uncapped) {
|
1048
|
+
this._forcingPlayhead = true;
|
1049
|
+
var val = Animation.prototype.totalTime.apply(this, arguments);
|
1050
|
+
this._forcingPlayhead = false;
|
1051
|
+
return val;
|
1052
|
+
};
|
1053
|
+
|
1041
1054
|
p.duration = function(value) {
|
1042
1055
|
if (!arguments.length) {
|
1043
1056
|
if (this._dirty) {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*!
|
2
|
-
* VERSION: 1.13.
|
3
|
-
* DATE: 2014-
|
2
|
+
* VERSION: 1.13.2
|
3
|
+
* DATE: 2014-08-23
|
4
4
|
* UPDATES AND DOCS AT: http://www.greensock.com
|
5
5
|
*
|
6
6
|
* @license Copyright (c) 2008-2014, GreenSock. All rights reserved.
|
@@ -64,7 +64,7 @@
|
|
64
64
|
* </script>
|
65
65
|
* <script src="js/greensock/v1.7/TweenMax.js"></script>
|
66
66
|
* <script>
|
67
|
-
* window.GreenSockGlobals = window._gsQueue = null; //reset it back to null (along with the special _gsQueue variable) so that the next load of TweenMax affects the window and we can reference things directly like TweenLite.to(...)
|
67
|
+
* window.GreenSockGlobals = window._gsQueue = window._gsDefine = null; //reset it back to null (along with the special _gsQueue variable) so that the next load of TweenMax affects the window and we can reference things directly like TweenLite.to(...)
|
68
68
|
* </script>
|
69
69
|
* <script src="js/greensock/v1.6/TweenMax.js"></script>
|
70
70
|
* <script>
|
@@ -471,6 +471,12 @@
|
|
471
471
|
};
|
472
472
|
|
473
473
|
p.invalidate = function() {
|
474
|
+
this._time = this._totalTime = 0;
|
475
|
+
this._initted = this._gc = false;
|
476
|
+
this._rawPrevTime = -1;
|
477
|
+
if (this._gc || !this.timeline) {
|
478
|
+
this._enabled(true);
|
479
|
+
}
|
474
480
|
return this;
|
475
481
|
};
|
476
482
|
|
@@ -894,7 +900,7 @@
|
|
894
900
|
p._firstPT = p._targets = p._overwrittenProps = p._startAt = null;
|
895
901
|
p._notifyPluginsOfEnabled = p._lazy = false;
|
896
902
|
|
897
|
-
TweenLite.version = "1.13.
|
903
|
+
TweenLite.version = "1.13.2";
|
898
904
|
TweenLite.defaultEase = p._ease = new Ease(null, null, 1, 1);
|
899
905
|
TweenLite.defaultOverwrite = "auto";
|
900
906
|
TweenLite.ticker = _ticker;
|
@@ -928,7 +934,7 @@
|
|
928
934
|
while (--i > -1) {
|
929
935
|
a = _lazyTweens[i];
|
930
936
|
if (a && a._lazy !== false) {
|
931
|
-
a.render(a._lazy,
|
937
|
+
a.render(a._lazy[0], a._lazy[1], true);
|
932
938
|
a._lazy = false;
|
933
939
|
}
|
934
940
|
}
|
@@ -1101,6 +1107,9 @@
|
|
1101
1107
|
this._startAt.kill();
|
1102
1108
|
this._startAt = null;
|
1103
1109
|
} else {
|
1110
|
+
if (this._time !== 0) { //in rare cases (like if a from() tween runs and then is invalidate()-ed), immediateRender could be true but the initial forced-render gets skipped, so there's no need to force the render in this context when the _time is greater than 0
|
1111
|
+
immediate = false;
|
1112
|
+
}
|
1104
1113
|
pt = {};
|
1105
1114
|
for (p in v) { //copy props into a new object and skip any reserved props, otherwise onComplete or onUpdate or onStart could fire. We should, however, permit autoCSS to go through.
|
1106
1115
|
if (!_reservedProps[p] || p === "autoCSS") {
|
@@ -1115,6 +1124,9 @@
|
|
1115
1124
|
if (!immediate) {
|
1116
1125
|
this._startAt._init(); //ensures that the initial values are recorded
|
1117
1126
|
this._startAt._enabled(false); //no need to have the tween render on the next cycle. Disable it because we'll always manually control the renders of the _startAt tween.
|
1127
|
+
if (this.vars.immediateRender) {
|
1128
|
+
this._startAt = null;
|
1129
|
+
}
|
1118
1130
|
} else if (this._time === 0) {
|
1119
1131
|
return;
|
1120
1132
|
}
|
@@ -1262,7 +1274,8 @@
|
|
1262
1274
|
}
|
1263
1275
|
this._rawPrevTime = rawPrevTime = (!suppressEvents || time || prevRawPrevTime === time) ? time : _tinyNum; //when the playhead arrives at EXACTLY time 0 (right on top) of a zero-duration tween, we need to discern if events are suppressed so that when the playhead moves again (next time), it'll trigger the callback. If events are NOT suppressed, obviously the callback would be triggered in this render. Basically, the callback should fire either when the playhead ARRIVES or LEAVES this exact spot, not both. Imagine doing a timeline.seek(0) and there's a callback that sits at 0. Since events are suppressed on that seek() by default, nothing will fire, but when the playhead moves off of that position, the callback should fire. This behavior is what people intuitively expect. We set the _rawPrevTime to be a precise tiny number to indicate this scenario rather than using another property/variable which would increase memory usage. This technique is less readable, but more efficient.
|
1264
1276
|
}
|
1265
|
-
}
|
1277
|
+
}
|
1278
|
+
if (!this._initted) { //if we render the very beginning (time == 0) of a fromTo(), we must force the render (normal tweens wouldn't need to render at a time of 0 when the prevTime was also 0). This is also mandatory to make sure overwriting kicks in immediately.
|
1266
1279
|
force = true;
|
1267
1280
|
}
|
1268
1281
|
} else {
|
@@ -1311,7 +1324,7 @@
|
|
1311
1324
|
this._time = this._totalTime = prevTime;
|
1312
1325
|
this._rawPrevTime = prevRawPrevTime;
|
1313
1326
|
_lazyTweens.push(this);
|
1314
|
-
this._lazy = time;
|
1327
|
+
this._lazy = [time, suppressEvents];
|
1315
1328
|
return;
|
1316
1329
|
}
|
1317
1330
|
//_ease is initially set to defaultEase, so now that init() has run, _ease is set properly and we need to recalculate the ratio. Overall this is faster than using conditional logic earlier in the method to avoid having to set ratio twice because we only init() once but renderTime() gets called VERY frequently.
|
@@ -1449,12 +1462,14 @@
|
|
1449
1462
|
if (this._notifyPluginsOfEnabled) {
|
1450
1463
|
TweenLite._onPluginEvent("_onDisable", this);
|
1451
1464
|
}
|
1452
|
-
this._firstPT = null;
|
1453
|
-
this.
|
1454
|
-
this._onUpdate = null;
|
1455
|
-
this._startAt = null;
|
1456
|
-
this._initted = this._active = this._notifyPluginsOfEnabled = this._lazy = false;
|
1465
|
+
this._firstPT = this._overwrittenProps = this._startAt = this._onUpdate = null;
|
1466
|
+
this._notifyPluginsOfEnabled = this._active = this._lazy = false;
|
1457
1467
|
this._propLookup = (this._targets) ? {} : [];
|
1468
|
+
Animation.prototype.invalidate.call(this);
|
1469
|
+
if (this.vars.immediateRender) {
|
1470
|
+
this._time = -_tinyNum; //forces a render without having to set the render() "force" parameter to true because we want to allow lazying by default (using the "force" parameter always forces an immediate full render)
|
1471
|
+
this.render(-this._delay);
|
1472
|
+
}
|
1458
1473
|
return this;
|
1459
1474
|
};
|
1460
1475
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*!
|
2
|
-
* VERSION: 1.13.
|
3
|
-
* DATE: 2014-
|
2
|
+
* VERSION: 1.13.2
|
3
|
+
* DATE: 2014-08-23
|
4
4
|
* UPDATES AND DOCS AT: http://www.greensock.com
|
5
5
|
*
|
6
6
|
* Includes all of the following: TweenLite, TweenMax, TimelineLite, TimelineMax, EasePack, CSSPlugin, RoundPropsPlugin, BezierPlugin, AttrPlugin, DirectionalRotationPlugin
|
@@ -41,7 +41,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
41
41
|
p = TweenMax.prototype = TweenLite.to({}, 0.1, {}),
|
42
42
|
_blankArray = [];
|
43
43
|
|
44
|
-
TweenMax.version = "1.13.
|
44
|
+
TweenMax.version = "1.13.2";
|
45
45
|
p.constructor = TweenMax;
|
46
46
|
p.kill()._gc = false;
|
47
47
|
TweenMax.killTweensOf = TweenMax.killDelayedCallsTo = TweenLite.killTweensOf;
|
@@ -157,7 +157,8 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
157
157
|
}
|
158
158
|
this._rawPrevTime = rawPrevTime = (!suppressEvents || time || prevRawPrevTime === time) ? time : _tinyNum; //when the playhead arrives at EXACTLY time 0 (right on top) of a zero-duration tween, we need to discern if events are suppressed so that when the playhead moves again (next time), it'll trigger the callback. If events are NOT suppressed, obviously the callback would be triggered in this render. Basically, the callback should fire either when the playhead ARRIVES or LEAVES this exact spot, not both. Imagine doing a timeline.seek(0) and there's a callback that sits at 0. Since events are suppressed on that seek() by default, nothing will fire, but when the playhead moves off of that position, the callback should fire. This behavior is what people intuitively expect. We set the _rawPrevTime to be a precise tiny number to indicate this scenario rather than using another property/variable which would increase memory usage. This technique is less readable, but more efficient.
|
159
159
|
}
|
160
|
-
}
|
160
|
+
}
|
161
|
+
if (!this._initted) { //if we render the very beginning (time == 0) of a fromTo(), we must force the render (normal tweens wouldn't need to render at a time of 0 when the prevTime was also 0). This is also mandatory to make sure overwriting kicks in immediately.
|
161
162
|
force = true;
|
162
163
|
}
|
163
164
|
} else {
|
@@ -231,7 +232,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
231
232
|
this._rawPrevTime = prevRawPrevTime;
|
232
233
|
this._cycle = prevCycle;
|
233
234
|
TweenLiteInternals.lazyTweens.push(this);
|
234
|
-
this._lazy = time;
|
235
|
+
this._lazy = [time, suppressEvents];
|
235
236
|
return;
|
236
237
|
}
|
237
238
|
//_ease is initially set to defaultEase, so now that init() has run, _ease is set properly and we need to recalculate the ratio. Overall this is faster than using conditional logic earlier in the method to avoid having to set ratio twice because we only init() once but renderTime() gets called VERY frequently.
|
@@ -630,9 +631,15 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
630
631
|
return copy;
|
631
632
|
},
|
632
633
|
_pauseCallback = function(tween, callback, params, scope) {
|
633
|
-
tween._timeline.
|
634
|
-
if (callback) {
|
635
|
-
|
634
|
+
var time = tween._timeline._totalTime;
|
635
|
+
if (callback || !this._forcingPlayhead) { //if the user calls a method that moves the playhead (like progress() or time()), it should honor that and skip any pauses (although if there's a callback positioned at that pause, it must jump there and make the call to ensure the time is EXACTLY what it is supposed to be, and then proceed to where the playhead is being forced). Otherwise, imagine placing a pause in the middle of a timeline and then doing timeline.progress(0.9) - it would get stuck where the pause is.
|
636
|
+
tween._timeline.pause(tween._startTime);
|
637
|
+
if (callback) {
|
638
|
+
callback.apply(scope || tween._timeline, params || _blankArray);
|
639
|
+
}
|
640
|
+
if (this._forcingPlayhead) {
|
641
|
+
tween._timeline.seek(time);
|
642
|
+
}
|
636
643
|
}
|
637
644
|
},
|
638
645
|
_slice = function(a) { //don't use [].slice because that doesn't work in IE8 with a NodeList that's returned by querySelectorAll()
|
@@ -644,9 +651,9 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
644
651
|
},
|
645
652
|
p = TimelineLite.prototype = new SimpleTimeline();
|
646
653
|
|
647
|
-
TimelineLite.version = "1.13.
|
654
|
+
TimelineLite.version = "1.13.2";
|
648
655
|
p.constructor = TimelineLite;
|
649
|
-
p.kill()._gc = false;
|
656
|
+
p.kill()._gc = p._forcingPlayhead = false;
|
650
657
|
|
651
658
|
/* might use later...
|
652
659
|
//translates a local time inside an animation to the corresponding time on the root/global timeline, factoring in all nesting and timeScales.
|
@@ -1156,7 +1163,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
1156
1163
|
tween.invalidate();
|
1157
1164
|
tween = tween._next;
|
1158
1165
|
}
|
1159
|
-
return this
|
1166
|
+
return Animation.prototype.invalidate.call(this);;
|
1160
1167
|
};
|
1161
1168
|
|
1162
1169
|
p._enabled = function(enabled, ignoreTimeline) {
|
@@ -1170,6 +1177,13 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
1170
1177
|
return SimpleTimeline.prototype._enabled.call(this, enabled, ignoreTimeline);
|
1171
1178
|
};
|
1172
1179
|
|
1180
|
+
p.totalTime = function(time, suppressEvents, uncapped) {
|
1181
|
+
this._forcingPlayhead = true;
|
1182
|
+
var val = Animation.prototype.totalTime.apply(this, arguments);
|
1183
|
+
this._forcingPlayhead = false;
|
1184
|
+
return val;
|
1185
|
+
};
|
1186
|
+
|
1173
1187
|
p.duration = function(value) {
|
1174
1188
|
if (!arguments.length) {
|
1175
1189
|
if (this._dirty) {
|
@@ -1278,7 +1292,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
1278
1292
|
|
1279
1293
|
p.constructor = TimelineMax;
|
1280
1294
|
p.kill()._gc = false;
|
1281
|
-
TimelineMax.version = "1.13.
|
1295
|
+
TimelineMax.version = "1.13.2";
|
1282
1296
|
|
1283
1297
|
p.invalidate = function() {
|
1284
1298
|
this._yoyo = (this.vars.yoyo === true);
|
@@ -1620,12 +1634,12 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
1620
1634
|
|
1621
1635
|
//---- GETTERS / SETTERS -------------------------------------------------------------------------------------------------------
|
1622
1636
|
|
1623
|
-
p.progress = function(value) {
|
1624
|
-
return (!arguments.length) ? this._time / this.duration() : this.totalTime( this.duration() * ((this._yoyo && (this._cycle & 1) !== 0) ? 1 - value : value) + (this._cycle * (this._duration + this._repeatDelay)),
|
1637
|
+
p.progress = function(value, suppressEvents) {
|
1638
|
+
return (!arguments.length) ? this._time / this.duration() : this.totalTime( this.duration() * ((this._yoyo && (this._cycle & 1) !== 0) ? 1 - value : value) + (this._cycle * (this._duration + this._repeatDelay)), suppressEvents);
|
1625
1639
|
};
|
1626
1640
|
|
1627
|
-
p.totalProgress = function(value) {
|
1628
|
-
return (!arguments.length) ? this._totalTime / this.totalDuration() : this.totalTime( this.totalDuration() * value,
|
1641
|
+
p.totalProgress = function(value, suppressEvents) {
|
1642
|
+
return (!arguments.length) ? this._totalTime / this.totalDuration() : this.totalTime( this.totalDuration() * value, suppressEvents);
|
1629
1643
|
};
|
1630
1644
|
|
1631
1645
|
p.totalDuration = function(value) {
|
@@ -2311,7 +2325,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
2311
2325
|
p = CSSPlugin.prototype = new TweenPlugin("css");
|
2312
2326
|
|
2313
2327
|
p.constructor = CSSPlugin;
|
2314
|
-
CSSPlugin.version = "1.13.
|
2328
|
+
CSSPlugin.version = "1.13.2";
|
2315
2329
|
CSSPlugin.API = 2;
|
2316
2330
|
CSSPlugin.defaultTransformPerspective = 0;
|
2317
2331
|
CSSPlugin.defaultSkewType = "compensated";
|
@@ -3357,6 +3371,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
3357
3371
|
minAngle = 179.99,
|
3358
3372
|
minPI = minAngle * _DEG2RAD,
|
3359
3373
|
zOrigin = _supports3D ? parseFloat(_getStyle(t, _transformOriginProp, cs, false, "0 0 0").split(" ")[2]) || tm.zOrigin || 0 : 0,
|
3374
|
+
defaultTransformPerspective = parseFloat(CSSPlugin.defaultTransformPerspective) || 0,
|
3360
3375
|
s, m, i, n, dec, scaleX, scaleY, rotation, skewX, difX, difY, difR, difS;
|
3361
3376
|
if (_transformProp) {
|
3362
3377
|
s = _getStyle(t, _transformPropCSS, cs, true);
|
@@ -3366,7 +3381,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
3366
3381
|
s = (s && s.length === 4) ? [s[0].substr(4), Number(s[2].substr(4)), Number(s[1].substr(4)), s[3].substr(4), (tm.x || 0), (tm.y || 0)].join(",") : "";
|
3367
3382
|
}
|
3368
3383
|
if (!s || s === "none" || s === "matrix(1, 0, 0, 1, 0, 0)") { //if no transforms are applied, just use the defaults to optimize performance (no need to parse).
|
3369
|
-
tm = {x:0, y:0, z:0, scaleX:1, scaleY:1, scaleZ:1, skewX:0, perspective:
|
3384
|
+
tm = {x:0, y:0, z:0, scaleX:1, scaleY:1, scaleZ:1, skewX:0, perspective:defaultTransformPerspective, rotation:0, rotationX:0, rotationY:0, zOrigin:0};
|
3370
3385
|
} else {
|
3371
3386
|
//split the matrix values out into an array (m for matrix)
|
3372
3387
|
m = (s || "").match(/(?:\-|\b)[\d\-\.e]+\b/gi) || [];
|
@@ -3497,7 +3512,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
3497
3512
|
}
|
3498
3513
|
if (_supports3D) {
|
3499
3514
|
tm.rotationX = tm.rotationY = tm.z = 0;
|
3500
|
-
tm.perspective =
|
3515
|
+
tm.perspective = defaultTransformPerspective;
|
3501
3516
|
tm.scaleZ = 1;
|
3502
3517
|
}
|
3503
3518
|
}
|
@@ -5228,7 +5243,7 @@ if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); } //necessary in case Tween
|
|
5228
5243
|
* </script>
|
5229
5244
|
* <script src="js/greensock/v1.7/TweenMax.js"></script>
|
5230
5245
|
* <script>
|
5231
|
-
* window.GreenSockGlobals = window._gsQueue = null; //reset it back to null (along with the special _gsQueue variable) so that the next load of TweenMax affects the window and we can reference things directly like TweenLite.to(...)
|
5246
|
+
* window.GreenSockGlobals = window._gsQueue = window._gsDefine = null; //reset it back to null (along with the special _gsQueue variable) so that the next load of TweenMax affects the window and we can reference things directly like TweenLite.to(...)
|
5232
5247
|
* </script>
|
5233
5248
|
* <script src="js/greensock/v1.6/TweenMax.js"></script>
|
5234
5249
|
* <script>
|
@@ -5635,6 +5650,12 @@ if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); } //necessary in case Tween
|
|
5635
5650
|
};
|
5636
5651
|
|
5637
5652
|
p.invalidate = function() {
|
5653
|
+
this._time = this._totalTime = 0;
|
5654
|
+
this._initted = this._gc = false;
|
5655
|
+
this._rawPrevTime = -1;
|
5656
|
+
if (this._gc || !this.timeline) {
|
5657
|
+
this._enabled(true);
|
5658
|
+
}
|
5638
5659
|
return this;
|
5639
5660
|
};
|
5640
5661
|
|
@@ -6058,7 +6079,7 @@ if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); } //necessary in case Tween
|
|
6058
6079
|
p._firstPT = p._targets = p._overwrittenProps = p._startAt = null;
|
6059
6080
|
p._notifyPluginsOfEnabled = p._lazy = false;
|
6060
6081
|
|
6061
|
-
TweenLite.version = "1.13.
|
6082
|
+
TweenLite.version = "1.13.2";
|
6062
6083
|
TweenLite.defaultEase = p._ease = new Ease(null, null, 1, 1);
|
6063
6084
|
TweenLite.defaultOverwrite = "auto";
|
6064
6085
|
TweenLite.ticker = _ticker;
|
@@ -6092,7 +6113,7 @@ if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); } //necessary in case Tween
|
|
6092
6113
|
while (--i > -1) {
|
6093
6114
|
a = _lazyTweens[i];
|
6094
6115
|
if (a && a._lazy !== false) {
|
6095
|
-
a.render(a._lazy,
|
6116
|
+
a.render(a._lazy[0], a._lazy[1], true);
|
6096
6117
|
a._lazy = false;
|
6097
6118
|
}
|
6098
6119
|
}
|
@@ -6265,6 +6286,9 @@ if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); } //necessary in case Tween
|
|
6265
6286
|
this._startAt.kill();
|
6266
6287
|
this._startAt = null;
|
6267
6288
|
} else {
|
6289
|
+
if (this._time !== 0) { //in rare cases (like if a from() tween runs and then is invalidate()-ed), immediateRender could be true but the initial forced-render gets skipped, so there's no need to force the render in this context when the _time is greater than 0
|
6290
|
+
immediate = false;
|
6291
|
+
}
|
6268
6292
|
pt = {};
|
6269
6293
|
for (p in v) { //copy props into a new object and skip any reserved props, otherwise onComplete or onUpdate or onStart could fire. We should, however, permit autoCSS to go through.
|
6270
6294
|
if (!_reservedProps[p] || p === "autoCSS") {
|
@@ -6279,6 +6303,9 @@ if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); } //necessary in case Tween
|
|
6279
6303
|
if (!immediate) {
|
6280
6304
|
this._startAt._init(); //ensures that the initial values are recorded
|
6281
6305
|
this._startAt._enabled(false); //no need to have the tween render on the next cycle. Disable it because we'll always manually control the renders of the _startAt tween.
|
6306
|
+
if (this.vars.immediateRender) {
|
6307
|
+
this._startAt = null;
|
6308
|
+
}
|
6282
6309
|
} else if (this._time === 0) {
|
6283
6310
|
return;
|
6284
6311
|
}
|
@@ -6426,7 +6453,8 @@ if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); } //necessary in case Tween
|
|
6426
6453
|
}
|
6427
6454
|
this._rawPrevTime = rawPrevTime = (!suppressEvents || time || prevRawPrevTime === time) ? time : _tinyNum; //when the playhead arrives at EXACTLY time 0 (right on top) of a zero-duration tween, we need to discern if events are suppressed so that when the playhead moves again (next time), it'll trigger the callback. If events are NOT suppressed, obviously the callback would be triggered in this render. Basically, the callback should fire either when the playhead ARRIVES or LEAVES this exact spot, not both. Imagine doing a timeline.seek(0) and there's a callback that sits at 0. Since events are suppressed on that seek() by default, nothing will fire, but when the playhead moves off of that position, the callback should fire. This behavior is what people intuitively expect. We set the _rawPrevTime to be a precise tiny number to indicate this scenario rather than using another property/variable which would increase memory usage. This technique is less readable, but more efficient.
|
6428
6455
|
}
|
6429
|
-
}
|
6456
|
+
}
|
6457
|
+
if (!this._initted) { //if we render the very beginning (time == 0) of a fromTo(), we must force the render (normal tweens wouldn't need to render at a time of 0 when the prevTime was also 0). This is also mandatory to make sure overwriting kicks in immediately.
|
6430
6458
|
force = true;
|
6431
6459
|
}
|
6432
6460
|
} else {
|
@@ -6475,7 +6503,7 @@ if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); } //necessary in case Tween
|
|
6475
6503
|
this._time = this._totalTime = prevTime;
|
6476
6504
|
this._rawPrevTime = prevRawPrevTime;
|
6477
6505
|
_lazyTweens.push(this);
|
6478
|
-
this._lazy = time;
|
6506
|
+
this._lazy = [time, suppressEvents];
|
6479
6507
|
return;
|
6480
6508
|
}
|
6481
6509
|
//_ease is initially set to defaultEase, so now that init() has run, _ease is set properly and we need to recalculate the ratio. Overall this is faster than using conditional logic earlier in the method to avoid having to set ratio twice because we only init() once but renderTime() gets called VERY frequently.
|
@@ -6613,12 +6641,14 @@ if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); } //necessary in case Tween
|
|
6613
6641
|
if (this._notifyPluginsOfEnabled) {
|
6614
6642
|
TweenLite._onPluginEvent("_onDisable", this);
|
6615
6643
|
}
|
6616
|
-
this._firstPT = null;
|
6617
|
-
this.
|
6618
|
-
this._onUpdate = null;
|
6619
|
-
this._startAt = null;
|
6620
|
-
this._initted = this._active = this._notifyPluginsOfEnabled = this._lazy = false;
|
6644
|
+
this._firstPT = this._overwrittenProps = this._startAt = this._onUpdate = null;
|
6645
|
+
this._notifyPluginsOfEnabled = this._active = this._lazy = false;
|
6621
6646
|
this._propLookup = (this._targets) ? {} : [];
|
6647
|
+
Animation.prototype.invalidate.call(this);
|
6648
|
+
if (this.vars.immediateRender) {
|
6649
|
+
this._time = -_tinyNum; //forces a render without having to set the render() "force" parameter to true because we want to allow lazying by default (using the "force" parameter always forces an immediate full render)
|
6650
|
+
this.render(-this._delay);
|
6651
|
+
}
|
6622
6652
|
return this;
|
6623
6653
|
};
|
6624
6654
|
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*!
|
2
|
-
* VERSION: 1.13.
|
3
|
-
* DATE: 2014-
|
2
|
+
* VERSION: 1.13.2
|
3
|
+
* DATE: 2014-08-23
|
4
4
|
* UPDATES AND DOCS AT: http://www.greensock.com
|
5
5
|
*
|
6
6
|
* @license Copyright (c) 2008-2014, GreenSock. All rights reserved.
|
@@ -30,7 +30,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
30
30
|
p = CSSPlugin.prototype = new TweenPlugin("css");
|
31
31
|
|
32
32
|
p.constructor = CSSPlugin;
|
33
|
-
CSSPlugin.version = "1.13.
|
33
|
+
CSSPlugin.version = "1.13.2";
|
34
34
|
CSSPlugin.API = 2;
|
35
35
|
CSSPlugin.defaultTransformPerspective = 0;
|
36
36
|
CSSPlugin.defaultSkewType = "compensated";
|
@@ -1076,6 +1076,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
1076
1076
|
minAngle = 179.99,
|
1077
1077
|
minPI = minAngle * _DEG2RAD,
|
1078
1078
|
zOrigin = _supports3D ? parseFloat(_getStyle(t, _transformOriginProp, cs, false, "0 0 0").split(" ")[2]) || tm.zOrigin || 0 : 0,
|
1079
|
+
defaultTransformPerspective = parseFloat(CSSPlugin.defaultTransformPerspective) || 0,
|
1079
1080
|
s, m, i, n, dec, scaleX, scaleY, rotation, skewX, difX, difY, difR, difS;
|
1080
1081
|
if (_transformProp) {
|
1081
1082
|
s = _getStyle(t, _transformPropCSS, cs, true);
|
@@ -1085,7 +1086,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
1085
1086
|
s = (s && s.length === 4) ? [s[0].substr(4), Number(s[2].substr(4)), Number(s[1].substr(4)), s[3].substr(4), (tm.x || 0), (tm.y || 0)].join(",") : "";
|
1086
1087
|
}
|
1087
1088
|
if (!s || s === "none" || s === "matrix(1, 0, 0, 1, 0, 0)") { //if no transforms are applied, just use the defaults to optimize performance (no need to parse).
|
1088
|
-
tm = {x:0, y:0, z:0, scaleX:1, scaleY:1, scaleZ:1, skewX:0, perspective:
|
1089
|
+
tm = {x:0, y:0, z:0, scaleX:1, scaleY:1, scaleZ:1, skewX:0, perspective:defaultTransformPerspective, rotation:0, rotationX:0, rotationY:0, zOrigin:0};
|
1089
1090
|
} else {
|
1090
1091
|
//split the matrix values out into an array (m for matrix)
|
1091
1092
|
m = (s || "").match(/(?:\-|\b)[\d\-\.e]+\b/gi) || [];
|
@@ -1216,7 +1217,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
1216
1217
|
}
|
1217
1218
|
if (_supports3D) {
|
1218
1219
|
tm.rotationX = tm.rotationY = tm.z = 0;
|
1219
|
-
tm.perspective =
|
1220
|
+
tm.perspective = defaultTransformPerspective;
|
1220
1221
|
tm.scaleZ = 1;
|
1221
1222
|
}
|
1222
1223
|
}
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*!
|
2
|
-
* VERSION: 0.10.
|
3
|
-
* DATE: 2014-
|
2
|
+
* VERSION: 0.10.6
|
3
|
+
* DATE: 2014-08-23
|
4
4
|
* UPDATES AND DOCS AT: http://www.greensock.com
|
5
5
|
*
|
6
6
|
* Requires TweenLite and CSSPlugin version 1.11.0 or later (TweenMax contains both TweenLite and CSSPlugin). ThrowPropsPlugin is required for momentum-based continuation of movement after the mouse/touch is released (ThrowPropsPlugin is a membership benefit of Club GreenSock - http://www.greensock.com/club/).
|
@@ -30,7 +30,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
30
30
|
_RAD2DEG = 180 / Math.PI,
|
31
31
|
_max = 999999999999999,
|
32
32
|
_getTime = Date.now || function() {return new Date().getTime();},
|
33
|
-
_isOldIE = (_doc.
|
33
|
+
_isOldIE = (!_doc.addEventListener && _doc.all),
|
34
34
|
_renderQueue = [],
|
35
35
|
_lookup = {}, //when a Draggable is created, the target gets a unique _gsDragID property that allows gets associated with the Draggable instance for quick lookups in Draggable.get(). This avoids circular references that could cause gc problems.
|
36
36
|
_lookupCount = 0,
|
@@ -39,6 +39,16 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
39
39
|
_prefix,
|
40
40
|
_isMultiTouching,
|
41
41
|
_lastDragTime = 0,
|
42
|
+
_slice = function(a) { //don't use Array.prototype.slice.call(target, 0) because that doesn't work in IE8 with a NodeList that's returned by querySelectorAll()
|
43
|
+
if (!a || a.nodeType || !a.push) { //if it's not an array, wrap it in one.
|
44
|
+
return [a];
|
45
|
+
}
|
46
|
+
var b = [],
|
47
|
+
l = a.length,
|
48
|
+
i;
|
49
|
+
for (i = 0; i !== l; b.push(a[i++]));
|
50
|
+
return b;
|
51
|
+
},
|
42
52
|
ThrowPropsPlugin,
|
43
53
|
|
44
54
|
_renderQueueTick = function() {
|
@@ -460,7 +470,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
460
470
|
var standard = types.split(","),
|
461
471
|
converted = ((_tempDiv.onpointerdown !== undefined) ? "pointerdown,pointermove,pointerup,pointercancel" : (_tempDiv.onmspointerdown !== undefined) ? "MSPointerDown,MSPointerMove,MSPointerUp,MSPointerCancel" : types).split(","),
|
462
472
|
obj = {},
|
463
|
-
i =
|
473
|
+
i = 8;
|
464
474
|
while (--i > -1) {
|
465
475
|
obj[standard[i]] = converted[i];
|
466
476
|
obj[converted[i]] = standard[i];
|
@@ -789,7 +799,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
789
799
|
allowX = (type.indexOf("x") !== -1 || type.indexOf("left") !== -1 || type === "scroll"),
|
790
800
|
allowY = (type.indexOf("y") !== -1 || type.indexOf("top") !== -1 || type === "scroll"),
|
791
801
|
self = this,
|
792
|
-
|
802
|
+
triggers = _slice(vars.trigger || vars.handle || target),
|
793
803
|
killProps = {},
|
794
804
|
dragEndTime = 0,
|
795
805
|
enabled, scrollProxy, startMouseX, startMouseY, startElementX, startElementY, hasBounds, hasDragCallback, maxX, minX, maxY, minY, tempVars, cssVars, touch, touchID, rotationOrigin, dirty, old, snapX, snapY, isClicking, touchEventTarget, lockedAxis, matrix, interrupted,
|
@@ -1077,14 +1087,14 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
1077
1087
|
|
1078
1088
|
//called when the mouse is pressed (or touch starts)
|
1079
1089
|
onPress = function(e) {
|
1080
|
-
var temp;
|
1090
|
+
var temp, i;
|
1081
1091
|
if (!enabled || self.isPressed || !e) { //just in case the browser dispatches a "touchstart" and "mousedown" (some browsers emulate mouse events when using touches)
|
1082
1092
|
return;
|
1083
1093
|
}
|
1084
1094
|
interrupted = isTweening();
|
1085
1095
|
self.pointerEvent = e;
|
1086
1096
|
if (_touchEventLookup[e.type]) { //note: on iOS, BOTH touchmove and mousemove are dispatched, but the mousemove has pageY and pageX of 0 which would mess up the calculations and needlessly hurt performance.
|
1087
|
-
touchEventTarget = (e.type.indexOf("touch") !== -1) ?
|
1097
|
+
touchEventTarget = (e.type.indexOf("touch") !== -1) ? e.currentTarget : _doc; //pointer-based touches (for Microsoft browsers) don't remain locked to the original target like other browsers, so we must use the document instead. The event type would be "MSPointerDown" or "pointerdown".
|
1088
1098
|
_addListener(touchEventTarget, "touchend", onRelease);
|
1089
1099
|
_addListener(touchEventTarget, "touchmove", onMove);
|
1090
1100
|
_addListener(touchEventTarget, "touchcancel", onRelease);
|
@@ -1092,8 +1102,9 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
1092
1102
|
} else {
|
1093
1103
|
touchEventTarget = null;
|
1094
1104
|
_addListener(_doc, "mousemove", onMove); //attach these to the document instead of the box itself so that if the user's mouse moves too quickly (and off of the box), things still work.
|
1095
|
-
|
1105
|
+
|
1096
1106
|
}
|
1107
|
+
_addListener(_doc, "mouseup", onRelease);
|
1097
1108
|
isClicking = (_isClickable(e.target) && !vars.dragClickables);
|
1098
1109
|
if (isClicking) {
|
1099
1110
|
_addListener(e.target, "change", onRelease); //in some browsers, when you mousedown on a <select> element, no mouseup gets dispatched! So we listen for a "change" event instead.
|
@@ -1117,13 +1128,6 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
1117
1128
|
}
|
1118
1129
|
_dragCount++;
|
1119
1130
|
_addToRenderQueue(render); //causes the Draggable to render on each "tick" of TweenLite.ticker (performance optimization - updating values in a mousemove can cause them to happen too frequently, like multiple times between frame redraws which is wasteful, and it also prevents values from updating properly in IE8)
|
1120
|
-
if (self.tween) {
|
1121
|
-
self.tween.kill();
|
1122
|
-
}
|
1123
|
-
TweenLite.killTweensOf(scrollProxy || target, true, killProps); //in case the user tries to drag it before the last tween is done.
|
1124
|
-
if (scrollProxy) {
|
1125
|
-
TweenLite.killTweensOf(target, true, {scrollTo:1}); //just in case the original target's scroll position is being tweened somewhere else.
|
1126
|
-
}
|
1127
1131
|
startMouseY = self.pointerY = e.pageY; //record the starting x and y so that we can calculate the movement from the original in _onMouseMove
|
1128
1132
|
startMouseX = self.pointerX = e.pageX;
|
1129
1133
|
recordStartPositions();
|
@@ -1132,6 +1136,13 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
1132
1136
|
startMouseY = startMouseX * matrix[1] + startMouseY * matrix[3] + matrix[5];
|
1133
1137
|
startMouseX = temp;
|
1134
1138
|
}
|
1139
|
+
if (self.tween) {
|
1140
|
+
self.tween.kill();
|
1141
|
+
}
|
1142
|
+
TweenLite.killTweensOf(scrollProxy || target, true, killProps); //in case the user tries to drag it before the last tween is done.
|
1143
|
+
if (scrollProxy) {
|
1144
|
+
TweenLite.killTweensOf(target, true, {scrollTo:1}); //just in case the original target's scroll position is being tweened somewhere else.
|
1145
|
+
}
|
1135
1146
|
self.tween = lockedAxis = null;
|
1136
1147
|
if (!rotationMode && !scrollProxy && vars.zIndexBoost !== false) {
|
1137
1148
|
target.style.zIndex = Draggable.zIndex++;
|
@@ -1139,7 +1150,10 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
1139
1150
|
self.isPressed = true;
|
1140
1151
|
hasDragCallback = !!(vars.onDrag || self._listeners.drag);
|
1141
1152
|
if (!rotationMode) {
|
1142
|
-
|
1153
|
+
i = triggers.length;
|
1154
|
+
while (--i > -1) {
|
1155
|
+
_setStyle(triggers[i], "cursor", vars.cursor || "move");
|
1156
|
+
}
|
1143
1157
|
}
|
1144
1158
|
_dispatchEvent(self, "press", "onPress");
|
1145
1159
|
},
|
@@ -1270,9 +1284,9 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
1270
1284
|
_removeListener(touchEventTarget, "touchcancel", onRelease);
|
1271
1285
|
_removeListener(_doc, "touchstart", _onMultiTouchDocument);
|
1272
1286
|
} else {
|
1273
|
-
_removeListener(_doc, "mouseup", onRelease);
|
1274
1287
|
_removeListener(_doc, "mousemove", onMove);
|
1275
1288
|
}
|
1289
|
+
_removeListener(_doc, "mouseup", onRelease);
|
1276
1290
|
dirty = false;
|
1277
1291
|
if (isClicking) {
|
1278
1292
|
if (e) {
|
@@ -1285,7 +1299,10 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
1285
1299
|
}
|
1286
1300
|
_removeFromRenderQueue(render);
|
1287
1301
|
if (!rotationMode) {
|
1288
|
-
|
1302
|
+
i = triggers.length;
|
1303
|
+
while (--i > -1) {
|
1304
|
+
_setStyle(triggers[i], "cursor", vars.cursor || "move");
|
1305
|
+
}
|
1289
1306
|
}
|
1290
1307
|
if (wasDragging) {
|
1291
1308
|
dragEndTime = _lastDragTime = _getTime();
|
@@ -1312,7 +1329,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
1312
1329
|
self.pointerY = e.pageY;
|
1313
1330
|
}
|
1314
1331
|
if (originalEvent && !wasDragging) {
|
1315
|
-
if (interrupted && vars.snap) { //otherwise, if the user clicks on the object while it's animating to a snapped position, and then releases without moving 3 pixels, it will just stay there (it should animate/snap)
|
1332
|
+
if (interrupted && (vars.snap || vars.bounds)) { //otherwise, if the user clicks on the object while it's animating to a snapped position, and then releases without moving 3 pixels, it will just stay there (it should animate/snap)
|
1316
1333
|
animate(vars.throwProps);
|
1317
1334
|
}
|
1318
1335
|
_dispatchEvent(self, "release", "onRelease");
|
@@ -1423,18 +1440,22 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
1423
1440
|
};
|
1424
1441
|
|
1425
1442
|
this.enable = function(type) {
|
1426
|
-
var id;
|
1443
|
+
var id, i, trigger;
|
1427
1444
|
if (type !== "soft") {
|
1428
|
-
|
1429
|
-
|
1430
|
-
|
1431
|
-
|
1432
|
-
|
1445
|
+
i = triggers.length;
|
1446
|
+
while (--i > -1) {
|
1447
|
+
trigger = triggers[i];
|
1448
|
+
_addListener(trigger, "mousedown", onPress);
|
1449
|
+
_addListener(trigger, "touchstart", onPress);
|
1450
|
+
_addListener(trigger, "click", onClick);
|
1451
|
+
if (!rotationMode) {
|
1452
|
+
_setStyle(trigger, "cursor", vars.cursor || "move");
|
1453
|
+
}
|
1454
|
+
trigger.ondragstart = trigger.onselectstart = _emptyFunc; //prevent text selection (and prevent IE from dragging images)
|
1455
|
+
_setStyle(trigger, "userSelect", "none");
|
1456
|
+
_setStyle(trigger, "touchCallout", "none");
|
1457
|
+
_setStyle(trigger, "touchAction", "none");
|
1433
1458
|
}
|
1434
|
-
trigger.ondragstart = trigger.onselectstart = _emptyFunc; //prevent text selection (and prevent IE from dragging images)
|
1435
|
-
_setStyle(trigger, "userSelect", "none");
|
1436
|
-
_setStyle(trigger, "touchCallout", "none");
|
1437
|
-
_setStyle(trigger, "touchAction", "none");
|
1438
1459
|
}
|
1439
1460
|
enabled = true;
|
1440
1461
|
if (ThrowPropsPlugin && type !== "soft") {
|
@@ -1449,23 +1470,31 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
1449
1470
|
scrollProxy.element._gsDragID = id;
|
1450
1471
|
}
|
1451
1472
|
TweenLite.set(target, {x:"+=0"}); //simply ensures that there's a _gsTransform on the element.
|
1452
|
-
this.update();
|
1473
|
+
this.update(true);
|
1453
1474
|
return self;
|
1454
1475
|
};
|
1455
1476
|
|
1456
1477
|
this.disable = function(type) {
|
1457
|
-
var dragging = this.isDragging
|
1478
|
+
var dragging = this.isDragging,
|
1479
|
+
i, trigger;
|
1458
1480
|
if (!rotationMode) {
|
1459
|
-
|
1481
|
+
i = triggers.length;
|
1482
|
+
while (--i > -1) {
|
1483
|
+
_setStyle(triggers[i], "cursor", null);
|
1484
|
+
}
|
1460
1485
|
}
|
1461
1486
|
if (type !== "soft") {
|
1462
|
-
|
1463
|
-
|
1464
|
-
|
1465
|
-
|
1466
|
-
|
1467
|
-
|
1468
|
-
|
1487
|
+
i = triggers.length;
|
1488
|
+
while (--i > -1) {
|
1489
|
+
trigger = triggers[i];
|
1490
|
+
trigger.ondragstart = trigger.onselectstart = null;
|
1491
|
+
_setStyle(trigger, "userSelect", "text");
|
1492
|
+
_setStyle(trigger, "touchCallout", "default");
|
1493
|
+
_setStyle(trigger, "MSTouchAction", "auto");
|
1494
|
+
_removeListener(trigger, "mousedown", onPress);
|
1495
|
+
_removeListener(trigger, "touchstart", onPress);
|
1496
|
+
_removeListener(trigger, "click", onClick);
|
1497
|
+
}
|
1469
1498
|
if (touchEventTarget) {
|
1470
1499
|
_removeListener(touchEventTarget, "touchcancel", onRelease);
|
1471
1500
|
_removeListener(touchEventTarget, "touchend", onRelease);
|
@@ -1541,7 +1570,7 @@ var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(globa
|
|
1541
1570
|
p.constructor = Draggable;
|
1542
1571
|
p.pointerX = p.pointerY = 0;
|
1543
1572
|
p.isDragging = p.isPressed = false;
|
1544
|
-
Draggable.version = "0.10.
|
1573
|
+
Draggable.version = "0.10.6";
|
1545
1574
|
Draggable.zIndex = 1000;
|
1546
1575
|
|
1547
1576
|
_addListener(_doc, "touchcancel", function() {
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: greensock-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.13.
|
4
|
+
version: 1.13.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Pataki, Greensock Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|