@schneideress/dashboardframework 0.0.75 → 0.0.76

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.
Files changed (113) hide show
  1. package/README.md +24 -24
  2. package/bundles/schneideress-dashboardframework.umd.js +7050 -7020
  3. package/bundles/schneideress-dashboardframework.umd.js.map +1 -1
  4. package/bundles/schneideress-dashboardframework.umd.min.js +1 -1
  5. package/bundles/schneideress-dashboardframework.umd.min.js.map +1 -1
  6. package/esm2015/gridster/index.js +19 -18
  7. package/esm2015/gridster/lib/gridster.component.js +701 -700
  8. package/esm2015/gridster/lib/gridster.interface.js +85 -84
  9. package/esm2015/gridster/lib/gridster.module.js +28 -27
  10. package/esm2015/gridster/lib/gridsterCompact.service.js +224 -223
  11. package/esm2015/gridster/lib/gridsterConfig.constant.js +180 -179
  12. package/esm2015/gridster/lib/gridsterConfig.interface.js +220 -219
  13. package/esm2015/gridster/lib/gridsterConfigS.interface.js +162 -161
  14. package/esm2015/gridster/lib/gridsterDraggable.service.js +511 -510
  15. package/esm2015/gridster/lib/gridsterEmptyCell.service.js +318 -317
  16. package/esm2015/gridster/lib/gridsterItem.component.js +214 -213
  17. package/esm2015/gridster/lib/gridsterItem.interface.js +47 -46
  18. package/esm2015/gridster/lib/gridsterItemComponent.interface.js +49 -48
  19. package/esm2015/gridster/lib/gridsterPreview.component.js +67 -66
  20. package/esm2015/gridster/lib/gridsterPush.service.js +468 -467
  21. package/esm2015/gridster/lib/gridsterPushResize.service.js +359 -358
  22. package/esm2015/gridster/lib/gridsterRenderer.service.js +278 -277
  23. package/esm2015/gridster/lib/gridsterResizable.service.js +553 -552
  24. package/esm2015/gridster/lib/gridsterResizeEventType.interface.js +20 -19
  25. package/esm2015/gridster/lib/gridsterScroll.service.js +196 -195
  26. package/esm2015/gridster/lib/gridsterSwap.service.js +135 -134
  27. package/esm2015/gridster/lib/gridsterUtils.service.js +138 -137
  28. package/esm2015/lib/custom.notifier.options.js +47 -46
  29. package/esm2015/lib/ra-dashboard-area/ra.dashboard.area.js +497 -494
  30. package/esm2015/lib/ra-widget-container/ra.widget.container.component.js +462 -461
  31. package/esm2015/lib/ra.base.dashboard.filter.js +76 -75
  32. package/esm2015/lib/ra.base.dashboard.template.js +72 -71
  33. package/esm2015/lib/ra.dashbard.event.bus.js +86 -85
  34. package/esm2015/lib/ra.dashboard.module.js +50 -49
  35. package/esm2015/lib/ra.dashboard.service.js +145 -144
  36. package/esm2015/lib/ra.event.enum.js +52 -51
  37. package/esm2015/lib/ra.gridster.config.js +68 -67
  38. package/esm2015/public-api.js +17 -16
  39. package/esm2015/schneideress-dashboardframework.js +15 -14
  40. package/esm5/gridster/index.js +19 -18
  41. package/esm5/gridster/lib/gridster.component.js +804 -803
  42. package/esm5/gridster/lib/gridster.interface.js +95 -94
  43. package/esm5/gridster/lib/gridster.module.js +32 -31
  44. package/esm5/gridster/lib/gridsterCompact.service.js +254 -253
  45. package/esm5/gridster/lib/gridsterConfig.constant.js +180 -179
  46. package/esm5/gridster/lib/gridsterConfig.interface.js +220 -219
  47. package/esm5/gridster/lib/gridsterConfigS.interface.js +162 -161
  48. package/esm5/gridster/lib/gridsterDraggable.service.js +550 -549
  49. package/esm5/gridster/lib/gridsterEmptyCell.service.js +359 -358
  50. package/esm5/gridster/lib/gridsterItem.component.js +239 -238
  51. package/esm5/gridster/lib/gridsterItem.interface.js +47 -46
  52. package/esm5/gridster/lib/gridsterItemComponent.interface.js +59 -58
  53. package/esm5/gridster/lib/gridsterPreview.component.js +71 -70
  54. package/esm5/gridster/lib/gridsterPush.service.js +548 -547
  55. package/esm5/gridster/lib/gridsterPushResize.service.js +424 -423
  56. package/esm5/gridster/lib/gridsterRenderer.service.js +324 -323
  57. package/esm5/gridster/lib/gridsterResizable.service.js +630 -629
  58. package/esm5/gridster/lib/gridsterResizeEventType.interface.js +20 -19
  59. package/esm5/gridster/lib/gridsterScroll.service.js +196 -195
  60. package/esm5/gridster/lib/gridsterSwap.service.js +153 -152
  61. package/esm5/gridster/lib/gridsterUtils.service.js +178 -177
  62. package/esm5/lib/custom.notifier.options.js +47 -46
  63. package/esm5/lib/ra-dashboard-area/ra.dashboard.area.js +589 -586
  64. package/esm5/lib/ra-widget-container/ra.widget.container.component.js +575 -574
  65. package/esm5/lib/ra.base.dashboard.filter.js +82 -81
  66. package/esm5/lib/ra.base.dashboard.template.js +75 -74
  67. package/esm5/lib/ra.dashbard.event.bus.js +126 -125
  68. package/esm5/lib/ra.dashboard.module.js +54 -53
  69. package/esm5/lib/ra.dashboard.service.js +222 -221
  70. package/esm5/lib/ra.event.enum.js +52 -51
  71. package/esm5/lib/ra.gridster.config.js +68 -67
  72. package/esm5/public-api.js +17 -16
  73. package/esm5/schneideress-dashboardframework.js +15 -14
  74. package/fesm2015/schneideress-dashboardframework.js +6136 -6104
  75. package/fesm2015/schneideress-dashboardframework.js.map +1 -1
  76. package/fesm5/schneideress-dashboardframework.js +7033 -7001
  77. package/fesm5/schneideress-dashboardframework.js.map +1 -1
  78. package/gridster/index.d.ts +11 -11
  79. package/gridster/lib/gridster.component.d.ts +67 -67
  80. package/gridster/lib/gridster.interface.d.ts +46 -46
  81. package/gridster/lib/gridster.module.d.ts +2 -2
  82. package/gridster/lib/gridsterCompact.service.d.ts +15 -15
  83. package/gridster/lib/gridsterConfig.constant.d.ts +2 -2
  84. package/gridster/lib/gridsterConfig.interface.d.ts +133 -133
  85. package/gridster/lib/gridsterConfigS.interface.d.ts +93 -93
  86. package/gridster/lib/gridsterDraggable.service.d.ts +59 -59
  87. package/gridster/lib/gridsterEmptyCell.service.d.ts +29 -29
  88. package/gridster/lib/gridsterItem.component.d.ts +32 -32
  89. package/gridster/lib/gridsterItem.interface.d.ts +21 -21
  90. package/gridster/lib/gridsterItemComponent.interface.d.ts +25 -25
  91. package/gridster/lib/gridsterPreview.component.d.ts +10 -10
  92. package/gridster/lib/gridsterPush.service.d.ts +33 -33
  93. package/gridster/lib/gridsterPushResize.service.d.ts +26 -26
  94. package/gridster/lib/gridsterRenderer.service.d.ts +38 -38
  95. package/gridster/lib/gridsterResizable.service.d.ts +67 -67
  96. package/gridster/lib/gridsterResizeEventType.interface.d.ts +6 -6
  97. package/gridster/lib/gridsterScroll.service.d.ts +4 -4
  98. package/gridster/lib/gridsterSwap.service.d.ts +13 -13
  99. package/gridster/lib/gridsterUtils.service.d.ts +16 -16
  100. package/lib/custom.notifier.options.d.ts +2 -2
  101. package/lib/ra-dashboard-area/ra.dashboard.area.d.ts +64 -64
  102. package/lib/ra-widget-container/ra.widget.container.component.d.ts +63 -63
  103. package/lib/ra.base.dashboard.filter.d.ts +10 -10
  104. package/lib/ra.base.dashboard.template.d.ts +15 -15
  105. package/lib/ra.dashbard.event.bus.d.ts +20 -20
  106. package/lib/ra.dashboard.module.d.ts +2 -2
  107. package/lib/ra.dashboard.service.d.ts +22 -22
  108. package/lib/ra.event.enum.d.ts +42 -42
  109. package/lib/ra.gridster.config.d.ts +2 -2
  110. package/package.json +1 -1
  111. package/public-api.d.ts +8 -8
  112. package/schneideress-dashboardframework.d.ts +9 -9
  113. package/schneideress-dashboardframework.metadata.json +1 -1
@@ -1,19 +1,20 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /**
6
- * @record
7
- */
8
- export function GridsterResizeEventType() { }
9
- if (false) {
10
- /** @type {?} */
11
- GridsterResizeEventType.prototype.n;
12
- /** @type {?} */
13
- GridsterResizeEventType.prototype.s;
14
- /** @type {?} */
15
- GridsterResizeEventType.prototype.w;
16
- /** @type {?} */
17
- GridsterResizeEventType.prototype.e;
18
- }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZHN0ZXJSZXNpemVFdmVudFR5cGUuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNjaG5laWRlcmVzcy9kYXNoYm9hcmRmcmFtZXdvcmsvIiwic291cmNlcyI6WyJncmlkc3Rlci9saWIvZ3JpZHN0ZXJSZXNpemVFdmVudFR5cGUuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSw2Q0FLQzs7O0lBSkMsb0NBQVc7O0lBQ1gsb0NBQVc7O0lBQ1gsb0NBQVc7O0lBQ1gsb0NBQVciLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEdyaWRzdGVyUmVzaXplRXZlbnRUeXBlIHtcbiAgbjogYm9vbGVhbjtcbiAgczogYm9vbGVhbjtcbiAgdzogYm9vbGVhbjtcbiAgZTogYm9vbGVhbjtcbn1cbiJdfQ==
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: gridster/lib/gridsterResizeEventType.interface.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ /**
7
+ * @record
8
+ */
9
+ export function GridsterResizeEventType() { }
10
+ if (false) {
11
+ /** @type {?} */
12
+ GridsterResizeEventType.prototype.n;
13
+ /** @type {?} */
14
+ GridsterResizeEventType.prototype.s;
15
+ /** @type {?} */
16
+ GridsterResizeEventType.prototype.w;
17
+ /** @type {?} */
18
+ GridsterResizeEventType.prototype.e;
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZHN0ZXJSZXNpemVFdmVudFR5cGUuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNjaG5laWRlcmVzcy9kYXNoYm9hcmRmcmFtZXdvcmsvIiwic291cmNlcyI6WyJncmlkc3Rlci9saWIvZ3JpZHN0ZXJSZXNpemVFdmVudFR5cGUuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsNkNBS0M7OztJQUpDLG9DQUFXOztJQUNYLG9DQUFXOztJQUNYLG9DQUFXOztJQUNYLG9DQUFXIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBHcmlkc3RlclJlc2l6ZUV2ZW50VHlwZSB7XHJcbiAgbjogYm9vbGVhbjtcclxuICBzOiBib29sZWFuO1xyXG4gIHc6IGJvb2xlYW47XHJcbiAgZTogYm9vbGVhbjtcclxufVxyXG4iXX0=
@@ -1,195 +1,196 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /** @type {?} */
6
- let scrollSensitivity;
7
- /** @type {?} */
8
- let scrollSpeed;
9
- /** @type {?} */
10
- const intervalDuration = 50;
11
- /** @type {?} */
12
- let gridsterElement;
13
- /** @type {?} */
14
- let resizeEvent;
15
- /** @type {?} */
16
- let resizeEventType;
17
- /** @type {?} */
18
- let intervalE;
19
- /** @type {?} */
20
- let intervalW;
21
- /** @type {?} */
22
- let intervalN;
23
- /** @type {?} */
24
- let intervalS;
25
- /**
26
- * @param {?} gridster
27
- * @param {?} left
28
- * @param {?} top
29
- * @param {?} width
30
- * @param {?} height
31
- * @param {?} e
32
- * @param {?} lastMouse
33
- * @param {?} calculateItemPosition
34
- * @param {?=} resize
35
- * @param {?=} resizeEventScrollType
36
- * @return {?}
37
- */
38
- export function scroll(gridster, left, top, width, height, e, lastMouse, calculateItemPosition, resize, resizeEventScrollType) {
39
- scrollSensitivity = gridster.$options.scrollSensitivity;
40
- scrollSpeed = gridster.$options.scrollSpeed;
41
- gridsterElement = gridster.el;
42
- resizeEvent = resize;
43
- resizeEventType = resizeEventScrollType;
44
- /** @type {?} */
45
- const offsetWidth = gridsterElement.offsetWidth;
46
- /** @type {?} */
47
- const offsetHeight = gridsterElement.offsetHeight;
48
- /** @type {?} */
49
- const offsetLeft = gridsterElement.scrollLeft;
50
- /** @type {?} */
51
- const offsetTop = gridsterElement.scrollTop;
52
- /** @type {?} */
53
- const elemTopOffset = top - offsetTop;
54
- /** @type {?} */
55
- const elemBottomOffset = offsetHeight + offsetTop - top - height;
56
- if (lastMouse.clientY < e.clientY && elemBottomOffset < scrollSensitivity) {
57
- cancelN();
58
- if ((resizeEvent && resizeEventType && !resizeEventType.s) || intervalS) {
59
- return;
60
- }
61
- intervalS = startVertical(1, calculateItemPosition, lastMouse);
62
- }
63
- else if (lastMouse.clientY > e.clientY && offsetTop > 0 && elemTopOffset < scrollSensitivity) {
64
- cancelS();
65
- if ((resizeEvent && resizeEventType && !resizeEventType.n) || intervalN) {
66
- return;
67
- }
68
- intervalN = startVertical(-1, calculateItemPosition, lastMouse);
69
- }
70
- else if (lastMouse.clientY !== e.clientY) {
71
- cancelVertical();
72
- }
73
- /** @type {?} */
74
- const elemRightOffset = offsetLeft + offsetWidth - left - width;
75
- /** @type {?} */
76
- const elemLeftOffset = left - offsetLeft;
77
- if (lastMouse.clientX < e.clientX && elemRightOffset <= scrollSensitivity) {
78
- cancelW();
79
- if ((resizeEvent && resizeEventType && !resizeEventType.e) || intervalE) {
80
- return;
81
- }
82
- intervalE = startHorizontal(1, calculateItemPosition, lastMouse);
83
- }
84
- else if (lastMouse.clientX > e.clientX && offsetLeft > 0 && elemLeftOffset < scrollSensitivity) {
85
- cancelE();
86
- if ((resizeEvent && resizeEventType && !resizeEventType.w) || intervalW) {
87
- return;
88
- }
89
- intervalW = startHorizontal(-1, calculateItemPosition, lastMouse);
90
- }
91
- else if (lastMouse.clientX !== e.clientX) {
92
- cancelHorizontal();
93
- }
94
- }
95
- /**
96
- * @param {?} sign
97
- * @param {?} calculateItemPosition
98
- * @param {?} lastMouse
99
- * @return {?}
100
- */
101
- function startVertical(sign, calculateItemPosition, lastMouse) {
102
- /** @type {?} */
103
- let clientY = lastMouse.clientY;
104
- return setInterval((/**
105
- * @return {?}
106
- */
107
- () => {
108
- if (!gridsterElement || sign === -1 && gridsterElement.scrollTop - scrollSpeed < 0) {
109
- cancelVertical();
110
- }
111
- gridsterElement.scrollTop += sign * scrollSpeed;
112
- clientY += sign * scrollSpeed;
113
- calculateItemPosition({ clientX: lastMouse.clientX, clientY: clientY });
114
- }), intervalDuration);
115
- }
116
- /**
117
- * @param {?} sign
118
- * @param {?} calculateItemPosition
119
- * @param {?} lastMouse
120
- * @return {?}
121
- */
122
- function startHorizontal(sign, calculateItemPosition, lastMouse) {
123
- /** @type {?} */
124
- let clientX = lastMouse.clientX;
125
- return setInterval((/**
126
- * @return {?}
127
- */
128
- () => {
129
- if (!gridsterElement || sign === -1 && gridsterElement.scrollLeft - scrollSpeed < 0) {
130
- cancelHorizontal();
131
- }
132
- gridsterElement.scrollLeft += sign * scrollSpeed;
133
- clientX += sign * scrollSpeed;
134
- calculateItemPosition({ clientX: clientX, clientY: lastMouse.clientY });
135
- }), intervalDuration);
136
- }
137
- /**
138
- * @return {?}
139
- */
140
- export function cancelScroll() {
141
- cancelHorizontal();
142
- cancelVertical();
143
- gridsterElement = undefined;
144
- }
145
- /**
146
- * @return {?}
147
- */
148
- function cancelHorizontal() {
149
- cancelE();
150
- cancelW();
151
- }
152
- /**
153
- * @return {?}
154
- */
155
- function cancelVertical() {
156
- cancelN();
157
- cancelS();
158
- }
159
- /**
160
- * @return {?}
161
- */
162
- function cancelE() {
163
- if (intervalE) {
164
- clearInterval(intervalE);
165
- intervalE = 0;
166
- }
167
- }
168
- /**
169
- * @return {?}
170
- */
171
- function cancelW() {
172
- if (intervalW) {
173
- clearInterval(intervalW);
174
- intervalW = 0;
175
- }
176
- }
177
- /**
178
- * @return {?}
179
- */
180
- function cancelS() {
181
- if (intervalS) {
182
- clearInterval(intervalS);
183
- intervalS = 0;
184
- }
185
- }
186
- /**
187
- * @return {?}
188
- */
189
- function cancelN() {
190
- if (intervalN) {
191
- clearInterval(intervalN);
192
- intervalN = 0;
193
- }
194
- }
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZHN0ZXJTY3JvbGwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzY2huZWlkZXJlc3MvZGFzaGJvYXJkZnJhbWV3b3JrLyIsInNvdXJjZXMiOlsiZ3JpZHN0ZXIvbGliL2dyaWRzdGVyU2Nyb2xsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7SUFHSSxpQkFBeUI7O0lBQ3pCLFdBQW1COztNQUNqQixnQkFBZ0IsR0FBRyxFQUFFOztJQUN2QixlQUFvQjs7SUFDcEIsV0FBZ0M7O0lBQ2hDLGVBQW9EOztJQUNwRCxTQUFpQjs7SUFDakIsU0FBaUI7O0lBQ2pCLFNBQWlCOztJQUNqQixTQUFpQjs7Ozs7Ozs7Ozs7Ozs7QUFFckIsTUFBTSxVQUFVLE1BQU0sQ0FBQyxRQUFvQyxFQUFFLElBQVksRUFBRSxHQUFXLEVBQUUsS0FBYSxFQUFFLE1BQWMsRUFDOUYsQ0FBYSxFQUFFLFNBQWMsRUFDN0IscUJBQStCLEVBQUUsTUFBZ0IsRUFBRSxxQkFBK0M7SUFDdkgsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztJQUN4RCxXQUFXLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7SUFDNUMsZUFBZSxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUM7SUFDOUIsV0FBVyxHQUFHLE1BQU0sQ0FBQztJQUNyQixlQUFlLEdBQUcscUJBQXFCLENBQUM7O1VBRWxDLFdBQVcsR0FBRyxlQUFlLENBQUMsV0FBVzs7VUFDekMsWUFBWSxHQUFHLGVBQWUsQ0FBQyxZQUFZOztVQUMzQyxVQUFVLEdBQUcsZUFBZSxDQUFDLFVBQVU7O1VBQ3ZDLFNBQVMsR0FBRyxlQUFlLENBQUMsU0FBUzs7VUFDckMsYUFBYSxHQUFHLEdBQUcsR0FBRyxTQUFTOztVQUMvQixnQkFBZ0IsR0FBRyxZQUFZLEdBQUcsU0FBUyxHQUFHLEdBQUcsR0FBRyxNQUFNO0lBQ2hFLElBQUksU0FBUyxDQUFDLE9BQU8sR0FBRyxDQUFD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QixTQUFTLEdBQUcsQ0FBQyxDQUFDO0tBQ2Y7QUFDSCxDQUFDOzs7O0FBRUQsU0FBUyxPQUFPO0lBQ2QsSUFBSSxTQUFTLEVBQUU7UUFDYixhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekIsU0FBUyxHQUFHLENBQUMsQ0FBQztLQUNmO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7R3JpZHN0ZXJSZXNpemVFdmVudFR5cGV9IGZyb20gJy4vZ3JpZHN0ZXJSZXNpemVFdmVudFR5cGUuaW50ZXJmYWNlJztcbmltcG9ydCB7R3JpZHN0ZXJDb21wb25lbnRJbnRlcmZhY2V9IGZyb20gJy4vZ3JpZHN0ZXIuaW50ZXJmYWNlJztcblxubGV0IHNjcm9sbFNlbnNpdGl2aXR5OiBudW1iZXI7XG5sZXQgc2Nyb2xsU3BlZWQ6IG51bWJlcjtcbmNvbnN0IGludGVydmFsRHVyYXRpb24gPSA1MDtcbmxldCBncmlkc3RlckVsZW1lbnQ6IGFueTtcbmxldCByZXNpemVFdmVudDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbmxldCByZXNpemVFdmVudFR5cGU6IEdyaWRzdGVyUmVzaXplRXZlbnRUeXBlIHwgdW5kZWZpbmVkO1xubGV0IGludGVydmFsRTogbnVtYmVyO1xubGV0IGludGVydmFsVzogbnVtYmVyO1xubGV0IGludGVydmFsTjogbnVtYmVyO1xubGV0IGludGVydmFsUzogbnVtYmVyO1xuXG5leHBvcnQgZnVuY3Rpb24gc2Nyb2xsKGdyaWRzdGVyOiBHcmlkc3RlckNvbXBvbmVudEludGVyZmFjZSwgbGVmdDogbnVtYmVyLCB0b3A6IG51bWJlciwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIsXG4gICAgICAgICAgICAgICAgICAgICAgIGU6IE1vdXNlRXZlbnQsIGxhc3RNb3VzZTogYW55LFxuICAgICAgICAgICAgICAgICAgICAgICBjYWxjdWxhdGVJdGVtUG9zaXRpb246IEZ1bmN0aW9uLCByZXNpemU/OiBib29sZWFuLCByZXNpemVFdmVudFNjcm9sbFR5cGU/OiBHcmlkc3RlclJlc2l6ZUV2ZW50VHlwZSkge1xuICBzY3JvbGxTZW5zaXRpdml0eSA9IGdyaWRzdGVyLiRvcHRpb25zLnNjcm9sbFNlbnNpdGl2aXR5O1xuICBzY3JvbGxTcGVlZCA9IGdyaWRzdGVyLiRvcHRpb25zLnNjcm9sbFNwZWVkO1xuICBncmlkc3RlckVsZW1lbnQgPSBncmlkc3Rlci5lbDtcbiAgcmVzaXplRXZlbnQgPSByZXNpemU7XG4gIHJlc2l6ZUV2ZW50VHlwZSA9IHJlc2l6ZUV2ZW50U2Nyb2xsVHlwZTtcblxuICBjb25zdCBvZmZzZXRXaWR0aCA9IGdyaWRzdGVyRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgY29uc3Qgb2Zmc2V0SGVpZ2h0ID0gZ3JpZHN0ZXJFbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgY29uc3Qgb2Zmc2V0TGVmdCA9IGdyaWRzdGVyRWxlbWVudC5zY3JvbGxMZWZ0O1xuICBjb25zdCBvZmZzZXRUb3AgPSBncmlkc3RlckVsZW1lbnQuc2Nyb2xsVG9wO1xuICBjb25zdCBlbGVtVG9wT2Zmc2V0ID0gdG9wIC0gb2Zmc2V0VG9wO1xuICBjb25zdCBlbGVtQm90dG9tT2Zmc2V0ID0gb2Zmc2V0SGVpZ2h0ICsgb2Zmc2V0VG9wIC0gdG9wIC0gaGVpZ2h0O1xuICBpZiAobGFzdE1vdXNlLmNsaWVudFkgPCBlLmNsaWVudFkgJiYgZWxlbUJvdHRvbU9mZnNldCA8IHNjcm9sbFNlbnNpdGl2aXR5KSB7XG4gICAgY2FuY2VsTigpO1xuICAgIGlmICgocmVzaXplRXZlbnQgJiYgcmVzaXplRXZlbnRUeXBlICYmICFyZXNpemVFdmVudFR5cGUucykgfHwgaW50ZXJ2YWxTKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGludGVydmFsUyA9IHN0YXJ0VmVydGljYWwoMSwgY2FsY3VsYXRlSXRlbVBvc2l0aW9uLCBsYXN0TW91c2UpO1xuICB9IGVsc2UgaWYgKGxhc3RNb3VzZS5jbGllbnRZID4gZS5jbGllbnRZICYmIG9mZnNldFRvcCA+IDAgJiYgZWxlbVRvcE9mZnNldCA8IHNjcm9sbFNlbnNpdGl2aXR5KSB7XG4gICAgY2FuY2VsUygpO1xuICAgIGlmICgocmVzaXplRXZlbnQgJiYgcmVzaXplRXZlbnRUeXBlICYmICFyZXNpemVFdmVudFR5cGUubikgfHwgaW50ZXJ2YWxOKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGludGVydmFsTiA9IHN0YXJ0VmVydGljYWwoLTEsIGNhbGN1bGF0ZUl0ZW1Qb3NpdGlvbiwgbGFzdE1vdXNlKTtcbiAgfSBlbHNlIGlmIChsYXN0TW91c2UuY2xpZW50WSAhPT0gZS5jbGllbnRZKSB7XG4gICAgY2FuY2VsVmVydGljYWwoKTtcbiAgfVxuXG4gIGNvbnN0IGVsZW1SaWdodE9mZnNldCA9IG9mZnNldExlZnQgKyBvZmZzZXRXaWR0aCAtIGxlZnQgLSB3aWR0aDtcbiAgY29uc3QgZWxlbUxlZnRPZmZzZXQgPSBsZWZ0IC0gb2Zmc2V0TGVmdDtcbiAgaWYgKGxhc3RNb3VzZS5jbGllbnRYIDwgZS5jbGllbnRYICYmIGVsZW1SaWdodE9mZnNldCA8PSBzY3JvbGxTZW5zaXRpdml0eSkge1xuICAgIGNhbmNlbFcoKTtcbiAgICBpZiAoKHJlc2l6ZUV2ZW50ICYmIHJlc2l6ZUV2ZW50VHlwZSAmJiAhcmVzaXplRXZlbnRUeXBlLmUpIHx8IGludGVydmFsRSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpbnRlcnZhbEUgPSBzdGFydEhvcml6b250YWwoMSwgY2FsY3VsYXRlSXRlbVBvc2l0aW9uLCBsYXN0TW91c2UpO1xuICB9IGVsc2UgaWYgKGxhc3RNb3VzZS5jbGllbnRYID4gZS5jbGllbnRYICYmIG9mZnNldExlZnQgPiAwICYmIGVsZW1MZWZ0T2Zmc2V0IDwgc2Nyb2xsU2Vuc2l0aXZpdHkpIHtcbiAgICBjYW5jZWxFKCk7XG4gICAgaWYgKChyZXNpemVFdmVudCAmJiByZXNpemVFdmVudFR5cGUgJiYgIXJlc2l6ZUV2ZW50VHlwZS53KSB8fCBpbnRlcnZhbFcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaW50ZXJ2YWxXID0gc3RhcnRIb3Jpem9udGFsKC0xLCBjYWxjdWxhdGVJdGVtUG9zaXRpb24sIGxhc3RNb3VzZSk7XG4gIH0gZWxzZSBpZiAobGFzdE1vdXNlLmNsaWVudFggIT09IGUuY2xpZW50WCkge1xuICAgIGNhbmNlbEhvcml6b250YWwoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdGFydFZlcnRpY2FsKHNpZ246IG51bWJlciwgY2FsY3VsYXRlSXRlbVBvc2l0aW9uOiBGdW5jdGlvbiwgbGFzdE1vdXNlOiBhbnkpOiBhbnkge1xuICBsZXQgY2xpZW50WSA9IGxhc3RNb3VzZS5jbGllbnRZO1xuICByZXR1cm4gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgIGlmICghZ3JpZHN0ZXJFbGVtZW50IHx8IHNpZ24gPT09IC0xICYmIGdyaWRzdGVyRWxlbWVudC5zY3JvbGxUb3AgLSBzY3JvbGxTcGVlZCA8IDApIHtcbiAgICAgIGNhbmNlbFZlcnRpY2FsKCk7XG4gICAgfVxuICAgIGdyaWRzdGVyRWxlbWVudC5zY3JvbGxUb3AgKz0gc2lnbiAqIHNjcm9sbFNwZWVkO1xuICAgIGNsaWVudFkgKz0gc2lnbiAqIHNjcm9sbFNwZWVkO1xuICAgIGNhbGN1bGF0ZUl0ZW1Qb3NpdGlvbih7Y2xpZW50WDogbGFzdE1vdXNlLmNsaWVudFgsIGNsaWVudFk6IGNsaWVudFl9KTtcbiAgfSwgaW50ZXJ2YWxEdXJhdGlvbik7XG59XG5cbmZ1bmN0aW9uIHN0YXJ0SG9yaXpvbnRhbChzaWduOiBudW1iZXIsIGNhbGN1bGF0ZUl0ZW1Qb3NpdGlvbjogRnVuY3Rpb24sIGxhc3RNb3VzZTogYW55KTogYW55IHtcbiAgbGV0IGNsaWVudFggPSBsYXN0TW91c2UuY2xpZW50WDtcbiAgcmV0dXJuIHNldEludGVydmFsKCgpID0+IHtcbiAgICBpZiAoIWdyaWRzdGVyRWxlbWVudCB8fCBzaWduID09PSAtMSAmJiBncmlkc3RlckVsZW1lbnQuc2Nyb2xsTGVmdCAtIHNjcm9sbFNwZWVkIDwgMCkge1xuICAgICAgY2FuY2VsSG9yaXpvbnRhbCgpO1xuICAgIH1cbiAgICBncmlkc3RlckVsZW1lbnQuc2Nyb2xsTGVmdCArPSBzaWduICogc2Nyb2xsU3BlZWQ7XG4gICAgY2xpZW50WCArPSBzaWduICogc2Nyb2xsU3BlZWQ7XG4gICAgY2FsY3VsYXRlSXRlbVBvc2l0aW9uKHtjbGllbnRYOiBjbGllbnRYLCBjbGllbnRZOiBsYXN0TW91c2UuY2xpZW50WX0pO1xuICB9LCBpbnRlcnZhbER1cmF0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbmNlbFNjcm9sbCgpIHtcbiAgY2FuY2VsSG9yaXpvbnRhbCgpO1xuICBjYW5jZWxWZXJ0aWNhbCgpO1xuICBncmlkc3RlckVsZW1lbnQgPSB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGNhbmNlbEhvcml6b250YWwoKSB7XG4gIGNhbmNlbEUoKTtcbiAgY2FuY2VsVygpO1xufVxuXG5mdW5jdGlvbiBjYW5jZWxWZXJ0aWNhbCgpIHtcbiAgY2FuY2VsTigpO1xuICBjYW5jZWxTKCk7XG59XG5cbmZ1bmN0aW9uIGNhbmNlbEUoKSB7XG4gIGlmIChpbnRlcnZhbEUpIHtcbiAgICBjbGVhckludGVydmFsKGludGVydmFsRSk7XG4gICAgaW50ZXJ2YWxFID0gMDtcbiAgfVxufVxuXG5mdW5jdGlvbiBjYW5jZWxXKCkge1xuICBpZiAoaW50ZXJ2YWxXKSB7XG4gICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbFcpO1xuICAgIGludGVydmFsVyA9IDA7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2FuY2VsUygpIHtcbiAgaWYgKGludGVydmFsUykge1xuICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWxTKTtcbiAgICBpbnRlcnZhbFMgPSAwO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNhbmNlbE4oKSB7XG4gIGlmIChpbnRlcnZhbE4pIHtcbiAgICBjbGVhckludGVydmFsKGludGVydmFsTik7XG4gICAgaW50ZXJ2YWxOID0gMDtcbiAgfVxufVxuIl19
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: gridster/lib/gridsterScroll.service.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ /** @type {?} */
7
+ let scrollSensitivity;
8
+ /** @type {?} */
9
+ let scrollSpeed;
10
+ /** @type {?} */
11
+ const intervalDuration = 50;
12
+ /** @type {?} */
13
+ let gridsterElement;
14
+ /** @type {?} */
15
+ let resizeEvent;
16
+ /** @type {?} */
17
+ let resizeEventType;
18
+ /** @type {?} */
19
+ let intervalE;
20
+ /** @type {?} */
21
+ let intervalW;
22
+ /** @type {?} */
23
+ let intervalN;
24
+ /** @type {?} */
25
+ let intervalS;
26
+ /**
27
+ * @param {?} gridster
28
+ * @param {?} left
29
+ * @param {?} top
30
+ * @param {?} width
31
+ * @param {?} height
32
+ * @param {?} e
33
+ * @param {?} lastMouse
34
+ * @param {?} calculateItemPosition
35
+ * @param {?=} resize
36
+ * @param {?=} resizeEventScrollType
37
+ * @return {?}
38
+ */
39
+ export function scroll(gridster, left, top, width, height, e, lastMouse, calculateItemPosition, resize, resizeEventScrollType) {
40
+ scrollSensitivity = gridster.$options.scrollSensitivity;
41
+ scrollSpeed = gridster.$options.scrollSpeed;
42
+ gridsterElement = gridster.el;
43
+ resizeEvent = resize;
44
+ resizeEventType = resizeEventScrollType;
45
+ /** @type {?} */
46
+ const offsetWidth = gridsterElement.offsetWidth;
47
+ /** @type {?} */
48
+ const offsetHeight = gridsterElement.offsetHeight;
49
+ /** @type {?} */
50
+ const offsetLeft = gridsterElement.scrollLeft;
51
+ /** @type {?} */
52
+ const offsetTop = gridsterElement.scrollTop;
53
+ /** @type {?} */
54
+ const elemTopOffset = top - offsetTop;
55
+ /** @type {?} */
56
+ const elemBottomOffset = offsetHeight + offsetTop - top - height;
57
+ if (lastMouse.clientY < e.clientY && elemBottomOffset < scrollSensitivity) {
58
+ cancelN();
59
+ if ((resizeEvent && resizeEventType && !resizeEventType.s) || intervalS) {
60
+ return;
61
+ }
62
+ intervalS = startVertical(1, calculateItemPosition, lastMouse);
63
+ }
64
+ else if (lastMouse.clientY > e.clientY && offsetTop > 0 && elemTopOffset < scrollSensitivity) {
65
+ cancelS();
66
+ if ((resizeEvent && resizeEventType && !resizeEventType.n) || intervalN) {
67
+ return;
68
+ }
69
+ intervalN = startVertical(-1, calculateItemPosition, lastMouse);
70
+ }
71
+ else if (lastMouse.clientY !== e.clientY) {
72
+ cancelVertical();
73
+ }
74
+ /** @type {?} */
75
+ const elemRightOffset = offsetLeft + offsetWidth - left - width;
76
+ /** @type {?} */
77
+ const elemLeftOffset = left - offsetLeft;
78
+ if (lastMouse.clientX < e.clientX && elemRightOffset <= scrollSensitivity) {
79
+ cancelW();
80
+ if ((resizeEvent && resizeEventType && !resizeEventType.e) || intervalE) {
81
+ return;
82
+ }
83
+ intervalE = startHorizontal(1, calculateItemPosition, lastMouse);
84
+ }
85
+ else if (lastMouse.clientX > e.clientX && offsetLeft > 0 && elemLeftOffset < scrollSensitivity) {
86
+ cancelE();
87
+ if ((resizeEvent && resizeEventType && !resizeEventType.w) || intervalW) {
88
+ return;
89
+ }
90
+ intervalW = startHorizontal(-1, calculateItemPosition, lastMouse);
91
+ }
92
+ else if (lastMouse.clientX !== e.clientX) {
93
+ cancelHorizontal();
94
+ }
95
+ }
96
+ /**
97
+ * @param {?} sign
98
+ * @param {?} calculateItemPosition
99
+ * @param {?} lastMouse
100
+ * @return {?}
101
+ */
102
+ function startVertical(sign, calculateItemPosition, lastMouse) {
103
+ /** @type {?} */
104
+ let clientY = lastMouse.clientY;
105
+ return setInterval((/**
106
+ * @return {?}
107
+ */
108
+ () => {
109
+ if (!gridsterElement || sign === -1 && gridsterElement.scrollTop - scrollSpeed < 0) {
110
+ cancelVertical();
111
+ }
112
+ gridsterElement.scrollTop += sign * scrollSpeed;
113
+ clientY += sign * scrollSpeed;
114
+ calculateItemPosition({ clientX: lastMouse.clientX, clientY: clientY });
115
+ }), intervalDuration);
116
+ }
117
+ /**
118
+ * @param {?} sign
119
+ * @param {?} calculateItemPosition
120
+ * @param {?} lastMouse
121
+ * @return {?}
122
+ */
123
+ function startHorizontal(sign, calculateItemPosition, lastMouse) {
124
+ /** @type {?} */
125
+ let clientX = lastMouse.clientX;
126
+ return setInterval((/**
127
+ * @return {?}
128
+ */
129
+ () => {
130
+ if (!gridsterElement || sign === -1 && gridsterElement.scrollLeft - scrollSpeed < 0) {
131
+ cancelHorizontal();
132
+ }
133
+ gridsterElement.scrollLeft += sign * scrollSpeed;
134
+ clientX += sign * scrollSpeed;
135
+ calculateItemPosition({ clientX: clientX, clientY: lastMouse.clientY });
136
+ }), intervalDuration);
137
+ }
138
+ /**
139
+ * @return {?}
140
+ */
141
+ export function cancelScroll() {
142
+ cancelHorizontal();
143
+ cancelVertical();
144
+ gridsterElement = undefined;
145
+ }
146
+ /**
147
+ * @return {?}
148
+ */
149
+ function cancelHorizontal() {
150
+ cancelE();
151
+ cancelW();
152
+ }
153
+ /**
154
+ * @return {?}
155
+ */
156
+ function cancelVertical() {
157
+ cancelN();
158
+ cancelS();
159
+ }
160
+ /**
161
+ * @return {?}
162
+ */
163
+ function cancelE() {
164
+ if (intervalE) {
165
+ clearInterval(intervalE);
166
+ intervalE = 0;
167
+ }
168
+ }
169
+ /**
170
+ * @return {?}
171
+ */
172
+ function cancelW() {
173
+ if (intervalW) {
174
+ clearInterval(intervalW);
175
+ intervalW = 0;
176
+ }
177
+ }
178
+ /**
179
+ * @return {?}
180
+ */
181
+ function cancelS() {
182
+ if (intervalS) {
183
+ clearInterval(intervalS);
184
+ intervalS = 0;
185
+ }
186
+ }
187
+ /**
188
+ * @return {?}
189
+ */
190
+ function cancelN() {
191
+ if (intervalN) {
192
+ clearInterval(intervalN);
193
+ intervalN = 0;
194
+ }
195
+ }
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZHN0ZXJTY3JvbGwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzY2huZWlkZXJlc3MvZGFzaGJvYXJkZnJhbWV3b3JrLyIsInNvdXJjZXMiOlsiZ3JpZHN0ZXIvbGliL2dyaWRzdGVyU2Nyb2xsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0lBR0ksaUJBQXlCOztJQUN6QixXQUFtQjs7TUFDakIsZ0JBQWdCLEdBQUcsRUFBRTs7SUFDdkIsZUFBb0I7O0lBQ3BCLFdBQWdDOztJQUNoQyxlQUFvRDs7SUFDcEQsU0FBaUI7O0lBQ2pCLFNBQWlCOztJQUNqQixTQUFpQjs7SUFDakIsU0FBaUI7Ozs7Ozs7Ozs7Ozs7O0FBRXJCLE1BQU0sVUFBVSxNQUFNLENBQUMsUUFBb0MsRUFBRSxJQUFZLEVBQUUsR0FBVyxFQUFFLEtBQWEsRUFBRSxNQUFjLEVBQzlGLENBQWEsRUFBRSxTQUFjLEVBQzdCLHFCQUErQixFQUFFLE1BQWdCLEVBQUUscUJBQStDO0lBQ3ZILGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUM7SUFDeEQsV0FBVyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO0lBQzVDLGVBQWUsR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQzlCLFdBQVcsR0FBRyxNQUFNLENBQUM7SUFDckIsZUFBZSxHQUFHLHFCQUFxQixDQUFDOztVQUVsQyxXQUFXLEdBQUcsZUFBZSxDQUFDLFdBQVc7O1VBQ3pDLFlBQVksR0FBRyxlQUFlLENBQUMsWUFBWTs7VUFDM0MsVUFBVSxHQUFHLGVBQWUsQ0FBQyxVQUFVOztVQUN2QyxTQUFTLEdBQUcsZUFBZSxDQUFDLFNBQVM7O1VBQ3JDLGFBQWEsR0FBRyxHQUFHLEdBQUcsU0FBUzs7VUFDL0IsZ0JBQWdCLEdBQUcsWUFBWSxHQUFHLFNBQVMsR0FBRyxHQUFHLEdBQUcsTUFBTTtJQUNoRSxJQUFJLFNBQVMsQ0FBQyxPQUFPLEdBQUcsQ0FB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ekIsU0FBUyxHQUFHLENBQUMsQ0FBQztLQUNmO0FBQ0gsQ0FBQzs7OztBQUVELFNBQVMsT0FBTztJQUNkLElBQUksU0FBUyxFQUFFO1FBQ2IsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pCLFNBQVMsR0FBRyxDQUFDLENBQUM7S0FDZjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0dyaWRzdGVyUmVzaXplRXZlbnRUeXBlfSBmcm9tICcuL2dyaWRzdGVyUmVzaXplRXZlbnRUeXBlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7R3JpZHN0ZXJDb21wb25lbnRJbnRlcmZhY2V9IGZyb20gJy4vZ3JpZHN0ZXIuaW50ZXJmYWNlJztcclxuXHJcbmxldCBzY3JvbGxTZW5zaXRpdml0eTogbnVtYmVyO1xyXG5sZXQgc2Nyb2xsU3BlZWQ6IG51bWJlcjtcclxuY29uc3QgaW50ZXJ2YWxEdXJhdGlvbiA9IDUwO1xyXG5sZXQgZ3JpZHN0ZXJFbGVtZW50OiBhbnk7XHJcbmxldCByZXNpemVFdmVudDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcclxubGV0IHJlc2l6ZUV2ZW50VHlwZTogR3JpZHN0ZXJSZXNpemVFdmVudFR5cGUgfCB1bmRlZmluZWQ7XHJcbmxldCBpbnRlcnZhbEU6IG51bWJlcjtcclxubGV0IGludGVydmFsVzogbnVtYmVyO1xyXG5sZXQgaW50ZXJ2YWxOOiBudW1iZXI7XHJcbmxldCBpbnRlcnZhbFM6IG51bWJlcjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzY3JvbGwoZ3JpZHN0ZXI6IEdyaWRzdGVyQ29tcG9uZW50SW50ZXJmYWNlLCBsZWZ0OiBudW1iZXIsIHRvcDogbnVtYmVyLCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcixcclxuICAgICAgICAgICAgICAgICAgICAgICBlOiBNb3VzZUV2ZW50LCBsYXN0TW91c2U6IGFueSxcclxuICAgICAgICAgICAgICAgICAgICAgICBjYWxjdWxhdGVJdGVtUG9zaXRpb246IEZ1bmN0aW9uLCByZXNpemU/OiBib29sZWFuLCByZXNpemVFdmVudFNjcm9sbFR5cGU/OiBHcmlkc3RlclJlc2l6ZUV2ZW50VHlwZSkge1xyXG4gIHNjcm9sbFNlbnNpdGl2aXR5ID0gZ3JpZHN0ZXIuJG9wdGlvbnMuc2Nyb2xsU2Vuc2l0aXZpdHk7XHJcbiAgc2Nyb2xsU3BlZWQgPSBncmlkc3Rlci4kb3B0aW9ucy5zY3JvbGxTcGVlZDtcclxuICBncmlkc3RlckVsZW1lbnQgPSBncmlkc3Rlci5lbDtcclxuICByZXNpemVFdmVudCA9IHJlc2l6ZTtcclxuICByZXNpemVFdmVudFR5cGUgPSByZXNpemVFdmVudFNjcm9sbFR5cGU7XHJcblxyXG4gIGNvbnN0IG9mZnNldFdpZHRoID0gZ3JpZHN0ZXJFbGVtZW50Lm9mZnNldFdpZHRoO1xyXG4gIGNvbnN0IG9mZnNldEhlaWdodCA9IGdyaWRzdGVyRWxlbWVudC5vZmZzZXRIZWlnaHQ7XHJcbiAgY29uc3Qgb2Zmc2V0TGVmdCA9IGdyaWRzdGVyRWxlbWVudC5zY3JvbGxMZWZ0O1xyXG4gIGNvbnN0IG9mZnNldFRvcCA9IGdyaWRzdGVyRWxlbWVudC5zY3JvbGxUb3A7XHJcbiAgY29uc3QgZWxlbVRvcE9mZnNldCA9IHRvcCAtIG9mZnNldFRvcDtcclxuICBjb25zdCBlbGVtQm90dG9tT2Zmc2V0ID0gb2Zmc2V0SGVpZ2h0ICsgb2Zmc2V0VG9wIC0gdG9wIC0gaGVpZ2h0O1xyXG4gIGlmIChsYXN0TW91c2UuY2xpZW50WSA8IGUuY2xpZW50WSAmJiBlbGVtQm90dG9tT2Zmc2V0IDwgc2Nyb2xsU2Vuc2l0aXZpdHkpIHtcclxuICAgIGNhbmNlbE4oKTtcclxuICAgIGlmICgocmVzaXplRXZlbnQgJiYgcmVzaXplRXZlbnRUeXBlICYmICFyZXNpemVFdmVudFR5cGUucykgfHwgaW50ZXJ2YWxTKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGludGVydmFsUyA9IHN0YXJ0VmVydGljYWwoMSwgY2FsY3VsYXRlSXRlbVBvc2l0aW9uLCBsYXN0TW91c2UpO1xyXG4gIH0gZWxzZSBpZiAobGFzdE1vdXNlLmNsaWVudFkgPiBlLmNsaWVudFkgJiYgb2Zmc2V0VG9wID4gMCAmJiBlbGVtVG9wT2Zmc2V0IDwgc2Nyb2xsU2Vuc2l0aXZpdHkpIHtcclxuICAgIGNhbmNlbFMoKTtcclxuICAgIGlmICgocmVzaXplRXZlbnQgJiYgcmVzaXplRXZlbnRUeXBlICYmICFyZXNpemVFdmVudFR5cGUubikgfHwgaW50ZXJ2YWxOKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGludGVydmFsTiA9IHN0YXJ0VmVydGljYWwoLTEsIGNhbGN1bGF0ZUl0ZW1Qb3NpdGlvbiwgbGFzdE1vdXNlKTtcclxuICB9IGVsc2UgaWYgKGxhc3RNb3VzZS5jbGllbnRZICE9PSBlLmNsaWVudFkpIHtcclxuICAgIGNhbmNlbFZlcnRpY2FsKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdCBlbGVtUmlnaHRPZmZzZXQgPSBvZmZzZXRMZWZ0ICsgb2Zmc2V0V2lkdGggLSBsZWZ0IC0gd2lkdGg7XHJcbiAgY29uc3QgZWxlbUxlZnRPZmZzZXQgPSBsZWZ0IC0gb2Zmc2V0TGVmdDtcclxuICBpZiAobGFzdE1vdXNlLmNsaWVudFggPCBlLmNsaWVudFggJiYgZWxlbVJpZ2h0T2Zmc2V0IDw9IHNjcm9sbFNlbnNpdGl2aXR5KSB7XHJcbiAgICBjYW5jZWxXKCk7XHJcbiAgICBpZiAoKHJlc2l6ZUV2ZW50ICYmIHJlc2l6ZUV2ZW50VHlwZSAmJiAhcmVzaXplRXZlbnRUeXBlLmUpIHx8IGludGVydmFsRSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpbnRlcnZhbEUgPSBzdGFydEhvcml6b250YWwoMSwgY2FsY3VsYXRlSXRlbVBvc2l0aW9uLCBsYXN0TW91c2UpO1xyXG4gIH0gZWxzZSBpZiAobGFzdE1vdXNlLmNsaWVudFggPiBlLmNsaWVudFggJiYgb2Zmc2V0TGVmdCA+IDAgJiYgZWxlbUxlZnRPZmZzZXQgPCBzY3JvbGxTZW5zaXRpdml0eSkge1xyXG4gICAgY2FuY2VsRSgpO1xyXG4gICAgaWYgKChyZXNpemVFdmVudCAmJiByZXNpemVFdmVudFR5cGUgJiYgIXJlc2l6ZUV2ZW50VHlwZS53KSB8fCBpbnRlcnZhbFcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaW50ZXJ2YWxXID0gc3RhcnRIb3Jpem9udGFsKC0xLCBjYWxjdWxhdGVJdGVtUG9zaXRpb24sIGxhc3RNb3VzZSk7XHJcbiAgfSBlbHNlIGlmIChsYXN0TW91c2UuY2xpZW50WCAhPT0gZS5jbGllbnRYKSB7XHJcbiAgICBjYW5jZWxIb3Jpem9udGFsKCk7XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBzdGFydFZlcnRpY2FsKHNpZ246IG51bWJlciwgY2FsY3VsYXRlSXRlbVBvc2l0aW9uOiBGdW5jdGlvbiwgbGFzdE1vdXNlOiBhbnkpOiBhbnkge1xyXG4gIGxldCBjbGllbnRZID0gbGFzdE1vdXNlLmNsaWVudFk7XHJcbiAgcmV0dXJuIHNldEludGVydmFsKCgpID0+IHtcclxuICAgIGlmICghZ3JpZHN0ZXJFbGVtZW50IHx8IHNpZ24gPT09IC0xICYmIGdyaWRzdGVyRWxlbWVudC5zY3JvbGxUb3AgLSBzY3JvbGxTcGVlZCA8IDApIHtcclxuICAgICAgY2FuY2VsVmVydGljYWwoKTtcclxuICAgIH1cclxuICAgIGdyaWRzdGVyRWxlbWVudC5zY3JvbGxUb3AgKz0gc2lnbiAqIHNjcm9sbFNwZWVkO1xyXG4gICAgY2xpZW50WSArPSBzaWduICogc2Nyb2xsU3BlZWQ7XHJcbiAgICBjYWxjdWxhdGVJdGVtUG9zaXRpb24oe2NsaWVudFg6IGxhc3RNb3VzZS5jbGllbnRYLCBjbGllbnRZOiBjbGllbnRZfSk7XHJcbiAgfSwgaW50ZXJ2YWxEdXJhdGlvbik7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHN0YXJ0SG9yaXpvbnRhbChzaWduOiBudW1iZXIsIGNhbGN1bGF0ZUl0ZW1Qb3NpdGlvbjogRnVuY3Rpb24sIGxhc3RNb3VzZTogYW55KTogYW55IHtcclxuICBsZXQgY2xpZW50WCA9IGxhc3RNb3VzZS5jbGllbnRYO1xyXG4gIHJldHVybiBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICBpZiAoIWdyaWRzdGVyRWxlbWVudCB8fCBzaWduID09PSAtMSAmJiBncmlkc3RlckVsZW1lbnQuc2Nyb2xsTGVmdCAtIHNjcm9sbFNwZWVkIDwgMCkge1xyXG4gICAgICBjYW5jZWxIb3Jpem9udGFsKCk7XHJcbiAgICB9XHJcbiAgICBncmlkc3RlckVsZW1lbnQuc2Nyb2xsTGVmdCArPSBzaWduICogc2Nyb2xsU3BlZWQ7XHJcbiAgICBjbGllbnRYICs9IHNpZ24gKiBzY3JvbGxTcGVlZDtcclxuICAgIGNhbGN1bGF0ZUl0ZW1Qb3NpdGlvbih7Y2xpZW50WDogY2xpZW50WCwgY2xpZW50WTogbGFzdE1vdXNlLmNsaWVudFl9KTtcclxuICB9LCBpbnRlcnZhbER1cmF0aW9uKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNhbmNlbFNjcm9sbCgpIHtcclxuICBjYW5jZWxIb3Jpem9udGFsKCk7XHJcbiAgY2FuY2VsVmVydGljYWwoKTtcclxuICBncmlkc3RlckVsZW1lbnQgPSB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNhbmNlbEhvcml6b250YWwoKSB7XHJcbiAgY2FuY2VsRSgpO1xyXG4gIGNhbmNlbFcoKTtcclxufVxyXG5cclxuZnVuY3Rpb24gY2FuY2VsVmVydGljYWwoKSB7XHJcbiAgY2FuY2VsTigpO1xyXG4gIGNhbmNlbFMoKTtcclxufVxyXG5cclxuZnVuY3Rpb24gY2FuY2VsRSgpIHtcclxuICBpZiAoaW50ZXJ2YWxFKSB7XHJcbiAgICBjbGVhckludGVydmFsKGludGVydmFsRSk7XHJcbiAgICBpbnRlcnZhbEUgPSAwO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gY2FuY2VsVygpIHtcclxuICBpZiAoaW50ZXJ2YWxXKSB7XHJcbiAgICBjbGVhckludGVydmFsKGludGVydmFsVyk7XHJcbiAgICBpbnRlcnZhbFcgPSAwO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gY2FuY2VsUygpIHtcclxuICBpZiAoaW50ZXJ2YWxTKSB7XHJcbiAgICBjbGVhckludGVydmFsKGludGVydmFsUyk7XHJcbiAgICBpbnRlcnZhbFMgPSAwO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gY2FuY2VsTigpIHtcclxuICBpZiAoaW50ZXJ2YWxOKSB7XHJcbiAgICBjbGVhckludGVydmFsKGludGVydmFsTik7XHJcbiAgICBpbnRlcnZhbE4gPSAwO1xyXG4gIH1cclxufVxyXG4iXX0=