@egjs/flicking 4.4.0 → 4.4.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 +5 -2
- package/declaration/core/panel/index.d.ts +2 -3
- package/declaration/core/panel/provider/ElementProvider.d.ts +1 -0
- package/declaration/core/panel/provider/VanillaElementProvider.d.ts +2 -0
- package/declaration/core/panel/provider/VirtualElementProvider.d.ts +2 -0
- package/declaration/core/panel/provider/index.d.ts +1 -2
- package/declaration/renderer/ExternalRenderer.d.ts +0 -1
- package/declaration/renderer/strategy/NormalRenderingStrategy.d.ts +1 -3
- package/dist/flicking.esm.js +4061 -4003
- package/dist/flicking.esm.js.map +1 -1
- package/dist/flicking.js +4181 -4124
- 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 +4703 -5028
- 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 +9 -22
- package/src/Flicking.ts +31 -18
- package/src/core/Viewport.ts +4 -4
- package/src/core/VirtualManager.ts +1 -1
- package/src/core/panel/index.ts +1 -4
- package/src/core/panel/provider/ElementProvider.ts +1 -0
- package/src/core/panel/provider/VanillaElementProvider.ts +5 -0
- package/src/core/panel/provider/VirtualElementProvider.ts +5 -2
- package/src/core/panel/provider/index.ts +1 -3
- package/src/renderer/ExternalRenderer.ts +1 -33
- package/src/renderer/strategy/NormalRenderingStrategy.ts +3 -6
- package/declaration/core/panel/ExternalPanel.d.ts +0 -13
- package/declaration/core/panel/provider/ExternalElementProvider.d.ts +0 -8
- package/src/core/panel/ExternalPanel.ts +0 -40
- package/src/core/panel/provider/ExternalElementProvider.ts +0 -15
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@egjs/flicking",
|
|
3
|
-
"version": "4.4.
|
|
3
|
+
"version": "4.4.1",
|
|
4
4
|
"description": "Everyday 30 million people experience. It's reliable, flexible and extendable carousel.",
|
|
5
5
|
"main": "dist/flicking.js",
|
|
6
6
|
"module": "dist/flicking.esm.js",
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
"declaration": "rm -rf declaration && tsc -p tsconfig.declaration.json",
|
|
14
14
|
"css": "postcss css/*.css --use autoprefixer postcss-clean -d dist/ -m",
|
|
15
15
|
"printsizes": "print-sizes ./dist --exclude=\\.map",
|
|
16
|
-
"test": "
|
|
17
|
-
"test:chrome": "
|
|
18
|
-
"
|
|
16
|
+
"test": "npm run test --prefix test/unit",
|
|
17
|
+
"test:chrome": "npm run test:chrome --prefix test/unit",
|
|
18
|
+
"test:cfc": "npm run test --prefix test/cfc",
|
|
19
19
|
"lint": "eslint 'src/**/*.ts'",
|
|
20
20
|
"lint:test": "eslint 'test/unit/**/*.ts'",
|
|
21
21
|
"jsdoc": "jsdoc -c jsdoc.json",
|
|
@@ -69,26 +69,22 @@
|
|
|
69
69
|
"egjs"
|
|
70
70
|
],
|
|
71
71
|
"devDependencies": {
|
|
72
|
+
"@babel/preset-env": "^7.16.0",
|
|
72
73
|
"@daybrush/jsdoc": "^0.3.10",
|
|
73
|
-
"@egjs/flicking-plugins": "^4.
|
|
74
|
+
"@egjs/flicking-plugins": "^4.2.2",
|
|
74
75
|
"@egjs/release-helper": "0.0.3",
|
|
75
76
|
"@rollup/plugin-babel": "^5.3.0",
|
|
76
77
|
"@rollup/plugin-commonjs": "^11.1.0",
|
|
77
78
|
"@rollup/plugin-node-resolve": "^7.1.3",
|
|
78
79
|
"@rollup/plugin-replace": "^2.4.1",
|
|
79
|
-
"@types/chai": "^4.2.15",
|
|
80
80
|
"@types/fs-extra": "^9.0.11",
|
|
81
|
-
"@types/karma-chai": "^0.1.1",
|
|
82
|
-
"@types/mocha": "^5.2.5",
|
|
83
81
|
"@types/node": "^14.14.35",
|
|
84
|
-
"@types/sinon": "^7.0.3",
|
|
85
82
|
"@typescript-eslint/eslint-plugin": "^4.18.0",
|
|
86
83
|
"@typescript-eslint/eslint-plugin-tslint": "^4.18.0",
|
|
87
84
|
"@typescript-eslint/parser": "^4.18.0",
|
|
88
85
|
"autoprefixer": "^9.8.5",
|
|
89
86
|
"babel-loader": "^8.2.2",
|
|
90
|
-
"
|
|
91
|
-
"chalk": "^2.4.2",
|
|
87
|
+
"babel-preset-env": "^1.7.0",
|
|
92
88
|
"concurrently": "^6.0.0",
|
|
93
89
|
"core-js": "^3.9.1",
|
|
94
90
|
"coveralls": "^3.0.2",
|
|
@@ -105,15 +101,7 @@
|
|
|
105
101
|
"http-serve": "^1.0.1",
|
|
106
102
|
"husky": "^1.3.1",
|
|
107
103
|
"jsdoc-to-mdx": "^1.0.5",
|
|
108
|
-
"karma": "^
|
|
109
|
-
"karma-chai": "^0.1.0",
|
|
110
|
-
"karma-chrome-launcher": "^2.2.0",
|
|
111
|
-
"karma-mocha": "^1.3.0",
|
|
112
|
-
"karma-mocha-reporter": "^2.2.5",
|
|
113
|
-
"karma-sinon": "^1.0.5",
|
|
114
|
-
"karma-typescript-egjs": "^4.0.0",
|
|
115
|
-
"karma-viewport": "^1.0.8",
|
|
116
|
-
"mocha": "^5.2.0",
|
|
104
|
+
"karma-typescript-es6-transform": "^5.5.2",
|
|
117
105
|
"postcss-clean": "^1.2.2",
|
|
118
106
|
"postcss-cli": "^7.1.1",
|
|
119
107
|
"print-coveralls": "^1.2.2",
|
|
@@ -124,10 +112,9 @@
|
|
|
124
112
|
"rollup-plugin-postcss": "^3.1.3",
|
|
125
113
|
"rollup-plugin-prototype-minify": "^1.1.0",
|
|
126
114
|
"rollup-plugin-serve": "^1.1.0",
|
|
115
|
+
"rollup-plugin-terser": "^7.0.2",
|
|
127
116
|
"rollup-plugin-typescript2": "^0.30.0",
|
|
128
|
-
"rollup-plugin-uglify": "^6.0.4",
|
|
129
117
|
"rollup-plugin-visualizer": "^4.2.1",
|
|
130
|
-
"sinon": "^7.2.3",
|
|
131
118
|
"sync-exec": "^0.6.2",
|
|
132
119
|
"ts-mock-imports": "^1.3.3",
|
|
133
120
|
"tsconfig-paths-webpack-plugin": "^3.5.1",
|
package/src/Flicking.ts
CHANGED
|
@@ -80,6 +80,8 @@ export interface FlickingOptions {
|
|
|
80
80
|
autoInit: boolean;
|
|
81
81
|
autoResize: boolean;
|
|
82
82
|
useResizeObserver: boolean;
|
|
83
|
+
externalRenderer: ExternalRenderer | null;
|
|
84
|
+
// @deprecated
|
|
83
85
|
renderExternal: {
|
|
84
86
|
renderer: new (options: RendererOptions) => ExternalRenderer;
|
|
85
87
|
rendererOptions: RendererOptions;
|
|
@@ -146,6 +148,7 @@ class Flicking extends Component<FlickingEvents> {
|
|
|
146
148
|
private _autoInit: FlickingOptions["autoInit"];
|
|
147
149
|
private _autoResize: FlickingOptions["autoResize"];
|
|
148
150
|
private _useResizeObserver: FlickingOptions["useResizeObserver"];
|
|
151
|
+
private _externalRenderer: FlickingOptions["externalRenderer"];
|
|
149
152
|
private _renderExternal: FlickingOptions["renderExternal"];
|
|
150
153
|
|
|
151
154
|
// Internal State
|
|
@@ -599,10 +602,18 @@ class Flicking extends Component<FlickingEvents> {
|
|
|
599
602
|
/**
|
|
600
603
|
* This is an option for the frameworks(React, Vue, Angular, ...). Don't set it as it's automatically managed by Flicking.
|
|
601
604
|
* @ko 프레임워크(React, Vue, Angular, ...)에서만 사용하는 옵션으로, 자동으로 설정되므로 따로 사용하실 필요 없습니다!
|
|
602
|
-
* @
|
|
603
|
-
* @
|
|
605
|
+
* @default null
|
|
606
|
+
* @internal
|
|
607
|
+
* @readonly
|
|
608
|
+
*/
|
|
609
|
+
public get externalRenderer() { return this._externalRenderer; }
|
|
610
|
+
/**
|
|
611
|
+
* This is an option for the frameworks(React, Vue, Angular, ...). Don't set it as it's automatically managed by Flicking.
|
|
612
|
+
* @ko 프레임워크(React, Vue, Angular, ...)에서만 사용하는 옵션으로, 자동으로 설정되므로 따로 사용하실 필요 없습니다!
|
|
613
|
+
* @default null
|
|
604
614
|
* @internal
|
|
605
615
|
* @readonly
|
|
616
|
+
* @deprecated
|
|
606
617
|
*/
|
|
607
618
|
public get renderExternal() { return this._renderExternal; }
|
|
608
619
|
|
|
@@ -730,6 +741,7 @@ class Flicking extends Component<FlickingEvents> {
|
|
|
730
741
|
autoInit = true,
|
|
731
742
|
autoResize = true,
|
|
732
743
|
useResizeObserver = true,
|
|
744
|
+
externalRenderer = null,
|
|
733
745
|
renderExternal = null
|
|
734
746
|
}: Partial<FlickingOptions> = {}) {
|
|
735
747
|
super();
|
|
@@ -766,6 +778,7 @@ class Flicking extends Component<FlickingEvents> {
|
|
|
766
778
|
this._autoInit = autoInit;
|
|
767
779
|
this._autoResize = autoResize;
|
|
768
780
|
this._useResizeObserver = useResizeObserver;
|
|
781
|
+
this._externalRenderer = externalRenderer;
|
|
769
782
|
this._renderExternal = renderExternal;
|
|
770
783
|
|
|
771
784
|
// Create core components
|
|
@@ -1361,16 +1374,26 @@ class Flicking extends Component<FlickingEvents> {
|
|
|
1361
1374
|
}
|
|
1362
1375
|
|
|
1363
1376
|
private _createRenderer(): Renderer {
|
|
1364
|
-
const
|
|
1365
|
-
|
|
1377
|
+
const externalRenderer = this._externalRenderer;
|
|
1366
1378
|
if (this._virtual && this._panelsPerView <= 0) {
|
|
1367
1379
|
// eslint-disable-next-line no-console
|
|
1368
1380
|
console.warn("\"virtual\" and \"panelsPerView\" option should be used together, ignoring virtual.");
|
|
1369
1381
|
}
|
|
1370
1382
|
|
|
1371
|
-
return
|
|
1372
|
-
?
|
|
1373
|
-
: this.
|
|
1383
|
+
return externalRenderer
|
|
1384
|
+
? externalRenderer
|
|
1385
|
+
: this._renderExternal
|
|
1386
|
+
? this._createExternalRenderer()
|
|
1387
|
+
: this._createVanillaRenderer();
|
|
1388
|
+
}
|
|
1389
|
+
|
|
1390
|
+
private _createExternalRenderer(): ExternalRenderer {
|
|
1391
|
+
const {
|
|
1392
|
+
renderer,
|
|
1393
|
+
rendererOptions
|
|
1394
|
+
} = this._renderExternal!;
|
|
1395
|
+
|
|
1396
|
+
return new (renderer)({ align: this._align, ...rendererOptions });
|
|
1374
1397
|
}
|
|
1375
1398
|
|
|
1376
1399
|
private _createVanillaRenderer(): VanillaRenderer {
|
|
@@ -1381,21 +1404,11 @@ class Flicking extends Component<FlickingEvents> {
|
|
|
1381
1404
|
strategy: virtual
|
|
1382
1405
|
? new VirtualRenderingStrategy()
|
|
1383
1406
|
: new NormalRenderingStrategy({
|
|
1384
|
-
providerCtor: VanillaElementProvider
|
|
1385
|
-
panelCtor: Panel
|
|
1407
|
+
providerCtor: VanillaElementProvider
|
|
1386
1408
|
})
|
|
1387
1409
|
});
|
|
1388
1410
|
}
|
|
1389
1411
|
|
|
1390
|
-
private _createExternalRenderer(): ExternalRenderer {
|
|
1391
|
-
const {
|
|
1392
|
-
renderer,
|
|
1393
|
-
rendererOptions
|
|
1394
|
-
} = this._renderExternal!;
|
|
1395
|
-
|
|
1396
|
-
return new (renderer)({ align: this._align, ...rendererOptions });
|
|
1397
|
-
}
|
|
1398
|
-
|
|
1399
1412
|
private async _moveToInitialPanel(): Promise<void> {
|
|
1400
1413
|
const renderer = this._renderer;
|
|
1401
1414
|
const control = this._control;
|
package/src/core/Viewport.ts
CHANGED
|
@@ -124,10 +124,10 @@ class Viewport {
|
|
|
124
124
|
this._width = el.clientWidth;
|
|
125
125
|
this._height = el.clientHeight;
|
|
126
126
|
this._padding = {
|
|
127
|
-
left: parseFloat(elStyle.paddingLeft),
|
|
128
|
-
right: parseFloat(elStyle.paddingRight),
|
|
129
|
-
top: parseFloat(elStyle.paddingTop),
|
|
130
|
-
bottom: parseFloat(elStyle.paddingBottom)
|
|
127
|
+
left: elStyle.paddingLeft ? parseFloat(elStyle.paddingLeft) : 0,
|
|
128
|
+
right: elStyle.paddingRight ? parseFloat(elStyle.paddingRight) : 0,
|
|
129
|
+
top: elStyle.paddingTop ? parseFloat(elStyle.paddingTop) : 0,
|
|
130
|
+
bottom: elStyle.paddingBottom ? parseFloat(elStyle.paddingBottom) : 0
|
|
131
131
|
};
|
|
132
132
|
this._isBorderBoxSizing = elStyle.boxSizing === "border-box";
|
|
133
133
|
}
|
package/src/core/panel/index.ts
CHANGED
|
@@ -3,18 +3,15 @@
|
|
|
3
3
|
* egjs projects are licensed under the MIT license
|
|
4
4
|
*/
|
|
5
5
|
import Panel, { PanelOptions } from "./Panel";
|
|
6
|
-
import ExternalPanel, { ExternalPanelOptions } from "./ExternalPanel";
|
|
7
6
|
import VirtualPanel from "./VirtualPanel";
|
|
8
7
|
|
|
9
8
|
export * from "./provider";
|
|
10
9
|
|
|
11
10
|
export {
|
|
12
11
|
Panel,
|
|
13
|
-
ExternalPanel,
|
|
14
12
|
VirtualPanel
|
|
15
13
|
};
|
|
16
14
|
|
|
17
15
|
export type {
|
|
18
|
-
PanelOptions
|
|
19
|
-
ExternalPanelOptions
|
|
16
|
+
PanelOptions
|
|
20
17
|
};
|
|
@@ -11,11 +11,14 @@ import ElementProvider from "./ElementProvider";
|
|
|
11
11
|
*/
|
|
12
12
|
class VanillaElementProvider implements ElementProvider {
|
|
13
13
|
private _element: HTMLElement;
|
|
14
|
+
private _rendered: boolean;
|
|
14
15
|
|
|
15
16
|
public get element() { return this._element; }
|
|
17
|
+
public get rendered() { return this._rendered; }
|
|
16
18
|
|
|
17
19
|
public constructor(element: HTMLElement) {
|
|
18
20
|
this._element = element;
|
|
21
|
+
this._rendered = true;
|
|
19
22
|
}
|
|
20
23
|
|
|
21
24
|
public show(flicking: Flicking): void {
|
|
@@ -24,6 +27,7 @@ class VanillaElementProvider implements ElementProvider {
|
|
|
24
27
|
|
|
25
28
|
if (el.parentElement !== cameraEl) {
|
|
26
29
|
cameraEl.appendChild(el);
|
|
30
|
+
this._rendered = true;
|
|
27
31
|
}
|
|
28
32
|
}
|
|
29
33
|
|
|
@@ -33,6 +37,7 @@ class VanillaElementProvider implements ElementProvider {
|
|
|
33
37
|
|
|
34
38
|
if (el.parentElement === cameraEl) {
|
|
35
39
|
cameraEl.removeChild(el);
|
|
40
|
+
this._rendered = false;
|
|
36
41
|
}
|
|
37
42
|
}
|
|
38
43
|
}
|
|
@@ -15,12 +15,15 @@ class VirtualElementProvider implements ElementProvider {
|
|
|
15
15
|
private _flicking: Flicking;
|
|
16
16
|
private _panel: VirtualPanel;
|
|
17
17
|
|
|
18
|
-
public get element() {
|
|
18
|
+
public get element() { return this._virtualElement.nativeElement; }
|
|
19
|
+
public get rendered() { return this._virtualElement.visible; }
|
|
20
|
+
|
|
21
|
+
private get _virtualElement() {
|
|
19
22
|
const flicking = this._flicking;
|
|
20
23
|
const elIndex = this._panel.elementIndex;
|
|
21
24
|
const virtualElements = flicking.virtual.elements;
|
|
22
25
|
|
|
23
|
-
return virtualElements[elIndex]
|
|
26
|
+
return virtualElements[elIndex];
|
|
24
27
|
}
|
|
25
28
|
|
|
26
29
|
public constructor(flicking: Flicking) {
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
* egjs projects are licensed under the MIT license
|
|
4
4
|
*/
|
|
5
5
|
import ElementProvider from "./ElementProvider";
|
|
6
|
-
import ExternalElementProvider from "./ExternalElementProvider";
|
|
7
6
|
import VanillaElementProvider from "./VanillaElementProvider";
|
|
8
7
|
import VirtualElementProvider from "./VirtualElementProvider";
|
|
9
8
|
|
|
@@ -13,6 +12,5 @@ export {
|
|
|
13
12
|
};
|
|
14
13
|
|
|
15
14
|
export type {
|
|
16
|
-
ElementProvider
|
|
17
|
-
ExternalElementProvider
|
|
15
|
+
ElementProvider
|
|
18
16
|
};
|
|
@@ -7,14 +7,10 @@ import Panel from "../core/panel/Panel";
|
|
|
7
7
|
import Renderer from "./Renderer";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* @internal
|
|
11
11
|
*/
|
|
12
12
|
abstract class ExternalRenderer extends Renderer {
|
|
13
13
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
14
|
-
protected _insertPanelElements(panels: Panel[], nextSibling: Panel | null): void {
|
|
15
|
-
// DO NOTHING, overrided to prevent an unexpected error
|
|
16
|
-
}
|
|
17
|
-
|
|
18
14
|
protected _removePanelElements(panels: Panel[]): void {
|
|
19
15
|
// DO NOTHING, overrided to prevent an unexpected error
|
|
20
16
|
}
|
|
@@ -23,34 +19,6 @@ abstract class ExternalRenderer extends Renderer {
|
|
|
23
19
|
// DO NOTHING, overrided to prevent an unexpected error
|
|
24
20
|
}
|
|
25
21
|
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
26
|
-
|
|
27
|
-
// protected _renderVirtualPanels() {
|
|
28
|
-
// const flicking = getFlickingAttached(this._flicking);
|
|
29
|
-
// const virtualManager = this._virtualManager;
|
|
30
|
-
|
|
31
|
-
// if (!virtualManager) return;
|
|
32
|
-
|
|
33
|
-
// const elements = virtualManager.elements;
|
|
34
|
-
// const visiblePanels = flicking.visiblePanels as VirtualPanel[];
|
|
35
|
-
// const invisibles = elements.map((_, idx) => idx);
|
|
36
|
-
|
|
37
|
-
// visiblePanels.forEach(panel => {
|
|
38
|
-
// const virtualEl = panel.virtualElement;
|
|
39
|
-
|
|
40
|
-
// invisibles[virtualEl.index] = -1;
|
|
41
|
-
// virtualEl.renderingPanel = panel;
|
|
42
|
-
// virtualEl.show();
|
|
43
|
-
// panel.markForShow();
|
|
44
|
-
// });
|
|
45
|
-
|
|
46
|
-
// invisibles.filter(val => val >= 0)
|
|
47
|
-
// .forEach(idx => {
|
|
48
|
-
// const virtualEl = elements[idx];
|
|
49
|
-
// virtualEl.hide();
|
|
50
|
-
// virtualEl.renderingPanel?.markForHide();
|
|
51
|
-
// virtualEl.renderingPanel = null;
|
|
52
|
-
// });
|
|
53
|
-
// }
|
|
54
22
|
}
|
|
55
23
|
|
|
56
24
|
export default ExternalRenderer;
|
|
@@ -12,17 +12,14 @@ import RenderingStrategy from "./RenderingStrategy";
|
|
|
12
12
|
|
|
13
13
|
export interface NormalRenderingStrategyOptions {
|
|
14
14
|
providerCtor: new (...args: any) => ElementProvider;
|
|
15
|
-
panelCtor: new (options: PanelOptions) => Panel;
|
|
16
15
|
}
|
|
17
16
|
|
|
18
17
|
|
|
19
18
|
class NormalRenderingStrategy implements RenderingStrategy {
|
|
20
19
|
private _providerCtor: NormalRenderingStrategyOptions["providerCtor"];
|
|
21
|
-
private _panelCtor: NormalRenderingStrategyOptions["panelCtor"];
|
|
22
20
|
|
|
23
|
-
public constructor({ providerCtor
|
|
21
|
+
public constructor({ providerCtor }: NormalRenderingStrategyOptions) {
|
|
24
22
|
this._providerCtor = providerCtor;
|
|
25
|
-
this._panelCtor = panelCtor;
|
|
26
23
|
}
|
|
27
24
|
|
|
28
25
|
public renderPanels() {
|
|
@@ -58,7 +55,7 @@ class NormalRenderingStrategy implements RenderingStrategy {
|
|
|
58
55
|
) {
|
|
59
56
|
const align = parsePanelAlign(flicking.renderer.align);
|
|
60
57
|
|
|
61
|
-
return elements.map((el, index) => new
|
|
58
|
+
return elements.map((el, index) => new Panel({
|
|
62
59
|
index,
|
|
63
60
|
elementProvider: new this._providerCtor(el),
|
|
64
61
|
align,
|
|
@@ -70,7 +67,7 @@ class NormalRenderingStrategy implements RenderingStrategy {
|
|
|
70
67
|
element: any,
|
|
71
68
|
options: Omit<PanelOptions, "elementProvider">
|
|
72
69
|
) {
|
|
73
|
-
return new
|
|
70
|
+
return new Panel({
|
|
74
71
|
...options,
|
|
75
72
|
elementProvider: new this._providerCtor(element)
|
|
76
73
|
});
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import Panel, { PanelOptions } from "./Panel";
|
|
2
|
-
import ExternalElementProvider from "./provider/ExternalElementProvider";
|
|
3
|
-
export interface ExternalPanelOptions extends PanelOptions {
|
|
4
|
-
elementProvider: ExternalElementProvider;
|
|
5
|
-
}
|
|
6
|
-
declare class ExternalPanel extends Panel {
|
|
7
|
-
protected _elProvider: ExternalElementProvider;
|
|
8
|
-
get rendered(): boolean;
|
|
9
|
-
constructor(options: ExternalPanelOptions);
|
|
10
|
-
markForShow(): void;
|
|
11
|
-
markForHide(): void;
|
|
12
|
-
}
|
|
13
|
-
export default ExternalPanel;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import Flicking from "../../../Flicking";
|
|
2
|
-
import ElementProvider from "./ElementProvider";
|
|
3
|
-
interface ExternalElementProvider extends ElementProvider {
|
|
4
|
-
rendered: boolean;
|
|
5
|
-
show(flicking: Flicking): any;
|
|
6
|
-
hide(flicking: Flicking): any;
|
|
7
|
-
}
|
|
8
|
-
export default ExternalElementProvider;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2015 NAVER Corp.
|
|
3
|
-
* egjs projects are licensed under the MIT license
|
|
4
|
-
*/
|
|
5
|
-
import Panel, { PanelOptions } from "./Panel";
|
|
6
|
-
import ExternalElementProvider from "./provider/ExternalElementProvider";
|
|
7
|
-
|
|
8
|
-
export interface ExternalPanelOptions extends PanelOptions {
|
|
9
|
-
elementProvider: ExternalElementProvider;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* A slide data component that holds information of a single HTMLElement
|
|
14
|
-
* @ko 슬라이드 데이터 컴포넌트로, 단일 HTMLElement의 정보를 갖고 있습니다
|
|
15
|
-
*/
|
|
16
|
-
class ExternalPanel extends Panel {
|
|
17
|
-
protected _elProvider: ExternalElementProvider;
|
|
18
|
-
|
|
19
|
-
public get rendered() { return this._elProvider.rendered; }
|
|
20
|
-
|
|
21
|
-
public constructor(options: ExternalPanelOptions) {
|
|
22
|
-
super(options);
|
|
23
|
-
|
|
24
|
-
this._elProvider = options.elementProvider;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
public markForShow() {
|
|
28
|
-
this._elProvider.show(this._flicking);
|
|
29
|
-
|
|
30
|
-
return super.markForShow();
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
public markForHide() {
|
|
34
|
-
this._elProvider.hide(this._flicking);
|
|
35
|
-
|
|
36
|
-
return super.markForHide();
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export default ExternalPanel;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2015 NAVER Corp.
|
|
3
|
-
* egjs projects are licensed under the MIT license
|
|
4
|
-
*/
|
|
5
|
-
import Flicking from "../../../Flicking";
|
|
6
|
-
|
|
7
|
-
import ElementProvider from "./ElementProvider";
|
|
8
|
-
|
|
9
|
-
interface ExternalElementProvider extends ElementProvider {
|
|
10
|
-
rendered: boolean;
|
|
11
|
-
show(flicking: Flicking): any;
|
|
12
|
-
hide(flicking: Flicking): any;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export default ExternalElementProvider;
|