@egjs/flicking 4.11.5-beta.1 → 4.11.5-beta.3
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 +0 -2
- package/declaration/camera/Camera.d.ts +1 -0
- package/declaration/core/AutoResizer.d.ts +0 -1
- package/dist/flicking.cjs.js +19 -49
- package/dist/flicking.cjs.js.map +1 -1
- package/dist/flicking.esm.js +19 -49
- package/dist/flicking.esm.js.map +1 -1
- package/dist/flicking.js +19 -49
- 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 +29 -66
- 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 +1 -12
- package/src/camera/Camera.ts +10 -1
- package/src/core/AutoResizer.ts +1 -16
- package/src/renderer/Renderer.ts +0 -6
package/package.json
CHANGED
package/src/Flicking.ts
CHANGED
|
@@ -218,13 +218,6 @@ class Flicking extends Component<FlickingEvents> {
|
|
|
218
218
|
* @see Viewport
|
|
219
219
|
*/
|
|
220
220
|
public get viewport() { return this._viewport; }
|
|
221
|
-
/**
|
|
222
|
-
* {@link AutoResizer} instance of the Flicking
|
|
223
|
-
* @ko 현재 Flicking에 활성화된 {@link AutoResizer} 인스턴스
|
|
224
|
-
* @internal
|
|
225
|
-
* @readonly
|
|
226
|
-
*/
|
|
227
|
-
public get autoResizer() { return this._autoResizer; }
|
|
228
221
|
// Internal States
|
|
229
222
|
/**
|
|
230
223
|
* Whether Flicking's {@link Flicking#init init()} is called.
|
|
@@ -913,10 +906,6 @@ class Flicking extends Component<FlickingEvents> {
|
|
|
913
906
|
public set autoResize(val: FlickingOptions["autoResize"]) {
|
|
914
907
|
this._autoResize = val;
|
|
915
908
|
|
|
916
|
-
if (!this._initialized) {
|
|
917
|
-
return;
|
|
918
|
-
}
|
|
919
|
-
|
|
920
909
|
if (val) {
|
|
921
910
|
this._autoResizer.enable();
|
|
922
911
|
} else {
|
|
@@ -927,7 +916,7 @@ class Flicking extends Component<FlickingEvents> {
|
|
|
927
916
|
public set useResizeObserver(val: FlickingOptions["useResizeObserver"]) {
|
|
928
917
|
this._useResizeObserver = val;
|
|
929
918
|
|
|
930
|
-
if (this.
|
|
919
|
+
if (this._autoResize) {
|
|
931
920
|
this._autoResizer.enable();
|
|
932
921
|
}
|
|
933
922
|
}
|
package/src/camera/Camera.ts
CHANGED
|
@@ -32,6 +32,7 @@ class Camera {
|
|
|
32
32
|
private _mode: CameraMode;
|
|
33
33
|
private _el: HTMLElement;
|
|
34
34
|
private _transform: string;
|
|
35
|
+
private _lookedOffset = 0;
|
|
35
36
|
private _position: number;
|
|
36
37
|
private _alignPos: number;
|
|
37
38
|
private _offset: number;
|
|
@@ -292,6 +293,8 @@ class Camera {
|
|
|
292
293
|
* @return {this}
|
|
293
294
|
*/
|
|
294
295
|
public lookAt(pos: number): void {
|
|
296
|
+
const prevOffset = this._offset;
|
|
297
|
+
const isChangedOffset = this._lookedOffset !== prevOffset;
|
|
295
298
|
const flicking = getFlickingAttached(this._flicking);
|
|
296
299
|
const prevPos = this._position;
|
|
297
300
|
|
|
@@ -301,10 +304,15 @@ class Camera {
|
|
|
301
304
|
this._checkNeedPanel();
|
|
302
305
|
this._checkReachEnd(prevPos, pos);
|
|
303
306
|
|
|
304
|
-
if (toggled) {
|
|
307
|
+
if (isChangedOffset || toggled) {
|
|
305
308
|
void flicking.renderer.render().then(() => {
|
|
306
309
|
this.updateOffset();
|
|
310
|
+
this._lookedOffset = this._offset;
|
|
307
311
|
});
|
|
312
|
+
} else if (isChangedOffset) {
|
|
313
|
+
// sync offset for renderOnlyVisible on resize
|
|
314
|
+
this.updateOffset();
|
|
315
|
+
this._lookedOffset = this._offset;
|
|
308
316
|
} else {
|
|
309
317
|
this.applyTransform();
|
|
310
318
|
}
|
|
@@ -599,6 +607,7 @@ class Camera {
|
|
|
599
607
|
|
|
600
608
|
private _resetInternalValues() {
|
|
601
609
|
this._position = 0;
|
|
610
|
+
this._lookedOffset = 0;
|
|
602
611
|
this._alignPos = 0;
|
|
603
612
|
this._offset = 0;
|
|
604
613
|
this._circularOffset = 0;
|
package/src/core/AutoResizer.ts
CHANGED
|
@@ -4,10 +4,6 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import Flicking from "../Flicking";
|
|
6
6
|
|
|
7
|
-
/**
|
|
8
|
-
* A component that detects size change and trigger resize method when the autoResize option is used
|
|
9
|
-
* @ko autoResize 옵션을 사용할 때 크기 변화를 감지하고 Flicking의 resize를 호출하는 컴포넌트
|
|
10
|
-
*/
|
|
11
7
|
class AutoResizer {
|
|
12
8
|
private _flicking: Flicking;
|
|
13
9
|
private _enabled: boolean;
|
|
@@ -40,11 +36,7 @@ class AutoResizer {
|
|
|
40
36
|
? new ResizeObserver(this._skipFirstResize)
|
|
41
37
|
: new ResizeObserver(this._onResize);
|
|
42
38
|
|
|
43
|
-
|
|
44
|
-
flicking.viewport.element,
|
|
45
|
-
flicking.camera.element,
|
|
46
|
-
...flicking.panels.map(panel => panel.element)
|
|
47
|
-
].forEach((element) => { resizeObserver.observe(element); });
|
|
39
|
+
resizeObserver.observe(flicking.viewport.element);
|
|
48
40
|
|
|
49
41
|
this._resizeObserver = resizeObserver;
|
|
50
42
|
} else {
|
|
@@ -72,13 +64,6 @@ class AutoResizer {
|
|
|
72
64
|
return this;
|
|
73
65
|
}
|
|
74
66
|
|
|
75
|
-
public observe(element: Element): this {
|
|
76
|
-
if (this._resizeObserver) {
|
|
77
|
-
this._resizeObserver.observe(element);
|
|
78
|
-
}
|
|
79
|
-
return this;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
67
|
private _onResize = () => {
|
|
83
68
|
const flicking = this._flicking;
|
|
84
69
|
const resizeDebounce = flicking.resizeDebounce;
|
package/src/renderer/Renderer.ts
CHANGED
|
@@ -335,12 +335,6 @@ abstract class Renderer {
|
|
|
335
335
|
// Update camera & control
|
|
336
336
|
this._updateCameraAndControl();
|
|
337
337
|
|
|
338
|
-
if (flicking.autoResize && flicking.useResizeObserver) {
|
|
339
|
-
panelsAdded.forEach((panel) => {
|
|
340
|
-
flicking.autoResizer.observe(panel.element);
|
|
341
|
-
});
|
|
342
|
-
}
|
|
343
|
-
|
|
344
338
|
void this.render();
|
|
345
339
|
|
|
346
340
|
if (!flicking.animating) {
|