@one-paragon/angular-utilities 1.2.12 → 1.2.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/action-state/action-state-spinner/action-state-spinner.component.d.ts +12 -0
- package/action-state/action-state-ui/action-state-ui.module.d.ts +7 -0
- package/{src/action-state/index.ts → action-state/index.d.ts} +4 -8
- package/action-state/ngrx-ext/ngrx-ext.module.d.ts +8 -0
- package/action-state/ngrx.d.ts +31 -0
- package/esm2022/action-state/action-state-spinner/action-state-spinner.component.mjs +24 -0
- package/esm2022/action-state/action-state-ui/action-state-ui.module.mjs +20 -0
- package/esm2022/action-state/index.mjs +8 -0
- package/esm2022/action-state/ngrx-ext/ngrx-ext.module.mjs +23 -0
- package/esm2022/action-state/ngrx.mjs +47 -0
- package/esm2022/http-request-state/HttpRequestStateFactory.mjs +51 -0
- package/esm2022/http-request-state/HttpRequestStateStore.mjs +121 -0
- package/esm2022/http-request-state/directives/HttpStateDirectiveBase.mjs +30 -0
- package/esm2022/http-request-state/directives/http-error-state-directive.mjs +23 -0
- package/esm2022/http-request-state/directives/http-inProgress-state-directive.mjs +23 -0
- package/esm2022/http-request-state/directives/http-notStarted-state-directive.mjs +23 -0
- package/esm2022/http-request-state/directives/http-success-state-directive.mjs +29 -0
- package/esm2022/http-request-state/directives/index.mjs +6 -0
- package/esm2022/http-request-state/directives/request-state-directive.mjs +61 -0
- package/esm2022/http-request-state/helpers.mjs +22 -0
- package/esm2022/http-request-state/http-request-state.mjs +39 -0
- package/esm2022/http-request-state/http-state-module.mjs +40 -0
- package/esm2022/http-request-state/index.mjs +7 -0
- package/esm2022/http-request-state/rxjs/getRequestorBody.mjs +4 -0
- package/esm2022/http-request-state/rxjs/getRequestorState.mjs +3 -0
- package/esm2022/http-request-state/rxjs/index.mjs +5 -0
- package/esm2022/http-request-state/rxjs/tapError.mjs +12 -0
- package/esm2022/http-request-state/rxjs/tapSuccess.mjs +12 -0
- package/esm2022/http-request-state/types.mjs +16 -0
- package/esm2022/ngrx/actionable-selector.mjs +71 -0
- package/esm2022/ngrx/index.mjs +2 -0
- package/esm2022/one-paragon-angular-utilities.mjs +5 -0
- package/esm2022/public-api.mjs +20 -0
- package/esm2022/rxjs/defaultShareReplay.mjs +7 -0
- package/esm2022/rxjs/index.mjs +6 -0
- package/esm2022/rxjs/mapError.mjs +8 -0
- package/esm2022/rxjs/rxjs-operators.mjs +92 -0
- package/esm2022/rxjs/subjectifier.mjs +15 -0
- package/esm2022/rxjs/subscriber.directive.mjs +50 -0
- package/esm2022/table-builder/classes/DefaultSettings.mjs +6 -0
- package/esm2022/table-builder/classes/MatTableObservableDataSource.mjs +23 -0
- package/esm2022/table-builder/classes/TableBuilderConfig.mjs +18 -0
- package/esm2022/table-builder/classes/TableBuilderDataSource.mjs +45 -0
- package/esm2022/table-builder/classes/TableState.mjs +49 -0
- package/esm2022/table-builder/classes/data-store.mjs +15 -0
- package/esm2022/table-builder/classes/display-col.mjs +2 -0
- package/esm2022/table-builder/classes/filter-info.mjs +61 -0
- package/esm2022/table-builder/classes/table-builder-general-settings.mjs +112 -0
- package/esm2022/table-builder/classes/table-builder.mjs +77 -0
- package/esm2022/table-builder/classes/table-store.mjs +383 -0
- package/esm2022/table-builder/components/array-column.component.mjs +53 -0
- package/esm2022/table-builder/components/column-builder/column-builder.component.mjs +134 -0
- package/esm2022/table-builder/components/column-builder/column-helpers.mjs +45 -0
- package/esm2022/table-builder/components/date-filter/date-filter.component.mjs +29 -0
- package/esm2022/table-builder/components/date-time-filter/date-time-filter.component.mjs +24 -0
- package/esm2022/table-builder/components/filter/filter.component.mjs +64 -0
- package/esm2022/table-builder/components/filter/in-list/in-list-filter.component.mjs +102 -0
- package/esm2022/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +47 -0
- package/esm2022/table-builder/components/generic-table/generic-table.component.mjs +301 -0
- package/esm2022/table-builder/components/generic-table/paginator.component.mjs +100 -0
- package/esm2022/table-builder/components/group-by-list/group-by-list.component.mjs +21 -0
- package/esm2022/table-builder/components/header-menu/header-menu.component.mjs +103 -0
- package/esm2022/table-builder/components/in-filter/in-filter.component.mjs +65 -0
- package/esm2022/table-builder/components/index.mjs +10 -0
- package/esm2022/table-builder/components/initialization-component/initialization-component.mjs +47 -0
- package/esm2022/table-builder/components/link-column.component.mjs +74 -0
- package/esm2022/table-builder/components/number-filter/number-filter.component.mjs +29 -0
- package/esm2022/table-builder/components/profiles-menu/profiles-menu.component.mjs +64 -0
- package/esm2022/table-builder/components/scroll-strategy.mjs +60 -0
- package/esm2022/table-builder/components/sort-menu/sort-menu.component-store.mjs +46 -0
- package/esm2022/table-builder/components/sort-menu/sort-menu.component.mjs +82 -0
- package/esm2022/table-builder/components/table-container/table-container-imports.mjs +26 -0
- package/esm2022/table-builder/components/table-container/table-container.helpers/data-state.helpers.mjs +135 -0
- package/esm2022/table-builder/components/table-container/table-container.helpers/filter-state.helpers.mjs +83 -0
- package/esm2022/table-builder/components/table-container/table-container.helpers/groupBy.helpers.mjs +71 -0
- package/esm2022/table-builder/components/table-container/table-container.helpers/sort-state.helpers.mjs +36 -0
- package/esm2022/table-builder/components/table-container/table-container.mjs +327 -0
- package/esm2022/table-builder/components/table-container/tableProps.mjs +8 -0
- package/esm2022/table-builder/components/table-container/virtual-scroll-container.mjs +151 -0
- package/esm2022/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +44 -0
- package/esm2022/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +36 -0
- package/esm2022/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +25 -0
- package/esm2022/table-builder/directives/custom-cell-directive.mjs +73 -0
- package/esm2022/table-builder/directives/index.mjs +6 -0
- package/esm2022/table-builder/directives/multi-sort.directive.mjs +50 -0
- package/esm2022/table-builder/directives/resize-column.directive.mjs +87 -0
- package/esm2022/table-builder/directives/table-wrapper.directive.mjs +18 -0
- package/esm2022/table-builder/directives/tb-filter.directive.mjs +396 -0
- package/esm2022/table-builder/enums/filterTypes.mjs +29 -0
- package/esm2022/table-builder/functions/boolean-filter-function.mjs +10 -0
- package/esm2022/table-builder/functions/date-filter-function.mjs +58 -0
- package/esm2022/table-builder/functions/download-data.mjs +12 -0
- package/esm2022/table-builder/functions/null-filter-function.mjs +8 -0
- package/esm2022/table-builder/functions/number-filter-function.mjs +32 -0
- package/esm2022/table-builder/functions/sort-data-function.mjs +17 -0
- package/esm2022/table-builder/functions/string-filter-function.mjs +41 -0
- package/esm2022/table-builder/interfaces/ColumnInfo.mjs +2 -0
- package/esm2022/table-builder/interfaces/dictionary.mjs +2 -0
- package/esm2022/table-builder/interfaces/report-def.mjs +50 -0
- package/esm2022/table-builder/ngrx/tableBuilderStateStore.mjs +154 -0
- package/esm2022/table-builder/pipes/column-total.pipe.mjs +22 -0
- package/esm2022/table-builder/pipes/format-filter-type.pipe.mjs +18 -0
- package/esm2022/table-builder/pipes/format-filter-value.pipe.mjs +43 -0
- package/esm2022/table-builder/pipes/key-display.mjs +18 -0
- package/esm2022/table-builder/services/export-to-csv.service.mjs +75 -0
- package/esm2022/table-builder/services/link-creator.service.mjs +50 -0
- package/esm2022/table-builder/services/table-template-service.mjs +60 -0
- package/esm2022/table-builder/services/transform-creator.mjs +100 -0
- package/esm2022/table-builder/table-builder.module.mjs +124 -0
- package/esm2022/utilities/array-helpers.mjs +14 -0
- package/esm2022/utilities/directives/auto-focus.directive.mjs +25 -0
- package/esm2022/utilities/directives/clickEmitterDirective.mjs +22 -0
- package/esm2022/utilities/directives/clickSubject.mjs +29 -0
- package/esm2022/utilities/directives/conditional-classes.directive.mjs +36 -0
- package/esm2022/utilities/directives/dialog-service.mjs +21 -0
- package/esm2022/utilities/directives/dialog.mjs +145 -0
- package/esm2022/utilities/directives/mat-toggle-group-directive.mjs +59 -0
- package/esm2022/utilities/directives/prevent-enter.directive.mjs +20 -0
- package/esm2022/utilities/directives/stop-propagation.directive.mjs +26 -0
- package/esm2022/utilities/directives/styler.mjs +41 -0
- package/esm2022/utilities/directives/trim-whitespace.directive.mjs +28 -0
- package/esm2022/utilities/index.mjs +16 -0
- package/esm2022/utilities/module.mjs +90 -0
- package/esm2022/utilities/pipes/function.pipe.mjs +22 -0
- package/esm2022/utilities/pipes/phone.pipe.mjs +20 -0
- package/esm2022/utilities/pipes/space-case.pipes.mjs +28 -0
- package/fesm2022/one-paragon-angular-utilities.mjs +5670 -0
- package/fesm2022/one-paragon-angular-utilities.mjs.map +1 -0
- package/http-request-state/HttpRequestStateFactory.d.ts +17 -0
- package/http-request-state/HttpRequestStateStore.d.ts +54 -0
- package/http-request-state/directives/HttpStateDirectiveBase.d.ts +14 -0
- package/http-request-state/directives/http-error-state-directive.d.ts +9 -0
- package/http-request-state/directives/http-inProgress-state-directive.d.ts +9 -0
- package/http-request-state/directives/http-notStarted-state-directive.d.ts +9 -0
- package/http-request-state/directives/http-success-state-directive.d.ts +16 -0
- package/{src/http-request-state/directives/index.ts → http-request-state/directives/index.d.ts} +5 -5
- package/http-request-state/directives/request-state-directive.d.ts +34 -0
- package/http-request-state/helpers.d.ts +9 -0
- package/http-request-state/http-request-state.d.ts +12 -0
- package/http-request-state/http-state-module.d.ts +11 -0
- package/{src/http-request-state/index.ts → http-request-state/index.d.ts} +6 -6
- package/http-request-state/rxjs/getRequestorBody.d.ts +3 -0
- package/http-request-state/rxjs/getRequestorState.d.ts +3 -0
- package/{src/http-request-state/rxjs/index.ts → http-request-state/rxjs/index.d.ts} +4 -4
- package/http-request-state/rxjs/tapError.d.ts +3 -0
- package/http-request-state/rxjs/tapSuccess.d.ts +3 -0
- package/http-request-state/types.d.ts +41 -0
- package/index.d.ts +5 -0
- package/ngrx/actionable-selector.d.ts +17 -0
- package/ngrx/index.d.ts +1 -0
- package/package.json +30 -16
- package/{src/public-api.ts → public-api.d.ts} +16 -35
- package/rxjs/defaultShareReplay.d.ts +2 -0
- package/{src/rxjs/index.ts → rxjs/index.d.ts} +5 -5
- package/rxjs/mapError.d.ts +2 -0
- package/rxjs/rxjs-operators.d.ts +13 -0
- package/rxjs/subjectifier.d.ts +8 -0
- package/rxjs/subscriber.directive.d.ts +14 -0
- package/table-builder/classes/DefaultSettings.d.ts +9 -0
- package/table-builder/classes/MatTableObservableDataSource.d.ts +9 -0
- package/table-builder/classes/TableBuilderConfig.d.ts +21 -0
- package/table-builder/classes/TableBuilderDataSource.d.ts +12 -0
- package/table-builder/classes/TableState.d.ts +67 -0
- package/table-builder/classes/data-store.d.ts +8 -0
- package/{src/table-builder/classes/display-col.ts → table-builder/classes/display-col.d.ts} +5 -5
- package/table-builder/classes/filter-info.d.ts +35 -0
- package/table-builder/classes/table-builder-general-settings.d.ts +78 -0
- package/table-builder/classes/table-builder.d.ts +18 -0
- package/table-builder/classes/table-store.d.ts +138 -0
- package/table-builder/components/array-column.component.d.ts +15 -0
- package/table-builder/components/column-builder/column-builder.component.d.ts +47 -0
- package/table-builder/components/column-builder/column-helpers.d.ts +36 -0
- package/table-builder/components/date-filter/date-filter.component.d.ts +37 -0
- package/table-builder/components/date-time-filter/date-time-filter.component.d.ts +37 -0
- package/table-builder/components/filter/filter.component.d.ts +46 -0
- package/table-builder/components/filter/in-list/in-list-filter.component.d.ts +24 -0
- package/table-builder/components/gen-col-displayer/gen-col-displayer.component.d.ts +17 -0
- package/table-builder/components/generic-table/generic-table.component.d.ts +83 -0
- package/table-builder/components/generic-table/paginator.component.d.ts +30 -0
- package/table-builder/components/group-by-list/group-by-list.component.d.ts +7 -0
- package/table-builder/components/header-menu/header-menu.component.d.ts +51 -0
- package/table-builder/components/in-filter/in-filter.component.d.ts +20 -0
- package/{src/table-builder/components/index.ts → table-builder/components/index.d.ts} +9 -9
- package/table-builder/components/initialization-component/initialization-component.d.ts +13 -0
- package/table-builder/components/link-column.component.d.ts +25 -0
- package/table-builder/components/number-filter/number-filter.component.d.ts +39 -0
- package/table-builder/components/profiles-menu/profiles-menu.component.d.ts +32 -0
- package/table-builder/components/scroll-strategy.d.ts +22 -0
- package/table-builder/components/sort-menu/sort-menu.component-store.d.ts +24 -0
- package/table-builder/components/sort-menu/sort-menu.component.d.ts +24 -0
- package/{src/table-builder/components/table-container/table-container-imports.ts → table-builder/components/table-container/table-container-imports.d.ts} +14 -32
- package/table-builder/components/table-container/table-container.d.ts +79 -0
- package/table-builder/components/table-container/table-container.helpers/data-state.helpers.d.ts +6 -0
- package/table-builder/components/table-container/table-container.helpers/filter-state.helpers.d.ts +17 -0
- package/table-builder/components/table-container/table-container.helpers/groupBy.helpers.d.ts +17 -0
- package/table-builder/components/table-container/table-container.helpers/sort-state.helpers.d.ts +8 -0
- package/table-builder/components/table-container/tableProps.d.ts +12 -0
- package/table-builder/components/table-container/virtual-scroll-container.d.ts +35 -0
- package/table-builder/components/table-container-filter/filter-list/filter-list.component.d.ts +15 -0
- package/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.d.ts +12 -0
- package/table-builder/components/table-container-filter/table-wrapper-filter-store.d.ts +14 -0
- package/table-builder/directives/custom-cell-directive.d.ts +33 -0
- package/{src/table-builder/directives/index.ts → table-builder/directives/index.d.ts} +5 -6
- package/table-builder/directives/multi-sort.directive.d.ts +10 -0
- package/table-builder/directives/resize-column.directive.d.ts +43 -0
- package/table-builder/directives/table-wrapper.directive.d.ts +8 -0
- package/table-builder/directives/tb-filter.directive.d.ts +115 -0
- package/table-builder/enums/filterTypes.d.ts +36 -0
- package/table-builder/functions/boolean-filter-function.d.ts +3 -0
- package/table-builder/functions/date-filter-function.d.ts +4 -0
- package/table-builder/functions/download-data.d.ts +1 -0
- package/table-builder/functions/null-filter-function.d.ts +2 -0
- package/table-builder/functions/number-filter-function.d.ts +4 -0
- package/table-builder/functions/sort-data-function.d.ts +6 -0
- package/table-builder/functions/string-filter-function.d.ts +5 -0
- package/{src/table-builder/interfaces/ColumnInfo.ts → table-builder/interfaces/ColumnInfo.d.ts} +6 -7
- package/{src/table-builder/interfaces/dictionary.ts → table-builder/interfaces/dictionary.d.ts} +3 -3
- package/table-builder/interfaces/report-def.d.ts +147 -0
- package/table-builder/ngrx/tableBuilderStateStore.d.ts +70 -0
- package/table-builder/pipes/column-total.pipe.d.ts +8 -0
- package/table-builder/pipes/format-filter-type.pipe.d.ts +8 -0
- package/table-builder/pipes/format-filter-value.pipe.d.ts +12 -0
- package/table-builder/pipes/key-display.d.ts +10 -0
- package/table-builder/services/export-to-csv.service.d.ts +14 -0
- package/table-builder/services/link-creator.service.d.ts +16 -0
- package/table-builder/services/table-template-service.d.ts +14 -0
- package/table-builder/services/transform-creator.d.ts +16 -0
- package/table-builder/table-builder.module.d.ts +21 -0
- package/utilities/array-helpers.d.ts +1 -0
- package/utilities/directives/auto-focus.directive.d.ts +9 -0
- package/utilities/directives/clickEmitterDirective.d.ts +7 -0
- package/utilities/directives/clickSubject.d.ts +9 -0
- package/utilities/directives/conditional-classes.directive.d.ts +13 -0
- package/utilities/directives/dialog-service.d.ts +10 -0
- package/utilities/directives/dialog.d.ts +44 -0
- package/utilities/directives/mat-toggle-group-directive.d.ts +21 -0
- package/utilities/directives/prevent-enter.directive.d.ts +6 -0
- package/utilities/directives/stop-propagation.directive.d.ts +7 -0
- package/utilities/directives/styler.d.ts +15 -0
- package/utilities/directives/trim-whitespace.directive.d.ts +7 -0
- package/{src/utilities/index.ts → utilities/index.d.ts} +15 -22
- package/utilities/module.d.ts +19 -0
- package/utilities/pipes/function.pipe.d.ts +7 -0
- package/utilities/pipes/phone.pipe.d.ts +7 -0
- package/utilities/pipes/space-case.pipes.d.ts +17 -0
- package/karma.conf.js +0 -44
- package/ng-package.json +0 -7
- package/src/action-state/action-state-spinner/action-state-spinner.component.css +0 -16
- package/src/action-state/action-state-spinner/action-state-spinner.component.html +0 -6
- package/src/action-state/action-state-spinner/action-state-spinner.component.spec.ts +0 -25
- package/src/action-state/action-state-spinner/action-state-spinner.component.ts +0 -26
- package/src/action-state/action-state-ui/action-state-ui.module.ts +0 -13
- package/src/action-state/ngrx-ext/ngrx-ext.module.ts +0 -15
- package/src/action-state/ngrx.ts +0 -69
- package/src/http-request-state/HttpRequestStateFactory.ts +0 -66
- package/src/http-request-state/HttpRequestStateStore.ts +0 -173
- package/src/http-request-state/directives/HttpStateDirectiveBase.ts +0 -29
- package/src/http-request-state/directives/http-error-state-directive.ts +0 -21
- package/src/http-request-state/directives/http-inProgress-state-directive.ts +0 -19
- package/src/http-request-state/directives/http-notStarted-state-directive.ts +0 -19
- package/src/http-request-state/directives/http-success-state-directive.ts +0 -29
- package/src/http-request-state/directives/request-state-directive.spec.ts +0 -72
- package/src/http-request-state/directives/request-state-directive.ts +0 -78
- package/src/http-request-state/helpers.ts +0 -30
- package/src/http-request-state/http-request-state.ts +0 -69
- package/src/http-request-state/http-state-module.ts +0 -23
- package/src/http-request-state/observable.spec.ts +0 -43
- package/src/http-request-state/rxjs/getRequestorBody.ts +0 -10
- package/src/http-request-state/rxjs/getRequestorState.ts +0 -8
- package/src/http-request-state/rxjs/tapError.ts +0 -16
- package/src/http-request-state/rxjs/tapSuccess.ts +0 -16
- package/src/http-request-state/strategies.spec.ts +0 -42
- package/src/http-request-state/types.ts +0 -55
- package/src/ngrx/actionable-selector.ts +0 -95
- package/src/ngrx/index.ts +0 -1
- package/src/rxjs/defaultShareReplay.ts +0 -8
- package/src/rxjs/mapError.ts +0 -8
- package/src/rxjs/rxjs-operators.ts +0 -132
- package/src/rxjs/subjectifier.ts +0 -17
- package/src/rxjs/subscriber.directive.ts +0 -57
- package/src/specs/clickSubject.spec.ts +0 -95
- package/src/specs/dialog.spec.ts +0 -101
- package/src/specs/toggleGroupDirective.spec.ts +0 -229
- package/src/table-builder/classes/DefaultSettings.ts +0 -11
- package/src/table-builder/classes/MatTableObservableDataSource.ts +0 -23
- package/src/table-builder/classes/TableBuilderConfig.ts +0 -35
- package/src/table-builder/classes/TableBuilderDataSource.ts +0 -80
- package/src/table-builder/classes/TableState.ts +0 -96
- package/src/table-builder/classes/data-store.ts +0 -10
- package/src/table-builder/classes/filter-info.ts +0 -108
- package/src/table-builder/classes/table-builder-general-settings.ts +0 -129
- package/src/table-builder/classes/table-builder.ts +0 -94
- package/src/table-builder/classes/table-store.ts +0 -471
- package/src/table-builder/components/array-column.component.ts +0 -36
- package/src/table-builder/components/column-builder/column-builder.component.html +0 -61
- package/src/table-builder/components/column-builder/column-builder.component.scss +0 -43
- package/src/table-builder/components/column-builder/column-builder.component.spec.ts +0 -49
- package/src/table-builder/components/column-builder/column-builder.component.ts +0 -135
- package/src/table-builder/components/column-builder/column-helpers.ts +0 -53
- package/src/table-builder/components/date-filter/date-filter.component.html +0 -23
- package/src/table-builder/components/date-filter/date-filter.component.ts +0 -24
- package/src/table-builder/components/date-time-filter/date-time-filter.component.html +0 -9
- package/src/table-builder/components/date-time-filter/date-time-filter.component.ts +0 -22
- package/src/table-builder/components/filter/filter.component.html +0 -91
- package/src/table-builder/components/filter/filter.component.scss +0 -64
- package/src/table-builder/components/filter/filter.component.spec.ts +0 -87
- package/src/table-builder/components/filter/filter.component.ts +0 -60
- package/src/table-builder/components/filter/in-list/in-list-filter.component.ts +0 -93
- package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.html +0 -55
- package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.scss +0 -57
- package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.ts +0 -59
- package/src/table-builder/components/generic-table/generic-table.component.html +0 -78
- package/src/table-builder/components/generic-table/generic-table.component.scss +0 -42
- package/src/table-builder/components/generic-table/generic-table.component.ts +0 -299
- package/src/table-builder/components/generic-table/paginator.component.ts +0 -99
- package/src/table-builder/components/group-by-list/group-by-list.component.css +0 -8
- package/src/table-builder/components/group-by-list/group-by-list.component.html +0 -12
- package/src/table-builder/components/group-by-list/group-by-list.component.spec.ts +0 -23
- package/src/table-builder/components/group-by-list/group-by-list.component.ts +0 -21
- package/src/table-builder/components/header-menu/header-menu.component.html +0 -104
- package/src/table-builder/components/header-menu/header-menu.component.scss +0 -96
- package/src/table-builder/components/header-menu/header-menu.component.ts +0 -99
- package/src/table-builder/components/in-filter/in-filter.component.css +0 -3
- package/src/table-builder/components/in-filter/in-filter.component.html +0 -20
- package/src/table-builder/components/in-filter/in-filter.component.ts +0 -66
- package/src/table-builder/components/initialization-component/initialization-component.html +0 -29
- package/src/table-builder/components/initialization-component/initialization-component.ts +0 -24
- package/src/table-builder/components/link-column.component.ts +0 -47
- package/src/table-builder/components/number-filter/number-filter.component.css +0 -10
- package/src/table-builder/components/number-filter/number-filter.component.html +0 -19
- package/src/table-builder/components/number-filter/number-filter.component.spec.ts +0 -30
- package/src/table-builder/components/number-filter/number-filter.component.ts +0 -25
- package/src/table-builder/components/profiles-menu/profiles-menu.component.html +0 -74
- package/src/table-builder/components/profiles-menu/profiles-menu.component.scss +0 -98
- package/src/table-builder/components/profiles-menu/profiles-menu.component.spec.ts +0 -23
- package/src/table-builder/components/profiles-menu/profiles-menu.component.ts +0 -65
- package/src/table-builder/components/scroll-strategy.ts +0 -76
- package/src/table-builder/components/sort-menu/sort-menu.component-store.ts +0 -66
- package/src/table-builder/components/sort-menu/sort-menu.component.html +0 -111
- package/src/table-builder/components/sort-menu/sort-menu.component.scss +0 -119
- package/src/table-builder/components/sort-menu/sort-menu.component.ts +0 -98
- package/src/table-builder/components/table-container/table-container.css +0 -54
- package/src/table-builder/components/table-container/table-container.helpers/data-state.helpers.ts +0 -141
- package/src/table-builder/components/table-container/table-container.helpers/filter-state.helpers.ts +0 -106
- package/src/table-builder/components/table-container/table-container.helpers/groupBy.helpers.ts +0 -86
- package/src/table-builder/components/table-container/table-container.helpers/sort-state.helpers.ts +0 -45
- package/src/table-builder/components/table-container/table-container.html +0 -95
- package/src/table-builder/components/table-container/table-container.spec.ts +0 -154
- package/src/table-builder/components/table-container/table-container.ts +0 -356
- package/src/table-builder/components/table-container/tableProps.ts +0 -20
- package/src/table-builder/components/table-container/virtual-scroll-container.ts +0 -145
- package/src/table-builder/components/table-container-filter/filter-list/filter-list.component.html +0 -31
- package/src/table-builder/components/table-container-filter/filter-list/filter-list.component.ts +0 -46
- package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.css +0 -42
- package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.html +0 -10
- package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.spec.ts +0 -86
- package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.ts +0 -34
- package/src/table-builder/components/table-container-filter/table-wrapper-filter-store.ts +0 -23
- package/src/table-builder/directives/custom-cell-directive.ts +0 -58
- package/src/table-builder/directives/multi-sort.directive.spec.ts +0 -124
- package/src/table-builder/directives/multi-sort.directive.ts +0 -51
- package/src/table-builder/directives/resize-column.directive.ts +0 -108
- package/src/table-builder/directives/table-wrapper.directive.ts +0 -14
- package/src/table-builder/directives/tb-filter.directive.ts +0 -396
- package/src/table-builder/enums/filterTypes.ts +0 -40
- package/src/table-builder/functions/boolean-filter-function.ts +0 -12
- package/src/table-builder/functions/date-filter-function.ts +0 -68
- package/src/table-builder/functions/download-data.ts +0 -11
- package/src/table-builder/functions/null-filter-function.ts +0 -9
- package/src/table-builder/functions/number-filter-function.ts +0 -41
- package/src/table-builder/functions/sort-data-function.ts +0 -23
- package/src/table-builder/functions/string-filter-function.ts +0 -51
- package/src/table-builder/interfaces/column-template.ts +0 -9
- package/src/table-builder/interfaces/report-def.ts +0 -155
- package/src/table-builder/ngrx/tableBuilderStateStore.ts +0 -199
- package/src/table-builder/pipes/column-total.pipe.ts +0 -17
- package/src/table-builder/pipes/format-filter-type.pipe.ts +0 -12
- package/src/table-builder/pipes/format-filter-value.pipe.ts +0 -42
- package/src/table-builder/pipes/key-display.ts +0 -16
- package/src/table-builder/services/export-to-csv.service.ts +0 -97
- package/src/table-builder/services/link-creator.service.ts +0 -67
- package/src/table-builder/services/table-template-service.ts +0 -59
- package/src/table-builder/services/transform-creator.ts +0 -95
- package/src/table-builder/specs/table-custom-filters.spec.ts +0 -262
- package/src/table-builder/styles/collapser.styles.scss +0 -16
- package/src/table-builder/table-builder.module.ts +0 -73
- package/src/test.ts +0 -17
- package/src/utilities/array-helpers.ts +0 -13
- package/src/utilities/directives/auto-focus.directive.ts +0 -21
- package/src/utilities/directives/clickEmitterDirective.ts +0 -16
- package/src/utilities/directives/clickSubject.ts +0 -20
- package/src/utilities/directives/conditional-classes.directive.ts +0 -36
- package/src/utilities/directives/dialog-service.ts +0 -19
- package/src/utilities/directives/dialog.ts +0 -144
- package/src/utilities/directives/mat-toggle-group-directive.ts +0 -61
- package/src/utilities/directives/prevent-enter.directive.ts +0 -13
- package/src/utilities/directives/stop-propagation.directive.ts +0 -20
- package/src/utilities/directives/styler.ts +0 -40
- package/src/utilities/directives/trim-whitespace.directive.ts +0 -21
- package/src/utilities/module.ts +0 -55
- package/src/utilities/pipes/function.pipe.ts +0 -16
- package/src/utilities/pipes/phone.pipe.ts +0 -15
- package/src/utilities/pipes/space-case.pipes.spec.ts +0 -47
- package/src/utilities/pipes/space-case.pipes.ts +0 -23
- package/tsconfig.lib.json +0 -19
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -17
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { Directive, TemplateRef, Input, Component, Output, EventEmitter, ViewContainerRef, Injector, ChangeDetectionStrategy, inject, untracked, isSignal } from '@angular/core';
|
|
2
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import { DialogService } from './dialog-service';
|
|
5
|
+
import { subscriber } from '../../rxjs';
|
|
6
|
+
import { toObservable } from '@angular/core/rxjs-interop';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class DialogWrapper {
|
|
9
|
+
vcr = inject(ViewContainerRef);
|
|
10
|
+
viewEmbedded = false;
|
|
11
|
+
viewContext = {
|
|
12
|
+
close: () => { },
|
|
13
|
+
};
|
|
14
|
+
set template(tmpl) {
|
|
15
|
+
if (this.viewEmbedded) {
|
|
16
|
+
this.vcr.clear();
|
|
17
|
+
}
|
|
18
|
+
this.viewEmbedded = true;
|
|
19
|
+
this.vcr.createEmbeddedView(tmpl, this.viewContext);
|
|
20
|
+
}
|
|
21
|
+
set close(closeMethod) {
|
|
22
|
+
this.viewContext.close = closeMethod;
|
|
23
|
+
}
|
|
24
|
+
set data(value) {
|
|
25
|
+
this.viewContext.$implicit = value;
|
|
26
|
+
this.viewContext.opDialog = value;
|
|
27
|
+
}
|
|
28
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DialogWrapper, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DialogWrapper, isStandalone: true, selector: "dialog-wrapper", ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DialogWrapper, decorators: [{
|
|
32
|
+
type: Component,
|
|
33
|
+
args: [{
|
|
34
|
+
selector: 'dialog-wrapper',
|
|
35
|
+
template: ``,
|
|
36
|
+
standalone: true,
|
|
37
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
38
|
+
}]
|
|
39
|
+
}] });
|
|
40
|
+
const defaultDialogConfig = {
|
|
41
|
+
maxHeight: '95vh',
|
|
42
|
+
};
|
|
43
|
+
export class DialogDirective {
|
|
44
|
+
templateRef = inject(TemplateRef);
|
|
45
|
+
dialog = inject(MatDialog);
|
|
46
|
+
service = inject(DialogService);
|
|
47
|
+
opDialogClosed = new EventEmitter();
|
|
48
|
+
_dialogConfig = defaultDialogConfig;
|
|
49
|
+
opDialogAddDialogClass = true;
|
|
50
|
+
set opDialogConfig(config) {
|
|
51
|
+
this._dialogConfig = { ...defaultDialogConfig, ...config };
|
|
52
|
+
}
|
|
53
|
+
get opDialogConfig() {
|
|
54
|
+
return this._dialogConfig;
|
|
55
|
+
}
|
|
56
|
+
injector = inject(Injector);
|
|
57
|
+
subscriber = subscriber(this.injector);
|
|
58
|
+
set setControl(i) {
|
|
59
|
+
let o;
|
|
60
|
+
if (isSignal(i)) {
|
|
61
|
+
o = toObservable(i, { injector: this.injector });
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
o = i;
|
|
65
|
+
}
|
|
66
|
+
untracked(() => {
|
|
67
|
+
this.subscriber.on(o, this.setDataAndState);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
nativeElement;
|
|
71
|
+
dialogRef;
|
|
72
|
+
componentWrapper;
|
|
73
|
+
_data = new Subject();
|
|
74
|
+
close() {
|
|
75
|
+
this.dialogRef?.close();
|
|
76
|
+
}
|
|
77
|
+
initDialog() {
|
|
78
|
+
if (this.nativeElement) {
|
|
79
|
+
const rect = this.nativeElement.getBoundingClientRect();
|
|
80
|
+
const position = { left: `${rect.left}px`, top: `${rect.bottom - 50}px` };
|
|
81
|
+
this.opDialogConfig = { ...this.opDialogConfig, position };
|
|
82
|
+
}
|
|
83
|
+
if (this.opDialogAddDialogClass) {
|
|
84
|
+
this.opDialogConfig.panelClass = [...(Array.isArray(this.opDialogConfig.panelClass) ? this.opDialogConfig.panelClass : this.opDialogConfig.panelClass ? [this.opDialogConfig.panelClass] : []), 'opDialog'];
|
|
85
|
+
}
|
|
86
|
+
this.dialogRef = this.dialog.open(DialogWrapper, this.opDialogConfig);
|
|
87
|
+
this.componentWrapper = this.dialogRef.componentInstance;
|
|
88
|
+
this.componentWrapper.close = () => this.dialogRef?.close();
|
|
89
|
+
this.componentWrapper.data = this.opDialogConfig.data;
|
|
90
|
+
this.componentWrapper.template = this.templateRef;
|
|
91
|
+
if (!this.opDialogConfig.disableClose) {
|
|
92
|
+
this.service.addDialogRef(this.dialogRef);
|
|
93
|
+
}
|
|
94
|
+
const sub = this.dialogRef.afterClosed().subscribe(() => {
|
|
95
|
+
this.opDialogClosed.emit(true);
|
|
96
|
+
this.service.removeDialogRef(this.dialogRef);
|
|
97
|
+
this.dialogRef = undefined;
|
|
98
|
+
sub.unsubscribe();
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
setDataAndState = (data) => {
|
|
102
|
+
if (data) {
|
|
103
|
+
this.opDialogConfig.data = data;
|
|
104
|
+
this.setDialogState(true);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
this.setDialogState(false);
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
setDialogState(open) {
|
|
111
|
+
if (open) {
|
|
112
|
+
if (!this.dialogRef) {
|
|
113
|
+
this.initDialog();
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
this.componentWrapper.data = this.opDialogConfig.data;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
else if (!open && this.dialogRef) {
|
|
120
|
+
this.dialogRef.close();
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
static ngTemplateContextGuard(dir, ctx) {
|
|
124
|
+
return true;
|
|
125
|
+
}
|
|
126
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DialogDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
127
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: DialogDirective, isStandalone: true, selector: "[opDialog]", inputs: { opDialogAddDialogClass: "opDialogAddDialogClass", opDialogConfig: "opDialogConfig", setControl: ["opDialog", "setControl"], nativeElement: ["opDialogOrigin", "nativeElement"] }, outputs: { opDialogClosed: "opDialogClosed" }, ngImport: i0 });
|
|
128
|
+
}
|
|
129
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DialogDirective, decorators: [{
|
|
130
|
+
type: Directive,
|
|
131
|
+
args: [{ selector: '[opDialog]', standalone: true }]
|
|
132
|
+
}], propDecorators: { opDialogClosed: [{
|
|
133
|
+
type: Output
|
|
134
|
+
}], opDialogAddDialogClass: [{
|
|
135
|
+
type: Input
|
|
136
|
+
}], opDialogConfig: [{
|
|
137
|
+
type: Input
|
|
138
|
+
}], setControl: [{
|
|
139
|
+
type: Input,
|
|
140
|
+
args: ['opDialog']
|
|
141
|
+
}], nativeElement: [{
|
|
142
|
+
type: Input,
|
|
143
|
+
args: ['opDialogOrigin']
|
|
144
|
+
}] } });
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3V0aWxpdGllcy9kaXJlY3RpdmVzL2RpYWxvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQWEsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUE0Qix1QkFBdUIsRUFBUyxNQUFNLEVBQVUsU0FBUyxFQUFVLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNyUCxPQUFPLEVBQUUsU0FBUyxFQUFpQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3BGLE9BQU8sRUFBNEIsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUV2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBYzFELE1BQU0sT0FBTyxhQUFhO0lBQ2hCLEdBQUcsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUV2QyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLFdBQVcsR0FBRztRQUNaLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDO0tBQ1EsQ0FBQztJQUMxQixJQUFJLFFBQVEsQ0FBQyxJQUF1QztRQUNsRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ25CLENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLFdBQXVCO1FBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsS0FBUTtRQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDcEMsQ0FBQzt1R0F0QlUsYUFBYTsyRkFBYixhQUFhLDBFQUpkLEVBQUU7OzJGQUlELGFBQWE7a0JBTnpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs7QUE0QkQsTUFBTSxtQkFBbUIsR0FBb0I7SUFDM0MsU0FBUyxFQUFFLE1BQU07Q0FDbEIsQ0FBQTtBQUtDLE1BQU0sT0FBTyxlQUFlO0lBQ3BCLFdBQVcsR0FBRyxNQUFNLENBQW9DLFdBQVcsQ0FBQyxDQUFDO0lBQ3JFLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0IsT0FBTyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUU5QixjQUFjLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7SUFDckUsYUFBYSxHQUF1QixtQkFBbUIsQ0FBQztJQUMvQyxzQkFBc0IsR0FBRyxJQUFJLENBQUM7SUFDdkMsSUFBYSxjQUFjLENBQUMsTUFBMEI7UUFFcEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLEdBQUcsbUJBQW1CLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBQ0QsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1QixVQUFVLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxJQUF1QixVQUFVLENBQUMsQ0FBNEI7UUFDNUQsSUFBSSxDQUFnQixDQUFDO1FBQ3JCLElBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7WUFDZCxDQUFDLEdBQUcsWUFBWSxDQUFJLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtRQUNyRCxDQUFDO2FBQU0sQ0FBQztZQUNOLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDUixDQUFDO1FBQ0QsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRXdCLGFBQWEsQ0FBZ0I7SUFDdEQsU0FBUyxDQUE4QjtJQUN2QyxnQkFBZ0IsQ0FBb0I7SUFFcEMsS0FBSyxHQUFHLElBQUksT0FBTyxFQUFpQixDQUFDO0lBRXJDLEtBQUs7UUFDSCxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBRyxJQUFJLENBQUMsYUFBYSxFQUFDLENBQUM7WUFDckIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ3hELE1BQU0sUUFBUSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUMxRSxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFHLFFBQVEsRUFBQyxDQUFDO1FBQzVELENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlNLENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUM7UUFDekQsSUFBSSxDQUFDLGdCQUFpQixDQUFDLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQzdELElBQUksQ0FBQyxnQkFBaUIsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFTLENBQUM7UUFDNUQsSUFBSSxDQUFDLGdCQUFpQixDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3RELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFVLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztZQUMzQixHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsZUFBZSxHQUFHLENBQUMsSUFBTyxFQUFFLEVBQUU7UUFDNUIsSUFBSSxJQUFJLEVBQUMsQ0FBQztZQUNSLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNoQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQyxDQUFBO0lBRUQsY0FBYyxDQUFDLElBQWE7UUFDMUIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLGdCQUFpQixDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQVMsQ0FBQztZQUM5RCxDQUFDO1FBQ0gsQ0FBQzthQUFNLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsc0JBQXNCLENBQUksR0FBdUIsRUFBRSxHQUFRO1FBQ2hFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzt1R0F2RlksZUFBZTsyRkFBZixlQUFlOzsyRkFBZixlQUFlO2tCQUY3QixTQUFTO21CQUNSLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFOzhCQU1sQyxjQUFjO3NCQUF2QixNQUFNO2dCQUVFLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDTyxjQUFjO3NCQUExQixLQUFLO2dCQVVpQixVQUFVO3NCQUFoQyxLQUFLO3VCQUFDLFVBQVU7Z0JBWVEsYUFBYTtzQkFBckMsS0FBSzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmLCBJbnB1dCwgT25EZXN0cm95LCBDb21wb25lbnQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q29udGFpbmVyUmVmLCBJbmplY3RvciwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgaW5wdXQsIGluamVjdCwgZWZmZWN0LCB1bnRyYWNrZWQsIFNpZ25hbCwgaXNTaWduYWwsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiwgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBTdWJqZWN0LCBpc09ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgc3dpdGNoQWxsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9kaWFsb2ctc2VydmljZSc7XHJcbmltcG9ydCB7IHN1YnNjcmliZXIgfSBmcm9tICcuLi8uLi9yeGpzJztcclxuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5cclxuaW50ZXJmYWNlIERpYWxvZ1ZpZXdDb250ZXh0PFQ+IHtcclxuICAkaW1wbGljaXQ6IFQsXHJcbiAgb3BEaWFsb2c6IFQsXHJcbiAgY2xvc2U6ICgpID0+IHZvaWQsXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGlhbG9nLXdyYXBwZXInLFxyXG4gIHRlbXBsYXRlOiBgYCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nV3JhcHBlcjxUID0gYW55PiB7XHJcbiAgcHJpdmF0ZSB2Y3IgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XHJcblxyXG4gIHZpZXdFbWJlZGRlZCA9IGZhbHNlO1xyXG4gIHZpZXdDb250ZXh0ID0ge1xyXG4gICAgY2xvc2U6ICgpID0+IHt9LFxyXG4gIH0gYXMgRGlhbG9nVmlld0NvbnRleHQ8VD47XHJcbiAgc2V0IHRlbXBsYXRlKHRtcGw6IFRlbXBsYXRlUmVmPERpYWxvZ1ZpZXdDb250ZXh0PFQ+Pikge1xyXG4gICAgaWYgKHRoaXMudmlld0VtYmVkZGVkKSB7XHJcbiAgICAgIHRoaXMudmNyLmNsZWFyKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnZpZXdFbWJlZGRlZCA9IHRydWU7XHJcbiAgICB0aGlzLnZjci5jcmVhdGVFbWJlZGRlZFZpZXcodG1wbCwgdGhpcy52aWV3Q29udGV4dCk7XHJcbiAgfVxyXG5cclxuICBzZXQgY2xvc2UoY2xvc2VNZXRob2Q6ICgpID0+IHZvaWQgKSB7XHJcbiAgICB0aGlzLnZpZXdDb250ZXh0LmNsb3NlID0gY2xvc2VNZXRob2Q7XHJcbiAgfVxyXG5cclxuICBzZXQgZGF0YSh2YWx1ZTogVCkge1xyXG4gICAgdGhpcy52aWV3Q29udGV4dC4kaW1wbGljaXQgPSB2YWx1ZTtcclxuICAgIHRoaXMudmlld0NvbnRleHQub3BEaWFsb2cgPSB2YWx1ZTtcclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuY29uc3QgZGVmYXVsdERpYWxvZ0NvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0ge1xyXG4gIG1heEhlaWdodDogJzk1dmgnLFxyXG59XHJcblxyXG5cclxuQERpcmVjdGl2ZShcclxuICB7IHNlbGVjdG9yOiAnW29wRGlhbG9nXScsIHN0YW5kYWxvbmU6IHRydWUgfVxyXG4pIGV4cG9ydCBjbGFzcyBEaWFsb2dEaXJlY3RpdmU8VD4ge1xyXG4gIHByaXZhdGUgdGVtcGxhdGVSZWYgPSBpbmplY3Q8VGVtcGxhdGVSZWY8RGlhbG9nVmlld0NvbnRleHQ8VD4+PihUZW1wbGF0ZVJlZik7XHJcbiAgcHJpdmF0ZSBkaWFsb2cgPSBpbmplY3QoTWF0RGlhbG9nKTtcclxuICBwcml2YXRlIHNlcnZpY2UgPSBpbmplY3QoRGlhbG9nU2VydmljZSk7XHJcblxyXG4gIEBPdXRwdXQoKSBvcERpYWxvZ0Nsb3NlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIF9kaWFsb2dDb25maWc6IE1hdERpYWxvZ0NvbmZpZzxUPiA9IGRlZmF1bHREaWFsb2dDb25maWc7XHJcbiAgQElucHV0KCkgb3BEaWFsb2dBZGREaWFsb2dDbGFzcyA9IHRydWU7XHJcbiAgQElucHV0KCkgc2V0IG9wRGlhbG9nQ29uZmlnKGNvbmZpZzogTWF0RGlhbG9nQ29uZmlnPFQ+KSB7XHJcbiAgICBcclxuICAgIHRoaXMuX2RpYWxvZ0NvbmZpZyA9IHsgLi4uZGVmYXVsdERpYWxvZ0NvbmZpZywgLi4uY29uZmlnIH07XHJcbiAgfVxyXG5cclxuICBnZXQgb3BEaWFsb2dDb25maWcoKSA6IE1hdERpYWxvZ0NvbmZpZzxUPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGlhbG9nQ29uZmlnO1xyXG4gIH1cclxuICBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XHJcbiAgc3Vic2NyaWJlciA9IHN1YnNjcmliZXIodGhpcy5pbmplY3Rvcik7XHJcbiAgQElucHV0KCdvcERpYWxvZycpIHNldCBzZXRDb250cm9sKGk6IE9ic2VydmFibGU8VD4gfCBTaWduYWw8VD4pe1xyXG4gICAgbGV0IG86IE9ic2VydmFibGU8VD47XHJcbiAgICBpZihpc1NpZ25hbChpKSl7XHJcbiAgICAgIG8gPSB0b09ic2VydmFibGU8VD4oaSwgeyBpbmplY3RvcjogdGhpcy5pbmplY3RvciB9KVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbyA9IGk7XHJcbiAgICB9XHJcbiAgICB1bnRyYWNrZWQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnN1YnNjcmliZXIub24obywgdGhpcy5zZXREYXRhQW5kU3RhdGUpO1xyXG4gICAgfSk7XHJcbiAgfSBcclxuXHJcbiAgQElucHV0KCdvcERpYWxvZ09yaWdpbicpIG5hdGl2ZUVsZW1lbnQ/IDogSFRNTEVsZW1lbnQ7XHJcbiAgZGlhbG9nUmVmPzogTWF0RGlhbG9nUmVmPGFueSwgYm9vbGVhbj47XHJcbiAgY29tcG9uZW50V3JhcHBlcj86IERpYWxvZ1dyYXBwZXI8VD47XHJcblxyXG4gIF9kYXRhID0gbmV3IFN1YmplY3Q8T2JzZXJ2YWJsZTxUPj4oKTtcclxuXHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZj8uY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIGluaXREaWFsb2coKSB7XHJcbiAgICBpZih0aGlzLm5hdGl2ZUVsZW1lbnQpe1xyXG4gICAgICBjb25zdCByZWN0ID0gdGhpcy5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICBjb25zdCBwb3NpdGlvbiA9IHsgbGVmdDogYCR7cmVjdC5sZWZ0fXB4YCwgdG9wOiBgJHtyZWN0LmJvdHRvbSAtIDUwfXB4YCB9O1xyXG4gICAgICB0aGlzLm9wRGlhbG9nQ29uZmlnID0gey4uLnRoaXMub3BEaWFsb2dDb25maWcgLCBwb3NpdGlvbn07XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5vcERpYWxvZ0FkZERpYWxvZ0NsYXNzKSB7XHJcbiAgICAgIHRoaXMub3BEaWFsb2dDb25maWcucGFuZWxDbGFzcyA9IFsuLi4oQXJyYXkuaXNBcnJheSh0aGlzLm9wRGlhbG9nQ29uZmlnLnBhbmVsQ2xhc3MpID8gdGhpcy5vcERpYWxvZ0NvbmZpZy5wYW5lbENsYXNzIDogdGhpcy5vcERpYWxvZ0NvbmZpZy5wYW5lbENsYXNzID8gW3RoaXMub3BEaWFsb2dDb25maWcucGFuZWxDbGFzc10gOiBbXSksICdvcERpYWxvZyddO1xyXG4gICAgfVxyXG4gICAgdGhpcy5kaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKERpYWxvZ1dyYXBwZXIsIHRoaXMub3BEaWFsb2dDb25maWcpO1xyXG4gICAgdGhpcy5jb21wb25lbnRXcmFwcGVyID0gdGhpcy5kaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2U7XHJcbiAgICB0aGlzLmNvbXBvbmVudFdyYXBwZXIhLmNsb3NlID0gKCkgPT4gdGhpcy5kaWFsb2dSZWY/LmNsb3NlKCk7XHJcbiAgICB0aGlzLmNvbXBvbmVudFdyYXBwZXIhLmRhdGEgPSB0aGlzLm9wRGlhbG9nQ29uZmlnLmRhdGEgYXMgVDtcclxuICAgIHRoaXMuY29tcG9uZW50V3JhcHBlciEudGVtcGxhdGUgPSB0aGlzLnRlbXBsYXRlUmVmO1xyXG4gICAgaWYgKCF0aGlzLm9wRGlhbG9nQ29uZmlnLmRpc2FibGVDbG9zZSkge1xyXG4gICAgICB0aGlzLnNlcnZpY2UuYWRkRGlhbG9nUmVmKHRoaXMuZGlhbG9nUmVmKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHN1YiA9IHRoaXMuZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5vcERpYWxvZ0Nsb3NlZC5lbWl0KHRydWUpO1xyXG4gICAgICB0aGlzLnNlcnZpY2UucmVtb3ZlRGlhbG9nUmVmKHRoaXMuZGlhbG9nUmVmISk7XHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmID0gdW5kZWZpbmVkO1xyXG4gICAgICBzdWIudW5zdWJzY3JpYmUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBzZXREYXRhQW5kU3RhdGUgPSAoZGF0YTogVCkgPT4ge1xyXG4gICAgaWYgKGRhdGEpe1xyXG4gICAgICB0aGlzLm9wRGlhbG9nQ29uZmlnLmRhdGEgPSBkYXRhO1xyXG4gICAgICB0aGlzLnNldERpYWxvZ1N0YXRlKHRydWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXREaWFsb2dTdGF0ZShmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXREaWFsb2dTdGF0ZShvcGVuOiBib29sZWFuKSB7XHJcbiAgICBpZiAob3Blbikge1xyXG4gICAgICBpZiAoIXRoaXMuZGlhbG9nUmVmKSB7XHJcbiAgICAgICAgdGhpcy5pbml0RGlhbG9nKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRXcmFwcGVyIS5kYXRhID0gdGhpcy5vcERpYWxvZ0NvbmZpZy5kYXRhIGFzIFQ7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoIW9wZW4gJiYgdGhpcy5kaWFsb2dSZWYpIHtcclxuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkPFQ+KGRpcjogRGlhbG9nRGlyZWN0aXZlPFQ+LCBjdHg6IGFueSk6IGN0eCBpcyBEaWFsb2dWaWV3Q29udGV4dDxFeGNsdWRlPFQsIGZhbHNlIHwgMCB8ICcnIHwgbnVsbCB8IHVuZGVmaW5lZD4+IHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { ContentChildren, Directive, Input, Output } from "@angular/core";
|
|
2
|
+
import { MatSlideToggle } from "@angular/material/slide-toggle";
|
|
3
|
+
import { merge, ReplaySubject, scan, startWith, switchMap } from "rxjs";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class MatSlideToggleGroupDirective {
|
|
6
|
+
allowMultiple = false;
|
|
7
|
+
_toggles;
|
|
8
|
+
set toggles(val) {
|
|
9
|
+
this._toggles = val;
|
|
10
|
+
this._ready.next(true);
|
|
11
|
+
}
|
|
12
|
+
_ready = new ReplaySubject(1);
|
|
13
|
+
get valueEmitter() {
|
|
14
|
+
return this._ready.pipe(switchMap(_ => this.getObs()));
|
|
15
|
+
}
|
|
16
|
+
getInitValue() {
|
|
17
|
+
const startValue = this._toggles.reduce((prev, cur) => {
|
|
18
|
+
if (!cur.name) {
|
|
19
|
+
throw new Error('toggle must have the name attribute set');
|
|
20
|
+
}
|
|
21
|
+
prev[cur.name] = cur.checked;
|
|
22
|
+
return prev;
|
|
23
|
+
}, {});
|
|
24
|
+
return startValue;
|
|
25
|
+
}
|
|
26
|
+
getObs() {
|
|
27
|
+
var toggleChanges = merge(...this._toggles.map(toggle => toggle.change));
|
|
28
|
+
const startValue = this.getInitValue();
|
|
29
|
+
return toggleChanges.pipe(scan((prev, cur) => {
|
|
30
|
+
const toggleName = cur.source.name;
|
|
31
|
+
const newVal = { ...prev, [toggleName]: cur.checked };
|
|
32
|
+
if (cur.checked && !this.allowMultiple) {
|
|
33
|
+
Object.keys(prev)
|
|
34
|
+
.filter(key => key !== toggleName && prev[key])
|
|
35
|
+
.forEach(key => {
|
|
36
|
+
newVal[key] = false;
|
|
37
|
+
this._toggles.find(toggle => toggle.name === key).toggle();
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
return newVal;
|
|
41
|
+
}, startValue), startWith(startValue));
|
|
42
|
+
}
|
|
43
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MatSlideToggleGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
44
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: MatSlideToggleGroupDirective, isStandalone: true, selector: "[opMatSlideToggleGroup]", inputs: { allowMultiple: "allowMultiple" }, outputs: { valueEmitter: "valueEmitter" }, queries: [{ propertyName: "toggles", predicate: MatSlideToggle }], ngImport: i0 });
|
|
45
|
+
}
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MatSlideToggleGroupDirective, decorators: [{
|
|
47
|
+
type: Directive,
|
|
48
|
+
args: [{ selector: '[opMatSlideToggleGroup]',
|
|
49
|
+
standalone: true
|
|
50
|
+
}]
|
|
51
|
+
}], propDecorators: { allowMultiple: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}], toggles: [{
|
|
54
|
+
type: ContentChildren,
|
|
55
|
+
args: [MatSlideToggle]
|
|
56
|
+
}], valueEmitter: [{
|
|
57
|
+
type: Output
|
|
58
|
+
}] } });
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXRvZ2dsZS1ncm91cC1kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdXRpbGl0aWVzL2RpcmVjdGl2ZXMvbWF0LXRvZ2dsZS1ncm91cC1kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLEtBQUssRUFBYyxhQUFhLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBT2xGLE1BQU0sT0FBTyw0QkFBNEI7SUFDaEMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUUvQixRQUFRLENBQTZCO0lBQ3JDLElBQXFDLE9BQU8sQ0FBQyxHQUE4QjtRQUN6RSxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztRQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRU8sTUFBTSxHQUFHLElBQUksYUFBYSxDQUFVLENBQUMsQ0FBQyxDQUFDO0lBRS9DLElBQWMsWUFBWTtRQUN4QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFFLFNBQVMsQ0FBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUdELFlBQVk7UUFDVixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBRSxDQUFDLElBQUksRUFBQyxHQUFHLEVBQUUsRUFBRTtZQUNwRCxJQUFHLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztZQUM3RCxDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFBO1lBQzVCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxFQUFFLEVBQTJCLENBQUMsQ0FBQztRQUNoQyxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBRSxDQUFDLENBQUM7UUFFM0UsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXZDLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FDdkIsSUFBSSxDQUFFLENBQUMsSUFBSSxFQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSyxDQUFDO1lBQ3BDLE1BQU0sTUFBTSxHQUFHLEVBQUMsR0FBRyxJQUFJLEVBQUMsQ0FBQyxVQUFVLENBQUMsRUFBQyxHQUFHLENBQUMsT0FBTyxFQUFDLENBQUM7WUFDbEQsSUFBRyxHQUFHLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUN0QyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztxQkFDZCxNQUFNLENBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssVUFBVSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDL0MsT0FBTyxDQUFFLEdBQUcsQ0FBQyxFQUFFO29CQUNkLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7b0JBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxHQUFHLENBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDL0QsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxFQUFDLFVBQVUsQ0FBQyxFQUNiLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FDdEIsQ0FBQztJQUVKLENBQUM7dUdBakRZLDRCQUE0QjsyRkFBNUIsNEJBQTRCLGtNQUl4QixjQUFjOzsyRkFKbEIsNEJBQTRCO2tCQUoxQyxTQUFTO21CQUNSLEVBQUUsUUFBUSxFQUFFLHlCQUF5QjtvQkFDckMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQUVVLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRytCLE9BQU87c0JBQTNDLGVBQWU7dUJBQUMsY0FBYztnQkFPakIsWUFBWTtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRDaGlsZHJlbiwgRGlyZWN0aXZlLCBJbnB1dCwgT3V0cHV0LCBRdWVyeUxpc3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGVcIjtcclxuaW1wb3J0IHsgbWVyZ2UsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIHNjYW4sIHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcblxyXG5ARGlyZWN0aXZlKFxyXG4gIHsgc2VsZWN0b3I6ICdbb3BNYXRTbGlkZVRvZ2dsZUdyb3VwXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59XHJcbikgZXhwb3J0IGNsYXNzIE1hdFNsaWRlVG9nZ2xlR3JvdXBEaXJlY3RpdmUgIHtcclxuICBASW5wdXQoKSBhbGxvd011bHRpcGxlID0gZmFsc2U7XHJcblxyXG4gIF90b2dnbGVzITogUXVlcnlMaXN0PE1hdFNsaWRlVG9nZ2xlPjtcclxuICBAQ29udGVudENoaWxkcmVuKE1hdFNsaWRlVG9nZ2xlKSBzZXQgdG9nZ2xlcyh2YWw6IFF1ZXJ5TGlzdDxNYXRTbGlkZVRvZ2dsZT4pIHtcclxuICAgIHRoaXMuX3RvZ2dsZXMgPSB2YWw7XHJcbiAgICB0aGlzLl9yZWFkeS5uZXh0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVhZHkgPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigxKTtcclxuXHJcbiAgQE91dHB1dCgpIGdldCB2YWx1ZUVtaXR0ZXIoKSA6IE9ic2VydmFibGU8e1trZXk6c3RyaW5nXTogYm9vbGVhbn0+IHtcclxuICAgIHJldHVybiB0aGlzLl9yZWFkeS5waXBlKCBzd2l0Y2hNYXAoIF8gPT4gdGhpcy5nZXRPYnMoKSkpO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldEluaXRWYWx1ZSgpIHtcclxuICAgIGNvbnN0IHN0YXJ0VmFsdWUgPSB0aGlzLl90b2dnbGVzLnJlZHVjZSggKHByZXYsY3VyKSA9PiB7XHJcbiAgICAgIGlmKCFjdXIubmFtZSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcigndG9nZ2xlIG11c3QgaGF2ZSB0aGUgbmFtZSBhdHRyaWJ1dGUgc2V0Jyk7XHJcbiAgICAgIH1cclxuICAgICAgcHJldltjdXIubmFtZV0gPSBjdXIuY2hlY2tlZFxyXG4gICAgICByZXR1cm4gcHJldjtcclxuICAgIH0sIHt9IGFzIHtbazpzdHJpbmddOiBib29sZWFufSk7XHJcbiAgICByZXR1cm4gc3RhcnRWYWx1ZTtcclxuICB9XHJcblxyXG4gIGdldE9icygpIHtcclxuICAgIHZhciB0b2dnbGVDaGFuZ2VzID0gbWVyZ2UoLi4udGhpcy5fdG9nZ2xlcy5tYXAoIHRvZ2dsZSA9PiB0b2dnbGUuY2hhbmdlICkpO1xyXG5cclxuICAgIGNvbnN0IHN0YXJ0VmFsdWUgPSB0aGlzLmdldEluaXRWYWx1ZSgpO1xyXG5cclxuICAgIHJldHVybiB0b2dnbGVDaGFuZ2VzLnBpcGUoXHJcbiAgICAgIHNjYW4oIChwcmV2LGN1cikgPT4ge1xyXG4gICAgICAgIGNvbnN0IHRvZ2dsZU5hbWUgPSBjdXIuc291cmNlLm5hbWUhO1xyXG4gICAgICAgIGNvbnN0IG5ld1ZhbCA9IHsuLi5wcmV2LFt0b2dnbGVOYW1lXTpjdXIuY2hlY2tlZH07XHJcbiAgICAgICAgaWYoY3VyLmNoZWNrZWQgJiYgIXRoaXMuYWxsb3dNdWx0aXBsZSkge1xyXG4gICAgICAgICAgT2JqZWN0LmtleXMocHJldilcclxuICAgICAgICAgICAgLmZpbHRlcigga2V5ID0+IGtleSAhPT0gdG9nZ2xlTmFtZSAmJiBwcmV2W2tleV0pXHJcbiAgICAgICAgICAgIC5mb3JFYWNoKCBrZXkgPT4ge1xyXG4gICAgICAgICAgICAgIG5ld1ZhbFtrZXldID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5fdG9nZ2xlcy5maW5kKCB0b2dnbGUgPT4gdG9nZ2xlLm5hbWUgPT09IGtleSkhLnRvZ2dsZSgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ld1ZhbDtcclxuICAgICAgfSxzdGFydFZhbHVlKSxcclxuICAgICAgc3RhcnRXaXRoKHN0YXJ0VmFsdWUpLFxyXG4gICAgKTtcclxuXHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Directive, HostListener } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class PreventEnterDirective {
|
|
4
|
+
onKeyDown() {
|
|
5
|
+
return false;
|
|
6
|
+
}
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PreventEnterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
8
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: PreventEnterDirective, isStandalone: true, selector: "preventEnter", host: { listeners: { "keydown.enter": "onKeyDown($event)" } }, ngImport: i0 });
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PreventEnterDirective, decorators: [{
|
|
11
|
+
type: Directive,
|
|
12
|
+
args: [{
|
|
13
|
+
selector: 'preventEnter',
|
|
14
|
+
standalone: true
|
|
15
|
+
}]
|
|
16
|
+
}], propDecorators: { onKeyDown: [{
|
|
17
|
+
type: HostListener,
|
|
18
|
+
args: ['keydown.enter', ['$event']]
|
|
19
|
+
}] } });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmVudC1lbnRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdXRpbGl0aWVzL2RpcmVjdGl2ZXMvcHJldmVudC1lbnRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXhELE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsU0FBUztRQUNMLE9BQU8sS0FBSyxDQUFBO0lBQ2hCLENBQUM7dUdBTFUscUJBQXFCOzJGQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFJQyxTQUFTO3NCQURSLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAncHJldmVudEVudGVyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcmV2ZW50RW50ZXJEaXJlY3RpdmUge1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVudGVyJywgWyckZXZlbnQnXSlcclxuICBvbktleURvd24oKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Directive, HostListener } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class StopPropagationDirective {
|
|
4
|
+
onClick(event) {
|
|
5
|
+
event.stopPropagation();
|
|
6
|
+
}
|
|
7
|
+
onMousedown(event) {
|
|
8
|
+
event.stopPropagation();
|
|
9
|
+
}
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: StopPropagationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
11
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: StopPropagationDirective, isStandalone: true, selector: "[stop-propagation]", host: { listeners: { "click": "onClick($event)", "mousedown": "onMousedown($event)" } }, ngImport: i0 });
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: StopPropagationDirective, decorators: [{
|
|
14
|
+
type: Directive,
|
|
15
|
+
args: [{
|
|
16
|
+
selector: "[stop-propagation]",
|
|
17
|
+
standalone: true
|
|
18
|
+
}]
|
|
19
|
+
}], propDecorators: { onClick: [{
|
|
20
|
+
type: HostListener,
|
|
21
|
+
args: ["click", ["$event"]]
|
|
22
|
+
}], onMousedown: [{
|
|
23
|
+
type: HostListener,
|
|
24
|
+
args: ["mousedown", ["$event"]]
|
|
25
|
+
}] } });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcC1wcm9wYWdhdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdXRpbGl0aWVzL2RpcmVjdGl2ZXMvc3RvcC1wcm9wYWdhdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBTXRELE1BQU0sT0FBTyx3QkFBd0I7SUFHMUIsT0FBTyxDQUFDLEtBQVU7UUFFckIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFHTSxXQUFXLENBQUMsS0FBVTtRQUV6QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDNUIsQ0FBQzt1R0FaUSx3QkFBd0I7MkZBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFKcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OEJBSVUsT0FBTztzQkFEYixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPMUIsV0FBVztzQkFEakIsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgSG9zdExpc3RlbmVyfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogXCJbc3RvcC1wcm9wYWdhdGlvbl1cIixcclxuICAgIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZVxyXG57XHJcbiAgICBASG9zdExpc3RlbmVyKFwiY2xpY2tcIiwgW1wiJGV2ZW50XCJdKVxyXG4gICAgcHVibGljIG9uQ2xpY2soZXZlbnQ6IGFueSk6IHZvaWRcclxuICAgIHtcclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKFwibW91c2Vkb3duXCIsIFtcIiRldmVudFwiXSlcclxuICAgIHB1YmxpYyBvbk1vdXNlZG93bihldmVudDogYW55KTogdm9pZFxyXG4gICAge1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Directive, Input, ElementRef, Renderer2, inject } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class StylerDirective {
|
|
4
|
+
el = inject(ElementRef);
|
|
5
|
+
renderer = inject(Renderer2);
|
|
6
|
+
stylesApplied = {};
|
|
7
|
+
element;
|
|
8
|
+
set styler(styles) {
|
|
9
|
+
const toApply = Object.entries(styles ?? {}).reduce((acc, [key, val]) => {
|
|
10
|
+
if (typeof (val) === 'string') {
|
|
11
|
+
acc[key] = val;
|
|
12
|
+
this.el.nativeElement.style[key] = val;
|
|
13
|
+
}
|
|
14
|
+
else if (val?.condition === true || val?.condition(this.element)) {
|
|
15
|
+
const value = typeof (val.value) === 'string' ? val.value : val?.value(this.element);
|
|
16
|
+
acc[key] = value;
|
|
17
|
+
this.el.nativeElement.style[key] = value;
|
|
18
|
+
}
|
|
19
|
+
return acc;
|
|
20
|
+
}, {});
|
|
21
|
+
Object.keys(this.stylesApplied).filter(key => !Object.keys(toApply).includes(key)).forEach(key => {
|
|
22
|
+
this.renderer.removeStyle(this.el.nativeElement, key);
|
|
23
|
+
});
|
|
24
|
+
this.stylesApplied = toApply;
|
|
25
|
+
}
|
|
26
|
+
;
|
|
27
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: StylerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
28
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: StylerDirective, isStandalone: true, selector: "[styler]", inputs: { element: "element", styler: "styler" }, ngImport: i0 });
|
|
29
|
+
}
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: StylerDirective, decorators: [{
|
|
31
|
+
type: Directive,
|
|
32
|
+
args: [{
|
|
33
|
+
selector: '[styler]',
|
|
34
|
+
standalone: true
|
|
35
|
+
}]
|
|
36
|
+
}], propDecorators: { element: [{
|
|
37
|
+
type: Input
|
|
38
|
+
}], styler: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}] } });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3V0aWxpdGllcy9kaXJlY3RpdmVzL3N0eWxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPN0UsTUFBTSxPQUFPLGVBQWU7SUFDckIsRUFBRSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4QixRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXJDLGFBQWEsR0FBd0IsRUFBRSxDQUFDO0lBQy9CLE9BQU8sQ0FBTztJQUN2QixJQUFhLE1BQU0sQ0FBQyxNQUFtQjtRQUNyQyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRTtZQUN0RSxJQUFHLE9BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLEVBQUMsQ0FBQztnQkFDM0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztnQkFDZixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQ3pDLENBQUM7aUJBQU0sSUFBRyxHQUFHLEVBQUUsU0FBUyxLQUFLLElBQUksSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDO2dCQUNqRSxNQUFNLEtBQUssR0FBSSxPQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3JGLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDM0MsQ0FBQztZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQXdCLENBQUMsQ0FBQztRQUU3QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQy9GLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3hELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUM7SUFDL0IsQ0FBQztJQUFBLENBQUM7dUdBdkJZLGVBQWU7MkZBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFIOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsVUFBVSxFQUFFLElBQUk7aUJBQ25COzhCQUtVLE9BQU87c0JBQWYsS0FBSztnQkFDTyxNQUFNO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgRWxlbWVudFJlZiwgUmVuZGVyZXIyLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ0BuZ3J4L2VudGl0eSc7XHJcblxyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tzdHlsZXJdJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWVcclxufSkgZXhwb3J0IGNsYXNzIFN0eWxlckRpcmVjdGl2ZSB7XG4gIHByaXZhdGUgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByaXZhdGUgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxyXG4gIHN0eWxlc0FwcGxpZWQgOiBEaWN0aW9uYXJ5PHN0cmluZz4gPSB7fTtcclxuICBASW5wdXQoKSBlbGVtZW50PzogYW55O1xyXG4gIEBJbnB1dCgpIHNldCBzdHlsZXIoc3R5bGVzOiBTdHlsZXJTdHlsZSl7XHJcbiAgICBjb25zdCB0b0FwcGx5ID0gT2JqZWN0LmVudHJpZXMoc3R5bGVzID8/IHt9KS5yZWR1Y2UoKGFjYywgW2tleSwgdmFsXSkgPT4ge1xyXG4gICAgICBpZih0eXBlb2YodmFsKSA9PT0gJ3N0cmluZycpe1xyXG4gICAgICAgIGFjY1trZXldID0gdmFsO1xyXG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZVtrZXldID0gdmFsO1xyXG4gICAgICB9IGVsc2UgaWYodmFsPy5jb25kaXRpb24gPT09IHRydWUgfHwgdmFsPy5jb25kaXRpb24odGhpcy5lbGVtZW50KSl7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSAgdHlwZW9mKHZhbC52YWx1ZSkgPT09ICdzdHJpbmcnID8gdmFsLnZhbHVlIDogdmFsPy52YWx1ZSh0aGlzLmVsZW1lbnQpO1xyXG4gICAgICAgIGFjY1trZXldID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlW2tleV0gPSB2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gYWNjO1xyXG4gICAgfSwge30gYXMgRGljdGlvbmFyeTxzdHJpbmc+KTtcclxuXHJcbiAgICBPYmplY3Qua2V5cyh0aGlzLnN0eWxlc0FwcGxpZWQpLmZpbHRlcihrZXkgPT4gIU9iamVjdC5rZXlzKHRvQXBwbHkpLmluY2x1ZGVzKGtleSkpLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIGtleSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc3R5bGVzQXBwbGllZCA9IHRvQXBwbHk7XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgU3R5bGVyU3R5bGUgPSBEaWN0aW9uYXJ5PFxyXG4gIHN0cmluZ1xyXG4gIHxcclxuICB7IFxyXG4gICAgY29uZGl0aW9uOiAoKHQ6YW55KSA9PiBib29sZWFuKSB8IHRydWUsXHJcbiAgICB2YWx1ZTogKCh0OmFueSkgPT4gc3RyaW5nKSB8IHN0cmluZ1xyXG4gIH0+XHJcbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Directive, ElementRef, HostListener, inject } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class TrimWhitespaceDirective {
|
|
4
|
+
elem = inject(ElementRef);
|
|
5
|
+
onBlur() {
|
|
6
|
+
const inputString = this.elem.nativeElement.value;
|
|
7
|
+
if (inputString) {
|
|
8
|
+
const newValue = inputString.trim().replace(/\t/g, '');
|
|
9
|
+
if (inputString !== newValue) {
|
|
10
|
+
this.elem.nativeElement.value = newValue;
|
|
11
|
+
this.elem.nativeElement.dispatchEvent(new Event('input', { bubbles: true }));
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TrimWhitespaceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
16
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: TrimWhitespaceDirective, isStandalone: true, selector: "input[trimWhitespace]", host: { listeners: { "blur": "onBlur()" } }, ngImport: i0 });
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TrimWhitespaceDirective, decorators: [{
|
|
19
|
+
type: Directive,
|
|
20
|
+
args: [{
|
|
21
|
+
selector: 'input[trimWhitespace]',
|
|
22
|
+
standalone: true
|
|
23
|
+
}]
|
|
24
|
+
}], propDecorators: { onBlur: [{
|
|
25
|
+
type: HostListener,
|
|
26
|
+
args: ['blur']
|
|
27
|
+
}] } });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpbS13aGl0ZXNwYWNlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy91dGlsaXRpZXMvZGlyZWN0aXZlcy90cmltLXdoaXRlc3BhY2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTVFLE1BQU0sT0FBTyx1QkFBdUI7SUFDMUIsSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUdaLE1BQU07UUFDMUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQ2xELElBQUcsV0FBVyxFQUFFLENBQUM7WUFDZixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN2RCxJQUFHLFdBQVcsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztnQkFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFDLE9BQU8sRUFBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUUsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO3VHQWJVLHVCQUF1QjsyRkFBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQUpuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFLdUIsTUFBTTtzQkFBM0IsWUFBWTt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdpbnB1dFt0cmltV2hpdGVzcGFjZV0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyaW1XaGl0ZXNwYWNlRGlyZWN0aXZlIHtcclxuICBwcml2YXRlIGVsZW0gPSBpbmplY3QoRWxlbWVudFJlZik7XHJcblxyXG5cclxuICBASG9zdExpc3RlbmVyKCdibHVyJykgb25CbHVyKCkge1xyXG4gICAgY29uc3QgaW5wdXRTdHJpbmcgPSB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudC52YWx1ZTtcclxuICAgIGlmKGlucHV0U3RyaW5nKSB7XHJcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gaW5wdXRTdHJpbmcudHJpbSgpLnJlcGxhY2UoL1xcdC9nLCAnJyk7XHJcbiAgICAgIGlmKGlucHV0U3RyaW5nICE9PSBuZXdWYWx1ZSkge1xyXG4gICAgICAgIHRoaXMuZWxlbS5uYXRpdmVFbGVtZW50LnZhbHVlID0gbmV3VmFsdWU7XHJcbiAgICAgICAgdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2lucHV0Jywge2J1YmJsZXM6dHJ1ZX0pKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export * from './directives/prevent-enter.directive';
|
|
2
|
+
export * from './directives/stop-propagation.directive';
|
|
3
|
+
export * from './directives/auto-focus.directive';
|
|
4
|
+
export * from './directives/clickSubject';
|
|
5
|
+
export * from './directives/clickEmitterDirective';
|
|
6
|
+
export * from './directives/dialog';
|
|
7
|
+
export * from './directives/styler';
|
|
8
|
+
export * from './directives/mat-toggle-group-directive';
|
|
9
|
+
export * from './directives/trim-whitespace.directive';
|
|
10
|
+
export * from './pipes/function.pipe';
|
|
11
|
+
export * from './pipes/phone.pipe';
|
|
12
|
+
export * from './pipes/space-case.pipes';
|
|
13
|
+
export * from './directives/dialog-service';
|
|
14
|
+
export * from './directives/conditional-classes.directive';
|
|
15
|
+
export * from './module';
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdXRpbGl0aWVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHdDQUF3QyxDQUFDO0FBRXZELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsY0FBYyw0Q0FBNEMsQ0FBQTtBQUcxRCxjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9wcmV2ZW50LWVudGVyLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9zdG9wLXByb3BhZ2F0aW9uLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9hdXRvLWZvY3VzLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9jbGlja1N1YmplY3QnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvY2xpY2tFbWl0dGVyRGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2RpYWxvZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9zdHlsZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvbWF0LXRvZ2dsZS1ncm91cC1kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvdHJpbS13aGl0ZXNwYWNlLmRpcmVjdGl2ZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL2Z1bmN0aW9uLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL3Bob25lLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL3NwYWNlLWNhc2UucGlwZXMnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2RpYWxvZy1zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9jb25kaXRpb25hbC1jbGFzc2VzLmRpcmVjdGl2ZSdcclxuXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL21vZHVsZSc7XHJcblxyXG5cclxuIl19
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { AutoFocusDirective } from "./directives/auto-focus.directive";
|
|
3
|
+
import { ClickEmitterDirective } from "./directives/clickEmitterDirective";
|
|
4
|
+
import { ClickSubjectDirective } from "./directives/clickSubject";
|
|
5
|
+
import { ConditionalClassesDirective } from "./directives/conditional-classes.directive";
|
|
6
|
+
import { DialogDirective } from "./directives/dialog";
|
|
7
|
+
import { DialogService } from "./directives/dialog-service";
|
|
8
|
+
import { MatSlideToggleGroupDirective } from "./directives/mat-toggle-group-directive";
|
|
9
|
+
import { PreventEnterDirective } from "./directives/prevent-enter.directive";
|
|
10
|
+
import { StopPropagationDirective } from "./directives/stop-propagation.directive";
|
|
11
|
+
import { TrimWhitespaceDirective } from "./directives/trim-whitespace.directive";
|
|
12
|
+
import { StylerDirective } from "./directives/styler";
|
|
13
|
+
import { FunctionPipe } from "./pipes/function.pipe";
|
|
14
|
+
import { PhoneNumberPipe } from "./pipes/phone.pipe";
|
|
15
|
+
import { SpaceCasePipe } from "./pipes/space-case.pipes";
|
|
16
|
+
import * as i0 from "@angular/core";
|
|
17
|
+
export class UtilitiesModule {
|
|
18
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: UtilitiesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
19
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: UtilitiesModule, imports: [SpaceCasePipe,
|
|
20
|
+
PhoneNumberPipe,
|
|
21
|
+
FunctionPipe,
|
|
22
|
+
StopPropagationDirective,
|
|
23
|
+
StylerDirective,
|
|
24
|
+
PreventEnterDirective,
|
|
25
|
+
AutoFocusDirective,
|
|
26
|
+
TrimWhitespaceDirective,
|
|
27
|
+
ClickSubjectDirective,
|
|
28
|
+
ClickEmitterDirective,
|
|
29
|
+
DialogDirective,
|
|
30
|
+
MatSlideToggleGroupDirective,
|
|
31
|
+
ConditionalClassesDirective], exports: [StopPropagationDirective,
|
|
32
|
+
PreventEnterDirective,
|
|
33
|
+
SpaceCasePipe,
|
|
34
|
+
PhoneNumberPipe,
|
|
35
|
+
FunctionPipe,
|
|
36
|
+
StopPropagationDirective,
|
|
37
|
+
TrimWhitespaceDirective,
|
|
38
|
+
StylerDirective,
|
|
39
|
+
PreventEnterDirective,
|
|
40
|
+
AutoFocusDirective,
|
|
41
|
+
ClickSubjectDirective,
|
|
42
|
+
ClickEmitterDirective,
|
|
43
|
+
DialogDirective,
|
|
44
|
+
MatSlideToggleGroupDirective,
|
|
45
|
+
ConditionalClassesDirective] });
|
|
46
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: UtilitiesModule, providers: [
|
|
47
|
+
DialogService
|
|
48
|
+
] });
|
|
49
|
+
}
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: UtilitiesModule, decorators: [{
|
|
51
|
+
type: NgModule,
|
|
52
|
+
args: [{
|
|
53
|
+
exports: [
|
|
54
|
+
StopPropagationDirective,
|
|
55
|
+
PreventEnterDirective,
|
|
56
|
+
SpaceCasePipe,
|
|
57
|
+
PhoneNumberPipe,
|
|
58
|
+
FunctionPipe,
|
|
59
|
+
StopPropagationDirective,
|
|
60
|
+
TrimWhitespaceDirective,
|
|
61
|
+
StylerDirective,
|
|
62
|
+
PreventEnterDirective,
|
|
63
|
+
AutoFocusDirective,
|
|
64
|
+
ClickSubjectDirective,
|
|
65
|
+
ClickEmitterDirective,
|
|
66
|
+
DialogDirective,
|
|
67
|
+
MatSlideToggleGroupDirective,
|
|
68
|
+
ConditionalClassesDirective,
|
|
69
|
+
],
|
|
70
|
+
imports: [
|
|
71
|
+
SpaceCasePipe,
|
|
72
|
+
PhoneNumberPipe,
|
|
73
|
+
FunctionPipe,
|
|
74
|
+
StopPropagationDirective,
|
|
75
|
+
StylerDirective,
|
|
76
|
+
PreventEnterDirective,
|
|
77
|
+
AutoFocusDirective,
|
|
78
|
+
TrimWhitespaceDirective,
|
|
79
|
+
ClickSubjectDirective,
|
|
80
|
+
ClickEmitterDirective,
|
|
81
|
+
DialogDirective,
|
|
82
|
+
MatSlideToggleGroupDirective,
|
|
83
|
+
ConditionalClassesDirective,
|
|
84
|
+
],
|
|
85
|
+
providers: [
|
|
86
|
+
DialogService
|
|
87
|
+
]
|
|
88
|
+
}]
|
|
89
|
+
}] });
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3V0aWxpdGllcy9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUF1Q3pELE1BQU0sT0FBTyxlQUFlO3VHQUFmLGVBQWU7d0dBQWYsZUFBZSxZQWxCeEIsYUFBYTtZQUNiLGVBQWU7WUFDZixZQUFZO1lBQ1osd0JBQXdCO1lBQ3hCLGVBQWU7WUFDZixxQkFBcUI7WUFDckIsa0JBQWtCO1lBQ2xCLHVCQUF1QjtZQUN2QixxQkFBcUI7WUFDckIscUJBQXFCO1lBQ3JCLGVBQWU7WUFDZiw0QkFBNEI7WUFDNUIsMkJBQTJCLGFBN0IzQix3QkFBd0I7WUFDeEIscUJBQXFCO1lBQ3JCLGFBQWE7WUFDYixlQUFlO1lBQ2YsWUFBWTtZQUNaLHdCQUF3QjtZQUN4Qix1QkFBdUI7WUFDdkIsZUFBZTtZQUNmLHFCQUFxQjtZQUNyQixrQkFBa0I7WUFDbEIscUJBQXFCO1lBQ3JCLHFCQUFxQjtZQUNyQixlQUFlO1lBQ2YsNEJBQTRCO1lBQzVCLDJCQUEyQjt3R0FxQmxCLGVBQWUsYUFKZjtZQUNULGFBQWE7U0FDZDs7MkZBRVUsZUFBZTtrQkFyQzNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3dCQUNyQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWix3QkFBd0I7d0JBQ3hCLHVCQUF1Qjt3QkFDdkIsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsNEJBQTRCO3dCQUM1QiwyQkFBMkI7cUJBQzVCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWix3QkFBd0I7d0JBQ3hCLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsNEJBQTRCO3dCQUM1QiwyQkFBMkI7cUJBQzVCO29CQUNELFNBQVMsRUFBRTt3QkFDVCxhQUFhO3FCQUNkO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBdXRvRm9jdXNEaXJlY3RpdmUgfSBmcm9tIFwiLi9kaXJlY3RpdmVzL2F1dG8tZm9jdXMuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IENsaWNrRW1pdHRlckRpcmVjdGl2ZSB9IGZyb20gXCIuL2RpcmVjdGl2ZXMvY2xpY2tFbWl0dGVyRGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IENsaWNrU3ViamVjdERpcmVjdGl2ZSB9IGZyb20gXCIuL2RpcmVjdGl2ZXMvY2xpY2tTdWJqZWN0XCI7XHJcbmltcG9ydCB7IENvbmRpdGlvbmFsQ2xhc3Nlc0RpcmVjdGl2ZSB9IGZyb20gXCIuL2RpcmVjdGl2ZXMvY29uZGl0aW9uYWwtY2xhc3Nlcy5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgRGlhbG9nRGlyZWN0aXZlIH0gZnJvbSBcIi4vZGlyZWN0aXZlcy9kaWFsb2dcIjtcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gXCIuL2RpcmVjdGl2ZXMvZGlhbG9nLXNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVHcm91cERpcmVjdGl2ZSB9IGZyb20gXCIuL2RpcmVjdGl2ZXMvbWF0LXRvZ2dsZS1ncm91cC1kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgUHJldmVudEVudGVyRGlyZWN0aXZlIH0gZnJvbSBcIi4vZGlyZWN0aXZlcy9wcmV2ZW50LWVudGVyLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQgeyBTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUgfSBmcm9tIFwiLi9kaXJlY3RpdmVzL3N0b3AtcHJvcGFnYXRpb24uZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IFRyaW1XaGl0ZXNwYWNlRGlyZWN0aXZlIH0gZnJvbSBcIi4vZGlyZWN0aXZlcy90cmltLXdoaXRlc3BhY2UuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IFN0eWxlckRpcmVjdGl2ZSB9IGZyb20gXCIuL2RpcmVjdGl2ZXMvc3R5bGVyXCI7XHJcbmltcG9ydCB7IEZ1bmN0aW9uUGlwZSB9IGZyb20gXCIuL3BpcGVzL2Z1bmN0aW9uLnBpcGVcIjtcclxuaW1wb3J0IHsgUGhvbmVOdW1iZXJQaXBlIH0gZnJvbSBcIi4vcGlwZXMvcGhvbmUucGlwZVwiO1xyXG5pbXBvcnQgeyBTcGFjZUNhc2VQaXBlIH0gZnJvbSBcIi4vcGlwZXMvc3BhY2UtY2FzZS5waXBlc1wiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBleHBvcnRzOiBbXHJcbiAgICBTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUsXHJcbiAgICBQcmV2ZW50RW50ZXJEaXJlY3RpdmUsXHJcbiAgICBTcGFjZUNhc2VQaXBlLFxyXG4gICAgUGhvbmVOdW1iZXJQaXBlLFxyXG4gICAgRnVuY3Rpb25QaXBlLFxyXG4gICAgU3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlLFxyXG4gICAgVHJpbVdoaXRlc3BhY2VEaXJlY3RpdmUsXHJcbiAgICBTdHlsZXJEaXJlY3RpdmUsXHJcbiAgICBQcmV2ZW50RW50ZXJEaXJlY3RpdmUsXHJcbiAgICBBdXRvRm9jdXNEaXJlY3RpdmUsXHJcbiAgICBDbGlja1N1YmplY3REaXJlY3RpdmUsXHJcbiAgICBDbGlja0VtaXR0ZXJEaXJlY3RpdmUsXHJcbiAgICBEaWFsb2dEaXJlY3RpdmUsXHJcbiAgICBNYXRTbGlkZVRvZ2dsZUdyb3VwRGlyZWN0aXZlLFxyXG4gICAgQ29uZGl0aW9uYWxDbGFzc2VzRGlyZWN0aXZlLFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgU3BhY2VDYXNlUGlwZSxcclxuICAgIFBob25lTnVtYmVyUGlwZSxcclxuICAgIEZ1bmN0aW9uUGlwZSxcclxuICAgIFN0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSxcclxuICAgIFN0eWxlckRpcmVjdGl2ZSxcclxuICAgIFByZXZlbnRFbnRlckRpcmVjdGl2ZSxcclxuICAgIEF1dG9Gb2N1c0RpcmVjdGl2ZSxcclxuICAgIFRyaW1XaGl0ZXNwYWNlRGlyZWN0aXZlLFxyXG4gICAgQ2xpY2tTdWJqZWN0RGlyZWN0aXZlLFxyXG4gICAgQ2xpY2tFbWl0dGVyRGlyZWN0aXZlLFxyXG4gICAgRGlhbG9nRGlyZWN0aXZlLFxyXG4gICAgTWF0U2xpZGVUb2dnbGVHcm91cERpcmVjdGl2ZSxcclxuICAgIENvbmRpdGlvbmFsQ2xhc3Nlc0RpcmVjdGl2ZSxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgRGlhbG9nU2VydmljZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFV0aWxpdGllc01vZHVsZSB7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class FunctionPipe {
|
|
4
|
+
transform(func, ...args) {
|
|
5
|
+
if (typeof func === 'string') {
|
|
6
|
+
const [instance, ...tail] = args;
|
|
7
|
+
const method = instance[func].bind(instance);
|
|
8
|
+
return method(...tail);
|
|
9
|
+
}
|
|
10
|
+
return func(...args);
|
|
11
|
+
}
|
|
12
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FunctionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
13
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: FunctionPipe, isStandalone: true, name: "func" });
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FunctionPipe, decorators: [{
|
|
16
|
+
type: Pipe,
|
|
17
|
+
args: [{
|
|
18
|
+
name: 'func',
|
|
19
|
+
standalone: true
|
|
20
|
+
}]
|
|
21
|
+
}] });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy91dGlsaXRpZXMvcGlwZXMvZnVuY3Rpb24ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFNcEQsTUFBTSxPQUFPLFlBQVk7SUFDdkIsU0FBUyxDQUEwQixJQUE2QyxFQUFFLEdBQUcsSUFBaUI7UUFDcEcsSUFBRyxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM1QixNQUFNLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ2pDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDN0MsT0FBTyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUN6QixDQUFDO1FBQ0MsT0FBTyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDO3VHQVJVLFlBQVk7cUdBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFKeEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsTUFBTTtvQkFDWixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ2Z1bmMnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIEZ1bmN0aW9uUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHRyYW5zZm9ybTxULCBUUGFyYW0gZXh0ZW5kcyBhbnlbXT4oZnVuYzogKCAoLi4uYXJnczogWy4uLlRQYXJhbV0pPT4gVCApIHwgc3RyaW5nLCAuLi5hcmdzOiBbLi4uVFBhcmFtXSk6IFQge1xyXG4gICAgaWYodHlwZW9mIGZ1bmMgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIGNvbnN0IFtpbnN0YW5jZSwgLi4udGFpbF0gPSBhcmdzO1xyXG4gICAgICBjb25zdCBtZXRob2QgPSBpbnN0YW5jZVtmdW5jXS5iaW5kKGluc3RhbmNlKTtcclxuICAgICAgcmV0dXJuIG1ldGhvZCguLi50YWlsKTtcclxuICAgIH1cclxuICAgICAgcmV0dXJuIGZ1bmMoLi4uYXJncyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class PhoneNumberPipe {
|
|
4
|
+
transform(phoneNum) {
|
|
5
|
+
if (phoneNum) {
|
|
6
|
+
phoneNum = phoneNum.replace(/\D/g, '');
|
|
7
|
+
if (phoneNum[0] === '1') {
|
|
8
|
+
phoneNum = phoneNum.substring(1);
|
|
9
|
+
}
|
|
10
|
+
return '(' + phoneNum.slice(0, 3) + ') ' + phoneNum.slice(3, 6) + '-' + phoneNum.slice(6, 10) + ' ' + phoneNum.slice(10);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PhoneNumberPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
14
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: PhoneNumberPipe, isStandalone: true, name: "phone" });
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PhoneNumberPipe, decorators: [{
|
|
17
|
+
type: Pipe,
|
|
18
|
+
args: [{ name: 'phone', standalone: true }]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy91dGlsaXRpZXMvcGlwZXMvcGhvbmUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFHcEQsTUFBTSxPQUFPLGVBQWU7SUFFMUIsU0FBUyxDQUFDLFFBQWdCO1FBQ3hCLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUMsRUFBRSxDQUFDLENBQUM7WUFDdEMsSUFBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ3ZCLFFBQVEsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFDRCxPQUFPLEdBQUcsR0FBSSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVILENBQUM7SUFDSCxDQUFDO3VHQVZVLGVBQWU7cUdBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFEM0IsSUFBSTttQkFBQyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtuYW1lOiAncGhvbmUnLCBzdGFuZGFsb25lOiB0cnVlfSlcclxuZXhwb3J0IGNsYXNzIFBob25lTnVtYmVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICB0cmFuc2Zvcm0ocGhvbmVOdW06IHN0cmluZyk6IGFueSB7XHJcbiAgICBpZiAocGhvbmVOdW0pIHtcclxuICAgICAgcGhvbmVOdW0gPSBwaG9uZU51bS5yZXBsYWNlKC9cXEQvZywnJyk7XHJcbiAgICAgIGlmKHBob25lTnVtWzBdID09PSAnMScpIHtcclxuICAgICAgICBwaG9uZU51bSA9IHBob25lTnVtLnN1YnN0cmluZygxKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gJygnICsgIHBob25lTnVtLnNsaWNlKDAsIDMpICsgJykgJyArIHBob25lTnVtLnNsaWNlKDMsIDYpICsgJy0nICsgcGhvbmVOdW0uc2xpY2UoNiwgMTApICsgJyAnICsgcGhvbmVOdW0uc2xpY2UoMTApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class SpaceCasePipe {
|
|
4
|
+
transform(value) {
|
|
5
|
+
return spaceCase(value);
|
|
6
|
+
}
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SpaceCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
8
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: SpaceCasePipe, isStandalone: true, name: "spaceCase" });
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SpaceCasePipe, decorators: [{
|
|
11
|
+
type: Pipe,
|
|
12
|
+
args: [{ name: 'spaceCase', standalone: true }]
|
|
13
|
+
}] });
|
|
14
|
+
/**
|
|
15
|
+
* Adds a space before uppercase letters that either
|
|
16
|
+
* 1. follows a lowercase letter or digit
|
|
17
|
+
* 2. or precedes a lowercase letter and follows an alpha-numeric character
|
|
18
|
+
*
|
|
19
|
+
* Uppercases the first digit
|
|
20
|
+
*
|
|
21
|
+
* Turns underscores into spaces
|
|
22
|
+
*/
|
|
23
|
+
export function spaceCase(value) {
|
|
24
|
+
const phrase = value?.replace(/([a-z0-9])([A-Z])|([a-zA-Z0-9])([A-Z])(?=[a-z])|_/g, '$1$3 $2$4');
|
|
25
|
+
// uppercase the first character of every word
|
|
26
|
+
return phrase?.replace(/(^| )(\w)/g, x => x.toUpperCase());
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhY2UtY2FzZS5waXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy91dGlsaXRpZXMvcGlwZXMvc3BhY2UtY2FzZS5waXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFHcEQsTUFBTSxPQUFPLGFBQWE7SUFDeEIsU0FBUyxDQUFDLEtBQWE7UUFDckIsT0FBUSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQzt1R0FIVSxhQUFhO3FHQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBRHpCLElBQUk7bUJBQUMsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUM7O0FBTzNDOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FBQyxLQUFhO0lBQ3JDLE1BQU0sTUFBTSxHQUFHLEtBQUssRUFBRSxPQUFPLENBQUMsb0RBQW9ELEVBQUUsV0FBVyxDQUFDLENBQUE7SUFDaEcsOENBQThDO0lBQzlDLE9BQU8sTUFBTSxFQUFFLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUM3RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQFBpcGUoe25hbWU6ICdzcGFjZUNhc2UnLCBzdGFuZGFsb25lOiB0cnVlfSlcclxuZXhwb3J0IGNsYXNzIFNwYWNlQ2FzZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gIHNwYWNlQ2FzZSh2YWx1ZSk7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogQWRkcyBhIHNwYWNlIGJlZm9yZSB1cHBlcmNhc2UgbGV0dGVycyB0aGF0IGVpdGhlclxyXG4gKiAxLiBmb2xsb3dzIGEgbG93ZXJjYXNlIGxldHRlciBvciBkaWdpdFxyXG4gKiAyLiBvciBwcmVjZWRlcyBhIGxvd2VyY2FzZSBsZXR0ZXIgYW5kIGZvbGxvd3MgYW4gYWxwaGEtbnVtZXJpYyBjaGFyYWN0ZXJcclxuICogXHJcbiAqIFVwcGVyY2FzZXMgdGhlIGZpcnN0IGRpZ2l0XHJcbiAqIFxyXG4gKiBUdXJucyB1bmRlcnNjb3JlcyBpbnRvIHNwYWNlc1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHNwYWNlQ2FzZSh2YWx1ZTogc3RyaW5nKXtcclxuICBjb25zdCBwaHJhc2UgPSB2YWx1ZT8ucmVwbGFjZSgvKFthLXowLTldKShbQS1aXSl8KFthLXpBLVowLTldKShbQS1aXSkoPz1bYS16XSl8Xy9nLCAnJDEkMyAkMiQ0JylcclxuICAvLyB1cHBlcmNhc2UgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiBldmVyeSB3b3JkXHJcbiAgcmV0dXJuIHBocmFzZT8ucmVwbGFjZSgvKF58ICkoXFx3KS9nLCB4ID0+IHgudG9VcHBlckNhc2UoKSk7XHJcbn1cclxuIl19
|