1 | var __extends = (this && this.__extends) || (function () {
|
2 | var extendStatics = Object.setPrototypeOf ||
|
3 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
4 | function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
5 | return function (d, b) {
|
6 | extendStatics(d, b);
|
7 | function __() { this.constructor = d; }
|
8 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
9 | };
|
10 | })();
|
11 | import { PanGesture } from './pan-gesture';
|
12 | import { clamp } from '../util/util';
|
13 | import { pointerCoord } from '../util/dom';
|
14 |
|
15 |
|
16 |
|
17 | var SlideGesture = (function (_super) {
|
18 | __extends(SlideGesture, _super);
|
19 | |
20 |
|
21 |
|
22 |
|
23 |
|
24 | function SlideGesture(plt, element, opts) {
|
25 | if (opts === void 0) { opts = {}; }
|
26 | var _this = _super.call(this, plt, element, opts) || this;
|
27 | _this.slide = null;
|
28 | return _this;
|
29 | }
|
30 | |
31 |
|
32 |
|
33 |
|
34 |
|
35 | SlideGesture.prototype.getSlideBoundaries = function (_slide, _ev) {
|
36 | return {
|
37 | min: 0,
|
38 | max: this.getNativeElement().offsetWidth
|
39 | };
|
40 | };
|
41 | |
42 |
|
43 |
|
44 |
|
45 |
|
46 | SlideGesture.prototype.getElementStartPos = function (_slide, _ev) {
|
47 | return 0;
|
48 | };
|
49 | |
50 |
|
51 |
|
52 |
|
53 | SlideGesture.prototype.onDragStart = function (ev) {
|
54 | this.onSlideBeforeStart(ev);
|
55 | var coord = (pointerCoord(ev));
|
56 | var pos = coord[this.direction];
|
57 | this.slide = {
|
58 | min: 0,
|
59 | max: 0,
|
60 | pointerStartPos: pos,
|
61 | pos: pos,
|
62 | timestamp: Date.now(),
|
63 | elementStartPos: 0,
|
64 | started: true,
|
65 | delta: 0,
|
66 | distance: 0,
|
67 | velocity: 0,
|
68 | };
|
69 |
|
70 | var _a = this.getSlideBoundaries(this.slide, ev), min = _a.min, max = _a.max;
|
71 | this.slide.min = min;
|
72 | this.slide.max = max;
|
73 | this.slide.elementStartPos = this.getElementStartPos(this.slide, ev);
|
74 | this.onSlideStart(this.slide, ev);
|
75 | };
|
76 | |
77 |
|
78 |
|
79 |
|
80 | SlideGesture.prototype.onDragMove = function (ev) {
|
81 | var slide = this.slide;
|
82 | (void 0) ;
|
83 | var coord = (pointerCoord(ev));
|
84 | var newPos = coord[this.direction];
|
85 | var newTimestamp = Date.now();
|
86 | var velocity = (this.plt.isRTL ? (slide.pos - newPos) : (newPos - slide.pos)) / (newTimestamp - slide.timestamp);
|
87 | slide.pos = newPos;
|
88 | slide.timestamp = newTimestamp;
|
89 | slide.distance = clamp(slide.min, (this.plt.isRTL ? slide.pointerStartPos - newPos : newPos - slide.pointerStartPos) + slide.elementStartPos, slide.max);
|
90 | slide.velocity = velocity;
|
91 | slide.delta = (this.plt.isRTL ? slide.pointerStartPos - newPos : newPos - slide.pointerStartPos);
|
92 | this.onSlide(slide, ev);
|
93 | };
|
94 | |
95 |
|
96 |
|
97 |
|
98 | SlideGesture.prototype.onDragEnd = function (ev) {
|
99 | this.onSlideEnd(this.slide, ev);
|
100 | this.slide = null;
|
101 | };
|
102 | |
103 |
|
104 |
|
105 |
|
106 | SlideGesture.prototype.onSlideBeforeStart = function (_ev) { };
|
107 | |
108 |
|
109 |
|
110 |
|
111 |
|
112 | SlideGesture.prototype.onSlideStart = function (_slide, _ev) { };
|
113 | |
114 |
|
115 |
|
116 |
|
117 |
|
118 | SlideGesture.prototype.onSlide = function (_slide, _ev) { };
|
119 | |
120 |
|
121 |
|
122 |
|
123 |
|
124 | SlideGesture.prototype.onSlideEnd = function (_slide, _ev) { };
|
125 | return SlideGesture;
|
126 | }(PanGesture));
|
127 | export { SlideGesture };
|
128 | function SlideGesture_tsickle_Closure_declarations() {
|
129 |
|
130 | SlideGesture.prototype.slide;
|
131 | }
|
132 |
|
\ | No newline at end of file |