ng-virtual-list 16.11.0 → 16.11.2
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/README.md +5 -1
- package/esm2022/lib/components/ng-list-item/base/base-virtual-list-item-component.mjs +213 -0
- package/esm2022/lib/components/ng-list-item/base/index.mjs +3 -0
- package/esm2022/lib/components/ng-list-item/const/index.mjs +30 -0
- package/esm2022/lib/components/ng-list-item/interfaces/index.mjs +2 -0
- package/esm2022/lib/components/ng-list-item/interfaces/template-context.mjs +2 -0
- package/esm2022/lib/components/ng-list-item/ng-virtual-list-item.component.mjs +207 -0
- package/esm2022/lib/components/ng-list-item/ng-virtual-list-item.module.mjs +20 -0
- package/esm2022/lib/components/ng-list-item/utils/create-display-id.mjs +4 -0
- package/esm2022/lib/components/ng-list-item/utils/get-element-by-index.mjs +6 -0
- package/esm2022/lib/components/ng-list-item/utils/index.mjs +4 -0
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.mjs +269 -0
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.module.mjs +21 -0
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.mjs +78 -0
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.module.mjs +20 -0
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.mjs +140 -0
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.module.mjs +20 -0
- package/esm2022/lib/components/ng-prerender-container/core/index.mjs +3 -0
- package/esm2022/lib/components/ng-prerender-container/core/prerender-track-box.mjs +168 -0
- package/esm2022/lib/components/ng-prerender-container/events/index.mjs +6 -0
- package/esm2022/lib/components/ng-prerender-container/interfaces/index.mjs +2 -0
- package/esm2022/lib/components/ng-prerender-container/interfaces/refresh-params.mjs +2 -0
- package/esm2022/lib/components/ng-prerender-container/ng-prerender-container.component.mjs +92 -0
- package/esm2022/lib/components/ng-prerender-container/ng-prerender-container.module.mjs +20 -0
- package/esm2022/lib/components/ng-prerender-container/types/cache.mjs +2 -0
- package/esm2022/lib/components/ng-prerender-container/types/index.mjs +2 -0
- package/esm2022/lib/components/ng-scroll-bar/ng-scroll-bar.component.mjs +18 -19
- package/esm2022/lib/components/ng-scroll-bar/ng-scroll-bar.module.mjs +3 -3
- package/esm2022/lib/components/ng-scroll-view/base/base-scroll-view.component.mjs +8 -8
- package/esm2022/lib/components/ng-scroll-view/ng-scroll-view.component.mjs +33 -22
- package/esm2022/lib/components/ng-scroller/const/index.mjs +2 -0
- package/esm2022/lib/components/ng-scroller/enums/index.mjs +3 -0
- package/esm2022/lib/components/ng-scroller/enums/scroller-direction.mjs +6 -0
- package/esm2022/lib/components/ng-scroller/enums/scroller-directions.mjs +2 -0
- package/esm2022/lib/components/ng-scroller/ng-scroller.component.mjs +449 -0
- package/esm2022/lib/components/ng-scroller/ng-scroller.module.mjs +22 -0
- package/esm2022/lib/components/ng-scroller/utils/index.mjs +3 -0
- package/esm2022/lib/components/ng-scroller/utils/scroll-box.mjs +52 -0
- package/esm2022/lib/const/index.mjs +9 -1
- package/esm2022/lib/core/track-box.mjs +10 -8
- package/esm2022/lib/core/tracker.mjs +1 -1
- package/esm2022/lib/directives/locale-sensitive/locale-sensitive.directive.mjs +2 -2
- package/esm2022/lib/interfaces/index.mjs +1 -1
- package/esm2022/lib/interfaces/scrolling-settings.mjs +2 -0
- package/esm2022/lib/ng-virtual-list.component.mjs +215 -122
- package/esm2022/lib/ng-virtual-list.module.mjs +7 -7
- package/esm2022/lib/ng-virtual-list.service.mjs +11 -5
- package/esm2022/lib/utils/disposable-component.mjs +27 -0
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/ng-virtual-list.mjs +441 -284
- package/fesm2022/ng-virtual-list.mjs.map +1 -1
- package/lib/components/{list-item → ng-list-item}/base/base-virtual-list-item-component.d.ts +5 -3
- package/lib/components/{list-item → ng-list-item}/ng-virtual-list-item.component.d.ts +2 -3
- package/lib/components/{prerender-container/components/prerender-list/prerender-list.component.d.ts → ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.d.ts} +8 -8
- package/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.module.d.ts +10 -0
- package/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.d.ts +17 -0
- package/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.module.d.ts +9 -0
- package/lib/components/{prerender-container/components/prerender-scroller/prerender-scroller.component.d.ts → ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.d.ts} +5 -5
- package/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.module.d.ts +9 -0
- package/lib/components/{prerender-container → ng-prerender-container}/core/prerender-track-box.d.ts +2 -2
- package/lib/components/{prerender-container → ng-prerender-container}/interfaces/refresh-params.d.ts +1 -1
- package/lib/components/ng-prerender-container/ng-prerender-container.component.d.ts +39 -0
- package/lib/components/ng-prerender-container/ng-prerender-container.module.d.ts +9 -0
- package/lib/components/{prerender-container → ng-prerender-container}/types/cache.d.ts +1 -1
- package/lib/components/ng-scroll-view/base/base-scroll-view.component.d.ts +3 -3
- package/lib/components/ng-scroll-view/ng-scroll-view.component.d.ts +6 -1
- package/lib/components/{scroller → ng-scroller}/ng-scroller.component.d.ts +1 -1
- package/lib/components/{scroller → ng-scroller}/utils/scroll-box.d.ts +1 -1
- package/lib/const/index.d.ts +2 -1
- package/lib/core/track-box.d.ts +5 -4
- package/lib/core/tracker.d.ts +1 -1
- package/lib/directives/locale-sensitive/locale-sensitive.directive.d.ts +1 -1
- package/lib/interfaces/index.d.ts +2 -1
- package/lib/interfaces/scrolling-settings.d.ts +38 -0
- package/lib/ng-virtual-list.component.d.ts +19 -5
- package/lib/ng-virtual-list.module.d.ts +4 -4
- package/lib/ng-virtual-list.service.d.ts +3 -0
- package/lib/utils/disposable-component.d.ts +15 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/esm2022/lib/components/list-item/base/base-virtual-list-item-component.mjs +0 -207
- package/esm2022/lib/components/list-item/base/index.mjs +0 -3
- package/esm2022/lib/components/list-item/const/index.mjs +0 -30
- package/esm2022/lib/components/list-item/interfaces/index.mjs +0 -2
- package/esm2022/lib/components/list-item/interfaces/template-context.mjs +0 -2
- package/esm2022/lib/components/list-item/ng-virtual-list-item.component.mjs +0 -202
- package/esm2022/lib/components/list-item/ng-virtual-list-item.module.mjs +0 -20
- package/esm2022/lib/components/list-item/utils/create-display-id.mjs +0 -4
- package/esm2022/lib/components/list-item/utils/get-element-by-index.mjs +0 -6
- package/esm2022/lib/components/list-item/utils/index.mjs +0 -4
- package/esm2022/lib/components/prerender-container/components/prerender-list/prerender-list.component.mjs +0 -268
- package/esm2022/lib/components/prerender-container/components/prerender-list/prerender-list.module.mjs +0 -21
- package/esm2022/lib/components/prerender-container/components/prerender-list-item/prerender-list-item.component.mjs +0 -78
- package/esm2022/lib/components/prerender-container/components/prerender-list-item/prerender-list-item.module.mjs +0 -20
- package/esm2022/lib/components/prerender-container/components/prerender-scroller/prerender-scroller.component.mjs +0 -141
- package/esm2022/lib/components/prerender-container/components/prerender-scroller/prerender-scroller.module.mjs +0 -20
- package/esm2022/lib/components/prerender-container/core/index.mjs +0 -3
- package/esm2022/lib/components/prerender-container/core/prerender-track-box.mjs +0 -168
- package/esm2022/lib/components/prerender-container/events/index.mjs +0 -6
- package/esm2022/lib/components/prerender-container/interfaces/index.mjs +0 -2
- package/esm2022/lib/components/prerender-container/interfaces/refresh-params.mjs +0 -2
- package/esm2022/lib/components/prerender-container/prerender-container.component.mjs +0 -91
- package/esm2022/lib/components/prerender-container/prerender-container.module.mjs +0 -20
- package/esm2022/lib/components/prerender-container/types/cache.mjs +0 -2
- package/esm2022/lib/components/prerender-container/types/index.mjs +0 -2
- package/esm2022/lib/components/scroller/const/index.mjs +0 -2
- package/esm2022/lib/components/scroller/enums/index.mjs +0 -3
- package/esm2022/lib/components/scroller/enums/scroller-direction.mjs +0 -6
- package/esm2022/lib/components/scroller/enums/scroller-directions.mjs +0 -2
- package/esm2022/lib/components/scroller/ng-scroller.component.mjs +0 -450
- package/esm2022/lib/components/scroller/ng-scroller.module.mjs +0 -22
- package/esm2022/lib/components/scroller/utils/index.mjs +0 -3
- package/esm2022/lib/components/scroller/utils/scroll-box.mjs +0 -52
- package/lib/components/prerender-container/components/prerender-list/prerender-list.module.d.ts +0 -10
- package/lib/components/prerender-container/components/prerender-list-item/prerender-list-item.component.d.ts +0 -17
- package/lib/components/prerender-container/components/prerender-list-item/prerender-list-item.module.d.ts +0 -9
- package/lib/components/prerender-container/components/prerender-scroller/prerender-scroller.module.d.ts +0 -9
- package/lib/components/prerender-container/prerender-container.component.d.ts +0 -39
- package/lib/components/prerender-container/prerender-container.module.d.ts +0 -9
- /package/lib/components/{list-item → ng-list-item}/base/index.d.ts +0 -0
- /package/lib/components/{list-item → ng-list-item}/const/index.d.ts +0 -0
- /package/lib/components/{list-item → ng-list-item}/interfaces/index.d.ts +0 -0
- /package/lib/components/{list-item → ng-list-item}/interfaces/template-context.d.ts +0 -0
- /package/lib/components/{list-item → ng-list-item}/ng-virtual-list-item.module.d.ts +0 -0
- /package/lib/components/{list-item → ng-list-item}/utils/create-display-id.d.ts +0 -0
- /package/lib/components/{list-item → ng-list-item}/utils/get-element-by-index.d.ts +0 -0
- /package/lib/components/{list-item → ng-list-item}/utils/index.d.ts +0 -0
- /package/lib/components/{prerender-container → ng-prerender-container}/core/index.d.ts +0 -0
- /package/lib/components/{prerender-container → ng-prerender-container}/events/index.d.ts +0 -0
- /package/lib/components/{prerender-container → ng-prerender-container}/interfaces/index.d.ts +0 -0
- /package/lib/components/{prerender-container → ng-prerender-container}/types/index.d.ts +0 -0
- /package/lib/components/{scroller → ng-scroller}/const/index.d.ts +0 -0
- /package/lib/components/{scroller → ng-scroller}/enums/index.d.ts +0 -0
- /package/lib/components/{scroller → ng-scroller}/enums/scroller-direction.d.ts +0 -0
- /package/lib/components/{scroller → ng-scroller}/enums/scroller-directions.d.ts +0 -0
- /package/lib/components/{scroller → ng-scroller}/ng-scroller.module.d.ts +0 -0
- /package/lib/components/{scroller → ng-scroller}/utils/index.d.ts +0 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export const createDisplayId = (listId, id) => {
|
|
2
|
+
return `${listId}-${id}`;
|
|
3
|
+
};
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRpc3BsYXktaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLWxpc3QtaXRlbS91dGlscy9jcmVhdGUtZGlzcGxheS1pZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBVSxFQUFFLEVBQUU7SUFDMUQsT0FBTyxHQUFHLE1BQU0sSUFBSSxFQUFFLEVBQUUsQ0FBQztBQUM3QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgY3JlYXRlRGlzcGxheUlkID0gKGxpc3RJZDogbnVtYmVyLCBpZDogbnVtYmVyKSA9PiB7XHJcbiAgICByZXR1cm4gYCR7bGlzdElkfS0ke2lkfWA7XHJcbn07XHJcbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export const NGVL_INDEX = 'ngvl-index', getListElementByIndex = (index) => {
|
|
2
|
+
return `[${NGVL_INDEX}="${index}"]`;
|
|
3
|
+
}, getListElements = () => {
|
|
4
|
+
return `[${NGVL_INDEX}]`;
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWVsZW1lbnQtYnktaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLWxpc3QtaXRlbS91dGlscy9nZXQtZWxlbWVudC1ieS1pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsWUFBWSxFQUNsQyxxQkFBcUIsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFO0lBQ3RDLE9BQU8sSUFBSSxVQUFVLEtBQUssS0FBSyxJQUFJLENBQUM7QUFDeEMsQ0FBQyxFQUNELGVBQWUsR0FBRyxHQUFHLEVBQUU7SUFDbkIsT0FBTyxJQUFJLFVBQVUsR0FBRyxDQUFDO0FBQzdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBOR1ZMX0lOREVYID0gJ25ndmwtaW5kZXgnLFxyXG4gICAgZ2V0TGlzdEVsZW1lbnRCeUluZGV4ID0gKGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICByZXR1cm4gYFske05HVkxfSU5ERVh9PVwiJHtpbmRleH1cIl1gO1xyXG4gICAgfSxcclxuICAgIGdldExpc3RFbGVtZW50cyA9ICgpID0+IHtcclxuICAgICAgICByZXR1cm4gYFske05HVkxfSU5ERVh9XWA7XHJcbiAgICB9O1xyXG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { getListElementByIndex, getListElements, NGVL_INDEX } from './get-element-by-index';
|
|
2
|
+
import { createDisplayId } from './create-display-id';
|
|
3
|
+
export { createDisplayId, getListElementByIndex, getListElements, NGVL_INDEX, };
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLWxpc3QtaXRlbS91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQ0gsZUFBZSxFQUNmLHFCQUFxQixFQUNyQixlQUFlLEVBQ2YsVUFBVSxHQUNiLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRMaXN0RWxlbWVudEJ5SW5kZXgsIGdldExpc3RFbGVtZW50cywgTkdWTF9JTkRFWCB9IGZyb20gJy4vZ2V0LWVsZW1lbnQtYnktaW5kZXgnO1xyXG5pbXBvcnQgeyBjcmVhdGVEaXNwbGF5SWQgfSBmcm9tICcuL2NyZWF0ZS1kaXNwbGF5LWlkJztcclxuXHJcbmV4cG9ydCB7XHJcbiAgICBjcmVhdGVEaXNwbGF5SWQsXHJcbiAgICBnZXRMaXN0RWxlbWVudEJ5SW5kZXgsXHJcbiAgICBnZXRMaXN0RWxlbWVudHMsXHJcbiAgICBOR1ZMX0lOREVYLFxyXG59Il19
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ElementRef, inject, Input, ViewChild, ViewContainerRef, ViewEncapsulation, } from "@angular/core";
|
|
2
|
+
import { toggleClassName } from "../../../../utils";
|
|
3
|
+
import { BehaviorSubject, combineLatest, filter, Subject, takeUntil, tap } from "rxjs";
|
|
4
|
+
import { CLASS_LIST_HORIZONTAL, CLASS_LIST_VERTICAL, DEFAULT_DIRECTION, DEFAULT_DYNAMIC_SIZE, DEFAULT_ITEM_SIZE, DEFAULT_SCROLLBAR_ENABLED, PX, TRACK_BY_PROPERTY_NAME, } from "../../../../const";
|
|
5
|
+
import { PrerenderTrackBox } from "../../core";
|
|
6
|
+
import { PrerenderTrackBoxEvents } from "../../events";
|
|
7
|
+
import { NgPrerenderVirtualListItemComponent } from "../ng-prerender-list-item/ng-prerender-list-item.component";
|
|
8
|
+
import { DisposableComponent } from "../../../../utils/disposable-component";
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "../ng-prerender-scroller/ng-prerender-scroller.component";
|
|
11
|
+
import * as i2 from "@angular/common";
|
|
12
|
+
/**
|
|
13
|
+
* NgPrerenderList.
|
|
14
|
+
* Maximum performance for extremely large lists.
|
|
15
|
+
* It is based on algorithms for virtualization of screen objects.
|
|
16
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/16.x/projects/ng-virtual-list/src/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.ts
|
|
17
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
18
|
+
* @email djonnyx@gmail.com
|
|
19
|
+
*/
|
|
20
|
+
export class NgPrerenderList extends DisposableComponent {
|
|
21
|
+
_listContainerRef;
|
|
22
|
+
_$enabled = new BehaviorSubject(false);
|
|
23
|
+
$enabled = this._$enabled.asObservable();
|
|
24
|
+
set enabled(v) {
|
|
25
|
+
if (this._$enabled.getValue() !== v) {
|
|
26
|
+
this._$enabled.next(v);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
get enabled() { return this._$enabled.getValue(); }
|
|
30
|
+
_$direction = new BehaviorSubject(DEFAULT_DIRECTION);
|
|
31
|
+
$direction = this._$direction.asObservable();
|
|
32
|
+
set direction(v) {
|
|
33
|
+
if (this._$direction.getValue() !== v) {
|
|
34
|
+
this._$direction.next(v);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
get direction() { return this._$direction.getValue(); }
|
|
38
|
+
_$isVertical = new BehaviorSubject(true);
|
|
39
|
+
$isVertical = this._$isVertical.asObservable();
|
|
40
|
+
set isVertical(v) {
|
|
41
|
+
if (this._$isVertical.getValue() !== v) {
|
|
42
|
+
this._$isVertical.next(v);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
get isVertical() { return this._$isVertical.getValue(); }
|
|
46
|
+
_$items = new BehaviorSubject([]);
|
|
47
|
+
$items = this._$items.asObservable();
|
|
48
|
+
set items(v) {
|
|
49
|
+
if (this._$items.getValue() !== v) {
|
|
50
|
+
this._$items.next(v);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
get items() { return this._$items.getValue(); }
|
|
54
|
+
_$scrollbarEnabled = new BehaviorSubject(DEFAULT_SCROLLBAR_ENABLED);
|
|
55
|
+
$scrollbarEnabled = this._$scrollbarEnabled.asObservable();
|
|
56
|
+
set scrollbarEnabled(v) {
|
|
57
|
+
if (this._$scrollbarEnabled.getValue() !== v) {
|
|
58
|
+
this._$scrollbarEnabled.next(v);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
get scrollbarEnabled() { return this._$scrollbarEnabled.getValue(); }
|
|
62
|
+
_$startOffset = new BehaviorSubject(0);
|
|
63
|
+
$startOffset = this._$startOffset.asObservable();
|
|
64
|
+
set startOffset(v) {
|
|
65
|
+
if (this._$startOffset.getValue() !== v) {
|
|
66
|
+
this._$startOffset.next(v);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
get startOffset() { return this._$startOffset.getValue(); }
|
|
70
|
+
_$endOffset = new BehaviorSubject(0);
|
|
71
|
+
$endOffset = this._$endOffset.asObservable();
|
|
72
|
+
set endOffset(v) {
|
|
73
|
+
if (this._$endOffset.getValue() !== v) {
|
|
74
|
+
this._$endOffset.next(v);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
get endOffset() { return this._$endOffset.getValue(); }
|
|
78
|
+
_$bounds = new BehaviorSubject({ width: 0, height: 0 });
|
|
79
|
+
$bounds = this._$bounds.asObservable();
|
|
80
|
+
set bounds(v) {
|
|
81
|
+
if (this._$bounds.getValue() !== v) {
|
|
82
|
+
this._$bounds.next(v);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
get bounds() { return this._$bounds.getValue(); }
|
|
86
|
+
_$dynamic = new BehaviorSubject(DEFAULT_DYNAMIC_SIZE);
|
|
87
|
+
$dynamic = this._$dynamic.asObservable();
|
|
88
|
+
set dynamic(v) {
|
|
89
|
+
if (this._$dynamic.getValue() !== v) {
|
|
90
|
+
this._$dynamic.next(v);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
get dynamic() { return this._$dynamic.getValue(); }
|
|
94
|
+
_$itemSize = new BehaviorSubject(DEFAULT_ITEM_SIZE);
|
|
95
|
+
$itemSize = this._$itemSize.asObservable();
|
|
96
|
+
set itemSize(v) {
|
|
97
|
+
if (this._$itemSize.getValue() !== v) {
|
|
98
|
+
this._$itemSize.next(v);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
get itemSize() { return this._$itemSize.getValue(); }
|
|
102
|
+
_$trackBy = new BehaviorSubject(TRACK_BY_PROPERTY_NAME);
|
|
103
|
+
$trackBy = this._$trackBy.asObservable();
|
|
104
|
+
set trackBy(v) {
|
|
105
|
+
if (this._$trackBy.getValue() !== v) {
|
|
106
|
+
this._$trackBy.next(v);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
get trackBy() { return this._$trackBy.getValue(); }
|
|
110
|
+
_$itemRenderer = new BehaviorSubject(null);
|
|
111
|
+
$itemRenderer = this._$itemRenderer.asObservable();
|
|
112
|
+
set itemRenderer(v) {
|
|
113
|
+
if (this._$itemRenderer.getValue() !== v) {
|
|
114
|
+
this._$itemRenderer.next(v);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
get itemRenderer() { return this._$itemRenderer.getValue(); }
|
|
118
|
+
_$itemComponentClass = new BehaviorSubject(NgPrerenderVirtualListItemComponent);
|
|
119
|
+
$itemComponentClass = this._$itemComponentClass.asObservable();
|
|
120
|
+
set itemComponentClass(v) {
|
|
121
|
+
if (this._$itemComponentClass.getValue() !== v) {
|
|
122
|
+
this._$itemComponentClass.next(v);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
get itemComponentClass() { return this._$itemComponentClass.getValue(); }
|
|
126
|
+
_$classes = new BehaviorSubject({ prepared: true });
|
|
127
|
+
$classes = this._$classes.asObservable();
|
|
128
|
+
_$render = new Subject();
|
|
129
|
+
$render = this._$render.asObservable();
|
|
130
|
+
_$componentResize = new Subject();
|
|
131
|
+
$componentResize = this._$componentResize.asObservable();
|
|
132
|
+
_trackBox = new PrerenderTrackBox();
|
|
133
|
+
_onTrackBoxResizeHandler = (cache) => {
|
|
134
|
+
this._$componentResize.next(cache);
|
|
135
|
+
};
|
|
136
|
+
_elementRef = inject(ElementRef);
|
|
137
|
+
get active() { return this._trackBox?.active ?? false; }
|
|
138
|
+
_activated = false;
|
|
139
|
+
_subscriptions = new Array();
|
|
140
|
+
constructor() {
|
|
141
|
+
super();
|
|
142
|
+
const $enabled = this.$enabled;
|
|
143
|
+
$enabled.pipe(takeUntil(this._$unsubscribe), tap(enabled => {
|
|
144
|
+
if (enabled) {
|
|
145
|
+
this.activate();
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
this.deactivate();
|
|
149
|
+
}
|
|
150
|
+
})).subscribe();
|
|
151
|
+
}
|
|
152
|
+
activate() {
|
|
153
|
+
if (this._activated) {
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
this._activated = true;
|
|
157
|
+
this._trackBox.addEventListener(PrerenderTrackBoxEvents.RESIZE, this._onTrackBoxResizeHandler);
|
|
158
|
+
this._subscriptions.push(this.$isVertical.pipe(takeUntil(this._$unsubscribe), tap(v => {
|
|
159
|
+
const el = this._elementRef.nativeElement;
|
|
160
|
+
toggleClassName(el, v ? CLASS_LIST_VERTICAL : CLASS_LIST_HORIZONTAL, v ? CLASS_LIST_HORIZONTAL : CLASS_LIST_VERTICAL);
|
|
161
|
+
})).subscribe());
|
|
162
|
+
this._subscriptions.push(this.$bounds.pipe(takeUntil(this._$unsubscribe), filter(v => !!v), tap(bounds => {
|
|
163
|
+
const { width, height } = bounds;
|
|
164
|
+
const el = this._elementRef.nativeElement;
|
|
165
|
+
el.style.width = `${width}${PX}`;
|
|
166
|
+
el.style.height = `${height}${PX}`;
|
|
167
|
+
})).subscribe());
|
|
168
|
+
this._subscriptions.push(combineLatest([this.$bounds, this.$items]).pipe(takeUntil(this._$unsubscribe), filter(([b, i]) => !!b && !!i), tap(([bounds, items]) => {
|
|
169
|
+
if (this.active && !!this._trackBox) {
|
|
170
|
+
this._trackBox.reset(this._$itemComponentClass.getValue(), items, this._$bounds.getValue(), {
|
|
171
|
+
itemRenderer: this._$itemRenderer.getValue(),
|
|
172
|
+
dynamic: this._$dynamic.getValue(),
|
|
173
|
+
itemSize: this._$itemSize.getValue(),
|
|
174
|
+
isVertical: this._$isVertical.getValue(),
|
|
175
|
+
trackBy: this._$trackBy.getValue(),
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
})).subscribe());
|
|
179
|
+
const $componentResize = this.$componentResize;
|
|
180
|
+
this._subscriptions.push($componentResize.pipe(takeUntil(this._$unsubscribe), tap(cache => {
|
|
181
|
+
this._$render.next(cache);
|
|
182
|
+
})).subscribe());
|
|
183
|
+
}
|
|
184
|
+
deactivate() {
|
|
185
|
+
if (!this._activated) {
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
this._activated = false;
|
|
189
|
+
this.off();
|
|
190
|
+
if (!!this._trackBox) {
|
|
191
|
+
this._trackBox.removeEventListener(PrerenderTrackBoxEvents.RESIZE, this._onTrackBoxResizeHandler);
|
|
192
|
+
}
|
|
193
|
+
const subscriptions = this._subscriptions;
|
|
194
|
+
for (const subscr of subscriptions) {
|
|
195
|
+
if (!subscr.closed) {
|
|
196
|
+
subscr.unsubscribe();
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
this._subscriptions = [];
|
|
200
|
+
}
|
|
201
|
+
clear() {
|
|
202
|
+
if (!!this._trackBox) {
|
|
203
|
+
this._trackBox.clear();
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
on(items = null) {
|
|
207
|
+
if (!!this._trackBox) {
|
|
208
|
+
this._trackBox.on();
|
|
209
|
+
this._$items.next(items ?? []);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
off() {
|
|
213
|
+
if (!!this._trackBox) {
|
|
214
|
+
this._trackBox.off();
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
ngAfterViewInit() {
|
|
218
|
+
this._trackBox.create(this._listContainerRef);
|
|
219
|
+
}
|
|
220
|
+
ngOnDestroy() {
|
|
221
|
+
super.ngOnDestroy();
|
|
222
|
+
this.dispose();
|
|
223
|
+
}
|
|
224
|
+
dispose() {
|
|
225
|
+
this._subscriptions = [];
|
|
226
|
+
if (!!this._trackBox) {
|
|
227
|
+
this._trackBox.dispose();
|
|
228
|
+
this._trackBox = null;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgPrerenderList, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
232
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NgPrerenderList, selector: "ng-prerender-list", inputs: { enabled: "enabled", direction: "direction", isVertical: "isVertical", items: "items", scrollbarEnabled: "scrollbarEnabled", startOffset: "startOffset", endOffset: "endOffset", bounds: "bounds", dynamic: "dynamic", itemSize: "itemSize", trackBy: "trackBy", itemRenderer: "itemRenderer", itemComponentClass: "itemComponentClass" }, host: { styleAttribute: "position: relative;" }, viewQueries: [{ propertyName: "_listContainerRef", first: true, predicate: ["renderersContainer"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: "<ng-prerender-scroller #scroller class=\"ngvl__list-scroller\" [classes]=\"($classes | async)!\"\r\n [direction]=\"($direction | async)!\" [scrollbarEnabled]=\"($scrollbarEnabled | async)!\"\r\n [startOffset]=\"($startOffset | async)!\" [endOffset]=\"($endOffset | async)!\">\r\n <ng-container #renderersContainer></ng-container>\r\n</ng-prerender-scroller>", styles: [":host{position:relative;display:block;width:400px;overflow:hidden}:host(.horizontal){height:48px}:host(.vertical){height:320px}.ngvl__snapped-container{position:relative;width:100%;opacity:0}.ngvl__snapped-container.prepared{opacity:1}.ngvl__list-snapper{-webkit-tap-highlight-color:transparent;pointer-events:none;position:absolute;list-style:none;left:0;top:0;z-index:1}.ngvl__list-scroller{-webkit-tap-highlight-color:transparent;position:absolute;left:0;top:0;width:100%;height:100%;z-index:0}.ngvl__screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n", ":host{width:100%;height:100%}\n"], dependencies: [{ kind: "component", type: i1.NgPrerenderScrollerComponent, selector: "ng-prerender-scroller", inputs: ["scrollbarEnabled", "classes"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ShadowDom });
|
|
233
|
+
}
|
|
234
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgPrerenderList, decorators: [{
|
|
235
|
+
type: Component,
|
|
236
|
+
args: [{ selector: 'ng-prerender-list', host: {
|
|
237
|
+
'style': 'position: relative;'
|
|
238
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.ShadowDom, template: "<ng-prerender-scroller #scroller class=\"ngvl__list-scroller\" [classes]=\"($classes | async)!\"\r\n [direction]=\"($direction | async)!\" [scrollbarEnabled]=\"($scrollbarEnabled | async)!\"\r\n [startOffset]=\"($startOffset | async)!\" [endOffset]=\"($endOffset | async)!\">\r\n <ng-container #renderersContainer></ng-container>\r\n</ng-prerender-scroller>", styles: [":host{position:relative;display:block;width:400px;overflow:hidden}:host(.horizontal){height:48px}:host(.vertical){height:320px}.ngvl__snapped-container{position:relative;width:100%;opacity:0}.ngvl__snapped-container.prepared{opacity:1}.ngvl__list-snapper{-webkit-tap-highlight-color:transparent;pointer-events:none;position:absolute;list-style:none;left:0;top:0;z-index:1}.ngvl__list-scroller{-webkit-tap-highlight-color:transparent;position:absolute;left:0;top:0;width:100%;height:100%;z-index:0}.ngvl__screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n", ":host{width:100%;height:100%}\n"] }]
|
|
239
|
+
}], ctorParameters: function () { return []; }, propDecorators: { _listContainerRef: [{
|
|
240
|
+
type: ViewChild,
|
|
241
|
+
args: ['renderersContainer', { read: ViewContainerRef }]
|
|
242
|
+
}], enabled: [{
|
|
243
|
+
type: Input
|
|
244
|
+
}], direction: [{
|
|
245
|
+
type: Input
|
|
246
|
+
}], isVertical: [{
|
|
247
|
+
type: Input
|
|
248
|
+
}], items: [{
|
|
249
|
+
type: Input
|
|
250
|
+
}], scrollbarEnabled: [{
|
|
251
|
+
type: Input
|
|
252
|
+
}], startOffset: [{
|
|
253
|
+
type: Input
|
|
254
|
+
}], endOffset: [{
|
|
255
|
+
type: Input
|
|
256
|
+
}], bounds: [{
|
|
257
|
+
type: Input
|
|
258
|
+
}], dynamic: [{
|
|
259
|
+
type: Input
|
|
260
|
+
}], itemSize: [{
|
|
261
|
+
type: Input
|
|
262
|
+
}], trackBy: [{
|
|
263
|
+
type: Input
|
|
264
|
+
}], itemRenderer: [{
|
|
265
|
+
type: Input
|
|
266
|
+
}], itemComponentClass: [{
|
|
267
|
+
type: Input
|
|
268
|
+
}] } });
|
|
269
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctcHJlcmVuZGVyLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1wcmVyZW5kZXItY29udGFpbmVyL2NvbXBvbmVudHMvbmctcHJlcmVuZGVyLWxpc3QvbmctcHJlcmVuZGVyLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1wcmVyZW5kZXItY29udGFpbmVyL2NvbXBvbmVudHMvbmctcHJlcmVuZGVyLWxpc3QvbmctcHJlcmVuZGVyLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBMEIsU0FBUyxFQUNoRyxnQkFBZ0IsRUFBRSxpQkFBaUIsR0FDdEMsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckcsT0FBTyxFQUNILHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUN0Ryx5QkFBeUIsRUFBRSxFQUFFLEVBQUUsc0JBQXNCLEdBQ3hELE1BQU0sbUJBQW1CLENBQUM7QUFNM0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUNB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O2dCQVdGLE9BQU87c0JBRFYsS0FBSztnQkFXRixZQUFZO3NCQURmLEtBQUs7Z0JBV0Ysa0JBQWtCO3NCQURyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCxcclxuICAgIFZpZXdDb250YWluZXJSZWYsIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IHRvZ2dsZUNsYXNzTmFtZSB9IGZyb20gXCIuLi8uLi8uLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7XHJcbiAgICBDTEFTU19MSVNUX0hPUklaT05UQUwsIENMQVNTX0xJU1RfVkVSVElDQUwsIERFRkFVTFRfRElSRUNUSU9OLCBERUZBVUxUX0RZTkFNSUNfU0laRSwgREVGQVVMVF9JVEVNX1NJWkUsXHJcbiAgICBERUZBVUxUX1NDUk9MTEJBUl9FTkFCTEVELCBQWCwgVFJBQ0tfQllfUFJPUEVSVFlfTkFNRSxcclxufSBmcm9tIFwiLi4vLi4vLi4vLi4vY29uc3RcIjtcclxuaW1wb3J0IHsgSVNpemUgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgSVZpcnR1YWxMaXN0Q29sbGVjdGlvbiB9IGZyb20gXCIuLi8uLi8uLi8uLi9tb2RlbHNcIjtcclxuaW1wb3J0IHsgUHJlcmVuZGVyQ2FjaGUgfSBmcm9tIFwiLi4vLi4vdHlwZXMvY2FjaGVcIjtcclxuaW1wb3J0IHsgQmFzZVZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi8uLi9uZy1saXN0LWl0ZW0vYmFzZVwiO1xyXG5pbXBvcnQgeyBDb21wb25lbnQkMSB9IGZyb20gXCIuLi8uLi8uLi8uLi9tb2RlbHMvY29tcG9uZW50Lm1vZGVsXCI7XHJcbmltcG9ydCB7IFByZXJlbmRlclRyYWNrQm94IH0gZnJvbSBcIi4uLy4uL2NvcmVcIjtcclxuaW1wb3J0IHsgUHJlcmVuZGVyVHJhY2tCb3hFdmVudHMgfSBmcm9tIFwiLi4vLi4vZXZlbnRzXCI7XHJcbmltcG9ydCB7IE5nUHJlcmVuZGVyVmlydHVhbExpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSBcIi4uL25nLXByZXJlbmRlci1saXN0LWl0ZW0vbmctcHJlcmVuZGVyLWxpc3QtaXRlbS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2VudW1zXCI7XHJcbmltcG9ydCB7IERpc3Bvc2FibGVDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbHMvZGlzcG9zYWJsZS1jb21wb25lbnRcIjtcclxuXHJcbi8qKlxyXG4gKiBOZ1ByZXJlbmRlckxpc3QuXHJcbiAqIE1heGltdW0gcGVyZm9ybWFuY2UgZm9yIGV4dHJlbWVseSBsYXJnZSBsaXN0cy5cclxuICogSXQgaXMgYmFzZWQgb24gYWxnb3JpdGhtcyBmb3IgdmlydHVhbGl6YXRpb24gb2Ygc2NyZWVuIG9iamVjdHMuXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE2LngvcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1wcmVyZW5kZXItY29udGFpbmVyL2NvbXBvbmVudHMvbmctcHJlcmVuZGVyLWxpc3QvbmctcHJlcmVuZGVyLWxpc3QuY29tcG9uZW50LnRzXHJcbiAqIEBhdXRob3IgRXZnZW5paSBBbGV4YW5kcm92aWNoIEdyZWJlbm5pa292XHJcbiAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ25nLXByZXJlbmRlci1saXN0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZy1wcmVyZW5kZXItbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi4vLi4vLi4vLi4vbmctdmlydHVhbC1saXN0LmNvbXBvbmVudC5zY3NzJywgJy4vbmctcHJlcmVuZGVyLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGhvc3Q6IHtcclxuICAgICAgICAnc3R5bGUnOiAncG9zaXRpb246IHJlbGF0aXZlOydcclxuICAgIH0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLlNoYWRvd0RvbSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nUHJlcmVuZGVyTGlzdCBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgQFZpZXdDaGlsZCgncmVuZGVyZXJzQ29udGFpbmVyJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pXHJcbiAgICBwcml2YXRlIF9saXN0Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmIHwgdW5kZWZpbmVkO1xyXG5cclxuICAgIHByb3RlY3RlZCBfJGVuYWJsZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHJlYWRvbmx5ICRlbmFibGVkID0gdGhpcy5fJGVuYWJsZWQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGVuYWJsZWQodjogYm9vbGVhbikge1xyXG4gICAgICAgIGlmICh0aGlzLl8kZW5hYmxlZC5nZXRWYWx1ZSgpICE9PSB2KSB7XHJcbiAgICAgICAgICAgIHRoaXMuXyRlbmFibGVkLm5leHQodik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2V0IGVuYWJsZWQoKSB7IHJldHVybiB0aGlzLl8kZW5hYmxlZC5nZXRWYWx1ZSgpOyB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF8kZGlyZWN0aW9uID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEaXJlY3Rpb24+KERFRkFVTFRfRElSRUNUSU9OKTtcclxuICAgIHJlYWRvbmx5ICRkaXJlY3Rpb24gPSB0aGlzLl8kZGlyZWN0aW9uLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCBkaXJlY3Rpb24odjogRGlyZWN0aW9uKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuXyRkaXJlY3Rpb24uZ2V0VmFsdWUoKSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl8kZGlyZWN0aW9uLm5leHQodik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2V0IGRpcmVjdGlvbigpIHsgcmV0dXJuIHRoaXMuXyRkaXJlY3Rpb24uZ2V0VmFsdWUoKTsgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfJGlzVmVydGljYWwgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xyXG4gICAgcmVhZG9ubHkgJGlzVmVydGljYWwgPSB0aGlzLl8kaXNWZXJ0aWNhbC5hc09ic2VydmFibGUoKTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgaXNWZXJ0aWNhbCh2OiBib29sZWFuKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuXyRpc1ZlcnRpY2FsLmdldFZhbHVlKCkgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fJGlzVmVydGljYWwubmV4dCh2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBnZXQgaXNWZXJ0aWNhbCgpIHsgcmV0dXJuIHRoaXMuXyRpc1ZlcnRpY2FsLmdldFZhbHVlKCk7IH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgXyRpdGVtcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SVZpcnR1YWxMaXN0Q29sbGVjdGlvbj4oW10pO1xyXG4gICAgcmVhZG9ubHkgJGl0ZW1zID0gdGhpcy5fJGl0ZW1zLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCBpdGVtcyh2OiBJVmlydHVhbExpc3RDb2xsZWN0aW9uKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuXyRpdGVtcy5nZXRWYWx1ZSgpICE9PSB2KSB7XHJcbiAgICAgICAgICAgIHRoaXMuXyRpdGVtcy5uZXh0KHYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldCBpdGVtcygpIHsgcmV0dXJuIHRoaXMuXyRpdGVtcy5nZXRWYWx1ZSgpOyB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF8kc2Nyb2xsYmFyRW5hYmxlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oREVGQVVMVF9TQ1JPTExCQVJfRU5BQkxFRCk7XHJcbiAgICByZWFkb25seSAkc2Nyb2xsYmFyRW5hYmxlZCA9IHRoaXMuXyRzY3JvbGxiYXJFbmFibGVkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCBzY3JvbGxiYXJFbmFibGVkKHY6IGJvb2xlYW4pIHtcclxuICAgICAgICBpZiAodGhpcy5fJHNjcm9sbGJhckVuYWJsZWQuZ2V0VmFsdWUoKSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl8kc2Nyb2xsYmFyRW5hYmxlZC5uZXh0KHYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldCBzY3JvbGxiYXJFbmFibGVkKCkgeyByZXR1cm4gdGhpcy5fJHNjcm9sbGJhckVuYWJsZWQuZ2V0VmFsdWUoKTsgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfJHN0YXJ0T2Zmc2V0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xyXG4gICAgcmVhZG9ubHkgJHN0YXJ0T2Zmc2V0ID0gdGhpcy5fJHN0YXJ0T2Zmc2V0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCBzdGFydE9mZnNldCh2OiBudW1iZXIpIHtcclxuICAgICAgICBpZiAodGhpcy5fJHN0YXJ0T2Zmc2V0LmdldFZhbHVlKCkgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fJHN0YXJ0T2Zmc2V0Lm5leHQodik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2V0IHN0YXJ0T2Zmc2V0KCkgeyByZXR1cm4gdGhpcy5fJHN0YXJ0T2Zmc2V0LmdldFZhbHVlKCk7IH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgXyRlbmRPZmZzZXQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XHJcbiAgICByZWFkb25seSAkZW5kT2Zmc2V0ID0gdGhpcy5fJGVuZE9mZnNldC5hc09ic2VydmFibGUoKTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgZW5kT2Zmc2V0KHY6IG51bWJlcikge1xyXG4gICAgICAgIGlmICh0aGlzLl8kZW5kT2Zmc2V0LmdldFZhbHVlKCkgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fJGVuZE9mZnNldC5uZXh0KHYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldCBlbmRPZmZzZXQoKSB7IHJldHVybiB0aGlzLl8kZW5kT2Zmc2V0LmdldFZhbHVlKCk7IH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgXyRib3VuZHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElTaXplIHwgbnVsbD4oeyB3aWR0aDogMCwgaGVpZ2h0OiAwIH0pO1xyXG4gICAgcmVhZG9ubHkgJGJvdW5kcyA9IHRoaXMuXyRib3VuZHMuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGJvdW5kcyh2OiBJU2l6ZSB8IG51bGwpIHtcclxuICAgICAgICBpZiAodGhpcy5fJGJvdW5kcy5nZXRWYWx1ZSgpICE9PSB2KSB7XHJcbiAgICAgICAgICAgIHRoaXMuXyRib3VuZHMubmV4dCh2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBnZXQgYm91bmRzKCkgeyByZXR1cm4gdGhpcy5fJGJvdW5kcy5nZXRWYWx1ZSgpOyB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF8kZHluYW1pYyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oREVGQVVMVF9EWU5BTUlDX1NJWkUpO1xyXG4gICAgcmVhZG9ubHkgJGR5bmFtaWMgPSB0aGlzLl8kZHluYW1pYy5hc09ic2VydmFibGUoKTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgZHluYW1pYyh2OiBib29sZWFuKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuXyRkeW5hbWljLmdldFZhbHVlKCkgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fJGR5bmFtaWMubmV4dCh2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBnZXQgZHluYW1pYygpIHsgcmV0dXJuIHRoaXMuXyRkeW5hbWljLmdldFZhbHVlKCk7IH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgXyRpdGVtU2l6ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPihERUZBVUxUX0lURU1fU0laRSk7XHJcbiAgICByZWFkb25seSAkaXRlbVNpemUgPSB0aGlzLl8kaXRlbVNpemUuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGl0ZW1TaXplKHY6IG51bWJlcikge1xyXG4gICAgICAgIGlmICh0aGlzLl8kaXRlbVNpemUuZ2V0VmFsdWUoKSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl8kaXRlbVNpemUubmV4dCh2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBnZXQgaXRlbVNpemUoKSB7IHJldHVybiB0aGlzLl8kaXRlbVNpemUuZ2V0VmFsdWUoKTsgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfJHRyYWNrQnkgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oVFJBQ0tfQllfUFJPUEVSVFlfTkFNRSk7XHJcbiAgICByZWFkb25seSAkdHJhY2tCeSA9IHRoaXMuXyR0cmFja0J5LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCB0cmFja0J5KHY6IHN0cmluZykge1xyXG4gICAgICAgIGlmICh0aGlzLl8kdHJhY2tCeS5nZXRWYWx1ZSgpICE9PSB2KSB7XHJcbiAgICAgICAgICAgIHRoaXMuXyR0cmFja0J5Lm5leHQodik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2V0IHRyYWNrQnkoKSB7IHJldHVybiB0aGlzLl8kdHJhY2tCeS5nZXRWYWx1ZSgpOyB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF8kaXRlbVJlbmRlcmVyID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbD4obnVsbCk7XHJcbiAgICByZWFkb25seSAkaXRlbVJlbmRlcmVyID0gdGhpcy5fJGl0ZW1SZW5kZXJlci5hc09ic2VydmFibGUoKTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgaXRlbVJlbmRlcmVyKHY6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuXyRpdGVtUmVuZGVyZXIuZ2V0VmFsdWUoKSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl8kaXRlbVJlbmRlcmVyLm5leHQodik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2V0IGl0ZW1SZW5kZXJlcigpIHsgcmV0dXJuIHRoaXMuXyRpdGVtUmVuZGVyZXIuZ2V0VmFsdWUoKTsgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfJGl0ZW1Db21wb25lbnRDbGFzcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q29tcG9uZW50JDE8QmFzZVZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudD4+KE5nUHJlcmVuZGVyVmlydHVhbExpc3RJdGVtQ29tcG9uZW50KTtcclxuICAgIHJlYWRvbmx5ICRpdGVtQ29tcG9uZW50Q2xhc3MgPSB0aGlzLl8kaXRlbUNvbXBvbmVudENsYXNzLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCBpdGVtQ29tcG9uZW50Q2xhc3ModjogQ29tcG9uZW50JDE8QmFzZVZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudD4pIHtcclxuICAgICAgICBpZiAodGhpcy5fJGl0ZW1Db21wb25lbnRDbGFzcy5nZXRWYWx1ZSgpICE9PSB2KSB7XHJcbiAgICAgICAgICAgIHRoaXMuXyRpdGVtQ29tcG9uZW50Q2xhc3MubmV4dCh2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBnZXQgaXRlbUNvbXBvbmVudENsYXNzKCkgeyByZXR1cm4gdGhpcy5fJGl0ZW1Db21wb25lbnRDbGFzcy5nZXRWYWx1ZSgpOyB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF8kY2xhc3NlcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8eyBbY05hbWU6IHN0cmluZ106IGJvb2xlYW4gfT4oeyBwcmVwYXJlZDogdHJ1ZSB9KTtcclxuICAgIHJlYWRvbmx5ICRjbGFzc2VzID0gdGhpcy5fJGNsYXNzZXMuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfJHJlbmRlciA9IG5ldyBTdWJqZWN0PFByZXJlbmRlckNhY2hlPigpO1xyXG4gICAgJHJlbmRlciA9IHRoaXMuXyRyZW5kZXIuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfJGNvbXBvbmVudFJlc2l6ZSA9IG5ldyBTdWJqZWN0PFByZXJlbmRlckNhY2hlPigpO1xyXG4gICAgcHJvdGVjdGVkICRjb21wb25lbnRSZXNpemUgPSB0aGlzLl8kY29tcG9uZW50UmVzaXplLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIHByaXZhdGUgX3RyYWNrQm94OiBQcmVyZW5kZXJUcmFja0JveCB8IG51bGwgPSBuZXcgUHJlcmVuZGVyVHJhY2tCb3goKTtcclxuXHJcbiAgICBwcml2YXRlIF9vblRyYWNrQm94UmVzaXplSGFuZGxlciA9IChjYWNoZTogUHJlcmVuZGVyQ2FjaGUpID0+IHtcclxuICAgICAgICB0aGlzLl8kY29tcG9uZW50UmVzaXplLm5leHQoY2FjaGUpO1xyXG4gICAgfTtcclxuXHJcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcclxuXHJcbiAgICBnZXQgYWN0aXZlKCkgeyByZXR1cm4gdGhpcy5fdHJhY2tCb3g/LmFjdGl2ZSA/PyBmYWxzZTsgfVxyXG5cclxuICAgIHByaXZhdGUgX2FjdGl2YXRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgQXJyYXk8U3Vic2NyaXB0aW9uPigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcblxyXG4gICAgICAgIGNvbnN0ICRlbmFibGVkID0gdGhpcy4kZW5hYmxlZDtcclxuICAgICAgICAkZW5hYmxlZC5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fJHVuc3Vic2NyaWJlKSxcclxuICAgICAgICAgICAgdGFwKGVuYWJsZWQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGVuYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2YXRlKCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVhY3RpdmF0ZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFjdGl2YXRlKCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9hY3RpdmF0ZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9hY3RpdmF0ZWQgPSB0cnVlO1xyXG5cclxuICAgICAgICB0aGlzLl90cmFja0JveCEuYWRkRXZlbnRMaXN0ZW5lcihQcmVyZW5kZXJUcmFja0JveEV2ZW50cy5SRVNJWkUsIHRoaXMuX29uVHJhY2tCb3hSZXNpemVIYW5kbGVyKTtcclxuXHJcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuJGlzVmVydGljYWwucGlwZShcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuXyR1bnN1YnNjcmliZSksXHJcbiAgICAgICAgICAgIHRhcCh2ID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVsID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgICAgICAgICAgdG9nZ2xlQ2xhc3NOYW1lKGVsLCB2ID8gQ0xBU1NfTElTVF9WRVJUSUNBTCA6IENMQVNTX0xJU1RfSE9SSVpPTlRBTCwgdiA/IENMQVNTX0xJU1RfSE9SSVpPTlRBTCA6IENMQVNTX0xJU1RfVkVSVElDQUwpO1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApLnN1YnNjcmliZSgpKTtcclxuXHJcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuJGJvdW5kcy5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fJHVuc3Vic2NyaWJlKSxcclxuICAgICAgICAgICAgZmlsdGVyKHYgPT4gISF2KSxcclxuICAgICAgICAgICAgdGFwKGJvdW5kcyA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGJvdW5kcyE7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlbCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgICAgICAgICAgICAgIGVsLnN0eWxlLndpZHRoID0gYCR7d2lkdGh9JHtQWH1gO1xyXG4gICAgICAgICAgICAgICAgZWwuc3R5bGUuaGVpZ2h0ID0gYCR7aGVpZ2h0fSR7UFh9YDtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKS5zdWJzY3JpYmUoKSk7XHJcblxyXG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMucHVzaChjb21iaW5lTGF0ZXN0KFt0aGlzLiRib3VuZHMsIHRoaXMuJGl0ZW1zXSkucGlwZShcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuXyR1bnN1YnNjcmliZSksXHJcbiAgICAgICAgICAgIGZpbHRlcigoW2IsIGldKSA9PiAhIWIgJiYgISFpKSxcclxuICAgICAgICAgICAgdGFwKChbYm91bmRzLCBpdGVtc10pID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmFjdGl2ZSAmJiAhIXRoaXMuX3RyYWNrQm94KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdHJhY2tCb3gucmVzZXQodGhpcy5fJGl0ZW1Db21wb25lbnRDbGFzcy5nZXRWYWx1ZSgpLCBpdGVtcywgdGhpcy5fJGJvdW5kcy5nZXRWYWx1ZSgpISwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyZXI6IHRoaXMuXyRpdGVtUmVuZGVyZXIuZ2V0VmFsdWUoKSEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGR5bmFtaWM6IHRoaXMuXyRkeW5hbWljLmdldFZhbHVlKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1TaXplOiB0aGlzLl8kaXRlbVNpemUuZ2V0VmFsdWUoKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNWZXJ0aWNhbDogdGhpcy5fJGlzVmVydGljYWwuZ2V0VmFsdWUoKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tCeTogdGhpcy5fJHRyYWNrQnkuZ2V0VmFsdWUoKSxcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKS5zdWJzY3JpYmUoKSk7XHJcblxyXG4gICAgICAgIGNvbnN0ICRjb21wb25lbnRSZXNpemUgPSB0aGlzLiRjb21wb25lbnRSZXNpemU7XHJcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKCRjb21wb25lbnRSZXNpemUucGlwZShcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuXyR1bnN1YnNjcmliZSksXHJcbiAgICAgICAgICAgIHRhcChjYWNoZSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl8kcmVuZGVyLm5leHQoY2FjaGUpO1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApLnN1YnNjcmliZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICBkZWFjdGl2YXRlKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5fYWN0aXZhdGVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fYWN0aXZhdGVkID0gZmFsc2U7XHJcblxyXG4gICAgICAgIHRoaXMub2ZmKCk7XHJcblxyXG4gICAgICAgIGlmICghIXRoaXMuX3RyYWNrQm94KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RyYWNrQm94IS5yZW1vdmVFdmVudExpc3RlbmVyKFByZXJlbmRlclRyYWNrQm94RXZlbnRzLlJFU0laRSwgdGhpcy5fb25UcmFja0JveFJlc2l6ZUhhbmRsZXIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9ucyA9IHRoaXMuX3N1YnNjcmlwdGlvbnM7XHJcbiAgICAgICAgZm9yIChjb25zdCBzdWJzY3Igb2Ygc3Vic2NyaXB0aW9ucykge1xyXG4gICAgICAgICAgICBpZiAoIXN1YnNjci5jbG9zZWQpIHtcclxuICAgICAgICAgICAgICAgIHN1YnNjci51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMgPSBbXTtcclxuICAgIH1cclxuXHJcbiAgICBjbGVhcigpIHtcclxuICAgICAgICBpZiAoISF0aGlzLl90cmFja0JveCkge1xyXG4gICAgICAgICAgICB0aGlzLl90cmFja0JveC5jbGVhcigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvbihpdGVtczogSVZpcnR1YWxMaXN0Q29sbGVjdGlvbiB8IG51bGwgPSBudWxsKSB7XHJcbiAgICAgICAgaWYgKCEhdGhpcy5fdHJhY2tCb3gpIHtcclxuICAgICAgICAgICAgdGhpcy5fdHJhY2tCb3gub24oKTtcclxuICAgICAgICAgICAgdGhpcy5fJGl0ZW1zLm5leHQoaXRlbXMgPz8gW10pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvZmYoKSB7XHJcbiAgICAgICAgaWYgKCEhdGhpcy5fdHJhY2tCb3gpIHtcclxuICAgICAgICAgICAgdGhpcy5fdHJhY2tCb3gub2ZmKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLl90cmFja0JveCEuY3JlYXRlKHRoaXMuX2xpc3RDb250YWluZXJSZWYhKTtcclxuICAgIH1cclxuXHJcbiAgICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG5cclxuICAgICAgICB0aGlzLmRpc3Bvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBkaXNwb3NlKCkge1xyXG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMgPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKCEhdGhpcy5fdHJhY2tCb3gpIHtcclxuICAgICAgICAgICAgdGhpcy5fdHJhY2tCb3guZGlzcG9zZSgpO1xyXG4gICAgICAgICAgICB0aGlzLl90cmFja0JveCA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiPG5nLXByZXJlbmRlci1zY3JvbGxlciAjc2Nyb2xsZXIgY2xhc3M9XCJuZ3ZsX19saXN0LXNjcm9sbGVyXCIgW2NsYXNzZXNdPVwiKCRjbGFzc2VzIHwgYXN5bmMpIVwiXHJcbiAgW2RpcmVjdGlvbl09XCIoJGRpcmVjdGlvbiB8IGFzeW5jKSFcIiBbc2Nyb2xsYmFyRW5hYmxlZF09XCIoJHNjcm9sbGJhckVuYWJsZWQgfCBhc3luYykhXCJcclxuICBbc3RhcnRPZmZzZXRdPVwiKCRzdGFydE9mZnNldCB8IGFzeW5jKSFcIiBbZW5kT2Zmc2V0XT1cIigkZW5kT2Zmc2V0IHwgYXN5bmMpIVwiPlxyXG4gIDxuZy1jb250YWluZXIgI3JlbmRlcmVyc0NvbnRhaW5lcj48L25nLWNvbnRhaW5lcj5cclxuPC9uZy1wcmVyZW5kZXItc2Nyb2xsZXI+Il19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { NgPrerenderVirtualListItemModule } from '../ng-prerender-list-item/ng-prerender-list-item.module';
|
|
4
|
+
import { NgPrerenderScrollerModule } from '../ng-prerender-scroller/ng-prerender-scroller.module';
|
|
5
|
+
import { NgPrerenderList } from './ng-prerender-list.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class NgPrerenderListModule {
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgPrerenderListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NgPrerenderListModule, declarations: [NgPrerenderList], imports: [CommonModule, NgPrerenderVirtualListItemModule, NgPrerenderScrollerModule], exports: [NgPrerenderList] });
|
|
10
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgPrerenderListModule, imports: [CommonModule, NgPrerenderVirtualListItemModule, NgPrerenderScrollerModule] });
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgPrerenderListModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
declarations: [NgPrerenderList],
|
|
16
|
+
exports: [NgPrerenderList],
|
|
17
|
+
imports: [CommonModule, NgPrerenderVirtualListItemModule, NgPrerenderScrollerModule],
|
|
18
|
+
schemas: [NO_ERRORS_SCHEMA],
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctcHJlcmVuZGVyLWxpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1wcmVyZW5kZXItY29udGFpbmVyL2NvbXBvbmVudHMvbmctcHJlcmVuZGVyLWxpc3QvbmctcHJlcmVuZGVyLWxpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQzNHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFRaEUsTUFBTSxPQUFPLHFCQUFxQjt3R0FBckIscUJBQXFCO3lHQUFyQixxQkFBcUIsaUJBTGYsZUFBZSxhQUVwQixZQUFZLEVBQUUsZ0NBQWdDLEVBQUUseUJBQXlCLGFBRHpFLGVBQWU7eUdBSWhCLHFCQUFxQixZQUhwQixZQUFZLEVBQUUsZ0NBQWdDLEVBQUUseUJBQXlCOzs0RkFHMUUscUJBQXFCO2tCQU5qQyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDL0IsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO29CQUMxQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZ0NBQWdDLEVBQUUseUJBQXlCLENBQUM7b0JBQ3BGLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBOT19FUlJPUlNfU0NIRU1BIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nUHJlcmVuZGVyVmlydHVhbExpc3RJdGVtTW9kdWxlIH0gZnJvbSAnLi4vbmctcHJlcmVuZGVyLWxpc3QtaXRlbS9uZy1wcmVyZW5kZXItbGlzdC1pdGVtLm1vZHVsZSc7XHJcbmltcG9ydCB7IE5nUHJlcmVuZGVyU2Nyb2xsZXJNb2R1bGUgfSBmcm9tICcuLi9uZy1wcmVyZW5kZXItc2Nyb2xsZXIvbmctcHJlcmVuZGVyLXNjcm9sbGVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IE5nUHJlcmVuZGVyTGlzdCB9IGZyb20gJy4vbmctcHJlcmVuZGVyLWxpc3QuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFtOZ1ByZXJlbmRlckxpc3RdLFxyXG4gICAgZXhwb3J0czogW05nUHJlcmVuZGVyTGlzdF0sXHJcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ1ByZXJlbmRlclZpcnR1YWxMaXN0SXRlbU1vZHVsZSwgTmdQcmVyZW5kZXJTY3JvbGxlck1vZHVsZV0sXHJcbiAgICBzY2hlbWFzOiBbTk9fRVJST1JTX1NDSEVNQV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ1ByZXJlbmRlckxpc3RNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { NgVirtualListItemComponent } from '../../../ng-list-item/ng-virtual-list-item.component';
|
|
3
|
+
import { DEFAULT_ZINDEX, DISPLAY_BLOCK, DISPLAY_NONE, HIDDEN_ZINDEX, PX, SIZE_100_PERSENT, SIZE_AUTO, VISIBILITY_HIDDEN, VISIBILITY_VISIBLE, } from '../../../../const';
|
|
4
|
+
import { ID, POSITION, POSITION_ZERO } from '../../../ng-list-item/const';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
import * as i2 from "../../../../directives/item-click/item-click.directive";
|
|
8
|
+
/**
|
|
9
|
+
* Virtual list component.
|
|
10
|
+
* Maximum performance for extremely large lists.
|
|
11
|
+
* It is based on algorithms for virtualization of screen objects.
|
|
12
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/16.x/projects/ng-virtual-list/src/lib/components/ng-prerender-container/components/ng-prerender-list-item.component.ts
|
|
13
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
14
|
+
* @email djonnyx@gmail.com
|
|
15
|
+
*/
|
|
16
|
+
export class NgPrerenderVirtualListItemComponent extends NgVirtualListItemComponent {
|
|
17
|
+
update() {
|
|
18
|
+
const data = this._data, regular = this.regular, length = this._regularLength;
|
|
19
|
+
if (data) {
|
|
20
|
+
this._elementRef.nativeElement.setAttribute(ID, `${data.id}`);
|
|
21
|
+
const styles = this._elementRef.nativeElement.style;
|
|
22
|
+
styles.zIndex = data.config.zIndex;
|
|
23
|
+
if (regular) {
|
|
24
|
+
this._elementRef.nativeElement.setAttribute(POSITION, POSITION_ZERO);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
this._elementRef.nativeElement.setAttribute(POSITION, `${data.config.isVertical ? data.measures.y : data.measures.x}`);
|
|
28
|
+
}
|
|
29
|
+
styles.height = data.config.isVertical ? data.config.dynamic ? SIZE_AUTO : `${data.measures.height}${PX}` : regular ? length : SIZE_100_PERSENT;
|
|
30
|
+
styles.width = data.config.isVertical ? regular ? length : SIZE_100_PERSENT : data.config.dynamic ? SIZE_AUTO : `${data.measures.width}${PX}`;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this._elementRef.nativeElement.removeAttribute(ID);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
show() {
|
|
37
|
+
const el = this._elementRef.nativeElement, styles = el.style;
|
|
38
|
+
styles.zIndex = this._data?.config?.zIndex ?? DEFAULT_ZINDEX;
|
|
39
|
+
if (this.regular) {
|
|
40
|
+
if (styles.display === DISPLAY_BLOCK) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
styles.display = DISPLAY_BLOCK;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
if (styles.visibility === VISIBILITY_VISIBLE) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
styles.visibility = VISIBILITY_VISIBLE;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
hide() {
|
|
53
|
+
const el = this._elementRef.nativeElement, styles = el.style;
|
|
54
|
+
styles.zIndex = HIDDEN_ZINDEX;
|
|
55
|
+
if (this.regular) {
|
|
56
|
+
if (styles.display === DISPLAY_NONE) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
styles.display = DISPLAY_NONE;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
if (styles.visibility === VISIBILITY_HIDDEN) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
styles.visibility = VISIBILITY_HIDDEN;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgPrerenderVirtualListItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NgPrerenderVirtualListItemComponent, selector: "ng-prerender-virtual-list-item", host: { attributes: { "role": "listitem" }, classAttribute: "ngvl__item" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"($data | async) as data\">\r\n <div itemClick [maxClickDistance]=\"$maxClickDistance | async\" [part]=\"$part | async\"\r\n [attr.ngvl-index]=\"data.config.tabIndex || -1\" tabindex=\"-1\" class=\"ngvl-item__container\"\r\n [ngClass]=\"$classes | async\" (onClick)=\"onClickHandler()\">\r\n <ng-container *ngIf=\"itemRenderer\">\r\n <ng-container [ngTemplateOutlet]=\"itemRenderer\"\r\n [ngTemplateOutletContext]=\"($templateContext | async)||''\"></ng-container>\r\n </ng-container>\r\n </div>\r\n</ng-container>", styles: [":host{display:block;position:absolute;left:0;top:0;box-sizing:border-box;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-drag:none;-moz-user-drag:none;text-rendering:optimizeSpeed;image-rendering:auto}.ngvl-item__container{margin:0;padding:0;overflow:hidden;background-color:#fff;width:inherit;height:inherit;box-sizing:border-box}\n", ":host{display:block;position:absolute!important;left:0;top:0;box-sizing:border-box;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-drag:none;-moz-user-drag:none;pointer-events:none;-webkit-user-select:none;user-select:none;text-rendering:optimizeSpeed;image-rendering:pixelated}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.ItemClickDirective, selector: "[itemClick]", inputs: ["maxClickDistance"], outputs: ["onClick"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
70
|
+
}
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgPrerenderVirtualListItemComponent, decorators: [{
|
|
72
|
+
type: Component,
|
|
73
|
+
args: [{ selector: 'ng-prerender-virtual-list-item', host: {
|
|
74
|
+
'class': 'ngvl__item',
|
|
75
|
+
'role': 'listitem',
|
|
76
|
+
}, standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"($data | async) as data\">\r\n <div itemClick [maxClickDistance]=\"$maxClickDistance | async\" [part]=\"$part | async\"\r\n [attr.ngvl-index]=\"data.config.tabIndex || -1\" tabindex=\"-1\" class=\"ngvl-item__container\"\r\n [ngClass]=\"$classes | async\" (onClick)=\"onClickHandler()\">\r\n <ng-container *ngIf=\"itemRenderer\">\r\n <ng-container [ngTemplateOutlet]=\"itemRenderer\"\r\n [ngTemplateOutletContext]=\"($templateContext | async)||''\"></ng-container>\r\n </ng-container>\r\n </div>\r\n</ng-container>", styles: [":host{display:block;position:absolute;left:0;top:0;box-sizing:border-box;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-drag:none;-moz-user-drag:none;text-rendering:optimizeSpeed;image-rendering:auto}.ngvl-item__container{margin:0;padding:0;overflow:hidden;background-color:#fff;width:inherit;height:inherit;box-sizing:border-box}\n", ":host{display:block;position:absolute!important;left:0;top:0;box-sizing:border-box;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-drag:none;-moz-user-drag:none;pointer-events:none;-webkit-user-select:none;user-select:none;text-rendering:optimizeSpeed;image-rendering:pixelated}\n"] }]
|
|
77
|
+
}] });
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctcHJlcmVuZGVyLWxpc3QtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLXByZXJlbmRlci1jb250YWluZXIvY29tcG9uZW50cy9uZy1wcmVyZW5kZXItbGlzdC1pdGVtL25nLXByZXJlbmRlci1saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1saXN0LWl0ZW0vbmctdmlydHVhbC1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNsRyxPQUFPLEVBQ0gsY0FBYyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQzNGLGlCQUFpQixFQUFFLGtCQUFrQixHQUN4QyxNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBRTFFOzs7Ozs7O0dBT0c7QUFZSCxNQUFNLE9BQU8sbUNBQW9DLFNBQVEsMEJBQTBCO0lBQzVELE1BQU07UUFDckIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUM5RSxJQUFJLElBQUksRUFBRTtZQUNOLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxD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U0FDekM7SUFDTCxDQUFDO3dHQXZEUSxtQ0FBbUM7NEZBQW5DLG1DQUFtQyx5S0MzQmhELHFsQkFTZTs7NEZEa0JGLG1DQUFtQztrQkFYL0MsU0FBUzsrQkFDSSxnQ0FBZ0MsUUFHcEM7d0JBQ0YsT0FBTyxFQUFFLFlBQVk7d0JBQ3JCLE1BQU0sRUFBRSxVQUFVO3FCQUNyQixjQUNXLEtBQUssbUJBQ0EsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9uZy1saXN0LWl0ZW0vbmctdmlydHVhbC1saXN0LWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIERFRkFVTFRfWklOREVYLCBESVNQTEFZX0JMT0NLLCBESVNQTEFZX05PTkUsIEhJRERFTl9aSU5ERVgsIFBYLCBTSVpFXzEwMF9QRVJTRU5ULCBTSVpFX0FVVE8sXHJcbiAgICBWSVNJQklMSVRZX0hJRERFTiwgVklTSUJJTElUWV9WSVNJQkxFLFxyXG59IGZyb20gJy4uLy4uLy4uLy4uL2NvbnN0JztcclxuaW1wb3J0IHsgSUQsIFBPU0lUSU9OLCBQT1NJVElPTl9aRVJPIH0gZnJvbSAnLi4vLi4vLi4vbmctbGlzdC1pdGVtL2NvbnN0JztcclxuXHJcbi8qKlxyXG4gKiBWaXJ0dWFsIGxpc3QgY29tcG9uZW50LlxyXG4gKiBNYXhpbXVtIHBlcmZvcm1hbmNlIGZvciBleHRyZW1lbHkgbGFyZ2UgbGlzdHMuXHJcbiAqIEl0IGlzIGJhc2VkIG9uIGFsZ29yaXRobXMgZm9yIHZpcnR1YWxpemF0aW9uIG9mIHNjcmVlbiBvYmplY3RzLlxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi8xNi54L3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvbmctcHJlcmVuZGVyLWNvbnRhaW5lci9jb21wb25lbnRzL25nLXByZXJlbmRlci1saXN0LWl0ZW0uY29tcG9uZW50LnRzXHJcbiAqIEBhdXRob3IgRXZnZW5paSBBbGV4YW5kcm92aWNoIEdyZWJlbm5pa292XHJcbiAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ25nLXByZXJlbmRlci12aXJ0dWFsLWxpc3QtaXRlbScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4uLy4uLy4uL25nLWxpc3QtaXRlbS9uZy12aXJ0dWFsLWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi4vLi4vLi4vbmctbGlzdC1pdGVtL25nLXZpcnR1YWwtbGlzdC1pdGVtLmNvbXBvbmVudC5zY3NzJywgJy4vbmctcHJlcmVuZGVyLWxpc3QtaXRlbS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgaG9zdDoge1xyXG4gICAgICAgICdjbGFzcyc6ICduZ3ZsX19pdGVtJyxcclxuICAgICAgICAncm9sZSc6ICdsaXN0aXRlbScsXHJcbiAgICB9LFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2UsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nUHJlcmVuZGVyVmlydHVhbExpc3RJdGVtQ29tcG9uZW50IGV4dGVuZHMgTmdWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQge1xyXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZSgpIHtcclxuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5fZGF0YSwgcmVndWxhciA9IHRoaXMucmVndWxhciwgbGVuZ3RoID0gdGhpcy5fcmVndWxhckxlbmd0aDtcclxuICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKElELCBgJHtkYXRhLmlkfWApO1xyXG4gICAgICAgICAgICBjb25zdCBzdHlsZXMgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGU7XHJcbiAgICAgICAgICAgIHN0eWxlcy56SW5kZXggPSBkYXRhLmNvbmZpZy56SW5kZXg7XHJcbiAgICAgICAgICAgIGlmIChyZWd1bGFyKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKFBPU0lUSU9OLCBQT1NJVElPTl9aRVJPKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoUE9TSVRJT04sIGAke2RhdGEuY29uZmlnLmlzVmVydGljYWwgPyBkYXRhLm1lYXN1cmVzLnkgOiBkYXRhLm1lYXN1cmVzLnh9YCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3R5bGVzLmhlaWdodCA9IGRhdGEuY29uZmlnLmlzVmVydGljYWwgPyBkYXRhLmNvbmZpZy5keW5hbWljID8gU0laRV9BVVRPIDogYCR7ZGF0YS5tZWFzdXJlcy5oZWlnaHR9JHtQWH1gIDogcmVndWxhciA/IGxlbmd0aCA6IFNJWkVfMTAwX1BFUlNFTlQ7XHJcbiAgICAgICAgICAgIHN0eWxlcy53aWR0aCA9IGRhdGEuY29uZmlnLmlzVmVydGljYWwgPyByZWd1bGFyID8gbGVuZ3RoIDogU0laRV8xMDBfUEVSU0VOVCA6IGRhdGEuY29uZmlnLmR5bmFtaWMgPyBTSVpFX0FVVE8gOiBgJHtkYXRhLm1lYXN1cmVzLndpZHRofSR7UFh9YDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKElEKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb3ZlcnJpZGUgc2hvdygpIHtcclxuICAgICAgICBjb25zdCBlbCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCxcclxuICAgICAgICAgICAgc3R5bGVzID0gZWwuc3R5bGU7XHJcbiAgICAgICAgc3R5bGVzLnpJbmRleCA9IHRoaXMuX2RhdGE/LmNvbmZpZz8uekluZGV4ID8/IERFRkFVTFRfWklOREVYO1xyXG4gICAgICAgIGlmICh0aGlzLnJlZ3VsYXIpIHtcclxuICAgICAgICAgICAgaWYgKHN0eWxlcy5kaXNwbGF5ID09PSBESVNQTEFZX0JMT0NLKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHN0eWxlcy5kaXNwbGF5ID0gRElTUExBWV9CTE9DSztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoc3R5bGVzLnZpc2liaWxpdHkgPT09IFZJU0lCSUxJVFlfVklTSUJMRSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzdHlsZXMudmlzaWJpbGl0eSA9IFZJU0lCSUxJVFlfVklTSUJMRTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb3ZlcnJpZGUgaGlkZSgpIHtcclxuICAgICAgICBjb25zdCBlbCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcclxuICAgICAgICAgICAgc3R5bGVzID0gZWwuc3R5bGU7XHJcbiAgICAgICAgc3R5bGVzLnpJbmRleCA9IEhJRERFTl9aSU5ERVg7XHJcbiAgICAgICAgaWYgKHRoaXMucmVndWxhcikge1xyXG4gICAgICAgICAgICBpZiAoc3R5bGVzLmRpc3BsYXkgPT09IERJU1BMQVlfTk9ORSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzdHlsZXMuZGlzcGxheSA9IERJU1BMQVlfTk9ORTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoc3R5bGVzLnZpc2liaWxpdHkgPT09IFZJU0lCSUxJVFlfSElEREVOKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHN0eWxlcy52aXNpYmlsaXR5ID0gVklTSUJJTElUWV9ISURERU47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIigkZGF0YSB8IGFzeW5jKSBhcyBkYXRhXCI+XHJcbiAgICA8ZGl2IGl0ZW1DbGljayBbbWF4Q2xpY2tEaXN0YW5jZV09XCIkbWF4Q2xpY2tEaXN0YW5jZSB8IGFzeW5jXCIgW3BhcnRdPVwiJHBhcnQgfCBhc3luY1wiXHJcbiAgICAgICAgW2F0dHIubmd2bC1pbmRleF09XCJkYXRhLmNvbmZpZy50YWJJbmRleCB8fCAtMVwiIHRhYmluZGV4PVwiLTFcIiBjbGFzcz1cIm5ndmwtaXRlbV9fY29udGFpbmVyXCJcclxuICAgICAgICBbbmdDbGFzc109XCIkY2xhc3NlcyB8IGFzeW5jXCIgKG9uQ2xpY2spPVwib25DbGlja0hhbmRsZXIoKVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtUmVuZGVyZXJcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtUmVuZGVyZXJcIlxyXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIigkdGVtcGxhdGVDb250ZXh0IHwgYXN5bmMpfHwnJ1wiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ItemClickModule } from '../../../../directives';
|
|
4
|
+
import { NgPrerenderVirtualListItemComponent } from './ng-prerender-list-item.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class NgPrerenderVirtualListItemModule {
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgPrerenderVirtualListItemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NgPrerenderVirtualListItemModule, declarations: [NgPrerenderVirtualListItemComponent], imports: [CommonModule, ItemClickModule], exports: [NgPrerenderVirtualListItemComponent] });
|
|
9
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgPrerenderVirtualListItemModule, imports: [CommonModule, ItemClickModule] });
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgPrerenderVirtualListItemModule, decorators: [{
|
|
12
|
+
type: NgModule,
|
|
13
|
+
args: [{
|
|
14
|
+
declarations: [NgPrerenderVirtualListItemComponent],
|
|
15
|
+
exports: [NgPrerenderVirtualListItemComponent],
|
|
16
|
+
imports: [CommonModule, ItemClickModule],
|
|
17
|
+
schemas: [NO_ERRORS_SCHEMA],
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctcHJlcmVuZGVyLWxpc3QtaXRlbS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLXByZXJlbmRlci1jb250YWluZXIvY29tcG9uZW50cy9uZy1wcmVyZW5kZXItbGlzdC1pdGVtL25nLXByZXJlbmRlci1saXN0LWl0ZW0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFRekYsTUFBTSxPQUFPLGdDQUFnQzt3R0FBaEMsZ0NBQWdDO3lHQUFoQyxnQ0FBZ0MsaUJBTDVCLG1DQUFtQyxhQUV4QyxZQUFZLEVBQUUsZUFBZSxhQUQ3QixtQ0FBbUM7eUdBSWxDLGdDQUFnQyxZQUhqQyxZQUFZLEVBQUUsZUFBZTs7NEZBRzVCLGdDQUFnQztrQkFONUMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQztvQkFDbkQsT0FBTyxFQUFFLENBQUMsbUNBQW1DLENBQUM7b0JBQzlDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUM7b0JBQ3hDLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBOT19FUlJPUlNfU0NIRU1BIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEl0ZW1DbGlja01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMnO1xyXG5pbXBvcnQgeyBOZ1ByZXJlbmRlclZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbmctcHJlcmVuZGVyLWxpc3QtaXRlbS5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtOZ1ByZXJlbmRlclZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudF0sXHJcbiAgZXhwb3J0czogW05nUHJlcmVuZGVyVmlydHVhbExpc3RJdGVtQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJdGVtQ2xpY2tNb2R1bGVdLFxyXG4gIHNjaGVtYXM6IFtOT19FUlJPUlNfU0NIRU1BXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nUHJlcmVuZGVyVmlydHVhbExpc3RJdGVtTW9kdWxlIHsgfVxyXG4iXX0=
|