@elderbyte/ngx-starter 12.11.0 → 12.12.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/elderbyte-ngx-starter.umd.js +75 -60
- package/bundles/elderbyte-ngx-starter.umd.js.map +1 -1
- package/elderbyte-ngx-starter.metadata.json +1 -1
- package/esm2015/lib/components/auditing/audited-entity/elder-audited-entity.component.js +2 -2
- package/esm2015/lib/components/data-view/base/elder-data-view-base.js +46 -3
- package/esm2015/lib/components/data-view/grid/elder-grid/elder-grid.component.js +24 -6
- package/esm2015/lib/components/data-view/grid/elder-grid.module.js +3 -2
- package/esm2015/lib/components/data-view/table/elder-table/elder-table.component.js +5 -48
- package/fesm2015/elderbyte-ngx-starter.js +68 -53
- package/fesm2015/elderbyte-ngx-starter.js.map +1 -1
- package/lib/components/data-view/base/elder-data-view-base.d.ts +11 -1
- package/lib/components/data-view/grid/elder-grid/elder-grid.component.d.ts +9 -6
- package/lib/components/data-view/table/elder-table/elder-table.component.d.ts +5 -10
- package/package.json +1 -1
|
@@ -20,7 +20,7 @@ export class ElderAuditedEntityComponent {
|
|
|
20
20
|
ElderAuditedEntityComponent.decorators = [
|
|
21
21
|
{ type: Component, args: [{
|
|
22
22
|
selector: 'elder-audited-entity',
|
|
23
|
-
template: "<section [fxLayout]=\"layout\" fxLayoutGap=\"8px\" *ngIf=\"auditedCtx$ | async as ctx\">\n\n <mat-form-field class=\"elder-std-form-field\" [appearance]=\"appearance\">\n <mat-icon class=\"decent noselect\"
|
|
23
|
+
template: "<section [fxLayout]=\"layout\" fxLayoutGap=\"8px\" *ngIf=\"auditedCtx$ | async as ctx\">\n\n <mat-form-field class=\"elder-std-form-field\" [appearance]=\"appearance\">\n <mat-label fxLayoutAlign=\"start center\" fxLayoutGap=\"4px\">\n <mat-icon class=\"decent noselect\" inline>add_circle_outline</mat-icon>\n <span>{{'context.createdAt' | translate}} {{ctx.audited?.createdAt | timeAgo}}</span>\n </mat-label>\n <input matInput name=\"created\"\n [value]=\"ctx.audited?.createdAt | date:'dd.MM.yyyy hh:mm'\"\n readonly>\n <mat-hint>{{ctx.audited?.createdBy}}</mat-hint>\n </mat-form-field>\n\n <mat-form-field class=\"elder-std-form-field\" [appearance]=\"appearance\">\n <mat-label fxLayoutAlign=\"start center\" fxLayoutGap=\"4px\">\n <mat-icon class=\"decent noselect\">mode_edit_outline</mat-icon>\n <span>{{'context.modifiedAt' | translate}} {{ctx.audited?.modifiedAt | timeAgo}}</span>\n </mat-label>\n <input matInput name=\"modified\"\n [value]=\"ctx.audited?.modifiedAt | date:'dd.MM.yyyy hh:mm'\"\n readonly>\n <mat-hint>{{ctx.audited?.modifiedBy}}</mat-hint>\n </mat-form-field>\n\n</section>\n",
|
|
24
24
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
25
25
|
styles: [".decent{opacity:.5}\n"]
|
|
26
26
|
},] }
|
|
@@ -31,4 +31,4 @@ ElderAuditedEntityComponent.propDecorators = {
|
|
|
31
31
|
appearance: [{ type: Input }],
|
|
32
32
|
audited: [{ type: Input }]
|
|
33
33
|
};
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYXVkaXRlZC1lbnRpdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9hdWRpdGluZy9hdWRpdGVkLWVudGl0eS9lbGRlci1hdWRpdGVkLWVudGl0eS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVSx1QkFBdUIsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUlyQyxNQUFNLGdCQUFnQjtJQUNwQixZQUNrQixPQUF1QjtRQUF2QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtJQUNyQyxDQUFDO0NBQ047QUFTRCxNQUFNLE9BQU8sMkJBQTJCO0lBV3RDO1FBUk8sV0FBTSxHQUFHLFVBQVUsQ0FBQztRQUdwQixlQUFVLEdBQTJCLE1BQU0sQ0FBQztRQUduQyxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFtQixJQUFJLENBQUMsQ0FBQztJQUUxRCxDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO0lBRUQsSUFDVyxPQUFPLENBQUMsT0FBdUI7UUFDeEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7OztZQXpCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsdXJDQUFvRDtnQkFFcEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7O3FCQUdFLEtBQUs7eUJBR0wsS0FBSztzQkFXTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7SUF1ZGl0ZWRFbnRpdHl9IGZyb20gJy4uL2ktYXVkaXRlZC1lbnRpdHknO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRBcHBlYXJhbmNlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkL2Zvcm0tZmllbGQnO1xuXG5jbGFzcyBBdWRpdGVkRW50aXR5Q3R4IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGF1ZGl0ZWQ6IElBdWRpdGVkRW50aXR5XG4gICkgeyB9XG59XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItYXVkaXRlZC1lbnRpdHknLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItYXVkaXRlZC1lbnRpdHkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci1hdWRpdGVkLWVudGl0eS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckF1ZGl0ZWRFbnRpdHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYXlvdXQgPSAncm93IHdyYXAnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcHBlYXJhbmNlOiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlID0gJ2ZpbGwnO1xuXG5cbiAgcHVibGljIHJlYWRvbmx5IGF1ZGl0ZWRDdHgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdWRpdGVkRW50aXR5Q3R4PihudWxsKTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhdWRpdGVkKGF1ZGl0ZWQ6IElBdWRpdGVkRW50aXR5KSB7XG4gICAgdGhpcy5hdWRpdGVkQ3R4JC5uZXh0KG5ldyBBdWRpdGVkRW50aXR5Q3R4KGF1ZGl0ZWQpKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
2
2
|
import { Component, Input, Output } from '@angular/core';
|
|
3
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { BehaviorSubject, Subject } from 'rxjs';
|
|
4
4
|
import { map } from 'rxjs/operators';
|
|
5
5
|
import { ElderDataViewSelectionMode } from '../../select/popup/selection-model-popup.directive';
|
|
6
6
|
import { isActivePagedDataContext, isContinuableDataContext } from '../../../common/data/data-context/data-context';
|
|
@@ -22,6 +22,7 @@ export class ElderDataViewBaseComponent {
|
|
|
22
22
|
* Underlying data context.
|
|
23
23
|
*/
|
|
24
24
|
this.dataContext$ = new BehaviorSubject(null);
|
|
25
|
+
this.interactionMode = 'open';
|
|
25
26
|
/**
|
|
26
27
|
* If true, this table is in dense mode.
|
|
27
28
|
* Heights are generally reduced.
|
|
@@ -37,6 +38,7 @@ export class ElderDataViewBaseComponent {
|
|
|
37
38
|
* No borders / floating visible so that the table can be embedded into another container
|
|
38
39
|
*/
|
|
39
40
|
this._embedded = false;
|
|
41
|
+
this._itemClickSubject = new Subject();
|
|
40
42
|
if (!selectionModel) {
|
|
41
43
|
this.selectionModel = new SelectionModel(false, [], (entity) => entity ? this.getId(entity) : 0);
|
|
42
44
|
}
|
|
@@ -103,6 +105,14 @@ export class ElderDataViewBaseComponent {
|
|
|
103
105
|
this.selectionModel.isMultipleSelection = enableMultiSelection;
|
|
104
106
|
}
|
|
105
107
|
}
|
|
108
|
+
/***************************************************************************
|
|
109
|
+
* *
|
|
110
|
+
* On click properties *
|
|
111
|
+
* *
|
|
112
|
+
**************************************************************************/
|
|
113
|
+
get itemClick() {
|
|
114
|
+
return this._itemClickSubject;
|
|
115
|
+
}
|
|
106
116
|
/***************************************************************************
|
|
107
117
|
* *
|
|
108
118
|
* Style Properties *
|
|
@@ -137,7 +147,38 @@ export class ElderDataViewBaseComponent {
|
|
|
137
147
|
* @param data
|
|
138
148
|
* @protected
|
|
139
149
|
*/
|
|
140
|
-
onDataContextSet(data) {
|
|
150
|
+
onDataContextSet(data) {
|
|
151
|
+
}
|
|
152
|
+
onItemClick(entity) {
|
|
153
|
+
if (entity) {
|
|
154
|
+
switch (this.interactionMode) {
|
|
155
|
+
case 'open':
|
|
156
|
+
if (this.selectionModel.hasValue) {
|
|
157
|
+
this.selectionModel.toggle(entity);
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
this._itemClickSubject.next(entity);
|
|
161
|
+
}
|
|
162
|
+
break;
|
|
163
|
+
case 'selection':
|
|
164
|
+
this.selectionModel.toggle(entity);
|
|
165
|
+
break;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
onItemDoubleClick(entity) {
|
|
170
|
+
if (entity) {
|
|
171
|
+
switch (this.interactionMode) {
|
|
172
|
+
// double click in open mode not supported
|
|
173
|
+
case 'open':
|
|
174
|
+
break;
|
|
175
|
+
// double click in selection mode triggers normal item click
|
|
176
|
+
case 'selection':
|
|
177
|
+
this._itemClickSubject.next(entity);
|
|
178
|
+
break;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
141
182
|
/***************************************************************************
|
|
142
183
|
* *
|
|
143
184
|
* Private Methods *
|
|
@@ -156,13 +197,15 @@ ElderDataViewBaseComponent.ctorParameters = () => [
|
|
|
156
197
|
{ type: ElderDataViewSelectionMode }
|
|
157
198
|
];
|
|
158
199
|
ElderDataViewBaseComponent.propDecorators = {
|
|
200
|
+
interactionMode: [{ type: Input }],
|
|
159
201
|
selectableEvaluatorFn: [{ type: Input }],
|
|
160
202
|
selection: [{ type: Input }],
|
|
161
203
|
selectionChange: [{ type: Output }],
|
|
162
204
|
selectionSingleChange: [{ type: Output }],
|
|
163
205
|
selectionMultiEnabled: [{ type: Input }],
|
|
206
|
+
itemClick: [{ type: Output }],
|
|
164
207
|
dense: [{ type: Input }],
|
|
165
208
|
float: [{ type: Input }],
|
|
166
209
|
embedded: [{ type: Input }]
|
|
167
210
|
};
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZGF0YS12aWV3LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdmlldy9iYXNlL2VsZGVyLWRhdGEtdmlldy1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNoRyxPQUFPLEVBR29CLHdCQUF3QixFQUNqRCx3QkFBd0IsRUFDekIsTUFBTSxnREFBZ0QsQ0FBQztBQUN4RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFJekUsTUFBTSxPQUFPLDBCQUEwQjtJQW1DbkM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ0ksY0FBbUMsRUFDaEIsaUJBQTZDO1FBQTdDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBNEI7UUExQ3BFOzs7O29GQUk0RTtRQUU1RTs7V0FFRztRQUNhLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQW9CLElBQUksQ0FBQyxDQUFDO1FBTzVFOzs7V0FHRztRQUNLLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFdkI7OztXQUdHO1FBQ0ssV0FBTSxHQUFHLEtBQUssQ0FBQztRQUV2Qjs7O1dBR0c7UUFDSyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBWXRCLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGNB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RyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUU7Ozs7O09BS0c7SUFDTyxnQkFBZ0IsQ0FBQyxJQUF1QixJQUFVLENBQUM7SUFFN0Q7Ozs7Z0ZBSTRFO0lBRWxFLEtBQUssQ0FBQyxNQUFXOztRQUN2QixPQUFPLENBQUEsTUFBQSxNQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLFVBQVUsMENBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFJLE1BQU0sQ0FBQztJQUNqRSxDQUFDOzs7WUE3TEosU0FBUyxTQUFDLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OztZQUhyRCxjQUFjO1lBUGIsMEJBQTBCOzs7b0NBMkc5QixLQUFLO3dCQU9MLEtBQUs7OEJBS0wsTUFBTTtvQ0FLTixNQUFNO29DQWFOLEtBQUs7b0JBYUwsS0FBSztvQkFTTCxLQUFLO3VCQVNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVsZGVyRGF0YVZpZXdTZWxlY3Rpb25Nb2RlIH0gZnJvbSAnLi4vLi4vc2VsZWN0L3BvcHVwL3NlbGVjdGlvbi1tb2RlbC1wb3B1cC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgSURhdGFDb250ZXh0LFxuICBJRGF0YUNvbnRleHRBY3RpdmVQYWdlLFxuICBJRGF0YUNvbnRleHRDb250aW51YWJsZSwgaXNBY3RpdmVQYWdlZERhdGFDb250ZXh0LFxuICBpc0NvbnRpbnVhYmxlRGF0YUNvbnRleHRcbn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dCc7XG5pbXBvcnQge1NlbGVjdGlvbk1vZGVsfSBmcm9tICcuLi8uLi8uLi9jb21tb24vc2VsZWN0aW9uL3NlbGVjdGlvbi1tb2RlbCc7XG5pbXBvcnQge0lFbGRlckRhdGFWaWV3fSBmcm9tICcuL2VsZGVyLWRhdGEtdmlldyc7XG5cbkBDb21wb25lbnQoeyBzZWxlY3RvcjogJ2VsZGVyLWRhdGEtdmlldy1iYXNlJywgdGVtcGxhdGU6ICcnIH0pXG5leHBvcnQgY2xhc3MgRWxkZXJEYXRhVmlld0Jhc2VDb21wb25lbnQgaW1wbGVtZW50cyBJRWxkZXJEYXRhVmlldyB7XG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIC8qKlxuICAgICAqIFVuZGVybHlpbmcgZGF0YSBjb250ZXh0LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBkYXRhQ29udGV4dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElEYXRhQ29udGV4dDxhbnk+PihudWxsKTtcblxuICAgIC8qKlxuICAgICAqIEhvbGRzIHRoZSBjdXJyZW50IHNlbGVjdGlvblxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzZWxlY3Rpb25Nb2RlbDogU2VsZWN0aW9uTW9kZWw8YW55PjtcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIHRoaXMgdGFibGUgaXMgaW4gZGVuc2UgbW9kZS5cbiAgICAgKiBIZWlnaHRzIGFyZSBnZW5lcmFsbHkgcmVkdWNlZC5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9kZW5zZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogSWYgdHJ1ZSwgdGhpcyB0YWJsZSBpcyBpbiBhIGZsb2F0aW5nIGNhcmQgbW9kZS5cbiAgICAgKiBPdGhlcndpc2UsIGl0IGlzIGZsYXQgb24gdGhlIGN1cnJlbnQgcGFuZWwuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZmxvYXQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIHRoaXMgdGFibGUgaXMgaW4gZW1iZWRkZWQgbW9kZS5cbiAgICAgKiBObyBib3JkZXJzIC8gZmxvYXRpbmcgdmlzaWJsZSBzbyB0aGF0IHRoZSB0YWJsZSBjYW4gYmUgZW1iZWRkZWQgaW50byBhbm90aGVyIGNvbnRhaW5lclxuICAgICAqL1xuICAgIHByaXZhdGUgX2VtYmVkZGVkID0gZmFsc2U7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHNlbGVjdGlvbk1vZGVsOiBTZWxlY3Rpb25Nb2RlbDxhbnk+LFxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0YVZpZXdTZWxlY3Rpb246IEVsZGVyRGF0YVZpZXdTZWxlY3Rpb25Nb2RlXG4gICAgKSB7XG4gICAgICAgIGlmICghc2VsZWN0aW9uTW9kZWwpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwgPSBuZXcgU2VsZWN0aW9uTW9kZWw8YW55PihmYWxzZSwgW10sIChlbnRpdHkpID0+XG4gICAgICAgICAgICAgICAgZW50aXR5ID8gdGhpcy5nZXRJZChlbnRpdHkpIDogMFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwgPSBzZWxlY3Rpb25Nb2RlbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgcHVibGljIGdldCBkYXRhQ29udGV4dCgpOiBJRGF0YUNvbnRleHQ8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFDb250ZXh0JC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgZGF0YUNvbnRleHQoZGF0YTogSURhdGFDb250ZXh0PGFueT4pIHtcbiAgICAgICAgdGhpcy5kYXRhQ29udGV4dCQubmV4dChkYXRhKTtcbiAgICAgICAgdGhpcy5vbkRhdGFDb250ZXh0U2V0KGRhdGEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGF0YUFjdGl2ZVBhZ2VkKCk6IElEYXRhQ29udGV4dEFjdGl2ZVBhZ2U8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFDb250ZXh0IGFzIElEYXRhQ29udGV4dEFjdGl2ZVBhZ2U8YW55PjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGFDb250aW51YWJsZSgpOiBJRGF0YUNvbnRleHRDb250aW51YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YUNvbnRleHQgYXMgSURhdGFDb250ZXh0Q29udGludWFibGU8YW55PjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzQ29udGludWFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5kYXRhQ29udGV4dCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0NvbnRpbnVhYmxlRGF0YUNvbnRleHQodGhpcy5kYXRhQ29udGV4dCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc0FjdGl2ZVBhZ2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuZGF0YUNvbnRleHQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNBY3RpdmVQYWdlZERhdGFDb250ZXh0KHRoaXMuZGF0YUNvbnRleHQpO1xuICAgIH1cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICogU2VsZWN0aW9uIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgc2VsZWN0YWJsZUV2YWx1YXRvckZuKFxuICAgICAgICBzZWxlY3RhYmxlRXZhbHVhdG9yRm46IChlbnRpdHk6IGFueSkgPT4gYm9vbGVhblxuICAgICkge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdGFibGVFdmFsdWF0b3JGbiA9IHNlbGVjdGFibGVFdmFsdWF0b3JGbjtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgc2VsZWN0aW9uKHNlbGVjdGlvbjogYW55W10pIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5yZXBsYWNlU2VsZWN0aW9uKHNlbGVjdGlvbik7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGdldCBzZWxlY3Rpb25DaGFuZ2UoKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25Nb2RlbC5jaGFuZ2VkO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBnZXQgc2VsZWN0aW9uU2luZ2xlQ2hhbmdlKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbk1vZGVsLmNoYW5nZWQucGlwZShcbiAgICAgICAgICAgIG1hcCgoc2VsZWN0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGlvbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxlY3Rpb25bMF07XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgc2VsZWN0aW9uTXVsdGlFbmFibGVkKGVuYWJsZU11bHRpU2VsZWN0aW9uOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGlvbk1vZGVsKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLmlzTXVsdGlwbGVTZWxlY3Rpb24gPSBlbmFibGVNdWx0aVNlbGVjdGlvbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICogU3R5bGUgUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgZGVuc2UodmFsdWU6IGJvb2xlYW4gfCAnJykge1xuICAgICAgICB0aGlzLl9kZW5zZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkZW5zZSgpOiBib29sZWFuIHwgJycge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVuc2U7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGZsb2F0KHZhbHVlOiBib29sZWFuIHwgJycpIHtcbiAgICAgICAgdGhpcy5fZmxvYXQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZmxvYXQoKTogYm9vbGVhbiB8ICcnIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zsb2F0O1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBlbWJlZGRlZCh2YWx1ZTogYm9vbGVhbiB8ICcnKSB7XG4gICAgICAgIHRoaXMuX2VtYmVkZGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGVtYmVkZGVkKCk6IGJvb2xlYW4gfCAnJyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbWJlZGRlZDtcbiAgICB9XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIEV2ZW50IEVudHJ5IFBvaW50cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIGFmdGVyIGEgbmV3IERhdGFDb250ZXh0IGhhcyBiZWVuIHNldC5cbiAgICAgKiBTdWJjbGFzc2VzIG1heSBhZGQgYWRkaXRpb25hbCBiZWhhdmlvdXIgYXQgdGhpcyBzdGFnZS5cbiAgICAgKiBAcGFyYW0gZGF0YVxuICAgICAqIEBwcm90ZWN0ZWRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgb25EYXRhQ29udGV4dFNldChkYXRhOiBJRGF0YUNvbnRleHQ8YW55Pik6IHZvaWQgeyB9XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqIFByaXZhdGUgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgcHJvdGVjdGVkIGdldElkKGVudGl0eTogYW55KTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YUNvbnRleHQ/LmRhdGFTb3VyY2U/LmdldElkKGVudGl0eSkgfHwgZW50aXR5O1xuICAgIH1cbn1cbiJdfQ==
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZGF0YS12aWV3LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdmlldy9iYXNlL2VsZGVyLWRhdGEtdmlldy1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsZUFBZSxFQUFjLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkMsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDOUYsT0FBTyxFQUlMLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDekIsTUFBTSxnREFBZ0QsQ0FBQztBQUN4RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFJekUsTUFBTSxPQUFPLDBCQUEwQjtJQXlDckM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ0UsY0FBbUMsRUFDaEIsaUJBQTZDO1FBQTdDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBNEI7UUEvQ2xFOzs7O29GQUk0RTtRQUU1RTs7V0FFRztRQUNhLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQW9CLElBQUksQ0FBQyxDQUFDO1FBUXJFLG9CQUFlLEdBQWlDLE1BQU0sQ0FBQztRQUU5RDs7O1dBR0c7UUFDSyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXZCOzs7V0FHRztRQUNLLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFdkI7OztXQUdHO1FBQ0ssY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVULHNCQUFpQixHQUFHLElBQUks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QUM7SUFFRDs7OztnRkFJNEU7SUFFbEUsS0FBSyxDQUFDLE1BQVc7O1FBQ3pCLE9BQU8sQ0FBQSxNQUFBLE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsVUFBVSwwQ0FBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUksTUFBTSxDQUFDO0lBQy9ELENBQUM7OztZQTVQRixTQUFTLFNBQUMsRUFBQyxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBQzs7O1lBSG5ELGNBQWM7WUFSZCwwQkFBMEI7Ozs4QkE4Qi9CLEtBQUs7b0NBcUZMLEtBQUs7d0JBT0wsS0FBSzs4QkFLTCxNQUFNO29DQUtOLE1BQU07b0NBYU4sS0FBSzt3QkFhTCxNQUFNO29CQVdOLEtBQUs7b0JBU0wsS0FBSzt1QkFTTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb2VyY2VCb29sZWFuUHJvcGVydHl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtFbGRlckRhdGFWaWV3U2VsZWN0aW9uTW9kZX0gZnJvbSAnLi4vLi4vc2VsZWN0L3BvcHVwL3NlbGVjdGlvbi1tb2RlbC1wb3B1cC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgSURhdGFDb250ZXh0LFxuICBJRGF0YUNvbnRleHRBY3RpdmVQYWdlLFxuICBJRGF0YUNvbnRleHRDb250aW51YWJsZSxcbiAgaXNBY3RpdmVQYWdlZERhdGFDb250ZXh0LFxuICBpc0NvbnRpbnVhYmxlRGF0YUNvbnRleHRcbn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dCc7XG5pbXBvcnQge1NlbGVjdGlvbk1vZGVsfSBmcm9tICcuLi8uLi8uLi9jb21tb24vc2VsZWN0aW9uL3NlbGVjdGlvbi1tb2RlbCc7XG5pbXBvcnQge0VsZGVyRGF0YVZpZXdJbnRlcmFjdGlvbk1vZGUsIElFbGRlckRhdGFWaWV3fSBmcm9tICcuL2VsZGVyLWRhdGEtdmlldyc7XG5cbkBDb21wb25lbnQoe3NlbGVjdG9yOiAnZWxkZXItZGF0YS12aWV3LWJhc2UnLCB0ZW1wbGF0ZTogJyd9KVxuZXhwb3J0IGNsYXNzIEVsZGVyRGF0YVZpZXdCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgSUVsZGVyRGF0YVZpZXcge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBVbmRlcmx5aW5nIGRhdGEgY29udGV4dC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkYXRhQ29udGV4dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElEYXRhQ29udGV4dDxhbnk+PihudWxsKTtcblxuICAvKipcbiAgICogSG9sZHMgdGhlIGN1cnJlbnQgc2VsZWN0aW9uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0aW9uTW9kZWw6IFNlbGVjdGlvbk1vZGVsPGFueT47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGludGVyYWN0aW9uTW9kZTogRWxkZXJEYXRhVmlld0ludGVyYWN0aW9uTW9kZSA9ICdvcGVuJztcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgdGhpcyB0YWJsZSBpcyBpbiBkZW5zZSBtb2RlLlxuICAgKiBIZWlnaHRzIGFyZSBnZW5lcmFsbHkgcmVkdWNlZC5cbiAgICovXG4gIHByaXZhdGUgX2RlbnNlID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElmIHRydWUsIHRoaXMgdGFibGUgaXMgaW4gYSBmbG9hdGluZyBjYXJkIG1vZGUuXG4gICAqIE90aGVyd2lzZSwgaXQgaXMgZmxhdCBvbiB0aGUgY3VycmVudCBwYW5lbC5cbiAgICovXG4gIHByaXZhdGUgX2Zsb2F0ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElmIHRydWUsIHRoaXMgdGFibGUgaXMgaW4gZW1iZWRkZWQgbW9kZS5cbiAgICogTm8gYm9yZGVycyAvIGZsb2F0aW5nIHZpc2libGUgc28gdGhhdCB0aGUgdGFibGUgY2FuIGJlIGVtYmVkZGVkIGludG8gYW5vdGhlciBjb250YWluZXJcbiAgICovXG4gIHByaXZhdGUgX2VtYmVkZGVkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaXRlbUNsaWNrU3ViamVjdCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBzZWxlY3Rpb25Nb2RlbDogU2VsZWN0aW9uTW9kZWw8YW55PixcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0YVZpZXdTZWxlY3Rpb246IEVsZGVyRGF0YVZpZXdTZWxlY3Rpb25Nb2RlXG4gICkge1xuICAgIGlmICghc2VsZWN0aW9uTW9kZWwpIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwgPSBuZXcgU2VsZWN0aW9uTW9kZWw8YW55PihmYWxzZSwgW10sIChlbnRpdHkpID0+XG4gICAgICAgIGVudGl0eSA/IHRoaXMuZ2V0SWQoZW50aXR5KSA6IDBcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwgPSBzZWxlY3Rpb25Nb2RlbDtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGRhdGFDb250ZXh0KCk6IElEYXRhQ29udGV4dDxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhQ29udGV4dCQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZGF0YUNvbnRleHQoZGF0YTogSURhdGFDb250ZXh0PGFueT4pIHtcbiAgICB0aGlzLmRhdGFDb250ZXh0JC5uZXh0KGRhdGEpO1xuICAgIHRoaXMub25EYXRhQ29udGV4dFNldChkYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0YUFjdGl2ZVBhZ2VkKCk6IElEYXRhQ29udGV4dEFjdGl2ZVBhZ2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YUNvbnRleHQgYXMgSURhdGFDb250ZXh0QWN0aXZlUGFnZTxhbnk+O1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhQ29udGludWFibGUoKTogSURhdGFDb250ZXh0Q29udGludWFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YUNvbnRleHQgYXMgSURhdGFDb250ZXh0Q29udGludWFibGU8YW55PjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNDb250aW51YWJsZSgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuZGF0YUNvbnRleHQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGlzQ29udGludWFibGVEYXRhQ29udGV4dCh0aGlzLmRhdGFDb250ZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNBY3RpdmVQYWdlZCgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuZGF0YUNvbnRleHQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGlzQWN0aXZlUGFnZWREYXRhQ29udGV4dCh0aGlzLmRhdGFDb250ZXh0KTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBTZWxlY3Rpb24gUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2VsZWN0YWJsZUV2YWx1YXRvckZuKFxuICAgIHNlbGVjdGFibGVFdmFsdWF0b3JGbjogKGVudGl0eTogYW55KSA9PiBib29sZWFuXG4gICkge1xuICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0YWJsZUV2YWx1YXRvckZuID0gc2VsZWN0YWJsZUV2YWx1YXRvckZuO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3Rpb24oc2VsZWN0aW9uOiBhbnlbXSkge1xuICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwucmVwbGFjZVNlbGVjdGlvbihzZWxlY3Rpb24pO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgc2VsZWN0aW9uQ2hhbmdlKCk6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25Nb2RlbC5jaGFuZ2VkO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgc2VsZWN0aW9uU2luZ2xlQ2hhbmdlKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uTW9kZWwuY2hhbmdlZC5waXBlKFxuICAgICAgbWFwKChzZWxlY3Rpb24pID0+IHtcbiAgICAgICAgaWYgKHNlbGVjdGlvbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcmV0dXJuIHNlbGVjdGlvblswXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3Rpb25NdWx0aUVuYWJsZWQoZW5hYmxlTXVsdGlTZWxlY3Rpb246IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb25Nb2RlbCkge1xuICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5pc011bHRpcGxlU2VsZWN0aW9uID0gZW5hYmxlTXVsdGlTZWxlY3Rpb247XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIE9uIGNsaWNrIHByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgaXRlbUNsaWNrKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1DbGlja1N1YmplY3Q7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogU3R5bGUgUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRlbnNlKHZhbHVlOiBib29sZWFuIHwgJycpIHtcbiAgICB0aGlzLl9kZW5zZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlbnNlKCk6IGJvb2xlYW4gfCAnJyB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbnNlO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmbG9hdCh2YWx1ZTogYm9vbGVhbiB8ICcnKSB7XG4gICAgdGhpcy5fZmxvYXQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBmbG9hdCgpOiBib29sZWFuIHwgJycge1xuICAgIHJldHVybiB0aGlzLl9mbG9hdDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZW1iZWRkZWQodmFsdWU6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX2VtYmVkZGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZW1iZWRkZWQoKTogYm9vbGVhbiB8ICcnIHtcbiAgICByZXR1cm4gdGhpcy5fZW1iZWRkZWQ7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRXZlbnQgRW50cnkgUG9pbnRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogQ2FsbGVkIGFmdGVyIGEgbmV3IERhdGFDb250ZXh0IGhhcyBiZWVuIHNldC5cbiAgICogU3ViY2xhc3NlcyBtYXkgYWRkIGFkZGl0aW9uYWwgYmVoYXZpb3VyIGF0IHRoaXMgc3RhZ2UuXG4gICAqIEBwYXJhbSBkYXRhXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBvbkRhdGFDb250ZXh0U2V0KGRhdGE6IElEYXRhQ29udGV4dDxhbnk+KTogdm9pZCB7XG4gIH1cblxuICBwdWJsaWMgb25JdGVtQ2xpY2soZW50aXR5OiBhbnkpOiB2b2lkIHtcblxuICAgIGlmIChlbnRpdHkpIHtcblxuICAgICAgc3dpdGNoICh0aGlzLmludGVyYWN0aW9uTW9kZSkge1xuXG4gICAgICAgIGNhc2UgJ29wZW4nOlxuICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGlvbk1vZGVsLmhhc1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnRvZ2dsZShlbnRpdHkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9pdGVtQ2xpY2tTdWJqZWN0Lm5leHQoZW50aXR5KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnc2VsZWN0aW9uJzpcbiAgICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnRvZ2dsZShlbnRpdHkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuICBwdWJsaWMgb25JdGVtRG91YmxlQ2xpY2soZW50aXR5OiBhbnkpOiB2b2lkIHtcblxuICAgIGlmIChlbnRpdHkpIHtcblxuICAgICAgc3dpdGNoICh0aGlzLmludGVyYWN0aW9uTW9kZSkge1xuXG4gICAgICAgIC8vIGRvdWJsZSBjbGljayBpbiBvcGVuIG1vZGUgbm90IHN1cHBvcnRlZFxuICAgICAgICBjYXNlICdvcGVuJzpcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICAvLyBkb3VibGUgY2xpY2sgaW4gc2VsZWN0aW9uIG1vZGUgdHJpZ2dlcnMgbm9ybWFsIGl0ZW0gY2xpY2tcbiAgICAgICAgY2FzZSAnc2VsZWN0aW9uJzpcbiAgICAgICAgICB0aGlzLl9pdGVtQ2xpY2tTdWJqZWN0Lm5leHQoZW50aXR5KTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBNZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcm90ZWN0ZWQgZ2V0SWQoZW50aXR5OiBhbnkpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmRhdGFDb250ZXh0Py5kYXRhU291cmNlPy5nZXRJZChlbnRpdHkpIHx8IGVudGl0eTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, ContentChild, Directive, forwardRef, Input, Optional, SkipSelf, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';
|
|
2
2
|
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
3
|
-
import { BehaviorSubject, combineLatest } from 'rxjs';
|
|
3
|
+
import { BehaviorSubject, combineLatest, of, Subject } from 'rxjs';
|
|
4
|
+
import { isContinuableDataContext } from '../../../../common/data/data-context/data-context';
|
|
4
5
|
import { SelectionModel } from '../../../../common/selection/selection-model';
|
|
5
6
|
import { MediaObserver } from '@angular/flex-layout';
|
|
6
7
|
import { debounceTime, filter, map, startWith, switchMap } from 'rxjs/operators';
|
|
7
8
|
import { ELDER_DATA_VIEW } from '../../base/elder-data-view';
|
|
8
9
|
import { ElderDataViewSelectionMode } from '../../../select/popup/selection-model-popup.directive';
|
|
9
10
|
import { ElderDataViewBaseComponent } from '../../base/elder-data-view-base';
|
|
11
|
+
import { MatPaginator } from '@angular/material/paginator';
|
|
12
|
+
import { MatTableDataContextBindingBuilder } from '../../../../common/data/data-context/mat-table-data-context-binding';
|
|
10
13
|
export class ElderGridTileDirective {
|
|
11
14
|
constructor(templateRef, viewContainer) {
|
|
12
15
|
this.templateRef = templateRef;
|
|
@@ -75,7 +78,8 @@ export class ElderGridComponent extends ElderDataViewBaseComponent {
|
|
|
75
78
|
*/
|
|
76
79
|
this.idField = 'id';
|
|
77
80
|
this.selectionVisible = true;
|
|
78
|
-
this.
|
|
81
|
+
this.pageSizeOptions = [30, 50, 100, 150, 200];
|
|
82
|
+
this.destroy$ = new Subject();
|
|
79
83
|
}
|
|
80
84
|
/***************************************************************************
|
|
81
85
|
* *
|
|
@@ -101,7 +105,15 @@ export class ElderGridComponent extends ElderDataViewBaseComponent {
|
|
|
101
105
|
}
|
|
102
106
|
}
|
|
103
107
|
}
|
|
108
|
+
ngAfterViewInit() {
|
|
109
|
+
MatTableDataContextBindingBuilder
|
|
110
|
+
.start(this.dataContext$)
|
|
111
|
+
.withPaginator(of(this.matPaginator))
|
|
112
|
+
.bindUntil(this.destroy$);
|
|
113
|
+
}
|
|
104
114
|
ngOnDestroy() {
|
|
115
|
+
this.destroy$.next();
|
|
116
|
+
this.destroy$.complete();
|
|
105
117
|
}
|
|
106
118
|
/***************************************************************************
|
|
107
119
|
* *
|
|
@@ -123,7 +135,12 @@ export class ElderGridComponent extends ElderDataViewBaseComponent {
|
|
|
123
135
|
set data(data) {
|
|
124
136
|
this.dataContext$.next(data);
|
|
125
137
|
this.total$ = data.total.pipe(map(total => total ? total + '' : '∞'));
|
|
126
|
-
|
|
138
|
+
if (isContinuableDataContext(data)) {
|
|
139
|
+
this.canLoadMore$ = combineLatest([data.loading, data.hasMoreData]).pipe(map(([loading, hasMoreData]) => !loading && hasMoreData));
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
this.canLoadMore$ = of(false);
|
|
143
|
+
}
|
|
127
144
|
}
|
|
128
145
|
get dataSnapshot() {
|
|
129
146
|
return this.dataContinuable;
|
|
@@ -215,7 +232,7 @@ export class ElderGridComponent extends ElderDataViewBaseComponent {
|
|
|
215
232
|
ElderGridComponent.decorators = [
|
|
216
233
|
{ type: Component, args: [{
|
|
217
234
|
selector: 'elder-grid',
|
|
218
|
-
template: "<div fxLayout=\"column\" class=\"scroll-fix\" fxFill>\n\n <!-- Grid Browser -->\n <div fxLayout=\"column\" fxFlex\n class=\"scroll-fix elder-grid-container\"\n *ngIf=\"dataContext$ | async as data\"\n [class.elder-mat-table-container]=\"!embedded\"\n [class.mat-elevation-z5]=\"float\"\n [class.elder-mat-table-flat]=\"!embedded && !float\"\n\n [elderDataContextSelection]=\"data\" #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n >\n\n <!-- Toolbar Row -->\n <div *ngIf=\"toolbarVisible\"\n fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFlex=\"none\" class=\"elder-grid-toolbar\">\n\n <div fxLayout=\"column\" fxFlex=\"none\" style=\"padding-left: 8px; padding-right: 8px\" *ngIf=\"selectionVisible\">\n <elder-selection-master-checkbox fxFlex=\"none\" style=\"padding-left: 12px\"></elder-selection-master-checkbox>\n </div>\n\n <!-- Toolbar -->\n <ng-container *ngIf=\"toolbarTemplate\">\n <ng-template *ngTemplateOutlet=\"toolbarTemplate; context: {$implicit: this}\"></ng-template>\n </ng-container>\n\n <elder-single-sort *ngIf=\"availableSorts && availableSorts.length > 0 && data.sort.sorts | async as sorts\"\n fxFlex=\"none\"\n [availableSorts]=\"availableSorts\"\n [translationPrefix]=\"sortTranslationPrefix\"\n [sort]=\"sorts[0]\"\n (sortChange)=\"updateSort($event)\">\n </elder-single-sort>\n\n </div>\n\n <mat-divider *ngIf=\"toolbarVisible\"></mat-divider>\n\n <!-- [cdkDropListSortingDisabled]=\"true\" -->\n <!-- cdkDropList -->\n <cdk-virtual-scroll-viewport\n class=\"elder-grid-browser\" fxLayout=\"column\" fxFlex\n id=\"documents-container\"\n [itemSize]=\"itemHeight\"\n [minBufferPx]=\"itemHeight * 2\"\n [maxBufferPx]=\"itemHeight * 3\"\n #virtualScrollViewPort\n infiniteScroll\n [eventThrottle]=\"200\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"data.loading | async\"\n [containerId]=\"'documents-container'\" [listenToHost]=\"false\"\n (closeToEnd)=\"requestMoreDataZoned($event)\"
|
|
235
|
+
template: "<div fxLayout=\"column\" class=\"scroll-fix\" fxFill>\n\n <!-- Grid Browser -->\n <div fxLayout=\"column\" fxFlex\n class=\"scroll-fix elder-grid-container\"\n *ngIf=\"dataContext$ | async as data\"\n [class.elder-mat-table-container]=\"!embedded\"\n [class.mat-elevation-z5]=\"float\"\n [class.elder-mat-table-flat]=\"!embedded && !float\"\n\n [elderDataContextSelection]=\"data\" #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n >\n\n <!-- Toolbar Row -->\n <div *ngIf=\"toolbarVisible\"\n fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFlex=\"none\" class=\"elder-grid-toolbar\">\n\n <div fxLayout=\"column\" fxFlex=\"none\" style=\"padding-left: 8px; padding-right: 8px\" *ngIf=\"selectionVisible\">\n <elder-selection-master-checkbox fxFlex=\"none\" style=\"padding-left: 12px\"></elder-selection-master-checkbox>\n </div>\n\n <!-- Toolbar -->\n <ng-container *ngIf=\"toolbarTemplate\">\n <ng-template *ngTemplateOutlet=\"toolbarTemplate; context: {$implicit: this}\"></ng-template>\n </ng-container>\n\n <elder-single-sort *ngIf=\"availableSorts && availableSorts.length > 0 && data.sort.sorts | async as sorts\"\n fxFlex=\"none\"\n [availableSorts]=\"availableSorts\"\n [translationPrefix]=\"sortTranslationPrefix\"\n [sort]=\"sorts[0]\"\n (sortChange)=\"updateSort($event)\">\n </elder-single-sort>\n\n </div>\n\n <mat-divider *ngIf=\"toolbarVisible\"></mat-divider>\n\n <span class=\"elder-table-hint mat-body-1\" fxFlex fxLayoutAlign=\"center center\"\n *ngIf=\"!dataContext?.isStarted\">\n {{'Datacontext not started' | translate}}\n </span>\n\n <div *ngIf=\"(dataContext?.data | async)?.isStarted\" fxFlex fxLayoutAlign=\"center center\">\n\n <span class=\"elder-table-hint mat-body-1\"\n *ngIf=\"(dataContext?.data | async)?.length === 0 && !(dataContext?.status | async)?.hasError\">\n {{'No data available' | translate}}\n </span>\n\n <div *ngIf=\"(dataContext?.status | async)?.hasError\"\n fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"20px\">\n <mat-icon color=\"warn\">warning</mat-icon>\n <span class=\"hint mat-body-1\">{{'Error while loading data' | translate}}</span>\n </div>\n\n </div>\n\n <!-- [cdkDropListSortingDisabled]=\"true\" -->\n <!-- cdkDropList -->\n <cdk-virtual-scroll-viewport\n class=\"elder-grid-browser\" fxLayout=\"column\" fxFlex\n id=\"documents-container\"\n [itemSize]=\"itemHeight\"\n [minBufferPx]=\"itemHeight * 2\"\n [maxBufferPx]=\"itemHeight * 3\"\n #virtualScrollViewPort\n infiniteScroll\n [eventThrottle]=\"200\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"data.loading | async\"\n [containerId]=\"'documents-container'\" [listenToHost]=\"false\"\n (closeToEnd)=\"requestMoreDataZoned($event)\">\n\n <!-- (scrolling)=\"onScrolling($event)\" -->\n\n <div\n *cdkVirtualFor=\"let row of dataRows$; trackBy: trackByIndex; templateCacheSize: 50\"\n class=\"elder-grid-tile-row\"\n [style.height]=\"itemHeight + 'px'\">\n\n <ng-container *ngFor=\"let tile of row; trackBy: trackByFn\">\n\n <!-- Tile Cell -->\n <div *ngIf=\"showTile(tile)\" class=\"elder-grid-tile\">\n <!-- cdkDrag [cdkDragDisabled]=\"true\" [cdkDragData]=\"tile\" -->\n <!-- <div class=\"tile-placeholder\" *cdkDragPlaceholder></div> -->\n <div class=\"elder-grid-tile-content\"\n (click)=\"onItemClick(tile)\"\n (dblclick)=\"onItemDoubleClick(tile)\">\n <ng-container\n *ngTemplateOutlet=\"tileTemplate || simpleTileTemplate; context: {$implicit: tile}\">\n </ng-container>\n\n <!-- Overlay (Selection) -->\n <ng-container *ngIf=\"selectionVisible\">\n <div *ngIf=\"selectionModel.selection | async as selection\"\n class=\"elder-grid-tile-overlay\"\n [class.elder-grid-tile-overlay-hidden]=\"!inSelectionMode(selection)\"\n [class.elder-grid-tile-overlay-visible]=\"inSelectionMode(selection)\"\n [class.elder-click-through]=\"true\"\n >\n <button mat-icon-button type=\"button\"\n (click)=\"selectionModel.toggle(tile)\" elderStopEventPropagation\n class=\"elder-grid-tile-check\">\n <mat-icon\n [class.elder-selected]=\"(selectionModel.observeSelection(tile) | async)\"\n >\n {{(selectionModel.observeSelection(tile) | async) ? 'check_circle' : 'radio_button_unchecked'}}\n </mat-icon>\n </button>\n </div>\n </ng-container>\n\n </div>\n </div>\n\n <div *ngIf=\"!showTile(tile)\" class=\"elder-grid-tile-hidden\"></div>\n </ng-container>\n\n </div>\n\n </cdk-virtual-scroll-viewport>\n\n\n <mat-progress-bar fxFlex=\"none\"\n [mode]=\"(data?.loading | async) ? 'indeterminate' : 'determinate'\"\n [color]=\"(data && (data.status | async)?.hasError) ? 'warn' : 'primary'\">\n </mat-progress-bar>\n\n <!-- Footer -->\n <div class=\"elder-grid-footer\" *ngIf=\"footerVisible\"\n fxLayout=\"row\" fxFlex=\"none\" fxLayoutAlign=\"end center\" fxLayoutGap=\"10px\"\n style=\"padding-right: 10px\">\n\n <!-- Continuable -->\n <ng-container *ngIf=\"isContinuable\">\n <span class=\"mat-caption noselect\" style=\"color: gray\">\n {{(dataSnapshot?.data | async)?.length}} / {{total$ | async}}\n </span>\n\n <button mat-icon-button type=\"button\"\n color=\"primary\"\n [disabled]=\"!(canLoadMore$ | async)\"\n (click)=\"dataSnapshot.loadMore()\">\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n </ng-container>\n\n <!-- Paged -->\n <mat-paginator #matPaginator *ngIf=\"isActivePaged && (dataActivePaged.page | async) as page\"\n fxFlex=\"none\"\n [length]=\"dataContext?.total | async\"\n [pageIndex]=\"page?.index\"\n [pageSize]=\"page?.size\"\n [pageSizeOptions]=\"pageSizeOptions\">\n </mat-paginator>\n\n <!-- Local Source -->\n <ng-container *ngIf=\"!isActivePaged && !isContinuable\">\n <span class=\"mat-caption noselect\" style=\"color: gray\">\n {{(dataSnapshot?.data | async)?.length}}\n </span>\n </ng-container>\n\n </div>\n\n\n </div>\n</div>\n\n<ng-template #simpleTileTemplate let-tile>\n <div *ngIf=\"tile\" fxLayout=\"column\" fxFlex fxLayoutAlign=\"center center\" style=\"background-color: lightblue\">\n <p class=\"noselect\">Tile: {{tile}}</p>\n </div>\n</ng-template>\n",
|
|
219
236
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
220
237
|
providers: [
|
|
221
238
|
{
|
|
@@ -243,11 +260,12 @@ ElderGridComponent.propDecorators = {
|
|
|
243
260
|
hiddenField: [{ type: Input }],
|
|
244
261
|
idField: [{ type: Input }],
|
|
245
262
|
selectionVisible: [{ type: Input }],
|
|
246
|
-
|
|
263
|
+
pageSizeOptions: [{ type: Input }],
|
|
264
|
+
matPaginator: [{ type: ViewChild, args: [MatPaginator,] }],
|
|
247
265
|
toolbarTemplateQuery: [{ type: ContentChild, args: [ElderGridToolbarDirective, { read: TemplateRef, static: true },] }],
|
|
248
266
|
tileTemplate: [{ type: Input }],
|
|
249
267
|
toolbarTemplate: [{ type: Input }],
|
|
250
268
|
data: [{ type: Input }],
|
|
251
269
|
columnCount: [{ type: Input }]
|
|
252
270
|
};
|
|
253
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdmlldy9ncmlkL2VsZGVyLWdyaWQvZWxkZXItZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUdMLFFBQVEsRUFFUixRQUFRLEVBQ1IsV0FBVyxFQUVYLFNBQVMsRUFDVCxnQkFBZ0IsRUFDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBR2hFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRSxPQUFPLEVBQUMsZUFBZSxFQUErQyxNQUFNLDRCQUE0QixDQUFDO0FBRXpHLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBRWpHLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBRzNFLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFDUyxXQUE2QixFQUM3QixhQUErQjtRQUQvQixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO0lBQUksQ0FBQzs7O1lBSjlDLFNBQVMs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QUFRO1lBdkhMLDBCQUEwQix1QkF3SDdCLFFBQVEsWUFBSSxRQUFRO1lBN0hqQixhQUFhOzs7Z0NBd0VsQixZQUFZLFNBQUMsc0JBQXNCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7NkJBSXhFLEtBQUs7NEJBR0wsS0FBSzt5QkFHTCxLQUFLO29DQUdMLEtBQUs7b0NBR0wsU0FBUyxTQUFDLHVCQUF1QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs2QkFHbkQsS0FBSztvQ0FHTCxLQUFLOzBCQUdMLEtBQUs7c0JBTUwsS0FBSzsrQkFHTCxLQUFLOzhCQUdMLEtBQUs7bUNBR0wsWUFBWSxTQUFDLHlCQUF5QixFQUFFLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFDOzJCQXNFekUsS0FBSzs4QkFTTCxLQUFLO21CQVNMLEtBQUs7MEJBaUJMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBEaXJlY3RpdmUsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2tpcFNlbGYsXG4gIFRlbXBsYXRlUmVmLFxuICBUcmFja0J5RnVuY3Rpb24sXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtJRGF0YUNvbnRleHRDb250aW51YWJsZX0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dCc7XG5pbXBvcnQge0Nka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQge1NlbGVjdGlvbk1vZGVsfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vc2VsZWN0aW9uL3NlbGVjdGlvbi1tb2RlbCc7XG5pbXBvcnQge01lZGlhT2JzZXJ2ZXJ9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2RhdGEvc29ydCc7XG5pbXBvcnQge0VMREVSX0RBVEFfVklFVywgRWxkZXJEYXRhVmlld0ludGVyYWN0aW9uTW9kZSwgSUVsZGVyRGF0YVZpZXd9IGZyb20gJy4uLy4uL2Jhc2UvZWxkZXItZGF0YS12aWV3JztcbmltcG9ydCB7Y29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtFbGRlckRhdGFWaWV3U2VsZWN0aW9uTW9kZX0gZnJvbSAnLi4vLi4vLi4vc2VsZWN0L3BvcHVwL3NlbGVjdGlvbi1tb2RlbC1wb3B1cC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtFbGRlclRhYmxlVG9vbGJhckRpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vdGFibGUvZWxkZXItdGFibGUvZWxkZXItdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7RWxkZXJEYXRhVmlld0Jhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uL2Jhc2UvZWxkZXItZGF0YS12aWV3LWJhc2UnO1xuXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ1tlbGRlckdyaWRUaWxlXSd9KVxuZXhwb3J0IGNsYXNzIEVsZGVyR3JpZFRpbGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgcHVibGljIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpIHsgfVxufVxuXG4vKipcbiAqIFRoaXMgZGlyZWN0aXZlIHByb2plY3RzIG1hcmtlZCBjb250ZW50IGludG8gYSB0b29sYmFyLlxuICovXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ1tlbGRlckdyaWRUb29sYmFyXSd9KVxuZXhwb3J0IGNsYXNzIEVsZGVyR3JpZFRvb2xiYXJEaXJlY3RpdmUge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZlxuICApIHtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1ncmlkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLWdyaWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci1ncmlkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBFTERFUl9EQVRBX1ZJRVcsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBFbGRlckdyaWRDb21wb25lbnQpXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyR3JpZENvbXBvbmVudCBleHRlbmRzIEVsZGVyRGF0YVZpZXdCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIF9jb2x1bW5Db3VudCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPig0KTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHNpemVUb0NvbHVtbnMgPSBuZXcgTWFwKFtcbiAgICBbJ3hzJywgMV0sXG4gICAgWydzbScsIDJdLFxuICAgIFsnbWQnLCAzXSxcbiAgICBbJ2xnJywgNF0sXG4gICAgWyd4bCcsIDVdXG4gIF0pO1xuXG4gIC8qKlxuICAgKiBMb2FkIG5leHQgY2h1bmsgYWZ0ZXIgY3VycmVudCBpcyBkb25lXG4gICAqL1xuICBwcml2YXRlIGxvYWROZXh0UXVldWVkID0gZmFsc2U7XG5cbiAgcHVibGljIGRhdGFSb3dzJDogT2JzZXJ2YWJsZTxhbnlbXVtdPjtcblxuICBwdWJsaWMgY2FuTG9hZE1vcmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBwdWJsaWMgdG90YWwkOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cblxuICBAQ29udGVudENoaWxkKEVsZGVyR3JpZFRpbGVEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgdGlsZVRlbXBsYXRlUXVlcnk6IFRlbXBsYXRlUmVmPGFueT47XG4gIHByaXZhdGUgX3RpbGVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdG9vbGJhclZpc2libGUgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmb290ZXJWaXNpYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXRlbUhlaWdodCA9IDI1MDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVzcG9uc2l2ZUNvbHVtbkNvdW50ID0gdHJ1ZTtcblxuICBAVmlld0NoaWxkKCd2aXJ0dWFsU2Nyb2xsVmlld1BvcnQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgdmlydHVhbFNjcm9sbFZpZXdQb3J0OiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGF2YWlsYWJsZVNvcnRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzb3J0VHJhbnNsYXRpb25QcmVmaXggPSAnZG9jdW1lbnRzLnNvcnRzLic7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGhpZGRlbkZpZWxkOiBzdHJpbmcgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBObyBsb25nZXIgcmVxdWlyZWQuIElkIGlzIGF1dG9tYXRpY2FsbHkgcGlja2VkIGZyb20gdGhlIERhdGFTb3VyY2UuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaWRGaWVsZCA9ICdpZCc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNlbGVjdGlvblZpc2libGUgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbnRlcmFjdGlvbk1vZGU6IEVsZGVyRGF0YVZpZXdJbnRlcmFjdGlvbk1vZGUgPSAnb3Blbic7XG5cbiAgQENvbnRlbnRDaGlsZChFbGRlckdyaWRUb29sYmFyRGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZX0pXG4gIHB1YmxpYyB0b29sYmFyVGVtcGxhdGVRdWVyeTogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHJpdmF0ZSBfdG9vbGJhclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgc2VsZWN0aW9uTW9kZWw6IFNlbGVjdGlvbk1vZGVsPGFueT4sXG4gICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgZGF0YVZpZXdTZWxlY3Rpb246IEVsZGVyRGF0YVZpZXdTZWxlY3Rpb25Nb2RlLFxuICAgIHByaXZhdGUgbWVkaWFPYnNlcnZlcjogTWVkaWFPYnNlcnZlclxuICApIHtcbiAgICBzdXBlcihzZWxlY3Rpb25Nb2RlbCwgZGF0YVZpZXdTZWxlY3Rpb24pO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmVjeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuXG4gICAgY29uc3QgY29sdW1uQ291bnQkID0gKFxuICAgICAgdGhpcy5yZXNwb25zaXZlQ29sdW1uQ291bnRcbiAgICAgICAgPyB0aGlzLnJlc3BvbnNpdmVDb2x1bW4oKVxuICAgICAgICA6IHRoaXMuX2NvbHVtbkNvdW50KTtcblxuICAgIHRoaXMuZGF0YVJvd3MkID0gY29tYmluZUxhdGVzdChcbiAgICAgIFtcbiAgICAgICAgdGhpcy5kYXRhQ29udGV4dCQucGlwZShcbiAgICAgICAgICBmaWx0ZXIoZGMgPT4gISFkYyksXG4gICAgICAgICAgc3dpdGNoTWFwKGRjID0+IGRjLmRhdGEpXG4gICAgICAgICksXG4gICAgICAgIGNvbHVtbkNvdW50JFxuICAgICAgXSkucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSg1MCksXG4gICAgICBtYXAoXG4gICAgICAgIChbZGF0YSwgY29sdW1uc10pID0+IHRoaXMuZ3JvdXBGb3JDb2x1bW5zKGRhdGEsIGNvbHVtbnMpXG4gICAgICApXG4gICAgKTtcblxuXG4gICAgaWYgKHRoaXMuZGF0YVZpZXdTZWxlY3Rpb24pIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uVmlzaWJsZSA9IHRydWU7XG4gICAgICB0aGlzLnNlbGVjdGlvbk11bHRpRW5hYmxlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5mbG9hdCA9IGZhbHNlO1xuXG4gICAgICBjb25zdCBkYXRhQ29udGV4dCA9IHRoaXMuZGF0YUNvbnRleHQkLmdldFZhbHVlKCk7XG4gICAgICBpZiAoZGF0YUNvbnRleHQpIHtcbiAgICAgICAgZGF0YUNvbnRleHQuZmlsdGVyLnVwZGF0ZUZpbHRlcnModGhpcy5kYXRhVmlld1NlbGVjdGlvbi5maWx0ZXJzKTtcbiAgICAgICAgZGF0YUNvbnRleHQuc29ydC51cGRhdGVTb3J0cyh0aGlzLmRhdGFWaWV3U2VsZWN0aW9uLnNvcnRzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdGlsZVRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5fdGlsZVRlbXBsYXRlID0gdGVtcGxhdGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRpbGVUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fdGlsZVRlbXBsYXRlIHx8IHRoaXMudGlsZVRlbXBsYXRlUXVlcnk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRvb2xiYXJUZW1wbGF0ZSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuX3Rvb2xiYXJUZW1wbGF0ZSA9IHRlbXBsYXRlO1xuICB9XG5cbiAgcHVibGljIGdldCB0b29sYmFyVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX3Rvb2xiYXJUZW1wbGF0ZSB8fCB0aGlzLnRvb2xiYXJUZW1wbGF0ZVF1ZXJ5O1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkYXRhKGRhdGE6IElEYXRhQ29udGV4dENvbnRpbnVhYmxlPGFueT4pIHtcbiAgICB0aGlzLmRhdGFDb250ZXh0JC5uZXh0KGRhdGEpO1xuXG4gICAgdGhpcy50b3RhbCQgPSBkYXRhLnRvdGFsLnBpcGUoXG4gICAgICBtYXAodG90YWwgPT4gdG90YWwgPyB0b3RhbCArICcnICA6ICfiiJ4nKVxuICAgICk7XG5cbiAgICB0aGlzLmNhbkxvYWRNb3JlJCA9IGNvbWJpbmVMYXRlc3QoW2RhdGEubG9hZGluZywgZGF0YS5oYXNNb3JlRGF0YV0pLnBpcGUoXG4gICAgICBtYXAoKFtsb2FkaW5nLCBoYXNNb3JlRGF0YV0pID0+ICFsb2FkaW5nICYmIGhhc01vcmVEYXRhKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGFTbmFwc2hvdCgpOiBJRGF0YUNvbnRleHRDb250aW51YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhQ29udGludWFibGU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNvbHVtbkNvdW50KGNvdW50OiBudW1iZXIpIHtcbiAgICB0aGlzLl9jb2x1bW5Db3VudC5uZXh0KGNvdW50KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29sdW1uQ291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fY29sdW1uQ291bnQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBpblNlbGVjdGlvbk1vZGUoY3VycmVudFNlbGVjdGlvbjogYW55W10pOiBib29sZWFuIHtcblxuICAgIGlmICh0aGlzLmludGVyYWN0aW9uTW9kZSA9PT0gJ3NlbGVjdGlvbicpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmICggY3VycmVudFNlbGVjdGlvbiAmJiBjdXJyZW50U2VsZWN0aW9uLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0TW9yZURhdGFab25lZChldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0YVNuYXBzaG90Lmhhc01vcmVEYXRhU25hcHNob3QpIHtcblxuICAgICAgaWYgKHRoaXMuZGF0YVNuYXBzaG90LnNuYXBzaG90LmlzTG9hZGluZykge1xuICAgICAgICB0aGlzLmxvYWROZXh0UXVldWVkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGF0YVNuYXBzaG90LmxvYWRNb3JlKClcbiAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgbG9hZGVkID0+IHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMubG9hZE5leHRRdWV1ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWROZXh0UXVldWVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXF1ZXN0TW9yZURhdGFab25lZChldmVudCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvYWROZXh0UXVldWVkID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCB0cmFja0J5Rm4oKTogVHJhY2tCeUZ1bmN0aW9uPGFueT4ge1xuICAgIHJldHVybiAoaW5kZXg6IG51bWJlciwgZW50aXR5OiBhbnkpID0+IGluZGV4O1xuICB9XG5cbiAgcHVibGljIHRyYWNrQnlJbmRleChpbmRleDogbnVtYmVyLCBpdGVtczogYW55W10pOiBhbnkge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVTb3J0KHNvcnQ6IFNvcnQpOiB2b2lkIHtcbiAgICBjb25zdCBkYyA9IHRoaXMuZGF0YUNvbnRleHQkLmdldFZhbHVlKCk7XG4gICAgaWYgKGRjKSB7XG4gICAgICBkYy5zb3J0LnJlcGxhY2VTb3J0cyhbc29ydF0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzaG93VGlsZSh0aWxlOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGlsZSAmJiAodGhpcy5oaWRkZW5GaWVsZCA/ICF0aWxlW3RoaXMuaGlkZGVuRmllbGRdIDogdHJ1ZSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBNZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHNjcm9sbFRvcCgpIHtcbiAgICB0aGlzLnZpcnR1YWxTY3JvbGxWaWV3UG9ydC5zY3JvbGxUb0luZGV4KDAsICdzbW9vdGgnKTtcbiAgfVxuXG4gIHByaXZhdGUgZ3JvdXBGb3JDb2x1bW5zKG5vZGVzOiBhbnlbXSwgY29sdW1uczogbnVtYmVyKTogYW55W11bXSB7XG5cbiAgICBjb25zdCByb3dzOiBhbnlbXVtdID0gW107XG5cbiAgICBjb25zdCByb3dDb3VudCA9IG5vZGVzLmxlbmd0aCAvIGNvbHVtbnM7XG5cbiAgICBmb3IgKGxldCByb3dJbmRleCA9IDA7IHJvd0luZGV4IDwgcm93Q291bnQ7IHJvd0luZGV4KyspIHtcbiAgICAgIGNvbnN0IHJvd1N0YXJ0SW5kZXggPSByb3dJbmRleCAqIGNvbHVtbnM7XG4gICAgICBjb25zdCByb3cgPSBub2Rlcy5zbGljZShyb3dTdGFydEluZGV4LCByb3dTdGFydEluZGV4ICsgY29sdW1ucyk7XG5cbiAgICAgIHdoaWxlIChyb3cubGVuZ3RoIDwgY29sdW1ucykge1xuICAgICAgICByb3cucHVzaChudWxsKTsgLy8gRmlsbCB1cCByZW1haW5pbmdcbiAgICAgIH1cbiAgICAgIHJvd3MucHVzaChyb3cpO1xuICAgIH1cblxuICAgIHJldHVybiByb3dzO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNwb25zaXZlQ29sdW1uKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgbGV0IHN0YXJ0ID0gMTtcbiAgICB0aGlzLnNpemVUb0NvbHVtbnMuZm9yRWFjaCgoY29scywgbXFBbGlhcykgPT4ge1xuICAgICAgaWYgKHRoaXMubWVkaWFPYnNlcnZlci5pc0FjdGl2ZShtcUFsaWFzKSkge1xuICAgICAgICBzdGFydCA9IGNvbHM7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMubWVkaWFPYnNlcnZlci5hc09ic2VydmFibGUoKS5waXBlKFxuICAgICAgZmlsdGVyKGNoYW5nZXMgPT4gY2hhbmdlcy5sZW5ndGggPiAwKSxcbiAgICAgIG1hcChjaGFuZ2VzID0+IHRoaXMuc2l6ZVRvQ29sdW1ucy5nZXQoY2hhbmdlc1swXS5tcUFsaWFzKSksXG4gICAgICBkZWJvdW5jZVRpbWUoMTUwKSxcbiAgICAgIHN0YXJ0V2l0aChzdGFydClcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdmlldy9ncmlkL2VsZGVyLWdyaWQvZWxkZXItZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUdMLFFBQVEsRUFDUixRQUFRLEVBQ1IsV0FBVyxFQUVYLFNBQVMsRUFDVCxnQkFBZ0IsRUFDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0UsT0FBTyxFQUF3Qyx3QkFBd0IsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBRWxJLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDakcsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxpQ0FBaUMs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bUNBR3RCLFlBQVksU0FBQyx5QkFBeUIsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQzsyQkErRXpFLEtBQUs7OEJBU0wsS0FBSzttQkFTTCxLQUFLOzBCQXFCTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBEaXJlY3RpdmUsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFNraXBTZWxmLFxuICBUZW1wbGF0ZVJlZixcbiAgVHJhY2tCeUZ1bmN0aW9uLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0lEYXRhQ29udGV4dCwgSURhdGFDb250ZXh0Q29udGludWFibGUsIGlzQ29udGludWFibGVEYXRhQ29udGV4dH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dCc7XG5pbXBvcnQge0Nka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQge1NlbGVjdGlvbk1vZGVsfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vc2VsZWN0aW9uL3NlbGVjdGlvbi1tb2RlbCc7XG5pbXBvcnQge01lZGlhT2JzZXJ2ZXJ9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2RhdGEvc29ydCc7XG5pbXBvcnQge0VMREVSX0RBVEFfVklFV30gZnJvbSAnLi4vLi4vYmFzZS9lbGRlci1kYXRhLXZpZXcnO1xuaW1wb3J0IHtFbGRlckRhdGFWaWV3U2VsZWN0aW9uTW9kZX0gZnJvbSAnLi4vLi4vLi4vc2VsZWN0L3BvcHVwL3NlbGVjdGlvbi1tb2RlbC1wb3B1cC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtFbGRlckRhdGFWaWV3QmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vYmFzZS9lbGRlci1kYXRhLXZpZXctYmFzZSc7XG5pbXBvcnQge01hdFBhZ2luYXRvcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7TWF0VGFibGVEYXRhQ29udGV4dEJpbmRpbmdCdWlsZGVyfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vZGF0YS9kYXRhLWNvbnRleHQvbWF0LXRhYmxlLWRhdGEtY29udGV4dC1iaW5kaW5nJztcblxuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICdbZWxkZXJHcmlkVGlsZV0nfSlcbmV4cG9ydCBjbGFzcyBFbGRlckdyaWRUaWxlRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHB1YmxpYyB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIGRpcmVjdGl2ZSBwcm9qZWN0cyBtYXJrZWQgY29udGVudCBpbnRvIGEgdG9vbGJhci5cbiAqL1xuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICdbZWxkZXJHcmlkVG9vbGJhcl0nfSlcbmV4cG9ydCBjbGFzcyBFbGRlckdyaWRUb29sYmFyRGlyZWN0aXZlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgcHVibGljIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWZcbiAgKSB7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItZ3JpZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGRlci1ncmlkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItZ3JpZC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogRUxERVJfREFUQV9WSUVXLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRWxkZXJHcmlkQ29tcG9uZW50KVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckdyaWRDb21wb25lbnQgZXh0ZW5kcyBFbGRlckRhdGFWaWV3QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSBfY29sdW1uQ291bnQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oNCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzaXplVG9Db2x1bW5zID0gbmV3IE1hcChbXG4gICAgWyd4cycsIDFdLFxuICAgIFsnc20nLCAyXSxcbiAgICBbJ21kJywgM10sXG4gICAgWydsZycsIDRdLFxuICAgIFsneGwnLCA1XVxuICBdKTtcblxuICAvKipcbiAgICogTG9hZCBuZXh0IGNodW5rIGFmdGVyIGN1cnJlbnQgaXMgZG9uZVxuICAgKi9cbiAgcHJpdmF0ZSBsb2FkTmV4dFF1ZXVlZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBkYXRhUm93cyQ6IE9ic2VydmFibGU8YW55W11bXT47XG5cbiAgcHVibGljIGNhbkxvYWRNb3JlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcHVibGljIHRvdGFsJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gIEBDb250ZW50Q2hpbGQoRWxkZXJHcmlkVGlsZURpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWV9KVxuICBwdWJsaWMgdGlsZVRlbXBsYXRlUXVlcnk6IFRlbXBsYXRlUmVmPGFueT47XG4gIHByaXZhdGUgX3RpbGVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdG9vbGJhclZpc2libGUgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmb290ZXJWaXNpYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXRlbUhlaWdodCA9IDI1MDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVzcG9uc2l2ZUNvbHVtbkNvdW50ID0gdHJ1ZTtcblxuICBAVmlld0NoaWxkKCd2aXJ0dWFsU2Nyb2xsVmlld1BvcnQnLCB7c3RhdGljOiB0cnVlfSlcbiAgcHVibGljIHZpcnR1YWxTY3JvbGxWaWV3UG9ydDogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhdmFpbGFibGVTb3J0czogc3RyaW5nW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc29ydFRyYW5zbGF0aW9uUHJlZml4ID0gJ2RvY3VtZW50cy5zb3J0cy4nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoaWRkZW5GaWVsZDogc3RyaW5nID0gbnVsbDtcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgTm8gbG9uZ2VyIHJlcXVpcmVkLiBJZCBpcyBhdXRvbWF0aWNhbGx5IHBpY2tlZCBmcm9tIHRoZSBEYXRhU291cmNlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGlkRmllbGQgPSAnaWQnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZWxlY3Rpb25WaXNpYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZVNpemVPcHRpb25zID0gWzMwLCA1MCwgMTAwLCAxNTAsIDIwMF07XG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yKVxuICBwdWJsaWMgbWF0UGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XG5cbiAgQENvbnRlbnRDaGlsZChFbGRlckdyaWRUb29sYmFyRGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZX0pXG4gIHB1YmxpYyB0b29sYmFyVGVtcGxhdGVRdWVyeTogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHJpdmF0ZSBfdG9vbGJhclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIHNlbGVjdGlvbk1vZGVsOiBTZWxlY3Rpb25Nb2RlbDxhbnk+LFxuICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIGRhdGFWaWV3U2VsZWN0aW9uOiBFbGRlckRhdGFWaWV3U2VsZWN0aW9uTW9kZSxcbiAgICBwcml2YXRlIG1lZGlhT2JzZXJ2ZXI6IE1lZGlhT2JzZXJ2ZXJcbiAgKSB7XG4gICAgc3VwZXIoc2VsZWN0aW9uTW9kZWwsIGRhdGFWaWV3U2VsZWN0aW9uKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlY3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICAgIGNvbnN0IGNvbHVtbkNvdW50JCA9IChcbiAgICAgIHRoaXMucmVzcG9uc2l2ZUNvbHVtbkNvdW50XG4gICAgICAgID8gdGhpcy5yZXNwb25zaXZlQ29sdW1uKClcbiAgICAgICAgOiB0aGlzLl9jb2x1bW5Db3VudCk7XG5cbiAgICB0aGlzLmRhdGFSb3dzJCA9IGNvbWJpbmVMYXRlc3QoXG4gICAgICBbXG4gICAgICAgIHRoaXMuZGF0YUNvbnRleHQkLnBpcGUoXG4gICAgICAgICAgZmlsdGVyKGRjID0+ICEhZGMpLFxuICAgICAgICAgIHN3aXRjaE1hcChkYyA9PiBkYy5kYXRhKVxuICAgICAgICApLFxuICAgICAgICBjb2x1bW5Db3VudCRcbiAgICAgIF0pLnBpcGUoXG4gICAgICBkZWJvdW5jZVRpbWUoNTApLFxuICAgICAgbWFwKFxuICAgICAgICAoW2RhdGEsIGNvbHVtbnNdKSA9PiB0aGlzLmdyb3VwRm9yQ29sdW1ucyhkYXRhLCBjb2x1bW5zKVxuICAgICAgKVxuICAgICk7XG5cbiAgICBpZiAodGhpcy5kYXRhVmlld1NlbGVjdGlvbikge1xuICAgICAgdGhpcy5zZWxlY3Rpb25WaXNpYmxlID0gdHJ1ZTtcbiAgICAgIHRoaXMuc2VsZWN0aW9uTXVsdGlFbmFibGVkID0gZmFsc2U7XG4gICAgICB0aGlzLmZsb2F0ID0gZmFsc2U7XG5cbiAgICAgIGNvbnN0IGRhdGFDb250ZXh0ID0gdGhpcy5kYXRhQ29udGV4dCQuZ2V0VmFsdWUoKTtcbiAgICAgIGlmIChkYXRhQ29udGV4dCkge1xuICAgICAgICBkYXRhQ29udGV4dC5maWx0ZXIudXBkYXRlRmlsdGVycyh0aGlzLmRhdGFWaWV3U2VsZWN0aW9uLmZpbHRlcnMpO1xuICAgICAgICBkYXRhQ29udGV4dC5zb3J0LnVwZGF0ZVNvcnRzKHRoaXMuZGF0YVZpZXdTZWxlY3Rpb24uc29ydHMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG5cbiAgICBNYXRUYWJsZURhdGFDb250ZXh0QmluZGluZ0J1aWxkZXJcbiAgICAgIC5zdGFydCh0aGlzLmRhdGFDb250ZXh0JClcbiAgICAgIC53aXRoUGFnaW5hdG9yKG9mKHRoaXMubWF0UGFnaW5hdG9yKSlcbiAgICAgIC5iaW5kVW50aWwodGhpcy5kZXN0cm95JCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0aWxlVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLl90aWxlVGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGlsZVRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl90aWxlVGVtcGxhdGUgfHwgdGhpcy50aWxlVGVtcGxhdGVRdWVyeTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdG9vbGJhclRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5fdG9vbGJhclRlbXBsYXRlID0gdGVtcGxhdGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRvb2xiYXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fdG9vbGJhclRlbXBsYXRlIHx8IHRoaXMudG9vbGJhclRlbXBsYXRlUXVlcnk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRhdGEoZGF0YTogSURhdGFDb250ZXh0PGFueT4pIHtcbiAgICB0aGlzLmRhdGFDb250ZXh0JC5uZXh0KGRhdGEpO1xuXG4gICAgdGhpcy50b3RhbCQgPSBkYXRhLnRvdGFsLnBpcGUoXG4gICAgICBtYXAodG90YWwgPT4gdG90YWwgPyB0b3RhbCArICcnIDogJ+KInicpXG4gICAgKTtcblxuICAgIGlmIChpc0NvbnRpbnVhYmxlRGF0YUNvbnRleHQoZGF0YSkpIHtcbiAgICAgIHRoaXMuY2FuTG9hZE1vcmUkID0gY29tYmluZUxhdGVzdChbZGF0YS5sb2FkaW5nLCBkYXRhLmhhc01vcmVEYXRhXSkucGlwZShcbiAgICAgICAgbWFwKChbbG9hZGluZywgaGFzTW9yZURhdGFdKSA9PiAhbG9hZGluZyAmJiBoYXNNb3JlRGF0YSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2FuTG9hZE1vcmUkID0gb2YoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0YVNuYXBzaG90KCk6IElEYXRhQ29udGV4dENvbnRpbnVhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFDb250aW51YWJsZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY29sdW1uQ291bnQoY291bnQ6IG51bWJlcikge1xuICAgIHRoaXMuX2NvbHVtbkNvdW50Lm5leHQoY291bnQpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb2x1bW5Db3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9jb2x1bW5Db3VudC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGluU2VsZWN0aW9uTW9kZShjdXJyZW50U2VsZWN0aW9uOiBhbnlbXSk6IGJvb2xlYW4ge1xuXG4gICAgaWYgKHRoaXMuaW50ZXJhY3Rpb25Nb2RlID09PSAnc2VsZWN0aW9uJykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGN1cnJlbnRTZWxlY3Rpb24gJiYgY3VycmVudFNlbGVjdGlvbi5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdE1vcmVEYXRhWm9uZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGFTbmFwc2hvdC5oYXNNb3JlRGF0YVNuYXBzaG90KSB7XG5cbiAgICAgIGlmICh0aGlzLmRhdGFTbmFwc2hvdC5zbmFwc2hvdC5pc0xvYWRpbmcpIHtcbiAgICAgICAgdGhpcy5sb2FkTmV4dFF1ZXVlZCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRhdGFTbmFwc2hvdC5sb2FkTW9yZSgpXG4gICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgIGxvYWRlZCA9PiB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLmxvYWROZXh0UXVldWVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkTmV4dFF1ZXVlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMucmVxdWVzdE1vcmVEYXRhWm9uZWQoZXZlbnQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2FkTmV4dFF1ZXVlZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgdHJhY2tCeUZuKCk6IFRyYWNrQnlGdW5jdGlvbjxhbnk+IHtcbiAgICByZXR1cm4gKGluZGV4OiBudW1iZXIsIGVudGl0eTogYW55KSA9PiBpbmRleDtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja0J5SW5kZXgoaW5kZXg6IG51bWJlciwgaXRlbXM6IGFueVtdKTogYW55IHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlU29ydChzb3J0OiBTb3J0KTogdm9pZCB7XG4gICAgY29uc3QgZGMgPSB0aGlzLmRhdGFDb250ZXh0JC5nZXRWYWx1ZSgpO1xuICAgIGlmIChkYykge1xuICAgICAgZGMuc29ydC5yZXBsYWNlU29ydHMoW3NvcnRdKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2hvd1RpbGUodGlsZTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRpbGUgJiYgKHRoaXMuaGlkZGVuRmllbGQgPyAhdGlsZVt0aGlzLmhpZGRlbkZpZWxkXSA6IHRydWUpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBzY3JvbGxUb3AoKSB7XG4gICAgdGhpcy52aXJ0dWFsU2Nyb2xsVmlld1BvcnQuc2Nyb2xsVG9JbmRleCgwLCAnc21vb3RoJyk7XG4gIH1cblxuICBwcml2YXRlIGdyb3VwRm9yQ29sdW1ucyhub2RlczogYW55W10sIGNvbHVtbnM6IG51bWJlcik6IGFueVtdW10ge1xuXG4gICAgY29uc3Qgcm93czogYW55W11bXSA9IFtdO1xuXG4gICAgY29uc3Qgcm93Q291bnQgPSBub2Rlcy5sZW5ndGggLyBjb2x1bW5zO1xuXG4gICAgZm9yIChsZXQgcm93SW5kZXggPSAwOyByb3dJbmRleCA8IHJvd0NvdW50OyByb3dJbmRleCsrKSB7XG4gICAgICBjb25zdCByb3dTdGFydEluZGV4ID0gcm93SW5kZXggKiBjb2x1bW5zO1xuICAgICAgY29uc3Qgcm93ID0gbm9kZXMuc2xpY2Uocm93U3RhcnRJbmRleCwgcm93U3RhcnRJbmRleCArIGNvbHVtbnMpO1xuXG4gICAgICB3aGlsZSAocm93Lmxlbmd0aCA8IGNvbHVtbnMpIHtcbiAgICAgICAgcm93LnB1c2gobnVsbCk7IC8vIEZpbGwgdXAgcmVtYWluaW5nXG4gICAgICB9XG4gICAgICByb3dzLnB1c2gocm93KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcm93cztcbiAgfVxuXG4gIHByaXZhdGUgcmVzcG9uc2l2ZUNvbHVtbigpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIGxldCBzdGFydCA9IDE7XG4gICAgdGhpcy5zaXplVG9Db2x1bW5zLmZvckVhY2goKGNvbHMsIG1xQWxpYXMpID0+IHtcbiAgICAgIGlmICh0aGlzLm1lZGlhT2JzZXJ2ZXIuaXNBY3RpdmUobXFBbGlhcykpIHtcbiAgICAgICAgc3RhcnQgPSBjb2xzO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLm1lZGlhT2JzZXJ2ZXIuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgIGZpbHRlcihjaGFuZ2VzID0+IGNoYW5nZXMubGVuZ3RoID4gMCksXG4gICAgICBtYXAoY2hhbmdlcyA9PiB0aGlzLnNpemVUb0NvbHVtbnMuZ2V0KGNoYW5nZXNbMF0ubXFBbGlhcykpLFxuICAgICAgZGVib3VuY2VUaW1lKDE1MCksXG4gICAgICBzdGFydFdpdGgoc3RhcnQpXG4gICAgKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -16,6 +16,7 @@ import { TranslateModule } from '@ngx-translate/core';
|
|
|
16
16
|
import { ElderInfiniteScrollModule } from '../../infinitescroll/elder-infinite-scroll.module';
|
|
17
17
|
import { ElderFormsDirectivesModule } from '../../forms/directives/elder-forms-directives.module';
|
|
18
18
|
import { ElderDataCommonModule } from '../common/elder-data-common.module';
|
|
19
|
+
import { MatPaginatorModule } from '@angular/material/paginator';
|
|
19
20
|
export { ElderGridTileDirective, ElderGridToolbarDirective, ElderGridComponent } from './elder-grid/elder-grid.component';
|
|
20
21
|
export class ElderGridModule {
|
|
21
22
|
}
|
|
@@ -34,7 +35,7 @@ ElderGridModule.decorators = [
|
|
|
34
35
|
TranslateModule,
|
|
35
36
|
ElderDataCommonModule,
|
|
36
37
|
ElderInfiniteScrollModule,
|
|
37
|
-
ElderFormsDirectivesModule
|
|
38
|
+
ElderFormsDirectivesModule, MatPaginatorModule
|
|
38
39
|
],
|
|
39
40
|
declarations: [
|
|
40
41
|
ElderGridComponent,
|
|
@@ -48,4 +49,4 @@ ElderGridModule.decorators = [
|
|
|
48
49
|
]
|
|
49
50
|
},] }
|
|
50
51
|
];
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZ3JpZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdmlldy9ncmlkL2VsZGVyLWdyaWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSx5QkFBeUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hILE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzVGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRS9ELE9BQU8sRUFBQyxzQkFBc0IsRUFBRSx5QkFBeUIsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBbUN4SCxNQUFNLE9BQU8sZUFBZTs7O1lBakMzQixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBRVosZUFBZTtvQkFDZixvQkFBb0I7b0JBQ3BCLGFBQWE7b0JBQ2IsVUFBVTtvQkFFVixnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsZUFBZTtvQkFDaEQsZUFBZSxFQUFFLGNBQWM7b0JBRS9CLGVBQWU7b0JBRWYsZ0JBQWdCO29CQUVoQixlQUFlO29CQUVmLHFCQUFxQjtvQkFDckIseUJBQXlCO29CQUN6QiwwQkFBMEIsRUFBRSxrQkFBa0I7aUJBQy9DO2dCQUNELFlBQVksRUFBRTtvQkFDWixrQkFBa0I7b0JBQ2xCLHNCQUFzQjtvQkFDdEIseUJBQXlCO2lCQUMxQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1Asa0JBQWtCO29CQUNsQixzQkFBc0I7b0JBQ3RCLHlCQUF5QjtpQkFDMUI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0VsZGVyR3JpZENvbXBvbmVudCwgRWxkZXJHcmlkVGlsZURpcmVjdGl2ZSwgRWxkZXJHcmlkVG9vbGJhckRpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1ncmlkL2VsZGVyLWdyaWQuY29tcG9uZW50JztcbmltcG9ydCB7TWF0QnV0dG9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHtNYXRDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtNYXREaXZpZGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQge01hdE1lbnVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHtNYXRQcm9ncmVzc0Jhck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7TWF0U2VsZWN0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHtBMTF5TW9kdWxlfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge0RyYWdEcm9wTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7U2Nyb2xsaW5nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7RmxleExheW91dE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtFbGRlckluZmluaXRlU2Nyb2xsTW9kdWxlfSBmcm9tICcuLi8uLi9pbmZpbml0ZXNjcm9sbC9lbGRlci1pbmZpbml0ZS1zY3JvbGwubW9kdWxlJztcbmltcG9ydCB7RWxkZXJGb3Jtc0RpcmVjdGl2ZXNNb2R1bGV9IGZyb20gJy4uLy4uL2Zvcm1zL2RpcmVjdGl2ZXMvZWxkZXItZm9ybXMtZGlyZWN0aXZlcy5tb2R1bGUnO1xuaW1wb3J0IHtFbGRlckRhdGFDb21tb25Nb2R1bGV9IGZyb20gJy4uL2NvbW1vbi9lbGRlci1kYXRhLWNvbW1vbi5tb2R1bGUnO1xuaW1wb3J0IHtNYXRQYWdpbmF0b3JNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5cbmV4cG9ydCB7RWxkZXJHcmlkVGlsZURpcmVjdGl2ZSwgRWxkZXJHcmlkVG9vbGJhckRpcmVjdGl2ZSwgRWxkZXJHcmlkQ29tcG9uZW50fSBmcm9tICcuL2VsZGVyLWdyaWQvZWxkZXItZ3JpZC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuXG4gICAgTWF0Q29tbW9uTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgQTExeU1vZHVsZSxcblxuICAgIE1hdERpdmlkZXJNb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsIERyYWdEcm9wTW9kdWxlLFxuXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxuXG4gICAgRmxleExheW91dE1vZHVsZSxcblxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcblxuICAgIEVsZGVyRGF0YUNvbW1vbk1vZHVsZSxcbiAgICBFbGRlckluZmluaXRlU2Nyb2xsTW9kdWxlLFxuICAgIEVsZGVyRm9ybXNEaXJlY3RpdmVzTW9kdWxlLCBNYXRQYWdpbmF0b3JNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRWxkZXJHcmlkQ29tcG9uZW50LFxuICAgIEVsZGVyR3JpZFRpbGVEaXJlY3RpdmUsXG4gICAgRWxkZXJHcmlkVG9vbGJhckRpcmVjdGl2ZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRWxkZXJHcmlkQ29tcG9uZW50LFxuICAgIEVsZGVyR3JpZFRpbGVEaXJlY3RpdmUsXG4gICAgRWxkZXJHcmlkVG9vbGJhckRpcmVjdGl2ZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyR3JpZE1vZHVsZSB7XG59XG4iXX0=
|