@nativescript-community/ui-pager 14.1.8 → 14.1.10
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/angular/esm2022/index.mjs +56 -0
- package/angular/esm2022/pager-items-comp.mjs +331 -0
- package/angular/{fesm2020 → fesm2022}/nativescript-community-ui-pager-angular.mjs +62 -40
- package/angular/{fesm2020 → fesm2022}/nativescript-community-ui-pager-angular.mjs.map +1 -1
- package/angular/package.json +4 -10
- package/angular/pager-items-comp.d.ts +3 -3
- package/index.android.js +15 -8
- package/index.android.js.map +1 -1
- package/index.common.d.ts +1 -1
- package/index.common.js +1 -1
- package/index.common.js.map +1 -1
- package/index.ios.js +8 -13
- package/index.ios.js.map +1 -1
- package/package.json +2 -2
- package/react/index.d.ts +6 -6
- package/react/index.js +2 -4
- package/react/index.js.map +1 -1
- package/svelte/index.d.ts +1 -0
- package/svelte/index.js +11 -3
- package/svelte/index.js.map +1 -1
- package/transformers/Scale.android.js +3 -2
- package/transformers/Scale.android.js.map +1 -1
- package/transformers/ZoomInPageTransformer.js +3 -2
- package/transformers/ZoomInPageTransformer.js.map +1 -1
- package/vue/pager.js +5 -5
- package/vue/pager.js.map +1 -1
- package/angular/esm2020/index.mjs +0 -55
- package/angular/esm2020/pager-items-comp.mjs +0 -311
- package/angular/fesm2015/nativescript-community-ui-pager-angular.mjs +0 -390
- package/angular/fesm2015/nativescript-community-ui-pager-angular.mjs.map +0 -1
- /package/angular/{esm2020 → esm2022}/nativescript-community-ui-pager-angular.mjs +0 -0
@@ -0,0 +1,56 @@
|
|
1
|
+
import { ChangeDetectionStrategy, Component, NO_ERRORS_SCHEMA, NgModule, forwardRef } from '@angular/core';
|
2
|
+
import { PagerItemDirective, TEMPLATED_ITEMS_COMPONENT, TemplateKeyDirective, TemplatedItemsComponent } from './pager-items-comp';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export { PagerItemDirective, TemplatedItemsComponent, TemplateKeyDirective } from './pager-items-comp';
|
5
|
+
export class PagerComponent extends TemplatedItemsComponent {
|
6
|
+
get nativeElement() {
|
7
|
+
return this.templatedItemsView;
|
8
|
+
}
|
9
|
+
//@ts-ignore
|
10
|
+
templatedItemsView;
|
11
|
+
constructor(_elementRef, _iterableDiffers) {
|
12
|
+
super(_elementRef, _iterableDiffers);
|
13
|
+
}
|
14
|
+
static ɵfac = function PagerComponent_Factory(t) { return new (t || PagerComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.IterableDiffers)); };
|
15
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PagerComponent, selectors: [["Pager"]], features: [i0.ɵɵProvidersFeature([
|
16
|
+
{
|
17
|
+
provide: TEMPLATED_ITEMS_COMPONENT,
|
18
|
+
useExisting: forwardRef(() => PagerComponent)
|
19
|
+
}
|
20
|
+
]), i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 0, consts: [["loader", ""]], template: function PagerComponent_Template(rf, ctx) { if (rf & 1) {
|
21
|
+
i0.ɵɵelementStart(0, "DetachedContainer");
|
22
|
+
i0.ɵɵelement(1, "Placeholder", null, 0);
|
23
|
+
i0.ɵɵelementEnd();
|
24
|
+
} }, encapsulation: 2, changeDetection: 0 });
|
25
|
+
}
|
26
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerComponent, [{
|
27
|
+
type: Component,
|
28
|
+
args: [{
|
29
|
+
selector: 'Pager',
|
30
|
+
template: ` <DetachedContainer>
|
31
|
+
<Placeholder #loader></Placeholder>
|
32
|
+
</DetachedContainer>`,
|
33
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
34
|
+
providers: [
|
35
|
+
{
|
36
|
+
provide: TEMPLATED_ITEMS_COMPONENT,
|
37
|
+
useExisting: forwardRef(() => PagerComponent)
|
38
|
+
}
|
39
|
+
]
|
40
|
+
}]
|
41
|
+
}], function () { return [{ type: i0.ElementRef }, { type: i0.IterableDiffers }]; }, null); })();
|
42
|
+
export class PagerModule {
|
43
|
+
static ɵfac = function PagerModule_Factory(t) { return new (t || PagerModule)(); };
|
44
|
+
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: PagerModule });
|
45
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
|
46
|
+
}
|
47
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerModule, [{
|
48
|
+
type: NgModule,
|
49
|
+
args: [{
|
50
|
+
declarations: [PagerComponent, TemplateKeyDirective, PagerItemDirective],
|
51
|
+
exports: [PagerComponent, TemplateKeyDirective, PagerItemDirective],
|
52
|
+
schemas: [NO_ERRORS_SCHEMA]
|
53
|
+
}]
|
54
|
+
}], null, null); })();
|
55
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(PagerModule, { declarations: [PagerComponent, TemplateKeyDirective, PagerItemDirective], exports: [PagerComponent, TemplateKeyDirective, PagerItemDirective] }); })();
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdWktcGFnZXIvYW5ndWxhci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUErQixnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3hJLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUVsSSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQWV2RyxNQUFNLE9BQU8sY0FBZSxTQUFRLHVCQUF1QjtJQUN2RCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDbkMsQ0FBQztJQUNELFlBQVk7SUFDRixrQkFBa0IsQ0FBUTtJQUVwQyxZQUFZLFdBQXVCLEVBQUUsZ0JBQWlDO1FBQ2xFLEtBQUssQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUN6QyxDQUFDO3dFQVRRLGNBQWM7NkRBQWQsY0FBYywyREFQWjtnQkFDUDtvQkFDSSxPQUFPLEVBQUUseUJBQXlCO29CQUNsQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDaEQ7YUFDSjtZQVRXLHlDQUFtQjtZQUMzQix1Q0FBbUM7WUFDdkMsaUJBQW9COzs7dUZBU1gsY0FBYztjQWIxQixTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLFFBQVEsRUFBRTs7eUJBRVc7Z0JBQ3JCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxTQUFTLEVBQUU7b0JBQ1A7d0JBQ0ksT0FBTyxFQUFFLHlCQUF5Qjt3QkFDbEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZUFBZSxDQUFDO3FCQUNoRDtpQkFDSjthQUNKOztBQWtCRCxNQUFNLE9BQU8sV0FBVztxRUFBWCxXQUFXOzREQUFYLFdBQVc7Ozt1RkFBWCxXQUFXO2NBTHZCLFFBQVE7ZUFBQztnQkFDTixZQUFZLEVBQUUsQ0FBQyxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLENBQUM7Z0JBQ3hFLE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQztnQkFDbkUsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7YUFDOUI7O3dGQUNZLFdBQVcsbUJBakJYLGNBQWMsRUFhUSxvQkFBb0IsRUFBRSxrQkFBa0IsYUFiOUQsY0FBYyxFQWNHLG9CQUFvQixFQUFFLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEl0ZXJhYmxlRGlmZmVycywgTk9fRVJST1JTX1NDSEVNQSwgTmdNb2R1bGUsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUGFnZXIgfSBmcm9tICdAbmF0aXZlc2NyaXB0LWNvbW11bml0eS91aS1wYWdlcic7XG5pbXBvcnQgeyBQYWdlckl0ZW1EaXJlY3RpdmUsIFRFTVBMQVRFRF9JVEVNU19DT01QT05FTlQsIFRlbXBsYXRlS2V5RGlyZWN0aXZlLCBUZW1wbGF0ZWRJdGVtc0NvbXBvbmVudCB9IGZyb20gJy4vcGFnZXItaXRlbXMtY29tcCc7XG5cbmV4cG9ydCB7IFBhZ2VySXRlbURpcmVjdGl2ZSwgVGVtcGxhdGVkSXRlbXNDb21wb25lbnQsIFRlbXBsYXRlS2V5RGlyZWN0aXZlIH0gZnJvbSAnLi9wYWdlci1pdGVtcy1jb21wJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdQYWdlcicsXG4gICAgdGVtcGxhdGU6IGAgPERldGFjaGVkQ29udGFpbmVyPlxuICAgICAgICA8UGxhY2Vob2xkZXIgI2xvYWRlcj48L1BsYWNlaG9sZGVyPlxuICAgIDwvRGV0YWNoZWRDb250YWluZXI+YCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVEVNUExBVEVEX0lURU1TX0NPTVBPTkVOVCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBhZ2VyQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBQYWdlckNvbXBvbmVudCBleHRlbmRzIFRlbXBsYXRlZEl0ZW1zQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgZ2V0IG5hdGl2ZUVsZW1lbnQoKTogUGFnZXIge1xuICAgICAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZWRJdGVtc1ZpZXc7XG4gICAgfVxuICAgIC8vQHRzLWlnbm9yZVxuICAgIHByb3RlY3RlZCB0ZW1wbGF0ZWRJdGVtc1ZpZXc6IFBhZ2VyO1xuXG4gICAgY29uc3RydWN0b3IoX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIF9pdGVyYWJsZURpZmZlcnM6IEl0ZXJhYmxlRGlmZmVycykge1xuICAgICAgICBzdXBlcihfZWxlbWVudFJlZiwgX2l0ZXJhYmxlRGlmZmVycyk7XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1BhZ2VyQ29tcG9uZW50LCBUZW1wbGF0ZUtleURpcmVjdGl2ZSwgUGFnZXJJdGVtRGlyZWN0aXZlXSxcbiAgICBleHBvcnRzOiBbUGFnZXJDb21wb25lbnQsIFRlbXBsYXRlS2V5RGlyZWN0aXZlLCBQYWdlckl0ZW1EaXJlY3RpdmVdLFxuICAgIHNjaGVtYXM6IFtOT19FUlJPUlNfU0NIRU1BXVxufSlcbmV4cG9ydCBjbGFzcyBQYWdlck1vZHVsZSB7fVxuIl19
|
@@ -0,0 +1,331 @@
|
|
1
|
+
import { Component, ContentChild, Directive, EventEmitter, Host, Inject, InjectionToken, Input, Output, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';
|
2
|
+
import { Pager, PagerError, PagerItem, PagerLog } from '@nativescript-community/ui-pager';
|
3
|
+
import { extractSingleViewRecursive, isInvisibleNode, isListLikeIterable, registerElement } from '@nativescript/angular';
|
4
|
+
import { LayoutBase, Trace, isIOS } from '@nativescript/core';
|
5
|
+
import { ObservableArray } from '@nativescript/core/data/observable-array';
|
6
|
+
import { profile } from '@nativescript/core/profiling';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
const _c0 = ["loader"];
|
9
|
+
registerElement('Pager', () => Pager);
|
10
|
+
registerElement('PagerItem', () => PagerItem);
|
11
|
+
const NG_VIEW = '_ngViewRef';
|
12
|
+
export class ItemContext {
|
13
|
+
$implicit;
|
14
|
+
item;
|
15
|
+
index;
|
16
|
+
even;
|
17
|
+
odd;
|
18
|
+
constructor($implicit, item, index, even, odd) {
|
19
|
+
this.$implicit = $implicit;
|
20
|
+
this.item = item;
|
21
|
+
this.index = index;
|
22
|
+
this.even = even;
|
23
|
+
this.odd = odd;
|
24
|
+
}
|
25
|
+
}
|
26
|
+
export class TemplatedItemsComponent {
|
27
|
+
_iterableDiffers;
|
28
|
+
templatedItemsView;
|
29
|
+
_items;
|
30
|
+
_differ;
|
31
|
+
_templateMap;
|
32
|
+
_selectedIndex;
|
33
|
+
loader;
|
34
|
+
setupItemView = new EventEmitter();
|
35
|
+
itemTemplateQuery;
|
36
|
+
itemTemplate;
|
37
|
+
get items() {
|
38
|
+
return this._items;
|
39
|
+
}
|
40
|
+
set items(value) {
|
41
|
+
this._items = value;
|
42
|
+
let needDiffer = true;
|
43
|
+
if (value instanceof ObservableArray) {
|
44
|
+
needDiffer = false;
|
45
|
+
}
|
46
|
+
if (needDiffer && !this._differ && isListLikeIterable(value)) {
|
47
|
+
this._differ = this._iterableDiffers.find(this._items).create((_index, item) => item);
|
48
|
+
}
|
49
|
+
this.templatedItemsView.items = this._items;
|
50
|
+
}
|
51
|
+
get selectedIndex() {
|
52
|
+
return this._selectedIndex;
|
53
|
+
}
|
54
|
+
set selectedIndex(value) {
|
55
|
+
this._selectedIndex = value;
|
56
|
+
this.templatedItemsView.selectedIndex = this._selectedIndex;
|
57
|
+
}
|
58
|
+
ngAfterViewInit() {
|
59
|
+
if (!!this._selectedIndex) {
|
60
|
+
setTimeout(() => {
|
61
|
+
if (isIOS) {
|
62
|
+
this.templatedItemsView.scrollToIndexAnimated(this._selectedIndex, false);
|
63
|
+
}
|
64
|
+
this.templatedItemsView.selectedIndex = this._selectedIndex;
|
65
|
+
});
|
66
|
+
}
|
67
|
+
}
|
68
|
+
constructor(_elementRef, _iterableDiffers) {
|
69
|
+
this._iterableDiffers = _iterableDiffers;
|
70
|
+
this.templatedItemsView = _elementRef.nativeElement;
|
71
|
+
this.templatedItemsView.on('itemLoading', this.onItemLoading, this);
|
72
|
+
this.templatedItemsView.on('itemDisposing', this.onItemDisposing, this);
|
73
|
+
}
|
74
|
+
ngAfterContentInit() {
|
75
|
+
if (Trace.isEnabled()) {
|
76
|
+
PagerLog('TemplatedItemsView.ngAfterContentInit()');
|
77
|
+
}
|
78
|
+
this.setItemTemplates();
|
79
|
+
}
|
80
|
+
ngOnDestroy() {
|
81
|
+
this.templatedItemsView.off('itemLoading', this.onItemLoading, this);
|
82
|
+
this.templatedItemsView.off('itemDisposing', this.onItemDisposing, this);
|
83
|
+
}
|
84
|
+
setItemTemplates() {
|
85
|
+
if (!this.items)
|
86
|
+
return;
|
87
|
+
// The itemTemplateQuery may be changed after list items are added that contain <template> inside,
|
88
|
+
// so cache and use only the original template to avoid errors.
|
89
|
+
this.itemTemplate = this.itemTemplateQuery;
|
90
|
+
if (this._templateMap) {
|
91
|
+
if (Trace.isEnabled()) {
|
92
|
+
PagerLog('Setting templates');
|
93
|
+
}
|
94
|
+
const templates = [];
|
95
|
+
this._templateMap.forEach((value) => {
|
96
|
+
templates.push(value);
|
97
|
+
});
|
98
|
+
this.templatedItemsView.itemTemplates = templates;
|
99
|
+
}
|
100
|
+
}
|
101
|
+
registerTemplate(key, template) {
|
102
|
+
if (Trace.isEnabled()) {
|
103
|
+
PagerLog(`registerTemplate for key: ${key}`);
|
104
|
+
}
|
105
|
+
if (!this._templateMap) {
|
106
|
+
this._templateMap = new Map();
|
107
|
+
}
|
108
|
+
const keyedTemplate = {
|
109
|
+
key,
|
110
|
+
createView: this.getItemTemplateViewFactory(template)
|
111
|
+
};
|
112
|
+
this._templateMap.set(key, keyedTemplate);
|
113
|
+
}
|
114
|
+
onItemLoading(args) {
|
115
|
+
if (!args.view && !this.itemTemplate) {
|
116
|
+
return;
|
117
|
+
}
|
118
|
+
if (!this.items)
|
119
|
+
return;
|
120
|
+
const index = args.index;
|
121
|
+
const items = args.object.items;
|
122
|
+
const currentItem = typeof items.getItem === 'function' ? items.getItem(index) : items[index];
|
123
|
+
let viewRef;
|
124
|
+
if (args.view) {
|
125
|
+
if (Trace.isEnabled()) {
|
126
|
+
PagerLog(`onItemLoading: ${index} - Reusing existing view`);
|
127
|
+
}
|
128
|
+
viewRef = args.view[NG_VIEW];
|
129
|
+
// Getting angular view from original element (in cases when ProxyViewContainer
|
130
|
+
// is used NativeScript internally wraps it in a StackLayout)
|
131
|
+
if (!viewRef && args.view instanceof LayoutBase && args.view.getChildrenCount() > 0) {
|
132
|
+
viewRef = args.view.getChildAt(0)[NG_VIEW];
|
133
|
+
}
|
134
|
+
if (!viewRef && Trace.isEnabled()) {
|
135
|
+
PagerError(`ViewReference not found for item ${index}. View recycling is not working`);
|
136
|
+
}
|
137
|
+
}
|
138
|
+
if (!viewRef) {
|
139
|
+
if (Trace.isEnabled()) {
|
140
|
+
PagerLog(`onItemLoading: ${index} - Creating view from template`);
|
141
|
+
}
|
142
|
+
viewRef = this.loader.createEmbeddedView(this.itemTemplate, new ItemContext(), 0);
|
143
|
+
args.view = getItemViewRoot(viewRef);
|
144
|
+
args.view[NG_VIEW] = viewRef;
|
145
|
+
}
|
146
|
+
this.setupViewRef(viewRef, currentItem, index);
|
147
|
+
this.detectChangesOnChild(viewRef, index);
|
148
|
+
}
|
149
|
+
onItemDisposing(args) {
|
150
|
+
if (!args.view) {
|
151
|
+
return;
|
152
|
+
}
|
153
|
+
let viewRef;
|
154
|
+
if (args.view) {
|
155
|
+
if (Trace.isEnabled()) {
|
156
|
+
PagerLog(`onItemDisposing: ${args.index} - Removing angular view`);
|
157
|
+
}
|
158
|
+
viewRef = args.view[NG_VIEW];
|
159
|
+
// Getting angular view from original element (in cases when ProxyViewContainer
|
160
|
+
// is used NativeScript internally wraps it in a StackLayout)
|
161
|
+
if (!viewRef && args.view instanceof LayoutBase && args.view.getChildrenCount() > 0) {
|
162
|
+
viewRef = args.view.getChildAt(0)[NG_VIEW];
|
163
|
+
}
|
164
|
+
if (!viewRef && Trace.isEnabled()) {
|
165
|
+
PagerError(`ViewReference not found for item ${args.index}. View disposing is not working`);
|
166
|
+
}
|
167
|
+
}
|
168
|
+
if (viewRef) {
|
169
|
+
if (Trace.isEnabled()) {
|
170
|
+
PagerLog(`onItemDisposing: ${args.index} - Disposing view reference`);
|
171
|
+
}
|
172
|
+
viewRef.destroy();
|
173
|
+
}
|
174
|
+
}
|
175
|
+
setupViewRef(viewRef, data, index) {
|
176
|
+
const context = viewRef.context;
|
177
|
+
context.$implicit = data;
|
178
|
+
context.item = data;
|
179
|
+
context.index = index;
|
180
|
+
context.even = index % 2 === 0;
|
181
|
+
context.odd = !context.even;
|
182
|
+
this.setupItemView.next({
|
183
|
+
view: viewRef,
|
184
|
+
data,
|
185
|
+
index,
|
186
|
+
context
|
187
|
+
});
|
188
|
+
}
|
189
|
+
getItemTemplateViewFactory(template) {
|
190
|
+
return () => {
|
191
|
+
const viewRef = this.loader.createEmbeddedView(template, new ItemContext(), 0);
|
192
|
+
const resultView = getItemViewRoot(viewRef);
|
193
|
+
resultView[NG_VIEW] = viewRef;
|
194
|
+
return resultView;
|
195
|
+
};
|
196
|
+
}
|
197
|
+
detectChangesOnChild(viewRef, index) {
|
198
|
+
if (Trace.isEnabled()) {
|
199
|
+
PagerLog(`Manually detect changes in child: ${index}`);
|
200
|
+
}
|
201
|
+
viewRef.markForCheck();
|
202
|
+
viewRef.detectChanges();
|
203
|
+
}
|
204
|
+
ngDoCheck() {
|
205
|
+
if (this._differ) {
|
206
|
+
if (Trace.isEnabled()) {
|
207
|
+
PagerLog('ngDoCheck() - execute differ');
|
208
|
+
}
|
209
|
+
const changes = this._differ.diff(this._items);
|
210
|
+
if (changes) {
|
211
|
+
if (Trace.isEnabled()) {
|
212
|
+
PagerLog('ngDoCheck() - refresh');
|
213
|
+
}
|
214
|
+
this.templatedItemsView.refresh();
|
215
|
+
}
|
216
|
+
}
|
217
|
+
}
|
218
|
+
static ɵfac = function TemplatedItemsComponent_Factory(t) { return new (t || TemplatedItemsComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.IterableDiffers)); };
|
219
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TemplatedItemsComponent, selectors: [["ng-component"]], contentQueries: function TemplatedItemsComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
220
|
+
i0.ɵɵcontentQuery(dirIndex, TemplateRef, 5);
|
221
|
+
} if (rf & 2) {
|
222
|
+
let _t;
|
223
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itemTemplateQuery = _t.first);
|
224
|
+
} }, viewQuery: function TemplatedItemsComponent_Query(rf, ctx) { if (rf & 1) {
|
225
|
+
i0.ɵɵviewQuery(_c0, 5, ViewContainerRef);
|
226
|
+
} if (rf & 2) {
|
227
|
+
let _t;
|
228
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loader = _t.first);
|
229
|
+
} }, inputs: { items: "items", selectedIndex: "selectedIndex" }, outputs: { setupItemView: "setupItemView" }, decls: 0, vars: 0, template: function TemplatedItemsComponent_Template(rf, ctx) { }, encapsulation: 2 });
|
230
|
+
}
|
231
|
+
__decorate([
|
232
|
+
profile
|
233
|
+
], TemplatedItemsComponent.prototype, "onItemLoading", null);
|
234
|
+
__decorate([
|
235
|
+
profile
|
236
|
+
], TemplatedItemsComponent.prototype, "onItemDisposing", null);
|
237
|
+
__decorate([
|
238
|
+
profile
|
239
|
+
], TemplatedItemsComponent.prototype, "detectChangesOnChild", null);
|
240
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TemplatedItemsComponent, [{
|
241
|
+
type: Component,
|
242
|
+
args: [{
|
243
|
+
template: ''
|
244
|
+
}]
|
245
|
+
}], function () { return [{ type: i0.ElementRef }, { type: i0.IterableDiffers }]; }, { loader: [{
|
246
|
+
type: ViewChild,
|
247
|
+
args: ['loader', { read: ViewContainerRef, static: false }]
|
248
|
+
}], setupItemView: [{
|
249
|
+
type: Output
|
250
|
+
}], itemTemplateQuery: [{
|
251
|
+
type: ContentChild,
|
252
|
+
args: [TemplateRef, { static: false }]
|
253
|
+
}], items: [{
|
254
|
+
type: Input
|
255
|
+
}], selectedIndex: [{
|
256
|
+
type: Input
|
257
|
+
}], onItemLoading: [], onItemDisposing: [], detectChangesOnChild: [] }); })();
|
258
|
+
export function getItemViewRoot(viewRef, rootLocator = extractSingleViewRecursive) {
|
259
|
+
return rootLocator(viewRef.rootNodes, 0);
|
260
|
+
}
|
261
|
+
export const TEMPLATED_ITEMS_COMPONENT = new InjectionToken('TemplatedItemsComponent');
|
262
|
+
export class PagerItemDirective {
|
263
|
+
templateRef;
|
264
|
+
owner;
|
265
|
+
viewContainer;
|
266
|
+
item;
|
267
|
+
constructor(templateRef, owner, viewContainer) {
|
268
|
+
this.templateRef = templateRef;
|
269
|
+
this.owner = owner;
|
270
|
+
this.viewContainer = viewContainer;
|
271
|
+
}
|
272
|
+
ensureItem() {
|
273
|
+
if (!this.item) {
|
274
|
+
this.item = new PagerItem();
|
275
|
+
}
|
276
|
+
}
|
277
|
+
applyConfig() {
|
278
|
+
this.ensureItem();
|
279
|
+
}
|
280
|
+
ngOnInit() {
|
281
|
+
this.applyConfig();
|
282
|
+
const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
283
|
+
// Filter out text nodes and comments
|
284
|
+
const realViews = viewRef.rootNodes.filter((node) => !isInvisibleNode(node));
|
285
|
+
if (realViews.length > 0) {
|
286
|
+
const view = realViews[0];
|
287
|
+
this.item.addChild(view);
|
288
|
+
this.owner.nativeElement._addChildFromBuilder('PagerItem', this.item);
|
289
|
+
}
|
290
|
+
}
|
291
|
+
static ɵfac = function PagerItemDirective_Factory(t) { return new (t || PagerItemDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(TEMPLATED_ITEMS_COMPONENT, 1), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); };
|
292
|
+
static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PagerItemDirective, selectors: [["", "pagerItem", ""]] });
|
293
|
+
}
|
294
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerItemDirective, [{
|
295
|
+
type: Directive,
|
296
|
+
args: [{
|
297
|
+
selector: '[pagerItem]'
|
298
|
+
}]
|
299
|
+
}], function () { return [{ type: i0.TemplateRef }, { type: TemplatedItemsComponent, decorators: [{
|
300
|
+
type: Inject,
|
301
|
+
args: [TEMPLATED_ITEMS_COMPONENT]
|
302
|
+
}, {
|
303
|
+
type: Host
|
304
|
+
}] }, { type: i0.ViewContainerRef }]; }, null); })();
|
305
|
+
export class TemplateKeyDirective {
|
306
|
+
templateRef;
|
307
|
+
comp;
|
308
|
+
constructor(templateRef, comp) {
|
309
|
+
this.templateRef = templateRef;
|
310
|
+
this.comp = comp;
|
311
|
+
}
|
312
|
+
set pagerTemplateKey(value) {
|
313
|
+
if (this.comp && this.templateRef) {
|
314
|
+
this.comp.registerTemplate(value, this.templateRef);
|
315
|
+
}
|
316
|
+
}
|
317
|
+
static ɵfac = function TemplateKeyDirective_Factory(t) { return new (t || TemplateKeyDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(TEMPLATED_ITEMS_COMPONENT, 1)); };
|
318
|
+
static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: TemplateKeyDirective, selectors: [["", "pagerTemplateKey", ""]], inputs: { pagerTemplateKey: "pagerTemplateKey" } });
|
319
|
+
}
|
320
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TemplateKeyDirective, [{
|
321
|
+
type: Directive,
|
322
|
+
args: [{ selector: '[pagerTemplateKey]' }]
|
323
|
+
}], function () { return [{ type: i0.TemplateRef }, { type: TemplatedItemsComponent, decorators: [{
|
324
|
+
type: Inject,
|
325
|
+
args: [TEMPLATED_ITEMS_COMPONENT]
|
326
|
+
}, {
|
327
|
+
type: Host
|
328
|
+
}] }]; }, { pagerTemplateKey: [{
|
329
|
+
type: Input
|
330
|
+
}] }); })();
|
331
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXItaXRlbXMtY29tcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91aS1wYWdlci9hbmd1bGFyL3BhZ2VyLWl0ZW1zLWNvbXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCxZQUFZLEVBQ1osU0FBUyxFQUlULFlBQVksRUFDWixJQUFJLEVBQ0osTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBS0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pILE9BQU8sRUFBNEIsVUFBVSxFQUFZLEtBQUssRUFBUSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFHdkQsZUFBZSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0QyxlQUFlLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRTlDLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQztBQWM3QixNQUFNLE9BQU8sV0FBVztJQUNEO0lBQXdCO0lBQW1CO0lBQXVCO0lBQXVCO0lBQTVHLFlBQW1CLFNBQWUsRUFBUyxJQUFVLEVBQVMsS0FBYyxFQUFTLElBQWMsRUFBUyxHQUFhO1FBQXRHLGNBQVMsR0FBVCxTQUFTLENBQU07UUFBUyxTQUFJLEdBQUosSUFBSSxDQUFNO1FBQVMsVUFBSyxHQUFMLEtBQUssQ0FBUztRQUFTLFNBQUksR0FBSixJQUFJLENBQVU7UUFBUyxRQUFHLEdBQUgsR0FBRyxDQUFVO0lBQUcsQ0FBQztDQUNoSTtBQVdELE1BQU0sT0FBZ0IsdUJBQXVCO0lBd0RJO0lBckRuQyxrQkFBa0IsQ0FBUTtJQUMxQixNQUFNLENBQU07SUFDWixPQUFPLENBQWdDO0lBQ3ZDLFlBQVksQ0FBNkI7SUFDM0MsY0FBYyxDQUFTO0lBQ2lDLE1BQU0sQ0FBbUI7SUFHbEYsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO0lBRWYsaUJBQWlCLENBQTJCO0lBRTFGLFlBQVksQ0FBMkI7SUFFdkMsSUFDSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFVO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLEtBQUssWUFBWSxlQUFlLEVBQUU7WUFDbEMsVUFBVSxHQUFHLEtBQUssQ0FBQztTQUN0QjtRQUNELElBQUksVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMxRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pGO1FBRUQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUNJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksYUFBYSxDQUFDLEtBQUs7UUFDbkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksS0FBSyxFQUFFO29CQUNQLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO2lCQUM3RTtnQkFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDaEUsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRCxZQUFZLFdBQXVCLEVBQVUsZ0JBQWlDO1FBQWpDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDMUUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFFcEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNuQixRQUFRLENBQUMseUNBQXlDLENBQUMsQ0FBQztTQUN2RDtRQUNELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFTyxnQkFBZ0I7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUN4QixrR0FBa0c7UUFDbEcsK0RBQStEO1FBQy9ELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBRTNDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFBRTtnQkFDbkIsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7YUFDakM7WUFFRCxNQUFNLFNBQVMsR0FBb0IsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2hDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztTQUNyRDtJQUNMLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxHQUFXLEVBQUUsUUFBa0M7UUFDbkUsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbkIsUUFBUSxDQUFDLDZCQUE2QixHQUFHLEVBQUUsQ0FBQyxDQUFDO1NBQ2hEO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQztTQUN4RDtRQUVELE1BQU0sYUFBYSxHQUFHO1lBQ2xCLEdBQUc7WUFDSCxVQUFVLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQztTQUN4RCxDQUFDO1FBRUYsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFHTSxhQUFhLENBQUMsSUFBbUI7UUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2xDLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFFeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixNQUFNLEtBQUssR0FBSSxJQUFJLENBQUMsTUFBYyxDQUFDLEtBQUssQ0FBQztRQUN6QyxNQUFNLFdBQVcsR0FBRyxPQUFPLEtBQUssQ0FBQyxPQUFPLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUYsSUFBSSxPQUFxQyxDQUFDO1FBRTFDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNYLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUNuQixRQUFRLENBQUMsa0JBQWtCLEtBQUssMEJBQTBCLENBQUMsQ0FBQzthQUMvRDtZQUVELE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzdCLCtFQUErRTtZQUMvRSw2REFBNkQ7WUFDN0QsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxZQUFZLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNqRixPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDOUM7WUFFRCxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFBRTtnQkFDL0IsVUFBVSxDQUFDLG9DQUFvQyxLQUFLLGlDQUFpQyxDQUFDLENBQUM7YUFDMUY7U0FDSjtRQUVELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDVixJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFBRTtnQkFDbkIsUUFBUSxDQUFDLGtCQUFrQixLQUFLLGdDQUFnQyxDQUFDLENBQUM7YUFDckU7WUFFRCxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbEYsSUFBSSxDQUFDLElBQUksR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxPQUFPLENBQUM7U0FDaEM7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFL0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBR00sZUFBZSxDQUFDLElBQW1CO1FBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1osT0FBTztTQUNWO1FBQ0QsSUFBSSxPQUFxQyxDQUFDO1FBRTFDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNYLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUNuQixRQUFRLENBQUMsb0JBQW9CLElBQUksQ0FBQyxLQUFLLDBCQUEwQixDQUFDLENBQUM7YUFDdEU7WUFFRCxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM3QiwrRUFBK0U7WUFDL0UsNkRBQTZEO1lBQzdELElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksWUFBWSxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsRUFBRTtnQkFDakYsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzlDO1lBRUQsSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFLEVBQUU7Z0JBQy9CLFVBQVUsQ0FBQyxvQ0FBb0MsSUFBSSxDQUFDLEtBQUssaUNBQWlDLENBQUMsQ0FBQzthQUMvRjtTQUNKO1FBRUQsSUFBSSxPQUFPLEVBQUU7WUFDVCxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFBRTtnQkFDbkIsUUFBUSxDQUFDLG9CQUFvQixJQUFJLENBQUMsS0FBSyw2QkFBNkIsQ0FBQyxDQUFDO2FBQ3pFO1lBRUQsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3JCO0lBQ0wsQ0FBQztJQUVNLFlBQVksQ0FBQyxPQUFxQyxFQUFFLElBQVMsRUFBRSxLQUFhO1FBQy9FLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDaEMsT0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDekIsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDcEIsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDdEIsT0FBTyxDQUFDLElBQUksR0FBRyxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUU1QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztZQUNwQixJQUFJLEVBQUUsT0FBTztZQUNiLElBQUk7WUFDSixLQUFLO1lBQ0wsT0FBTztTQUNWLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFUywwQkFBMEIsQ0FBQyxRQUFrQztRQUNuRSxPQUFPLEdBQUcsRUFBRTtZQUNSLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLElBQUksV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDL0UsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVDLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxPQUFPLENBQUM7WUFFOUIsT0FBTyxVQUFVLENBQUM7UUFDdEIsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUdPLG9CQUFvQixDQUFDLE9BQXFDLEVBQUUsS0FBYTtRQUM3RSxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNuQixRQUFRLENBQUMscUNBQXFDLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDMUQ7UUFFRCxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkIsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2QsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFLEVBQUU7Z0JBQ25CLFFBQVEsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO2FBQzVDO1lBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQy9DLElBQUksT0FBTyxFQUFFO2dCQUNULElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRSxFQUFFO29CQUNuQixRQUFRLENBQUMsdUJBQXVCLENBQUMsQ0FBQztpQkFDckM7Z0JBRUQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ3JDO1NBQ0o7SUFDTCxDQUFDO2lGQWhQaUIsdUJBQXVCOzZEQUF2Qix1QkFBdUI7d0NBYTNCLFdBQVc7Ozs7O21DQUxJLGdCQUFnQjs7Ozs7O0FBd0c3QztJQURDLE9BQU87NERBMkNQO0FBR0Q7SUFEQyxPQUFPOzhEQStCUDtBQTZCRDtJQURDLE9BQU87bUVBUVA7dUZBL05pQix1QkFBdUI7Y0FINUMsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxFQUFFO2FBQ2Y7MkZBU21FLE1BQU07a0JBQXJFLFNBQVM7bUJBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFHdkQsYUFBYTtrQkFEbkIsTUFBTTtZQUd1QyxpQkFBaUI7a0JBQTlELFlBQVk7bUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUt4QyxLQUFLO2tCQURSLEtBQUs7WUFtQkYsYUFBYTtrQkFEaEIsS0FBSztZQTZFQyxhQUFhLE1BNkNiLGVBQWUsTUEyRGQsb0JBQW9CO0FBbUNoQyxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQXNCLEVBQUUsY0FBMkIsMEJBQWlDO0lBQ2hILE9BQU8sV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLElBQUksY0FBYyxDQUEwQix5QkFBeUIsQ0FBQyxDQUFDO0FBS2hILE1BQU0sT0FBTyxrQkFBa0I7SUFJZjtJQUdBO0lBQ0E7SUFQSixJQUFJLENBQVk7SUFFeEIsWUFDWSxXQUE2QixFQUc3QixLQUE4QixFQUM5QixhQUErQjtRQUovQixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFHN0IsVUFBSyxHQUFMLEtBQUssQ0FBeUI7UUFDOUIsa0JBQWEsR0FBYixhQUFhLENBQWtCO0lBQ3hDLENBQUM7SUFFSSxVQUFVO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDWixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7U0FDL0I7SUFDTCxDQUFDO0lBRU8sV0FBVztRQUNmLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVuQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4RSxxQ0FBcUM7UUFDckMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFN0UsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN0QixNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN6RTtJQUNMLENBQUM7NEVBakNRLGtCQUFrQiw2REFLZix5QkFBeUI7NkRBTDVCLGtCQUFrQjs7dUZBQWxCLGtCQUFrQjtjQUg5QixTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLGFBQWE7YUFDMUI7O3NCQU1RLE1BQU07dUJBQUMseUJBQXlCOztzQkFDaEMsSUFBSTs7QUErQmIsTUFBTSxPQUFPLG9CQUFvQjtJQUVqQjtJQUdBO0lBSlosWUFDWSxXQUE2QixFQUc3QixJQUE2QjtRQUg3QixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFHN0IsU0FBSSxHQUFKLElBQUksQ0FBeUI7SUFDdEMsQ0FBQztJQUVKLElBQ0ksZ0JBQWdCLENBQUMsS0FBVTtRQUMzQixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDdkQ7SUFDTCxDQUFDOzhFQWJRLG9CQUFvQiw2REFHakIseUJBQXlCOzZEQUg1QixvQkFBb0I7O3VGQUFwQixvQkFBb0I7Y0FEaEMsU0FBUztlQUFDLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFOztzQkFJcEMsTUFBTTt1QkFBQyx5QkFBeUI7O3NCQUNoQyxJQUFJO3dCQUtMLGdCQUFnQjtrQkFEbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBEb0NoZWNrLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0LFxuICAgIEluamVjdCxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBJbnB1dCxcbiAgICBJdGVyYWJsZURpZmZlcixcbiAgICBJdGVyYWJsZURpZmZlcnMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYWdlciwgUGFnZXJFcnJvciwgUGFnZXJJdGVtLCBQYWdlckxvZyB9IGZyb20gJ0BuYXRpdmVzY3JpcHQtY29tbXVuaXR5L3VpLXBhZ2VyJztcbmltcG9ydCB7IGV4dHJhY3RTaW5nbGVWaWV3UmVjdXJzaXZlLCBpc0ludmlzaWJsZU5vZGUsIGlzTGlzdExpa2VJdGVyYWJsZSwgcmVnaXN0ZXJFbGVtZW50IH0gZnJvbSAnQG5hdGl2ZXNjcmlwdC9hbmd1bGFyJztcbmltcG9ydCB7IEV2ZW50RGF0YSwgS2V5ZWRUZW1wbGF0ZSwgTGF5b3V0QmFzZSwgVGVtcGxhdGUsIFRyYWNlLCBWaWV3LCBpc0lPUyB9IGZyb20gJ0BuYXRpdmVzY3JpcHQvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlQXJyYXkgfSBmcm9tICdAbmF0aXZlc2NyaXB0L2NvcmUvZGF0YS9vYnNlcnZhYmxlLWFycmF5JztcbmltcG9ydCB7IHByb2ZpbGUgfSBmcm9tICdAbmF0aXZlc2NyaXB0L2NvcmUvcHJvZmlsaW5nJztcbmltcG9ydCB7IEl0ZW1FdmVudERhdGEsIEl0ZW1zU291cmNlIH0gZnJvbSAnQG5hdGl2ZXNjcmlwdC9jb3JlL3VpL2xpc3Qtdmlldyc7XG5cbnJlZ2lzdGVyRWxlbWVudCgnUGFnZXInLCAoKSA9PiBQYWdlcik7XG5yZWdpc3RlckVsZW1lbnQoJ1BhZ2VySXRlbScsICgpID0+IFBhZ2VySXRlbSk7XG5cbmNvbnN0IE5HX1ZJRVcgPSAnX25nVmlld1JlZic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZXJUZW1wbGF0ZWRJdGVtc1ZpZXcge1xuICAgIGl0ZW1zOiBhbnlbXSB8IEl0ZW1zU291cmNlO1xuICAgIGl0ZW1UZW1wbGF0ZTogc3RyaW5nIHwgVGVtcGxhdGU7XG4gICAgaXRlbVRlbXBsYXRlcz86IHN0cmluZyB8IEtleWVkVGVtcGxhdGVbXTtcblxuICAgIHJlZnJlc2goKTogdm9pZDtcblxuICAgIG9uKGV2ZW50OiAnaXRlbURpc3Bvc2luZycgfCAnaXRlbUxvYWRpbmcnLCBjYWxsYmFjazogKGFyZ3M6IEl0ZW1FdmVudERhdGEpID0+IHZvaWQsIHRoaXNBcmc/OiBhbnkpO1xuXG4gICAgb2ZmKGV2ZW50OiAnaXRlbUxvYWRpbmcnIHwgJ2l0ZW1EaXNwb3NpbmcnLCBjYWxsYmFjazogKGFyZ3M6IEV2ZW50RGF0YSkgPT4gdm9pZCwgdGhpc0FyZz86IGFueSk7XG59XG5cbmV4cG9ydCBjbGFzcyBJdGVtQ29udGV4dCB7XG4gICAgY29uc3RydWN0b3IocHVibGljICRpbXBsaWNpdD86IGFueSwgcHVibGljIGl0ZW0/OiBhbnksIHB1YmxpYyBpbmRleD86IG51bWJlciwgcHVibGljIGV2ZW4/OiBib29sZWFuLCBwdWJsaWMgb2RkPzogYm9vbGVhbikge31cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXR1cEl0ZW1WaWV3QXJncyB7XG4gICAgdmlldzogRW1iZWRkZWRWaWV3UmVmPGFueT47XG4gICAgZGF0YTogYW55O1xuICAgIGluZGV4OiBudW1iZXI7XG4gICAgY29udGV4dDogSXRlbUNvbnRleHQ7XG59XG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGVtcGxhdGVkSXRlbXNDb21wb25lbnQgaW1wbGVtZW50cyBEb0NoZWNrLCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudEluaXQge1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgbmF0aXZlRWxlbWVudCgpOiBQYWdlcjtcblxuICAgIHByb3RlY3RlZCB0ZW1wbGF0ZWRJdGVtc1ZpZXc6IFBhZ2VyO1xuICAgIHByb3RlY3RlZCBfaXRlbXM6IGFueTtcbiAgICBwcm90ZWN0ZWQgX2RpZmZlcjogSXRlcmFibGVEaWZmZXI8S2V5ZWRUZW1wbGF0ZT47XG4gICAgcHJvdGVjdGVkIF90ZW1wbGF0ZU1hcDogTWFwPHN0cmluZywgS2V5ZWRUZW1wbGF0ZT47XG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRJbmRleDogbnVtYmVyO1xuICAgIEBWaWV3Q2hpbGQoJ2xvYWRlcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiBmYWxzZSB9KSBsb2FkZXI6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgc2V0dXBJdGVtVmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8U2V0dXBJdGVtVmlld0FyZ3M+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogZmFsc2UgfSkgaXRlbVRlbXBsYXRlUXVlcnk6IFRlbXBsYXRlUmVmPEl0ZW1Db250ZXh0PjtcblxuICAgIGl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8SXRlbUNvbnRleHQ+O1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgaXRlbXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pdGVtcztcbiAgICB9XG5cbiAgICBzZXQgaXRlbXModmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl9pdGVtcyA9IHZhbHVlO1xuICAgICAgICBsZXQgbmVlZERpZmZlciA9IHRydWU7XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE9ic2VydmFibGVBcnJheSkge1xuICAgICAgICAgICAgbmVlZERpZmZlciA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuZWVkRGlmZmVyICYmICF0aGlzLl9kaWZmZXIgJiYgaXNMaXN0TGlrZUl0ZXJhYmxlKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5fZGlmZmVyID0gdGhpcy5faXRlcmFibGVEaWZmZXJzLmZpbmQodGhpcy5faXRlbXMpLmNyZWF0ZSgoX2luZGV4LCBpdGVtKSA9PiBpdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3Lml0ZW1zID0gdGhpcy5faXRlbXM7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBnZXQgc2VsZWN0ZWRJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJbmRleDtcbiAgICB9XG5cbiAgICBzZXQgc2VsZWN0ZWRJbmRleCh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZEluZGV4ID0gdmFsdWU7XG4gICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3LnNlbGVjdGVkSW5kZXggPSB0aGlzLl9zZWxlY3RlZEluZGV4O1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKCEhdGhpcy5fc2VsZWN0ZWRJbmRleCkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGlzSU9TKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3LnNjcm9sbFRvSW5kZXhBbmltYXRlZCh0aGlzLl9zZWxlY3RlZEluZGV4LCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3LnNlbGVjdGVkSW5kZXggPSB0aGlzLl9zZWxlY3RlZEluZGV4O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihfZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBfaXRlcmFibGVEaWZmZXJzOiBJdGVyYWJsZURpZmZlcnMpIHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZWRJdGVtc1ZpZXcgPSBfZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3Lm9uKCdpdGVtTG9hZGluZycsIHRoaXMub25JdGVtTG9hZGluZywgdGhpcyk7XG4gICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3Lm9uKCdpdGVtRGlzcG9zaW5nJywgdGhpcy5vbkl0ZW1EaXNwb3NpbmcsIHRoaXMpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgaWYgKFRyYWNlLmlzRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICBQYWdlckxvZygnVGVtcGxhdGVkSXRlbXNWaWV3Lm5nQWZ0ZXJDb250ZW50SW5pdCgpJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRJdGVtVGVtcGxhdGVzKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3Lm9mZignaXRlbUxvYWRpbmcnLCB0aGlzLm9uSXRlbUxvYWRpbmcsIHRoaXMpO1xuICAgICAgICB0aGlzLnRlbXBsYXRlZEl0ZW1zVmlldy5vZmYoJ2l0ZW1EaXNwb3NpbmcnLCB0aGlzLm9uSXRlbURpc3Bvc2luZywgdGhpcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJdGVtVGVtcGxhdGVzKCkge1xuICAgICAgICBpZiAoIXRoaXMuaXRlbXMpIHJldHVybjtcbiAgICAgICAgLy8gVGhlIGl0ZW1UZW1wbGF0ZVF1ZXJ5IG1heSBiZSBjaGFuZ2VkIGFmdGVyIGxpc3QgaXRlbXMgYXJlIGFkZGVkIHRoYXQgY29udGFpbiA8dGVtcGxhdGU+IGluc2lkZSxcbiAgICAgICAgLy8gc28gY2FjaGUgYW5kIHVzZSBvbmx5IHRoZSBvcmlnaW5hbCB0ZW1wbGF0ZSB0byBhdm9pZCBlcnJvcnMuXG4gICAgICAgIHRoaXMuaXRlbVRlbXBsYXRlID0gdGhpcy5pdGVtVGVtcGxhdGVRdWVyeTtcblxuICAgICAgICBpZiAodGhpcy5fdGVtcGxhdGVNYXApIHtcbiAgICAgICAgICAgIGlmIChUcmFjZS5pc0VuYWJsZWQoKSkge1xuICAgICAgICAgICAgICAgIFBhZ2VyTG9nKCdTZXR0aW5nIHRlbXBsYXRlcycpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB0ZW1wbGF0ZXM6IEtleWVkVGVtcGxhdGVbXSA9IFtdO1xuICAgICAgICAgICAgdGhpcy5fdGVtcGxhdGVNYXAuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZXMucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3Lml0ZW1UZW1wbGF0ZXMgPSB0ZW1wbGF0ZXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJUZW1wbGF0ZShrZXk6IHN0cmluZywgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPEl0ZW1Db250ZXh0Pikge1xuICAgICAgICBpZiAoVHJhY2UuaXNFbmFibGVkKCkpIHtcbiAgICAgICAgICAgIFBhZ2VyTG9nKGByZWdpc3RlclRlbXBsYXRlIGZvciBrZXk6ICR7a2V5fWApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLl90ZW1wbGF0ZU1hcCkge1xuICAgICAgICAgICAgdGhpcy5fdGVtcGxhdGVNYXAgPSBuZXcgTWFwPHN0cmluZywgS2V5ZWRUZW1wbGF0ZT4oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGtleWVkVGVtcGxhdGUgPSB7XG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICBjcmVhdGVWaWV3OiB0aGlzLmdldEl0ZW1UZW1wbGF0ZVZpZXdGYWN0b3J5KHRlbXBsYXRlKVxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuX3RlbXBsYXRlTWFwLnNldChrZXksIGtleWVkVGVtcGxhdGUpO1xuICAgIH1cblxuICAgIEBwcm9maWxlXG4gICAgcHVibGljIG9uSXRlbUxvYWRpbmcoYXJnczogSXRlbUV2ZW50RGF0YSkge1xuICAgICAgICBpZiAoIWFyZ3MudmlldyAmJiAhdGhpcy5pdGVtVGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5pdGVtcykgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gYXJncy5pbmRleDtcbiAgICAgICAgY29uc3QgaXRlbXMgPSAoYXJncy5vYmplY3QgYXMgYW55KS5pdGVtcztcbiAgICAgICAgY29uc3QgY3VycmVudEl0ZW0gPSB0eXBlb2YgaXRlbXMuZ2V0SXRlbSA9PT0gJ2Z1bmN0aW9uJyA/IGl0ZW1zLmdldEl0ZW0oaW5kZXgpIDogaXRlbXNbaW5kZXhdO1xuICAgICAgICBsZXQgdmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPEl0ZW1Db250ZXh0PjtcblxuICAgICAgICBpZiAoYXJncy52aWV3KSB7XG4gICAgICAgICAgICBpZiAoVHJhY2UuaXNFbmFibGVkKCkpIHtcbiAgICAgICAgICAgICAgICBQYWdlckxvZyhgb25JdGVtTG9hZGluZzogJHtpbmRleH0gLSBSZXVzaW5nIGV4aXN0aW5nIHZpZXdgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmlld1JlZiA9IGFyZ3Mudmlld1tOR19WSUVXXTtcbiAgICAgICAgICAgIC8vIEdldHRpbmcgYW5ndWxhciB2aWV3IGZyb20gb3JpZ2luYWwgZWxlbWVudCAoaW4gY2FzZXMgd2hlbiBQcm94eVZpZXdDb250YWluZXJcbiAgICAgICAgICAgIC8vIGlzIHVzZWQgTmF0aXZlU2NyaXB0IGludGVybmFsbHkgd3JhcHMgaXQgaW4gYSBTdGFja0xheW91dClcbiAgICAgICAgICAgIGlmICghdmlld1JlZiAmJiBhcmdzLnZpZXcgaW5zdGFuY2VvZiBMYXlvdXRCYXNlICYmIGFyZ3Mudmlldy5nZXRDaGlsZHJlbkNvdW50KCkgPiAwKSB7XG4gICAgICAgICAgICAgICAgdmlld1JlZiA9IGFyZ3Mudmlldy5nZXRDaGlsZEF0KDApW05HX1ZJRVddO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXZpZXdSZWYgJiYgVHJhY2UuaXNFbmFibGVkKCkpIHtcbiAgICAgICAgICAgICAgICBQYWdlckVycm9yKGBWaWV3UmVmZXJlbmNlIG5vdCBmb3VuZCBmb3IgaXRlbSAke2luZGV4fS4gVmlldyByZWN5Y2xpbmcgaXMgbm90IHdvcmtpbmdgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdmlld1JlZikge1xuICAgICAgICAgICAgaWYgKFRyYWNlLmlzRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICAgICAgUGFnZXJMb2coYG9uSXRlbUxvYWRpbmc6ICR7aW5kZXh9IC0gQ3JlYXRpbmcgdmlldyBmcm9tIHRlbXBsYXRlYCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZpZXdSZWYgPSB0aGlzLmxvYWRlci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5pdGVtVGVtcGxhdGUsIG5ldyBJdGVtQ29udGV4dCgpLCAwKTtcbiAgICAgICAgICAgIGFyZ3MudmlldyA9IGdldEl0ZW1WaWV3Um9vdCh2aWV3UmVmKTtcbiAgICAgICAgICAgIGFyZ3Mudmlld1tOR19WSUVXXSA9IHZpZXdSZWY7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldHVwVmlld1JlZih2aWV3UmVmLCBjdXJyZW50SXRlbSwgaW5kZXgpO1xuXG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlc09uQ2hpbGQodmlld1JlZiwgaW5kZXgpO1xuICAgIH1cblxuICAgIEBwcm9maWxlXG4gICAgcHVibGljIG9uSXRlbURpc3Bvc2luZyhhcmdzOiBJdGVtRXZlbnREYXRhKSB7XG4gICAgICAgIGlmICghYXJncy52aWV3KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjxJdGVtQ29udGV4dD47XG5cbiAgICAgICAgaWYgKGFyZ3Mudmlldykge1xuICAgICAgICAgICAgaWYgKFRyYWNlLmlzRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICAgICAgUGFnZXJMb2coYG9uSXRlbURpc3Bvc2luZzogJHthcmdzLmluZGV4fSAtIFJlbW92aW5nIGFuZ3VsYXIgdmlld2ApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2aWV3UmVmID0gYXJncy52aWV3W05HX1ZJRVddO1xuICAgICAgICAgICAgLy8gR2V0dGluZyBhbmd1bGFyIHZpZXcgZnJvbSBvcmlnaW5hbCBlbGVtZW50IChpbiBjYXNlcyB3aGVuIFByb3h5Vmlld0NvbnRhaW5lclxuICAgICAgICAgICAgLy8gaXMgdXNlZCBOYXRpdmVTY3JpcHQgaW50ZXJuYWxseSB3cmFwcyBpdCBpbiBhIFN0YWNrTGF5b3V0KVxuICAgICAgICAgICAgaWYgKCF2aWV3UmVmICYmIGFyZ3MudmlldyBpbnN0YW5jZW9mIExheW91dEJhc2UgJiYgYXJncy52aWV3LmdldENoaWxkcmVuQ291bnQoKSA+IDApIHtcbiAgICAgICAgICAgICAgICB2aWV3UmVmID0gYXJncy52aWV3LmdldENoaWxkQXQoMClbTkdfVklFV107XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghdmlld1JlZiAmJiBUcmFjZS5pc0VuYWJsZWQoKSkge1xuICAgICAgICAgICAgICAgIFBhZ2VyRXJyb3IoYFZpZXdSZWZlcmVuY2Ugbm90IGZvdW5kIGZvciBpdGVtICR7YXJncy5pbmRleH0uIFZpZXcgZGlzcG9zaW5nIGlzIG5vdCB3b3JraW5nYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmlld1JlZikge1xuICAgICAgICAgICAgaWYgKFRyYWNlLmlzRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICAgICAgUGFnZXJMb2coYG9uSXRlbURpc3Bvc2luZzogJHthcmdzLmluZGV4fSAtIERpc3Bvc2luZyB2aWV3IHJlZmVyZW5jZWApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2aWV3UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXR1cFZpZXdSZWYodmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPEl0ZW1Db250ZXh0PiwgZGF0YTogYW55LCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB2aWV3UmVmLmNvbnRleHQ7XG4gICAgICAgIGNvbnRleHQuJGltcGxpY2l0ID0gZGF0YTtcbiAgICAgICAgY29udGV4dC5pdGVtID0gZGF0YTtcbiAgICAgICAgY29udGV4dC5pbmRleCA9IGluZGV4O1xuICAgICAgICBjb250ZXh0LmV2ZW4gPSBpbmRleCAlIDIgPT09IDA7XG4gICAgICAgIGNvbnRleHQub2RkID0gIWNvbnRleHQuZXZlbjtcblxuICAgICAgICB0aGlzLnNldHVwSXRlbVZpZXcubmV4dCh7XG4gICAgICAgICAgICB2aWV3OiB2aWV3UmVmLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGluZGV4LFxuICAgICAgICAgICAgY29udGV4dFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0SXRlbVRlbXBsYXRlVmlld0ZhY3RvcnkodGVtcGxhdGU6IFRlbXBsYXRlUmVmPEl0ZW1Db250ZXh0Pik6ICgpID0+IFZpZXcge1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgdmlld1JlZiA9IHRoaXMubG9hZGVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0ZW1wbGF0ZSwgbmV3IEl0ZW1Db250ZXh0KCksIDApO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0VmlldyA9IGdldEl0ZW1WaWV3Um9vdCh2aWV3UmVmKTtcbiAgICAgICAgICAgIHJlc3VsdFZpZXdbTkdfVklFV10gPSB2aWV3UmVmO1xuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0VmlldztcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBAcHJvZmlsZVxuICAgIHByaXZhdGUgZGV0ZWN0Q2hhbmdlc09uQ2hpbGQodmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPEl0ZW1Db250ZXh0PiwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAoVHJhY2UuaXNFbmFibGVkKCkpIHtcbiAgICAgICAgICAgIFBhZ2VyTG9nKGBNYW51YWxseSBkZXRlY3QgY2hhbmdlcyBpbiBjaGlsZDogJHtpbmRleH1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZpZXdSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIHZpZXdSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG5nRG9DaGVjaygpIHtcbiAgICAgICAgaWYgKHRoaXMuX2RpZmZlcikge1xuICAgICAgICAgICAgaWYgKFRyYWNlLmlzRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICAgICAgUGFnZXJMb2coJ25nRG9DaGVjaygpIC0gZXhlY3V0ZSBkaWZmZXInKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgY2hhbmdlcyA9IHRoaXMuX2RpZmZlci5kaWZmKHRoaXMuX2l0ZW1zKTtcbiAgICAgICAgICAgIGlmIChjaGFuZ2VzKSB7XG4gICAgICAgICAgICAgICAgaWYgKFRyYWNlLmlzRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIFBhZ2VyTG9nKCduZ0RvQ2hlY2soKSAtIHJlZnJlc2gnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLnRlbXBsYXRlZEl0ZW1zVmlldy5yZWZyZXNoKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50VmlldyB7XG4gICAgcm9vdE5vZGVzOiBhbnlbXTtcblxuICAgIGRlc3Ryb3koKTogdm9pZDtcbn1cblxuZXhwb3J0IHR5cGUgUm9vdExvY2F0b3IgPSAobm9kZXM6IGFueVtdLCBuZXN0TGV2ZWw6IG51bWJlcikgPT4gVmlldztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEl0ZW1WaWV3Um9vdCh2aWV3UmVmOiBDb21wb25lbnRWaWV3LCByb290TG9jYXRvcjogUm9vdExvY2F0b3IgPSBleHRyYWN0U2luZ2xlVmlld1JlY3Vyc2l2ZSBhcyBhbnkpOiBWaWV3IHtcbiAgICByZXR1cm4gcm9vdExvY2F0b3Iodmlld1JlZi5yb290Tm9kZXMsIDApO1xufVxuXG5leHBvcnQgY29uc3QgVEVNUExBVEVEX0lURU1TX0NPTVBPTkVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUZW1wbGF0ZWRJdGVtc0NvbXBvbmVudD4oJ1RlbXBsYXRlZEl0ZW1zQ29tcG9uZW50Jyk7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3BhZ2VySXRlbV0nXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2VySXRlbURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSBpdGVtOiBQYWdlckl0ZW07XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICAgICAgQEluamVjdChURU1QTEFURURfSVRFTVNfQ09NUE9ORU5UKVxuICAgICAgICBASG9zdCgpXG4gICAgICAgIHByaXZhdGUgb3duZXI6IFRlbXBsYXRlZEl0ZW1zQ29tcG9uZW50LFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWZcbiAgICApIHt9XG5cbiAgICBwcml2YXRlIGVuc3VyZUl0ZW0oKSB7XG4gICAgICAgIGlmICghdGhpcy5pdGVtKSB7XG4gICAgICAgICAgICB0aGlzLml0ZW0gPSBuZXcgUGFnZXJJdGVtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5Q29uZmlnKCkge1xuICAgICAgICB0aGlzLmVuc3VyZUl0ZW0oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5hcHBseUNvbmZpZygpO1xuXG4gICAgICAgIGNvbnN0IHZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xuICAgICAgICAvLyBGaWx0ZXIgb3V0IHRleHQgbm9kZXMgYW5kIGNvbW1lbnRzXG4gICAgICAgIGNvbnN0IHJlYWxWaWV3cyA9IHZpZXdSZWYucm9vdE5vZGVzLmZpbHRlcigobm9kZSkgPT4gIWlzSW52aXNpYmxlTm9kZShub2RlKSk7XG5cbiAgICAgICAgaWYgKHJlYWxWaWV3cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCB2aWV3ID0gcmVhbFZpZXdzWzBdO1xuICAgICAgICAgICAgdGhpcy5pdGVtLmFkZENoaWxkKHZpZXcpO1xuICAgICAgICAgICAgdGhpcy5vd25lci5uYXRpdmVFbGVtZW50Ll9hZGRDaGlsZEZyb21CdWlsZGVyKCdQYWdlckl0ZW0nLCB0aGlzLml0ZW0pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbcGFnZXJUZW1wbGF0ZUtleV0nIH0pXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVLZXlEaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgICAgICBASW5qZWN0KFRFTVBMQVRFRF9JVEVNU19DT01QT05FTlQpXG4gICAgICAgIEBIb3N0KClcbiAgICAgICAgcHJpdmF0ZSBjb21wOiBUZW1wbGF0ZWRJdGVtc0NvbXBvbmVudFxuICAgICkge31cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHBhZ2VyVGVtcGxhdGVLZXkodmFsdWU6IGFueSkge1xuICAgICAgICBpZiAodGhpcy5jb21wICYmIHRoaXMudGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcC5yZWdpc3RlclRlbXBsYXRlKHZhbHVlLCB0aGlzLnRlbXBsYXRlUmVmKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
@@ -11,6 +11,11 @@ registerElement('Pager', () => Pager);
|
|
11
11
|
registerElement('PagerItem', () => PagerItem);
|
12
12
|
const NG_VIEW = '_ngViewRef';
|
13
13
|
class ItemContext {
|
14
|
+
$implicit;
|
15
|
+
item;
|
16
|
+
index;
|
17
|
+
even;
|
18
|
+
odd;
|
14
19
|
constructor($implicit, item, index, even, odd) {
|
15
20
|
this.$implicit = $implicit;
|
16
21
|
this.item = item;
|
@@ -20,13 +25,16 @@ class ItemContext {
|
|
20
25
|
}
|
21
26
|
}
|
22
27
|
class TemplatedItemsComponent {
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
28
|
+
_iterableDiffers;
|
29
|
+
templatedItemsView;
|
30
|
+
_items;
|
31
|
+
_differ;
|
32
|
+
_templateMap;
|
33
|
+
_selectedIndex;
|
34
|
+
loader;
|
35
|
+
setupItemView = new EventEmitter();
|
36
|
+
itemTemplateQuery;
|
37
|
+
itemTemplate;
|
30
38
|
get items() {
|
31
39
|
return this._items;
|
32
40
|
}
|
@@ -58,6 +66,12 @@ class TemplatedItemsComponent {
|
|
58
66
|
});
|
59
67
|
}
|
60
68
|
}
|
69
|
+
constructor(_elementRef, _iterableDiffers) {
|
70
|
+
this._iterableDiffers = _iterableDiffers;
|
71
|
+
this.templatedItemsView = _elementRef.nativeElement;
|
72
|
+
this.templatedItemsView.on('itemLoading', this.onItemLoading, this);
|
73
|
+
this.templatedItemsView.on('itemDisposing', this.onItemDisposing, this);
|
74
|
+
}
|
61
75
|
ngAfterContentInit() {
|
62
76
|
if (Trace.isEnabled()) {
|
63
77
|
PagerLog('TemplatedItemsView.ngAfterContentInit()');
|
@@ -202,19 +216,19 @@ class TemplatedItemsComponent {
|
|
202
216
|
}
|
203
217
|
}
|
204
218
|
}
|
219
|
+
static ɵfac = function TemplatedItemsComponent_Factory(t) { return new (t || TemplatedItemsComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.IterableDiffers)); };
|
220
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TemplatedItemsComponent, selectors: [["ng-component"]], contentQueries: function TemplatedItemsComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
221
|
+
i0.ɵɵcontentQuery(dirIndex, TemplateRef, 5);
|
222
|
+
} if (rf & 2) {
|
223
|
+
let _t;
|
224
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itemTemplateQuery = _t.first);
|
225
|
+
} }, viewQuery: function TemplatedItemsComponent_Query(rf, ctx) { if (rf & 1) {
|
226
|
+
i0.ɵɵviewQuery(_c0, 5, ViewContainerRef);
|
227
|
+
} if (rf & 2) {
|
228
|
+
let _t;
|
229
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loader = _t.first);
|
230
|
+
} }, inputs: { items: "items", selectedIndex: "selectedIndex" }, outputs: { setupItemView: "setupItemView" }, decls: 0, vars: 0, template: function TemplatedItemsComponent_Template(rf, ctx) { }, encapsulation: 2 });
|
205
231
|
}
|
206
|
-
TemplatedItemsComponent.ɵfac = function TemplatedItemsComponent_Factory(t) { return new (t || TemplatedItemsComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.IterableDiffers)); };
|
207
|
-
TemplatedItemsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TemplatedItemsComponent, selectors: [["ng-component"]], contentQueries: function TemplatedItemsComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
208
|
-
i0.ɵɵcontentQuery(dirIndex, TemplateRef, 5);
|
209
|
-
} if (rf & 2) {
|
210
|
-
let _t;
|
211
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itemTemplateQuery = _t.first);
|
212
|
-
} }, viewQuery: function TemplatedItemsComponent_Query(rf, ctx) { if (rf & 1) {
|
213
|
-
i0.ɵɵviewQuery(_c0, 5, ViewContainerRef);
|
214
|
-
} if (rf & 2) {
|
215
|
-
let _t;
|
216
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loader = _t.first);
|
217
|
-
} }, inputs: { items: "items", selectedIndex: "selectedIndex" }, outputs: { setupItemView: "setupItemView" }, decls: 0, vars: 0, template: function TemplatedItemsComponent_Template(rf, ctx) { }, encapsulation: 2 });
|
218
232
|
__decorate([
|
219
233
|
profile
|
220
234
|
], TemplatedItemsComponent.prototype, "onItemLoading", null);
|
@@ -247,6 +261,10 @@ function getItemViewRoot(viewRef, rootLocator = extractSingleViewRecursive) {
|
|
247
261
|
}
|
248
262
|
const TEMPLATED_ITEMS_COMPONENT = new InjectionToken('TemplatedItemsComponent');
|
249
263
|
class PagerItemDirective {
|
264
|
+
templateRef;
|
265
|
+
owner;
|
266
|
+
viewContainer;
|
267
|
+
item;
|
250
268
|
constructor(templateRef, owner, viewContainer) {
|
251
269
|
this.templateRef = templateRef;
|
252
270
|
this.owner = owner;
|
@@ -271,9 +289,9 @@ class PagerItemDirective {
|
|
271
289
|
this.owner.nativeElement._addChildFromBuilder('PagerItem', this.item);
|
272
290
|
}
|
273
291
|
}
|
292
|
+
static ɵfac = function PagerItemDirective_Factory(t) { return new (t || PagerItemDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(TEMPLATED_ITEMS_COMPONENT, 1), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); };
|
293
|
+
static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PagerItemDirective, selectors: [["", "pagerItem", ""]] });
|
274
294
|
}
|
275
|
-
PagerItemDirective.ɵfac = function PagerItemDirective_Factory(t) { return new (t || PagerItemDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(TEMPLATED_ITEMS_COMPONENT, 1), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); };
|
276
|
-
PagerItemDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PagerItemDirective, selectors: [["", "pagerItem", ""]] });
|
277
295
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerItemDirective, [{
|
278
296
|
type: Directive,
|
279
297
|
args: [{
|
@@ -286,6 +304,8 @@ PagerItemDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PagerIte
|
|
286
304
|
type: Host
|
287
305
|
}] }, { type: i0.ViewContainerRef }]; }, null); })();
|
288
306
|
class TemplateKeyDirective {
|
307
|
+
templateRef;
|
308
|
+
comp;
|
289
309
|
constructor(templateRef, comp) {
|
290
310
|
this.templateRef = templateRef;
|
291
311
|
this.comp = comp;
|
@@ -295,9 +315,9 @@ class TemplateKeyDirective {
|
|
295
315
|
this.comp.registerTemplate(value, this.templateRef);
|
296
316
|
}
|
297
317
|
}
|
318
|
+
static ɵfac = function TemplateKeyDirective_Factory(t) { return new (t || TemplateKeyDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(TEMPLATED_ITEMS_COMPONENT, 1)); };
|
319
|
+
static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: TemplateKeyDirective, selectors: [["", "pagerTemplateKey", ""]], inputs: { pagerTemplateKey: "pagerTemplateKey" } });
|
298
320
|
}
|
299
|
-
TemplateKeyDirective.ɵfac = function TemplateKeyDirective_Factory(t) { return new (t || TemplateKeyDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(TEMPLATED_ITEMS_COMPONENT, 1)); };
|
300
|
-
TemplateKeyDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: TemplateKeyDirective, selectors: [["", "pagerTemplateKey", ""]], inputs: { pagerTemplateKey: "pagerTemplateKey" } });
|
301
321
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TemplateKeyDirective, [{
|
302
322
|
type: Directive,
|
303
323
|
args: [{ selector: '[pagerTemplateKey]' }]
|
@@ -311,24 +331,26 @@ TemplateKeyDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: Templa
|
|
311
331
|
}] }); })();
|
312
332
|
|
313
333
|
class PagerComponent extends TemplatedItemsComponent {
|
314
|
-
constructor(_elementRef, _iterableDiffers) {
|
315
|
-
super(_elementRef, _iterableDiffers);
|
316
|
-
}
|
317
334
|
get nativeElement() {
|
318
335
|
return this.templatedItemsView;
|
319
336
|
}
|
337
|
+
//@ts-ignore
|
338
|
+
templatedItemsView;
|
339
|
+
constructor(_elementRef, _iterableDiffers) {
|
340
|
+
super(_elementRef, _iterableDiffers);
|
341
|
+
}
|
342
|
+
static ɵfac = function PagerComponent_Factory(t) { return new (t || PagerComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.IterableDiffers)); };
|
343
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PagerComponent, selectors: [["Pager"]], features: [i0.ɵɵProvidersFeature([
|
344
|
+
{
|
345
|
+
provide: TEMPLATED_ITEMS_COMPONENT,
|
346
|
+
useExisting: forwardRef(() => PagerComponent)
|
347
|
+
}
|
348
|
+
]), i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 0, consts: [["loader", ""]], template: function PagerComponent_Template(rf, ctx) { if (rf & 1) {
|
349
|
+
i0.ɵɵelementStart(0, "DetachedContainer");
|
350
|
+
i0.ɵɵelement(1, "Placeholder", null, 0);
|
351
|
+
i0.ɵɵelementEnd();
|
352
|
+
} }, encapsulation: 2, changeDetection: 0 });
|
320
353
|
}
|
321
|
-
PagerComponent.ɵfac = function PagerComponent_Factory(t) { return new (t || PagerComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.IterableDiffers)); };
|
322
|
-
PagerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PagerComponent, selectors: [["Pager"]], features: [i0.ɵɵProvidersFeature([
|
323
|
-
{
|
324
|
-
provide: TEMPLATED_ITEMS_COMPONENT,
|
325
|
-
useExisting: forwardRef(() => PagerComponent)
|
326
|
-
}
|
327
|
-
]), i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 0, consts: [["loader", ""]], template: function PagerComponent_Template(rf, ctx) { if (rf & 1) {
|
328
|
-
i0.ɵɵelementStart(0, "DetachedContainer");
|
329
|
-
i0.ɵɵelement(1, "Placeholder", null, 0);
|
330
|
-
i0.ɵɵelementEnd();
|
331
|
-
} }, encapsulation: 2, changeDetection: 0 });
|
332
354
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerComponent, [{
|
333
355
|
type: Component,
|
334
356
|
args: [{
|
@@ -346,10 +368,10 @@ PagerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PagerCompone
|
|
346
368
|
}]
|
347
369
|
}], function () { return [{ type: i0.ElementRef }, { type: i0.IterableDiffers }]; }, null); })();
|
348
370
|
class PagerModule {
|
371
|
+
static ɵfac = function PagerModule_Factory(t) { return new (t || PagerModule)(); };
|
372
|
+
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: PagerModule });
|
373
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
|
349
374
|
}
|
350
|
-
PagerModule.ɵfac = function PagerModule_Factory(t) { return new (t || PagerModule)(); };
|
351
|
-
PagerModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: PagerModule });
|
352
|
-
PagerModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
|
353
375
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerModule, [{
|
354
376
|
type: NgModule,
|
355
377
|
args: [{
|