@one-paragon/angular-utilities 1.1.6 → 1.1.8
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/karma.conf.js +44 -0
- package/ng-package.json +7 -0
- package/package.json +16 -30
- package/src/action-state/action-state-spinner/action-state-spinner.component.css +16 -0
- package/src/action-state/action-state-spinner/action-state-spinner.component.html +6 -0
- package/src/action-state/action-state-spinner/action-state-spinner.component.spec.ts +25 -0
- package/src/action-state/action-state-spinner/action-state-spinner.component.ts +26 -0
- package/src/action-state/action-state-ui/action-state-ui.module.ts +13 -0
- package/{action-state/index.d.ts → src/action-state/index.ts} +8 -4
- package/src/action-state/ngrx-ext/ngrx-ext.module.ts +15 -0
- package/src/action-state/ngrx.ts +69 -0
- package/src/http-request-state/HttpRequestStateFactory.ts +66 -0
- package/src/http-request-state/HttpRequestStateStore.ts +151 -0
- package/src/http-request-state/directives/HttpStateDirectiveBase.ts +38 -0
- package/src/http-request-state/directives/http-error-state-directive.ts +32 -0
- package/src/http-request-state/directives/http-inProgress-state-directive.ts +32 -0
- package/src/http-request-state/directives/http-notStarted-state-directive.ts +31 -0
- package/src/http-request-state/directives/http-success-state-directive.ts +40 -0
- package/{http-request-state/directives/index.d.ts → src/http-request-state/directives/index.ts} +5 -5
- package/src/http-request-state/directives/request-state-directive.spec.ts +72 -0
- package/src/http-request-state/directives/request-state-directive.ts +79 -0
- package/src/http-request-state/helpers.ts +30 -0
- package/src/http-request-state/http-request-state.ts +69 -0
- package/src/http-request-state/http-state-module.ts +23 -0
- package/{http-request-state/index.d.ts → src/http-request-state/index.ts} +6 -6
- package/src/http-request-state/observable.spec.ts +43 -0
- package/src/http-request-state/rxjs/getRequestorBody.ts +10 -0
- package/src/http-request-state/rxjs/getRequestorState.ts +8 -0
- package/{http-request-state/rxjs/index.d.ts → src/http-request-state/rxjs/index.ts} +4 -4
- package/src/http-request-state/rxjs/tapError.ts +16 -0
- package/src/http-request-state/rxjs/tapSuccess.ts +16 -0
- package/src/http-request-state/strategies.spec.ts +42 -0
- package/src/http-request-state/types.ts +56 -0
- package/src/ngrx/actionable-selector.ts +95 -0
- package/src/ngrx/index.ts +1 -0
- package/{public-api.d.ts → src/public-api.ts} +35 -16
- package/src/rxjs/defaultShareReplay.ts +8 -0
- package/{rxjs/index.d.ts → src/rxjs/index.ts} +5 -5
- package/src/rxjs/mapError.ts +8 -0
- package/src/rxjs/rxjs-operators.ts +132 -0
- package/src/rxjs/subjectifier.ts +15 -0
- package/src/rxjs/subscriber.directive.ts +57 -0
- package/src/specs/clickSubject.spec.ts +95 -0
- package/src/specs/dialog.spec.ts +101 -0
- package/src/specs/toggleGroupDirective.spec.ts +229 -0
- package/src/table-builder/classes/DefaultSettings.ts +11 -0
- package/src/table-builder/classes/MatTableObservableDataSource.ts +23 -0
- package/src/table-builder/classes/TableBuilderConfig.ts +35 -0
- package/src/table-builder/classes/TableBuilderDataSource.ts +57 -0
- package/src/table-builder/classes/TableState.ts +87 -0
- package/{table-builder/classes/display-col.d.ts → src/table-builder/classes/display-col.ts} +5 -5
- package/src/table-builder/classes/filter-info.ts +131 -0
- package/src/table-builder/classes/table-builder-general-settings.ts +115 -0
- package/src/table-builder/classes/table-builder.ts +94 -0
- package/src/table-builder/classes/table-store.ts +435 -0
- package/src/table-builder/components/array-column.component.ts +36 -0
- package/src/table-builder/components/column-builder/column-builder.component.html +61 -0
- package/src/table-builder/components/column-builder/column-builder.component.scss +43 -0
- package/src/table-builder/components/column-builder/column-builder.component.spec.ts +49 -0
- package/src/table-builder/components/column-builder/column-builder.component.ts +137 -0
- package/src/table-builder/components/column-builder/column-helpers.ts +36 -0
- package/src/table-builder/components/date-filter/date-filter.component.html +23 -0
- package/src/table-builder/components/date-filter/date-filter.component.ts +24 -0
- package/src/table-builder/components/date-time-filter/date-time-filter.component.html +9 -0
- package/src/table-builder/components/date-time-filter/date-time-filter.component.ts +22 -0
- package/src/table-builder/components/filter/filter.component.html +88 -0
- package/src/table-builder/components/filter/filter.component.scss +64 -0
- package/src/table-builder/components/filter/filter.component.spec.ts +87 -0
- package/src/table-builder/components/filter/filter.component.ts +55 -0
- package/src/table-builder/components/filter/in-list/in-list-filter.component.ts +92 -0
- package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.html +55 -0
- package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.scss +57 -0
- package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.ts +57 -0
- package/src/table-builder/components/generic-table/generic-table.component.html +71 -0
- package/src/table-builder/components/generic-table/generic-table.component.scss +51 -0
- package/src/table-builder/components/generic-table/generic-table.component.ts +264 -0
- package/src/table-builder/components/generic-table/paginator.component.ts +106 -0
- package/src/table-builder/components/group-by-list/group-by-list.component.css +8 -0
- package/src/table-builder/components/group-by-list/group-by-list.component.html +12 -0
- package/src/table-builder/components/group-by-list/group-by-list.component.spec.ts +23 -0
- package/src/table-builder/components/group-by-list/group-by-list.component.ts +21 -0
- package/src/table-builder/components/header-menu/header-menu.component.html +104 -0
- package/src/table-builder/components/header-menu/header-menu.component.scss +96 -0
- package/src/table-builder/components/header-menu/header-menu.component.ts +98 -0
- package/src/table-builder/components/in-filter/in-filter.component.css +3 -0
- package/src/table-builder/components/in-filter/in-filter.component.html +20 -0
- package/src/table-builder/components/in-filter/in-filter.component.ts +64 -0
- package/{table-builder/components/index.d.ts → src/table-builder/components/index.ts} +9 -9
- package/src/table-builder/components/initialization-component/initialization-component.html +29 -0
- package/src/table-builder/components/initialization-component/initialization-component.ts +24 -0
- package/src/table-builder/components/link-column.component.ts +47 -0
- package/src/table-builder/components/number-filter/number-filter.component.css +10 -0
- package/src/table-builder/components/number-filter/number-filter.component.html +19 -0
- package/src/table-builder/components/number-filter/number-filter.component.spec.ts +30 -0
- package/src/table-builder/components/number-filter/number-filter.component.ts +25 -0
- package/src/table-builder/components/profiles-menu/profiles-menu.component.html +74 -0
- package/src/table-builder/components/profiles-menu/profiles-menu.component.scss +98 -0
- package/src/table-builder/components/profiles-menu/profiles-menu.component.spec.ts +23 -0
- package/src/table-builder/components/profiles-menu/profiles-menu.component.ts +65 -0
- package/src/table-builder/components/scroll-strategy.ts +89 -0
- package/src/table-builder/components/sort-menu/sort-menu.component-store.ts +63 -0
- package/src/table-builder/components/sort-menu/sort-menu.component.html +111 -0
- package/src/table-builder/components/sort-menu/sort-menu.component.scss +119 -0
- package/src/table-builder/components/sort-menu/sort-menu.component.ts +95 -0
- package/{table-builder/components/table-container/table-container-imports.d.ts → src/table-builder/components/table-container/table-container-imports.ts} +32 -14
- package/src/table-builder/components/table-container/table-container.css +54 -0
- package/src/table-builder/components/table-container/table-container.helpers/data-state.helpers.ts +141 -0
- package/src/table-builder/components/table-container/table-container.helpers/filter-state.helpers.ts +106 -0
- package/src/table-builder/components/table-container/table-container.helpers/groupBy.helpers.ts +86 -0
- package/src/table-builder/components/table-container/table-container.helpers/sort-state.helpers.ts +45 -0
- package/src/table-builder/components/table-container/table-container.html +96 -0
- package/src/table-builder/components/table-container/table-container.spec.ts +154 -0
- package/src/table-builder/components/table-container/table-container.ts +319 -0
- package/src/table-builder/components/table-container/tableProps.ts +18 -0
- package/src/table-builder/components/table-container/virtual-scroll-container.ts +141 -0
- package/src/table-builder/components/table-container-filter/filter-list/filter-list.component.html +31 -0
- package/src/table-builder/components/table-container-filter/filter-list/filter-list.component.ts +52 -0
- package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.css +42 -0
- package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.html +10 -0
- package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.spec.ts +86 -0
- package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.ts +38 -0
- package/src/table-builder/components/table-container-filter/table-wrapper-filter-store.ts +23 -0
- package/src/table-builder/directives/custom-cell-directive.ts +58 -0
- package/{table-builder/directives/index.d.ts → src/table-builder/directives/index.ts} +6 -5
- package/src/table-builder/directives/multi-sort.directive.spec.ts +124 -0
- package/src/table-builder/directives/multi-sort.directive.ts +49 -0
- package/src/table-builder/directives/resize-column.directive.ts +105 -0
- package/src/table-builder/directives/table-wrapper.directive.ts +14 -0
- package/src/table-builder/directives/tb-filter.directive.ts +370 -0
- package/src/table-builder/enums/filterTypes.ts +79 -0
- package/src/table-builder/functions/boolean-filter-function.ts +13 -0
- package/src/table-builder/functions/date-filter-function.ts +69 -0
- package/src/table-builder/functions/download-data.ts +11 -0
- package/src/table-builder/functions/null-filter-function.ts +9 -0
- package/src/table-builder/functions/number-filter-function.ts +42 -0
- package/src/table-builder/functions/sort-data-function.ts +23 -0
- package/src/table-builder/functions/string-filter-function.ts +52 -0
- package/{table-builder/interfaces/ColumnInfo.d.ts → src/table-builder/interfaces/ColumnInfo.ts} +7 -6
- package/src/table-builder/interfaces/column-template.ts +9 -0
- package/{table-builder/interfaces/dictionary.d.ts → src/table-builder/interfaces/dictionary.ts} +3 -3
- package/src/table-builder/interfaces/report-def.ts +155 -0
- package/src/table-builder/ngrx/tableBuilderStateStore.ts +199 -0
- package/src/table-builder/pipes/column-total.pipe.ts +17 -0
- package/src/table-builder/pipes/format-filter-type.pipe.ts +12 -0
- package/src/table-builder/pipes/format-filter-value.pipe.ts +41 -0
- package/src/table-builder/pipes/key-display.ts +16 -0
- package/src/table-builder/services/export-to-csv.service.ts +98 -0
- package/src/table-builder/services/link-creator.service.ts +67 -0
- package/src/table-builder/services/table-template-service.ts +57 -0
- package/src/table-builder/services/transform-creator.ts +96 -0
- package/src/table-builder/specs/table-custom-filters.spec.ts +262 -0
- package/src/table-builder/styles/collapser.styles.scss +19 -0
- package/src/table-builder/table-builder.module.ts +73 -0
- package/src/test.ts +17 -0
- package/src/utilities/array-helpers.ts +13 -0
- package/src/utilities/directives/auto-focus.directive.ts +20 -0
- package/src/utilities/directives/clickEmitterDirective.ts +16 -0
- package/src/utilities/directives/clickSubject.ts +20 -0
- package/src/utilities/directives/conditional-classes.directive.ts +36 -0
- package/src/utilities/directives/dialog-service.ts +19 -0
- package/src/utilities/directives/dialog.ts +147 -0
- package/src/utilities/directives/mat-toggle-group-directive.ts +61 -0
- package/src/utilities/directives/prevent-enter.directive.ts +13 -0
- package/src/utilities/directives/stop-propagation.directive.ts +20 -0
- package/src/utilities/directives/styler.ts +39 -0
- package/src/utilities/directives/trim-whitespace.directive.ts +21 -0
- package/{utilities/index.d.ts → src/utilities/index.ts} +22 -15
- package/src/utilities/module.ts +55 -0
- package/src/utilities/pipes/function.pipe.ts +16 -0
- package/src/utilities/pipes/phone.pipe.ts +15 -0
- package/src/utilities/pipes/space-case.pipes.spec.ts +47 -0
- package/src/utilities/pipes/space-case.pipes.ts +23 -0
- package/tsconfig.lib.json +19 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +17 -0
- package/action-state/action-state-spinner/action-state-spinner.component.d.ts +0 -12
- package/action-state/action-state-ui/action-state-ui.module.d.ts +0 -7
- package/action-state/ngrx-ext/ngrx-ext.module.d.ts +0 -8
- package/action-state/ngrx.d.ts +0 -31
- package/esm2022/action-state/action-state-spinner/action-state-spinner.component.mjs +0 -24
- package/esm2022/action-state/action-state-ui/action-state-ui.module.mjs +0 -20
- package/esm2022/action-state/index.mjs +0 -8
- package/esm2022/action-state/ngrx-ext/ngrx-ext.module.mjs +0 -23
- package/esm2022/action-state/ngrx.mjs +0 -42
- package/esm2022/http-request-state/HttpRequestStateFactory.mjs +0 -52
- package/esm2022/http-request-state/HttpRequestStateStore.mjs +0 -101
- package/esm2022/http-request-state/directives/HttpStateDirectiveBase.mjs +0 -34
- package/esm2022/http-request-state/directives/http-error-state-directive.mjs +0 -29
- package/esm2022/http-request-state/directives/http-inProgress-state-directive.mjs +0 -29
- package/esm2022/http-request-state/directives/http-notStarted-state-directive.mjs +0 -29
- package/esm2022/http-request-state/directives/http-success-state-directive.mjs +0 -34
- package/esm2022/http-request-state/directives/index.mjs +0 -6
- package/esm2022/http-request-state/directives/request-state-directive.mjs +0 -60
- package/esm2022/http-request-state/helpers.mjs +0 -22
- package/esm2022/http-request-state/http-request-state.mjs +0 -39
- package/esm2022/http-request-state/http-state-module.mjs +0 -40
- package/esm2022/http-request-state/index.mjs +0 -7
- package/esm2022/http-request-state/rxjs/getRequestorBody.mjs +0 -4
- package/esm2022/http-request-state/rxjs/getRequestorState.mjs +0 -3
- package/esm2022/http-request-state/rxjs/index.mjs +0 -5
- package/esm2022/http-request-state/rxjs/tapError.mjs +0 -12
- package/esm2022/http-request-state/rxjs/tapSuccess.mjs +0 -12
- package/esm2022/http-request-state/types.mjs +0 -16
- package/esm2022/ngrx/actionable-selector.mjs +0 -73
- package/esm2022/ngrx/index.mjs +0 -2
- package/esm2022/one-paragon-angular-utilities.mjs +0 -5
- package/esm2022/public-api.mjs +0 -20
- package/esm2022/rxjs/defaultShareReplay.mjs +0 -7
- package/esm2022/rxjs/index.mjs +0 -6
- package/esm2022/rxjs/mapError.mjs +0 -8
- package/esm2022/rxjs/rxjs-operators.mjs +0 -92
- package/esm2022/rxjs/subjectifier.mjs +0 -15
- package/esm2022/rxjs/subscriber.directive.mjs +0 -52
- package/esm2022/table-builder/classes/DefaultSettings.mjs +0 -6
- package/esm2022/table-builder/classes/MatTableObservableDataSource.mjs +0 -21
- package/esm2022/table-builder/classes/TableBuilderConfig.mjs +0 -18
- package/esm2022/table-builder/classes/TableBuilderDataSource.mjs +0 -44
- package/esm2022/table-builder/classes/TableState.mjs +0 -47
- package/esm2022/table-builder/classes/display-col.mjs +0 -2
- package/esm2022/table-builder/classes/filter-info.mjs +0 -73
- package/esm2022/table-builder/classes/table-builder-general-settings.mjs +0 -107
- package/esm2022/table-builder/classes/table-builder.mjs +0 -74
- package/esm2022/table-builder/classes/table-store.mjs +0 -357
- package/esm2022/table-builder/components/array-column.component.mjs +0 -57
- package/esm2022/table-builder/components/column-builder/column-builder.component.mjs +0 -125
- package/esm2022/table-builder/components/column-builder/column-helpers.mjs +0 -26
- package/esm2022/table-builder/components/date-filter/date-filter.component.mjs +0 -29
- package/esm2022/table-builder/components/date-time-filter/date-time-filter.component.mjs +0 -24
- package/esm2022/table-builder/components/filter/filter.component.mjs +0 -67
- package/esm2022/table-builder/components/filter/in-list/in-list-filter.component.mjs +0 -101
- package/esm2022/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +0 -53
- package/esm2022/table-builder/components/generic-table/generic-table.component.mjs +0 -224
- package/esm2022/table-builder/components/generic-table/paginator.component.mjs +0 -94
- package/esm2022/table-builder/components/group-by-list/group-by-list.component.mjs +0 -23
- package/esm2022/table-builder/components/header-menu/header-menu.component.mjs +0 -100
- package/esm2022/table-builder/components/in-filter/in-filter.component.mjs +0 -64
- package/esm2022/table-builder/components/index.mjs +0 -10
- package/esm2022/table-builder/components/initialization-component/initialization-component.mjs +0 -40
- package/esm2022/table-builder/components/link-column.component.mjs +0 -78
- package/esm2022/table-builder/components/number-filter/number-filter.component.mjs +0 -29
- package/esm2022/table-builder/components/profiles-menu/profiles-menu.component.mjs +0 -66
- package/esm2022/table-builder/components/scroll-strategy.mjs +0 -68
- package/esm2022/table-builder/components/sort-menu/sort-menu.component-store.mjs +0 -44
- package/esm2022/table-builder/components/sort-menu/sort-menu.component.mjs +0 -81
- package/esm2022/table-builder/components/table-container/table-container-imports.mjs +0 -26
- package/esm2022/table-builder/components/table-container/table-container.helpers/data-state.helpers.mjs +0 -135
- package/esm2022/table-builder/components/table-container/table-container.helpers/filter-state.helpers.mjs +0 -83
- package/esm2022/table-builder/components/table-container/table-container.helpers/groupBy.helpers.mjs +0 -71
- package/esm2022/table-builder/components/table-container/table-container.helpers/sort-state.helpers.mjs +0 -36
- package/esm2022/table-builder/components/table-container/table-container.mjs +0 -287
- package/esm2022/table-builder/components/table-container/tableProps.mjs +0 -7
- package/esm2022/table-builder/components/table-container/virtual-scroll-container.mjs +0 -121
- package/esm2022/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +0 -47
- package/esm2022/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +0 -36
- package/esm2022/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +0 -25
- package/esm2022/table-builder/directives/custom-cell-directive.mjs +0 -70
- package/esm2022/table-builder/directives/index.mjs +0 -6
- package/esm2022/table-builder/directives/multi-sort.directive.mjs +0 -50
- package/esm2022/table-builder/directives/resize-column.directive.mjs +0 -88
- package/esm2022/table-builder/directives/table-wrapper.directive.mjs +0 -20
- package/esm2022/table-builder/directives/tb-filter.directive.mjs +0 -410
- package/esm2022/table-builder/enums/filterTypes.mjs +0 -72
- package/esm2022/table-builder/functions/boolean-filter-function.mjs +0 -10
- package/esm2022/table-builder/functions/date-filter-function.mjs +0 -58
- package/esm2022/table-builder/functions/download-data.mjs +0 -12
- package/esm2022/table-builder/functions/null-filter-function.mjs +0 -8
- package/esm2022/table-builder/functions/number-filter-function.mjs +0 -32
- package/esm2022/table-builder/functions/sort-data-function.mjs +0 -17
- package/esm2022/table-builder/functions/string-filter-function.mjs +0 -41
- package/esm2022/table-builder/interfaces/ColumnInfo.mjs +0 -2
- package/esm2022/table-builder/interfaces/dictionary.mjs +0 -2
- package/esm2022/table-builder/interfaces/report-def.mjs +0 -50
- package/esm2022/table-builder/ngrx/tableBuilderStateStore.mjs +0 -154
- package/esm2022/table-builder/pipes/column-total.pipe.mjs +0 -22
- package/esm2022/table-builder/pipes/format-filter-type.pipe.mjs +0 -18
- package/esm2022/table-builder/pipes/format-filter-value.pipe.mjs +0 -45
- package/esm2022/table-builder/pipes/key-display.mjs +0 -20
- package/esm2022/table-builder/services/export-to-csv.service.mjs +0 -91
- package/esm2022/table-builder/services/link-creator.service.mjs +0 -50
- package/esm2022/table-builder/services/table-template-service.mjs +0 -57
- package/esm2022/table-builder/services/transform-creator.mjs +0 -105
- package/esm2022/table-builder/table-builder.module.mjs +0 -124
- package/esm2022/utilities/array-helpers.mjs +0 -14
- package/esm2022/utilities/directives/auto-focus.directive.mjs +0 -27
- package/esm2022/utilities/directives/clickEmitterDirective.mjs +0 -22
- package/esm2022/utilities/directives/clickSubject.mjs +0 -28
- package/esm2022/utilities/directives/conditional-classes.directive.mjs +0 -36
- package/esm2022/utilities/directives/dialog-service.mjs +0 -23
- package/esm2022/utilities/directives/dialog.mjs +0 -146
- package/esm2022/utilities/directives/mat-toggle-group-directive.mjs +0 -60
- package/esm2022/utilities/directives/prevent-enter.directive.mjs +0 -20
- package/esm2022/utilities/directives/stop-propagation.directive.mjs +0 -26
- package/esm2022/utilities/directives/styler.mjs +0 -42
- package/esm2022/utilities/directives/trim-whitespace.directive.mjs +0 -30
- package/esm2022/utilities/index.mjs +0 -16
- package/esm2022/utilities/module.mjs +0 -90
- package/esm2022/utilities/pipes/function.pipe.mjs +0 -22
- package/esm2022/utilities/pipes/phone.pipe.mjs +0 -20
- package/esm2022/utilities/pipes/space-case.pipes.mjs +0 -28
- package/fesm2022/one-paragon-angular-utilities.mjs +0 -5559
- package/fesm2022/one-paragon-angular-utilities.mjs.map +0 -1
- package/http-request-state/HttpRequestStateFactory.d.ts +0 -17
- package/http-request-state/HttpRequestStateStore.d.ts +0 -49
- package/http-request-state/directives/HttpStateDirectiveBase.d.ts +0 -16
- package/http-request-state/directives/http-error-state-directive.d.ts +0 -12
- package/http-request-state/directives/http-inProgress-state-directive.d.ts +0 -12
- package/http-request-state/directives/http-notStarted-state-directive.d.ts +0 -12
- package/http-request-state/directives/http-success-state-directive.d.ts +0 -21
- package/http-request-state/directives/request-state-directive.d.ts +0 -35
- package/http-request-state/helpers.d.ts +0 -9
- package/http-request-state/http-request-state.d.ts +0 -12
- package/http-request-state/http-state-module.d.ts +0 -11
- package/http-request-state/rxjs/getRequestorBody.d.ts +0 -3
- package/http-request-state/rxjs/getRequestorState.d.ts +0 -3
- package/http-request-state/rxjs/tapError.d.ts +0 -3
- package/http-request-state/rxjs/tapSuccess.d.ts +0 -3
- package/http-request-state/types.d.ts +0 -41
- package/index.d.ts +0 -5
- package/ngrx/actionable-selector.d.ts +0 -17
- package/ngrx/index.d.ts +0 -1
- package/rxjs/defaultShareReplay.d.ts +0 -2
- package/rxjs/mapError.d.ts +0 -2
- package/rxjs/rxjs-operators.d.ts +0 -13
- package/rxjs/subjectifier.d.ts +0 -9
- package/rxjs/subscriber.directive.d.ts +0 -14
- package/table-builder/classes/DefaultSettings.d.ts +0 -9
- package/table-builder/classes/MatTableObservableDataSource.d.ts +0 -9
- package/table-builder/classes/TableBuilderConfig.d.ts +0 -21
- package/table-builder/classes/TableBuilderDataSource.d.ts +0 -14
- package/table-builder/classes/TableState.d.ts +0 -56
- package/table-builder/classes/filter-info.d.ts +0 -127
- package/table-builder/classes/table-builder-general-settings.d.ts +0 -72
- package/table-builder/classes/table-builder.d.ts +0 -18
- package/table-builder/classes/table-store.d.ts +0 -146
- package/table-builder/components/array-column.component.d.ts +0 -15
- package/table-builder/components/column-builder/column-builder.component.d.ts +0 -51
- package/table-builder/components/column-builder/column-helpers.d.ts +0 -28
- package/table-builder/components/date-filter/date-filter.component.d.ts +0 -10
- package/table-builder/components/date-time-filter/date-time-filter.component.d.ts +0 -10
- package/table-builder/components/filter/filter.component.d.ts +0 -112
- package/table-builder/components/filter/in-list/in-list-filter.component.d.ts +0 -27
- package/table-builder/components/gen-col-displayer/gen-col-displayer.component.d.ts +0 -16
- package/table-builder/components/generic-table/generic-table.component.d.ts +0 -67
- package/table-builder/components/generic-table/paginator.component.d.ts +0 -30
- package/table-builder/components/group-by-list/group-by-list.component.d.ts +0 -7
- package/table-builder/components/header-menu/header-menu.component.d.ts +0 -25
- package/table-builder/components/in-filter/in-filter.component.d.ts +0 -21
- package/table-builder/components/initialization-component/initialization-component.d.ts +0 -13
- package/table-builder/components/link-column.component.d.ts +0 -25
- package/table-builder/components/number-filter/number-filter.component.d.ts +0 -12
- package/table-builder/components/profiles-menu/profiles-menu.component.d.ts +0 -32
- package/table-builder/components/scroll-strategy.d.ts +0 -25
- package/table-builder/components/sort-menu/sort-menu.component-store.d.ts +0 -24
- package/table-builder/components/sort-menu/sort-menu.component.d.ts +0 -25
- package/table-builder/components/table-container/table-container.d.ts +0 -73
- package/table-builder/components/table-container/table-container.helpers/data-state.helpers.d.ts +0 -6
- package/table-builder/components/table-container/table-container.helpers/filter-state.helpers.d.ts +0 -17
- package/table-builder/components/table-container/table-container.helpers/groupBy.helpers.d.ts +0 -17
- package/table-builder/components/table-container/table-container.helpers/sort-state.helpers.d.ts +0 -8
- package/table-builder/components/table-container/tableProps.d.ts +0 -11
- package/table-builder/components/table-container/virtual-scroll-container.d.ts +0 -23
- package/table-builder/components/table-container-filter/filter-list/filter-list.component.d.ts +0 -16
- package/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.d.ts +0 -14
- package/table-builder/components/table-container-filter/table-wrapper-filter-store.d.ts +0 -14
- package/table-builder/directives/custom-cell-directive.d.ts +0 -31
- package/table-builder/directives/multi-sort.directive.d.ts +0 -11
- package/table-builder/directives/resize-column.directive.d.ts +0 -44
- package/table-builder/directives/table-wrapper.directive.d.ts +0 -8
- package/table-builder/directives/tb-filter.directive.d.ts +0 -120
- package/table-builder/enums/filterTypes.d.ts +0 -77
- package/table-builder/functions/boolean-filter-function.d.ts +0 -3
- package/table-builder/functions/date-filter-function.d.ts +0 -4
- package/table-builder/functions/download-data.d.ts +0 -1
- package/table-builder/functions/null-filter-function.d.ts +0 -2
- package/table-builder/functions/number-filter-function.d.ts +0 -4
- package/table-builder/functions/sort-data-function.d.ts +0 -6
- package/table-builder/functions/string-filter-function.d.ts +0 -7
- package/table-builder/interfaces/report-def.d.ts +0 -147
- package/table-builder/ngrx/tableBuilderStateStore.d.ts +0 -70
- package/table-builder/pipes/column-total.pipe.d.ts +0 -8
- package/table-builder/pipes/format-filter-type.pipe.d.ts +0 -8
- package/table-builder/pipes/format-filter-value.pipe.d.ts +0 -14
- package/table-builder/pipes/key-display.d.ts +0 -11
- package/table-builder/services/export-to-csv.service.d.ts +0 -22
- package/table-builder/services/link-creator.service.d.ts +0 -16
- package/table-builder/services/table-template-service.d.ts +0 -15
- package/table-builder/services/transform-creator.d.ts +0 -21
- package/table-builder/table-builder.module.d.ts +0 -21
- package/utilities/array-helpers.d.ts +0 -1
- package/utilities/directives/auto-focus.directive.d.ts +0 -10
- package/utilities/directives/clickEmitterDirective.d.ts +0 -7
- package/utilities/directives/clickSubject.d.ts +0 -9
- package/utilities/directives/conditional-classes.directive.d.ts +0 -14
- package/utilities/directives/dialog-service.d.ts +0 -10
- package/utilities/directives/dialog.d.ts +0 -47
- package/utilities/directives/mat-toggle-group-directive.d.ts +0 -21
- package/utilities/directives/prevent-enter.directive.d.ts +0 -6
- package/utilities/directives/stop-propagation.directive.d.ts +0 -7
- package/utilities/directives/styler.d.ts +0 -17
- package/utilities/directives/trim-whitespace.directive.d.ts +0 -9
- package/utilities/module.d.ts +0 -19
- package/utilities/pipes/function.pipe.d.ts +0 -7
- package/utilities/pipes/phone.pipe.d.ts +0 -7
- package/utilities/pipes/space-case.pipes.d.ts +0 -17
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';
|
|
2
|
-
import { FieldType } from '../../interfaces/report-def';
|
|
3
|
-
import { FilterType } from '../../enums/filterTypes';
|
|
4
|
-
import { MatMenuModule, MatMenuTrigger } from '@angular/material/menu';
|
|
5
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
7
|
-
import { FormsModule } from '@angular/forms';
|
|
8
|
-
import { NgClass } from '@angular/common';
|
|
9
|
-
import { InListFilterComponent } from '../filter/in-list/in-list-filter.component';
|
|
10
|
-
import { MatInputModule } from '@angular/material/input';
|
|
11
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
12
|
-
import { StopPropagationDirective } from '../../../utilities';
|
|
13
|
-
import { MatRadioModule } from '@angular/material/radio';
|
|
14
|
-
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
15
|
-
import * as i0 from "@angular/core";
|
|
16
|
-
import * as i1 from "../../classes/table-store";
|
|
17
|
-
import * as i2 from "@angular/material/menu";
|
|
18
|
-
import * as i3 from "@angular/material/icon";
|
|
19
|
-
import * as i4 from "@angular/material/button";
|
|
20
|
-
import * as i5 from "@angular/forms";
|
|
21
|
-
import * as i6 from "@angular/material/input";
|
|
22
|
-
import * as i7 from "@angular/material/form-field";
|
|
23
|
-
import * as i8 from "@angular/material/tooltip";
|
|
24
|
-
import * as i9 from "@angular/material/radio";
|
|
25
|
-
import * as i10 from "@angular/material/datepicker";
|
|
26
|
-
export class HeaderMenuComponent {
|
|
27
|
-
constructor(tableState) {
|
|
28
|
-
this.tableState = tableState;
|
|
29
|
-
this.FieldType = FieldType;
|
|
30
|
-
this.FilterType = FilterType;
|
|
31
|
-
}
|
|
32
|
-
hideField(key) {
|
|
33
|
-
this.tableState.hideColumn(key);
|
|
34
|
-
}
|
|
35
|
-
ngOnInit() {
|
|
36
|
-
this.filter = { key: this.metaData.key, fieldType: this.metaData.fieldType };
|
|
37
|
-
this.resetFilterType();
|
|
38
|
-
}
|
|
39
|
-
resetFilterType() {
|
|
40
|
-
if (this.metaData.additional?.filterOptions?.filterableValues) {
|
|
41
|
-
this.myFilterType = FilterType.In;
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
switch (this.metaData.fieldType) {
|
|
45
|
-
case FieldType.String:
|
|
46
|
-
case FieldType.Link:
|
|
47
|
-
case FieldType.PhoneNumber:
|
|
48
|
-
case FieldType.Array:
|
|
49
|
-
case FieldType.Unknown:
|
|
50
|
-
this.myFilterType = FilterType.StringContains;
|
|
51
|
-
break;
|
|
52
|
-
case FieldType.Currency:
|
|
53
|
-
case FieldType.Number:
|
|
54
|
-
this.myFilterType = FilterType.NumberEquals;
|
|
55
|
-
break;
|
|
56
|
-
case FieldType.Boolean:
|
|
57
|
-
this.myFilterType = FilterType.BooleanEquals;
|
|
58
|
-
break;
|
|
59
|
-
case FieldType.Date:
|
|
60
|
-
case FieldType.DateTime:
|
|
61
|
-
this.myFilterType = FilterType.DateIsOn;
|
|
62
|
-
break;
|
|
63
|
-
case FieldType.Enum:
|
|
64
|
-
this.myFilterType = FilterType.In;
|
|
65
|
-
break;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
setStringFilterType() {
|
|
69
|
-
this.myFilterType = this.myFilterType === FilterType.StringContains ? FilterType.StringDoesNotContain : FilterType.StringContains;
|
|
70
|
-
}
|
|
71
|
-
setFilterType(filterType) {
|
|
72
|
-
if (filterType === this.myFilterType) {
|
|
73
|
-
this.resetFilterType();
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
this.myFilterType = filterType;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
onEnter(filter) {
|
|
80
|
-
if (filter.filterValue != undefined && filter.filterType) {
|
|
81
|
-
this.tableState.addFilter(filter);
|
|
82
|
-
this.trigger.closeMenu();
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: HeaderMenuComponent, deps: [{ token: i1.TableStore }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
86
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: HeaderMenuComponent, isStandalone: true, selector: "tb-header-menu", inputs: { metaData: "metaData" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<button mat-icon-button class=\"open-menu-icon-button\" disableRipple [matMenuTriggerFor]=\"menu\" [matMenuTriggerRestoreFocus]=\"false\">\r\n <mat-icon class=\"menu-icon\">more_vert</mat-icon>\r\n</button>\r\n<mat-menu #menu=\"matMenu\" >\r\n @if (!(metaData.fieldType === FieldType.NotMapped))\r\n {\r\n <button mat-menu-item (click)=\"tableState.addGroupByKey(metaData.key)\">\r\n <mat-icon color=\"primary\">group</mat-icon>\r\n <span>Group By</span>\r\n </button>\r\n }\r\n <button mat-menu-item (click)=hideField(metaData.key)>\r\n <mat-icon color=\"primary\">visibility_off</mat-icon>\r\n <span>Hide Column</span>\r\n </button>\r\n @if (!(metaData.fieldType === FieldType.NotMapped))\r\n {\r\n <ng-form #myForm=\"ngForm\" (keydown.enter)=\"onEnter(myForm.value)\" class=\"tb-header-filter\">\r\n <input type=\"hidden\" name=\"filterId\" [ngModel]=\"'header-column-' + metaData.key\" />\r\n <input type=\"hidden\" name=\"filterType\" [ngModel]=\"myFilterType\" />\r\n <input type=\"hidden\" name=\"key\" [ngModel]=\"metaData.key\" />\r\n <input type=\"hidden\" name=\"fieldType\" [ngModel]=\"metaData.fieldType\" />\r\n \r\n @if(myFilterType === FilterType.Or || myFilterType === FilterType.In){\r\n <tb-in-list-filter name='filterValue' [key]='metaData.key' [(ngModel)]='myFilterValue'/>\r\n }\r\n @else if(metaData.fieldType === FieldType.Link || metaData.fieldType === FieldType.String || metaData.fieldType === FieldType.Array || metaData.fieldType === FieldType.Unknown || metaData.fieldType === FieldType.PhoneNumber) {\r\n <mat-form-field stop-propagation class=\"font auto-width\">\r\n <mat-icon matPrefix class=\"search-icon\">search</mat-icon>\r\n <mat-label>{{myFilterType === FilterType.StringDoesNotContain ? 'Does Not Contain...' : 'Contains...'}}</mat-label>\r\n <input matInput name=\"filterValue\" [ngModel]=\"filter.filterValue\" />\r\n <span matSuffix [matTooltip]=\"myFilterType === FilterType.StringDoesNotContain ? 'Contains' : 'Does Not Contain'\">\r\n <button mat-icon-button color=\"primary\" (click)=\"setStringFilterType()\" class=\"header-filter-icon-button\">\r\n <mat-icon [ngClass]=\"{'chosen-icon': myFilterType === FilterType.StringDoesNotContain }\">\r\n block\r\n </mat-icon>\r\n </button>\r\n </span>\r\n </mat-form-field>\r\n }\r\n @else if (metaData.fieldType === FieldType.Number || metaData.fieldType === FieldType.Currency) {\r\n <mat-form-field class=\"auto-width\" stop-propagation>\r\n <mat-label>{{myFilterType === FilterType.NumberEquals ? 'Equals...' : myFilterType === FilterType.NumberLessThan ? 'Less Than...' : 'More Than...'}}</mat-label>\r\n <input matInput type='number' name=\"filterValue\" [ngModel]=\"filter.filterValue\" />\r\n <span matPrefix class=\"tb-header-prefix\">\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.NumberLessThan)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.NumberLessThan }\">\r\n <mat-icon class=\"suffix-icons\"\r\n >\r\n arrow_back_ios</mat-icon>\r\n </button>\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.NumberGreaterThan)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.NumberGreaterThan }\" >\r\n <mat-icon class=\"suffix-icons\">arrow_forward_ios</mat-icon>\r\n </button>\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.NumberEquals)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.NumberEquals }\">\r\n <span class=\"suffix-icons\">=</span>\r\n </button>\r\n </span>\r\n </mat-form-field>\r\n }\r\n @else if (metaData.fieldType === FieldType.Boolean) {\r\n <div>\r\n <label>\r\n <mat-icon class=\"search-icon\">filter_list</mat-icon>\r\n </label>\r\n <mat-radio-group stop-propagation #ctrl=\"matRadioGroup\" #boolField='ngModel' class=\"font\" name=\"filterValue\" [ngModel]=\"myFilterValue\" >\r\n <mat-radio-button class=\"filter-radio-button\" (click)=\"myFilterValue = true;\" [value]=\"true\">True</mat-radio-button><br/>\r\n <mat-radio-button class=\"filter-radio-button\" (click)=\"myFilterValue = false\" [value]=\"false\">False</mat-radio-button><br/>\r\n </mat-radio-group>\r\n </div>\r\n }\r\n @else if (metaData.fieldType === FieldType.Date || metaData.fieldType === FieldType.DateTime) {\r\n <mat-form-field class=\"font auto-width\" stop-propagation >\r\n <span matPrefix class=\"tb-header-prefix\">\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.DateOnOrAfter)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.DateOnOrAfter }\">\r\n <mat-icon class=\"suffix-icons underline\">arrow_forward_ios</mat-icon>\r\n </button>\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.DateOnOrBefore)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.DateOnOrBefore }\">\r\n <mat-icon class=\"suffix-icons underline\">arrow_back_ios</mat-icon>\r\n </button>\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.DateIsOn)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.DateIsOn }\">\r\n <span class=\"suffix-icons underline\"> =</span>\r\n </button>\r\n </span>\r\n <mat-label>{{myFilterType === FilterType.DateIsOn ? 'On...' :\r\n myFilterType === FilterType.DateOnOrBefore ? 'On or Before...' : 'On or After...'}}</mat-label>\r\n <input matInput name=\"filterValue\" [ngModel]=\"filter.filterValue\" [matDatepicker]=\"calendar\"\r\n (click)=\"calendar.open()\"/>\r\n <mat-datepicker-toggle class=\"date-toggle header-filter-icon-button\" matSuffix [for]=\"calendar\" preventEnter></mat-datepicker-toggle>\r\n <mat-datepicker #calendar></mat-datepicker>\r\n </mat-form-field>\r\n }\r\n \r\n <button mat-button (click)=\"onEnter(myForm.value)\" [disabled]=\"myForm.value.filterValue == undefined\" disableRipple>\r\n Apply\r\n </button>\r\n </ng-form>\r\n }\r\n</mat-menu>\r\n", styles: [":host{--mdc-text-button-container-height: 24px;--mdc-filled-button-container-height: 24px;--mdc-protected-button-container-height: 24px;--mdc-outlined-button-container-height: 24px;--mat-text-button-touch-target-display: none;--mat-filled-button-touch-target-display: none;--mat-protected-button-touch-target-display: none;--mat-outlined-button-touch-target-display: none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.menu-icon{font-size:16px;line-height:16px;vertical-align:top;height:16px;width:16px}.search-icon{margin-right:16px;vertical-align:middle;height:24px;color:#0000008a;font-size:21px;line-height:1.125}.font{font-size:14px}.filter-radio-button:first-of-type{padding-left:0}.filter-radio-button{padding:10px 40px;min-width:110px}.auto-width{width:260px;margin:5px;display:block;height:55px}.open-menu-icon-button{height:28px;width:28px;padding:6px}.header-filter-icon-button{height:18px;width:18px;font-size:18px;padding:0;margin:0 2px}.header-filter-icon-button ::ng-deep *{line-height:initial;font-size:initial;height:18px;width:18px;font-size:18px;bottom:initial}.header-filter-icon-button.chosen-icon,.header-filter-icon-button.chosen-icon ::ng-deep *{height:22px;width:22px;font-size:22px;color:green}mat-icon.mat-icon.suffix-icons.underline{height:20px;text-decoration:underline .1px solid}.chosen-icon mat-icon.mat-icon.suffix-icons.underline{height:24px}::ng-deep .mat-mdc-form-field-icon-prefix:has(.tb-header-prefix),.tb-header-prefix{padding:0;flex-basis:36%}.tb-header-filter ::ng-deep .mat-mdc-form-field-subscript-wrapper{line-height:0}.tb-header-filter ::ng-deep .mat-mdc-form-field-subscript-wrapper:before{height:0}.date-toggle ::ng-deep svg{position:absolute;left:0;top:0}\n"], dependencies: [{ kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.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: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: InListFilterComponent, selector: "tb-in-list-filter , [tb-in-list-filter]", inputs: ["key"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.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: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i7.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: StopPropagationDirective, selector: "[stop-propagation]" }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i9.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i9.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i10.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i10.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i10.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
87
|
-
}
|
|
88
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: HeaderMenuComponent, decorators: [{
|
|
89
|
-
type: Component,
|
|
90
|
-
args: [{ selector: 'tb-header-menu', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
91
|
-
MatMenuModule, MatIconModule, MatButtonModule, FormsModule, InListFilterComponent,
|
|
92
|
-
MatInputModule, MatTooltipModule, NgClass, StopPropagationDirective, MatRadioModule, MatDatepickerModule
|
|
93
|
-
], template: "<button mat-icon-button class=\"open-menu-icon-button\" disableRipple [matMenuTriggerFor]=\"menu\" [matMenuTriggerRestoreFocus]=\"false\">\r\n <mat-icon class=\"menu-icon\">more_vert</mat-icon>\r\n</button>\r\n<mat-menu #menu=\"matMenu\" >\r\n @if (!(metaData.fieldType === FieldType.NotMapped))\r\n {\r\n <button mat-menu-item (click)=\"tableState.addGroupByKey(metaData.key)\">\r\n <mat-icon color=\"primary\">group</mat-icon>\r\n <span>Group By</span>\r\n </button>\r\n }\r\n <button mat-menu-item (click)=hideField(metaData.key)>\r\n <mat-icon color=\"primary\">visibility_off</mat-icon>\r\n <span>Hide Column</span>\r\n </button>\r\n @if (!(metaData.fieldType === FieldType.NotMapped))\r\n {\r\n <ng-form #myForm=\"ngForm\" (keydown.enter)=\"onEnter(myForm.value)\" class=\"tb-header-filter\">\r\n <input type=\"hidden\" name=\"filterId\" [ngModel]=\"'header-column-' + metaData.key\" />\r\n <input type=\"hidden\" name=\"filterType\" [ngModel]=\"myFilterType\" />\r\n <input type=\"hidden\" name=\"key\" [ngModel]=\"metaData.key\" />\r\n <input type=\"hidden\" name=\"fieldType\" [ngModel]=\"metaData.fieldType\" />\r\n \r\n @if(myFilterType === FilterType.Or || myFilterType === FilterType.In){\r\n <tb-in-list-filter name='filterValue' [key]='metaData.key' [(ngModel)]='myFilterValue'/>\r\n }\r\n @else if(metaData.fieldType === FieldType.Link || metaData.fieldType === FieldType.String || metaData.fieldType === FieldType.Array || metaData.fieldType === FieldType.Unknown || metaData.fieldType === FieldType.PhoneNumber) {\r\n <mat-form-field stop-propagation class=\"font auto-width\">\r\n <mat-icon matPrefix class=\"search-icon\">search</mat-icon>\r\n <mat-label>{{myFilterType === FilterType.StringDoesNotContain ? 'Does Not Contain...' : 'Contains...'}}</mat-label>\r\n <input matInput name=\"filterValue\" [ngModel]=\"filter.filterValue\" />\r\n <span matSuffix [matTooltip]=\"myFilterType === FilterType.StringDoesNotContain ? 'Contains' : 'Does Not Contain'\">\r\n <button mat-icon-button color=\"primary\" (click)=\"setStringFilterType()\" class=\"header-filter-icon-button\">\r\n <mat-icon [ngClass]=\"{'chosen-icon': myFilterType === FilterType.StringDoesNotContain }\">\r\n block\r\n </mat-icon>\r\n </button>\r\n </span>\r\n </mat-form-field>\r\n }\r\n @else if (metaData.fieldType === FieldType.Number || metaData.fieldType === FieldType.Currency) {\r\n <mat-form-field class=\"auto-width\" stop-propagation>\r\n <mat-label>{{myFilterType === FilterType.NumberEquals ? 'Equals...' : myFilterType === FilterType.NumberLessThan ? 'Less Than...' : 'More Than...'}}</mat-label>\r\n <input matInput type='number' name=\"filterValue\" [ngModel]=\"filter.filterValue\" />\r\n <span matPrefix class=\"tb-header-prefix\">\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.NumberLessThan)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.NumberLessThan }\">\r\n <mat-icon class=\"suffix-icons\"\r\n >\r\n arrow_back_ios</mat-icon>\r\n </button>\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.NumberGreaterThan)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.NumberGreaterThan }\" >\r\n <mat-icon class=\"suffix-icons\">arrow_forward_ios</mat-icon>\r\n </button>\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.NumberEquals)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.NumberEquals }\">\r\n <span class=\"suffix-icons\">=</span>\r\n </button>\r\n </span>\r\n </mat-form-field>\r\n }\r\n @else if (metaData.fieldType === FieldType.Boolean) {\r\n <div>\r\n <label>\r\n <mat-icon class=\"search-icon\">filter_list</mat-icon>\r\n </label>\r\n <mat-radio-group stop-propagation #ctrl=\"matRadioGroup\" #boolField='ngModel' class=\"font\" name=\"filterValue\" [ngModel]=\"myFilterValue\" >\r\n <mat-radio-button class=\"filter-radio-button\" (click)=\"myFilterValue = true;\" [value]=\"true\">True</mat-radio-button><br/>\r\n <mat-radio-button class=\"filter-radio-button\" (click)=\"myFilterValue = false\" [value]=\"false\">False</mat-radio-button><br/>\r\n </mat-radio-group>\r\n </div>\r\n }\r\n @else if (metaData.fieldType === FieldType.Date || metaData.fieldType === FieldType.DateTime) {\r\n <mat-form-field class=\"font auto-width\" stop-propagation >\r\n <span matPrefix class=\"tb-header-prefix\">\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.DateOnOrAfter)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.DateOnOrAfter }\">\r\n <mat-icon class=\"suffix-icons underline\">arrow_forward_ios</mat-icon>\r\n </button>\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.DateOnOrBefore)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.DateOnOrBefore }\">\r\n <mat-icon class=\"suffix-icons underline\">arrow_back_ios</mat-icon>\r\n </button>\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.DateIsOn)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.DateIsOn }\">\r\n <span class=\"suffix-icons underline\"> =</span>\r\n </button>\r\n </span>\r\n <mat-label>{{myFilterType === FilterType.DateIsOn ? 'On...' :\r\n myFilterType === FilterType.DateOnOrBefore ? 'On or Before...' : 'On or After...'}}</mat-label>\r\n <input matInput name=\"filterValue\" [ngModel]=\"filter.filterValue\" [matDatepicker]=\"calendar\"\r\n (click)=\"calendar.open()\"/>\r\n <mat-datepicker-toggle class=\"date-toggle header-filter-icon-button\" matSuffix [for]=\"calendar\" preventEnter></mat-datepicker-toggle>\r\n <mat-datepicker #calendar></mat-datepicker>\r\n </mat-form-field>\r\n }\r\n \r\n <button mat-button (click)=\"onEnter(myForm.value)\" [disabled]=\"myForm.value.filterValue == undefined\" disableRipple>\r\n Apply\r\n </button>\r\n </ng-form>\r\n }\r\n</mat-menu>\r\n", styles: [":host{--mdc-text-button-container-height: 24px;--mdc-filled-button-container-height: 24px;--mdc-protected-button-container-height: 24px;--mdc-outlined-button-container-height: 24px;--mat-text-button-touch-target-display: none;--mat-filled-button-touch-target-display: none;--mat-protected-button-touch-target-display: none;--mat-outlined-button-touch-target-display: none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.menu-icon{font-size:16px;line-height:16px;vertical-align:top;height:16px;width:16px}.search-icon{margin-right:16px;vertical-align:middle;height:24px;color:#0000008a;font-size:21px;line-height:1.125}.font{font-size:14px}.filter-radio-button:first-of-type{padding-left:0}.filter-radio-button{padding:10px 40px;min-width:110px}.auto-width{width:260px;margin:5px;display:block;height:55px}.open-menu-icon-button{height:28px;width:28px;padding:6px}.header-filter-icon-button{height:18px;width:18px;font-size:18px;padding:0;margin:0 2px}.header-filter-icon-button ::ng-deep *{line-height:initial;font-size:initial;height:18px;width:18px;font-size:18px;bottom:initial}.header-filter-icon-button.chosen-icon,.header-filter-icon-button.chosen-icon ::ng-deep *{height:22px;width:22px;font-size:22px;color:green}mat-icon.mat-icon.suffix-icons.underline{height:20px;text-decoration:underline .1px solid}.chosen-icon mat-icon.mat-icon.suffix-icons.underline{height:24px}::ng-deep .mat-mdc-form-field-icon-prefix:has(.tb-header-prefix),.tb-header-prefix{padding:0;flex-basis:36%}.tb-header-filter ::ng-deep .mat-mdc-form-field-subscript-wrapper{line-height:0}.tb-header-filter ::ng-deep .mat-mdc-form-field-subscript-wrapper:before{height:0}.date-toggle ::ng-deep svg{position:absolute;left:0;top:0}\n"] }]
|
|
94
|
-
}], ctorParameters: () => [{ type: i1.TableStore }], propDecorators: { metaData: [{
|
|
95
|
-
type: Input
|
|
96
|
-
}], trigger: [{
|
|
97
|
-
type: ViewChild,
|
|
98
|
-
args: [MatMenuTrigger]
|
|
99
|
-
}] } });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9oZWFkZXItbWVudS9oZWFkZXItbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2hlYWRlci1tZW51L2hlYWRlci1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsU0FBUyxFQUFZLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7OztBQWFuRSxNQUFNLE9BQU8sbUJBQW1CO0lBVTlCLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFUMUMsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUN0QixlQUFVLEdBQUcsVUFBVSxDQUFDO0lBUXFCLENBQUM7SUFFOUMsU0FBUyxDQUFDLEdBQVc7UUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzdFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLENBQUM7WUFDN0QsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ2xDLE9BQU87UUFDVCxDQUFDO1FBQ0QsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2hDLEtBQUssU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUN0QixLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDcEIsS0FBSyxTQUFTLENBQUMsV0FBVyxDQUFDO1lBQzNCLEtBQUssU0FBUyxDQUFDLEtBQUssQ0FBQztZQUNyQixLQUFLLFNBQVMsQ0FBQyxPQUFPO2dCQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUM7Z0JBQzlDLE1BQU07WUFDUixLQUFLLFNBQVMsQ0FBQyxRQUFRLENBQUM7WUFDeEIsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDO2dCQUM1QyxNQUFNO1lBQ1IsS0FBSyxTQUFTLENBQUMsT0FBTztnQkFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDO2dCQUM3QyxNQUFNO1lBQ1YsS0FBSyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ3BCLEtBQUssU0FBUyxDQUFDLFFBQVE7Z0JBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQztnQkFDeEMsTUFBTTtZQUNWLEtBQUssU0FBUyxDQUFDLElBQUk7Z0JBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDbEMsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksS0FBSyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUM7SUFDcEksQ0FBQztJQUVELGFBQWEsQ0FBQyxVQUFzQjtRQUNsQyxJQUFJLFVBQVUsS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsTUFBa0I7UUFDeEIsSUFBSSxNQUFNLENBQUMsV0FBVyxJQUFJLFNBQVMsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDekQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQzs4R0FwRVUsbUJBQW1CO2tHQUFuQixtQkFBbUIscUpBU25CLGNBQWMsZ0RDckMzQixtc05Bd0dBLGt6RERoRkksYUFBYSw2dkJBQUUsYUFBYSxtTEFBRSxlQUFlLHdVQUFFLFdBQVcscThCQUFFLHFCQUFxQixvR0FDakYsY0FBYyx3M0JBQUUsZ0JBQWdCLDZUQUFFLE9BQU8sb0ZBQUUsd0JBQXdCLDhEQUFFLGNBQWMsc2lCQUFFLG1CQUFtQjs7MkZBRy9GLG1CQUFtQjtrQkFYL0IsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsYUFBYSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLHFCQUFxQjt3QkFDakYsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxjQUFjLEVBQUUsbUJBQW1CO3FCQUN6RzsrRUFVUSxRQUFRO3NCQUFoQixLQUFLO2dCQUNxQixPQUFPO3NCQUFqQyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpZWxkVHlwZSwgTWV0YURhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3JlcG9ydC1kZWYnO1xyXG5pbXBvcnQgeyBGaWx0ZXJUeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvZmlsdGVyVHlwZXMnO1xyXG5pbXBvcnQgeyBGaWx0ZXJJbmZvIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9maWx0ZXItaW5mbyc7XHJcbmltcG9ydCB7IFRhYmxlU3RvcmUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3RhYmxlLXN0b3JlJztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSwgTWF0TWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEluTGlzdEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uL2ZpbHRlci9pbi1saXN0L2luLWxpc3QtZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IFN0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcyc7XHJcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RiLWhlYWRlci1tZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2hlYWRlci1tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRNZW51TW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBJbkxpc3RGaWx0ZXJDb21wb25lbnQsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZSwgTmdDbGFzcywgU3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlLCBNYXRSYWRpb01vZHVsZSwgTWF0RGF0ZXBpY2tlck1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWRlck1lbnVDb21wb25lbnQge1xyXG4gIEZpZWxkVHlwZSA9IEZpZWxkVHlwZTtcclxuICBGaWx0ZXJUeXBlID0gRmlsdGVyVHlwZTtcclxuICBteUZpbHRlclR5cGUhOiBGaWx0ZXJUeXBlO1xyXG4gIG15RmlsdGVyVmFsdWU6IGFueTtcclxuXHJcbiAgZmlsdGVyITogUGFydGlhbDxGaWx0ZXJJbmZvPjtcclxuXHJcbiAgQElucHV0KCkgbWV0YURhdGEhOiBNZXRhRGF0YTtcclxuICBAVmlld0NoaWxkKE1hdE1lbnVUcmlnZ2VyKSB0cmlnZ2VyITogTWF0TWVudVRyaWdnZXI7XHJcbiAgY29uc3RydWN0b3IoIHB1YmxpYyB0YWJsZVN0YXRlOiBUYWJsZVN0b3JlKSB7fVxyXG5cclxuICBoaWRlRmllbGQoa2V5OiBzdHJpbmcpIHtcclxuICAgIHRoaXMudGFibGVTdGF0ZS5oaWRlQ29sdW1uKGtleSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZmlsdGVyID0geyBrZXk6IHRoaXMubWV0YURhdGEua2V5LCBmaWVsZFR5cGU6IHRoaXMubWV0YURhdGEuZmllbGRUeXBlIH07XHJcbiAgICB0aGlzLnJlc2V0RmlsdGVyVHlwZSgpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRGaWx0ZXJUeXBlKCkge1xyXG4gICAgaWYodGhpcy5tZXRhRGF0YS5hZGRpdGlvbmFsPy5maWx0ZXJPcHRpb25zPy5maWx0ZXJhYmxlVmFsdWVzKSB7XHJcbiAgICAgIHRoaXMubXlGaWx0ZXJUeXBlID0gRmlsdGVyVHlwZS5JbjtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgc3dpdGNoICh0aGlzLm1ldGFEYXRhLmZpZWxkVHlwZSkge1xyXG4gICAgICBjYXNlIEZpZWxkVHlwZS5TdHJpbmc6XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlLkxpbms6XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlLlBob25lTnVtYmVyOlxyXG4gICAgICBjYXNlIEZpZWxkVHlwZS5BcnJheTpcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuVW5rbm93bjpcclxuICAgICAgICB0aGlzLm15RmlsdGVyVHlwZSA9IEZpbHRlclR5cGUuU3RyaW5nQ29udGFpbnM7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlLkN1cnJlbmN5OlxyXG4gICAgICBjYXNlIEZpZWxkVHlwZS5OdW1iZXI6XHJcbiAgICAgICAgdGhpcy5teUZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLk51bWJlckVxdWFscztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuQm9vbGVhbjpcclxuICAgICAgICAgIHRoaXMubXlGaWx0ZXJUeXBlID0gRmlsdGVyVHlwZS5Cb29sZWFuRXF1YWxzO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGU6XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGVUaW1lOlxyXG4gICAgICAgICAgdGhpcy5teUZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLkRhdGVJc09uO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlLkVudW06XHJcbiAgICAgICAgdGhpcy5teUZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLkluO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0U3RyaW5nRmlsdGVyVHlwZSgpIHtcclxuICAgIHRoaXMubXlGaWx0ZXJUeXBlID0gdGhpcy5teUZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuU3RyaW5nQ29udGFpbnMgPyBGaWx0ZXJUeXBlLlN0cmluZ0RvZXNOb3RDb250YWluIDogRmlsdGVyVHlwZS5TdHJpbmdDb250YWlucztcclxuICB9XHJcblxyXG4gIHNldEZpbHRlclR5cGUoZmlsdGVyVHlwZTogRmlsdGVyVHlwZSkge1xyXG4gICAgaWYgKGZpbHRlclR5cGUgPT09IHRoaXMubXlGaWx0ZXJUeXBlKSB7XHJcbiAgICAgIHRoaXMucmVzZXRGaWx0ZXJUeXBlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm15RmlsdGVyVHlwZSA9IGZpbHRlclR5cGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkVudGVyKGZpbHRlcjogRmlsdGVySW5mbykge1xyXG4gICAgaWYgKGZpbHRlci5maWx0ZXJWYWx1ZSAhPSB1bmRlZmluZWQgJiYgZmlsdGVyLmZpbHRlclR5cGUpIHtcclxuICAgICAgdGhpcy50YWJsZVN0YXRlLmFkZEZpbHRlcihmaWx0ZXIpO1xyXG4gICAgICB0aGlzLnRyaWdnZXIuY2xvc2VNZW51KCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxidXR0b24gbWF0LWljb24tYnV0dG9uIGNsYXNzPVwib3Blbi1tZW51LWljb24tYnV0dG9uXCIgZGlzYWJsZVJpcHBsZSBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiIFttYXRNZW51VHJpZ2dlclJlc3RvcmVGb2N1c109XCJmYWxzZVwiPlxyXG4gIDxtYXQtaWNvbiBjbGFzcz1cIm1lbnUtaWNvblwiPm1vcmVfdmVydDwvbWF0LWljb24+XHJcbjwvYnV0dG9uPlxyXG48bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCIgPlxyXG4gIEBpZiAoIShtZXRhRGF0YS5maWVsZFR5cGUgPT09IEZpZWxkVHlwZS5Ob3RNYXBwZWQpKVxyXG4gIHtcclxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwidGFibGVTdGF0ZS5hZGRHcm91cEJ5S2V5KG1ldGFEYXRhLmtleSlcIj5cclxuICAgICAgPG1hdC1pY29uIGNvbG9yPVwicHJpbWFyeVwiPmdyb3VwPC9tYXQtaWNvbj5cclxuICAgICAgPHNwYW4+R3JvdXAgQnk8L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICB9XHJcbiAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9aGlkZUZpZWxkKG1ldGFEYXRhLmtleSk+XHJcbiAgICA8bWF0LWljb24gY29sb3I9XCJwcmltYXJ5XCI+dmlzaWJpbGl0eV9vZmY8L21hdC1pY29uPlxyXG4gICAgPHNwYW4+SGlkZSBDb2x1bW48L3NwYW4+XHJcbiAgPC9idXR0b24+XHJcbiAgQGlmICghKG1ldGFEYXRhLmZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLk5vdE1hcHBlZCkpXHJcbiAge1xyXG4gICAgPG5nLWZvcm0gI215Rm9ybT1cIm5nRm9ybVwiIChrZXlkb3duLmVudGVyKT1cIm9uRW50ZXIobXlGb3JtLnZhbHVlKVwiIGNsYXNzPVwidGItaGVhZGVyLWZpbHRlclwiPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJmaWx0ZXJJZFwiICBbbmdNb2RlbF09XCInaGVhZGVyLWNvbHVtbi0nICsgbWV0YURhdGEua2V5XCIgLz5cclxuICAgICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwiZmlsdGVyVHlwZVwiICBbbmdNb2RlbF09XCJteUZpbHRlclR5cGVcIiAvPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJrZXlcIiAgW25nTW9kZWxdPVwibWV0YURhdGEua2V5XCIgLz5cclxuICAgICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwiZmllbGRUeXBlXCIgIFtuZ01vZGVsXT1cIm1ldGFEYXRhLmZpZWxkVHlwZVwiIC8+XHJcbiAgICAgIFxyXG4gICAgICBAaWYobXlGaWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlLk9yIHx8IG15RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5Jbil7XHJcbiAgICAgICAgPHRiLWluLWxpc3QtZmlsdGVyIG5hbWU9J2ZpbHRlclZhbHVlJyBba2V5XT0nbWV0YURhdGEua2V5JyBbKG5nTW9kZWwpXT0nbXlGaWx0ZXJWYWx1ZScvPlxyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIGlmKG1ldGFEYXRhLmZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkxpbmsgfHwgbWV0YURhdGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuU3RyaW5nIHx8IG1ldGFEYXRhLmZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkFycmF5IHx8IG1ldGFEYXRhLmZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLlVua25vd24gfHwgbWV0YURhdGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuUGhvbmVOdW1iZXIpIHtcclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgc3RvcC1wcm9wYWdhdGlvbiBjbGFzcz1cImZvbnQgYXV0by13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIG1hdFByZWZpeCBjbGFzcz1cInNlYXJjaC1pY29uXCI+c2VhcmNoPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+e3tteUZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuU3RyaW5nRG9lc05vdENvbnRhaW4gPyAnRG9lcyBOb3QgQ29udGFpbi4uLicgOiAnQ29udGFpbnMuLi4nfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPVwiZmlsdGVyVmFsdWVcIiBbbmdNb2RlbF09XCJmaWx0ZXIuZmlsdGVyVmFsdWVcIiAvPlxyXG4gICAgICAgICAgPHNwYW4gbWF0U3VmZml4IFttYXRUb29sdGlwXT1cIm15RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5TdHJpbmdEb2VzTm90Q29udGFpbiA/ICdDb250YWlucycgOiAnRG9lcyBOb3QgQ29udGFpbidcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInNldFN0cmluZ0ZpbHRlclR5cGUoKVwiIGNsYXNzPVwiaGVhZGVyLWZpbHRlci1pY29uLWJ1dHRvblwiPlxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBbbmdDbGFzc109XCJ7J2Nob3Nlbi1pY29uJzogbXlGaWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlLlN0cmluZ0RvZXNOb3RDb250YWluIH1cIj5cclxuICAgICAgICAgICAgICAgIGJsb2NrXHJcbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgfVxyXG4gICAgICBAZWxzZSBpZiAobWV0YURhdGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuTnVtYmVyIHx8IG1ldGFEYXRhLmZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkN1cnJlbmN5KSB7XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiYXV0by13aWR0aFwiIHN0b3AtcHJvcGFnYXRpb24+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPnt7bXlGaWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlLk51bWJlckVxdWFscyA/ICdFcXVhbHMuLi4nIDogbXlGaWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlLk51bWJlckxlc3NUaGFuID8gJ0xlc3MgVGhhbi4uLicgOiAnTW9yZSBUaGFuLi4uJ319PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0nbnVtYmVyJyAgbmFtZT1cImZpbHRlclZhbHVlXCIgW25nTW9kZWxdPVwiZmlsdGVyLmZpbHRlclZhbHVlXCIgLz5cclxuICAgICAgICAgIDxzcGFuIG1hdFByZWZpeCBjbGFzcz1cInRiLWhlYWRlci1wcmVmaXhcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gZGlzYWJsZVJpcHBsZSBjbGFzcz1cImhlYWRlci1maWx0ZXItaWNvbi1idXR0b25cIiAoY2xpY2spPVwic2V0RmlsdGVyVHlwZShGaWx0ZXJUeXBlLk51bWJlckxlc3NUaGFuKVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnY2hvc2VuLWljb24nOiBteUZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuTnVtYmVyTGVzc1RoYW4gfVwiPlxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvbiAgY2xhc3M9XCJzdWZmaXgtaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgYXJyb3dfYmFja19pb3M8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gZGlzYWJsZVJpcHBsZSBjbGFzcz1cImhlYWRlci1maWx0ZXItaWNvbi1idXR0b25cIiAoY2xpY2spPVwic2V0RmlsdGVyVHlwZShGaWx0ZXJUeXBlLk51bWJlckdyZWF0ZXJUaGFuKVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnY2hvc2VuLWljb24nOiBteUZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuTnVtYmVyR3JlYXRlclRoYW4gfVwiID5cclxuICAgICAgICAgICAgICA8bWF0LWljb24gIGNsYXNzPVwic3VmZml4LWljb25zXCI+YXJyb3dfZm9yd2FyZF9pb3M8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gZGlzYWJsZVJpcHBsZSBjbGFzcz1cImhlYWRlci1maWx0ZXItaWNvbi1idXR0b25cIiAoY2xpY2spPVwic2V0RmlsdGVyVHlwZShGaWx0ZXJUeXBlLk51bWJlckVxdWFscylcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2Nob3Nlbi1pY29uJzogbXlGaWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlLk51bWJlckVxdWFscyB9XCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWZmaXgtaWNvbnNcIj49PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIGlmIChtZXRhRGF0YS5maWVsZFR5cGUgPT09IEZpZWxkVHlwZS5Cb29sZWFuKSB7XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwic2VhcmNoLWljb25cIj5maWx0ZXJfbGlzdDwvbWF0LWljb24+XHJcbiAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgPG1hdC1yYWRpby1ncm91cCBzdG9wLXByb3BhZ2F0aW9uICNjdHJsPVwibWF0UmFkaW9Hcm91cFwiICNib29sRmllbGQ9J25nTW9kZWwnIGNsYXNzPVwiZm9udFwiIG5hbWU9XCJmaWx0ZXJWYWx1ZVwiIFtuZ01vZGVsXT1cIm15RmlsdGVyVmFsdWVcIiA+XHJcbiAgICAgICAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIGNsYXNzPVwiZmlsdGVyLXJhZGlvLWJ1dHRvblwiIChjbGljayk9XCJteUZpbHRlclZhbHVlID0gdHJ1ZTtcIiBbdmFsdWVdPVwidHJ1ZVwiPlRydWU8L21hdC1yYWRpby1idXR0b24+PGJyLz5cclxuICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b24gY2xhc3M9XCJmaWx0ZXItcmFkaW8tYnV0dG9uXCIgKGNsaWNrKT1cIm15RmlsdGVyVmFsdWUgPSBmYWxzZVwiIFt2YWx1ZV09XCJmYWxzZVwiPkZhbHNlPC9tYXQtcmFkaW8tYnV0dG9uPjxici8+XHJcbiAgICAgICAgICA8L21hdC1yYWRpby1ncm91cD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgICBAZWxzZSBpZiAobWV0YURhdGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuRGF0ZSB8fCBtZXRhRGF0YS5maWVsZFR5cGUgPT09IEZpZWxkVHlwZS5EYXRlVGltZSkge1xyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZvbnQgYXV0by13aWR0aFwiIHN0b3AtcHJvcGFnYXRpb24gPlxyXG4gICAgICAgICAgPHNwYW4gbWF0UHJlZml4IGNsYXNzPVwidGItaGVhZGVyLXByZWZpeFwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBkaXNhYmxlUmlwcGxlIGNsYXNzPVwiaGVhZGVyLWZpbHRlci1pY29uLWJ1dHRvblwiIChjbGljayk9XCJzZXRGaWx0ZXJUeXBlKEZpbHRlclR5cGUuRGF0ZU9uT3JBZnRlcilcIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnY2hvc2VuLWljb24nOiBteUZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuRGF0ZU9uT3JBZnRlciB9XCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1pY29uICBjbGFzcz1cInN1ZmZpeC1pY29ucyB1bmRlcmxpbmVcIj5hcnJvd19mb3J3YXJkX2lvczwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBkaXNhYmxlUmlwcGxlIGNsYXNzPVwiaGVhZGVyLWZpbHRlci1pY29uLWJ1dHRvblwiIChjbGljayk9XCJzZXRGaWx0ZXJUeXBlKEZpbHRlclR5cGUuRGF0ZU9uT3JCZWZvcmUpXCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2Nob3Nlbi1pY29uJzogbXlGaWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlLkRhdGVPbk9yQmVmb3JlICB9XCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1pY29uICBjbGFzcz1cInN1ZmZpeC1pY29ucyB1bmRlcmxpbmVcIj5hcnJvd19iYWNrX2lvczwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBkaXNhYmxlUmlwcGxlIGNsYXNzPVwiaGVhZGVyLWZpbHRlci1pY29uLWJ1dHRvblwiIChjbGljayk9XCJzZXRGaWx0ZXJUeXBlKEZpbHRlclR5cGUuRGF0ZUlzT24pXCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2Nob3Nlbi1pY29uJzogbXlGaWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlLkRhdGVJc09uIH1cIj5cclxuICAgICAgICAgICAgICA8c3BhbiAgY2xhc3M9XCJzdWZmaXgtaWNvbnMgdW5kZXJsaW5lXCI+ID08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD57e215RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5EYXRlSXNPbiA/ICdPbi4uLicgOlxyXG4gICAgICAgICAgICBteUZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuRGF0ZU9uT3JCZWZvcmUgPyAnT24gb3IgQmVmb3JlLi4uJyA6ICdPbiBvciBBZnRlci4uLid9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9XCJmaWx0ZXJWYWx1ZVwiIFtuZ01vZGVsXT1cImZpbHRlci5maWx0ZXJWYWx1ZVwiIFttYXREYXRlcGlja2VyXT1cImNhbGVuZGFyXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImNhbGVuZGFyLm9wZW4oKVwiLz5cclxuICAgICAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgY2xhc3M9XCJkYXRlLXRvZ2dsZSBoZWFkZXItZmlsdGVyLWljb24tYnV0dG9uXCIgbWF0U3VmZml4IFtmb3JdPVwiY2FsZW5kYXJcIiBwcmV2ZW50RW50ZXI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XHJcbiAgICAgICAgICA8bWF0LWRhdGVwaWNrZXIgI2NhbGVuZGFyPjwvbWF0LWRhdGVwaWNrZXI+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgfVxyXG4gIFxyXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cIm9uRW50ZXIobXlGb3JtLnZhbHVlKVwiIFtkaXNhYmxlZF09XCJteUZvcm0udmFsdWUuZmlsdGVyVmFsdWUgPT0gdW5kZWZpbmVkXCIgZGlzYWJsZVJpcHBsZT5cclxuICAgICAgICBBcHBseVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvbmctZm9ybT5cclxuICB9XHJcbjwvbWF0LW1lbnU+XHJcbiJdfQ==
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import { FieldType } from '../../interfaces/report-def';
|
|
4
|
-
import { AutoFocusDirective } from '../../../utilities';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/forms";
|
|
7
|
-
export class InFilterComponent {
|
|
8
|
-
constructor(ref) {
|
|
9
|
-
this.ref = ref;
|
|
10
|
-
this.FieldType = FieldType;
|
|
11
|
-
this.value = [undefined];
|
|
12
|
-
this.onChange = (_) => { };
|
|
13
|
-
this.onTouched = () => { };
|
|
14
|
-
this.value = [undefined];
|
|
15
|
-
}
|
|
16
|
-
writeValue(obj) {
|
|
17
|
-
if (!obj?.length)
|
|
18
|
-
obj = [undefined];
|
|
19
|
-
this.value = obj;
|
|
20
|
-
this.ref.markForCheck();
|
|
21
|
-
}
|
|
22
|
-
registerOnChange(fn) {
|
|
23
|
-
this.onChange = fn;
|
|
24
|
-
}
|
|
25
|
-
registerOnTouched(fn) {
|
|
26
|
-
this.onTouched = fn;
|
|
27
|
-
}
|
|
28
|
-
addInput() {
|
|
29
|
-
this.value = [...this.value, undefined];
|
|
30
|
-
this.ref.markForCheck();
|
|
31
|
-
this.onChange(this.value);
|
|
32
|
-
}
|
|
33
|
-
removeInput(index) {
|
|
34
|
-
this.value = [...this.value];
|
|
35
|
-
this.value.splice(index, 1);
|
|
36
|
-
this.ref.markForCheck();
|
|
37
|
-
this.onChange(this.value);
|
|
38
|
-
}
|
|
39
|
-
onValueChange(i, value) {
|
|
40
|
-
this.value = [...this.value];
|
|
41
|
-
this.value[i] = value;
|
|
42
|
-
this.ref.markForCheck();
|
|
43
|
-
this.onChange(this.value);
|
|
44
|
-
}
|
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: InFilterComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: InFilterComponent, isStandalone: true, selector: "lib-in-filter", inputs: { type: "type" }, providers: [{
|
|
47
|
-
provide: NG_VALUE_ACCESSOR,
|
|
48
|
-
useExisting: InFilterComponent,
|
|
49
|
-
multi: true
|
|
50
|
-
}], ngImport: i0, template: "<div class=inline>\r\n @for (val of value; track $index) {\r\n <div>\r\n @if(type === FieldType.Number || type === FieldType.Currency){\r\n <input [ngModel]=\"val\" (ngModelChange)=\"onValueChange($index, $event)\"\r\n [readonly]=\"$index + 1 < value.length\" type=\"number\" [ngModelOptions]=\"{standalone:true}\" [autoFocus]=\"$index === value.length - 1\"/>\r\n }\r\n @else {\r\n <input [ngModel]=\"val\" (ngModelChange)=\"onValueChange($index ,$event)\"\r\n [readonly]=\"$index + 1 < value.length\" type=\"string\" [ngModelOptions]=\"{standalone:true}\"\r\n #input [autoFocus]=\"$index === value.length - 1\" />\r\n }\r\n </div>\r\n <button [disabled]=\"value.length <= 1\" (click)=\"removeInput($index)\">-</button>\r\n @if ($index === value.length - 1) {\r\n <button [disabled]=\"val == undefined || val === ''\" (click)=\"addInput()\">+</button>\r\n }\r\n \r\n }\r\n</div>\r\n", styles: [".inline{display:inline-block}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: AutoFocusDirective, selector: "[autoFocus]", inputs: ["autoFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
51
|
-
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: InFilterComponent, decorators: [{
|
|
53
|
-
type: Component,
|
|
54
|
-
args: [{ selector: 'lib-in-filter', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{
|
|
55
|
-
provide: NG_VALUE_ACCESSOR,
|
|
56
|
-
useExisting: InFilterComponent,
|
|
57
|
-
multi: true
|
|
58
|
-
}], standalone: true, imports: [
|
|
59
|
-
FormsModule, AutoFocusDirective
|
|
60
|
-
], template: "<div class=inline>\r\n @for (val of value; track $index) {\r\n <div>\r\n @if(type === FieldType.Number || type === FieldType.Currency){\r\n <input [ngModel]=\"val\" (ngModelChange)=\"onValueChange($index, $event)\"\r\n [readonly]=\"$index + 1 < value.length\" type=\"number\" [ngModelOptions]=\"{standalone:true}\" [autoFocus]=\"$index === value.length - 1\"/>\r\n }\r\n @else {\r\n <input [ngModel]=\"val\" (ngModelChange)=\"onValueChange($index ,$event)\"\r\n [readonly]=\"$index + 1 < value.length\" type=\"string\" [ngModelOptions]=\"{standalone:true}\"\r\n #input [autoFocus]=\"$index === value.length - 1\" />\r\n }\r\n </div>\r\n <button [disabled]=\"value.length <= 1\" (click)=\"removeInput($index)\">-</button>\r\n @if ($index === value.length - 1) {\r\n <button [disabled]=\"val == undefined || val === ''\" (click)=\"addInput()\">+</button>\r\n }\r\n \r\n }\r\n</div>\r\n", styles: [".inline{display:inline-block}\n"] }]
|
|
61
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { type: [{
|
|
62
|
-
type: Input
|
|
63
|
-
}] } });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NvbXBvbmVudHMvaW4tZmlsdGVyL2luLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2luLWZpbHRlci9pbi1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFpQnhELE1BQU0sT0FBTyxpQkFBaUI7SUFLNUIsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFKMUMsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUV0QixVQUFLLEdBQW9DLENBQUMsU0FBUyxDQUFDLENBQUM7UUFVckQsYUFBUSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFLM0IsY0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQVpwQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUNELFVBQVUsQ0FBQyxHQUFVO1FBQ25CLElBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTTtZQUFFLEdBQUcsR0FBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUdELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsYUFBYSxDQUFDLENBQVEsRUFBQyxLQUFzQjtRQUMzQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDOzhHQXpDVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixzRkFWakIsQ0FBQztnQkFDVixPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsaUJBQWlCO2dCQUM5QixLQUFLLEVBQUUsSUFBSTthQUNaLENBQUMsMEJDZEoscThCQW9CQSx3RkRISSxXQUFXLGl4QkFBRSxrQkFBa0I7OzJGQUd0QixpQkFBaUI7a0JBZjdCLFNBQVM7K0JBQ0UsZUFBZSxtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ25DLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxtQkFBbUI7NEJBQzlCLEtBQUssRUFBRSxJQUFJO3lCQUNaLENBQUMsY0FDVSxJQUFJLFdBQ1A7d0JBQ1AsV0FBVyxFQUFFLGtCQUFrQjtxQkFDaEM7c0ZBSVEsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XHJcbmltcG9ydCB7IEF1dG9Gb2N1c0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1pbi1maWx0ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbi1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2luLWZpbHRlci5jb21wb25lbnQuY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFt7XHJcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgIHVzZUV4aXN0aW5nOiBJbkZpbHRlckNvbXBvbmVudCxcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfV0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBGb3Jtc01vZHVsZSwgQXV0b0ZvY3VzRGlyZWN0aXZlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5GaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgRmllbGRUeXBlID0gRmllbGRUeXBlO1xyXG4gIEBJbnB1dCgpIHR5cGUhIDogRmllbGRUeXBlO1xyXG4gIHZhbHVlOiAoc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkKVtdID0gW3VuZGVmaW5lZF07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgdGhpcy52YWx1ZSA9IFt1bmRlZmluZWRdO1xyXG4gIH1cclxuICB3cml0ZVZhbHVlKG9iajogYW55W10pOiB2b2lkIHtcclxuICAgIGlmKCFvYmo/Lmxlbmd0aCkgb2JqICA9IFt1bmRlZmluZWRdO1xyXG4gICAgdGhpcy52YWx1ZSA9IG9iajtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHsgfTtcclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG4gIG9uVG91Y2hlZCA9ICgpID0+IHsgfTtcclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgYWRkSW5wdXQoKXtcclxuICAgIHRoaXMudmFsdWUgPSBbLi4udGhpcy52YWx1ZSwgdW5kZWZpbmVkXTtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUlucHV0KGluZGV4OiBudW1iZXIpe1xyXG4gICAgdGhpcy52YWx1ZSA9IFsuLi50aGlzLnZhbHVlXTtcclxuICAgIHRoaXMudmFsdWUuc3BsaWNlKGluZGV4LDEpO1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgb25WYWx1ZUNoYW5nZShpOm51bWJlcix2YWx1ZTogbnVtYmVyIHwgc3RyaW5nKXtcclxuICAgIHRoaXMudmFsdWUgPSBbLi4udGhpcy52YWx1ZV07XHJcbiAgICB0aGlzLnZhbHVlW2ldID0gdmFsdWU7XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPWlubGluZT5cclxuICBAZm9yICh2YWwgb2YgdmFsdWU7IHRyYWNrICRpbmRleCkge1xyXG4gICAgPGRpdj5cclxuICAgICAgQGlmKHR5cGUgPT09IEZpZWxkVHlwZS5OdW1iZXIgfHwgdHlwZSA9PT0gRmllbGRUeXBlLkN1cnJlbmN5KXtcclxuICAgICAgICA8aW5wdXQgW25nTW9kZWxdPVwidmFsXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkaW5kZXgsICRldmVudClcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCIkaW5kZXggKyAxIDwgdmFsdWUubGVuZ3RoXCIgdHlwZT1cIm51bWJlclwiIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTp0cnVlfVwiIFthdXRvRm9jdXNdPVwiJGluZGV4ID09PSB2YWx1ZS5sZW5ndGggLSAxXCIvPlxyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICA8aW5wdXQgW25nTW9kZWxdPVwidmFsXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkaW5kZXggLCRldmVudClcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCIkaW5kZXggKyAxIDwgdmFsdWUubGVuZ3RoXCIgdHlwZT1cInN0cmluZ1wiIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTp0cnVlfVwiXHJcbiAgICAgICAgI2lucHV0IFthdXRvRm9jdXNdPVwiJGluZGV4ID09PSB2YWx1ZS5sZW5ndGggLSAxXCIgLz5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJ2YWx1ZS5sZW5ndGggPD0gMVwiIChjbGljayk9XCJyZW1vdmVJbnB1dCgkaW5kZXgpXCI+LTwvYnV0dG9uPlxyXG4gICAgQGlmICgkaW5kZXggPT09IHZhbHVlLmxlbmd0aCAtIDEpIHtcclxuICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwidmFsID09IHVuZGVmaW5lZCB8fCB2YWwgPT09ICcnXCIgKGNsaWNrKT1cImFkZElucHV0KClcIj4rPC9idXR0b24+XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,10 +0,0 @@
|
|
|
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/esm2022/table-builder/components/initialization-component/initialization-component.mjs
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Component, ViewChild } from "@angular/core";
|
|
2
|
-
import { LinkColumnComponent, RouterLinkColumnComponent } from "../link-column.component";
|
|
3
|
-
import { ArrayCommaColumnComponent, ArrayNewLineColumnComponent } from "../array-column.component";
|
|
4
|
-
import { MatIconModule } from "@angular/material/icon";
|
|
5
|
-
import { FunctionPipe } from "../../../utilities";
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/material/icon";
|
|
8
|
-
export class InitializationComponent {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: InitializationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: InitializationComponent, isStandalone: true, selector: "initialization", viewQueries: [{ propertyName: "linkTemplate", first: true, predicate: ["link"], descendants: true, static: true }, { propertyName: "routerLinkTemplate", first: true, predicate: ["routerLink"], descendants: true, static: true }, { propertyName: "imageUrlTemplate", first: true, predicate: ["imageUrl"], descendants: true, static: true }, { propertyName: "arrayNewLineTemplate", first: true, predicate: ["arrayNewLine"], descendants: true, static: true }, { propertyName: "arrayCommaTemplate", first: true, predicate: ["arrayComma"], 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-value='value' let-element='element' let-additional=\"additional\">\r\n <tb-link-column [element]=\"element\" [value]=\"value\" [additional]=\"additional\" />\r\n</ng-template>\r\n\r\n<ng-template #routerLink let-value='value' let-element='element' let-additional=\"additional\">\r\n <tb-router-link-column [element]=\"element\" [value]=\"value\" [additional]=\"additional\"/>\r\n</ng-template>\r\n\r\n<ng-template #imageUrl let-value='value'>\r\n <span>\r\n <img src=\"{{value}}\" height=\"75px\" width=\"75px\" />\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #arrayNewLine let-value='value' let-element='element' let-additional=\"additional\">\r\n <tb-new-line-array-column [value]='value' [additional]='additional'/>\r\n</ng-template>\r\n\r\n<ng-template #arrayComma let-value='value' let-element='element' let-additional=\"additional\">\r\n <tb-comma-array-column [value]='value' [additional]='additional'/>\r\n</ng-template>\r\n\r\n<ng-template #default let-value='value'>\r\n <span>{{ value }}</span>\r\n</ng-template>\r\n\r\n<ng-template #defaultWithIcon let-value='value'>\r\n <mat-icon>{{ value}}</mat-icon>\r\n</ng-template>\r\n", dependencies: [{ kind: "component", type: LinkColumnComponent, selector: "tb-link-column", inputs: ["value", "element", "additional"] }, { kind: "component", type: ArrayCommaColumnComponent, selector: "tb-comma-array-column", inputs: ["value", "additional"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: RouterLinkColumnComponent, selector: "tb-router-link-column", inputs: ["additional", "element", "value"] }, { kind: "component", type: ArrayNewLineColumnComponent, selector: "tb-new-line-array-column", inputs: ["value", "additional"] }] }); }
|
|
11
|
-
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: InitializationComponent, decorators: [{
|
|
13
|
-
type: Component,
|
|
14
|
-
args: [{ selector: 'initialization', standalone: true, imports: [
|
|
15
|
-
LinkColumnComponent, ArrayCommaColumnComponent, MatIconModule, FunctionPipe,
|
|
16
|
-
RouterLinkColumnComponent, ArrayNewLineColumnComponent
|
|
17
|
-
], template: "<ng-template #link let-value='value' let-element='element' let-additional=\"additional\">\r\n <tb-link-column [element]=\"element\" [value]=\"value\" [additional]=\"additional\" />\r\n</ng-template>\r\n\r\n<ng-template #routerLink let-value='value' let-element='element' let-additional=\"additional\">\r\n <tb-router-link-column [element]=\"element\" [value]=\"value\" [additional]=\"additional\"/>\r\n</ng-template>\r\n\r\n<ng-template #imageUrl let-value='value'>\r\n <span>\r\n <img src=\"{{value}}\" height=\"75px\" width=\"75px\" />\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #arrayNewLine let-value='value' let-element='element' let-additional=\"additional\">\r\n <tb-new-line-array-column [value]='value' [additional]='additional'/>\r\n</ng-template>\r\n\r\n<ng-template #arrayComma let-value='value' let-element='element' let-additional=\"additional\">\r\n <tb-comma-array-column [value]='value' [additional]='additional'/>\r\n</ng-template>\r\n\r\n<ng-template #default let-value='value'>\r\n <span>{{ value }}</span>\r\n</ng-template>\r\n\r\n<ng-template #defaultWithIcon let-value='value'>\r\n <mat-icon>{{ value}}</mat-icon>\r\n</ng-template>\r\n" }]
|
|
18
|
-
}], propDecorators: { linkTemplate: [{
|
|
19
|
-
type: ViewChild,
|
|
20
|
-
args: ['link', { static: true }]
|
|
21
|
-
}], routerLinkTemplate: [{
|
|
22
|
-
type: ViewChild,
|
|
23
|
-
args: ['routerLink', { static: true }]
|
|
24
|
-
}], imageUrlTemplate: [{
|
|
25
|
-
type: ViewChild,
|
|
26
|
-
args: ['imageUrl', { static: true }]
|
|
27
|
-
}], arrayNewLineTemplate: [{
|
|
28
|
-
type: ViewChild,
|
|
29
|
-
args: ['arrayNewLine', { static: true }]
|
|
30
|
-
}], arrayCommaTemplate: [{
|
|
31
|
-
type: ViewChild,
|
|
32
|
-
args: ['arrayComma', { static: true }]
|
|
33
|
-
}], defaultTemplate: [{
|
|
34
|
-
type: ViewChild,
|
|
35
|
-
args: ['default', { static: true }]
|
|
36
|
-
}], defaultWithIcon: [{
|
|
37
|
-
type: ViewChild,
|
|
38
|
-
args: ['defaultWithIcon', { static: true }]
|
|
39
|
-
}] } });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6YXRpb24tY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9pbml0aWFsaXphdGlvbi1jb21wb25lbnQvaW5pdGlhbGl6YXRpb24tY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9pbml0aWFsaXphdGlvbi1jb21wb25lbnQvaW5pdGlhbGl6YXRpb24tY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBV2xELE1BQU0sT0FBTyx1QkFBdUI7OEdBQXZCLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGcyQkNmcEMsOHBDQTZCQSw0Q0RsQlEsbUJBQW1CLHVHQUFFLHlCQUF5QixrR0FBRSxhQUFhLG9MQUM3RCx5QkFBeUIsOEdBQUUsMkJBQTJCOzsyRkFHakQsdUJBQXVCO2tCQVRuQyxTQUFTOytCQUNJLGdCQUFnQixjQUVkLElBQUksV0FDUDt3QkFDTCxtQkFBbUIsRUFBRSx5QkFBeUIsRUFBRSxhQUFhLEVBQUUsWUFBWTt3QkFDM0UseUJBQXlCLEVBQUUsMkJBQTJCO3FCQUN6RDs4QkFHZ0MsWUFBWTtzQkFBOUMsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUNRLGtCQUFrQjtzQkFBMUQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUNBLGdCQUFnQjtzQkFBdEQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUNNLG9CQUFvQjtzQkFBOUQsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUNBLGtCQUFrQjtzQkFBMUQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUNELGVBQWU7c0JBQXBELFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFDVSxlQUFlO3NCQUE1RCxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IExpbmtDb2x1bW5Db21wb25lbnQsIFJvdXRlckxpbmtDb2x1bW5Db21wb25lbnQgfSBmcm9tIFwiLi4vbGluay1jb2x1bW4uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFycmF5Q29tbWFDb2x1bW5Db21wb25lbnQsIEFycmF5TmV3TGluZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gXCIuLi9hcnJheS1jb2x1bW4uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xyXG5pbXBvcnQgeyBGdW5jdGlvblBpcGUgfSBmcm9tIFwiLi4vLi4vLi4vdXRpbGl0aWVzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnaW5pdGlhbGl6YXRpb24nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2luaXRpYWxpemF0aW9uLWNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgTGlua0NvbHVtbkNvbXBvbmVudCwgQXJyYXlDb21tYUNvbHVtbkNvbXBvbmVudCwgTWF0SWNvbk1vZHVsZSwgRnVuY3Rpb25QaXBlLFxyXG4gICAgICAgIFJvdXRlckxpbmtDb2x1bW5Db21wb25lbnQsIEFycmF5TmV3TGluZUNvbHVtbkNvbXBvbmVudFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5pdGlhbGl6YXRpb25Db21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoJ2xpbmsnLCB7c3RhdGljOiB0cnVlfSkgbGlua1RlbXBsYXRlISA6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgncm91dGVyTGluaycsIHtzdGF0aWM6IHRydWV9KSByb3V0ZXJMaW5rVGVtcGxhdGUhIDogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCdpbWFnZVVybCcsIHtzdGF0aWM6IHRydWV9KSBpbWFnZVVybFRlbXBsYXRlISA6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnYXJyYXlOZXdMaW5lJywge3N0YXRpYzogdHJ1ZX0pIGFycmF5TmV3TGluZVRlbXBsYXRlISA6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnYXJyYXlDb21tYScsIHtzdGF0aWM6IHRydWV9KSBhcnJheUNvbW1hVGVtcGxhdGUhIDogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCdkZWZhdWx0Jywge3N0YXRpYzogdHJ1ZX0pIGRlZmF1bHRUZW1wbGF0ZSEgOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ2RlZmF1bHRXaXRoSWNvbicsIHtzdGF0aWM6IHRydWV9KSBkZWZhdWx0V2l0aEljb24hIDogVGVtcGxhdGVSZWY8YW55PjtcclxufVxyXG4iLCI8bmctdGVtcGxhdGUgI2xpbmsgIGxldC12YWx1ZT0ndmFsdWUnIGxldC1lbGVtZW50PSdlbGVtZW50JyBsZXQtYWRkaXRpb25hbD1cImFkZGl0aW9uYWxcIj5cclxuICA8dGItbGluay1jb2x1bW4gW2VsZW1lbnRdPVwiZWxlbWVudFwiIFt2YWx1ZV09XCJ2YWx1ZVwiIFthZGRpdGlvbmFsXT1cImFkZGl0aW9uYWxcIiAvPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNyb3V0ZXJMaW5rICBsZXQtdmFsdWU9J3ZhbHVlJyBsZXQtZWxlbWVudD0nZWxlbWVudCcgbGV0LWFkZGl0aW9uYWw9XCJhZGRpdGlvbmFsXCI+XHJcbiAgPHRiLXJvdXRlci1saW5rLWNvbHVtbiBbZWxlbWVudF09XCJlbGVtZW50XCIgW3ZhbHVlXT1cInZhbHVlXCIgW2FkZGl0aW9uYWxdPVwiYWRkaXRpb25hbFwiLz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjaW1hZ2VVcmwgIGxldC12YWx1ZT0ndmFsdWUnPlxyXG4gIDxzcGFuPlxyXG4gICAgPGltZyBzcmM9XCJ7e3ZhbHVlfX1cIiBoZWlnaHQ9XCI3NXB4XCIgd2lkdGg9XCI3NXB4XCIgLz5cclxuICA8L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2FycmF5TmV3TGluZSBsZXQtdmFsdWU9J3ZhbHVlJyBsZXQtZWxlbWVudD0nZWxlbWVudCcgbGV0LWFkZGl0aW9uYWw9XCJhZGRpdGlvbmFsXCI+XHJcbiAgPHRiLW5ldy1saW5lLWFycmF5LWNvbHVtbiBbdmFsdWVdPSd2YWx1ZScgW2FkZGl0aW9uYWxdPSdhZGRpdGlvbmFsJy8+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2FycmF5Q29tbWEgbGV0LXZhbHVlPSd2YWx1ZScgbGV0LWVsZW1lbnQ9J2VsZW1lbnQnIGxldC1hZGRpdGlvbmFsPVwiYWRkaXRpb25hbFwiPlxyXG4gIDx0Yi1jb21tYS1hcnJheS1jb2x1bW4gW3ZhbHVlXT0ndmFsdWUnIFthZGRpdGlvbmFsXT0nYWRkaXRpb25hbCcvPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0IGxldC12YWx1ZT0ndmFsdWUnPlxyXG4gIDxzcGFuPnt7IHZhbHVlIH19PC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0V2l0aEljb24gIGxldC12YWx1ZT0ndmFsdWUnPlxyXG4gIDxtYXQtaWNvbj57eyB2YWx1ZX19PC9tYXQtaWNvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, computed, input } from "@angular/core";
|
|
2
|
-
import { RouterModule } from "@angular/router";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/router";
|
|
5
|
-
export class RouterLinkColumnComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.additional = input.required();
|
|
8
|
-
this.element = input.required();
|
|
9
|
-
this.value = input.required();
|
|
10
|
-
this.link = computed(() => this.additional().link(this.element()));
|
|
11
|
-
this.queryParams = computed(() => this.additional().routerLinkOptions.queryParams(this.element()));
|
|
12
|
-
this.routerLinkOptions = computed(() => this.additional().routerLinkOptions);
|
|
13
|
-
}
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RouterLinkColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.1.2", type: RouterLinkColumnComponent, isStandalone: true, selector: "tb-router-link-column", inputs: { additional: { classPropertyName: "additional", publicName: "additional", isSignal: true, isRequired: true, transformFunction: null }, element: { classPropertyName: "element", publicName: "element", isSignal: true, isRequired: true, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
16
|
-
<a target="{{additional().target}}"
|
|
17
|
-
[routerLink]=" [link()]"
|
|
18
|
-
[queryParams]="queryParams()"
|
|
19
|
-
[fragment]="routerLinkOptions().fragment"
|
|
20
|
-
[preserveFragment]="routerLinkOptions().preserveFragment"
|
|
21
|
-
[queryParamsHandling]="routerLinkOptions().queryParamsHandling"
|
|
22
|
-
>
|
|
23
|
-
{{value()}}
|
|
24
|
-
</a>
|
|
25
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RouterLinkColumnComponent, decorators: [{
|
|
28
|
-
type: Component,
|
|
29
|
-
args: [{
|
|
30
|
-
selector: "tb-router-link-column",
|
|
31
|
-
standalone: true,
|
|
32
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
33
|
-
imports: [
|
|
34
|
-
RouterModule
|
|
35
|
-
],
|
|
36
|
-
template: `
|
|
37
|
-
<a target="{{additional().target}}"
|
|
38
|
-
[routerLink]=" [link()]"
|
|
39
|
-
[queryParams]="queryParams()"
|
|
40
|
-
[fragment]="routerLinkOptions().fragment"
|
|
41
|
-
[preserveFragment]="routerLinkOptions().preserveFragment"
|
|
42
|
-
[queryParamsHandling]="routerLinkOptions().queryParamsHandling"
|
|
43
|
-
>
|
|
44
|
-
{{value()}}
|
|
45
|
-
</a>
|
|
46
|
-
`
|
|
47
|
-
}]
|
|
48
|
-
}] });
|
|
49
|
-
export class LinkColumnComponent {
|
|
50
|
-
constructor() {
|
|
51
|
-
this.value = input.required();
|
|
52
|
-
this.element = input.required();
|
|
53
|
-
this.additional = input.required();
|
|
54
|
-
this.link = computed(() => this.additional().link(this.element()));
|
|
55
|
-
}
|
|
56
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: LinkColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
57
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.1.2", type: LinkColumnComponent, isStandalone: true, selector: "tb-link-column", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, element: { classPropertyName: "element", publicName: "element", isSignal: true, isRequired: true, transformFunction: null }, additional: { classPropertyName: "additional", publicName: "additional", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
58
|
-
<a target="{{additional().target}}"
|
|
59
|
-
href="{{link()}}">
|
|
60
|
-
{{value()}}
|
|
61
|
-
</a>
|
|
62
|
-
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
63
|
-
}
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: LinkColumnComponent, decorators: [{
|
|
65
|
-
type: Component,
|
|
66
|
-
args: [{
|
|
67
|
-
selector: "tb-link-column",
|
|
68
|
-
standalone: true,
|
|
69
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
70
|
-
template: `
|
|
71
|
-
<a target="{{additional().target}}"
|
|
72
|
-
href="{{link()}}">
|
|
73
|
-
{{value()}}
|
|
74
|
-
</a>
|
|
75
|
-
`
|
|
76
|
-
}]
|
|
77
|
-
}] });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9saW5rLWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBcUI3QyxNQUFNLE9BQU8seUJBQXlCO0lBbEJ4QztRQW1CRSxlQUFVLEdBQUksS0FBSyxDQUFDLFFBQVEsRUFBWSxDQUFDO1FBQ3pDLFlBQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFPLENBQUM7UUFDaEMsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNqQyxTQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM5RCxnQkFBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsaUJBQWtCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDL0Ysc0JBQWlCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxpQkFBa0IsQ0FBQyxDQUFDO0tBQzFFOzhHQVBjLHlCQUF5QjtrR0FBekIseUJBQXlCLHVkQVg1Qjs7Ozs7Ozs7OztHQVVULDJEQVpDLFlBQVk7OzJGQWFELHlCQUF5QjtrQkFsQnZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7R0FVVDtpQkFDRjs7QUFtQkMsTUFBTSxPQUFPLG1CQUFtQjtJQVZsQztRQVdFLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDakMsWUFBTyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQU8sQ0FBQztRQUNoQyxlQUFVLEdBQUksS0FBSyxDQUFDLFFBQVEsRUFBWSxDQUFDO1FBQ3pDLFNBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQy9EOzhHQUxjLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGdkQU50Qjs7Ozs7R0FLVDs7MkZBQ1ksbUJBQW1CO2tCQVZqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFOzs7OztHQUtUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBMaW5rSW5mbyB9IGZyb20gXCIuLi9zZXJ2aWNlcy9saW5rLWNyZWF0b3Iuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwidGItcm91dGVyLWxpbmstY29sdW1uXCIsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBSb3V0ZXJNb2R1bGVcclxuICBdLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgPGEgdGFyZ2V0PVwie3thZGRpdGlvbmFsKCkudGFyZ2V0fX1cIlxyXG4gICAgW3JvdXRlckxpbmtdPVwiIFtsaW5rKCldXCJcclxuICAgIFtxdWVyeVBhcmFtc109XCJxdWVyeVBhcmFtcygpXCJcclxuICAgIFtmcmFnbWVudF09XCJyb3V0ZXJMaW5rT3B0aW9ucygpLmZyYWdtZW50XCJcclxuICAgIFtwcmVzZXJ2ZUZyYWdtZW50XT1cInJvdXRlckxpbmtPcHRpb25zKCkucHJlc2VydmVGcmFnbWVudFwiXHJcbiAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJyb3V0ZXJMaW5rT3B0aW9ucygpLnF1ZXJ5UGFyYW1zSGFuZGxpbmdcIlxyXG4gID5cclxuICAgIHt7dmFsdWUoKX19XHJcbiAgPC9hPlxyXG4gIGBcclxufSlleHBvcnQgY2xhc3MgUm91dGVyTGlua0NvbHVtbkNvbXBvbmVudCB7XHJcbiAgYWRkaXRpb25hbCA9ICBpbnB1dC5yZXF1aXJlZDxMaW5rSW5mbz4oKTtcclxuICBlbGVtZW50ID0gaW5wdXQucmVxdWlyZWQ8YW55PigpO1xyXG4gIHZhbHVlID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xyXG4gIGxpbmsgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmFkZGl0aW9uYWwoKS5saW5rKHRoaXMuZWxlbWVudCgpKSk7XHJcbiAgcXVlcnlQYXJhbXMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmFkZGl0aW9uYWwoKS5yb3V0ZXJMaW5rT3B0aW9ucyEucXVlcnlQYXJhbXModGhpcy5lbGVtZW50KCkpKTtcclxuICByb3V0ZXJMaW5rT3B0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYWRkaXRpb25hbCgpLnJvdXRlckxpbmtPcHRpb25zISk7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInRiLWxpbmstY29sdW1uXCIsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICB0ZW1wbGF0ZTogYFxyXG4gIDxhIHRhcmdldD1cInt7YWRkaXRpb25hbCgpLnRhcmdldH19XCJcclxuICAgICAgaHJlZj1cInt7bGluaygpfX1cIj5cclxuICAgICAge3t2YWx1ZSgpfX1cclxuICA8L2E+XHJcbiAgYFxyXG59KWV4cG9ydCBjbGFzcyBMaW5rQ29sdW1uQ29tcG9uZW50IHtcclxuICB2YWx1ZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcclxuICBlbGVtZW50ID0gaW5wdXQucmVxdWlyZWQ8YW55PigpO1xyXG4gIGFkZGl0aW9uYWwgPSAgaW5wdXQucmVxdWlyZWQ8TGlua0luZm8+KCk7XHJcbiAgbGluayA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYWRkaXRpb25hbCgpLmxpbmsodGhpcy5lbGVtZW50KCkpKTtcclxufSJdfQ==
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import { FilterType } from '../../enums/filterTypes';
|
|
3
|
-
import { ControlContainer, FormsModule, NgForm } from '@angular/forms';
|
|
4
|
-
import { FieldType } from '../../interfaces/report-def';
|
|
5
|
-
import { MatInputModule } from '@angular/material/input';
|
|
6
|
-
import { InFilterComponent } from '../in-filter/in-filter.component';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/material/input";
|
|
9
|
-
import * as i2 from "@angular/material/form-field";
|
|
10
|
-
import * as i3 from "@angular/forms";
|
|
11
|
-
export class NumberFilterComponent {
|
|
12
|
-
constructor() {
|
|
13
|
-
this.FilterType = FilterType;
|
|
14
|
-
this.FieldType = FieldType;
|
|
15
|
-
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NumberFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: NumberFilterComponent, isStandalone: true, selector: "tb-number-filter", inputs: { CurrentFilterType: "CurrentFilterType", info: "info" }, ngImport: i0, template: "@if(CurrentFilterType !== FilterType.NumberBetween && CurrentFilterType !== FilterType.IsNull && CurrentFilterType !== FilterType.In){\r\n <mat-form-field class=\"my-filter\">\r\n <input matInput name=\"filterValue\" [ngModel]=\"info.filterValue\" type=\"number\"/>\r\n </mat-form-field>\r\n}\r\n@if(CurrentFilterType === FilterType.NumberBetween){\r\n <ng-container ngModelGroup=\"filterValue\" >\r\n <mat-form-field class=\"my-filter\">\r\n <input matInput name=\"Start\" [ngModel]=\"info.filterValue?.Start\" placeholder=\"Start\" type=\"number\"/>\r\n </mat-form-field>\r\n <mat-form-field class=\"my-filter\">\r\n <input matInput name=\"End\" [ngModel]=\"info.filterValue?.End\" placeholder=\"End\" type=\"number\"/>\r\n </mat-form-field>\r\n </ng-container>\r\n}\r\n\r\n@if (CurrentFilterType === FilterType.In) {\r\n <lib-in-filter name='filterValue' [type]=\"FieldType.Number\" [(ngModel)]='info.filterValue' />\r\n}\r\n", styles: [".switch{display:inline-block}.my-filter{margin-right:15px}.inline{display:inline-block}\n"], dependencies: [{ kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.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: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.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: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NgModelGroup, selector: "[ngModelGroup]", inputs: ["ngModelGroup"], exportAs: ["ngModelGroup"] }, { kind: "component", type: InFilterComponent, selector: "lib-in-filter", inputs: ["type"] }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
18
|
-
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NumberFilterComponent, decorators: [{
|
|
20
|
-
type: Component,
|
|
21
|
-
args: [{ selector: 'tb-number-filter', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], standalone: true, imports: [
|
|
22
|
-
MatInputModule, FormsModule, InFilterComponent
|
|
23
|
-
], template: "@if(CurrentFilterType !== FilterType.NumberBetween && CurrentFilterType !== FilterType.IsNull && CurrentFilterType !== FilterType.In){\r\n <mat-form-field class=\"my-filter\">\r\n <input matInput name=\"filterValue\" [ngModel]=\"info.filterValue\" type=\"number\"/>\r\n </mat-form-field>\r\n}\r\n@if(CurrentFilterType === FilterType.NumberBetween){\r\n <ng-container ngModelGroup=\"filterValue\" >\r\n <mat-form-field class=\"my-filter\">\r\n <input matInput name=\"Start\" [ngModel]=\"info.filterValue?.Start\" placeholder=\"Start\" type=\"number\"/>\r\n </mat-form-field>\r\n <mat-form-field class=\"my-filter\">\r\n <input matInput name=\"End\" [ngModel]=\"info.filterValue?.End\" placeholder=\"End\" type=\"number\"/>\r\n </mat-form-field>\r\n </ng-container>\r\n}\r\n\r\n@if (CurrentFilterType === FilterType.In) {\r\n <lib-in-filter name='filterValue' [type]=\"FieldType.Number\" [(ngModel)]='info.filterValue' />\r\n}\r\n", styles: [".switch{display:inline-block}.my-filter{margin-right:15px}.inline{display:inline-block}\n"] }]
|
|
24
|
-
}], propDecorators: { CurrentFilterType: [{
|
|
25
|
-
type: Input
|
|
26
|
-
}], info: [{
|
|
27
|
-
type: Input
|
|
28
|
-
}] } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL251bWJlci1maWx0ZXIvbnVtYmVyLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL251bWJlci1maWx0ZXIvbnVtYmVyLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7OztBQWNyRSxNQUFNLE9BQU8scUJBQXFCO0lBWGxDO1FBWUUsZUFBVSxHQUFHLFVBQVUsQ0FBQztRQUFDLGNBQVMsR0FBRyxTQUFTLENBQUM7S0FHaEQ7OEdBSlkscUJBQXFCO2tHQUFyQixxQkFBcUIsOElDcEJsQyxpOEJBbUJBLGtKREZJLGNBQWMscWpCQUFFLFdBQVcsNmlDQUFFLGlCQUFpQixpRUFIakMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFDLENBQUM7OzJGQU10RCxxQkFBcUI7a0JBWGpDLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLENBQUMsRUFBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBQyxDQUFDLGNBQ3JELElBQUksV0FDUDt3QkFDUCxjQUFjLEVBQUUsV0FBVyxFQUFFLGlCQUFpQjtxQkFDL0M7OEJBSVEsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpbHRlclR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9maWx0ZXJUeXBlcyc7XHJcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIEZvcm1zTW9kdWxlLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFBhcnRpYWxGaWx0ZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2ZpbHRlci1pbmZvJztcclxuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9yZXBvcnQtZGVmJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IEluRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vaW4tZmlsdGVyL2luLWZpbHRlci5jb21wb25lbnQnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGItbnVtYmVyLWZpbHRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL251bWJlci1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL251bWJlci1maWx0ZXIuY29tcG9uZW50LmNzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHZpZXdQcm92aWRlcnM6IFt7cHJvdmlkZTogQ29udHJvbENvbnRhaW5lciwgdXNlRXhpc3Rpbmc6IE5nRm9ybX1dLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0SW5wdXRNb2R1bGUsIEZvcm1zTW9kdWxlLCBJbkZpbHRlckNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIE51bWJlckZpbHRlckNvbXBvbmVudCB7XHJcbiAgRmlsdGVyVHlwZSA9IEZpbHRlclR5cGU7IEZpZWxkVHlwZSA9IEZpZWxkVHlwZTtcclxuICBASW5wdXQoKSBDdXJyZW50RmlsdGVyVHlwZSE6IEZpbHRlclR5cGU7XHJcbiAgQElucHV0KCkgaW5mbyE6UGFydGlhbEZpbHRlcjtcclxufVxyXG4iLCJAaWYoQ3VycmVudEZpbHRlclR5cGUgIT09IEZpbHRlclR5cGUuTnVtYmVyQmV0d2VlbiAmJiBDdXJyZW50RmlsdGVyVHlwZSAhPT0gRmlsdGVyVHlwZS5Jc051bGwgJiYgQ3VycmVudEZpbHRlclR5cGUgIT09IEZpbHRlclR5cGUuSW4pe1xyXG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm15LWZpbHRlclwiPlxyXG4gICAgPGlucHV0IG1hdElucHV0IG5hbWU9XCJmaWx0ZXJWYWx1ZVwiIFtuZ01vZGVsXT1cImluZm8uZmlsdGVyVmFsdWVcIiB0eXBlPVwibnVtYmVyXCIvPlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbn1cclxuQGlmKEN1cnJlbnRGaWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlLk51bWJlckJldHdlZW4pe1xyXG4gIDxuZy1jb250YWluZXIgbmdNb2RlbEdyb3VwPVwiZmlsdGVyVmFsdWVcIiAgPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibXktZmlsdGVyXCI+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPVwiU3RhcnRcIiBbbmdNb2RlbF09XCJpbmZvLmZpbHRlclZhbHVlPy5TdGFydFwiIHBsYWNlaG9sZGVyPVwiU3RhcnRcIiB0eXBlPVwibnVtYmVyXCIvPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm15LWZpbHRlclwiPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT1cIkVuZFwiIFtuZ01vZGVsXT1cImluZm8uZmlsdGVyVmFsdWU/LkVuZFwiIHBsYWNlaG9sZGVyPVwiRW5kXCIgdHlwZT1cIm51bWJlclwiLz5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbn1cclxuXHJcbkBpZiAoQ3VycmVudEZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuSW4pIHtcclxuICA8bGliLWluLWZpbHRlciBuYW1lPSdmaWx0ZXJWYWx1ZScgW3R5cGVdPVwiRmllbGRUeXBlLk51bWJlclwiIFsobmdNb2RlbCldPSdpbmZvLmZpbHRlclZhbHVlJyAvPlxyXG59XHJcbiJdfQ==
|