@one-paragon/angular-utilities 0.1.32-beta → 0.1.32
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/action-state/action-state-spinner/action-state-spinner.component.d.ts +12 -12
- package/action-state/action-state-ui/action-state-ui.module.d.ts +9 -9
- package/action-state/index.d.ts +4 -4
- package/action-state/ngrx-ext/ngrx-ext.module.d.ts +8 -8
- package/action-state/ngrx.d.ts +31 -31
- package/esm2020/action-state/action-state-spinner/action-state-spinner.component.mjs +23 -23
- package/esm2020/action-state/action-state-ui/action-state-ui.module.mjs +28 -28
- package/esm2020/action-state/index.mjs +8 -8
- package/esm2020/action-state/ngrx-ext/ngrx-ext.module.mjs +23 -23
- package/esm2020/action-state/ngrx.mjs +42 -42
- package/esm2020/http-request-state/HttpRequestStateFactory.mjs +26 -26
- package/esm2020/http-request-state/HttpRequestStateStore.mjs +96 -96
- package/esm2020/http-request-state/directives/HttpStateDirectiveBase.mjs +33 -33
- package/esm2020/http-request-state/directives/http-error-state-directive.mjs +28 -28
- package/esm2020/http-request-state/directives/http-inProgress-state-directive.mjs +28 -28
- package/esm2020/http-request-state/directives/http-notStarted-state-directive.mjs +28 -28
- package/esm2020/http-request-state/directives/http-success-state-directive.mjs +33 -33
- package/esm2020/http-request-state/directives/index.mjs +5 -5
- package/esm2020/http-request-state/directives/request-state-directive.mjs +59 -59
- package/esm2020/http-request-state/helpers.mjs +21 -21
- package/esm2020/http-request-state/http-request-state.mjs +38 -38
- package/esm2020/http-request-state/http-state-module.mjs +40 -40
- package/esm2020/http-request-state/index.mjs +6 -6
- package/esm2020/http-request-state/rxjs/getRequestorBody.mjs +3 -3
- package/esm2020/http-request-state/rxjs/getRequestorState.mjs +2 -2
- package/esm2020/http-request-state/rxjs/index.mjs +4 -4
- package/esm2020/http-request-state/rxjs/tapError.mjs +11 -11
- package/esm2020/http-request-state/rxjs/tapSuccess.mjs +11 -11
- package/esm2020/http-request-state/types.mjs +15 -15
- package/esm2020/ngrx/actionable-selector.mjs +75 -75
- package/esm2020/ngrx/index.mjs +1 -1
- package/esm2020/one-paragon-angular-utilities.mjs +4 -4
- package/esm2020/public-api.mjs +19 -19
- package/esm2020/rxjs/defaultShareReplay.mjs +6 -6
- package/esm2020/rxjs/index.mjs +5 -5
- package/esm2020/rxjs/mapError.mjs +7 -7
- package/esm2020/rxjs/rxjs-operators.mjs +91 -91
- package/esm2020/rxjs/subjectifier.mjs +15 -15
- package/esm2020/table-builder/classes/DefaultSettings.mjs +6 -6
- package/esm2020/table-builder/classes/GenericTableDataSource.mjs +13 -13
- package/esm2020/table-builder/classes/MatTableObservableDataSource.mjs +21 -41
- package/esm2020/table-builder/classes/TableBuilderConfig.mjs +3 -3
- package/esm2020/table-builder/classes/TableState.mjs +31 -31
- package/esm2020/table-builder/classes/data-filter.mjs +26 -26
- package/esm2020/table-builder/classes/display-col.mjs +1 -1
- package/esm2020/table-builder/classes/filter-info.mjs +73 -73
- package/esm2020/table-builder/classes/table-builder-general-settings.mjs +67 -67
- package/esm2020/table-builder/classes/table-builder.mjs +76 -76
- package/esm2020/table-builder/classes/table-store.mjs +292 -292
- package/esm2020/table-builder/components/array-column.component.mjs +32 -32
- package/esm2020/table-builder/components/column-builder/column-builder.component.mjs +112 -112
- package/esm2020/table-builder/components/date-filter/date-filter.component.mjs +25 -25
- package/esm2020/table-builder/components/date-time-filter/date-time-filter.component.mjs +22 -22
- package/esm2020/table-builder/components/filter/filter.component.mjs +54 -54
- package/esm2020/table-builder/components/filter/in-list/in-list-filter.component.mjs +79 -79
- package/esm2020/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +45 -45
- package/esm2020/table-builder/components/generic-table/generic-table.component.mjs +202 -204
- package/esm2020/table-builder/components/generic-table/paginator.component.mjs +60 -60
- package/esm2020/table-builder/components/group-by-list/group-by-list.component.mjs +22 -22
- package/esm2020/table-builder/components/header-menu/header-menu.component.mjs +90 -90
- package/esm2020/table-builder/components/in-filter/in-filter.component.mjs +63 -63
- package/esm2020/table-builder/components/index.mjs +10 -10
- package/esm2020/table-builder/components/initialization-component/initialization-component.mjs +33 -33
- package/esm2020/table-builder/components/link-column.component.mjs +30 -30
- package/esm2020/table-builder/components/number-filter/number-filter.component.mjs +26 -26
- package/esm2020/table-builder/components/sort-menu/sort-menu.component-store.mjs +41 -41
- package/esm2020/table-builder/components/sort-menu/sort-menu.component.mjs +75 -75
- package/esm2020/table-builder/components/table-container/table-container.mjs +322 -322
- package/esm2020/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +42 -42
- package/esm2020/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +30 -30
- package/esm2020/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +24 -24
- package/esm2020/table-builder/directives/custom-cell-directive.mjs +58 -58
- package/esm2020/table-builder/directives/index.mjs +6 -6
- package/esm2020/table-builder/directives/multi-sort.directive.mjs +42 -42
- package/esm2020/table-builder/directives/resize-column.directive.mjs +85 -85
- package/esm2020/table-builder/directives/table-wrapper.directive.mjs +26 -26
- package/esm2020/table-builder/directives/tb-filter.directive.mjs +403 -403
- package/esm2020/table-builder/enums/filterTypes.mjs +72 -72
- package/esm2020/table-builder/functions/boolean-filter-function.mjs +9 -9
- package/esm2020/table-builder/functions/date-filter-function.mjs +58 -58
- package/esm2020/table-builder/functions/download-data.mjs +11 -11
- package/esm2020/table-builder/functions/null-filter-function.mjs +7 -7
- package/esm2020/table-builder/functions/number-filter-function.mjs +31 -31
- package/esm2020/table-builder/functions/sort-data-function.mjs +4 -4
- package/esm2020/table-builder/functions/string-filter-function.mjs +40 -40
- package/esm2020/table-builder/interfaces/ColumnInfo.mjs +1 -1
- package/esm2020/table-builder/interfaces/dictionary.mjs +1 -1
- package/esm2020/table-builder/interfaces/report-def.mjs +35 -35
- package/esm2020/table-builder/material.module.mjs +207 -207
- package/esm2020/table-builder/ngrx/actions.mjs +4 -4
- package/esm2020/table-builder/ngrx/effects.mjs +47 -47
- package/esm2020/table-builder/ngrx/reducer.mjs +51 -51
- package/esm2020/table-builder/ngrx/selectors.mjs +23 -23
- package/esm2020/table-builder/pipes/column-total.pipe.mjs +19 -19
- package/esm2020/table-builder/pipes/format-filter-type.pipe.mjs +17 -17
- package/esm2020/table-builder/pipes/format-filter-value.pipe.mjs +45 -45
- package/esm2020/table-builder/pipes/key-display.mjs +19 -19
- package/esm2020/table-builder/services/export-to-csv.service.mjs +88 -88
- package/esm2020/table-builder/services/link-creator.service.mjs +42 -42
- package/esm2020/table-builder/services/table-template-service.mjs +44 -44
- package/esm2020/table-builder/services/transform-creator.mjs +75 -75
- package/esm2020/table-builder/table-builder.module.mjs +207 -215
- package/esm2020/utilities/directives/auto-focus.directive.mjs +25 -25
- package/esm2020/utilities/directives/clickEmitterDirective.mjs +20 -20
- package/esm2020/utilities/directives/clickSubject.mjs +26 -26
- package/esm2020/utilities/directives/conditional-classes.directive.mjs +35 -35
- package/esm2020/utilities/directives/dialog-service.mjs +25 -25
- package/esm2020/utilities/directives/dialog.mjs +137 -137
- package/esm2020/utilities/directives/mat-toggle-group-directive.mjs +59 -59
- package/esm2020/utilities/directives/prevent-enter.directive.mjs +18 -18
- package/esm2020/utilities/directives/stop-propagation.directive.mjs +24 -24
- package/esm2020/utilities/directives/styler.mjs +25 -25
- package/esm2020/utilities/directives/trim-whitespace.directive.mjs +29 -29
- package/esm2020/utilities/index.mjs +16 -16
- package/esm2020/utilities/module.mjs +91 -91
- package/esm2020/utilities/pipes/function.pipe.mjs +20 -20
- package/esm2020/utilities/pipes/phone.pipe.mjs +19 -19
- package/esm2020/utilities/pipes/space-case.pipes.mjs +28 -28
- package/fesm2015/one-paragon-angular-utilities.mjs +4413 -4442
- package/fesm2015/one-paragon-angular-utilities.mjs.map +1 -1
- package/fesm2020/one-paragon-angular-utilities.mjs +4393 -4422
- package/fesm2020/one-paragon-angular-utilities.mjs.map +1 -1
- package/http-request-state/HttpRequestStateFactory.d.ts +14 -14
- package/http-request-state/HttpRequestStateStore.d.ts +48 -48
- package/http-request-state/directives/HttpStateDirectiveBase.d.ts +16 -16
- package/http-request-state/directives/http-error-state-directive.d.ts +12 -12
- package/http-request-state/directives/http-inProgress-state-directive.d.ts +12 -12
- package/http-request-state/directives/http-notStarted-state-directive.d.ts +12 -12
- package/http-request-state/directives/http-success-state-directive.d.ts +21 -21
- package/http-request-state/directives/index.d.ts +5 -5
- package/http-request-state/directives/request-state-directive.d.ts +35 -35
- package/http-request-state/helpers.d.ts +9 -9
- package/http-request-state/http-request-state.d.ts +12 -12
- package/http-request-state/http-state-module.d.ts +11 -11
- package/http-request-state/index.d.ts +6 -6
- package/http-request-state/rxjs/getRequestorBody.d.ts +3 -3
- package/http-request-state/rxjs/getRequestorState.d.ts +3 -3
- package/http-request-state/rxjs/index.d.ts +4 -4
- package/http-request-state/rxjs/tapError.d.ts +3 -3
- package/http-request-state/rxjs/tapSuccess.d.ts +3 -3
- package/http-request-state/types.d.ts +36 -36
- package/index.d.ts +5 -5
- package/ngrx/actionable-selector.d.ts +15 -15
- package/ngrx/index.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +15 -15
- package/rxjs/defaultShareReplay.d.ts +2 -2
- package/rxjs/index.d.ts +4 -4
- package/rxjs/mapError.d.ts +2 -2
- package/rxjs/rxjs-operators.d.ts +12 -12
- package/rxjs/subjectifier.d.ts +9 -9
- package/table-builder/classes/DefaultSettings.d.ts +9 -9
- package/table-builder/classes/GenericTableDataSource.d.ts +8 -8
- package/table-builder/classes/MatTableObservableDataSource.d.ts +9 -17
- package/table-builder/classes/TableBuilderConfig.d.ts +20 -20
- package/table-builder/classes/TableState.d.ts +46 -46
- package/table-builder/classes/data-filter.d.ts +9 -9
- package/table-builder/classes/display-col.d.ts +5 -5
- package/table-builder/classes/filter-info.d.ts +40 -40
- package/table-builder/classes/table-builder-general-settings.d.ts +43 -43
- package/table-builder/classes/table-builder.d.ts +14 -14
- package/table-builder/classes/table-store.d.ts +114 -114
- package/table-builder/components/array-column.component.d.ts +14 -14
- package/table-builder/components/column-builder/column-builder.component.d.ts +50 -50
- package/table-builder/components/date-filter/date-filter.component.d.ts +10 -10
- package/table-builder/components/date-time-filter/date-time-filter.component.d.ts +10 -10
- package/table-builder/components/filter/filter.component.d.ts +371 -371
- package/table-builder/components/filter/in-list/in-list-filter.component.d.ts +27 -27
- package/table-builder/components/gen-col-displayer/gen-col-displayer.component.d.ts +16 -16
- package/table-builder/components/generic-table/generic-table.component.d.ts +73 -73
- package/table-builder/components/generic-table/paginator.component.d.ts +28 -28
- package/table-builder/components/group-by-list/group-by-list.component.d.ts +10 -10
- package/table-builder/components/header-menu/header-menu.component.d.ts +25 -25
- package/table-builder/components/in-filter/in-filter.component.d.ts +21 -21
- package/table-builder/components/index.d.ts +9 -9
- package/table-builder/components/initialization-component/initialization-component.d.ts +12 -12
- package/table-builder/components/link-column.component.d.ts +17 -17
- package/table-builder/components/number-filter/number-filter.component.d.ts +12 -12
- package/table-builder/components/sort-menu/sort-menu.component-store.d.ts +24 -24
- package/table-builder/components/sort-menu/sort-menu.component.d.ts +25 -25
- package/table-builder/components/table-container/table-container.d.ts +68 -68
- package/table-builder/components/table-container-filter/filter-list/filter-list.component.d.ts +17 -17
- package/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.d.ts +14 -14
- package/table-builder/components/table-container-filter/table-wrapper-filter-store.d.ts +14 -14
- package/table-builder/directives/custom-cell-directive.d.ts +19 -19
- package/table-builder/directives/index.d.ts +5 -5
- package/table-builder/directives/multi-sort.directive.d.ts +11 -11
- package/table-builder/directives/resize-column.directive.d.ts +43 -43
- package/table-builder/directives/table-wrapper.directive.d.ts +11 -11
- package/table-builder/directives/tb-filter.directive.d.ts +120 -120
- package/table-builder/enums/filterTypes.d.ts +37 -37
- package/table-builder/functions/boolean-filter-function.d.ts +3 -3
- package/table-builder/functions/date-filter-function.d.ts +4 -4
- package/table-builder/functions/download-data.d.ts +1 -1
- package/table-builder/functions/null-filter-function.d.ts +2 -2
- package/table-builder/functions/number-filter-function.d.ts +4 -4
- package/table-builder/functions/sort-data-function.d.ts +3 -3
- package/table-builder/functions/string-filter-function.d.ts +7 -7
- package/table-builder/interfaces/ColumnInfo.d.ts +6 -6
- package/table-builder/interfaces/dictionary.d.ts +3 -3
- package/table-builder/interfaces/report-def.d.ts +142 -142
- package/table-builder/material.module.d.ts +32 -32
- package/table-builder/ngrx/actions.d.ts +23 -23
- package/table-builder/ngrx/effects.d.ts +19 -19
- package/table-builder/ngrx/reducer.d.ts +15 -15
- package/table-builder/ngrx/selectors.d.ts +22 -22
- package/table-builder/pipes/column-total.pipe.d.ts +8 -8
- package/table-builder/pipes/format-filter-type.pipe.d.ts +8 -8
- package/table-builder/pipes/format-filter-value.pipe.d.ts +14 -14
- package/table-builder/pipes/key-display.d.ts +11 -11
- package/table-builder/services/export-to-csv.service.d.ts +22 -22
- package/table-builder/services/link-creator.service.d.ts +12 -12
- package/table-builder/services/table-template-service.d.ts +14 -14
- package/table-builder/services/transform-creator.d.ts +19 -19
- package/table-builder/table-builder.module.d.ts +46 -48
- package/utilities/directives/auto-focus.directive.d.ts +10 -10
- package/utilities/directives/clickEmitterDirective.d.ts +7 -7
- package/utilities/directives/clickSubject.d.ts +9 -9
- package/utilities/directives/conditional-classes.directive.d.ts +14 -14
- package/utilities/directives/dialog-service.d.ts +10 -10
- package/utilities/directives/dialog.d.ts +46 -46
- package/utilities/directives/mat-toggle-group-directive.d.ts +21 -21
- package/utilities/directives/prevent-enter.directive.d.ts +6 -6
- package/utilities/directives/stop-propagation.directive.d.ts +7 -7
- package/utilities/directives/styler.d.ts +9 -9
- package/utilities/directives/trim-whitespace.directive.d.ts +9 -9
- package/utilities/index.d.ts +15 -15
- package/utilities/module.d.ts +19 -19
- package/utilities/pipes/function.pipe.d.ts +7 -7
- package/utilities/pipes/phone.pipe.d.ts +7 -7
- package/utilities/pipes/space-case.pipes.d.ts +17 -17
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import { FieldType } from '../../interfaces/report-def';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
import * as i2 from "@angular/forms";
|
|
7
|
-
import * as i3 from "../../../utilities/directives/auto-focus.directive";
|
|
8
|
-
export class InFilterComponent {
|
|
9
|
-
constructor(ref) {
|
|
10
|
-
this.ref = ref;
|
|
11
|
-
this.FieldType = FieldType;
|
|
12
|
-
this.value = [undefined];
|
|
13
|
-
this.onChange = (_) => { };
|
|
14
|
-
this.onTouched = () => { };
|
|
15
|
-
this.value = [undefined];
|
|
16
|
-
}
|
|
17
|
-
writeValue(obj) {
|
|
18
|
-
if (!obj?.length)
|
|
19
|
-
obj = [undefined];
|
|
20
|
-
this.value = obj;
|
|
21
|
-
this.ref.markForCheck();
|
|
22
|
-
}
|
|
23
|
-
registerOnChange(fn) {
|
|
24
|
-
this.onChange = fn;
|
|
25
|
-
}
|
|
26
|
-
registerOnTouched(fn) {
|
|
27
|
-
this.onTouched = fn;
|
|
28
|
-
}
|
|
29
|
-
addInput() {
|
|
30
|
-
this.value = [...this.value, undefined];
|
|
31
|
-
this.ref.markForCheck();
|
|
32
|
-
this.onChange(this.value);
|
|
33
|
-
}
|
|
34
|
-
removeInput(index) {
|
|
35
|
-
this.value = [...this.value];
|
|
36
|
-
this.value.splice(index, 1);
|
|
37
|
-
this.ref.markForCheck();
|
|
38
|
-
this.onChange(this.value);
|
|
39
|
-
}
|
|
40
|
-
onValueChange(i, value) {
|
|
41
|
-
this.value = [...this.value];
|
|
42
|
-
this.value[i] = value;
|
|
43
|
-
this.ref.markForCheck();
|
|
44
|
-
this.onChange(this.value);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
InFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: InFilterComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
-
InFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: InFilterComponent, selector: "lib-in-filter", inputs: { type: "type" }, providers: [{
|
|
49
|
-
provide: NG_VALUE_ACCESSOR,
|
|
50
|
-
useExisting: InFilterComponent,
|
|
51
|
-
multi: true
|
|
52
|
-
}], ngImport: i0, template: "<div class=inline>\n <div *ngFor=\"let val of value; index as i\">\n <input *ngIf=\"type === FieldType.Number || type === FieldType.Currency\"\n [ngModel]=\"val\" (ngModelChange)=\"onValueChange(i,$event)\"\n [readonly]=\"i+1 < value.length\" type=\"number\" [ngModelOptions]=\"{standalone:true}\" [autoFocus]=\"i === value.length - 1\"/>\n <input *ngIf=\"type !== FieldType.Number && type !== FieldType.Currency\"\n [ngModel]=\"val\" (ngModelChange)=\"onValueChange(i,$event)\"\n [readonly]=\"i+1 < value.length\" type=\"string\" [ngModelOptions]=\"{standalone:true}\"\n #input [autoFocus]=\"i === value.length - 1\" />\n <button [disabled]=\"value.length <= 1\" (click)=\"removeInput(i)\">-</button>\n <button *ngIf=\"i === value.length - 1\" [disabled]=\"val == undefined || val === ''\" (click)=\"addInput()\">+</button>\n </div>\n</div>\n", styles: [".inline{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.AutoFocusDirective, selector: "[autoFocus]", inputs: ["autoFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: InFilterComponent, decorators: [{
|
|
54
|
-
type: Component,
|
|
55
|
-
args: [{ selector: 'lib-in-filter', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{
|
|
56
|
-
provide: NG_VALUE_ACCESSOR,
|
|
57
|
-
useExisting: InFilterComponent,
|
|
58
|
-
multi: true
|
|
59
|
-
}], template: "<div class=inline>\n <div *ngFor=\"let val of value; index as i\">\n <input *ngIf=\"type === FieldType.Number || type === FieldType.Currency\"\n [ngModel]=\"val\" (ngModelChange)=\"onValueChange(i,$event)\"\n [readonly]=\"i+1 < value.length\" type=\"number\" [ngModelOptions]=\"{standalone:true}\" [autoFocus]=\"i === value.length - 1\"/>\n <input *ngIf=\"type !== FieldType.Number && type !== FieldType.Currency\"\n [ngModel]=\"val\" (ngModelChange)=\"onValueChange(i,$event)\"\n [readonly]=\"i+1 < value.length\" type=\"string\" [ngModelOptions]=\"{standalone:true}\"\n #input [autoFocus]=\"i === value.length - 1\" />\n <button [disabled]=\"value.length <= 1\" (click)=\"removeInput(i)\">-</button>\n <button *ngIf=\"i === value.length - 1\" [disabled]=\"val == undefined || val === ''\" (click)=\"addInput()\">+</button>\n </div>\n</div>\n", styles: [".inline{display:inline-block}\n"] }]
|
|
60
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { type: [{
|
|
61
|
-
type: Input
|
|
62
|
-
}] } });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { FieldType } from '../../interfaces/report-def';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/forms";
|
|
7
|
+
import * as i3 from "../../../utilities/directives/auto-focus.directive";
|
|
8
|
+
export class InFilterComponent {
|
|
9
|
+
constructor(ref) {
|
|
10
|
+
this.ref = ref;
|
|
11
|
+
this.FieldType = FieldType;
|
|
12
|
+
this.value = [undefined];
|
|
13
|
+
this.onChange = (_) => { };
|
|
14
|
+
this.onTouched = () => { };
|
|
15
|
+
this.value = [undefined];
|
|
16
|
+
}
|
|
17
|
+
writeValue(obj) {
|
|
18
|
+
if (!obj?.length)
|
|
19
|
+
obj = [undefined];
|
|
20
|
+
this.value = obj;
|
|
21
|
+
this.ref.markForCheck();
|
|
22
|
+
}
|
|
23
|
+
registerOnChange(fn) {
|
|
24
|
+
this.onChange = fn;
|
|
25
|
+
}
|
|
26
|
+
registerOnTouched(fn) {
|
|
27
|
+
this.onTouched = fn;
|
|
28
|
+
}
|
|
29
|
+
addInput() {
|
|
30
|
+
this.value = [...this.value, undefined];
|
|
31
|
+
this.ref.markForCheck();
|
|
32
|
+
this.onChange(this.value);
|
|
33
|
+
}
|
|
34
|
+
removeInput(index) {
|
|
35
|
+
this.value = [...this.value];
|
|
36
|
+
this.value.splice(index, 1);
|
|
37
|
+
this.ref.markForCheck();
|
|
38
|
+
this.onChange(this.value);
|
|
39
|
+
}
|
|
40
|
+
onValueChange(i, value) {
|
|
41
|
+
this.value = [...this.value];
|
|
42
|
+
this.value[i] = value;
|
|
43
|
+
this.ref.markForCheck();
|
|
44
|
+
this.onChange(this.value);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
InFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: InFilterComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
+
InFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: InFilterComponent, selector: "lib-in-filter", inputs: { type: "type" }, providers: [{
|
|
49
|
+
provide: NG_VALUE_ACCESSOR,
|
|
50
|
+
useExisting: InFilterComponent,
|
|
51
|
+
multi: true
|
|
52
|
+
}], ngImport: i0, template: "<div class=inline>\n <div *ngFor=\"let val of value; index as i\">\n <input *ngIf=\"type === FieldType.Number || type === FieldType.Currency\"\n [ngModel]=\"val\" (ngModelChange)=\"onValueChange(i,$event)\"\n [readonly]=\"i+1 < value.length\" type=\"number\" [ngModelOptions]=\"{standalone:true}\" [autoFocus]=\"i === value.length - 1\"/>\n <input *ngIf=\"type !== FieldType.Number && type !== FieldType.Currency\"\n [ngModel]=\"val\" (ngModelChange)=\"onValueChange(i,$event)\"\n [readonly]=\"i+1 < value.length\" type=\"string\" [ngModelOptions]=\"{standalone:true}\"\n #input [autoFocus]=\"i === value.length - 1\" />\n <button [disabled]=\"value.length <= 1\" (click)=\"removeInput(i)\">-</button>\n <button *ngIf=\"i === value.length - 1\" [disabled]=\"val == undefined || val === ''\" (click)=\"addInput()\">+</button>\n </div>\n</div>\n", styles: [".inline{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.AutoFocusDirective, selector: "[autoFocus]", inputs: ["autoFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: InFilterComponent, decorators: [{
|
|
54
|
+
type: Component,
|
|
55
|
+
args: [{ selector: 'lib-in-filter', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{
|
|
56
|
+
provide: NG_VALUE_ACCESSOR,
|
|
57
|
+
useExisting: InFilterComponent,
|
|
58
|
+
multi: true
|
|
59
|
+
}], template: "<div class=inline>\n <div *ngFor=\"let val of value; index as i\">\n <input *ngIf=\"type === FieldType.Number || type === FieldType.Currency\"\n [ngModel]=\"val\" (ngModelChange)=\"onValueChange(i,$event)\"\n [readonly]=\"i+1 < value.length\" type=\"number\" [ngModelOptions]=\"{standalone:true}\" [autoFocus]=\"i === value.length - 1\"/>\n <input *ngIf=\"type !== FieldType.Number && type !== FieldType.Currency\"\n [ngModel]=\"val\" (ngModelChange)=\"onValueChange(i,$event)\"\n [readonly]=\"i+1 < value.length\" type=\"string\" [ngModelOptions]=\"{standalone:true}\"\n #input [autoFocus]=\"i === value.length - 1\" />\n <button [disabled]=\"value.length <= 1\" (click)=\"removeInput(i)\">-</button>\n <button *ngIf=\"i === value.length - 1\" [disabled]=\"val == undefined || val === ''\" (click)=\"addInput()\">+</button>\n </div>\n</div>\n", styles: [".inline{display:inline-block}\n"] }]
|
|
60
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { type: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}] } });
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NvbXBvbmVudHMvaW4tZmlsdGVyL2luLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2luLWZpbHRlci9pbi1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7O0FBYXhELE1BQU0sT0FBTyxpQkFBaUI7SUFLNUIsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFKMUMsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUV0QixVQUFLLEdBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQVUzQixhQUFRLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUszQixjQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBWnBCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBQ0QsVUFBVSxDQUFDLEdBQVU7UUFDbkIsSUFBRyxDQUFDLEdBQUcsRUFBRSxNQUFNO1lBQUUsR0FBRyxHQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDakIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBR0QsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxhQUFhLENBQUMsQ0FBUSxFQUFDLEtBQXNCO1FBQzNDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7OzhHQXpDVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixrRUFOakIsQ0FBQztZQUNWLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLGlCQUFpQjtZQUM5QixLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsMEJDZEosMDRCQWFBOzJGREdhLGlCQUFpQjtrQkFYN0IsU0FBUzsrQkFDRSxlQUFlLG1CQUdULHVCQUF1QixDQUFDLE1BQU0sYUFDbkMsQ0FBQzs0QkFDVixPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLG1CQUFtQjs0QkFDOUIsS0FBSyxFQUFFLElBQUk7eUJBQ1osQ0FBQzt3R0FJTyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGaWx0ZXJJbmZvIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9maWx0ZXItaW5mbyc7XHJcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1pbi1maWx0ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbi1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2luLWZpbHRlci5jb21wb25lbnQuY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFt7XHJcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgIHVzZUV4aXN0aW5nOiBJbkZpbHRlckNvbXBvbmVudCxcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbkZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBGaWVsZFR5cGUgPSBGaWVsZFR5cGU7XHJcbiAgQElucHV0KCkgdHlwZSEgOiBGaWVsZFR5cGU7XHJcbiAgdmFsdWU6IGFueVtdID0gW3VuZGVmaW5lZF07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgdGhpcy52YWx1ZSA9IFt1bmRlZmluZWRdO1xyXG4gIH1cclxuICB3cml0ZVZhbHVlKG9iajogYW55W10pOiB2b2lkIHtcclxuICAgIGlmKCFvYmo/Lmxlbmd0aCkgb2JqICA9IFt1bmRlZmluZWRdO1xyXG4gICAgdGhpcy52YWx1ZSA9IG9iajtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHsgfTtcclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG4gIG9uVG91Y2hlZCA9ICgpID0+IHsgfTtcclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgYWRkSW5wdXQoKXtcclxuICAgIHRoaXMudmFsdWUgPSBbLi4udGhpcy52YWx1ZSwgdW5kZWZpbmVkXTtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUlucHV0KGluZGV4OiBudW1iZXIpe1xyXG4gICAgdGhpcy52YWx1ZSA9IFsuLi50aGlzLnZhbHVlXTtcclxuICAgIHRoaXMudmFsdWUuc3BsaWNlKGluZGV4LDEpO1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgb25WYWx1ZUNoYW5nZShpOm51bWJlcix2YWx1ZTogbnVtYmVyIHwgc3RyaW5nKXtcclxuICAgIHRoaXMudmFsdWUgPSBbLi4udGhpcy52YWx1ZV07XHJcbiAgICB0aGlzLnZhbHVlW2ldID0gdmFsdWU7XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPWlubGluZT5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCB2YWwgb2YgdmFsdWU7IGluZGV4IGFzIGlcIj5cbiAgICAgIDxpbnB1dCAqbmdJZj1cInR5cGUgPT09IEZpZWxkVHlwZS5OdW1iZXIgfHwgdHlwZSA9PT0gRmllbGRUeXBlLkN1cnJlbmN5XCJcbiAgICAgICAgW25nTW9kZWxdPVwidmFsXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZShpLCRldmVudClcIlxuICAgICAgICBbcmVhZG9ubHldPVwiaSsxIDwgdmFsdWUubGVuZ3RoXCIgdHlwZT1cIm51bWJlclwiIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTp0cnVlfVwiIFthdXRvRm9jdXNdPVwiaSA9PT0gdmFsdWUubGVuZ3RoIC0gMVwiLz5cbiAgICAgIDxpbnB1dCAqbmdJZj1cInR5cGUgIT09IEZpZWxkVHlwZS5OdW1iZXIgJiYgdHlwZSAhPT0gRmllbGRUeXBlLkN1cnJlbmN5XCJcbiAgICAgICAgW25nTW9kZWxdPVwidmFsXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZShpLCRldmVudClcIlxuICAgICAgICBbcmVhZG9ubHldPVwiaSsxIDwgdmFsdWUubGVuZ3RoXCIgdHlwZT1cInN0cmluZ1wiIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTp0cnVlfVwiXG4gICAgICAgICNpbnB1dCBbYXV0b0ZvY3VzXT1cImkgPT09IHZhbHVlLmxlbmd0aCAtIDFcIiAvPlxuICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwidmFsdWUubGVuZ3RoIDw9IDFcIiAoY2xpY2spPVwicmVtb3ZlSW5wdXQoaSlcIj4tPC9idXR0b24+XG4gICAgICA8YnV0dG9uICpuZ0lmPVwiaSA9PT0gdmFsdWUubGVuZ3RoIC0gMVwiIFtkaXNhYmxlZF09XCJ2YWwgPT0gdW5kZWZpbmVkIHx8IHZhbCA9PT0gJydcIiAoY2xpY2spPVwiYWRkSW5wdXQoKVwiPis8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export * from './date-filter/date-filter.component';
|
|
2
|
-
export * from './filter/filter.component';
|
|
3
|
-
export * from './gen-col-displayer/gen-col-displayer.component';
|
|
4
|
-
export * from './table-container-filter/gen-filter-displayer/gen-filter-displayer.component';
|
|
5
|
-
export * from './table-container-filter/filter-list/filter-list.component';
|
|
6
|
-
export * from './generic-table/generic-table.component';
|
|
7
|
-
export * from './table-container/table-container';
|
|
8
|
-
export * from './generic-table/paginator.component';
|
|
9
|
-
export * from './group-by-list/group-by-list.component';
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './date-filter/date-filter.component';
|
|
2
|
+
export * from './filter/filter.component';
|
|
3
|
+
export * from './gen-col-displayer/gen-col-displayer.component';
|
|
4
|
+
export * from './table-container-filter/gen-filter-displayer/gen-filter-displayer.component';
|
|
5
|
+
export * from './table-container-filter/filter-list/filter-list.component';
|
|
6
|
+
export * from './generic-table/generic-table.component';
|
|
7
|
+
export * from './table-container/table-container';
|
|
8
|
+
export * from './generic-table/paginator.component';
|
|
9
|
+
export * from './group-by-list/group-by-list.component';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsOEVBQThFLENBQUM7QUFDN0YsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHlDQUF5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kYXRlLWZpbHRlci9kYXRlLWZpbHRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9nZW4tY29sLWRpc3BsYXllci9nZW4tY29sLWRpc3BsYXllci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWNvbnRhaW5lci1maWx0ZXIvZ2VuLWZpbHRlci1kaXNwbGF5ZXIvZ2VuLWZpbHRlci1kaXNwbGF5ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1jb250YWluZXItZmlsdGVyL2ZpbHRlci1saXN0L2ZpbHRlci1saXN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZ2VuZXJpYy10YWJsZS9nZW5lcmljLXRhYmxlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtY29udGFpbmVyL3RhYmxlLWNvbnRhaW5lcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vZ2VuZXJpYy10YWJsZS9wYWdpbmF0b3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9ncm91cC1ieS1saXN0L2dyb3VwLWJ5LWxpc3QuY29tcG9uZW50JztcclxuIl19
|
package/esm2020/table-builder/components/initialization-component/initialization-component.mjs
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import { Component, ViewChild } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/material/icon";
|
|
4
|
-
import * as i2 from "../array-column.component";
|
|
5
|
-
import * as i3 from "../link-column.component";
|
|
6
|
-
import * as i4 from "../../../utilities/pipes/function.pipe";
|
|
7
|
-
export class InitializationComponent {
|
|
8
|
-
}
|
|
9
|
-
InitializationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: InitializationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
-
InitializationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: InitializationComponent, selector: "ng-component", viewQueries: [{ propertyName: "linkTemplate", first: true, predicate: ["link"], descendants: true, static: true }, { propertyName: "imageUrlTemplate", first: true, predicate: ["imageUrl"], descendants: true, static: true }, { propertyName: "currencyTemplate", first: true, predicate: ["currency"], descendants: true, static: true }, { propertyName: "arrayTemplate", first: true, predicate: ["array"], descendants: true, static: true }, { propertyName: "defaultTemplate", first: true, predicate: ["default"], descendants: true, static: true }, { propertyName: "defaultWithIcon", first: true, predicate: ["defaultWithIcon"], descendants: true, static: true }], ngImport: i0, template: "<ng-template #link let-element='element' let-metaData='metaData' let-transform='transform'>\n <tb-link-column [element]=\"element\" [metaData]=\"metaData\" [transform]=\"transform\"></tb-link-column>\n</ng-template>\n\n<ng-template #imageUrl let-element='element' let-metaData='metaData'>\n <span>\n <img src=\"{{element[metaData.key]}}\" height=\"75px\" width=\"75px\" />\n </span>\n</ng-template>\n\n<ng-template #array let-element='element' let-metaData='metaData'>\n <tb-array-column [array]='element[metaData.key]' [metaData]='metaData'></tb-array-column>\n</ng-template>\n\n<ng-template #default let-element='element' let-metaData='metaData' let-transform='transform' >\n <span>{{ transform | func : element }}</span>\n</ng-template>\n\n<ng-template #defaultWithIcon let-element='element' let-metaData='metaData' let-transform='transform' >\n <mat-icon>{{ transform | func : element }}</mat-icon>\n</ng-template>\n", dependencies: [{ kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i2.ArrayColumnComponent, selector: "tb-array-column", inputs: ["array", "metaData"] }, { kind: "component", type: i3.LinkColumnComponent, selector: "tb-link-column", inputs: ["metaData", "element", "transform"] }, { kind: "pipe", type: i4.FunctionPipe, name: "func" }] });
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: InitializationComponent, decorators: [{
|
|
12
|
-
type: Component,
|
|
13
|
-
args: [{ template: "<ng-template #link let-element='element' let-metaData='metaData' let-transform='transform'>\n <tb-link-column [element]=\"element\" [metaData]=\"metaData\" [transform]=\"transform\"></tb-link-column>\n</ng-template>\n\n<ng-template #imageUrl let-element='element' let-metaData='metaData'>\n <span>\n <img src=\"{{element[metaData.key]}}\" height=\"75px\" width=\"75px\" />\n </span>\n</ng-template>\n\n<ng-template #array let-element='element' let-metaData='metaData'>\n <tb-array-column [array]='element[metaData.key]' [metaData]='metaData'></tb-array-column>\n</ng-template>\n\n<ng-template #default let-element='element' let-metaData='metaData' let-transform='transform' >\n <span>{{ transform | func : element }}</span>\n</ng-template>\n\n<ng-template #defaultWithIcon let-element='element' let-metaData='metaData' let-transform='transform' >\n <mat-icon>{{ transform | func : element }}</mat-icon>\n</ng-template>\n" }]
|
|
14
|
-
}], propDecorators: { linkTemplate: [{
|
|
15
|
-
type: ViewChild,
|
|
16
|
-
args: ['link', { static: true }]
|
|
17
|
-
}], imageUrlTemplate: [{
|
|
18
|
-
type: ViewChild,
|
|
19
|
-
args: ['imageUrl', { static: true }]
|
|
20
|
-
}], currencyTemplate: [{
|
|
21
|
-
type: ViewChild,
|
|
22
|
-
args: ['currency', { static: true }]
|
|
23
|
-
}], arrayTemplate: [{
|
|
24
|
-
type: ViewChild,
|
|
25
|
-
args: ['array', { static: true }]
|
|
26
|
-
}], defaultTemplate: [{
|
|
27
|
-
type: ViewChild,
|
|
28
|
-
args: ['default', { static: true }]
|
|
29
|
-
}], defaultWithIcon: [{
|
|
30
|
-
type: ViewChild,
|
|
31
|
-
args: ['defaultWithIcon', { static: true }]
|
|
32
|
-
}] } });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, ViewChild } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/material/icon";
|
|
4
|
+
import * as i2 from "../array-column.component";
|
|
5
|
+
import * as i3 from "../link-column.component";
|
|
6
|
+
import * as i4 from "../../../utilities/pipes/function.pipe";
|
|
7
|
+
export class InitializationComponent {
|
|
8
|
+
}
|
|
9
|
+
InitializationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: InitializationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
InitializationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: InitializationComponent, selector: "ng-component", viewQueries: [{ propertyName: "linkTemplate", first: true, predicate: ["link"], descendants: true, static: true }, { propertyName: "imageUrlTemplate", first: true, predicate: ["imageUrl"], descendants: true, static: true }, { propertyName: "currencyTemplate", first: true, predicate: ["currency"], descendants: true, static: true }, { propertyName: "arrayTemplate", first: true, predicate: ["array"], descendants: true, static: true }, { propertyName: "defaultTemplate", first: true, predicate: ["default"], descendants: true, static: true }, { propertyName: "defaultWithIcon", first: true, predicate: ["defaultWithIcon"], descendants: true, static: true }], ngImport: i0, template: "<ng-template #link let-element='element' let-metaData='metaData' let-transform='transform'>\r\n <tb-link-column [element]=\"element\" [metaData]=\"metaData\" [transform]=\"transform\"></tb-link-column>\r\n</ng-template>\r\n\r\n<ng-template #imageUrl let-element='element' let-metaData='metaData'>\r\n <span>\r\n <img src=\"{{element[metaData.key]}}\" height=\"75px\" width=\"75px\" />\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #array let-element='element' let-metaData='metaData'>\r\n <tb-array-column [array]='element[metaData.key]' [metaData]='metaData'></tb-array-column>\r\n</ng-template>\r\n\r\n<ng-template #default let-element='element' let-metaData='metaData' let-transform='transform' >\r\n <span>{{ transform | func : element }}</span>\r\n</ng-template>\r\n\r\n<ng-template #defaultWithIcon let-element='element' let-metaData='metaData' let-transform='transform' >\r\n <mat-icon>{{ transform | func : element }}</mat-icon>\r\n</ng-template>\r\n", dependencies: [{ kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i2.ArrayColumnComponent, selector: "tb-array-column", inputs: ["array", "metaData"] }, { kind: "component", type: i3.LinkColumnComponent, selector: "tb-link-column", inputs: ["metaData", "element", "transform"] }, { kind: "pipe", type: i4.FunctionPipe, name: "func" }] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: InitializationComponent, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{ template: "<ng-template #link let-element='element' let-metaData='metaData' let-transform='transform'>\r\n <tb-link-column [element]=\"element\" [metaData]=\"metaData\" [transform]=\"transform\"></tb-link-column>\r\n</ng-template>\r\n\r\n<ng-template #imageUrl let-element='element' let-metaData='metaData'>\r\n <span>\r\n <img src=\"{{element[metaData.key]}}\" height=\"75px\" width=\"75px\" />\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #array let-element='element' let-metaData='metaData'>\r\n <tb-array-column [array]='element[metaData.key]' [metaData]='metaData'></tb-array-column>\r\n</ng-template>\r\n\r\n<ng-template #default let-element='element' let-metaData='metaData' let-transform='transform' >\r\n <span>{{ transform | func : element }}</span>\r\n</ng-template>\r\n\r\n<ng-template #defaultWithIcon let-element='element' let-metaData='metaData' let-transform='transform' >\r\n <mat-icon>{{ transform | func : element }}</mat-icon>\r\n</ng-template>\r\n" }]
|
|
14
|
+
}], propDecorators: { linkTemplate: [{
|
|
15
|
+
type: ViewChild,
|
|
16
|
+
args: ['link', { static: true }]
|
|
17
|
+
}], imageUrlTemplate: [{
|
|
18
|
+
type: ViewChild,
|
|
19
|
+
args: ['imageUrl', { static: true }]
|
|
20
|
+
}], currencyTemplate: [{
|
|
21
|
+
type: ViewChild,
|
|
22
|
+
args: ['currency', { static: true }]
|
|
23
|
+
}], arrayTemplate: [{
|
|
24
|
+
type: ViewChild,
|
|
25
|
+
args: ['array', { static: true }]
|
|
26
|
+
}], defaultTemplate: [{
|
|
27
|
+
type: ViewChild,
|
|
28
|
+
args: ['default', { static: true }]
|
|
29
|
+
}], defaultWithIcon: [{
|
|
30
|
+
type: ViewChild,
|
|
31
|
+
args: ['defaultWithIcon', { static: true }]
|
|
32
|
+
}] } });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6YXRpb24tY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9pbml0aWFsaXphdGlvbi1jb21wb25lbnQvaW5pdGlhbGl6YXRpb24tY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9pbml0aWFsaXphdGlvbi1jb21wb25lbnQvaW5pdGlhbGl6YXRpb24tY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQUtsRSxNQUFNLE9BQU8sdUJBQXVCOztvSEFBdkIsdUJBQXVCO3dHQUF2Qix1QkFBdUIsdXNCQ0xwQywrOEJBcUJBOzJGRGhCYSx1QkFBdUI7a0JBSG5DLFNBQVM7OzhCQUkyQixZQUFZO3NCQUE5QyxTQUFTO3VCQUFDLE1BQU0sRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBQ00sZ0JBQWdCO3NCQUF0RCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBQ0UsZ0JBQWdCO3NCQUF0RCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBQ0QsYUFBYTtzQkFBaEQsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUNJLGVBQWU7c0JBQXBELFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFDVSxlQUFlO3NCQUE1RCxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5pdGlhbGl6YXRpb24tY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5pdGlhbGl6YXRpb25Db21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoJ2xpbmsnLCB7c3RhdGljOiB0cnVlfSkgbGlua1RlbXBsYXRlISA6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnaW1hZ2VVcmwnLCB7c3RhdGljOiB0cnVlfSkgaW1hZ2VVcmxUZW1wbGF0ZSEgOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ2N1cnJlbmN5Jywge3N0YXRpYzogdHJ1ZX0pIGN1cnJlbmN5VGVtcGxhdGUhIDogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCdhcnJheScsIHtzdGF0aWM6IHRydWV9KSBhcnJheVRlbXBsYXRlISA6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnZGVmYXVsdCcsIHtzdGF0aWM6IHRydWV9KSBkZWZhdWx0VGVtcGxhdGUhIDogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCdkZWZhdWx0V2l0aEljb24nLCB7c3RhdGljOiB0cnVlfSkgZGVmYXVsdFdpdGhJY29uISA6IFRlbXBsYXRlUmVmPGFueT47XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlICNsaW5rICBsZXQtZWxlbWVudD0nZWxlbWVudCcgbGV0LW1ldGFEYXRhPSdtZXRhRGF0YScgbGV0LXRyYW5zZm9ybT0ndHJhbnNmb3JtJz5cclxuICA8dGItbGluay1jb2x1bW4gW2VsZW1lbnRdPVwiZWxlbWVudFwiIFttZXRhRGF0YV09XCJtZXRhRGF0YVwiIFt0cmFuc2Zvcm1dPVwidHJhbnNmb3JtXCI+PC90Yi1saW5rLWNvbHVtbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjaW1hZ2VVcmwgIGxldC1lbGVtZW50PSdlbGVtZW50JyBsZXQtbWV0YURhdGE9J21ldGFEYXRhJz5cclxuICA8c3Bhbj5cclxuICAgIDxpbWcgc3JjPVwie3tlbGVtZW50W21ldGFEYXRhLmtleV19fVwiIGhlaWdodD1cIjc1cHhcIiB3aWR0aD1cIjc1cHhcIiAvPlxyXG4gIDwvc3Bhbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjYXJyYXkgbGV0LWVsZW1lbnQ9J2VsZW1lbnQnIGxldC1tZXRhRGF0YT0nbWV0YURhdGEnPlxyXG4gIDx0Yi1hcnJheS1jb2x1bW4gW2FycmF5XT0nZWxlbWVudFttZXRhRGF0YS5rZXldJyBbbWV0YURhdGFdPSdtZXRhRGF0YSc+PC90Yi1hcnJheS1jb2x1bW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2RlZmF1bHQgbGV0LWVsZW1lbnQ9J2VsZW1lbnQnIGxldC1tZXRhRGF0YT0nbWV0YURhdGEnIGxldC10cmFuc2Zvcm09J3RyYW5zZm9ybScgPlxyXG4gIDxzcGFuPnt7IHRyYW5zZm9ybSB8IGZ1bmMgOiBlbGVtZW50IH19PC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0V2l0aEljb24gbGV0LWVsZW1lbnQ9J2VsZW1lbnQnIGxldC1tZXRhRGF0YT0nbWV0YURhdGEnIGxldC10cmFuc2Zvcm09J3RyYW5zZm9ybScgPlxyXG4gIDxtYXQtaWNvbj57eyB0cmFuc2Zvcm0gfCBmdW5jIDogZWxlbWVudCB9fTwvbWF0LWljb24+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { Component, Input } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../classes/table-store";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
import * as i3 from "@angular/router";
|
|
6
|
-
import * as i4 from "@ngrx/component";
|
|
7
|
-
import * as i5 from "../../utilities/pipes/function.pipe";
|
|
8
|
-
export class LinkColumnComponent {
|
|
9
|
-
constructor(store) {
|
|
10
|
-
this.store = store;
|
|
11
|
-
this.transform = (a) => a;
|
|
12
|
-
this.link = (metaData) => this.store.getLinkMap(metaData);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
LinkColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: LinkColumnComponent, deps: [{ token: i1.TableStore }], target: i0.ɵɵFactoryTarget.Component });
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../classes/table-store";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
import * as i3 from "@angular/router";
|
|
6
|
+
import * as i4 from "@ngrx/component";
|
|
7
|
+
import * as i5 from "../../utilities/pipes/function.pipe";
|
|
8
|
+
export class LinkColumnComponent {
|
|
9
|
+
constructor(store) {
|
|
10
|
+
this.store = store;
|
|
11
|
+
this.transform = (a) => a;
|
|
12
|
+
this.link = (metaData) => this.store.getLinkMap(metaData);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
LinkColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: LinkColumnComponent, deps: [{ token: i1.TableStore }], target: i0.ɵɵFactoryTarget.Component });
|
|
16
16
|
LinkColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: LinkColumnComponent, selector: "tb-link-column", inputs: { metaData: "metaData", element: "element", transform: "transform" }, ngImport: i0, template: `
|
|
17
17
|
<ng-container *ngrxLet="(link | func : (metaData)) as linkInfo">
|
|
18
18
|
<a *ngIf="$any(linkInfo).useRouterLink; else hrefLink" target="{{$any(linkInfo).target}}"
|
|
@@ -31,11 +31,11 @@ LinkColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
|
|
|
31
31
|
</a>
|
|
32
32
|
</ng-template>
|
|
33
33
|
</ng-container>
|
|
34
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4.LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }, { kind: "pipe", type: i5.FunctionPipe, name: "func" }] });
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: LinkColumnComponent, decorators: [{
|
|
36
|
-
type: Component,
|
|
37
|
-
args: [{
|
|
38
|
-
selector: "tb-link-column",
|
|
34
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4.LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }, { kind: "pipe", type: i5.FunctionPipe, name: "func" }] });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: LinkColumnComponent, decorators: [{
|
|
36
|
+
type: Component,
|
|
37
|
+
args: [{
|
|
38
|
+
selector: "tb-link-column",
|
|
39
39
|
template: `
|
|
40
40
|
<ng-container *ngrxLet="(link | func : (metaData)) as linkInfo">
|
|
41
41
|
<a *ngIf="$any(linkInfo).useRouterLink; else hrefLink" target="{{$any(linkInfo).target}}"
|
|
@@ -54,13 +54,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImpor
|
|
|
54
54
|
</a>
|
|
55
55
|
</ng-template>
|
|
56
56
|
</ng-container>
|
|
57
|
-
`
|
|
58
|
-
}]
|
|
59
|
-
}], ctorParameters: function () { return [{ type: i1.TableStore }]; }, propDecorators: { metaData: [{
|
|
60
|
-
type: Input
|
|
61
|
-
}], element: [{
|
|
62
|
-
type: Input
|
|
63
|
-
}], transform: [{
|
|
64
|
-
type: Input
|
|
65
|
-
}] } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
`
|
|
58
|
+
}]
|
|
59
|
+
}], ctorParameters: function () { return [{ type: i1.TableStore }]; }, propDecorators: { metaData: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}], element: [{
|
|
62
|
+
type: Input
|
|
63
|
+
}], transform: [{
|
|
64
|
+
type: Input
|
|
65
|
+
}] } });
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9saW5rLWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUF5Qi9DLE1BQU0sT0FBTyxtQkFBbUI7SUFJaEMsWUFBc0IsS0FBaUI7UUFBakIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUQ5QixjQUFTLEdBQUcsQ0FBQyxDQUFLLEVBQUMsRUFBRSxDQUFBLENBQUMsQ0FBQztRQUVoQyxTQUFJLEdBQUksQ0FBQyxRQUFtQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQURyQixDQUFDOztnSEFKaEMsbUJBQW1CO29HQUFuQixtQkFBbUIsb0lBbkJ0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JUOzJGQUNZLG1CQUFtQjtrQkFyQmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQlQ7aUJBQ0Y7aUdBQ1UsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBUYWJsZVN0b3JlIH0gZnJvbSBcIi4uL2NsYXNzZXMvdGFibGUtc3RvcmVcIjtcclxuaW1wb3J0IHsgTWV0YURhdGEgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9yZXBvcnQtZGVmXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJ0Yi1saW5rLWNvbHVtblwiLFxyXG4gIHRlbXBsYXRlOiBgXG4gIDxuZy1jb250YWluZXIgKm5ncnhMZXQ9XCIobGluayB8IGZ1bmMgOiAobWV0YURhdGEpKSBhcyBsaW5rSW5mb1wiPlxuICAgIDxhICpuZ0lmPVwiJGFueShsaW5rSW5mbykudXNlUm91dGVyTGluazsgZWxzZSBocmVmTGlua1wiIHRhcmdldD1cInt7JGFueShsaW5rSW5mbykudGFyZ2V0fX1cIlxuICAgICAgW3JvdXRlckxpbmtdPVwiIFsoJGFueShsaW5rSW5mbykubGluayB8IGZ1bmMgOiBlbGVtZW50KV1cIlxuICAgICAgW3F1ZXJ5UGFyYW1zXT1cIiRhbnkobGlua0luZm8pLnJvdXRlckxpbmtPcHRpb25zLnF1ZXJ5UGFyYW1zIHwgZnVuYyA6IGVsZW1lbnRcIlxuICAgICAgW2ZyYWdtZW50XT1cIiRhbnkobGlua0luZm8pLnJvdXRlckxpbmtPcHRpb25zLmZyYWdtZW50XCJcbiAgICAgIFtwcmVzZXJ2ZUZyYWdtZW50XT1cIiRhbnkobGlua0luZm8pLnJvdXRlckxpbmtPcHRpb25zLnByZXNlcnZlRnJhZ21lbnRcIlxuICAgICAgW3F1ZXJ5UGFyYW1zSGFuZGxpbmddPVwiJGFueShsaW5rSW5mbykucm91dGVyTGlua09wdGlvbnMucXVlcnlQYXJhbXNIYW5kbGluZ1wiXG4gICAgPlxuICAgICAge3t0cmFuc2Zvcm0gfCBmdW5jIDogZWxlbWVudH19XG4gICAgPC9hPlxuICAgIDxuZy10ZW1wbGF0ZSAjaHJlZkxpbms+XG4gICAgICA8YSB0YXJnZXQ9XCJ7eyRhbnkobGlua0luZm8pLnRhcmdldH19XCJcbiAgICAgICAgaHJlZj1cInt7KCRhbnkobGlua0luZm8pLmxpbmsgfCBmdW5jIDogZWxlbWVudCl9fVwiPlxuICAgICAgICB7e3RyYW5zZm9ybSB8IGZ1bmMgOiBlbGVtZW50fX1cbiAgICAgIDwvYT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgYFxyXG59KWV4cG9ydCBjbGFzcyBMaW5rQ29sdW1uQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBtZXRhRGF0YSE6IE1ldGFEYXRhO1xyXG4gIEBJbnB1dCgpIGVsZW1lbnQhOiBhbnk7XHJcbiAgQElucHV0KCkgdHJhbnNmb3JtID0gKGE6YW55KT0+YTtcclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgc3RvcmU6IFRhYmxlU3RvcmUpIHsgIH1cclxuICBsaW5rID0gIChtZXRhRGF0YSA6IE1ldGFEYXRhKSA9PiB0aGlzLnN0b3JlLmdldExpbmtNYXAobWV0YURhdGEpO1xyXG5cclxufSJdfQ==
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import { FilterType } from '../../enums/filterTypes';
|
|
3
|
-
import { ControlContainer, NgForm } from '@angular/forms';
|
|
4
|
-
import { FieldType } from '../../interfaces/report-def';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common";
|
|
7
|
-
import * as i2 from "@angular/material/form-field";
|
|
8
|
-
import * as i3 from "@angular/material/input";
|
|
9
|
-
import * as i4 from "@angular/forms";
|
|
10
|
-
import * as i5 from "../in-filter/in-filter.component";
|
|
11
|
-
export class NumberFilterComponent {
|
|
12
|
-
constructor() {
|
|
13
|
-
this.FilterType = FilterType;
|
|
14
|
-
this.FieldType = FieldType;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
NumberFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: NumberFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18
|
-
NumberFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: NumberFilterComponent, selector: "tb-number-filter", inputs: { CurrentFilterType: "CurrentFilterType", info: "info" }, ngImport: i0, template: "<ng-container *ngIf=\"CurrentFilterType !== FilterType.NumberBetween && CurrentFilterType !== FilterType.IsNull && CurrentFilterType !== FilterType.In\">\n <mat-form-field class=\"my-filter\">\n <input matInput name=\"filterValue\" [ngModel]=\"info.filterValue\" type=\"number\"/>\n </mat-form-field>\n</ng-container>\n\n\n<ng-container *ngIf=\"CurrentFilterType === FilterType.NumberBetween\">\n <ng-container ngModelGroup=\"filterValue\" >\n <mat-form-field class=\"my-filter\">\n <input matInput name=\"Start\" [ngModel]=\"info.filterValue?.Start\" placeholder=\"Start\" type=\"number\"/>\n </mat-form-field>\n <mat-form-field class=\"my-filter\">\n <input matInput name=\"End\" [ngModel]=\"info.filterValue?.End\" placeholder=\"End\" type=\"number\"/>\n </mat-form-field>\n </ng-container>\n</ng-container>\n\n<div class=\"inline\" *ngIf=\"CurrentFilterType === FilterType.In\">\n <lib-in-filter name='filterValue' [type]=\"FieldType.Number\" [(ngModel)]='info.filterValue' ></lib-in-filter>\n</div>\n", styles: [".switch{display:inline-block}.my-filter{margin-right:15px}.inline{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgModelGroup, selector: "[ngModelGroup]", inputs: ["ngModelGroup"], exportAs: ["ngModelGroup"] }, { kind: "component", type: i5.InFilterComponent, selector: "lib-in-filter", inputs: ["type"] }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: NumberFilterComponent, decorators: [{
|
|
20
|
-
type: Component,
|
|
21
|
-
args: [{ selector: 'tb-number-filter', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], template: "<ng-container *ngIf=\"CurrentFilterType !== FilterType.NumberBetween && CurrentFilterType !== FilterType.IsNull && CurrentFilterType !== FilterType.In\">\n <mat-form-field class=\"my-filter\">\n <input matInput name=\"filterValue\" [ngModel]=\"info.filterValue\" type=\"number\"/>\n </mat-form-field>\n</ng-container>\n\n\n<ng-container *ngIf=\"CurrentFilterType === FilterType.NumberBetween\">\n <ng-container ngModelGroup=\"filterValue\" >\n <mat-form-field class=\"my-filter\">\n <input matInput name=\"Start\" [ngModel]=\"info.filterValue?.Start\" placeholder=\"Start\" type=\"number\"/>\n </mat-form-field>\n <mat-form-field class=\"my-filter\">\n <input matInput name=\"End\" [ngModel]=\"info.filterValue?.End\" placeholder=\"End\" type=\"number\"/>\n </mat-form-field>\n </ng-container>\n</ng-container>\n\n<div class=\"inline\" *ngIf=\"CurrentFilterType === FilterType.In\">\n <lib-in-filter name='filterValue' [type]=\"FieldType.Number\" [(ngModel)]='info.filterValue' ></lib-in-filter>\n</div>\n", styles: [".switch{display:inline-block}.my-filter{margin-right:15px}.inline{display:inline-block}\n"] }]
|
|
22
|
-
}], propDecorators: { CurrentFilterType: [{
|
|
23
|
-
type: Input
|
|
24
|
-
}], info: [{
|
|
25
|
-
type: Input
|
|
26
|
-
}] } });
|
|
1
|
+
import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import { FilterType } from '../../enums/filterTypes';
|
|
3
|
+
import { ControlContainer, NgForm } from '@angular/forms';
|
|
4
|
+
import { FieldType } from '../../interfaces/report-def';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
import * as i2 from "@angular/material/form-field";
|
|
8
|
+
import * as i3 from "@angular/material/input";
|
|
9
|
+
import * as i4 from "@angular/forms";
|
|
10
|
+
import * as i5 from "../in-filter/in-filter.component";
|
|
11
|
+
export class NumberFilterComponent {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.FilterType = FilterType;
|
|
14
|
+
this.FieldType = FieldType;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
NumberFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: NumberFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18
|
+
NumberFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: NumberFilterComponent, selector: "tb-number-filter", inputs: { CurrentFilterType: "CurrentFilterType", info: "info" }, ngImport: i0, template: "<ng-container *ngIf=\"CurrentFilterType !== FilterType.NumberBetween && CurrentFilterType !== FilterType.IsNull && CurrentFilterType !== FilterType.In\">\n <mat-form-field class=\"my-filter\">\n <input matInput name=\"filterValue\" [ngModel]=\"info.filterValue\" type=\"number\"/>\n </mat-form-field>\n</ng-container>\n\n\n<ng-container *ngIf=\"CurrentFilterType === FilterType.NumberBetween\">\n <ng-container ngModelGroup=\"filterValue\" >\n <mat-form-field class=\"my-filter\">\n <input matInput name=\"Start\" [ngModel]=\"info.filterValue?.Start\" placeholder=\"Start\" type=\"number\"/>\n </mat-form-field>\n <mat-form-field class=\"my-filter\">\n <input matInput name=\"End\" [ngModel]=\"info.filterValue?.End\" placeholder=\"End\" type=\"number\"/>\n </mat-form-field>\n </ng-container>\n</ng-container>\n\n<div class=\"inline\" *ngIf=\"CurrentFilterType === FilterType.In\">\n <lib-in-filter name='filterValue' [type]=\"FieldType.Number\" [(ngModel)]='info.filterValue' ></lib-in-filter>\n</div>\n", styles: [".switch{display:inline-block}.my-filter{margin-right:15px}.inline{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgModelGroup, selector: "[ngModelGroup]", inputs: ["ngModelGroup"], exportAs: ["ngModelGroup"] }, { kind: "component", type: i5.InFilterComponent, selector: "lib-in-filter", inputs: ["type"] }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: NumberFilterComponent, decorators: [{
|
|
20
|
+
type: Component,
|
|
21
|
+
args: [{ selector: 'tb-number-filter', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], template: "<ng-container *ngIf=\"CurrentFilterType !== FilterType.NumberBetween && CurrentFilterType !== FilterType.IsNull && CurrentFilterType !== FilterType.In\">\n <mat-form-field class=\"my-filter\">\n <input matInput name=\"filterValue\" [ngModel]=\"info.filterValue\" type=\"number\"/>\n </mat-form-field>\n</ng-container>\n\n\n<ng-container *ngIf=\"CurrentFilterType === FilterType.NumberBetween\">\n <ng-container ngModelGroup=\"filterValue\" >\n <mat-form-field class=\"my-filter\">\n <input matInput name=\"Start\" [ngModel]=\"info.filterValue?.Start\" placeholder=\"Start\" type=\"number\"/>\n </mat-form-field>\n <mat-form-field class=\"my-filter\">\n <input matInput name=\"End\" [ngModel]=\"info.filterValue?.End\" placeholder=\"End\" type=\"number\"/>\n </mat-form-field>\n </ng-container>\n</ng-container>\n\n<div class=\"inline\" *ngIf=\"CurrentFilterType === FilterType.In\">\n <lib-in-filter name='filterValue' [type]=\"FieldType.Number\" [(ngModel)]='info.filterValue' ></lib-in-filter>\n</div>\n", styles: [".switch{display:inline-block}.my-filter{margin-right:15px}.inline{display:inline-block}\n"] }]
|
|
22
|
+
}], propDecorators: { CurrentFilterType: [{
|
|
23
|
+
type: Input
|
|
24
|
+
}], info: [{
|
|
25
|
+
type: Input
|
|
26
|
+
}] } });
|
|
27
27
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL251bWJlci1maWx0ZXIvbnVtYmVyLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL251bWJlci1maWx0ZXIvbnVtYmVyLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7OztBQVV4RCxNQUFNLE9BQU8scUJBQXFCO0lBUGxDO1FBUUUsZUFBVSxHQUFHLFVBQVUsQ0FBQztRQUFDLGNBQVMsR0FBRyxTQUFTLENBQUM7S0FHaEQ7O2tIQUpZLHFCQUFxQjtzR0FBckIscUJBQXFCLDBIQ2RsQywrZ0NBcUJBLGkzRERUaUIsQ0FBQyxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFDLENBQUM7MkZBRXRELHFCQUFxQjtrQkFQakMsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFDLENBQUM7OEJBSXhELGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmlsdGVyVHlwZSB9IGZyb20gJy4uLy4uL2VudW1zL2ZpbHRlclR5cGVzJztcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFBhcnRpYWxGaWx0ZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2ZpbHRlci1pbmZvJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGItbnVtYmVyLWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9udW1iZXItZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbnVtYmVyLWZpbHRlci5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB2aWV3UHJvdmlkZXJzOiBbe3Byb3ZpZGU6IENvbnRyb2xDb250YWluZXIsIHVzZUV4aXN0aW5nOiBOZ0Zvcm19XVxufSlcbmV4cG9ydCBjbGFzcyBOdW1iZXJGaWx0ZXJDb21wb25lbnQge1xuICBGaWx0ZXJUeXBlID0gRmlsdGVyVHlwZTsgRmllbGRUeXBlID0gRmllbGRUeXBlO1xuICBASW5wdXQoKSBDdXJyZW50RmlsdGVyVHlwZSE6IEZpbHRlclR5cGU7XG4gIEBJbnB1dCgpIGluZm8hOlBhcnRpYWxGaWx0ZXI7XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiQ3VycmVudEZpbHRlclR5cGUgIT09IEZpbHRlclR5cGUuTnVtYmVyQmV0d2VlbiAmJiBDdXJyZW50RmlsdGVyVHlwZSAhPT0gRmlsdGVyVHlwZS5Jc051bGwgJiYgQ3VycmVudEZpbHRlclR5cGUgIT09IEZpbHRlclR5cGUuSW5cIj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibXktZmlsdGVyXCI+XG4gICAgPGlucHV0IG1hdElucHV0IG5hbWU9XCJmaWx0ZXJWYWx1ZVwiIFtuZ01vZGVsXT1cImluZm8uZmlsdGVyVmFsdWVcIiB0eXBlPVwibnVtYmVyXCIvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuPC9uZy1jb250YWluZXI+XG5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIkN1cnJlbnRGaWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlLk51bWJlckJldHdlZW5cIj5cbiAgPG5nLWNvbnRhaW5lciBuZ01vZGVsR3JvdXA9XCJmaWx0ZXJWYWx1ZVwiICA+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibXktZmlsdGVyXCI+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT1cIlN0YXJ0XCIgW25nTW9kZWxdPVwiaW5mby5maWx0ZXJWYWx1ZT8uU3RhcnRcIiBwbGFjZWhvbGRlcj1cIlN0YXJ0XCIgdHlwZT1cIm51bWJlclwiLz5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm15LWZpbHRlclwiPlxuICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9XCJFbmRcIiBbbmdNb2RlbF09XCJpbmZvLmZpbHRlclZhbHVlPy5FbmRcIiBwbGFjZWhvbGRlcj1cIkVuZFwiIHR5cGU9XCJudW1iZXJcIi8+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPGRpdiBjbGFzcz1cImlubGluZVwiICpuZ0lmPVwiQ3VycmVudEZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuSW5cIj5cbiAgPGxpYi1pbi1maWx0ZXIgbmFtZT0nZmlsdGVyVmFsdWUnIFt0eXBlXT1cIkZpZWxkVHlwZS5OdW1iZXJcIiBbKG5nTW9kZWwpXT0naW5mby5maWx0ZXJWYWx1ZScgID48L2xpYi1pbi1maWx0ZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { ComponentStore } from '@ngrx/component-store';
|
|
3
|
-
import { combineLatest } from 'rxjs';
|
|
4
|
-
import { distinctUntilChanged, map, mergeMap } from 'rxjs/operators';
|
|
5
|
-
import { notNull } from '../../../rxjs/rxjs-operators';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../classes/table-store";
|
|
8
|
-
export class SortMenuComponentStore extends ComponentStore {
|
|
9
|
-
constructor(tableState) {
|
|
10
|
-
super({ notSorted: [], sorted: [] });
|
|
11
|
-
this.tableState = tableState;
|
|
12
|
-
this.set = this.updater((state, data) => ({ ...data }));
|
|
13
|
-
this.setSorted = this.updater((state, sorted) => ({ ...state, sorted }));
|
|
14
|
-
this.setNotSorted = this.updater((state, notSorted) => ({ ...state, notSorted }));
|
|
15
|
-
this.sorted$ = this.select(state => state.sorted);
|
|
16
|
-
this.notSorted$ = this.select(state => state.notSorted);
|
|
17
|
-
this.setDirection = this.updater((state, sort) => {
|
|
18
|
-
const index = state.sorted.findIndex(s => s.active === sort.active);
|
|
19
|
-
const sorted = [...state.sorted];
|
|
20
|
-
sorted.splice(index, 1, sort);
|
|
21
|
-
return ({ ...state, sorted });
|
|
22
|
-
});
|
|
23
|
-
this.reset = () => {
|
|
24
|
-
const sorted = this.tableState.sorted$.pipe(mergeMap(sort => this.tableState.metaData$.pipe(notNull(), map(meta => sort.map(s => {
|
|
25
|
-
return { ...s, displayName: meta[s.active]?.displayName };
|
|
26
|
-
})))));
|
|
27
|
-
const notSorted = this.tableState.metaDataArray$.pipe(mergeMap(metas => this.tableState.sorted$.pipe(map(s => metas.filter(meta => !s.some(s => s.active === meta.key))
|
|
28
|
-
.map(meta => ({ active: meta.key, displayName: meta.displayName }))))));
|
|
29
|
-
this.set(combineLatest([
|
|
30
|
-
sorted.pipe(distinctSortArray), notSorted.pipe(distinctSortArray)
|
|
31
|
-
]).pipe(map(([sorted, notSorted]) => ({ sorted, notSorted }))));
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
SortMenuComponentStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SortMenuComponentStore, deps: [{ token: i1.TableStore }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
36
|
-
SortMenuComponentStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SortMenuComponentStore });
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SortMenuComponentStore, decorators: [{
|
|
38
|
-
type: Injectable
|
|
39
|
-
}], ctorParameters: function () { return [{ type: i1.TableStore }]; } });
|
|
40
|
-
const equalSortArray = (arr1, arr2) => arr1.length === arr2.length && arr2.every(s1 => arr1.some(s2 => s1.active === s2.active));
|
|
41
|
-
const distinctSortArray = distinctUntilChanged(equalSortArray);
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ComponentStore } from '@ngrx/component-store';
|
|
3
|
+
import { combineLatest } from 'rxjs';
|
|
4
|
+
import { distinctUntilChanged, map, mergeMap } from 'rxjs/operators';
|
|
5
|
+
import { notNull } from '../../../rxjs/rxjs-operators';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../../classes/table-store";
|
|
8
|
+
export class SortMenuComponentStore extends ComponentStore {
|
|
9
|
+
constructor(tableState) {
|
|
10
|
+
super({ notSorted: [], sorted: [] });
|
|
11
|
+
this.tableState = tableState;
|
|
12
|
+
this.set = this.updater((state, data) => ({ ...data }));
|
|
13
|
+
this.setSorted = this.updater((state, sorted) => ({ ...state, sorted }));
|
|
14
|
+
this.setNotSorted = this.updater((state, notSorted) => ({ ...state, notSorted }));
|
|
15
|
+
this.sorted$ = this.select(state => state.sorted);
|
|
16
|
+
this.notSorted$ = this.select(state => state.notSorted);
|
|
17
|
+
this.setDirection = this.updater((state, sort) => {
|
|
18
|
+
const index = state.sorted.findIndex(s => s.active === sort.active);
|
|
19
|
+
const sorted = [...state.sorted];
|
|
20
|
+
sorted.splice(index, 1, sort);
|
|
21
|
+
return ({ ...state, sorted });
|
|
22
|
+
});
|
|
23
|
+
this.reset = () => {
|
|
24
|
+
const sorted = this.tableState.sorted$.pipe(mergeMap(sort => this.tableState.metaData$.pipe(notNull(), map(meta => sort.map(s => {
|
|
25
|
+
return { ...s, displayName: meta[s.active]?.displayName };
|
|
26
|
+
})))));
|
|
27
|
+
const notSorted = this.tableState.metaDataArray$.pipe(mergeMap(metas => this.tableState.sorted$.pipe(map(s => metas.filter(meta => !s.some(s => s.active === meta.key))
|
|
28
|
+
.map(meta => ({ active: meta.key, displayName: meta.displayName }))))));
|
|
29
|
+
this.set(combineLatest([
|
|
30
|
+
sorted.pipe(distinctSortArray), notSorted.pipe(distinctSortArray)
|
|
31
|
+
]).pipe(map(([sorted, notSorted]) => ({ sorted, notSorted }))));
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
SortMenuComponentStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SortMenuComponentStore, deps: [{ token: i1.TableStore }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
36
|
+
SortMenuComponentStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SortMenuComponentStore });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SortMenuComponentStore, decorators: [{
|
|
38
|
+
type: Injectable
|
|
39
|
+
}], ctorParameters: function () { return [{ type: i1.TableStore }]; } });
|
|
40
|
+
const equalSortArray = (arr1, arr2) => arr1.length === arr2.length && arr2.every(s1 => arr1.some(s2 => s1.active === s2.active));
|
|
41
|
+
const distinctSortArray = distinctUntilChanged(equalSortArray);
|
|
42
42
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1tZW51LmNvbXBvbmVudC1zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NvbXBvbmVudHMvc29ydC1tZW51L3NvcnQtbWVudS5jb21wb25lbnQtc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBR3ZELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxjQUFrQztJQUM1RSxZQUFvQixVQUFzQjtRQUN4QyxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUMsRUFBRSxFQUFDLE1BQU0sRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFBO1FBRGIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUdsQyxRQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBQyxJQUF1QixFQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBRyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFFMUUsY0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUMsTUFBcUIsRUFBQyxFQUFFLENBQUEsQ0FBQyxFQUFDLEdBQUcsS0FBSyxFQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsQ0FBQztRQUU3RSxpQkFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUMsU0FBd0IsRUFBQyxFQUFFLENBQUEsQ0FBQyxFQUFDLEdBQUcsS0FBSyxFQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsQ0FBQztRQUN0RixZQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUEsRUFBRSxDQUFBLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQyxlQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUEsRUFBRSxDQUFBLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRCxpQkFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUMsSUFBaUIsRUFBQyxFQUFFO1lBQ3JELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEUsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNqQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsT0FBTyxDQUFDLEVBQUMsR0FBRyxLQUFLLEVBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQTtRQUNGLFVBQUssR0FBRyxHQUFHLEVBQUU7WUFDWCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3pDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDN0MsT0FBTyxFQUFFLEVBQ1QsR0FBRyxDQUNILElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDbkIsT0FBUSxFQUFDLEdBQUcsQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFdBQVcsRUFBa0IsQ0FBQTtZQUFBLENBQUMsQ0FBQyxDQUM5RSxDQUFDLENBQUMsQ0FDSixDQUFDO1lBQ0YsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FDNUQsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ25DLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFBLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxDQUFDLENBQUMsTUFBTSxLQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDM0QsR0FBRyxDQUFDLElBQUksQ0FBQSxFQUFFLENBQUEsQ0FBQyxFQUFDLE1BQU0sRUFBQyxJQUFJLENBQUMsR0FBRyxFQUFDLFdBQVcsRUFBRyxJQUFJLENBQUMsV0FBVyxFQUFrQixDQUFBLENBQUMsQ0FBQyxDQUNsRixDQUNGLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDO2dCQUNyQixNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQzthQUNqRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLFNBQVMsQ0FBQyxFQUFDLEVBQUUsQ0FBQSxDQUFDLEVBQUMsTUFBTSxFQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUQsQ0FBQyxDQUFBO0lBaENELENBQUM7O21IQUhVLHNCQUFzQjt1SEFBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVU7O0FBZ0RYLE1BQU0sY0FBYyxHQUFHLENBQUMsSUFBbUIsRUFBQyxJQUFtQixFQUFFLEVBQUUsQ0FDakUsSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUM1RixNQUFNLGlCQUFpQixHQUFHLG9CQUFvQixDQUFpQixjQUFjLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IENvbXBvbmVudFN0b3JlIH0gZnJvbSAnQG5ncngvY29tcG9uZW50LXN0b3JlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGFibGVTdG9yZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvdGFibGUtc3RvcmUnO1xuaW1wb3J0IHsgbm90TnVsbCB9IGZyb20gJy4uLy4uLy4uL3J4anMvcnhqcy1vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU29ydE1lbnVDb21wb25lbnRTdG9yZSBleHRlbmRzIENvbXBvbmVudFN0b3JlPENvbXBvbmVuU3RvcmVTdGF0ZT4ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRhYmxlU3RhdGU6IFRhYmxlU3RvcmUpe1xuICAgIHN1cGVyKHtub3RTb3J0ZWQ6W10sc29ydGVkOltdfSlcbiAgfVxuICBwcml2YXRlIHNldCA9IHRoaXMudXBkYXRlcigoc3RhdGUsZGF0YTpDb21wb25lblN0b3JlU3RhdGUpPT4gKHsuLi5kYXRhfSkpO1xuXG4gIHNldFNvcnRlZCA9IHRoaXMudXBkYXRlcigoc3RhdGUsc29ydGVkOlNvcnRXaXRoTmFtZVtdKT0+KHsuLi5zdGF0ZSxzb3J0ZWR9KSk7XG5cbiAgc2V0Tm90U29ydGVkID0gdGhpcy51cGRhdGVyKChzdGF0ZSxub3RTb3J0ZWQ6U29ydFdpdGhOYW1lW10pPT4oey4uLnN0YXRlLG5vdFNvcnRlZH0pKTtcbiAgc29ydGVkJCA9IHRoaXMuc2VsZWN0KHN0YXRlPT5zdGF0ZS5zb3J0ZWQpO1xuICBub3RTb3J0ZWQkID0gdGhpcy5zZWxlY3Qoc3RhdGU9PnN0YXRlLm5vdFNvcnRlZCk7XG4gIHNldERpcmVjdGlvbiA9IHRoaXMudXBkYXRlcigoc3RhdGUsc29ydDpTb3J0V2l0aE5hbWUpPT57XG4gICAgY29uc3QgaW5kZXggPSBzdGF0ZS5zb3J0ZWQuZmluZEluZGV4KHMgPT4gcy5hY3RpdmUgPT09IHNvcnQuYWN0aXZlKTtcbiAgICBjb25zdCBzb3J0ZWQgPSBbLi4uc3RhdGUuc29ydGVkXTtcbiAgICBzb3J0ZWQuc3BsaWNlKGluZGV4LDEsc29ydCk7XG4gICAgcmV0dXJuICh7Li4uc3RhdGUsc29ydGVkfSk7XG4gIH0pXG4gIHJlc2V0ID0gKCkgPT4ge1xuICAgIGNvbnN0IHNvcnRlZCA9IHRoaXMudGFibGVTdGF0ZS5zb3J0ZWQkLnBpcGUoXG4gICAgICBtZXJnZU1hcChzb3J0ID0+IHRoaXMudGFibGVTdGF0ZS5tZXRhRGF0YSQucGlwZShcbiAgICAgICAgbm90TnVsbCgpLFxuICAgICAgICBtYXAoXG4gICAgICAgIG1ldGEgPT4gc29ydC5tYXAocyA9PiB7XG4gICAgICAgICAgcmV0dXJuICh7Li4ucywgZGlzcGxheU5hbWU6IG1ldGFbcy5hY3RpdmVdPy5kaXNwbGF5TmFtZX0gYXMgU29ydFdpdGhOYW1lKX0pXG4gICAgICApKSlcbiAgICApO1xuICAgIGNvbnN0IG5vdFNvcnRlZCA9IHRoaXMudGFibGVTdGF0ZS5tZXRhRGF0YUFycmF5JC5waXBlKG1lcmdlTWFwKFxuICAgICAgbWV0YXMgPT4gdGhpcy50YWJsZVN0YXRlLnNvcnRlZCQucGlwZShcbiAgICAgICAgbWFwKHMgPT4gbWV0YXMuZmlsdGVyKG1ldGE9PiAhcy5zb21lKHM9PnMuYWN0aXZlPT09IG1ldGEua2V5KSlcbiAgICAgICAgICAubWFwKG1ldGE9Pih7YWN0aXZlOm1ldGEua2V5LGRpc3BsYXlOYW1lIDogbWV0YS5kaXNwbGF5TmFtZX0gYXMgU29ydFdpdGhOYW1lKSkpXG4gICAgICApXG4gICAgKSk7XG4gICAgdGhpcy5zZXQoY29tYmluZUxhdGVzdChbXG4gICAgICBzb3J0ZWQucGlwZShkaXN0aW5jdFNvcnRBcnJheSksbm90U29ydGVkLnBpcGUoZGlzdGluY3RTb3J0QXJyYXkpXG4gICAgXSkucGlwZShtYXAoKFtzb3J0ZWQsbm90U29ydGVkXSk9Pih7c29ydGVkLG5vdFNvcnRlZH0pKSkpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW5TdG9yZVN0YXRlIHtcbiAgc29ydGVkIDogU29ydFdpdGhOYW1lW107XG4gIG5vdFNvcnRlZDogU29ydFdpdGhOYW1lW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydFdpdGhOYW1lIGV4dGVuZHMgU29ydHtcbiAgZGlzcGxheU5hbWUgOiBzdHJpbmc7XG59XG5cbmNvbnN0IGVxdWFsU29ydEFycmF5ID0gKGFycjE6U29ydFdpdGhOYW1lW10sYXJyMjpTb3J0V2l0aE5hbWVbXSkgPT5cbiAgYXJyMS5sZW5ndGggPT09IGFycjIubGVuZ3RoICYmIGFycjIuZXZlcnkoczEgPT4gYXJyMS5zb21lKHMyID0+IHMxLmFjdGl2ZSA9PT0gczIuYWN0aXZlKSk7XG5jb25zdCBkaXN0aW5jdFNvcnRBcnJheSA9IGRpc3RpbmN0VW50aWxDaGFuZ2VkPFNvcnRXaXRoTmFtZVtdPihlcXVhbFNvcnRBcnJheSk7XG4iXX0=
|