@egjs/flicking 4.14.1 → 4.14.2-beta.1
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.
- package/declaration/Flicking.d.ts +9 -1
- package/declaration/control/AxesController.d.ts +1 -0
- package/declaration/renderer/Renderer.d.ts +1 -0
- package/dist/flicking.cjs.js +115 -19
- package/dist/flicking.cjs.js.map +1 -1
- package/dist/flicking.esm.js +115 -19
- package/dist/flicking.esm.js.map +1 -1
- package/dist/flicking.js +115 -19
- package/dist/flicking.js.map +1 -1
- package/dist/flicking.min.js +2 -2
- package/dist/flicking.min.js.map +1 -1
- package/dist/flicking.pkgd.js +166 -70
- package/dist/flicking.pkgd.js.map +1 -1
- package/dist/flicking.pkgd.min.js +2 -2
- package/dist/flicking.pkgd.min.js.map +1 -1
- package/package.json +1 -1
- package/src/Flicking.ts +39 -1
- package/src/cfc/getRenderingPanels.ts +9 -5
- package/src/control/AxesController.ts +9 -1
- package/src/control/Control.ts +9 -2
- package/src/control/StrictControl.ts +3 -2
- package/src/core/AutoResizer.ts +3 -0
- package/src/renderer/Renderer.ts +20 -0
- package/src/renderer/VanillaRenderer.ts +11 -3
package/dist/flicking.pkgd.js
CHANGED
|
@@ -4,7 +4,7 @@ name: @egjs/flicking
|
|
|
4
4
|
license: MIT
|
|
5
5
|
author: NAVER Corp.
|
|
6
6
|
repository: https://github.com/naver/egjs-flicking
|
|
7
|
-
version: 4.14.1
|
|
7
|
+
version: 4.14.2-beta.1
|
|
8
8
|
*/
|
|
9
9
|
(function (global, factory) {
|
|
10
10
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
@@ -26,7 +26,7 @@ version: 4.14.1
|
|
|
26
26
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
27
27
|
PERFORMANCE OF THIS SOFTWARE.
|
|
28
28
|
***************************************************************************** */
|
|
29
|
-
/* global Reflect, Promise, SuppressedError, Symbol
|
|
29
|
+
/* global Reflect, Promise, SuppressedError, Symbol */
|
|
30
30
|
|
|
31
31
|
var extendStatics$3 = function (d, b) {
|
|
32
32
|
extendStatics$3 = Object.setPrototypeOf || {
|
|
@@ -96,8 +96,12 @@ version: 4.14.1
|
|
|
96
96
|
f,
|
|
97
97
|
y,
|
|
98
98
|
t,
|
|
99
|
-
g
|
|
100
|
-
return g
|
|
99
|
+
g;
|
|
100
|
+
return g = {
|
|
101
|
+
next: verb(0),
|
|
102
|
+
"throw": verb(1),
|
|
103
|
+
"return": verb(2)
|
|
104
|
+
}, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
|
|
101
105
|
return this;
|
|
102
106
|
}), g;
|
|
103
107
|
function verb(n) {
|
|
@@ -222,7 +226,7 @@ version: 4.14.1
|
|
|
222
226
|
license: MIT
|
|
223
227
|
author: NAVER Corp.
|
|
224
228
|
repository: https://github.com/naver/egjs-component
|
|
225
|
-
version: 3.0.
|
|
229
|
+
version: 3.0.4
|
|
226
230
|
*/
|
|
227
231
|
/*! *****************************************************************************
|
|
228
232
|
Copyright (c) Microsoft Corporation.
|
|
@@ -554,6 +558,7 @@ version: 4.14.1
|
|
|
554
558
|
* ```
|
|
555
559
|
*/
|
|
556
560
|
__proto.off = function (eventName, handlerToDetach) {
|
|
561
|
+
var e_1, _a;
|
|
557
562
|
// Detach all event handlers.
|
|
558
563
|
if (isUndefined(eventName)) {
|
|
559
564
|
this._eventHandler = {};
|
|
@@ -575,14 +580,28 @@ version: 4.14.1
|
|
|
575
580
|
// Detach single event handler
|
|
576
581
|
var handlerList = this._eventHandler[eventName];
|
|
577
582
|
if (handlerList) {
|
|
578
|
-
var
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
if (
|
|
583
|
-
|
|
583
|
+
var idx = 0;
|
|
584
|
+
try {
|
|
585
|
+
for (var handlerList_1 = __values(handlerList), handlerList_1_1 = handlerList_1.next(); !handlerList_1_1.done; handlerList_1_1 = handlerList_1.next()) {
|
|
586
|
+
var handlerFunction = handlerList_1_1.value;
|
|
587
|
+
if (handlerFunction === handlerToDetach) {
|
|
588
|
+
handlerList.splice(idx, 1);
|
|
589
|
+
if (handlerList.length <= 0) {
|
|
590
|
+
delete this._eventHandler[eventName];
|
|
591
|
+
}
|
|
592
|
+
break;
|
|
584
593
|
}
|
|
585
|
-
|
|
594
|
+
idx++;
|
|
595
|
+
}
|
|
596
|
+
} catch (e_1_1) {
|
|
597
|
+
e_1 = {
|
|
598
|
+
error: e_1_1
|
|
599
|
+
};
|
|
600
|
+
} finally {
|
|
601
|
+
try {
|
|
602
|
+
if (handlerList_1_1 && !handlerList_1_1.done && (_a = handlerList_1.return)) _a.call(handlerList_1);
|
|
603
|
+
} finally {
|
|
604
|
+
if (e_1) throw e_1.error;
|
|
586
605
|
}
|
|
587
606
|
}
|
|
588
607
|
}
|
|
@@ -597,7 +616,7 @@ version: 4.14.1
|
|
|
597
616
|
* Component.VERSION; // ex) 3.0.0
|
|
598
617
|
* @memberof Component
|
|
599
618
|
*/
|
|
600
|
-
Component.VERSION = "3.0.
|
|
619
|
+
Component.VERSION = "3.0.4";
|
|
601
620
|
return Component;
|
|
602
621
|
}();
|
|
603
622
|
|
|
@@ -1394,6 +1413,9 @@ version: 4.14.1
|
|
|
1394
1413
|
* @ko autoResize 옵션을 사용할 때 크기 변화를 감지하고 Flicking의 resize를 호출하는 컴포넌트
|
|
1395
1414
|
*/
|
|
1396
1415
|
var AutoResizer = /*#__PURE__*/function () {
|
|
1416
|
+
/**
|
|
1417
|
+
* @param flicking
|
|
1418
|
+
*/
|
|
1397
1419
|
function AutoResizer(flicking) {
|
|
1398
1420
|
var _this = this;
|
|
1399
1421
|
this._onResizeWrapper = function () {
|
|
@@ -1843,8 +1865,8 @@ version: 4.14.1
|
|
|
1843
1865
|
name: @egjs/agent
|
|
1844
1866
|
license: MIT
|
|
1845
1867
|
author: NAVER Corp.
|
|
1846
|
-
repository: git+https://github.com/naver/
|
|
1847
|
-
version: 2.4.
|
|
1868
|
+
repository: git+https://github.com/naver/agent.git
|
|
1869
|
+
version: 2.4.3
|
|
1848
1870
|
*/
|
|
1849
1871
|
function some(arr, callback) {
|
|
1850
1872
|
var length = arr.length;
|
|
@@ -2146,12 +2168,12 @@ version: 4.14.1
|
|
|
2146
2168
|
});
|
|
2147
2169
|
var chromiumBrand = findPresetBrand(CHROMIUM_PRESETS, brands);
|
|
2148
2170
|
browser.chromium = !!chromiumBrand.brand;
|
|
2149
|
-
browser.chromiumVersion = chromiumBrand.version
|
|
2171
|
+
browser.chromiumVersion = chromiumBrand.version;
|
|
2150
2172
|
|
|
2151
2173
|
if (!browser.chromium) {
|
|
2152
2174
|
var webkitBrand = findPresetBrand(WEBKIT_PRESETS, brands);
|
|
2153
2175
|
browser.webkit = !!webkitBrand.brand;
|
|
2154
|
-
browser.webkitVersion = webkitBrand.version
|
|
2176
|
+
browser.webkitVersion = webkitBrand.version;
|
|
2155
2177
|
}
|
|
2156
2178
|
|
|
2157
2179
|
var platfomResult = find(OS_PRESETS, function (preset) {
|
|
@@ -2160,7 +2182,7 @@ version: 4.14.1
|
|
|
2160
2182
|
os.name = platfomResult ? platfomResult.id : "";
|
|
2161
2183
|
|
|
2162
2184
|
if (osData) {
|
|
2163
|
-
os.version = osData.platformVersion
|
|
2185
|
+
os.version = osData.platformVersion;
|
|
2164
2186
|
}
|
|
2165
2187
|
|
|
2166
2188
|
if (fullVersionList && fullVersionList.length) {
|
|
@@ -3085,7 +3107,7 @@ version: 4.14.1
|
|
|
3085
3107
|
license: MIT
|
|
3086
3108
|
author: NAVER Corp.
|
|
3087
3109
|
repository: https://github.com/naver/egjs-axes
|
|
3088
|
-
version: 3.9.
|
|
3110
|
+
version: 3.9.1
|
|
3089
3111
|
*/
|
|
3090
3112
|
|
|
3091
3113
|
/*! *****************************************************************************
|
|
@@ -4011,19 +4033,6 @@ version: 4.14.1
|
|
|
4011
4033
|
var deltaTime = latestInterval ? timeStamp - latestInterval.timestamp : 0;
|
|
4012
4034
|
var velocityX = prevEvent ? prevEvent.velocityX : 0;
|
|
4013
4035
|
var velocityY = prevEvent ? prevEvent.velocityY : 0;
|
|
4014
|
-
var directionX = prevEvent ? prevEvent.directionX : 1;
|
|
4015
|
-
var directionY = prevEvent ? prevEvent.directionY : 1;
|
|
4016
|
-
// If offset is 0, it inherits the direction of the previous event.
|
|
4017
|
-
if (offsetX > 0) {
|
|
4018
|
-
directionX = 1;
|
|
4019
|
-
} else if (offsetX < 0) {
|
|
4020
|
-
directionX = -1;
|
|
4021
|
-
}
|
|
4022
|
-
if (offsetY > 0) {
|
|
4023
|
-
directionY = 1;
|
|
4024
|
-
} else if (offsetY < 0) {
|
|
4025
|
-
directionY = -1;
|
|
4026
|
-
}
|
|
4027
4036
|
if (!latestInterval || deltaTime >= VELOCITY_INTERVAL) {
|
|
4028
4037
|
if (latestInterval) {
|
|
4029
4038
|
_a = [(deltaX - latestInterval.deltaX) / deltaTime, (deltaY - latestInterval.deltaY) / deltaTime], velocityX = _a[0], velocityY = _a[1];
|
|
@@ -4043,8 +4052,6 @@ version: 4.14.1
|
|
|
4043
4052
|
deltaY: deltaY,
|
|
4044
4053
|
offsetX: offsetX,
|
|
4045
4054
|
offsetY: offsetY,
|
|
4046
|
-
directionX: directionX,
|
|
4047
|
-
directionY: directionY,
|
|
4048
4055
|
velocityX: velocityX,
|
|
4049
4056
|
velocityY: velocityY,
|
|
4050
4057
|
preventSystemEvent: true
|
|
@@ -5508,7 +5515,7 @@ version: 4.14.1
|
|
|
5508
5515
|
* eg.Axes.VERSION; // ex) 3.3.3
|
|
5509
5516
|
* ```
|
|
5510
5517
|
*/
|
|
5511
|
-
Axes.VERSION = "3.9.
|
|
5518
|
+
Axes.VERSION = "3.9.1";
|
|
5512
5519
|
/* eslint-enable */
|
|
5513
5520
|
/**
|
|
5514
5521
|
* @name TRANSFORM
|
|
@@ -5725,10 +5732,7 @@ version: 4.14.1
|
|
|
5725
5732
|
* @return {PanInput} An instance of a module itself <ko>모듈 자신의 인스턴스</ko>
|
|
5726
5733
|
*/
|
|
5727
5734
|
__proto.enable = function () {
|
|
5728
|
-
|
|
5729
|
-
if (!activeEvent) {
|
|
5730
|
-
throw new Error("PanInput cannot be enabled if there is no available input event.");
|
|
5731
|
-
} else if (!this._enabled) {
|
|
5735
|
+
if (!this._enabled) {
|
|
5732
5736
|
this._enabled = true;
|
|
5733
5737
|
this._originalCssProps = setCssProps(this.element, this.options, this._direction);
|
|
5734
5738
|
}
|
|
@@ -5862,7 +5866,7 @@ version: 4.14.1
|
|
|
5862
5866
|
this._detachWindowEvent(activeEvent);
|
|
5863
5867
|
clearTimeout(this._rightEdgeTimer);
|
|
5864
5868
|
var prevEvent = activeEvent.prevEvent;
|
|
5865
|
-
var velocity = this._isOverThreshold ? this._getOffset([Math.abs(prevEvent.velocityX) * prevEvent.
|
|
5869
|
+
var velocity = this._isOverThreshold ? this._getOffset([Math.abs(prevEvent.velocityX) * (prevEvent.offsetX < 0 ? -1 : 1), Math.abs(prevEvent.velocityY) * (prevEvent.offsetY < 0 ? -1 : 1)], [useDirection(DIRECTION_HORIZONTAL, this._direction), useDirection(DIRECTION_VERTICAL, this._direction)]) : [0, 0];
|
|
5866
5870
|
activeEvent.onRelease();
|
|
5867
5871
|
this._observer.release(this, prevEvent, velocity);
|
|
5868
5872
|
};
|
|
@@ -6937,7 +6941,7 @@ version: 4.14.1
|
|
|
6937
6941
|
if (!axes) {
|
|
6938
6942
|
return Promise.reject(new FlickingError(MESSAGE.NOT_ATTACHED_TO_FLICKING, CODE.NOT_ATTACHED_TO_FLICKING));
|
|
6939
6943
|
}
|
|
6940
|
-
var startPos =
|
|
6944
|
+
var startPos = this.getCurrentPosition();
|
|
6941
6945
|
if (startPos === position) {
|
|
6942
6946
|
var flicking = getFlickingAttached(this._flicking);
|
|
6943
6947
|
flicking.camera.lookAt(position);
|
|
@@ -6981,6 +6985,14 @@ version: 4.14.1
|
|
|
6981
6985
|
animate();
|
|
6982
6986
|
});
|
|
6983
6987
|
};
|
|
6988
|
+
/**
|
|
6989
|
+
* Returns the current axes position
|
|
6990
|
+
* @ko 현재 axes의 position을 반환합니다.
|
|
6991
|
+
*/
|
|
6992
|
+
__proto.getCurrentPosition = function () {
|
|
6993
|
+
var _a, _b;
|
|
6994
|
+
return (_b = (_a = this._axes) === null || _a === void 0 ? void 0 : _a.get([POSITION_KEY])[POSITION_KEY]) !== null && _b !== void 0 ? _b : 0;
|
|
6995
|
+
};
|
|
6984
6996
|
__proto.updateDirection = function () {
|
|
6985
6997
|
var flicking = getFlickingAttached(this._flicking);
|
|
6986
6998
|
var axes = this._axes;
|
|
@@ -7318,16 +7330,20 @@ version: 4.14.1
|
|
|
7318
7330
|
newActivePanel = _a.newActivePanel,
|
|
7319
7331
|
axesEvent = _a.axesEvent;
|
|
7320
7332
|
return __awaiter(this, void 0, void 0, function () {
|
|
7321
|
-
var flicking, animate, state;
|
|
7333
|
+
var flicking, nextDuration, animate, state;
|
|
7322
7334
|
var _this = this;
|
|
7323
7335
|
return __generator(this, function (_b) {
|
|
7324
7336
|
flicking = getFlickingAttached(this._flicking);
|
|
7337
|
+
nextDuration = duration;
|
|
7338
|
+
if (Math.abs(nextDuration - position) < flicking.animationThreshold) {
|
|
7339
|
+
nextDuration = 0;
|
|
7340
|
+
}
|
|
7325
7341
|
animate = function () {
|
|
7326
|
-
return _this._controller.animateTo(position,
|
|
7342
|
+
return _this._controller.animateTo(position, nextDuration, axesEvent);
|
|
7327
7343
|
};
|
|
7328
7344
|
state = this._controller.state;
|
|
7329
7345
|
state.targetPanel = newActivePanel;
|
|
7330
|
-
if (
|
|
7346
|
+
if (nextDuration <= 0) {
|
|
7331
7347
|
return [2 /*return*/, animate()];
|
|
7332
7348
|
} else {
|
|
7333
7349
|
return [2 /*return*/, animate().then(function () {
|
|
@@ -7353,6 +7369,7 @@ version: 4.14.1
|
|
|
7353
7369
|
});
|
|
7354
7370
|
});
|
|
7355
7371
|
};
|
|
7372
|
+
|
|
7356
7373
|
__proto._getPosition = function (panel, direction) {
|
|
7357
7374
|
if (direction === void 0) {
|
|
7358
7375
|
direction = DIRECTION.NONE;
|
|
@@ -7918,8 +7935,9 @@ version: 4.14.1
|
|
|
7918
7935
|
var anchors = camera.anchorPoints;
|
|
7919
7936
|
var firstAnchor = anchors[0];
|
|
7920
7937
|
var lastAnchor = anchors[anchors.length - 1];
|
|
7921
|
-
|
|
7922
|
-
var
|
|
7938
|
+
// position이 bounce으로 인하여 범위를 넘어가야 동작하도록 변경
|
|
7939
|
+
var shouldBounceToFirst = position < cameraRange.min && isBetween(firstAnchor.panel.index, indexRange.min, indexRange.max);
|
|
7940
|
+
var shouldBounceToLast = position > cameraRange.max && isBetween(lastAnchor.panel.index, indexRange.min, indexRange.max);
|
|
7923
7941
|
var isAdjacent = adjacentAnchor && (indexRange.min <= indexRange.max ? isBetween(adjacentAnchor.index, indexRange.min, indexRange.max) : adjacentAnchor.index >= indexRange.min || adjacentAnchor.index <= indexRange.max);
|
|
7924
7942
|
if (shouldBounceToFirst || shouldBounceToLast) {
|
|
7925
7943
|
// In bounce area
|
|
@@ -9186,7 +9204,7 @@ version: 4.14.1
|
|
|
9186
9204
|
license: MIT
|
|
9187
9205
|
author: NAVER Corp.
|
|
9188
9206
|
repository: https://github.com/naver/egjs-imready
|
|
9189
|
-
version: 1.4.
|
|
9207
|
+
version: 1.4.1
|
|
9190
9208
|
*/
|
|
9191
9209
|
|
|
9192
9210
|
/******************************************************************************
|
|
@@ -9384,7 +9402,9 @@ version: 4.14.1
|
|
|
9384
9402
|
// I'm not ready
|
|
9385
9403
|
return;
|
|
9386
9404
|
}
|
|
9387
|
-
|
|
9405
|
+
// I'm pre-ready and ready!
|
|
9406
|
+
var withPreReady = !_this.hasDataSize && !_this.hasLoading;
|
|
9407
|
+
_this.onReady(withPreReady);
|
|
9388
9408
|
};
|
|
9389
9409
|
_this.options = __assign({
|
|
9390
9410
|
prefix: "data-"
|
|
@@ -9400,7 +9420,7 @@ version: 4.14.1
|
|
|
9400
9420
|
__proto.check = function () {
|
|
9401
9421
|
if (this.isSkip || !this.checkElement()) {
|
|
9402
9422
|
// I'm Ready
|
|
9403
|
-
this.onAlreadyReady();
|
|
9423
|
+
this.onAlreadyReady(true);
|
|
9404
9424
|
return false;
|
|
9405
9425
|
}
|
|
9406
9426
|
if (this.hasDataSize) {
|
|
@@ -9446,7 +9466,6 @@ version: 4.14.1
|
|
|
9446
9466
|
});
|
|
9447
9467
|
};
|
|
9448
9468
|
__proto.onPreReady = function () {
|
|
9449
|
-
// 이전에 호출되었거나 ready가 발생했다면 preReady를 발생하지 않는다.
|
|
9450
9469
|
if (this.isPreReady) {
|
|
9451
9470
|
return;
|
|
9452
9471
|
}
|
|
@@ -9457,18 +9476,19 @@ version: 4.14.1
|
|
|
9457
9476
|
isSkip: this.isSkip
|
|
9458
9477
|
});
|
|
9459
9478
|
};
|
|
9460
|
-
__proto.onReady = function () {
|
|
9461
|
-
var isPreReady = this.isPreReady;
|
|
9462
|
-
this.isPreReady = true;
|
|
9479
|
+
__proto.onReady = function (withPreReady) {
|
|
9463
9480
|
if (this.isReady) {
|
|
9464
9481
|
return;
|
|
9465
9482
|
}
|
|
9483
|
+
withPreReady = !this.isPreReady && withPreReady;
|
|
9484
|
+
if (withPreReady) {
|
|
9485
|
+
this.isPreReady = true;
|
|
9486
|
+
}
|
|
9466
9487
|
this.removeAutoSizer();
|
|
9467
9488
|
this.isReady = true;
|
|
9468
|
-
// preReady가 호출이 되지 않았으면 ready 이벤트만 발생하고 대신 withPreReady가 활성화
|
|
9469
9489
|
this.trigger("ready", {
|
|
9470
9490
|
element: this.element,
|
|
9471
|
-
withPreReady:
|
|
9491
|
+
withPreReady: withPreReady,
|
|
9472
9492
|
hasLoading: this.hasLoading,
|
|
9473
9493
|
isSkip: this.isSkip
|
|
9474
9494
|
});
|
|
@@ -9485,10 +9505,10 @@ version: 4.14.1
|
|
|
9485
9505
|
_this.onPreReady();
|
|
9486
9506
|
});
|
|
9487
9507
|
};
|
|
9488
|
-
__proto.onAlreadyReady = function () {
|
|
9508
|
+
__proto.onAlreadyReady = function (withPreReady) {
|
|
9489
9509
|
var _this = this;
|
|
9490
9510
|
setTimeout(function () {
|
|
9491
|
-
_this.onReady();
|
|
9511
|
+
_this.onReady(withPreReady);
|
|
9492
9512
|
});
|
|
9493
9513
|
};
|
|
9494
9514
|
Loader.EVENTS = [];
|
|
@@ -9507,7 +9527,7 @@ version: 4.14.1
|
|
|
9507
9527
|
__proto.check = function () {
|
|
9508
9528
|
if (this.isSkip) {
|
|
9509
9529
|
// I'm Ready
|
|
9510
|
-
this.onAlreadyReady();
|
|
9530
|
+
this.onAlreadyReady(true);
|
|
9511
9531
|
return false;
|
|
9512
9532
|
}
|
|
9513
9533
|
if (this.hasDataSize) {
|
|
@@ -9714,17 +9734,18 @@ version: 4.14.1
|
|
|
9714
9734
|
loader.setHasLoading(children.some(function (el) {
|
|
9715
9735
|
return hasLoadingAttribute(el, prefix);
|
|
9716
9736
|
}));
|
|
9737
|
+
var withPreReady = false;
|
|
9717
9738
|
var childrenImReady = this.clone().on("error", function (e) {
|
|
9718
9739
|
loader.onError(e.target);
|
|
9719
9740
|
}).on("ready", function () {
|
|
9720
|
-
loader.onReady();
|
|
9741
|
+
loader.onReady(withPreReady);
|
|
9721
9742
|
});
|
|
9722
9743
|
loader.on("requestChildren", function () {
|
|
9723
9744
|
// has not data size
|
|
9724
9745
|
var contentElements = getContentElements(element, tags, _this.options.prefix);
|
|
9725
9746
|
childrenImReady.check(contentElements).on("preReady", function (e) {
|
|
9726
|
-
|
|
9727
|
-
|
|
9747
|
+
withPreReady = e.isReady;
|
|
9748
|
+
if (!withPreReady) {
|
|
9728
9749
|
loader.onPreReady();
|
|
9729
9750
|
}
|
|
9730
9751
|
});
|
|
@@ -10178,6 +10199,17 @@ version: 4.14.1
|
|
|
10178
10199
|
});
|
|
10179
10200
|
return Promise.resolve();
|
|
10180
10201
|
};
|
|
10202
|
+
/**
|
|
10203
|
+
* Return Rendered Panels
|
|
10204
|
+
* @ko 렌더링이 된 패널을 반환합니다.
|
|
10205
|
+
* @return {Panel[]}
|
|
10206
|
+
*/
|
|
10207
|
+
__proto.getRenderedPanels = function () {
|
|
10208
|
+
var flicking = getFlickingAttached(this._flicking);
|
|
10209
|
+
return flicking.renderer.panels.filter(function (panel) {
|
|
10210
|
+
return panel.rendered;
|
|
10211
|
+
});
|
|
10212
|
+
};
|
|
10181
10213
|
/**
|
|
10182
10214
|
* Update all panel sizes
|
|
10183
10215
|
* @ko 모든 패널의 크기를 업데이트합니다
|
|
@@ -10538,6 +10570,13 @@ version: 4.14.1
|
|
|
10538
10570
|
__proto._afterRender = function () {
|
|
10539
10571
|
var flicking = getFlickingAttached(this._flicking);
|
|
10540
10572
|
flicking.camera.applyTransform();
|
|
10573
|
+
if (flicking.useCSSOrderProperty) {
|
|
10574
|
+
// useCSSOrderProperty를 사용하는 경우 DOM은 변화가 없지만 대신 CSS Order가 추가 된다.
|
|
10575
|
+
var panels_1 = flicking.panels;
|
|
10576
|
+
this._strategy.getRenderingIndexesByOrder(flicking).forEach(function (domIndex, index) {
|
|
10577
|
+
panels_1[domIndex].element.style.order = "" + index;
|
|
10578
|
+
});
|
|
10579
|
+
}
|
|
10541
10580
|
};
|
|
10542
10581
|
return Renderer;
|
|
10543
10582
|
}();
|
|
@@ -10566,6 +10605,7 @@ version: 4.14.1
|
|
|
10566
10605
|
});
|
|
10567
10606
|
});
|
|
10568
10607
|
};
|
|
10608
|
+
|
|
10569
10609
|
__proto._collectPanels = function () {
|
|
10570
10610
|
var flicking = getFlickingAttached(this._flicking);
|
|
10571
10611
|
var camera = flicking.camera;
|
|
@@ -10579,7 +10619,15 @@ version: 4.14.1
|
|
|
10579
10619
|
var flicking = getFlickingAttached(this._flicking);
|
|
10580
10620
|
var cameraEl = flicking.camera.element;
|
|
10581
10621
|
// We're using reversed panels here as last panel should be the last element of camera element
|
|
10582
|
-
var reversedElements =
|
|
10622
|
+
var reversedElements = [];
|
|
10623
|
+
if (flicking.useCSSOrderProperty) {
|
|
10624
|
+
// useCSSOrderProperty를 사용하는 경우 원본 그대로 렌더링
|
|
10625
|
+
reversedElements = this.getRenderedPanels().map(function (panel) {
|
|
10626
|
+
return panel.element;
|
|
10627
|
+
}).reverse();
|
|
10628
|
+
} else {
|
|
10629
|
+
reversedElements = this._strategy.getRenderingElementsByOrder(flicking).reverse();
|
|
10630
|
+
}
|
|
10583
10631
|
reversedElements.forEach(function (el, idx) {
|
|
10584
10632
|
var nextEl = reversedElements[idx - 1] ? reversedElements[idx - 1] : null;
|
|
10585
10633
|
if (el.nextElementSibling !== nextEl) {
|
|
@@ -11656,7 +11704,11 @@ version: 4.14.1
|
|
|
11656
11704
|
_15 = _b.renderExternal,
|
|
11657
11705
|
renderExternal = _15 === void 0 ? null : _15,
|
|
11658
11706
|
_16 = _b.optimizeSizeUpdate,
|
|
11659
|
-
optimizeSizeUpdate = _16 === void 0 ? false : _16
|
|
11707
|
+
optimizeSizeUpdate = _16 === void 0 ? false : _16,
|
|
11708
|
+
_17 = _b.animationThreshold,
|
|
11709
|
+
animationThreshold = _17 === void 0 ? 0.5 : _17,
|
|
11710
|
+
_18 = _b.useCSSOrderProperty,
|
|
11711
|
+
useCSSOrderProperty = _18 === void 0 ? false : _18;
|
|
11660
11712
|
var _this = _super.call(this) || this;
|
|
11661
11713
|
// Internal states
|
|
11662
11714
|
_this._initialized = false;
|
|
@@ -11702,6 +11754,8 @@ version: 4.14.1
|
|
|
11702
11754
|
_this._externalRenderer = externalRenderer;
|
|
11703
11755
|
_this._renderExternal = renderExternal;
|
|
11704
11756
|
_this._optimizeSizeUpdate = optimizeSizeUpdate;
|
|
11757
|
+
_this._animationThreshold = animationThreshold;
|
|
11758
|
+
_this._useCSSOrderProperty = useCSSOrderProperty;
|
|
11705
11759
|
// Create core components
|
|
11706
11760
|
_this._viewport = new Viewport(_this, getElement(root));
|
|
11707
11761
|
_this._autoResizer = new AutoResizer(_this);
|
|
@@ -12413,6 +12467,43 @@ version: 4.14.1
|
|
|
12413
12467
|
enumerable: false,
|
|
12414
12468
|
configurable: true
|
|
12415
12469
|
});
|
|
12470
|
+
Object.defineProperty(__proto, "animationThreshold", {
|
|
12471
|
+
/**
|
|
12472
|
+
* The minimum distance for animation to proceed. If the distance to be moved is less than `animationThreshold`, the movement proceeds immediately without animation (duration: 0).
|
|
12473
|
+
* @ko animation이 진행되기 위한 최소한의 거리. 이동하려는 거리가 `animationThreshold`보다 적으면 애니메이션 없이(duration: 0) 즉시 이동한다.
|
|
12474
|
+
* @type {number}
|
|
12475
|
+
* @default 0.5
|
|
12476
|
+
* @see {@link https://naver.github.io/egjs-flicking/Options#animationThreshold animationThreshold ( Options )}
|
|
12477
|
+
*/
|
|
12478
|
+
get: function () {
|
|
12479
|
+
return this._animationThreshold;
|
|
12480
|
+
},
|
|
12481
|
+
set: function (val) {
|
|
12482
|
+
this._animationThreshold = val;
|
|
12483
|
+
},
|
|
12484
|
+
enumerable: false,
|
|
12485
|
+
configurable: true
|
|
12486
|
+
});
|
|
12487
|
+
Object.defineProperty(__proto, "useCSSOrderProperty", {
|
|
12488
|
+
/**
|
|
12489
|
+
* When `circular` is used, the DOM order changes depending on the position. Using `useCSSOrderProperty` does not change the DOM order, but the `order` CSS property changes the order on the screen.
|
|
12490
|
+
* When using `iframe`, you can prevent reloading when the DOM order changes.
|
|
12491
|
+
* @ko `circular`를 사용한 경우 위치에 따라 DOM의 순서가 변경된다. `useCSSOrderProperty`를 사용하면 DOM의 순서는 변경되지 않지만 `order` css가 설정되면서 화면상 순서가 바뀐다.
|
|
12492
|
+
* `iframe`을 사용하는 경우 DOM의 순서가 변경되면서 reload가 되는 것을 막을 수 있다.
|
|
12493
|
+
* @type {boolean}
|
|
12494
|
+
* @requires `circular`
|
|
12495
|
+
* @default false
|
|
12496
|
+
* @see {@link https://naver.github.io/egjs-flicking/Options#useCSSOrderProperty animationThreshold ( Options )}
|
|
12497
|
+
*/
|
|
12498
|
+
get: function () {
|
|
12499
|
+
return this._useCSSOrderProperty;
|
|
12500
|
+
},
|
|
12501
|
+
set: function (val) {
|
|
12502
|
+
this._useCSSOrderProperty = val;
|
|
12503
|
+
},
|
|
12504
|
+
enumerable: false,
|
|
12505
|
+
configurable: true
|
|
12506
|
+
});
|
|
12416
12507
|
Object.defineProperty(__proto, "interruptable", {
|
|
12417
12508
|
/**
|
|
12418
12509
|
* Set animation to be interruptable by click/touch.
|
|
@@ -13301,6 +13392,7 @@ version: 4.14.1
|
|
|
13301
13392
|
if (!this._initialized) {
|
|
13302
13393
|
return [2 /*return*/];
|
|
13303
13394
|
}
|
|
13395
|
+
|
|
13304
13396
|
renderer.updatePanelSize();
|
|
13305
13397
|
camera.updateAlignPos();
|
|
13306
13398
|
camera.updateRange();
|
|
@@ -13314,6 +13406,7 @@ version: 4.14.1
|
|
|
13314
13406
|
if (!this._initialized) {
|
|
13315
13407
|
return [2 /*return*/];
|
|
13316
13408
|
}
|
|
13409
|
+
|
|
13317
13410
|
if (control.animating) ; else {
|
|
13318
13411
|
control.updatePosition(prevProgressInPanel);
|
|
13319
13412
|
control.updateInput();
|
|
@@ -13551,7 +13644,7 @@ version: 4.14.1
|
|
|
13551
13644
|
* Flicking.VERSION; // ex) 4.0.0
|
|
13552
13645
|
* ```
|
|
13553
13646
|
*/
|
|
13554
|
-
Flicking.VERSION = "4.14.1";
|
|
13647
|
+
Flicking.VERSION = "4.14.2-beta.1";
|
|
13555
13648
|
return Flicking;
|
|
13556
13649
|
}(Component);
|
|
13557
13650
|
|
|
@@ -14090,13 +14183,16 @@ version: 4.14.1
|
|
|
14090
14183
|
map[prev] = current;
|
|
14091
14184
|
return map;
|
|
14092
14185
|
}, {});
|
|
14093
|
-
|
|
14186
|
+
var renderingPanels = flicking.panels.filter(function (panel) {
|
|
14094
14187
|
return !removedPanels[panel.index];
|
|
14095
|
-
})
|
|
14096
|
-
|
|
14097
|
-
|
|
14098
|
-
|
|
14099
|
-
|
|
14188
|
+
});
|
|
14189
|
+
if (!flicking.useCSSOrderProperty) {
|
|
14190
|
+
// useCSSOrderProperty를 사용하게 되는 경우 sort를 하지 않는다.
|
|
14191
|
+
renderingPanels.sort(function (panel1, panel2) {
|
|
14192
|
+
return panel1.position + panel1.offset - (panel2.position + panel2.offset);
|
|
14193
|
+
});
|
|
14194
|
+
}
|
|
14195
|
+
return __spread$1(renderingPanels.map(function (panel) {
|
|
14100
14196
|
return diffResult.list[maintainedMap[panel.index]];
|
|
14101
14197
|
}), diffResult.added.map(function (idx) {
|
|
14102
14198
|
return diffResult.list[idx];
|