@one-paragon/angular-utilities 1.0.4 → 1.1.2
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 +42 -0
- package/esm2022/http-request-state/HttpRequestStateFactory.mjs +52 -0
- package/esm2022/http-request-state/HttpRequestStateStore.mjs +101 -0
- package/esm2022/http-request-state/directives/HttpStateDirectiveBase.mjs +34 -0
- package/esm2022/http-request-state/directives/http-error-state-directive.mjs +29 -0
- package/esm2022/http-request-state/directives/http-inProgress-state-directive.mjs +29 -0
- package/esm2022/http-request-state/directives/http-notStarted-state-directive.mjs +29 -0
- package/esm2022/http-request-state/directives/http-success-state-directive.mjs +34 -0
- package/esm2022/http-request-state/directives/index.mjs +6 -0
- package/esm2022/http-request-state/directives/request-state-directive.mjs +60 -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 +73 -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 +21 -0
- package/esm2022/table-builder/classes/TableBuilderConfig.mjs +18 -0
- package/esm2022/table-builder/classes/TableBuilderDataSource.mjs +53 -0
- package/esm2022/table-builder/classes/TableState.mjs +44 -0
- package/esm2022/table-builder/classes/display-col.mjs +2 -0
- package/esm2022/table-builder/classes/filter-info.mjs +73 -0
- package/esm2022/table-builder/classes/table-builder-general-settings.mjs +86 -0
- package/esm2022/table-builder/classes/table-builder.mjs +41 -0
- package/esm2022/table-builder/classes/table-store.mjs +356 -0
- package/esm2022/table-builder/components/array-column.component.mjs +57 -0
- package/esm2022/table-builder/components/column-builder/column-builder.component.mjs +125 -0
- package/esm2022/table-builder/components/column-builder/column-helpers.mjs +26 -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 +67 -0
- package/esm2022/table-builder/components/filter/in-list/in-list-filter.component.mjs +101 -0
- package/esm2022/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +53 -0
- package/esm2022/table-builder/components/generic-table/generic-table.component.mjs +203 -0
- package/esm2022/table-builder/components/generic-table/paginator.component.mjs +80 -0
- package/esm2022/table-builder/components/group-by-list/group-by-list.component.mjs +23 -0
- package/esm2022/table-builder/components/header-menu/header-menu.component.mjs +100 -0
- package/esm2022/table-builder/components/in-filter/in-filter.component.mjs +64 -0
- package/esm2022/table-builder/components/index.mjs +10 -0
- package/esm2022/table-builder/components/initialization-component/initialization-component.mjs +40 -0
- package/esm2022/table-builder/components/link-column.component.mjs +78 -0
- package/esm2022/table-builder/components/number-filter/number-filter.component.mjs +29 -0
- package/esm2022/table-builder/components/scroll-strategy.mjs +63 -0
- package/esm2022/table-builder/components/sort-menu/sort-menu.component-store.mjs +43 -0
- package/esm2022/table-builder/components/sort-menu/sort-menu.component.mjs +81 -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 +305 -0
- package/esm2022/table-builder/components/table-container/tableProps.mjs +7 -0
- package/esm2022/table-builder/components/table-container/virtual-scroll-container.mjs +105 -0
- package/esm2022/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +47 -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 +70 -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 +88 -0
- package/esm2022/table-builder/directives/table-wrapper.directive.mjs +20 -0
- package/esm2022/table-builder/directives/tb-filter.directive.mjs +410 -0
- package/esm2022/table-builder/enums/filterTypes.mjs +72 -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 +115 -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 +45 -0
- package/esm2022/table-builder/pipes/key-display.mjs +20 -0
- package/esm2022/table-builder/services/export-to-csv.service.mjs +91 -0
- package/esm2022/table-builder/services/link-creator.service.mjs +50 -0
- package/esm2022/table-builder/services/table-template-service.mjs +56 -0
- package/esm2022/table-builder/services/transform-creator.mjs +105 -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 +27 -0
- package/esm2022/utilities/directives/clickEmitterDirective.mjs +22 -0
- package/esm2022/utilities/directives/clickSubject.mjs +28 -0
- package/esm2022/utilities/directives/conditional-classes.directive.mjs +36 -0
- package/esm2022/utilities/directives/dialog-service.mjs +23 -0
- package/esm2022/utilities/directives/dialog.mjs +139 -0
- package/esm2022/utilities/directives/mat-toggle-group-directive.mjs +60 -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 +42 -0
- package/esm2022/utilities/directives/trim-whitespace.directive.mjs +30 -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 +5376 -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 +49 -0
- package/http-request-state/directives/HttpStateDirectiveBase.d.ts +16 -0
- package/http-request-state/directives/http-error-state-directive.d.ts +12 -0
- package/http-request-state/directives/http-inProgress-state-directive.d.ts +12 -0
- package/http-request-state/directives/http-notStarted-state-directive.d.ts +12 -0
- package/http-request-state/directives/http-success-state-directive.d.ts +21 -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 +35 -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 +9 -0
- package/rxjs/subscriber.directive.d.ts +13 -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 +13 -0
- package/table-builder/classes/TableState.d.ts +53 -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 +127 -0
- package/table-builder/classes/table-builder-general-settings.d.ts +55 -0
- package/table-builder/classes/table-builder.d.ts +12 -0
- package/table-builder/classes/table-store.d.ts +143 -0
- package/table-builder/components/array-column.component.d.ts +15 -0
- package/table-builder/components/column-builder/column-builder.component.d.ts +51 -0
- package/table-builder/components/column-builder/column-helpers.d.ts +28 -0
- package/table-builder/components/date-filter/date-filter.component.d.ts +10 -0
- package/table-builder/components/date-time-filter/date-time-filter.component.d.ts +10 -0
- package/table-builder/components/filter/filter.component.d.ts +112 -0
- package/table-builder/components/filter/in-list/in-list-filter.component.d.ts +27 -0
- package/table-builder/components/gen-col-displayer/gen-col-displayer.component.d.ts +16 -0
- package/table-builder/components/generic-table/generic-table.component.d.ts +63 -0
- package/table-builder/components/generic-table/paginator.component.d.ts +26 -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 +25 -0
- package/table-builder/components/in-filter/in-filter.component.d.ts +21 -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 +12 -0
- package/table-builder/components/scroll-strategy.d.ts +23 -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 +25 -0
- package/{src/table-builder/components/table-container/table-container-imports.ts → table-builder/components/table-container/table-container-imports.d.ts} +14 -30
- package/table-builder/components/table-container/table-container.d.ts +76 -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 +11 -0
- package/table-builder/components/table-container/virtual-scroll-container.d.ts +19 -0
- package/table-builder/components/table-container-filter/filter-list/filter-list.component.d.ts +16 -0
- package/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.d.ts +14 -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 +31 -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 +11 -0
- package/table-builder/directives/resize-column.directive.d.ts +44 -0
- package/table-builder/directives/table-wrapper.directive.d.ts +8 -0
- package/table-builder/directives/tb-filter.directive.d.ts +120 -0
- package/table-builder/enums/filterTypes.d.ts +77 -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 +7 -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 +62 -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 +14 -0
- package/table-builder/pipes/key-display.d.ts +11 -0
- package/table-builder/services/export-to-csv.service.d.ts +22 -0
- package/table-builder/services/link-creator.service.d.ts +16 -0
- package/table-builder/services/table-template-service.d.ts +15 -0
- package/table-builder/services/transform-creator.d.ts +21 -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 +10 -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 +14 -0
- package/utilities/directives/dialog-service.d.ts +10 -0
- package/utilities/directives/dialog.d.ts +46 -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 +17 -0
- package/utilities/directives/trim-whitespace.directive.d.ts +9 -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 -151
- package/src/http-request-state/directives/HttpStateDirectiveBase.ts +0 -38
- package/src/http-request-state/directives/http-error-state-directive.ts +0 -32
- package/src/http-request-state/directives/http-inProgress-state-directive.ts +0 -32
- package/src/http-request-state/directives/http-notStarted-state-directive.ts +0 -31
- package/src/http-request-state/directives/http-success-state-directive.ts +0 -40
- package/src/http-request-state/directives/request-state-directive.spec.ts +0 -72
- package/src/http-request-state/directives/request-state-directive.ts +0 -79
- 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 -56
- 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 -15
- package/src/rxjs/subscriber.directive.ts +0 -54
- 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 -57
- package/src/table-builder/classes/TableState.ts +0 -83
- package/src/table-builder/classes/filter-info.ts +0 -131
- package/src/table-builder/classes/table-builder-general-settings.ts +0 -90
- package/src/table-builder/classes/table-builder.ts +0 -52
- package/src/table-builder/classes/table-store.ts +0 -416
- 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 -137
- package/src/table-builder/components/column-builder/column-helpers.ts +0 -36
- 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 -88
- 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 -55
- package/src/table-builder/components/filter/in-list/in-list-filter.component.ts +0 -92
- 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 -57
- package/src/table-builder/components/generic-table/generic-table.component.html +0 -71
- package/src/table-builder/components/generic-table/generic-table.component.scss +0 -51
- package/src/table-builder/components/generic-table/generic-table.component.ts +0 -228
- package/src/table-builder/components/generic-table/paginator.component.ts +0 -94
- 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 -98
- 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 -64
- 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/scroll-strategy.ts +0 -82
- package/src/table-builder/components/sort-menu/sort-menu.component-store.ts +0 -62
- 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 -95
- package/src/table-builder/components/table-container/table-container.css +0 -45
- 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 -69
- 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 -117
- package/src/table-builder/components/table-container/table-container.spec.ts +0 -154
- package/src/table-builder/components/table-container/table-container.ts +0 -331
- package/src/table-builder/components/table-container/tableProps.ts +0 -18
- package/src/table-builder/components/table-container/virtual-scroll-container.ts +0 -126
- 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 -52
- 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 -38
- 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 -59
- package/src/table-builder/directives/multi-sort.directive.spec.ts +0 -124
- package/src/table-builder/directives/multi-sort.directive.ts +0 -49
- package/src/table-builder/directives/resize-column.directive.ts +0 -105
- package/src/table-builder/directives/table-wrapper.directive.ts +0 -14
- package/src/table-builder/directives/tb-filter.directive.ts +0 -370
- package/src/table-builder/enums/filterTypes.ts +0 -79
- package/src/table-builder/functions/boolean-filter-function.ts +0 -13
- package/src/table-builder/functions/date-filter-function.ts +0 -69
- 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 -42
- package/src/table-builder/functions/sort-data-function.ts +0 -23
- package/src/table-builder/functions/string-filter-function.ts +0 -52
- package/src/table-builder/interfaces/column-template.ts +0 -9
- package/src/table-builder/interfaces/report-def.ts +0 -153
- package/src/table-builder/ngrx/tableBuilderStateStore.ts +0 -143
- 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 -41
- package/src/table-builder/pipes/key-display.ts +0 -16
- package/src/table-builder/services/export-to-csv.service.ts +0 -95
- package/src/table-builder/services/link-creator.service.ts +0 -68
- package/src/table-builder/services/table-template-service.ts +0 -55
- package/src/table-builder/services/transform-creator.ts +0 -92
- package/src/table-builder/specs/table-custom-filters.spec.ts +0 -262
- package/src/table-builder/styles/collapser.styles.scss +0 -15
- 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 -20
- 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 -142
- 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 -39
- 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,12 @@
|
|
|
1
|
+
export function downloadData(data, filename, mimeType) {
|
|
2
|
+
const url = URL.createObjectURL(new Blob([data], { type: mimeType }));
|
|
3
|
+
const downloadLink = document.createElement('a');
|
|
4
|
+
downloadLink.download = filename;
|
|
5
|
+
downloadLink.href = url;
|
|
6
|
+
downloadLink.style.display = 'none';
|
|
7
|
+
document.body.appendChild(downloadLink);
|
|
8
|
+
downloadLink.click();
|
|
9
|
+
document.body.removeChild(downloadLink);
|
|
10
|
+
URL.revokeObjectURL(url);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2Z1bmN0aW9ucy9kb3dubG9hZC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsUUFBZ0I7SUFDM0UsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RSxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pELFlBQVksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQ2pDLFlBQVksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO0lBQ3hCLFlBQVksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUNwQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDeEMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGRvd25sb2FkRGF0YShkYXRhOiBzdHJpbmcsIGZpbGVuYW1lOiBzdHJpbmcsIG1pbWVUeXBlOiBzdHJpbmcpIHtcclxuICBjb25zdCB1cmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKFtkYXRhXSwgeyB0eXBlOiBtaW1lVHlwZSB9KSk7XHJcbiAgY29uc3QgZG93bmxvYWRMaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG4gIGRvd25sb2FkTGluay5kb3dubG9hZCA9IGZpbGVuYW1lO1xyXG4gIGRvd25sb2FkTGluay5ocmVmID0gdXJsO1xyXG4gIGRvd25sb2FkTGluay5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG93bmxvYWRMaW5rKTtcclxuICBkb3dubG9hZExpbmsuY2xpY2soKTtcclxuICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvd25sb2FkTGluayk7XHJcbiAgVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export const isNull = (filterInfo) => {
|
|
2
|
+
const func = filterInfo.filterValue ?
|
|
3
|
+
(val) => val == null || val === ''
|
|
4
|
+
:
|
|
5
|
+
(val) => val != null && val !== '';
|
|
6
|
+
return func;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVsbC1maWx0ZXItZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9mdW5jdGlvbnMvbnVsbC1maWx0ZXItZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUEyQixDQUFDLFVBQXFCLEVBQUUsRUFBRTtJQUN0RSxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxJQUFJLElBQUksR0FBRyxLQUFLLEVBQUU7UUFDdkMsQ0FBQztZQUNELENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsS0FBSyxFQUFFLENBQUM7SUFDeEMsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsdGVyRnVuYywgRmlsdGVySW5mbyB9IGZyb20gJy4uL2NsYXNzZXMvZmlsdGVyLWluZm8nO1xyXG5cclxuZXhwb3J0IGNvbnN0IGlzTnVsbDpGaWx0ZXJGdW5jPGJvb2xlYW4sYW55PiA9IChmaWx0ZXJJbmZvOkZpbHRlckluZm8pID0+IHtcclxuICBjb25zdCBmdW5jID0gZmlsdGVySW5mby5maWx0ZXJWYWx1ZSA/XHJcbiAgICAodmFsOiBhbnkpID0+IHZhbCA9PSBudWxsIHx8IHZhbCA9PT0gJydcclxuICAgIDpcclxuICAgICh2YWw6IGFueSkgPT4gdmFsICE9IG51bGwgJiYgdmFsICE9PSAnJztcclxuICAgIHJldHVybiBmdW5jO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { FilterType } from '../enums/filterTypes';
|
|
2
|
+
import { isNull } from './null-filter-function';
|
|
3
|
+
const numberEqalsFunc = (filterInfo) => (val) => {
|
|
4
|
+
return val === filterInfo.filterValue;
|
|
5
|
+
};
|
|
6
|
+
const numberNotEqualFunc = (filterInfo) => (val) => {
|
|
7
|
+
return val !== filterInfo.filterValue;
|
|
8
|
+
};
|
|
9
|
+
const numberGreaterThanFunc = (filterInfo) => (val) => {
|
|
10
|
+
return val > filterInfo.filterValue;
|
|
11
|
+
};
|
|
12
|
+
const numberLessThanFunc = (filterInfo) => (val) => {
|
|
13
|
+
return val < filterInfo.filterValue;
|
|
14
|
+
};
|
|
15
|
+
const numberBetweenFunc = (filterInfo) => {
|
|
16
|
+
const startVal = Number(filterInfo.filterValue.Start);
|
|
17
|
+
const endVal = Number(filterInfo.filterValue.End);
|
|
18
|
+
return ((val) => (val > startVal) && (val < endVal));
|
|
19
|
+
};
|
|
20
|
+
export const multipleNumberValuesEqualsFunc = (filterInfo) => {
|
|
21
|
+
return ((val) => filterInfo.filterValue.some((value) => val === value));
|
|
22
|
+
};
|
|
23
|
+
export const NumberFilterFuncs = {
|
|
24
|
+
[FilterType.NumberEquals]: numberEqalsFunc,
|
|
25
|
+
[FilterType.NumberNotEqual]: numberNotEqualFunc,
|
|
26
|
+
[FilterType.NumberGreaterThan]: numberGreaterThanFunc,
|
|
27
|
+
[FilterType.NumberLessThan]: numberLessThanFunc,
|
|
28
|
+
[FilterType.NumberBetween]: numberBetweenFunc,
|
|
29
|
+
[FilterType.IsNull]: isNull,
|
|
30
|
+
[FilterType.In]: multipleNumberValuesEqualsFunc,
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZpbHRlci1mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2Z1bmN0aW9ucy9udW1iZXItZmlsdGVyLWZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJaEQsTUFBTSxlQUFlLEdBQW9CLENBQUMsVUFBK0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFXLEVBQVksRUFBRTtJQUNwRyxPQUFRLEdBQUcsS0FBSyxVQUFVLENBQUMsV0FBVyxDQUFDO0FBQzNDLENBQUMsQ0FBQTtBQUVELE1BQU0sa0JBQWtCLEdBQW1CLENBQUMsVUFBK0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFXLEVBQVksRUFBRTtJQUN4RyxPQUFPLEdBQUcsS0FBSyxVQUFVLENBQUMsV0FBVyxDQUFDO0FBQ3hDLENBQUMsQ0FBQTtBQUVELE1BQU8scUJBQXFCLEdBQW1CLENBQUMsVUFBK0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFXLEVBQVksRUFBRTtJQUMxRyxPQUFPLEdBQUcsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDO0FBQ3hDLENBQUMsQ0FBQTtBQUVELE1BQU0sa0JBQWtCLEdBQW1CLENBQUMsVUFBK0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFXLEVBQVksRUFBRTtJQUN0RyxPQUFPLEdBQUcsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDO0FBQ3hDLENBQUMsQ0FBQTtBQUVELE1BQU8saUJBQWlCLEdBQW9DLENBQUMsVUFBdUIsRUFBRSxFQUFFO0lBQ3RGLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xELE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUEsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUNyRCxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBK0IsQ0FBQyxVQUFxQixFQUFFLEVBQUU7SUFDbEcsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFDLEVBQUUsQ0FBQSxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDN0UsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQW9DO0lBQzlELENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFLGVBQWU7SUFDMUMsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsa0JBQWtCO0lBQy9DLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEVBQUUscUJBQXFCO0lBQ3JELENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLGtCQUFrQjtJQUMvQyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRSxpQkFBaUI7SUFDN0MsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTTtJQUMzQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSw4QkFBOEI7Q0FDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJhbmdlLCBGaWx0ZXJGdW5jLCBGaWx0ZXJJbmZvIH0gZnJvbSAnLi4vY2xhc3Nlcy9maWx0ZXItaW5mbyc7XHJcbmltcG9ydCB7IEZpbHRlclR5cGUgfSBmcm9tICcuLi9lbnVtcy9maWx0ZXJUeXBlcyc7XHJcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2RpY3Rpb25hcnknO1xyXG5pbXBvcnQgeyBpc051bGwgfSBmcm9tICcuL251bGwtZmlsdGVyLWZ1bmN0aW9uJztcclxuXHJcbnR5cGUgTnVtYmVyRmlsdGVyRnVuYyA9IEZpbHRlckZ1bmM8bnVtYmVyPlxyXG5cclxuY29uc3QgbnVtYmVyRXFhbHNGdW5jOk51bWJlckZpbHRlckZ1bmMgPSAoZmlsdGVySW5mbyA6IEZpbHRlckluZm88bnVtYmVyPikgPT4gKHZhbDogbnVtYmVyKTogYm9vbGVhbiAgPT57XHJcbiAgICByZXR1cm4gIHZhbCA9PT0gZmlsdGVySW5mby5maWx0ZXJWYWx1ZTtcclxufVxyXG5cclxuY29uc3QgbnVtYmVyTm90RXF1YWxGdW5jOk51bWJlckZpbHRlckZ1bmM9IChmaWx0ZXJJbmZvIDogRmlsdGVySW5mbzxudW1iZXI+KSA9PiAodmFsOiBudW1iZXIpOiBib29sZWFuICA9PntcclxuICByZXR1cm4gdmFsICE9PSBmaWx0ZXJJbmZvLmZpbHRlclZhbHVlO1xyXG59XHJcblxyXG5jb25zdCAgbnVtYmVyR3JlYXRlclRoYW5GdW5jOk51bWJlckZpbHRlckZ1bmM9IChmaWx0ZXJJbmZvIDogRmlsdGVySW5mbzxudW1iZXI+KSA9PiAodmFsOiBudW1iZXIpOiBib29sZWFuICA9PiB7XHJcbiAgICByZXR1cm4gdmFsID4gZmlsdGVySW5mby5maWx0ZXJWYWx1ZTtcclxufVxyXG5cclxuY29uc3QgbnVtYmVyTGVzc1RoYW5GdW5jOk51bWJlckZpbHRlckZ1bmM9IChmaWx0ZXJJbmZvIDogRmlsdGVySW5mbzxudW1iZXI+KSA9PiAodmFsOiBudW1iZXIpOiBib29sZWFuICA9PiB7XHJcbiAgICByZXR1cm4gdmFsIDwgZmlsdGVySW5mby5maWx0ZXJWYWx1ZTtcclxufVxyXG5cclxuY29uc3QgIG51bWJlckJldHdlZW5GdW5jOkZpbHRlckZ1bmM8UmFuZ2U8bnVtYmVyPixudW1iZXI+ID0gKGZpbHRlckluZm8gOiBGaWx0ZXJJbmZvKSA9PiB7XHJcbiAgY29uc3Qgc3RhcnRWYWwgPSBOdW1iZXIoZmlsdGVySW5mby5maWx0ZXJWYWx1ZS5TdGFydCk7XHJcbiAgY29uc3QgZW5kVmFsID0gTnVtYmVyKGZpbHRlckluZm8uZmlsdGVyVmFsdWUuRW5kKTtcclxuICByZXR1cm4gKCh2YWwpPT4odmFsID4gc3RhcnRWYWwpICYmICh2YWwgPCBlbmRWYWwpKTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IG11bHRpcGxlTnVtYmVyVmFsdWVzRXF1YWxzRnVuYzpGaWx0ZXJGdW5jPG51bWJlcltdLG51bWJlcj4gPSAoZmlsdGVySW5mbzpGaWx0ZXJJbmZvKSA9PiB7XHJcbiAgcmV0dXJuICgodmFsKT0+ZmlsdGVySW5mby5maWx0ZXJWYWx1ZS5zb21lKCh2YWx1ZTogYW55KSA9PiB2YWwgPT09IHZhbHVlKSk7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBOdW1iZXJGaWx0ZXJGdW5jczogRGljdGlvbmFyeTxGaWx0ZXJGdW5jPGFueSxhbnk+PiA9IHtcclxuICAgIFtGaWx0ZXJUeXBlLk51bWJlckVxdWFsc106IG51bWJlckVxYWxzRnVuYyxcclxuICAgIFtGaWx0ZXJUeXBlLk51bWJlck5vdEVxdWFsXTogbnVtYmVyTm90RXF1YWxGdW5jLFxyXG4gICAgW0ZpbHRlclR5cGUuTnVtYmVyR3JlYXRlclRoYW5dOiBudW1iZXJHcmVhdGVyVGhhbkZ1bmMsXHJcbiAgICBbRmlsdGVyVHlwZS5OdW1iZXJMZXNzVGhhbl06IG51bWJlckxlc3NUaGFuRnVuYyxcclxuICAgIFtGaWx0ZXJUeXBlLk51bWJlckJldHdlZW5dOiBudW1iZXJCZXR3ZWVuRnVuYyxcclxuICAgIFtGaWx0ZXJUeXBlLklzTnVsbF06IGlzTnVsbCxcclxuICAgIFtGaWx0ZXJUeXBlLkluXTogbXVsdGlwbGVOdW1iZXJWYWx1ZXNFcXVhbHNGdW5jLFxyXG59O1xyXG4iXX0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { orderBy } from 'lodash';
|
|
2
|
+
export function sortData(data, sorted) {
|
|
3
|
+
const ordered = orderBy(data, sorted.map(r => r.active), sorted.map(r => r.direction));
|
|
4
|
+
return ordered;
|
|
5
|
+
}
|
|
6
|
+
export function filterData(data, filters, resetAll = false) {
|
|
7
|
+
for (let index = 0; index < data.length; index++) {
|
|
8
|
+
const element = data[index];
|
|
9
|
+
const hide = !filters.every(filter => filter(element));
|
|
10
|
+
if (hide || resetAll) {
|
|
11
|
+
element[tbNoShowSymbol] = hide;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return data;
|
|
15
|
+
}
|
|
16
|
+
export const tbNoShowSymbol = Symbol('tb_no_show');
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1kYXRhLWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvZnVuY3Rpb25zL3NvcnQtZGF0YS1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBS2pDLE1BQU0sVUFBVSxRQUFRLENBQUksSUFBUyxFQUFFLE1BQWM7SUFDbkQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBa0IsQ0FBRSxDQUFDLENBQUM7SUFDakcsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUksSUFBUyxFQUFFLE9BQXVCLEVBQUUsUUFBUSxHQUFHLEtBQUs7SUFDaEYsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUNqRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDdkQsSUFBRyxJQUFJLElBQUksUUFBUSxFQUFDLENBQUM7WUFDbkIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTb3J0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NvcnRcIjtcclxuaW1wb3J0IHsgb3JkZXJCeSB9IGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IFByZWRpY2F0ZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5leHBvcnQgdHlwZSBkaXJlYyA9ICdhc2MnIHwgJ2Rlc2MnIHwgYm9vbGVhbjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzb3J0RGF0YTxUPihkYXRhOiBUW10sIHNvcnRlZDogU29ydFtdKTogVFtdIHtcclxuICBjb25zdCBvcmRlcmVkID0gb3JkZXJCeShkYXRhLCBzb3J0ZWQubWFwKHIgPT4gci5hY3RpdmUpLCBzb3J0ZWQubWFwKHIgPT4gci5kaXJlY3Rpb24gYXMgZGlyZWMgKSk7XHJcbiAgcmV0dXJuIG9yZGVyZWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJEYXRhPFQ+KGRhdGE6IFRbXSwgZmlsdGVyczogUHJlZGljYXRlPFQ+W10sIHJlc2V0QWxsID0gZmFsc2Upe1xyXG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBkYXRhLmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgY29uc3QgZWxlbWVudCA9IGRhdGFbaW5kZXhdO1xyXG4gICAgY29uc3QgaGlkZSA9ICFmaWx0ZXJzLmV2ZXJ5KGZpbHRlciA9PiBmaWx0ZXIoZWxlbWVudCkpO1xyXG4gICAgaWYoaGlkZSB8fCByZXNldEFsbCl7XHJcbiAgICAgIGVsZW1lbnRbdGJOb1Nob3dTeW1ib2xdID0gaGlkZTtcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIGRhdGE7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCB0Yk5vU2hvd1N5bWJvbCA9IFN5bWJvbCgndGJfbm9fc2hvdycpO1xyXG4iXX0=
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { FilterType } from '../enums/filterTypes';
|
|
2
|
+
import { isNull } from './null-filter-function';
|
|
3
|
+
const stringEqualFunc = (filterInfo) => {
|
|
4
|
+
const equelsVal = prepareForStringCompare(filterInfo.filterValue);
|
|
5
|
+
return ((val) => prepareForStringCompare(val) === equelsVal);
|
|
6
|
+
};
|
|
7
|
+
const stringContainsFunc = (filterInfo) => {
|
|
8
|
+
const containsVal = prepareForStringCompare(filterInfo.filterValue);
|
|
9
|
+
return ((val) => prepareForStringCompare(val).includes(containsVal));
|
|
10
|
+
};
|
|
11
|
+
const stringDoesNotContainFunc = (filterInfo) => {
|
|
12
|
+
const doesNotContainVal = prepareForStringCompare(filterInfo.filterValue);
|
|
13
|
+
return ((val) => !prepareForStringCompare(val)?.includes(doesNotContainVal));
|
|
14
|
+
};
|
|
15
|
+
const stringStartsWithFunc = (filterInfo) => {
|
|
16
|
+
const startsWith = prepareForStringCompare(filterInfo.filterValue);
|
|
17
|
+
return ((val) => prepareForStringCompare(val).startsWith(startsWith));
|
|
18
|
+
};
|
|
19
|
+
const stringEndsWithFunc = (filterInfo) => {
|
|
20
|
+
const startsWith = prepareForStringCompare(filterInfo.filterValue);
|
|
21
|
+
return ((val) => prepareForStringCompare(val).endsWith(startsWith));
|
|
22
|
+
};
|
|
23
|
+
const multipleStringValuesEqualsFunc = (filterInfo) => {
|
|
24
|
+
const filterVals = filterInfo.filterValue.map((v) => prepareForStringCompare(v));
|
|
25
|
+
return ((val) => filterVals.some((s) => prepareForStringCompare(val) === s));
|
|
26
|
+
};
|
|
27
|
+
export const StringFilterFuncs = {
|
|
28
|
+
[FilterType.StringEquals]: stringEqualFunc,
|
|
29
|
+
[FilterType.StringContains]: stringContainsFunc,
|
|
30
|
+
[FilterType.StringDoesNotContain]: stringDoesNotContainFunc,
|
|
31
|
+
[FilterType.StringStartWith]: stringStartsWithFunc,
|
|
32
|
+
[FilterType.StringEndsWith]: stringEndsWithFunc,
|
|
33
|
+
[FilterType.IsNull]: isNull,
|
|
34
|
+
[FilterType.In]: multipleStringValuesEqualsFunc,
|
|
35
|
+
};
|
|
36
|
+
export const EnumFilterFuncs = {
|
|
37
|
+
[FilterType.IsNull]: isNull,
|
|
38
|
+
[FilterType.In]: multipleStringValuesEqualsFunc,
|
|
39
|
+
};
|
|
40
|
+
export const prepareForStringCompare = (val) => val?.toString().trim().toLowerCase();
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWZpbHRlci1mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2Z1bmN0aW9ucy9zdHJpbmctZmlsdGVyLWZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHaEQsTUFBTSxlQUFlLEdBQXNCLENBQUMsVUFBcUIsRUFBRSxFQUFFO0lBQ25FLE1BQU0sU0FBUyxHQUFHLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsRSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUMsRUFBRSxDQUFBLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsQ0FBRSxDQUFDO0FBQzlELENBQUMsQ0FBQTtBQUVELE1BQU0sa0JBQWtCLEdBQXNCLENBQUMsVUFBcUIsRUFBRSxFQUFFO0lBQ3RFLE1BQU0sV0FBVyxHQUFHLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwRSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUMsRUFBRSxDQUFBLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0FBQ3JFLENBQUMsQ0FBQTtBQUVELE1BQU0sd0JBQXdCLEdBQXNCLENBQUMsVUFBcUIsRUFBRSxFQUFFO0lBQzVFLE1BQU0saUJBQWlCLEdBQUcsdUJBQXVCLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFFLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUEsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0FBQzdFLENBQUMsQ0FBQTtBQUVELE1BQU0sb0JBQW9CLEdBQXNCLENBQUMsVUFBcUIsRUFBRSxFQUFFO0lBQ3hFLE1BQU0sVUFBVSxHQUFHLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuRSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUMsRUFBRSxDQUFBLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQ3RFLENBQUMsQ0FBQTtBQUVELE1BQU0sa0JBQWtCLEdBQXNCLENBQUMsVUFBcUIsRUFBRSxFQUFFO0lBQ3RFLE1BQU0sVUFBVSxHQUFHLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuRSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUMsRUFBRSxDQUFBLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQ3BFLENBQUMsQ0FBQTtBQUVELE1BQU0sOEJBQThCLEdBQStCLENBQUMsVUFBcUIsRUFBRSxFQUFFO0lBQzNGLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFFLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFGLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQVEsRUFBRSxFQUFFLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBc0M7SUFDaEUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUUsZUFBZTtJQUMxQyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxrQkFBa0I7SUFDL0MsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsRUFBRSx3QkFBd0I7SUFDM0QsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEVBQUUsb0JBQW9CO0lBQ2xELENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLGtCQUFrQjtJQUMvQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNO0lBQzNCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLDhCQUE4QjtDQUNsRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFvQztJQUM5RCxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNO0lBQzNCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFHLDhCQUE4QjtDQUNqRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxHQUFTLEVBQVMsRUFBRSxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbHRlckZ1bmMsIEZpbHRlckluZm8gfSBmcm9tICcuLi9jbGFzc2VzL2ZpbHRlci1pbmZvJztcclxuaW1wb3J0IHsgRmlsdGVyVHlwZSB9IGZyb20gJy4uL2VudW1zL2ZpbHRlclR5cGVzJztcclxuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJy4uL2ludGVyZmFjZXMvZGljdGlvbmFyeSc7XHJcbmltcG9ydCB7IGlzTnVsbCB9IGZyb20gJy4vbnVsbC1maWx0ZXItZnVuY3Rpb24nO1xyXG5cclxuXHJcbmNvbnN0IHN0cmluZ0VxdWFsRnVuYzpGaWx0ZXJGdW5jPHN0cmluZz4gPSAoZmlsdGVySW5mbzpGaWx0ZXJJbmZvKSA9PiB7XHJcbiAgY29uc3QgZXF1ZWxzVmFsID0gcHJlcGFyZUZvclN0cmluZ0NvbXBhcmUoZmlsdGVySW5mby5maWx0ZXJWYWx1ZSk7XHJcbiAgcmV0dXJuICgodmFsKT0+cHJlcGFyZUZvclN0cmluZ0NvbXBhcmUodmFsKSA9PT0gZXF1ZWxzVmFsICk7XHJcbn1cclxuXHJcbmNvbnN0IHN0cmluZ0NvbnRhaW5zRnVuYzpGaWx0ZXJGdW5jPHN0cmluZz4gPSAoZmlsdGVySW5mbzpGaWx0ZXJJbmZvKSA9PiB7XHJcbiAgY29uc3QgY29udGFpbnNWYWwgPSBwcmVwYXJlRm9yU3RyaW5nQ29tcGFyZShmaWx0ZXJJbmZvLmZpbHRlclZhbHVlKTtcclxuICByZXR1cm4gKCh2YWwpPT5wcmVwYXJlRm9yU3RyaW5nQ29tcGFyZSh2YWwpLmluY2x1ZGVzKGNvbnRhaW5zVmFsKSk7XHJcbn1cclxuXHJcbmNvbnN0IHN0cmluZ0RvZXNOb3RDb250YWluRnVuYzpGaWx0ZXJGdW5jPHN0cmluZz4gPSAoZmlsdGVySW5mbzpGaWx0ZXJJbmZvKSA9PiB7XHJcbiAgY29uc3QgZG9lc05vdENvbnRhaW5WYWwgPSBwcmVwYXJlRm9yU3RyaW5nQ29tcGFyZShmaWx0ZXJJbmZvLmZpbHRlclZhbHVlKTtcclxuICByZXR1cm4gKCh2YWwpPT4hcHJlcGFyZUZvclN0cmluZ0NvbXBhcmUodmFsKT8uaW5jbHVkZXMoZG9lc05vdENvbnRhaW5WYWwpKTtcclxufVxyXG5cclxuY29uc3Qgc3RyaW5nU3RhcnRzV2l0aEZ1bmM6RmlsdGVyRnVuYzxzdHJpbmc+ID0gKGZpbHRlckluZm86RmlsdGVySW5mbykgPT4ge1xyXG4gIGNvbnN0IHN0YXJ0c1dpdGggPSBwcmVwYXJlRm9yU3RyaW5nQ29tcGFyZShmaWx0ZXJJbmZvLmZpbHRlclZhbHVlKTtcclxuICByZXR1cm4gKCh2YWwpPT5wcmVwYXJlRm9yU3RyaW5nQ29tcGFyZSh2YWwpLnN0YXJ0c1dpdGgoc3RhcnRzV2l0aCkpO1xyXG59XHJcblxyXG5jb25zdCBzdHJpbmdFbmRzV2l0aEZ1bmM6RmlsdGVyRnVuYzxzdHJpbmc+ID0gKGZpbHRlckluZm86RmlsdGVySW5mbykgPT4ge1xyXG4gIGNvbnN0IHN0YXJ0c1dpdGggPSBwcmVwYXJlRm9yU3RyaW5nQ29tcGFyZShmaWx0ZXJJbmZvLmZpbHRlclZhbHVlKTtcclxuICByZXR1cm4gKCh2YWwpPT5wcmVwYXJlRm9yU3RyaW5nQ29tcGFyZSh2YWwpLmVuZHNXaXRoKHN0YXJ0c1dpdGgpKTtcclxufVxyXG5cclxuY29uc3QgbXVsdGlwbGVTdHJpbmdWYWx1ZXNFcXVhbHNGdW5jOkZpbHRlckZ1bmM8c3RyaW5nW10sc3RyaW5nPiA9IChmaWx0ZXJJbmZvOkZpbHRlckluZm8pID0+IHtcclxuICBjb25zdCBmaWx0ZXJWYWxzID0gZmlsdGVySW5mby5maWx0ZXJWYWx1ZS5tYXAoICh2OiBzdHJpbmcpID0+IHByZXBhcmVGb3JTdHJpbmdDb21wYXJlKHYpKTtcclxuICByZXR1cm4gKCh2YWwpPT4gZmlsdGVyVmFscy5zb21lKChzOnN0cmluZykgPT4gcHJlcGFyZUZvclN0cmluZ0NvbXBhcmUodmFsKSA9PT0gcykpO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgU3RyaW5nRmlsdGVyRnVuY3M6IHtbazpzdHJpbmddOiBGaWx0ZXJGdW5jPGFueSxhbnk+fSA9IHtcclxuICAgIFtGaWx0ZXJUeXBlLlN0cmluZ0VxdWFsc106IHN0cmluZ0VxdWFsRnVuYyxcclxuICAgIFtGaWx0ZXJUeXBlLlN0cmluZ0NvbnRhaW5zXTogc3RyaW5nQ29udGFpbnNGdW5jLFxyXG4gICAgW0ZpbHRlclR5cGUuU3RyaW5nRG9lc05vdENvbnRhaW5dOiBzdHJpbmdEb2VzTm90Q29udGFpbkZ1bmMsXHJcbiAgICBbRmlsdGVyVHlwZS5TdHJpbmdTdGFydFdpdGhdOiBzdHJpbmdTdGFydHNXaXRoRnVuYyxcclxuICAgIFtGaWx0ZXJUeXBlLlN0cmluZ0VuZHNXaXRoXTogc3RyaW5nRW5kc1dpdGhGdW5jLFxyXG4gICAgW0ZpbHRlclR5cGUuSXNOdWxsXTogaXNOdWxsLFxyXG4gICAgW0ZpbHRlclR5cGUuSW5dOiBtdWx0aXBsZVN0cmluZ1ZhbHVlc0VxdWFsc0Z1bmMsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgRW51bUZpbHRlckZ1bmNzOiBEaWN0aW9uYXJ5PEZpbHRlckZ1bmM8YW55LGFueT4+ID0ge1xyXG4gIFtGaWx0ZXJUeXBlLklzTnVsbF06IGlzTnVsbCxcclxuICBbRmlsdGVyVHlwZS5Jbl0gOiBtdWx0aXBsZVN0cmluZ1ZhbHVlc0VxdWFsc0Z1bmMsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgcHJlcGFyZUZvclN0cmluZ0NvbXBhcmUgPSAodmFsIDogYW55KTpzdHJpbmcgPT4gdmFsPy50b1N0cmluZygpLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sdW1uSW5mby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2ludGVyZmFjZXMvQ29sdW1uSW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tQ2VsbERpcmVjdGl2ZSB9IGZyb20gXCIuLi9kaXJlY3RpdmVzL2N1c3RvbS1jZWxsLWRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQgeyBNZXRhRGF0YSB9IGZyb20gXCIuL3JlcG9ydC1kZWZcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uSW5mbyB7XHJcbiAgbWV0YURhdGE6IE1ldGFEYXRhO1xyXG4gIGN1c3RvbUNlbGw6IEN1c3RvbUNlbGxEaXJlY3RpdmU7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2ludGVyZmFjZXMvZGljdGlvbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBEaWN0aW9uYXJ5PFQ+IHtcclxuICBba2V5OiBzdHJpbmddOiBUO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export var FieldType;
|
|
2
|
+
(function (FieldType) {
|
|
3
|
+
FieldType[FieldType["Unknown"] = 0] = "Unknown";
|
|
4
|
+
FieldType[FieldType["Date"] = 1] = "Date";
|
|
5
|
+
FieldType[FieldType["Link"] = 2] = "Link";
|
|
6
|
+
FieldType[FieldType["ImageUrl"] = 3] = "ImageUrl";
|
|
7
|
+
FieldType[FieldType["Currency"] = 4] = "Currency";
|
|
8
|
+
FieldType[FieldType["Array"] = 5] = "Array";
|
|
9
|
+
FieldType[FieldType["Hidden"] = 6] = "Hidden";
|
|
10
|
+
FieldType[FieldType["Number"] = 7] = "Number";
|
|
11
|
+
FieldType[FieldType["String"] = 8] = "String";
|
|
12
|
+
FieldType[FieldType["Boolean"] = 9] = "Boolean";
|
|
13
|
+
FieldType[FieldType["PhoneNumber"] = 10] = "PhoneNumber";
|
|
14
|
+
/**
|
|
15
|
+
* @deprecated For mapped properties use proper type (for sorting and filtering) with `map`.
|
|
16
|
+
* For unmapped properties use `FieldType.NotMapped` with map.
|
|
17
|
+
*/
|
|
18
|
+
FieldType[FieldType["Expression"] = 11] = "Expression";
|
|
19
|
+
FieldType[FieldType["Enum"] = 12] = "Enum";
|
|
20
|
+
FieldType[FieldType["DateTime"] = 13] = "DateTime";
|
|
21
|
+
FieldType[FieldType["NotMapped"] = 14] = "NotMapped";
|
|
22
|
+
})(FieldType || (FieldType = {}));
|
|
23
|
+
export var SortDirection;
|
|
24
|
+
(function (SortDirection) {
|
|
25
|
+
SortDirection["asc"] = "asc";
|
|
26
|
+
SortDirection["desc"] = "desc";
|
|
27
|
+
})(SortDirection || (SortDirection = {}));
|
|
28
|
+
export var Target;
|
|
29
|
+
(function (Target) {
|
|
30
|
+
Target["Blank"] = "_blank";
|
|
31
|
+
Target["Self"] = "_self";
|
|
32
|
+
Target["Parent"] = "_parent";
|
|
33
|
+
Target["Top"] = "_top";
|
|
34
|
+
})(Target || (Target = {}));
|
|
35
|
+
export var ArrayStyle;
|
|
36
|
+
(function (ArrayStyle) {
|
|
37
|
+
ArrayStyle[ArrayStyle["CommaDelimited"] = 0] = "CommaDelimited";
|
|
38
|
+
ArrayStyle[ArrayStyle["NewLine"] = 1] = "NewLine";
|
|
39
|
+
})(ArrayStyle || (ArrayStyle = {}));
|
|
40
|
+
export function metaDataArrToDict(arr, transform) {
|
|
41
|
+
const dict = {};
|
|
42
|
+
if (transform) {
|
|
43
|
+
arr.forEach(e => dict[e.key] = transform(e));
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
arr.forEach(e => dict[e.key] = e);
|
|
47
|
+
}
|
|
48
|
+
return dict;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWRlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2ludGVyZmFjZXMvcmVwb3J0LWRlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLENBQU4sSUFBWSxTQW9CWDtBQXBCRCxXQUFZLFNBQVM7SUFDakIsK0NBQVcsQ0FBQTtJQUNYLHlDQUFRLENBQUE7SUFDUix5Q0FBUSxDQUFBO0lBQ1IsaURBQVksQ0FBQTtJQUNaLGlEQUFZLENBQUE7SUFDWiwyQ0FBUyxDQUFBO0lBQ1QsNkNBQVUsQ0FBQTtJQUNWLDZDQUFVLENBQUE7SUFDViw2Q0FBVSxDQUFBO0lBQ1YsK0NBQVcsQ0FBQTtJQUNYLHdEQUFnQixDQUFBO0lBQ2hCOzs7T0FHRztJQUNILHNEQUFlLENBQUE7SUFDZiwwQ0FBUyxDQUFBO0lBQ1Qsa0RBQWEsQ0FBQTtJQUNiLG9EQUFjLENBQUE7QUFDbEIsQ0FBQyxFQXBCVyxTQUFTLEtBQVQsU0FBUyxRQW9CcEI7QUFFRCxNQUFNLENBQU4sSUFBWSxhQUdYO0FBSEQsV0FBWSxhQUFhO0lBQ3JCLDRCQUFVLENBQUE7SUFDViw4QkFBWSxDQUFBO0FBQ2hCLENBQUMsRUFIVyxhQUFhLEtBQWIsYUFBYSxRQUd4QjtBQUVELE1BQU0sQ0FBTixJQUFZLE1BS1g7QUFMRCxXQUFZLE1BQU07SUFDaEIsMEJBQWdCLENBQUE7SUFDaEIsd0JBQWMsQ0FBQTtJQUNkLDRCQUFrQixDQUFBO0lBQ2xCLHNCQUFZLENBQUE7QUFDZCxDQUFDLEVBTFcsTUFBTSxLQUFOLE1BQU0sUUFLakI7QUFnR0QsTUFBTSxDQUFOLElBQVksVUFHWDtBQUhELFdBQVksVUFBVTtJQUNwQiwrREFBYyxDQUFBO0lBQ2QsaURBQU8sQ0FBQTtBQUNULENBQUMsRUFIVyxVQUFVLEtBQVYsVUFBVSxRQUdyQjtBQVNELE1BQU0sVUFBVSxpQkFBaUIsQ0FBZSxHQUFlLEVBQUUsU0FBK0I7SUFDOUYsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLElBQUcsU0FBUyxFQUFDLENBQUM7UUFDWixHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO1NBQU0sQ0FBQztRQUNOLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnLi9kaWN0aW9uYXJ5JztcclxuaW1wb3J0IHsgUGlwZVRyYW5zZm9ybSwgUHJlZGljYXRlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUYWJsZUJ1aWxkZXJFeHBvcnQgfSBmcm9tICcuLi9jbGFzc2VzL1RhYmxlQnVpbGRlckNvbmZpZyc7XHJcbmltcG9ydCB7IFF1ZXJ5UGFyYW1zSGFuZGxpbmcgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuXHJcbmV4cG9ydCBlbnVtIEZpZWxkVHlwZSB7XHJcbiAgICBVbmtub3duID0gMCxcclxuICAgIERhdGUgPSAxLFxyXG4gICAgTGluayA9IDIsXHJcbiAgICBJbWFnZVVybCA9IDMsXHJcbiAgICBDdXJyZW5jeSA9IDQsXHJcbiAgICBBcnJheSA9IDUsXHJcbiAgICBIaWRkZW4gPSA2LFxyXG4gICAgTnVtYmVyID0gNyxcclxuICAgIFN0cmluZyA9IDgsXHJcbiAgICBCb29sZWFuID0gOSxcclxuICAgIFBob25lTnVtYmVyID0gMTAsXHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIEZvciBtYXBwZWQgcHJvcGVydGllcyB1c2UgcHJvcGVyIHR5cGUgKGZvciBzb3J0aW5nIGFuZCBmaWx0ZXJpbmcpIHdpdGggYG1hcGAuXHJcbiAgICAgKiBGb3IgdW5tYXBwZWQgcHJvcGVydGllcyB1c2UgYEZpZWxkVHlwZS5Ob3RNYXBwZWRgIHdpdGggbWFwLlxyXG4gICAgICovXHJcbiAgICBFeHByZXNzaW9uID0gMTEsXHJcbiAgICBFbnVtID0gMTIsXHJcbiAgICBEYXRlVGltZSA9IDEzLFxyXG4gICAgTm90TWFwcGVkID0gMTQsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFNvcnREaXJlY3Rpb24ge1xyXG4gICAgYXNjPSAnYXNjJyxcclxuICAgIGRlc2M9ICdkZXNjJ1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBUYXJnZXQge1xyXG4gIEJsYW5rID0gJ19ibGFuaycsXHJcbiAgU2VsZiA9ICdfc2VsZicsXHJcbiAgUGFyZW50ID0gJ19wYXJlbnQnLFxyXG4gIFRvcCA9ICdfdG9wJ1xyXG59XHJcblxyXG5pbnRlcmZhY2UgQmFzZU1ldGEgPFQgPSBhbnk+IHtcclxuICBkaXNwbGF5TmFtZT86IHN0cmluZztcclxuICBhZGRpdGlvbmFsPzogQWRkaXRpb25hbDxUPjtcclxuICBvcmRlcj86IG51bWJlcjtcclxuICBwcmVTb3J0PzogU29ydERlZjtcclxuICB3aWR0aD86IHN0cmluZztcclxuICBub0V4cG9ydD86IGJvb2xlYW47XHJcbiAgbm9GaWx0ZXI/OiBib29sZWFuO1xyXG4gIG5vU29ydD86IGJvb2xlYW47XHJcbiAgY3VzdG9tQ2VsbD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSBtYXAgaW5zdGVhZFxyXG4gICAqL1xyXG4gIHRyYW5zZm9ybT86ICgobzogVCwgLi4uYXJnczogYW55W10pPT4gYW55KSB8ICgobzogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk9PiBhbnkpIHwgUGlwZVRyYW5zZm9ybTtcclxuICBjbGljaz86IChlbGVtZW50OiBULCBrZXk6IHN0cmluZyApID0+IHZvaWQ7XHJcbiAgdGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIGNsYXNzZXM/OiBEaWN0aW9uYXJ5PFByZWRpY2F0ZTxUPj47XHJcbiAgdG9vbFRpcD86IHN0cmluZyB8ICgodDpUKSA9PiBzdHJpbmcpO1xyXG4gIHVzZUljb24/OiBib29sZWFuO1xyXG4gIG1hcD8gOiAodDpUKSA9PiBhbnk7XHJcbn1cclxuXHJcbmludGVyZmFjZSBNYXBwZWRNZXRhRGF0YTxUID0gYW55LCBBZGRpdGlvbmFsRmllbGRzIGV4dGVuZHMgc3RyaW5nW10gPSBbXT4gZXh0ZW5kcyBCYXNlTWV0YTxUPiB7XHJcbiAga2V5OiAoa2V5b2YgVCB8IEFkZGl0aW9uYWxGaWVsZHNbbnVtYmVyXSkgJiBzdHJpbmc7XHJcbiAgZmllbGRUeXBlOiBFeGNsdWRlPHR5cGVvZiBGaWVsZFR5cGVba2V5b2YgdHlwZW9mIEZpZWxkVHlwZV0sIEZpZWxkVHlwZS5Ob3RNYXBwZWQgfCBGaWVsZFR5cGUuRXhwcmVzc2lvbj47XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE1ldGFEYXRhPFQgPSBhbnksIEFkZGl0aW9uYWxGaWVsZHMgZXh0ZW5kcyBzdHJpbmdbXSA9IFtdPiA9IE1hcHBlZE1ldGFEYXRhPFQsIEFkZGl0aW9uYWxGaWVsZHM+IHwgTm90TWFwcGVkTWV0YURhdGE8VD47XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE5vdE1hcHBlZE1ldGFEYXRhPFQgPSBhbnk+IGV4dGVuZHMgQmFzZU1ldGE8VD4ge1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIGZpZWxkVHlwZTogRmllbGRUeXBlLk5vdE1hcHBlZCB8IEZpZWxkVHlwZS5FeHByZXNzaW9uO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgIFJlcG9ydERlZjxEYXRhVHlwZSA9IGFueT4ge1xyXG4gICAgZGF0YTogRGF0YVR5cGVbXTtcclxuICAgIG1ldGFEYXRhOiBNZXRhRGF0YSBbXTtcclxuICAgIHRvdGFsUmVjb3Jkcz86IG51bWJlcjtcclxuICAgIGNvdW50OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU29ydERlZiB7XHJcbiAgICBkaXJlY3Rpb246IFNvcnREaXJlY3Rpb247XHJcbiAgICBwcmVjZWRlbmNlPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlck9wdGlvbnMge1xyXG4gIGZpbHRlcmFibGVWYWx1ZXMgOiBzdHJpbmdbXVxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZVRpbWVPcHRpb25zIHtcclxuICBmb3JtYXQ/OiBzdHJpbmc7XHJcbiAgaW5jbHVkZVNlY29uZHM/OiBib29sZWFuO1xyXG4gIGluY2x1ZGVNaWxsaXNlY29uZHM6IGJvb2xlYW47XHJcbn1cclxudHlwZSBpbnRlcnBvbGF0ZWRSb3V0ZSA9IHN0cmluZztcclxuZXhwb3J0IGludGVyZmFjZSBBZGRpdGlvbmFsPFQgPSBhbnk+IHtcclxuICBsaW5rPyA6IHtcclxuICAgIGJhc2U/OiBzdHJpbmc7XHJcbiAgICB1cmxLZXk/OiBzdHJpbmc7XHJcbiAgICB0YXJnZXQ/OiBUYXJnZXQ7XHJcbiAgICB1c2VSb3V0ZXJMaW5rPzogYm9vbGVhbjtcclxuICAgIC8qKlxyXG4gICAgICogSWYgeW91IHdhbnQgdG8gdXNlIGEgcm91dGUgd2l0aCBpbnRlcnBvbGF0ZWQgcGFyYW1zLCB5b3UgY2FuIHVzZSB0aGlzLiBXcmFwIHRoZSBwcm9wZXJ0eSBuYW1lIGluIGN1cmx5IGJyYWNlcy5cclxuICAgICAqIEZvciBleGFtcGxlLCBpZiBpbnRlcnBvbGF0ZWRSb3V0ZSA9IC91c2Vycy97aWR9L2VkaXQsIHtpZH0gd2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSB2YWx1ZSBvZiB0aGUgZWxlbWVudCdzIGlkIHByb3BlcnR5LlxyXG4gICAgICovXHJcbiAgICBpbnRlcnBvbGF0ZWRSb3V0ZT86IGludGVycG9sYXRlZFJvdXRlO1xyXG4gICAgcm91dGVyTGlua09wdGlvbnM/OntcclxuICAgICAgcXVlcnlQYXJhbXM/OiBbc3RyaW5nLCBpbnRlcnBvbGF0ZWRSb3V0ZV1bXTtcclxuICAgICAgZnJhZ21lbnQ/OiBzdHJpbmc7XHJcbiAgICAgIHByZXNlcnZlRnJhZ21lbnQ/OiBib29sZWFuO1xyXG4gICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nPzogUXVlcnlQYXJhbXNIYW5kbGluZztcclxuICAgIH1cclxuICB9XHJcbiAgZm9vdGVyPzogeyB0eXBlOiAnc3VtJyB9O1xyXG4gIGV4cG9ydD86IFRhYmxlQnVpbGRlckV4cG9ydDtcclxuICBkYXRlRm9ybWF0Pzogc3RyaW5nO1xyXG4gIGRhdGVUaW1lT3B0aW9ucz86ICBEYXRlVGltZU9wdGlvbnM7XHJcbiAgZmlsdGVyT3B0aW9ucz86IEZpbHRlck9wdGlvbnM7XHJcbiAgc3R5bGVzPzogRGljdGlvbmFyeTxzdHJpbmcgfCB7Y29uZGl0aW9uOiAodDpUKSA9PiBib29sZWFuIHwgdHJ1ZSwgdmFsdWU6ICh0OlQpID0+IHN0cmluZyB8IHN0cmluZ30+O1xyXG4gIGNvbHVtblBhcnRTdHlsZXM/OiB7XHJcbiAgICBoZWFkZXI/OiBEaWN0aW9uYXJ5PHN0cmluZz4sXHJcbiAgICBib2R5PzogRGljdGlvbmFyeTxzdHJpbmcgfCB7Y29uZGl0aW9uOiAodDogVCkgPT4gYm9vbGVhbiB8IHRydWUsIHZhbHVlOiAodDogVCkgPT4gc3RyaW5nIHwgc3RyaW5nfT4sXHJcbiAgICBmb290ZXI/OiBEaWN0aW9uYXJ5PHN0cmluZz4sXHJcbiAgfVxyXG4gIGNvbHVtblBhcnRDbGFzc2VzPzoge1xyXG4gICAgaGVhZGVyPzogRGljdGlvbmFyeTxQcmVkaWNhdGU8VD4+LFxyXG4gICAgZm9vdGVyPzogRGljdGlvbmFyeTxQcmVkaWNhdGU8VD4+LFxyXG4gIH1cclxuICBlbnVtTWFwPzoge1trZXk6bnVtYmVyXTpzdHJpbmd9O1xyXG4gIGJvb2xlYW4/IDoge1xyXG4gICAgc2hvd0ZvckZhbHNlPyA6IHRydWUgfCB7IGljb24gOiBzdHJpbmcgfSxcclxuICAgIGZvclRydWU/IDogeyBpY29uIDogc3RyaW5nIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEFycmF5U3R5bGUge1xyXG4gIENvbW1hRGVsaW1pdGVkLFxyXG4gIE5ld0xpbmVcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBcnJheUFkZGl0aW9uYWwgZXh0ZW5kcyBBZGRpdGlvbmFsIHtcclxuICAgIGxpbWl0PzogbnVtYmVyO1xyXG4gICAgYXJyYXlTdHlsZT86IEFycmF5U3R5bGU7XHJcbn1cclxuXHJcblxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG1ldGFEYXRhQXJyVG9EaWN0PFQgPSBNZXRhRGF0YT4oYXJyOiBNZXRhRGF0YVtdLCB0cmFuc2Zvcm0/OiAobSA6IE1ldGFEYXRhKSA9PiBUKTogRGljdGlvbmFyeTxUPntcclxuICBjb25zdCBkaWN0ID0ge307XHJcbiAgaWYodHJhbnNmb3JtKXtcclxuICAgIGFyci5mb3JFYWNoKGUgPT4gZGljdFtlLmtleV0gPSB0cmFuc2Zvcm0oZSkpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBhcnIuZm9yRWFjaChlID0+IGRpY3RbZS5rZXldID0gZSk7XHJcbiAgfVxyXG4gIHJldHVybiBkaWN0O1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { ComponentStore } from "@ngrx/component-store";
|
|
2
|
+
import { Injectable } from "@angular/core";
|
|
3
|
+
import { filter, tap } from "rxjs";
|
|
4
|
+
import { concatLatestFrom } from "@ngrx/effects";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class TableBuilderStateStore extends ComponentStore {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(loadGlobalStorageState());
|
|
9
|
+
//selectors
|
|
10
|
+
this.selectLocalProfile = (key) => this.select(state => state.localProfiles[key]);
|
|
11
|
+
this.selectLocalProfileState = (key) => this.select(this.selectLocalProfile(key), (profile) => {
|
|
12
|
+
if (profile) {
|
|
13
|
+
return profile.states[profile.current ?? profile.default];
|
|
14
|
+
}
|
|
15
|
+
return null;
|
|
16
|
+
});
|
|
17
|
+
this.selectLocalProfileCurrentKey = (key) => this.select(this.selectLocalProfile(key), (profile) => {
|
|
18
|
+
if (profile) {
|
|
19
|
+
return profile.current ?? profile.default;
|
|
20
|
+
}
|
|
21
|
+
return 'default';
|
|
22
|
+
});
|
|
23
|
+
this.selectLocalProfileKeys = (key) => this.select(this.selectLocalProfile(key), (profile) => {
|
|
24
|
+
if (profile) {
|
|
25
|
+
return Object.keys(profile.states).filter(key => key);
|
|
26
|
+
}
|
|
27
|
+
return null;
|
|
28
|
+
});
|
|
29
|
+
// reducers
|
|
30
|
+
this.setLocalProfile = this.updater((state, props) => {
|
|
31
|
+
let profile = state.localProfiles[props.key];
|
|
32
|
+
if (!profile) {
|
|
33
|
+
profile = { default: 'default', current: 'default', states: {
|
|
34
|
+
default: props.value
|
|
35
|
+
} };
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
profile = { ...profile, states: { ...profile.states, [profile.current ?? profile.default]: props.value } };
|
|
39
|
+
}
|
|
40
|
+
return { ...state, localProfiles: { ...state.localProfiles, [props.key]: profile } };
|
|
41
|
+
});
|
|
42
|
+
this.setLocalProfilesState = this.updater((state, props) => {
|
|
43
|
+
let profile = state.localProfiles[props.key];
|
|
44
|
+
if (!profile) {
|
|
45
|
+
profile = { default: props.current, current: props.current, states: { [props.current]: null } };
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
const state = profile.states[props.current] ?? profile.states[profile.current ?? profile.default];
|
|
49
|
+
profile = { ...profile, current: props.current, states: { ...profile.states, [props.current]: state } };
|
|
50
|
+
}
|
|
51
|
+
return { ...state, localProfiles: { ...state.localProfiles, [props.key]: profile } };
|
|
52
|
+
});
|
|
53
|
+
this.deleteLocalProfilesState = this.updater((state, props) => {
|
|
54
|
+
let profile = state.localProfiles[props.key];
|
|
55
|
+
if (profile) {
|
|
56
|
+
const current = profile.current === props.stateKey ? profile.default : profile.current;
|
|
57
|
+
profile = { ...profile, current, states: { ...profile.states } };
|
|
58
|
+
delete profile.states[props.stateKey];
|
|
59
|
+
return { ...state, localProfiles: { ...state.localProfiles, [props.key]: profile } };
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
return state;
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
// effects
|
|
66
|
+
this.saveLocalProfile = this.effect((props$) => props$.pipe(filter(action => !!action.persist), concatLatestFrom((action) => this.selectLocalProfile(action.key)), tap(([action, profile]) => {
|
|
67
|
+
const globalSavedState = JSON.parse(localStorage.getItem('global-state-storage') ?? JSON.stringify(defaultStorageState));
|
|
68
|
+
if (!profile) {
|
|
69
|
+
profile = { default: 'default', current: 'default', states: { default: action.value } };
|
|
70
|
+
globalSavedState.localProfiles[action.key] = profile;
|
|
71
|
+
}
|
|
72
|
+
{
|
|
73
|
+
if (!globalSavedState.localProfiles[action.key]) {
|
|
74
|
+
globalSavedState.localProfiles[action.key] = { ...profile, states: { [profile.current ?? profile.default]: action.value } };
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
globalSavedState.localProfiles[action.key].states[profile.current ?? profile.default] = action.value;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
localStorage.setItem('global-state-storage', JSON.stringify(globalSavedState));
|
|
81
|
+
this.setLocalProfile(action);
|
|
82
|
+
})));
|
|
83
|
+
this.deleteLocalProfile = this.effect((props$) => props$.pipe(tap((props) => {
|
|
84
|
+
const globalSavedState = JSON.parse(localStorage.getItem('global-state-storage') ?? JSON.stringify(defaultStorageState));
|
|
85
|
+
if (!globalSavedState.localProfiles[props.key]) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
delete globalSavedState.localProfiles[props.key].states[props.stateKey];
|
|
90
|
+
}
|
|
91
|
+
localStorage.setItem('global-state-storage', JSON.stringify(globalSavedState));
|
|
92
|
+
this.deleteLocalProfilesState(props);
|
|
93
|
+
})));
|
|
94
|
+
}
|
|
95
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TableBuilderStateStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
96
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TableBuilderStateStore, providedIn: 'root' }); }
|
|
97
|
+
}
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TableBuilderStateStore, decorators: [{
|
|
99
|
+
type: Injectable,
|
|
100
|
+
args: [{ providedIn: 'root' }]
|
|
101
|
+
}], ctorParameters: () => [] });
|
|
102
|
+
function loadGlobalStorageState() {
|
|
103
|
+
const storage = localStorage.getItem('global-state-storage');
|
|
104
|
+
if (storage) {
|
|
105
|
+
return { ...defaultStorageState, ...JSON.parse(storage) };
|
|
106
|
+
}
|
|
107
|
+
return defaultStorageState;
|
|
108
|
+
}
|
|
109
|
+
export const defaultStorageState = {
|
|
110
|
+
globalProfileKeys: ['Default'],
|
|
111
|
+
currentGlobalProfile: 'Default',
|
|
112
|
+
globalProfiles: {},
|
|
113
|
+
localProfiles: {}
|
|
114
|
+
};
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVCdWlsZGVyU3RhdGVTdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL25ncngvdGFibGVCdWlsZGVyU3RhdGVTdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSWpELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxjQUFrQztJQUM1RTtRQUNFLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUE7UUFHakMsV0FBVztRQUNYLHVCQUFrQixHQUFHLENBQUMsR0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQ3ZELEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUU1Qiw0QkFBdUIsR0FBRyxDQUFDLEdBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FDbkQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxFQUM1QixDQUFDLE9BQWdCLEVBQUUsRUFBRTtZQUNuQixJQUFHLE9BQU8sRUFBRSxDQUFDO2dCQUNYLE9BQVEsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM3RCxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxpQ0FBNEIsR0FBRyxDQUFDLEdBQVUsRUFBRSxFQUFFLENBQUMs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QUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDN0QsSUFBRyxPQUFPLEVBQUUsQ0FBQztRQUNYLE9BQU8sRUFBQyxHQUFHLG1CQUFtQixFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDO0lBQzFELENBQUM7SUFDRCxPQUFPLG1CQUFtQixDQUFDO0FBQzdCLENBQUM7QUFlRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBdUI7SUFDckQsaUJBQWlCLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDOUIsb0JBQW9CLEVBQUUsU0FBUztJQUMvQixjQUFjLEVBQUUsRUFBRTtJQUNsQixhQUFhLEVBQUUsRUFBRTtDQUNsQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tIFwiQG5ncngvY29tcG9uZW50LXN0b3JlXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmaWx0ZXIsIHRhcCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGNvbmNhdExhdGVzdEZyb20gfSBmcm9tIFwiQG5ncngvZWZmZWN0c1wiO1xyXG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvZGljdGlvbmFyeVwiO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCd9KVxyXG5leHBvcnQgY2xhc3MgVGFibGVCdWlsZGVyU3RhdGVTdG9yZSBleHRlbmRzIENvbXBvbmVudFN0b3JlPEdsb2JhbFN0b3JhZ2VTdGF0ZT4ge1xyXG4gIGNvbnN0cnVjdG9yKCl7XHJcbiAgICBzdXBlcihsb2FkR2xvYmFsU3RvcmFnZVN0YXRlKCkpXHJcbiAgfVxyXG5cclxuICAvL3NlbGVjdG9yc1xyXG4gIHNlbGVjdExvY2FsUHJvZmlsZSA9IChrZXk6c3RyaW5nKSA9PiB0aGlzLnNlbGVjdChzdGF0ZSA9PiBcclxuICAgIHN0YXRlLmxvY2FsUHJvZmlsZXNba2V5XSk7XHJcbiAgXHJcbiAgc2VsZWN0TG9jYWxQcm9maWxlU3RhdGUgPSAoa2V5OnN0cmluZykgPT4gdGhpcy5zZWxlY3QoXHJcbiAgICB0aGlzLnNlbGVjdExvY2FsUHJvZmlsZShrZXkpLFxyXG4gICAgKHByb2ZpbGU6IFByb2ZpbGUpID0+IHtcclxuICAgICAgaWYocHJvZmlsZSkge1xyXG4gICAgICAgIHJldHVybiAgcHJvZmlsZS5zdGF0ZXNbcHJvZmlsZS5jdXJyZW50ID8/IHByb2ZpbGUuZGVmYXVsdF07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgfSk7XHJcblxyXG4gIHNlbGVjdExvY2FsUHJvZmlsZUN1cnJlbnRLZXkgPSAoa2V5OnN0cmluZykgPT4gdGhpcy5zZWxlY3QoXHJcbiAgICB0aGlzLnNlbGVjdExvY2FsUHJvZmlsZShrZXkpLFxyXG4gICAgKHByb2ZpbGU6IFByb2ZpbGUpID0+IHtcclxuICAgICAgaWYocHJvZmlsZSkge1xyXG4gICAgICAgIHJldHVybiAgcHJvZmlsZS5jdXJyZW50ID8/IHByb2ZpbGUuZGVmYXVsdDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gJ2RlZmF1bHQnO1xyXG4gIH0pO1xyXG5cclxuICBzZWxlY3RMb2NhbFByb2ZpbGVLZXlzID0gPFQ+KGtleTpzdHJpbmcpID0+ICB0aGlzLnNlbGVjdChcclxuICAgIHRoaXMuc2VsZWN0TG9jYWxQcm9maWxlKGtleSksXHJcbiAgICAocHJvZmlsZTogUHJvZmlsZTxUPikgPT4ge1xyXG4gICAgICBpZihwcm9maWxlKSB7XHJcbiAgICAgICAgcmV0dXJuICBPYmplY3Qua2V5cyhwcm9maWxlLnN0YXRlcykuZmlsdGVyKCBrZXkgPT4ga2V5KTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICB9KTtcclxuXHJcblxyXG4gIC8vIHJlZHVjZXJzXHJcbiAgc2V0TG9jYWxQcm9maWxlID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgcHJvcHM6IHsga2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkgfSkgPT4ge1xyXG4gICAgbGV0IHByb2ZpbGUgPSBzdGF0ZS5sb2NhbFByb2ZpbGVzW3Byb3BzLmtleV07XHJcbiAgICBpZighcHJvZmlsZSkge1xyXG4gICAgICBwcm9maWxlID0gIHtkZWZhdWx0OiAnZGVmYXVsdCcsIGN1cnJlbnQ6ICdkZWZhdWx0Jywgc3RhdGVzIDoge1xyXG4gICAgICAgIGRlZmF1bHQ6IHByb3BzLnZhbHVlXHJcbiAgICAgIH19O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcHJvZmlsZSA9IHsuLi5wcm9maWxlLCBzdGF0ZXM6IHsuLi5wcm9maWxlLnN0YXRlcywgW3Byb2ZpbGUuY3VycmVudCA/PyBwcm9maWxlLmRlZmF1bHRdIDogcHJvcHMudmFsdWV9IH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gey4uLnN0YXRlLCBsb2NhbFByb2ZpbGVzOiB7Li4uc3RhdGUubG9jYWxQcm9maWxlcywgW3Byb3BzLmtleV06IHByb2ZpbGV9IH1cclxuICB9KTtcclxuXHJcbiAgc2V0TG9jYWxQcm9maWxlc1N0YXRlID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgcHJvcHM6IHsga2V5OiBzdHJpbmcsIGN1cnJlbnQ6IHN0cmluZyB9KSA9PiB7XHJcbiAgICBsZXQgcHJvZmlsZSA9IHN0YXRlLmxvY2FsUHJvZmlsZXNbcHJvcHMua2V5XTtcclxuICAgIGlmKCFwcm9maWxlKSB7XHJcbiAgICAgIHByb2ZpbGUgPSAge2RlZmF1bHQ6IHByb3BzLmN1cnJlbnQsIGN1cnJlbnQ6IHByb3BzLmN1cnJlbnQgLCBzdGF0ZXMgOiB7W3Byb3BzLmN1cnJlbnRdOiBudWxsIH19O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3Qgc3RhdGUgPSBwcm9maWxlLnN0YXRlc1twcm9wcy5jdXJyZW50XSA/PyBwcm9maWxlLnN0YXRlc1twcm9maWxlLmN1cnJlbnQgPz8gcHJvZmlsZS5kZWZhdWx0XTtcclxuICAgICAgcHJvZmlsZSA9IHsuLi5wcm9maWxlLCBjdXJyZW50OiBwcm9wcy5jdXJyZW50LCBzdGF0ZXM6IHsuLi5wcm9maWxlLnN0YXRlcywgW3Byb3BzLmN1cnJlbnRdIDogc3RhdGUgfX07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gey4uLnN0YXRlLCBsb2NhbFByb2ZpbGVzOiB7Li4uc3RhdGUubG9jYWxQcm9maWxlcywgW3Byb3BzLmtleV06IHByb2ZpbGV9fTtcclxuICB9KTtcclxuXHJcbiAgZGVsZXRlTG9jYWxQcm9maWxlc1N0YXRlID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgcHJvcHM6IHsga2V5OiBzdHJpbmcsIHN0YXRlS2V5OiBzdHJpbmcgfSkgPT4ge1xyXG4gICAgbGV0IHByb2ZpbGUgPSBzdGF0ZS5sb2NhbFByb2ZpbGVzW3Byb3BzLmtleV07XHJcbiAgICBpZihwcm9maWxlKSB7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnQgPSBwcm9maWxlLmN1cnJlbnQgPT09IHByb3BzLnN0YXRlS2V5ID8gcHJvZmlsZS5kZWZhdWx0IDogcHJvZmlsZS5jdXJyZW50O1xyXG4gICAgICBwcm9maWxlID0gey4uLnByb2ZpbGUsY3VycmVudCwgc3RhdGVzOiB7IC4uLnByb2ZpbGUuc3RhdGVzfX07XHJcbiAgICAgIGRlbGV0ZSBwcm9maWxlLnN0YXRlc1twcm9wcy5zdGF0ZUtleV07XHJcbiAgICAgIHJldHVybiB7Li4uc3RhdGUsIGxvY2FsUHJvZmlsZXM6IHsuLi5zdGF0ZS5sb2NhbFByb2ZpbGVzLCBbcHJvcHMua2V5XTogcHJvZmlsZX0gfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBzdGF0ZTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgLy8gZWZmZWN0c1xyXG4gIHNhdmVMb2NhbFByb2ZpbGUgPSB0aGlzLmVmZmVjdCgocHJvcHMkOiBPYnNlcnZhYmxlPHsga2V5OiBzdHJpbmcsIHZhbHVlOiBhbnksIHBlcnNpc3Q/OiBib29sZWFuIH0+KSA9PiBwcm9wcyQucGlwZShcclxuICAgIGZpbHRlciggYWN0aW9uID0+ICEhYWN0aW9uLnBlcnNpc3QpLFxyXG4gICAgY29uY2F0TGF0ZXN0RnJvbSgoYWN0aW9uKSA9PiAgdGhpcy5zZWxlY3RMb2NhbFByb2ZpbGUoYWN0aW9uLmtleSkpLFxyXG4gICAgdGFwKCAoW2FjdGlvbiwgcHJvZmlsZV0pID0+IHtcclxuICAgICAgY29uc3QgZ2xvYmFsU2F2ZWRTdGF0ZTogR2xvYmFsU3RvcmFnZVN0YXRlID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZ2xvYmFsLXN0YXRlLXN0b3JhZ2UnKSA/PyBKU09OLnN0cmluZ2lmeShkZWZhdWx0U3RvcmFnZVN0YXRlKSApO1xyXG4gICAgICBpZighcHJvZmlsZSkge1xyXG4gICAgICAgIHByb2ZpbGUgPSAge2RlZmF1bHQ6ICdkZWZhdWx0JywgY3VycmVudDogJ2RlZmF1bHQnLCBzdGF0ZXMgOiB7ZGVmYXVsdDogYWN0aW9uLnZhbHVlfX07XHJcbiAgICAgICAgZ2xvYmFsU2F2ZWRTdGF0ZS5sb2NhbFByb2ZpbGVzW2FjdGlvbi5rZXldID0gcHJvZmlsZTtcclxuICAgICAgfSB7XHJcbiAgICAgICAgaWYoIWdsb2JhbFNhdmVkU3RhdGUubG9jYWxQcm9maWxlc1thY3Rpb24ua2V5XSkge1xyXG4gICAgICAgICAgZ2xvYmFsU2F2ZWRTdGF0ZS5sb2NhbFByb2ZpbGVzW2FjdGlvbi5rZXldID0gey4uLnByb2ZpbGUsc3RhdGVzOiB7W3Byb2ZpbGUuY3VycmVudCA/PyBwcm9maWxlLmRlZmF1bHRdOiBhY3Rpb24udmFsdWV9fTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgZ2xvYmFsU2F2ZWRTdGF0ZS5sb2NhbFByb2ZpbGVzW2FjdGlvbi5rZXldLnN0YXRlc1twcm9maWxlLmN1cnJlbnQgPz8gcHJvZmlsZS5kZWZhdWx0XSA9IGFjdGlvbi52YWx1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdnbG9iYWwtc3RhdGUtc3RvcmFnZScsIEpTT04uc3RyaW5naWZ5KCBnbG9iYWxTYXZlZFN0YXRlKSk7XHJcbiAgICAgIHRoaXMuc2V0TG9jYWxQcm9maWxlKGFjdGlvbik7XHJcbiAgICB9KVxyXG4gICkpO1xyXG5cclxuICBkZWxldGVMb2NhbFByb2ZpbGUgPSB0aGlzLmVmZmVjdCgocHJvcHMkOiBPYnNlcnZhYmxlPHsga2V5OiBzdHJpbmcsIHN0YXRlS2V5OiBzdHJpbmcgfT4pID0+IHByb3BzJC5waXBlKFxyXG4gICAgdGFwKChwcm9wcykgPT4ge1xyXG4gICAgICBjb25zdCBnbG9iYWxTYXZlZFN0YXRlOiBHbG9iYWxTdG9yYWdlU3RhdGUgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdnbG9iYWwtc3RhdGUtc3RvcmFnZScpID8/IEpTT04uc3RyaW5naWZ5KGRlZmF1bHRTdG9yYWdlU3RhdGUpICk7XHJcbiAgICAgICAgaWYoIWdsb2JhbFNhdmVkU3RhdGUubG9jYWxQcm9maWxlc1twcm9wcy5rZXldKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGRlbGV0ZSBnbG9iYWxTYXZlZFN0YXRlLmxvY2FsUHJvZmlsZXNbcHJvcHMua2V5XS5zdGF0ZXNbcHJvcHMuc3RhdGVLZXldO1xyXG4gICAgICAgIH1cclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2dsb2JhbC1zdGF0ZS1zdG9yYWdlJywgSlNPTi5zdHJpbmdpZnkoIGdsb2JhbFNhdmVkU3RhdGUpKTtcclxuICAgICAgdGhpcy5kZWxldGVMb2NhbFByb2ZpbGVzU3RhdGUocHJvcHMpXHJcbiAgICB9KVxyXG4gICkpXHJcbn1cclxuXHJcbmZ1bmN0aW9uIGxvYWRHbG9iYWxTdG9yYWdlU3RhdGUoKSA6IEdsb2JhbFN0b3JhZ2VTdGF0ZSB7XHJcbiAgY29uc3Qgc3RvcmFnZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdnbG9iYWwtc3RhdGUtc3RvcmFnZScpO1xyXG4gIGlmKHN0b3JhZ2UpIHtcclxuICAgIHJldHVybiB7Li4uZGVmYXVsdFN0b3JhZ2VTdGF0ZSwgLi4uSlNPTi5wYXJzZShzdG9yYWdlKX07XHJcbiAgfVxyXG4gIHJldHVybiBkZWZhdWx0U3RvcmFnZVN0YXRlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGU8VCA9IGFueT4ge1xyXG4gIGRlZmF1bHQ6IHN0cmluZztcclxuICBjdXJyZW50OiBzdHJpbmc7XHJcbiAgc3RhdGVzOiBEaWN0aW9uYXJ5PFQ+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEdsb2JhbFN0b3JhZ2VTdGF0ZSB7XHJcbiAgZ2xvYmFsUHJvZmlsZUtleXMgOiBzdHJpbmcgW107XHJcbiAgY3VycmVudEdsb2JhbFByb2ZpbGU6IHN0cmluZztcclxuICBnbG9iYWxQcm9maWxlczogRGljdGlvbmFyeTxQcm9maWxlPjtcclxuICBsb2NhbFByb2ZpbGVzOiBEaWN0aW9uYXJ5PFByb2ZpbGU+O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgZGVmYXVsdFN0b3JhZ2VTdGF0ZTogR2xvYmFsU3RvcmFnZVN0YXRlID0ge1xyXG4gIGdsb2JhbFByb2ZpbGVLZXlzOiBbJ0RlZmF1bHQnXSxcclxuICBjdXJyZW50R2xvYmFsUHJvZmlsZTogJ0RlZmF1bHQnLFxyXG4gIGdsb2JhbFByb2ZpbGVzOiB7fSxcclxuICBsb2NhbFByb2ZpbGVzOiB7fVxyXG59Il19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { sumBy } from 'lodash';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ColumnTotalPipe {
|
|
5
|
+
transform(data, metaData) {
|
|
6
|
+
const dataToCalculate = data.filter(d => !d.isGroupHeader);
|
|
7
|
+
switch (metaData.additional.footer.type) {
|
|
8
|
+
case 'sum':
|
|
9
|
+
return sumBy(dataToCalculate, metaData.key);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ColumnTotalPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
13
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: ColumnTotalPipe, isStandalone: true, name: "columnTotal" }); }
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ColumnTotalPipe, decorators: [{
|
|
16
|
+
type: Pipe,
|
|
17
|
+
args: [{
|
|
18
|
+
name: 'columnTotal',
|
|
19
|
+
standalone: true
|
|
20
|
+
}]
|
|
21
|
+
}] });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXRvdGFsLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9waXBlcy9jb2x1bW4tdG90YWwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sUUFBUSxDQUFDOztBQU03QixNQUFNLE9BQU8sZUFBZTtJQUMxQixTQUFTLENBQUMsSUFBVyxFQUFFLFFBQWtCO1FBQ3ZDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUMxRCxRQUFRLFFBQVEsQ0FBQyxVQUFXLENBQUMsTUFBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzFDLEtBQUssS0FBSztnQkFDVixPQUFPLEtBQUssQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDOzhHQVBVLGVBQWU7NEdBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFKM0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsYUFBYTtvQkFDakIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZXRhRGF0YSB9IGZyb20gJy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XHJcbmltcG9ydCB7c3VtQnl9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ2NvbHVtblRvdGFsJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWVcclxuICB9KVxyXG5leHBvcnQgY2xhc3MgQ29sdW1uVG90YWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKGRhdGE6IGFueVtdLCBtZXRhRGF0YTogTWV0YURhdGEpIHtcclxuICAgIGNvbnN0IGRhdGFUb0NhbGN1bGF0ZSA9IGRhdGEuZmlsdGVyKGQgPT4gIWQuaXNHcm91cEhlYWRlcilcclxuICAgIHN3aXRjaCAobWV0YURhdGEuYWRkaXRpb25hbCEuZm9vdGVyIS50eXBlKSB7XHJcbiAgICAgIGNhc2UgJ3N1bSc6XHJcbiAgICAgIHJldHVybiBzdW1CeShkYXRhVG9DYWxjdWxhdGUsIG1ldGFEYXRhLmtleSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { FilterType } from '../enums/filterTypes';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class FormatFilterTypePipe {
|
|
5
|
+
transform(filterType, value) {
|
|
6
|
+
if (filterType === FilterType.IsNull) {
|
|
7
|
+
return value ? filterType : 'Is Not Blank';
|
|
8
|
+
}
|
|
9
|
+
return filterType;
|
|
10
|
+
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FormatFilterTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
12
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: FormatFilterTypePipe, isStandalone: true, name: "formatFilterType" }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FormatFilterTypePipe, decorators: [{
|
|
15
|
+
type: Pipe,
|
|
16
|
+
args: [{ name: 'formatFilterType', standalone: true }]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWZpbHRlci10eXBlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9waXBlcy9mb3JtYXQtZmlsdGVyLXR5cGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBR2xELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsU0FBUyxDQUFDLFVBQXNCLEVBQUUsS0FBVTtRQUMxQyxJQUFHLFVBQVUsS0FBSyxVQUFVLENBQUMsTUFBTSxFQUFDLENBQUM7WUFDbkMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFBO1FBQzVDLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOzhHQU5VLG9CQUFvQjs0R0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQURoQyxJQUFJO21CQUFDLEVBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpbHRlclR5cGUgfSBmcm9tICcuLi9lbnVtcy9maWx0ZXJUeXBlcyc7XHJcblxyXG5AUGlwZSh7bmFtZTogJ2Zvcm1hdEZpbHRlclR5cGUnLCBzdGFuZGFsb25lOiB0cnVlfSlcclxuZXhwb3J0IGNsYXNzIEZvcm1hdEZpbHRlclR5cGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKGZpbHRlclR5cGU6IEZpbHRlclR5cGUsIHZhbHVlOiBhbnkpe1xyXG4gICAgaWYoZmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5Jc051bGwpe1xyXG4gICAgICByZXR1cm4gdmFsdWUgPyBmaWx0ZXJUeXBlIDogJ0lzIE5vdCBCbGFuaydcclxuICAgIH1cclxuICAgIHJldHVybiBmaWx0ZXJUeXBlO1xyXG4gIH1cclxufSJdfQ==
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
import { FieldType } from '../interfaces/report-def';
|
|
4
|
+
import { FilterType } from '../enums/filterTypes';
|
|
5
|
+
import { spaceCase } from '../../utilities/pipes/space-case.pipes';
|
|
6
|
+
import { DateTimeFilterFuncs } from '../functions/date-filter-function';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../classes/table-store";
|
|
9
|
+
import * as i2 from "@angular/common";
|
|
10
|
+
export class FormatFilterValuePipe {
|
|
11
|
+
constructor(tableState, datePipe) {
|
|
12
|
+
this.tableState = tableState;
|
|
13
|
+
this.datePipe = datePipe;
|
|
14
|
+
}
|
|
15
|
+
transform(value, key, filterType) {
|
|
16
|
+
return this.tableState.getMetaData$(key).pipe(map(md => {
|
|
17
|
+
if (filterType === FilterType.IsNull) {
|
|
18
|
+
return '';
|
|
19
|
+
}
|
|
20
|
+
if (value && (filterType === FilterType.In)) {
|
|
21
|
+
if (md.fieldType === FieldType.Enum) {
|
|
22
|
+
return value.map((v) => spaceCase(md.additional.enumMap[v])).join(', ') ?? value;
|
|
23
|
+
}
|
|
24
|
+
return value.join(', ') ?? value;
|
|
25
|
+
}
|
|
26
|
+
if (filterType === FilterType.NumberBetween) {
|
|
27
|
+
return value.Start + ' - ' + value.End;
|
|
28
|
+
}
|
|
29
|
+
if (md.fieldType === FieldType.Date) {
|
|
30
|
+
return this.datePipe.transform(value, 'MM/dd/yy');
|
|
31
|
+
}
|
|
32
|
+
if (md.fieldType === FieldType.DateTime) {
|
|
33
|
+
return !!DateTimeFilterFuncs[filterType] ? this.datePipe.transform(value, 'short') : this.datePipe.transform(value, 'MM/dd/yy');
|
|
34
|
+
}
|
|
35
|
+
return value;
|
|
36
|
+
}));
|
|
37
|
+
}
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FormatFilterValuePipe, deps: [{ token: i1.TableStore }, { token: i2.DatePipe }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
39
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: FormatFilterValuePipe, isStandalone: true, name: "formatFilterValue" }); }
|
|
40
|
+
}
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FormatFilterValuePipe, decorators: [{
|
|
42
|
+
type: Pipe,
|
|
43
|
+
args: [{ name: 'formatFilterValue', standalone: true }]
|
|
44
|
+
}], ctorParameters: () => [{ type: i1.TableStore }, { type: i2.DatePipe }] });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWZpbHRlci12YWx1ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvcGlwZXMvZm9ybWF0LWZpbHRlci12YWx1ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBR3BELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7OztBQUl4RSxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQW9CLFVBQXNCLEVBQVcsUUFBa0I7UUFBbkQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFXLGFBQVEsR0FBUixRQUFRLENBQVU7SUFDdkUsQ0FBQztJQUNELFNBQVMsQ0FBQyxLQUFVLEVBQUUsR0FBVyxFQUFFLFVBQXNCO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUMzQyxHQUFHLENBQUUsRUFBRSxDQUFDLEVBQUU7WUFDUixJQUFHLFVBQVUsS0FBSyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3BDLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztZQUNELElBQUcsS0FBSyxJQUFJLENBQUMsVUFBVSxLQUFLLFVBQVUsQ0FBQyxFQUFFLENBQUUsRUFBQyxDQUFDO2dCQUMzQyxJQUFHLEVBQUUsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUNuQyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUUsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsVUFBVyxDQUFDLE9BQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQztnQkFDM0YsQ0FBQztnQkFDRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDO1lBQ25DLENBQUM7WUFDRCxJQUFHLFVBQVUsS0FBSyxVQUFVLENBQUMsYUFBYSxFQUFDLENBQUM7Z0JBQzFDLE9BQU8sS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztZQUN6QyxDQUFDO1lBQ0QsSUFBRyxFQUFFLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxJQUFJLEVBQUMsQ0FBQztnQkFDbEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDcEQsQ0FBQztZQUNELElBQUcsRUFBRSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsUUFBUSxFQUFDLENBQUM7Z0JBQ3RDLE9BQU8sQ0FBQyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNsSSxDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUE7UUFDZCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs4R0EzQlUscUJBQXFCOzRHQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBRGpDLElBQUk7bUJBQUMsRUFBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGFibGVTdG9yZSB9IGZyb20gJy4uL2NsYXNzZXMvdGFibGUtc3RvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9yZXBvcnQtZGVmJztcclxuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGaWx0ZXJUeXBlIH0gZnJvbSAnLi4vZW51bXMvZmlsdGVyVHlwZXMnO1xyXG5pbXBvcnQgeyBzcGFjZUNhc2UgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvcGlwZXMvc3BhY2UtY2FzZS5waXBlcyc7XHJcbmltcG9ydCB7IERhdGVUaW1lRmlsdGVyRnVuY3MgfSBmcm9tICcuLi9mdW5jdGlvbnMvZGF0ZS1maWx0ZXItZnVuY3Rpb24nO1xyXG5cclxuXHJcbkBQaXBlKHtuYW1lOiAnZm9ybWF0RmlsdGVyVmFsdWUnLCBzdGFuZGFsb25lOiB0cnVlfSlcclxuZXhwb3J0IGNsYXNzIEZvcm1hdEZpbHRlclZhbHVlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIGNvbnN0cnVjdG9yKCBwdWJsaWMgdGFibGVTdGF0ZTogVGFibGVTdG9yZSAsIHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlKSB7XHJcbiAgfVxyXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBrZXk6IHN0cmluZywgZmlsdGVyVHlwZTogRmlsdGVyVHlwZSk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICByZXR1cm4gdGhpcy50YWJsZVN0YXRlLmdldE1ldGFEYXRhJChrZXkpLnBpcGUoXHJcbiAgICAgIG1hcCggbWQgPT4ge1xyXG4gICAgICAgIGlmKGZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuSXNOdWxsKSB7XHJcbiAgICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKHZhbHVlICYmIChmaWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlLkluICkpe1xyXG4gICAgICAgICAgaWYobWQuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuRW51bSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdmFsdWUubWFwKCAodjogYW55KSA9PiBzcGFjZUNhc2UobWQuYWRkaXRpb25hbCEuZW51bU1hcCFbdl0pKS5qb2luKCcsICcpID8/IHZhbHVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHZhbHVlLmpvaW4oJywgJykgPz8gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuTnVtYmVyQmV0d2Vlbil7XHJcbiAgICAgICAgICByZXR1cm4gdmFsdWUuU3RhcnQgKyAnIC0gJyArIHZhbHVlLkVuZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYobWQuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuRGF0ZSl7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odmFsdWUsICdNTS9kZC95eScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihtZC5maWVsZFR5cGUgPT09IEZpZWxkVHlwZS5EYXRlVGltZSl7XHJcbiAgICAgICAgICByZXR1cm4gISFEYXRlVGltZUZpbHRlckZ1bmNzW2ZpbHRlclR5cGVdID8gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odmFsdWUsICdzaG9ydCcpIDogdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odmFsdWUsICdNTS9kZC95eScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdmFsdWVcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { spaceCase } from '../../utilities/pipes/space-case.pipes';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../classes/table-store";
|
|
6
|
+
export class KeyDisplayPipe {
|
|
7
|
+
constructor(tableState) {
|
|
8
|
+
this.tableState = tableState;
|
|
9
|
+
}
|
|
10
|
+
transform(key) {
|
|
11
|
+
return this.tableState.getMetaData$(key).pipe(map(metaData => metaData.displayName || spaceCase(key)));
|
|
12
|
+
}
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: KeyDisplayPipe, deps: [{ token: i1.TableStore }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
14
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: KeyDisplayPipe, isStandalone: true, name: "keyDisplay" }); }
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: KeyDisplayPipe, decorators: [{
|
|
17
|
+
type: Pipe,
|
|
18
|
+
args: [{ name: 'keyDisplay', standalone: true }]
|
|
19
|
+
}], ctorParameters: () => [{ type: i1.TableStore }] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWRpc3BsYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9waXBlcy9rZXktZGlzcGxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFbkUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFHckMsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUMxQyxDQUFDO0lBQ0QsU0FBUyxDQUFDLEdBQVc7UUFDbkIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzNDLEdBQUcsQ0FBRSxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ3pELENBQUM7SUFDSixDQUFDOzhHQVBVLGNBQWM7NEdBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsSUFBSTttQkFBQyxFQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGFibGVTdG9yZSB9IGZyb20gJy4uL2NsYXNzZXMvdGFibGUtc3RvcmUnO1xyXG5pbXBvcnQgeyBzcGFjZUNhc2UgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvcGlwZXMvc3BhY2UtY2FzZS5waXBlcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQFBpcGUoe25hbWU6ICdrZXlEaXNwbGF5Jywgc3RhbmRhbG9uZTogdHJ1ZX0pXHJcbmV4cG9ydCBjbGFzcyBLZXlEaXNwbGF5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIGNvbnN0cnVjdG9yKCBwdWJsaWMgdGFibGVTdGF0ZTogVGFibGVTdG9yZSkge1xyXG4gIH1cclxuICB0cmFuc2Zvcm0oa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIHRoaXMudGFibGVTdGF0ZS5nZXRNZXRhRGF0YSQoa2V5KS5waXBlKFxyXG4gICAgICBtYXAoIG1ldGFEYXRhID0+IG1ldGFEYXRhLmRpc3BsYXlOYW1lIHx8IHNwYWNlQ2FzZShrZXkpKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { first, map } from 'rxjs/operators';
|
|
3
|
+
import { combineLatest } from 'rxjs';
|
|
4
|
+
import { orderMetaData } from '../classes/table-store';
|
|
5
|
+
import { TableBuilderConfigToken } from '../classes/TableBuilderConfig';
|
|
6
|
+
import { downloadData } from '../functions/download-data';
|
|
7
|
+
import { ArrayStyle, FieldType } from '../interfaces/report-def';
|
|
8
|
+
import { isPipe } from './transform-creator';
|
|
9
|
+
import { get } from 'lodash';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "../classes/table-store";
|
|
12
|
+
import * as i2 from "@angular/common";
|
|
13
|
+
export class ExportToCsvService {
|
|
14
|
+
constructor(state, config, datePipe) {
|
|
15
|
+
this.state = state;
|
|
16
|
+
this.config = config;
|
|
17
|
+
this.datePipe = datePipe;
|
|
18
|
+
this.exportToCsv = (data) => {
|
|
19
|
+
const exportableFields$ = this.state.state$.pipe(map(mapExportableFields));
|
|
20
|
+
combineLatest([data, exportableFields$]).pipe(first(), map(([data, fields]) => this.csvData(data, fields))).subscribe(csv => downloadData(csv, 'export.csv', 'text/csv'));
|
|
21
|
+
};
|
|
22
|
+
this.csvData = (data, metaData) => {
|
|
23
|
+
const res = data.map(row => metaData.map(meta => this.metaToField(meta, row)).join(','));
|
|
24
|
+
res.unshift(metaData.map(meta => meta.displayName || meta.key).join(','));
|
|
25
|
+
return res.join('\n');
|
|
26
|
+
};
|
|
27
|
+
this.metaToField = (meta, row) => {
|
|
28
|
+
let val = get(row, meta.key);
|
|
29
|
+
if (val == null && !meta.transform)
|
|
30
|
+
return val;
|
|
31
|
+
if (meta.transform && meta.fieldType !== FieldType.Expression) {
|
|
32
|
+
const transform = meta.transform;
|
|
33
|
+
return isPipe(transform) ? transform.transform(val) : transform(val);
|
|
34
|
+
}
|
|
35
|
+
if (meta.map) {
|
|
36
|
+
return meta.map(row);
|
|
37
|
+
}
|
|
38
|
+
switch (meta.fieldType) {
|
|
39
|
+
case FieldType.Date:
|
|
40
|
+
const dateFormat = meta.additional?.export?.dateFormat || this.config?.export?.dateFormat || meta.additional?.dateFormat;
|
|
41
|
+
val = this.transform(val, dateFormat);
|
|
42
|
+
break;
|
|
43
|
+
case FieldType.DateTime:
|
|
44
|
+
const dateTimeFormat = meta.additional?.export?.dateTimeFormat || this.config?.export?.dateTimeFormat || meta.additional?.dateTimeOptions?.format;
|
|
45
|
+
val = this.transform(val, dateTimeFormat);
|
|
46
|
+
break;
|
|
47
|
+
case FieldType.String:
|
|
48
|
+
const prepend = meta.additional?.export?.prepend || this.config?.export?.prepend || '';
|
|
49
|
+
val = prepend + val;
|
|
50
|
+
break;
|
|
51
|
+
case FieldType.Array:
|
|
52
|
+
const additional = meta.additional;
|
|
53
|
+
val = val.slice(0, additional.limit).join(additional.arrayStyle === ArrayStyle.NewLine ? '\n' : ', ');
|
|
54
|
+
break;
|
|
55
|
+
case FieldType.Expression:
|
|
56
|
+
val = meta.transform(row);
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
if (typeof val === 'string' && (val.includes(',') || val.includes('"') || val.includes('\n'))) {
|
|
60
|
+
val = val.replaceAll('"', '""');
|
|
61
|
+
val = '"' + val + '"';
|
|
62
|
+
}
|
|
63
|
+
return val;
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
transform(val, dateFormat) {
|
|
67
|
+
if (this.config.transformers && this.config.transformers[FieldType.Date]) {
|
|
68
|
+
return this.config.transformers[FieldType.Date](val);
|
|
69
|
+
}
|
|
70
|
+
return this.datePipe.transform(val, dateFormat);
|
|
71
|
+
}
|
|
72
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ExportToCsvService, deps: [{ token: i1.TableStore }, { token: TableBuilderConfigToken }, { token: i2.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
73
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ExportToCsvService }); }
|
|
74
|
+
}
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ExportToCsvService, decorators: [{
|
|
76
|
+
type: Injectable
|
|
77
|
+
}], ctorParameters: () => [{ type: i1.TableStore }, { type: undefined, decorators: [{
|
|
78
|
+
type: Inject,
|
|
79
|
+
args: [TableBuilderConfigToken]
|
|
80
|
+
}] }, { type: i2.DatePipe }] });
|
|
81
|
+
export const removeFromMetaData = (state, keysToRemove) => orderMetaData(state)
|
|
82
|
+
.filter(meta => !keysToRemove.includes(meta.key));
|
|
83
|
+
export const nonExportableFields = (state) => Object.values(state.metaData)
|
|
84
|
+
.filter(md => md.noExport)
|
|
85
|
+
.map(md => md.key);
|
|
86
|
+
export const mapExportableFields = (state) => {
|
|
87
|
+
const fieldsToRemove = nonExportableFields(state)
|
|
88
|
+
.concat(state.hiddenKeys);
|
|
89
|
+
return removeFromMetaData(state, fieldsToRemove);
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LXRvLWNzdi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvc2VydmljZXMvZXhwb3J0LXRvLWNzdi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFHLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sd0JBQXdCLENBQUM7QUFDbkUsT0FBTyxFQUFzQix1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQW1CLFVBQVUsRUFBRSxTQUFTLEVBQVksTUFBTSwwQkFBMEIsQ0FBQztBQUU1RixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7OztBQUc3QixNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ1MsS0FBaUIsRUFDaUIsTUFBMEIsRUFDM0QsUUFBa0I7UUFGbkIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNpQixXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUMzRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRzVCLGdCQUFXLEdBQUcsQ0FBQyxJQUFxQixFQUFFLEVBQUU7WUFDdEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQzlDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUN6QixDQUFDO1lBRUYsYUFBYSxD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c0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaXJzdCwgbWFwICB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG9yZGVyTWV0YURhdGEsIFRhYmxlU3RvcmUgfSBmcm9tICcuLi9jbGFzc2VzL3RhYmxlLXN0b3JlJztcclxuaW1wb3J0IHsgVGFibGVCdWlsZGVyQ29uZmlnLCBUYWJsZUJ1aWxkZXJDb25maWdUb2tlbiB9IGZyb20gJy4uL2NsYXNzZXMvVGFibGVCdWlsZGVyQ29uZmlnJztcclxuaW1wb3J0IHsgZG93bmxvYWREYXRhIH0gZnJvbSAnLi4vZnVuY3Rpb25zL2Rvd25sb2FkLWRhdGEnO1xyXG5pbXBvcnQgeyBBcnJheUFkZGl0aW9uYWwsIEFycmF5U3R5bGUsIEZpZWxkVHlwZSwgTWV0YURhdGEgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3JlcG9ydC1kZWYnO1xyXG5pbXBvcnQgeyBUYWJsZVN0YXRlIH0gZnJvbSAnLi4vY2xhc3Nlcy9UYWJsZVN0YXRlJztcclxuaW1wb3J0IHsgaXNQaXBlIH0gZnJvbSAnLi90cmFuc2Zvcm0tY3JlYXRvcic7XHJcbmltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBFeHBvcnRUb0NzdlNlcnZpY2U8VD4ge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHN0YXRlOiBUYWJsZVN0b3JlLFxyXG4gICAgQEluamVjdChUYWJsZUJ1aWxkZXJDb25maWdUb2tlbikgcHJpdmF0ZSBjb25maWc6IFRhYmxlQnVpbGRlckNvbmZpZyxcclxuICAgIHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlLFxyXG4gICl7fVxyXG5cclxuICBleHBvcnRUb0NzdiA9IChkYXRhOiBPYnNlcnZhYmxlPFRbXT4pID0+IHtcclxuICAgIGNvbnN0IGV4cG9ydGFibGVGaWVsZHMkID0gdGhpcy5zdGF0ZS5zdGF0ZSQucGlwZShcclxuICAgICAgbWFwKG1hcEV4cG9ydGFibGVGaWVsZHMpXHJcbiAgICApO1xyXG5cclxuICAgIGNvbWJpbmVMYXRlc3QoW2RhdGEsZXhwb3J0YWJsZUZpZWxkcyRdKS5waXBlKFxyXG4gICAgICBmaXJzdCgpLFxyXG4gICAgICBtYXAoKFtkYXRhLGZpZWxkc10pID0+IHRoaXMuY3N2RGF0YShkYXRhLGZpZWxkcykpLFxyXG4gICAgKS5zdWJzY3JpYmUoY3N2ID0+IGRvd25sb2FkRGF0YShjc3YsJ2V4cG9ydC5jc3YnLCd0ZXh0L2NzdicpICk7XHJcbiAgfVxyXG5cclxuICBjc3ZEYXRhID0gKGRhdGE6QXJyYXk8VD4sIG1ldGFEYXRhOiBNZXRhRGF0YTxUPltdKSA9PiB7XHJcbiAgICBjb25zdCByZXMgPSBkYXRhLm1hcChyb3cgPT4gbWV0YURhdGEubWFwKG1ldGEgPT4gdGhpcy5tZXRhVG9GaWVsZChtZXRhLCByb3cpKS5qb2luKCcsJykpO1xyXG4gICAgcmVzLnVuc2hpZnQobWV0YURhdGEubWFwKG1ldGEgPT4gbWV0YS5kaXNwbGF5TmFtZSB8fCBtZXRhLmtleSkuam9pbignLCcpKTtcclxuICAgIHJldHVybiByZXMuam9pbignXFxuJyk7XHJcbiAgfVxyXG5cclxuICBtZXRhVG9GaWVsZCA9IChtZXRhOiBNZXRhRGF0YTxUPiwgcm93OiBUKSA9PiB7XHJcbiAgICBsZXQgdmFsOiBhbnkgPSBnZXQoIHJvdyxtZXRhLmtleSk7XHJcbiAgICBpZiAodmFsID09IG51bGwgJiYgIW1ldGEudHJhbnNmb3JtKSByZXR1cm4gdmFsXHJcbiAgICBpZihtZXRhLnRyYW5zZm9ybSAmJiBtZXRhLmZpZWxkVHlwZSAhPT0gRmllbGRUeXBlLkV4cHJlc3Npb24pe1xyXG4gICAgICBjb25zdCB0cmFuc2Zvcm0gPSBtZXRhLnRyYW5zZm9ybSBhcyBhbnk7XHJcbiAgICAgIHJldHVybiAgaXNQaXBlKHRyYW5zZm9ybSkgPyB0cmFuc2Zvcm0udHJhbnNmb3JtKHZhbCkgOiB0cmFuc2Zvcm0odmFsKTtcclxuICAgIH1cclxuICAgIGlmKG1ldGEubWFwKXtcclxuICAgICAgcmV0dXJuIG1ldGEubWFwKHJvdyk7XHJcbiAgICB9XHJcbiAgICBzd2l0Y2ggKG1ldGEuZmllbGRUeXBlKSB7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGU6XHJcbiAgICAgICAgY29uc3QgZGF0ZUZvcm1hdCA9IG1ldGEuYWRkaXRpb25hbD8uZXhwb3J0Py5kYXRlRm9ybWF0IHx8IHRoaXMuY29uZmlnPy5leHBvcnQ/LmRhdGVGb3JtYXQgfHwgbWV0YS5hZGRpdGlvbmFsPy5kYXRlRm9ybWF0O1xyXG4gICAgICAgIHZhbCA9IHRoaXMudHJhbnNmb3JtKHZhbCwgZGF0ZUZvcm1hdCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGVUaW1lOlxyXG4gICAgICAgIGNvbnN0IGRhdGVUaW1lRm9ybWF0ID0gbWV0YS5hZGRpdGlvbmFsPy5leHBvcnQ/LmRhdGVUaW1lRm9ybWF0IHx8IHRoaXMuY29uZmlnPy5leHBvcnQ/LmRhdGVUaW1lRm9ybWF0IHx8IG1ldGEuYWRkaXRpb25hbD8uZGF0ZVRpbWVPcHRpb25zPy5mb3JtYXQ7XHJcbiAgICAgICAgdmFsID0gdGhpcy50cmFuc2Zvcm0odmFsLCBkYXRlVGltZUZvcm1hdCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlLlN0cmluZzpcclxuICAgICAgICBjb25zdCBwcmVwZW5kOiBzdHJpbmcgPSBtZXRhLmFkZGl0aW9uYWw/LmV4cG9ydD8ucHJlcGVuZCB8fCB0aGlzLmNvbmZpZz8uZXhwb3J0Py5wcmVwZW5kIHx8ICcnO1xyXG4gICAgICAgIHZhbCA9IHByZXBlbmQgKyB2YWw7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlLkFycmF5OlxyXG4gICAgICAgIGNvbnN0IGFkZGl0aW9uYWwgPSBtZXRhLmFkZGl0aW9uYWwgYXMgQXJyYXlBZGRpdGlvbmFsO1xyXG4gICAgICAgIHZhbCA9ICh2YWwgYXMgQXJyYXk8c3RyaW5nPikuc2xpY2UoMCxhZGRpdGlvbmFsLmxpbWl0KS5qb2luKGFkZGl0aW9uYWwuYXJyYXlTdHlsZSA9PT0gQXJyYXlTdHlsZS5OZXdMaW5lID8gJ1xcbicgOiAnLCAnKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuRXhwcmVzc2lvbjpcclxuICAgICAgICB2YWwgPSAobWV0YS50cmFuc2Zvcm0gYXMgYW55KShyb3cpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnICYmICh2YWwuaW5jbHVkZXMoJywnKSB8fCB2YWwuaW5jbHVkZXMoJ1wiJykgfHwgdmFsLmluY2x1ZGVzKCdcXG4nKSkpIHtcclxuICAgICAgdmFsID0gdmFsLnJlcGxhY2VBbGwoJ1wiJywgJ1wiXCInKTtcclxuICAgICAgdmFsID0gJ1wiJyArIHZhbCArICdcIic7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0cmFuc2Zvcm0odmFsOiBhbnksIGRhdGVGb3JtYXQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnLnRyYW5zZm9ybWVycyAmJiB0aGlzLmNvbmZpZy50cmFuc2Zvcm1lcnNbRmllbGRUeXBlLkRhdGVdKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbmZpZy50cmFuc2Zvcm1lcnNbRmllbGRUeXBlLkRhdGVdISh2YWwpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHZhbCwgZGF0ZUZvcm1hdCk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgcmVtb3ZlRnJvbU1ldGFEYXRhID0gKHN0YXRlOiBUYWJsZVN0YXRlLCBrZXlzVG9SZW1vdmU6IHN0cmluZ1tdKSA9PlxyXG4gICAgb3JkZXJNZXRhRGF0YShzdGF0ZSlcclxuICAuZmlsdGVyKCBtZXRhID0+ICFrZXlzVG9SZW1vdmUuaW5jbHVkZXMobWV0YS5rZXkpKTtcclxuXHJcblxyXG5leHBvcnQgY29uc3Qgbm9uRXhwb3J0YWJsZUZpZWxkcyA9IChzdGF0ZTogVGFibGVTdGF0ZSkgPT4gT2JqZWN0LnZhbHVlcyggc3RhdGUubWV0YURhdGEpXHJcbiAgLmZpbHRlcihtZCA9PiBtZC5ub0V4cG9ydCApXHJcbiAgLm1hcCggbWQgPT4gbWQua2V5ICk7XHJcblxyXG5leHBvcnQgY29uc3QgbWFwRXhwb3J0YWJsZUZpZWxkcyA9IChzdGF0ZTogVGFibGVTdGF0ZSkgPT4ge1xyXG4gIGNvbnN0IGZpZWxkc1RvUmVtb3ZlID0gbm9uRXhwb3J0YWJsZUZpZWxkcyhzdGF0ZSlcclxuICAgIC5jb25jYXQoc3RhdGUuaGlkZGVuS2V5cyk7XHJcbiAgIHJldHVybiByZW1vdmVGcm9tTWV0YURhdGEoc3RhdGUsIGZpZWxkc1RvUmVtb3ZlKTtcclxufVxyXG4iXX0=
|