@trudb/tru-common-lib 0.0.725 → 0.0.728
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/{esm2020 → esm2022}/lib/assets/tru-icon-module.mjs +32 -32
- package/{esm2020 → esm2022}/lib/assets/tru-search-icon-module.mjs +36 -36
- package/{esm2020 → esm2022}/lib/base-classes/tru-component-config-base.mjs +3 -3
- package/{esm2020 → esm2022}/lib/base-classes/tru-control-component-config-base.mjs +3 -3
- package/{esm2020 → esm2022}/lib/base-classes/tru-edit-control-base.mjs +17 -17
- package/esm2022/lib/base-classes/tru-edit-control-config-base.mjs +6 -0
- package/{esm2020 → esm2022}/lib/base-classes/tru-edit-parent-control-config-base.mjs +3 -3
- package/{esm2020 → esm2022}/lib/base-classes/tru-edit-pkey-control-config-base.mjs +3 -3
- package/esm2022/lib/base-classes/tru-entity-base.mjs +14 -0
- package/esm2022/lib/base-classes/tru-list-control-config-base.mjs +6 -0
- package/{esm2020 → esm2022}/lib/base-classes/tru-property-config-base.mjs +14 -15
- package/{esm2020 → esm2022}/lib/base-classes/tru-search-config-base.mjs +3 -3
- package/esm2022/lib/base-classes/tru-search-control-base.mjs +45 -0
- package/esm2022/lib/base-classes/tru-search-control-config-base.mjs +5 -0
- package/esm2022/lib/base-classes/tru-search-control-range-base.mjs +45 -0
- package/esm2022/lib/base-classes/tru-table-config-base.mjs +12 -0
- package/{esm2020 → esm2022}/lib/base-views/detail/tru-detail-view-base-module.mjs +19 -19
- package/esm2022/lib/base-views/detail/tru-detail-view-base.mjs +83 -0
- package/esm2022/lib/base-views/search/services/tru-search-view-control-event-handler.mjs +25 -0
- package/esm2022/lib/base-views/search/services/tru-search-view-event-handler.mjs +25 -0
- package/{esm2020 → esm2022}/lib/base-views/search/tru-search-view-base-module.mjs +19 -19
- package/esm2022/lib/base-views/search/tru-search-view-base.mjs +68 -0
- package/{esm2020 → esm2022}/lib/base-views/search-result/tru-search-result-view-base-module.mjs +19 -19
- package/esm2022/lib/base-views/search-result/tru-search-result-view-base.mjs +54 -0
- package/{esm2020 → esm2022}/lib/classes/tru-choice.mjs +2 -2
- package/esm2022/lib/classes/tru-context-filter-choice.mjs +11 -0
- package/esm2022/lib/classes/tru-context-filter.mjs +16 -0
- package/esm2022/lib/classes/tru-data-change-parser.mjs +287 -0
- package/esm2022/lib/classes/tru-data-change.mjs +5 -0
- package/{esm2020 → esm2022}/lib/classes/tru-formula-eval.mjs +156 -156
- package/esm2022/lib/classes/tru-merge-data-set.mjs +11 -0
- package/esm2022/lib/classes/tru-merge-data.mjs +20 -0
- package/{esm2020 → esm2022}/lib/classes/tru-name-value.mjs +2 -2
- package/esm2022/lib/classes/tru-predicate.mjs +47 -0
- package/{esm2020 → esm2022}/lib/classes/tru-property-config-cloud-file.mjs +4 -4
- package/esm2022/lib/classes/tru-property-config-date.mjs +7 -0
- package/esm2022/lib/classes/tru-property-config-decimal.mjs +9 -0
- package/{esm2020 → esm2022}/lib/classes/tru-property-config-file.mjs +6 -8
- package/esm2022/lib/classes/tru-property-config-foreign-key.mjs +8 -0
- package/esm2022/lib/classes/tru-property-config-integer.mjs +7 -0
- package/esm2022/lib/classes/tru-property-config-password.mjs +6 -0
- package/esm2022/lib/classes/tru-property-config-percentage.mjs +7 -0
- package/esm2022/lib/classes/tru-property-config-scientific.mjs +7 -0
- package/{esm2020 → esm2022}/lib/classes/tru-property-config-text-choices.mjs +6 -8
- package/{esm2020 → esm2022}/lib/classes/tru-property-config-text.mjs +8 -10
- package/{esm2020 → esm2022}/lib/classes/tru-property-config-usa-address.mjs +6 -8
- package/{esm2020 → esm2022}/lib/classes/tru-property-config-zip-code.mjs +6 -8
- package/esm2022/lib/classes/tru-query-predicate-manager.mjs +49 -0
- package/{esm2020 → esm2022}/lib/components/confirm-dialog/tru-confirm-dialog-module.mjs +20 -20
- package/esm2022/lib/components/confirm-dialog/tru-confirm-dialog.mjs +59 -0
- package/{esm2020 → esm2022}/lib/components/data-grid/classes/tru-data-grid-config.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/data-grid/enums/tru-data-grid-types.mjs +6 -6
- package/esm2022/lib/components/data-grid/overlays/tru-data-grid-loading-overlay/tru-data-grid-loading-overlay.mjs +40 -0
- package/esm2022/lib/components/data-grid/overlays/tru-data-grid-no-rows-overlay/tru-data-grid-no-rows-overlay.mjs +27 -0
- package/esm2022/lib/components/data-grid/tru-data-grid-module.mjs +67 -0
- package/esm2022/lib/components/data-grid/tru-data-grid.mjs +382 -0
- package/{esm2020 → esm2022}/lib/components/desktop/classes/tru-desktop-title.mjs +2 -2
- package/esm2022/lib/components/desktop/classes/tru-desktop-view-config.mjs +21 -0
- package/{esm2020 → esm2022}/lib/components/desktop/directives/resizable/tru-desktop-resizable-module.mjs +19 -19
- package/esm2022/lib/components/desktop/directives/resizable/tru-desktop-resizable.mjs +122 -0
- package/{esm2020 → esm2022}/lib/components/desktop/menubar/tru-desktop-menubar-module.mjs +56 -56
- package/esm2022/lib/components/desktop/menubar/tru-desktop-menubar.mjs +36 -0
- package/esm2022/lib/components/desktop/services/tru-desktop-manager.mjs +86 -0
- package/esm2022/lib/components/desktop/services/tru-desktop-service.mjs +108 -0
- package/esm2022/lib/components/desktop/services/tru-window-action-event-handler.mjs +25 -0
- package/esm2022/lib/components/desktop/services/tru-window-event-args.mjs +24 -0
- package/esm2022/lib/components/desktop/services/tru-window-event-handler.mjs +42 -0
- package/{esm2020 → esm2022}/lib/components/desktop/statusbar/tru-desktop-statusbar-module.mjs +19 -19
- package/esm2022/lib/components/desktop/statusbar/tru-desktop-statusbar.mjs +20 -0
- package/{esm2020 → esm2022}/lib/components/desktop/taskbar/tru-desktop-taskbar-module.mjs +21 -21
- package/esm2022/lib/components/desktop/taskbar/tru-desktop-taskbar.mjs +41 -0
- package/{esm2020 → esm2022}/lib/components/desktop/tru-desktop-module.mjs +72 -72
- package/esm2022/lib/components/desktop/tru-desktop.mjs +737 -0
- package/{esm2020 → esm2022}/lib/components/desktop/view/tru-desktop-view-module.mjs +19 -19
- package/esm2022/lib/components/desktop/view/tru-desktop-view.mjs +29 -0
- package/{esm2020 → esm2022}/lib/components/desktop/viewport/tru-desktop-viewport-module.mjs +20 -20
- package/esm2022/lib/components/desktop/viewport/tru-desktop-viewport.mjs +117 -0
- package/{esm2020 → esm2022}/lib/components/desktop/window/tru-desktop-window-module.mjs +58 -58
- package/esm2022/lib/components/desktop/window/tru-desktop-window.mjs +467 -0
- package/{esm2020 → esm2022}/lib/components/export-dialog/tru-export-dialog-module.mjs +20 -20
- package/esm2022/lib/components/export-dialog/tru-export-dialog.mjs +61 -0
- package/{esm2020 → esm2022}/lib/components/layout/column/tru-column-module.mjs +19 -19
- package/{esm2020 → esm2022}/lib/components/layout/column/tru-column.mjs +12 -12
- package/{esm2020 → esm2022}/lib/components/layout/form/tru-form-module.mjs +19 -19
- package/esm2022/lib/components/layout/form/tru-form.mjs +35 -0
- package/{esm2020 → esm2022}/lib/components/layout/group-box/tru-group-box-module.mjs +19 -19
- package/{esm2020 → esm2022}/lib/components/layout/group-box/tru-group-box.mjs +12 -12
- package/{esm2020 → esm2022}/lib/components/layout/row/tru-row-module.mjs +19 -19
- package/{esm2020 → esm2022}/lib/components/layout/row/tru-row.mjs +12 -12
- package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-config.mjs +7 -7
- package/esm2022/lib/components/login/classes/tru-auth-jwt-strategy.mjs +63 -0
- package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-login-request.mjs +5 -3
- package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-logout-request.mjs +4 -3
- package/esm2022/lib/components/login/classes/tru-auth-session-strategy.mjs +21 -0
- package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-strategy-provider.mjs +19 -19
- package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-token.mjs +11 -8
- package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-user-request.mjs +4 -3
- package/esm2022/lib/components/login/services/tru-auth-cache.mjs +20 -0
- package/esm2022/lib/components/login/services/tru-auth-interceptor.mjs +46 -0
- package/esm2022/lib/components/login/services/tru-auth.mjs +87 -0
- package/esm2022/lib/components/login/tru-login-module.mjs +46 -0
- package/esm2022/lib/components/login/tru-login.mjs +59 -0
- package/{esm2020 → esm2022}/lib/components/password-dialog/tru-password-dialog-module.mjs +20 -20
- package/esm2022/lib/components/password-dialog/tru-password-dialog.mjs +53 -0
- package/{esm2020 → esm2022}/lib/components/toolbar/button/tru-toolbar-button-module.mjs +32 -32
- package/esm2022/lib/components/toolbar/button/tru-toolbar-button.mjs +40 -0
- package/{esm2020 → esm2022}/lib/components/toolbar/classes/tru-toolbar-dropdown-option.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/toolbar/context-filter/tru-toolbar-context-filter-module.mjs +44 -44
- package/esm2022/lib/components/toolbar/context-filter/tru-toolbar-context-filter.mjs +26 -0
- package/{esm2020 → esm2022}/lib/components/toolbar/dropdown/tru-toolbar-dropdown-module.mjs +36 -36
- package/esm2022/lib/components/toolbar/dropdown/tru-toolbar-dropdown.mjs +45 -0
- package/{esm2020 → esm2022}/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button-module.mjs +19 -19
- package/esm2022/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button.mjs +17 -0
- package/{esm2020 → esm2022}/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item-module.mjs +19 -19
- package/esm2022/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item.mjs +26 -0
- package/{esm2020 → esm2022}/lib/components/toolbar/menu/tru-toolbar-menu-module.mjs +32 -32
- package/esm2022/lib/components/toolbar/menu/tru-toolbar-menu.mjs +33 -0
- package/{esm2020 → esm2022}/lib/components/toolbar/separator/tru-toolbar-separator-module.mjs +19 -19
- package/{esm2020 → esm2022}/lib/components/toolbar/separator/tru-toolbar-separator.mjs +12 -12
- package/{esm2020 → esm2022}/lib/components/toolbar/text/tru-toolbar-text-module.mjs +32 -32
- package/esm2022/lib/components/toolbar/text/tru-toolbar-text.mjs +27 -0
- package/{esm2020 → esm2022}/lib/components/toolbar/tru-toolbar-module.mjs +73 -73
- package/{esm2020 → esm2022}/lib/components/toolbar/tru-toolbar.mjs +20 -21
- package/{esm2020 → esm2022}/lib/components/toolbar/user-profile/tru-toolbar-user-profile-module.mjs +36 -36
- package/esm2022/lib/components/toolbar/user-profile/tru-toolbar-user-profile.mjs +38 -0
- package/esm2022/lib/components/validation-dialog/tru-validation-dialog-config.mjs +25 -0
- package/{esm2020 → esm2022}/lib/components/validation-dialog/tru-validation-dialog-module.mjs +19 -19
- package/esm2022/lib/components/validation-dialog/tru-validation-dialog.mjs +83 -0
- package/{esm2020 → esm2022}/lib/directives/breeze-validator/tru-breeze-validator-module.mjs +19 -19
- package/esm2022/lib/directives/breeze-validator/tru-breeze-validator.mjs +107 -0
- package/{esm2020 → esm2022}/lib/directives/search-panel-position-manager/tru-search-panel-position-manager-module.mjs +19 -19
- package/esm2022/lib/directives/search-panel-position-manager/tru-search-panel-position-manager.mjs +155 -0
- package/{esm2020 → esm2022}/lib/directives/select-panel/tru-mat-select-panel-module.mjs +19 -19
- package/esm2022/lib/directives/select-panel/tru-mat-select-panel.mjs +69 -0
- package/{esm2020 → esm2022}/lib/interfaces/tru-value.mjs +1 -1
- package/{esm2020 → esm2022}/lib/material.module.mjs +192 -192
- package/esm2022/lib/services/tru-app-environment.mjs +113 -0
- package/esm2022/lib/services/tru-breeze-context-factory.mjs +84 -0
- package/esm2022/lib/services/tru-breeze-metadata-provider.mjs +21 -0
- package/esm2022/lib/services/tru-component-lookup.mjs +23 -0
- package/esm2022/lib/services/tru-connection-hub.mjs +52 -0
- package/esm2022/lib/services/tru-context-filters.mjs +28 -0
- package/esm2022/lib/services/tru-data-context.mjs +263 -0
- package/esm2022/lib/services/tru-entity-accessor.mjs +292 -0
- package/esm2022/lib/services/tru-model-property-lookup.mjs +21 -0
- package/{esm2020 → esm2022}/lib/services/tru-predicate-map.mjs +11 -11
- package/esm2022/lib/services/tru-search-result-view-manager.mjs +18 -0
- package/esm2022/lib/services/tru-sort.mjs +113 -0
- package/esm2022/lib/services/tru-table-registry.mjs +15 -0
- package/esm2022/lib/services/tru-text-manager.mjs +148 -0
- package/esm2022/lib/services/tru-ui-notification.mjs +107 -0
- package/esm2022/lib/services/tru-user.mjs +62 -0
- package/esm2022/lib/services/tru-util.mjs +76 -0
- package/{esm2020 → esm2022}/lib/tru-common-module.mjs +16 -16
- package/{esm2020 → esm2022}/public-api.mjs +144 -144
- package/{esm2020 → esm2022}/trudb-tru-common-lib.mjs +4 -4
- package/fesm2022/trudb-tru-common-lib.mjs +6932 -0
- package/fesm2022/trudb-tru-common-lib.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/assets/tru-icon-module.d.ts +11 -11
- package/lib/assets/tru-search-icon-module.d.ts +11 -11
- package/lib/base-classes/tru-component-config-base.d.ts +3 -3
- package/lib/base-classes/tru-control-component-config-base.d.ts +20 -20
- package/lib/base-classes/tru-edit-control-base.d.ts +10 -10
- package/lib/base-classes/tru-edit-control-config-base.d.ts +21 -21
- package/lib/base-classes/tru-edit-parent-control-config-base.d.ts +9 -9
- package/lib/base-classes/tru-edit-pkey-control-config-base.d.ts +11 -11
- package/lib/base-classes/tru-entity-base.d.ts +14 -14
- package/lib/base-classes/tru-list-control-config-base.d.ts +21 -21
- package/lib/base-classes/tru-property-config-base.d.ts +13 -13
- package/lib/base-classes/tru-search-config-base.d.ts +9 -9
- package/lib/base-classes/tru-search-control-base.d.ts +21 -21
- package/lib/base-classes/tru-search-control-config-base.d.ts +13 -13
- package/lib/base-classes/tru-search-control-range-base.d.ts +25 -25
- package/lib/base-classes/tru-table-config-base.d.ts +11 -11
- package/lib/base-views/detail/tru-detail-view-base-module.d.ts +9 -9
- package/lib/base-views/detail/tru-detail-view-base.d.ts +32 -32
- package/lib/base-views/search/services/tru-search-view-control-event-handler.d.ts +12 -12
- package/lib/base-views/search/services/tru-search-view-event-handler.d.ts +11 -11
- package/lib/base-views/search/tru-search-view-base-module.d.ts +9 -9
- package/lib/base-views/search/tru-search-view-base.d.ts +36 -36
- package/lib/base-views/search-result/tru-search-result-view-base-module.d.ts +9 -9
- package/lib/base-views/search-result/tru-search-result-view-base.d.ts +25 -25
- package/lib/classes/tru-choice.d.ts +8 -8
- package/lib/classes/tru-context-filter-choice.d.ts +6 -6
- package/lib/classes/tru-context-filter.d.ts +10 -10
- package/lib/classes/tru-data-change-parser.d.ts +33 -33
- package/lib/classes/tru-data-change.d.ts +4 -4
- package/lib/classes/tru-formula-eval.d.ts +31 -31
- package/lib/classes/tru-merge-data-set.d.ts +7 -7
- package/lib/classes/tru-merge-data.d.ts +9 -9
- package/lib/classes/tru-name-value.d.ts +9 -9
- package/lib/classes/tru-predicate.d.ts +8 -8
- package/lib/classes/tru-property-config-cloud-file.d.ts +4 -4
- package/lib/classes/tru-property-config-date.d.ts +6 -6
- package/lib/classes/tru-property-config-decimal.d.ts +8 -8
- package/lib/classes/tru-property-config-file.d.ts +5 -5
- package/lib/classes/tru-property-config-foreign-key.d.ts +7 -7
- package/lib/classes/tru-property-config-integer.d.ts +6 -6
- package/lib/classes/tru-property-config-password.d.ts +5 -5
- package/lib/classes/tru-property-config-percentage.d.ts +6 -6
- package/lib/classes/tru-property-config-scientific.d.ts +6 -6
- package/lib/classes/tru-property-config-text-choices.d.ts +5 -5
- package/lib/classes/tru-property-config-text.d.ts +7 -7
- package/lib/classes/tru-property-config-usa-address.d.ts +5 -5
- package/lib/classes/tru-property-config-zip-code.d.ts +5 -5
- package/lib/classes/tru-query-predicate-manager.d.ts +26 -26
- package/lib/components/confirm-dialog/tru-confirm-dialog-module.d.ts +10 -10
- package/lib/components/confirm-dialog/tru-confirm-dialog.d.ts +28 -28
- package/lib/components/data-grid/classes/tru-data-grid-config.d.ts +7 -7
- package/lib/components/data-grid/enums/tru-data-grid-types.d.ts +5 -5
- package/lib/components/data-grid/overlays/tru-data-grid-loading-overlay/tru-data-grid-loading-overlay.d.ts +13 -13
- package/lib/components/data-grid/overlays/tru-data-grid-no-rows-overlay/tru-data-grid-no-rows-overlay.d.ts +13 -13
- package/lib/components/data-grid/tru-data-grid-module.d.ts +15 -15
- package/lib/components/data-grid/tru-data-grid.d.ts +67 -67
- package/lib/components/desktop/classes/tru-desktop-title.d.ts +4 -4
- package/lib/components/desktop/classes/tru-desktop-view-config.d.ts +16 -16
- package/lib/components/desktop/directives/resizable/tru-desktop-resizable-module.d.ts +9 -9
- package/lib/components/desktop/directives/resizable/tru-desktop-resizable.d.ts +32 -32
- package/lib/components/desktop/menubar/tru-desktop-menubar-module.d.ts +17 -17
- package/lib/components/desktop/menubar/tru-desktop-menubar.d.ts +15 -15
- package/lib/components/desktop/services/tru-desktop-manager.d.ts +33 -33
- package/lib/components/desktop/services/tru-desktop-service.d.ts +95 -95
- package/lib/components/desktop/services/tru-window-action-event-handler.d.ts +12 -12
- package/lib/components/desktop/services/tru-window-event-args.d.ts +17 -17
- package/lib/components/desktop/services/tru-window-event-handler.d.ts +20 -20
- package/lib/components/desktop/statusbar/tru-desktop-statusbar-module.d.ts +9 -9
- package/lib/components/desktop/statusbar/tru-desktop-statusbar.d.ts +10 -10
- package/lib/components/desktop/taskbar/tru-desktop-taskbar-module.d.ts +11 -11
- package/lib/components/desktop/taskbar/tru-desktop-taskbar.d.ts +15 -15
- package/lib/components/desktop/tru-desktop-module.d.ts +20 -20
- package/lib/components/desktop/tru-desktop.d.ts +337 -337
- package/lib/components/desktop/view/tru-desktop-view-module.d.ts +9 -9
- package/lib/components/desktop/view/tru-desktop-view.d.ts +14 -14
- package/lib/components/desktop/viewport/tru-desktop-viewport-module.d.ts +10 -10
- package/lib/components/desktop/viewport/tru-desktop-viewport.d.ts +48 -48
- package/lib/components/desktop/window/tru-desktop-window-module.d.ts +17 -17
- package/lib/components/desktop/window/tru-desktop-window.d.ts +189 -189
- package/lib/components/export-dialog/tru-export-dialog-module.d.ts +10 -10
- package/lib/components/export-dialog/tru-export-dialog.d.ts +26 -26
- package/lib/components/layout/column/tru-column-module.d.ts +9 -9
- package/lib/components/layout/column/tru-column.d.ts +6 -6
- package/lib/components/layout/form/tru-form-module.d.ts +9 -9
- package/lib/components/layout/form/tru-form.d.ts +10 -10
- package/lib/components/layout/group-box/tru-group-box-module.d.ts +9 -9
- package/lib/components/layout/group-box/tru-group-box.d.ts +6 -6
- package/lib/components/layout/row/tru-row-module.d.ts +9 -9
- package/lib/components/layout/row/tru-row.d.ts +6 -6
- package/lib/components/login/classes/tru-auth-config.d.ts +16 -16
- package/lib/components/login/classes/tru-auth-jwt-strategy.d.ts +15 -15
- package/lib/components/login/classes/tru-auth-login-request.d.ts +4 -4
- package/lib/components/login/classes/tru-auth-logout-request.d.ts +3 -3
- package/lib/components/login/classes/tru-auth-session-strategy.d.ts +13 -13
- package/lib/components/login/classes/tru-auth-strategy-provider.d.ts +9 -9
- package/lib/components/login/classes/tru-auth-token.d.ts +6 -6
- package/lib/components/login/classes/tru-auth-user-request.d.ts +3 -3
- package/lib/components/login/services/tru-auth-cache.d.ts +11 -11
- package/lib/components/login/services/tru-auth-interceptor.d.ts +16 -16
- package/lib/components/login/services/tru-auth.d.ts +29 -29
- package/lib/components/login/tru-login-module.d.ts +11 -11
- package/lib/components/login/tru-login.d.ts +21 -21
- package/lib/components/password-dialog/tru-password-dialog-module.d.ts +10 -10
- package/lib/components/password-dialog/tru-password-dialog.d.ts +24 -23
- package/lib/components/toolbar/button/tru-toolbar-button-module.d.ts +11 -11
- package/lib/components/toolbar/button/tru-toolbar-button.d.ts +16 -16
- package/lib/components/toolbar/classes/tru-toolbar-dropdown-option.d.ts +4 -4
- package/lib/components/toolbar/context-filter/tru-toolbar-context-filter-module.d.ts +14 -14
- package/lib/components/toolbar/context-filter/tru-toolbar-context-filter.d.ts +13 -13
- package/lib/components/toolbar/dropdown/tru-toolbar-dropdown-module.d.ts +12 -12
- package/lib/components/toolbar/dropdown/tru-toolbar-dropdown.d.ts +18 -18
- package/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button-module.d.ts +9 -9
- package/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button.d.ts +7 -7
- package/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item-module.d.ts +9 -9
- package/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item.d.ts +8 -8
- package/lib/components/toolbar/menu/tru-toolbar-menu-module.d.ts +11 -11
- package/lib/components/toolbar/menu/tru-toolbar-menu.d.ts +10 -10
- package/lib/components/toolbar/separator/tru-toolbar-separator-module.d.ts +9 -9
- package/lib/components/toolbar/separator/tru-toolbar-separator.d.ts +6 -6
- package/lib/components/toolbar/text/tru-toolbar-text-module.d.ts +11 -11
- package/lib/components/toolbar/text/tru-toolbar-text.d.ts +12 -12
- package/lib/components/toolbar/tru-toolbar-module.d.ts +16 -16
- package/lib/components/toolbar/tru-toolbar.d.ts +9 -9
- package/lib/components/toolbar/user-profile/tru-toolbar-user-profile-module.d.ts +12 -12
- package/lib/components/toolbar/user-profile/tru-toolbar-user-profile.d.ts +17 -17
- package/lib/components/validation-dialog/tru-validation-dialog-config.d.ts +13 -13
- package/lib/components/validation-dialog/tru-validation-dialog-module.d.ts +9 -9
- package/lib/components/validation-dialog/tru-validation-dialog.d.ts +20 -20
- package/lib/directives/breeze-validator/tru-breeze-validator-module.d.ts +9 -9
- package/lib/directives/breeze-validator/tru-breeze-validator.d.ts +27 -27
- package/lib/directives/search-panel-position-manager/tru-search-panel-position-manager-module.d.ts +9 -9
- package/lib/directives/search-panel-position-manager/tru-search-panel-position-manager.d.ts +40 -40
- package/lib/directives/select-panel/tru-mat-select-panel-module.d.ts +9 -9
- package/lib/directives/select-panel/tru-mat-select-panel.d.ts +17 -17
- package/lib/interfaces/tru-value.d.ts +6 -6
- package/lib/material.module.d.ts +50 -50
- package/lib/services/tru-app-environment.d.ts +57 -57
- package/lib/services/tru-breeze-context-factory.d.ts +32 -32
- package/lib/services/tru-breeze-metadata-provider.d.ts +9 -9
- package/lib/services/tru-component-lookup.d.ts +9 -9
- package/lib/services/tru-connection-hub.d.ts +18 -18
- package/lib/services/tru-context-filters.d.ts +10 -10
- package/lib/services/tru-data-context.d.ts +42 -42
- package/lib/services/tru-entity-accessor.d.ts +46 -46
- package/lib/services/tru-model-property-lookup.d.ts +10 -10
- package/lib/services/tru-predicate-map.d.ts +6 -6
- package/lib/services/tru-search-result-view-manager.d.ts +10 -10
- package/lib/services/tru-sort.d.ts +56 -56
- package/lib/services/tru-table-registry.d.ts +8 -8
- package/lib/services/tru-text-manager.d.ts +68 -68
- package/lib/services/tru-ui-notification.d.ts +36 -36
- package/lib/services/tru-user.d.ts +29 -29
- package/lib/services/tru-util.d.ts +14 -14
- package/lib/tru-common-module.d.ts +6 -6
- package/package.json +5 -11
- package/public-api.d.ts +117 -117
- package/esm2020/lib/base-classes/tru-edit-control-config-base.mjs +0 -4
- package/esm2020/lib/base-classes/tru-entity-base.mjs +0 -13
- package/esm2020/lib/base-classes/tru-list-control-config-base.mjs +0 -4
- package/esm2020/lib/base-classes/tru-search-control-base.mjs +0 -47
- package/esm2020/lib/base-classes/tru-search-control-config-base.mjs +0 -4
- package/esm2020/lib/base-classes/tru-search-control-range-base.mjs +0 -47
- package/esm2020/lib/base-classes/tru-table-config-base.mjs +0 -13
- package/esm2020/lib/base-views/detail/tru-detail-view-base.mjs +0 -76
- package/esm2020/lib/base-views/search/services/tru-search-view-control-event-handler.mjs +0 -27
- package/esm2020/lib/base-views/search/services/tru-search-view-event-handler.mjs +0 -27
- package/esm2020/lib/base-views/search/tru-search-view-base.mjs +0 -63
- package/esm2020/lib/base-views/search-result/tru-search-result-view-base.mjs +0 -51
- package/esm2020/lib/classes/tru-context-filter-choice.mjs +0 -8
- package/esm2020/lib/classes/tru-context-filter.mjs +0 -16
- package/esm2020/lib/classes/tru-data-change-parser.mjs +0 -277
- package/esm2020/lib/classes/tru-data-change.mjs +0 -7
- package/esm2020/lib/classes/tru-merge-data-set.mjs +0 -12
- package/esm2020/lib/classes/tru-merge-data.mjs +0 -17
- package/esm2020/lib/classes/tru-predicate.mjs +0 -47
- package/esm2020/lib/classes/tru-property-config-date.mjs +0 -9
- package/esm2020/lib/classes/tru-property-config-decimal.mjs +0 -11
- package/esm2020/lib/classes/tru-property-config-foreign-key.mjs +0 -10
- package/esm2020/lib/classes/tru-property-config-integer.mjs +0 -9
- package/esm2020/lib/classes/tru-property-config-password.mjs +0 -8
- package/esm2020/lib/classes/tru-property-config-percentage.mjs +0 -9
- package/esm2020/lib/classes/tru-property-config-scientific.mjs +0 -9
- package/esm2020/lib/classes/tru-query-predicate-manager.mjs +0 -49
- package/esm2020/lib/components/confirm-dialog/tru-confirm-dialog.mjs +0 -45
- package/esm2020/lib/components/data-grid/overlays/tru-data-grid-loading-overlay/tru-data-grid-loading-overlay.mjs +0 -39
- package/esm2020/lib/components/data-grid/overlays/tru-data-grid-no-rows-overlay/tru-data-grid-no-rows-overlay.mjs +0 -26
- package/esm2020/lib/components/data-grid/tru-data-grid-module.mjs +0 -67
- package/esm2020/lib/components/data-grid/tru-data-grid.mjs +0 -370
- package/esm2020/lib/components/desktop/classes/tru-desktop-view-config.mjs +0 -21
- package/esm2020/lib/components/desktop/directives/resizable/tru-desktop-resizable.mjs +0 -109
- package/esm2020/lib/components/desktop/menubar/tru-desktop-menubar.mjs +0 -34
- package/esm2020/lib/components/desktop/services/tru-desktop-manager.mjs +0 -84
- package/esm2020/lib/components/desktop/services/tru-desktop-service.mjs +0 -116
- package/esm2020/lib/components/desktop/services/tru-window-action-event-handler.mjs +0 -27
- package/esm2020/lib/components/desktop/services/tru-window-event-args.mjs +0 -26
- package/esm2020/lib/components/desktop/services/tru-window-event-handler.mjs +0 -44
- package/esm2020/lib/components/desktop/statusbar/tru-desktop-statusbar.mjs +0 -18
- package/esm2020/lib/components/desktop/taskbar/tru-desktop-taskbar.mjs +0 -40
- package/esm2020/lib/components/desktop/tru-desktop.mjs +0 -731
- package/esm2020/lib/components/desktop/view/tru-desktop-view.mjs +0 -25
- package/esm2020/lib/components/desktop/viewport/tru-desktop-viewport.mjs +0 -113
- package/esm2020/lib/components/desktop/window/tru-desktop-window.mjs +0 -457
- package/esm2020/lib/components/export-dialog/tru-export-dialog.mjs +0 -57
- package/esm2020/lib/components/layout/form/tru-form.mjs +0 -34
- package/esm2020/lib/components/login/classes/tru-auth-jwt-strategy.mjs +0 -65
- package/esm2020/lib/components/login/classes/tru-auth-session-strategy.mjs +0 -19
- package/esm2020/lib/components/login/services/tru-auth-cache.mjs +0 -22
- package/esm2020/lib/components/login/services/tru-auth-interceptor.mjs +0 -43
- package/esm2020/lib/components/login/services/tru-auth.mjs +0 -81
- package/esm2020/lib/components/login/tru-login-module.mjs +0 -46
- package/esm2020/lib/components/login/tru-login.mjs +0 -58
- package/esm2020/lib/components/password-dialog/tru-password-dialog.mjs +0 -44
- package/esm2020/lib/components/toolbar/button/tru-toolbar-button.mjs +0 -41
- package/esm2020/lib/components/toolbar/context-filter/tru-toolbar-context-filter.mjs +0 -24
- package/esm2020/lib/components/toolbar/dropdown/tru-toolbar-dropdown.mjs +0 -43
- package/esm2020/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button.mjs +0 -16
- package/esm2020/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item.mjs +0 -26
- package/esm2020/lib/components/toolbar/menu/tru-toolbar-menu.mjs +0 -33
- package/esm2020/lib/components/toolbar/text/tru-toolbar-text.mjs +0 -28
- package/esm2020/lib/components/toolbar/user-profile/tru-toolbar-user-profile.mjs +0 -35
- package/esm2020/lib/components/validation-dialog/tru-validation-dialog-config.mjs +0 -21
- package/esm2020/lib/components/validation-dialog/tru-validation-dialog.mjs +0 -79
- package/esm2020/lib/directives/breeze-validator/tru-breeze-validator.mjs +0 -100
- package/esm2020/lib/directives/search-panel-position-manager/tru-search-panel-position-manager.mjs +0 -151
- package/esm2020/lib/directives/select-panel/tru-mat-select-panel.mjs +0 -66
- package/esm2020/lib/services/tru-app-environment.mjs +0 -94
- package/esm2020/lib/services/tru-breeze-context-factory.mjs +0 -79
- package/esm2020/lib/services/tru-breeze-metadata-provider.mjs +0 -22
- package/esm2020/lib/services/tru-component-lookup.mjs +0 -25
- package/esm2020/lib/services/tru-connection-hub.mjs +0 -48
- package/esm2020/lib/services/tru-context-filters.mjs +0 -29
- package/esm2020/lib/services/tru-data-context.mjs +0 -258
- package/esm2020/lib/services/tru-entity-accessor.mjs +0 -287
- package/esm2020/lib/services/tru-model-property-lookup.mjs +0 -22
- package/esm2020/lib/services/tru-search-result-view-manager.mjs +0 -17
- package/esm2020/lib/services/tru-sort.mjs +0 -114
- package/esm2020/lib/services/tru-table-registry.mjs +0 -16
- package/esm2020/lib/services/tru-text-manager.mjs +0 -134
- package/esm2020/lib/services/tru-ui-notification.mjs +0 -103
- package/esm2020/lib/services/tru-user.mjs +0 -63
- package/esm2020/lib/services/tru-util.mjs +0 -77
- package/fesm2015/trudb-tru-common-lib.mjs +0 -6799
- package/fesm2015/trudb-tru-common-lib.mjs.map +0 -1
- package/fesm2020/trudb-tru-common-lib.mjs +0 -6776
- package/fesm2020/trudb-tru-common-lib.mjs.map +0 -1
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as _ from 'underscore';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class TruTextManager {
|
|
5
|
+
msgModifierKeyLabel;
|
|
6
|
+
msgConfirmExitWithChangesPending;
|
|
7
|
+
msgDeleteSuccessful;
|
|
8
|
+
msgSaveSuccessful;
|
|
9
|
+
msgNoChangesToSave;
|
|
10
|
+
msgSaveInProgress;
|
|
11
|
+
msgInvalidData;
|
|
12
|
+
msgDirtyPreventsReadOnly;
|
|
13
|
+
msgDirtyPreventsNavigate;
|
|
14
|
+
msgDirtyPreventsClose;
|
|
15
|
+
msgDirtyPreventsDeleteExistingRecord;
|
|
16
|
+
msgNoDeleteAccess;
|
|
17
|
+
msgCannotDeleteNewAndExistingRecords;
|
|
18
|
+
msgDeleteReferencingRecordsFirst;
|
|
19
|
+
constructor() {
|
|
20
|
+
this.msgModifierKeyLabel = this.isMac() ? 'Cmd' : 'Ctrl';
|
|
21
|
+
this.msgConfirmExitWithChangesPending = 'You have unsaved changes that will be lost.';
|
|
22
|
+
this.msgDeleteSuccessful = 'Delete succeeded';
|
|
23
|
+
this.msgSaveSuccessful = 'Save succeeded';
|
|
24
|
+
this.msgNoChangesToSave = 'No changes to save';
|
|
25
|
+
this.msgSaveInProgress = 'Save in progress';
|
|
26
|
+
this.msgInvalidData = 'Invalid data';
|
|
27
|
+
this.msgDirtyPreventsReadOnly = 'Save or revert before disabling editing';
|
|
28
|
+
this.msgDirtyPreventsNavigate = 'Save or revert before navigating';
|
|
29
|
+
this.msgDirtyPreventsClose = 'Save or revert before closing window';
|
|
30
|
+
this.msgDirtyPreventsDeleteExistingRecord = 'Save or revert before deleting';
|
|
31
|
+
this.msgNoDeleteAccess = 'Contact administrator about delete access';
|
|
32
|
+
this.msgCannotDeleteNewAndExistingRecords = 'Delete new or existing records - but not both';
|
|
33
|
+
this.msgDeleteReferencingRecordsFirst = 'Delete all referencing records first';
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* If text.length exceeds length, then returns a string that is the first length chars
|
|
37
|
+
* of text plus suffix. Otherwise, returns text.
|
|
38
|
+
* @param {string} text
|
|
39
|
+
* @param {number} length
|
|
40
|
+
* @param {string} suffix
|
|
41
|
+
* @return {string}
|
|
42
|
+
*/
|
|
43
|
+
truncate = (text, length, suffix) => {
|
|
44
|
+
return text.length > length ? text.substr(0, length) + suffix : text.toString();
|
|
45
|
+
};
|
|
46
|
+
isMac = () => {
|
|
47
|
+
return navigator.platform.toUpperCase().indexOf('MAC') >= 0;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Formats the text to use for the window title.
|
|
51
|
+
* @param {string} text
|
|
52
|
+
* @return {string} - Window title.
|
|
53
|
+
*/
|
|
54
|
+
formatWindowTitle = (text) => {
|
|
55
|
+
return this.truncate(text, 60, '...');
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Returns a message indicating that an entity or entities were deleted in another view.
|
|
59
|
+
* @param {string} entityTypeLabel - Description of the entity type.
|
|
60
|
+
* @param [{string}] entityTypePluralLabel - Description of more than one of the entity type.
|
|
61
|
+
* @param [{number}] count - Number of entities.
|
|
62
|
+
*/
|
|
63
|
+
fmtEntityDeletedInOtherView = (entityTypeLabel, entityTypePluralLabel, count) => {
|
|
64
|
+
if (!count || count === 1)
|
|
65
|
+
return entityTypeLabel + ' deleted in another view';
|
|
66
|
+
return count + ' ' + entityTypePluralLabel + ' deleted in another view';
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Returns a message used to confirm deletion of an entity or entities.
|
|
70
|
+
* @param {string} entityTypeLabel - Description of the entity type.
|
|
71
|
+
* @param [{string}] entityTypePluralLabel - Description of more than one of the entity type.
|
|
72
|
+
* @param [{number}] count - Number of entities.
|
|
73
|
+
*/
|
|
74
|
+
fmtDeleteConfirmation = (entityTypeLabel, entityTypePluralLabel = null, count = null) => {
|
|
75
|
+
if (count === null)
|
|
76
|
+
return 'Are you sure you want to delete this ' + entityTypeLabel + '?';
|
|
77
|
+
if (count === 1)
|
|
78
|
+
return 'Are you sure you want to delete 1 ' + entityTypeLabel + '?';
|
|
79
|
+
return 'Are you sure you want to delete ' + count + ' ' + entityTypePluralLabel + '?';
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* Returns a message formatted from an error object.
|
|
83
|
+
* @param {error|string} error
|
|
84
|
+
* @returns {string}
|
|
85
|
+
*/
|
|
86
|
+
fmtErrorToShow = (error) => {
|
|
87
|
+
if (typeof error === 'string')
|
|
88
|
+
error = new Error(error);
|
|
89
|
+
var lines = [];
|
|
90
|
+
lines.push(error.message);
|
|
91
|
+
var exception = error.detail;
|
|
92
|
+
while (exception) {
|
|
93
|
+
var message = exception.ExceptionMessage;
|
|
94
|
+
if (!_.contains(lines, message))
|
|
95
|
+
lines.push(message);
|
|
96
|
+
exception = exception.InnerException;
|
|
97
|
+
}
|
|
98
|
+
if (error.entityErrors) {
|
|
99
|
+
error.entityErrors.forEach((entityError) => {
|
|
100
|
+
lines.push('Entity <' + entityError.propertyName + '>: ' + entityError.errorMessage);
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
if (error.stack)
|
|
104
|
+
lines.push(error.stack);
|
|
105
|
+
var text = lines.join('\r\n\r\n');
|
|
106
|
+
if (!text)
|
|
107
|
+
text = _.map(error, (value, key) => { return key + ': ' + value; }).join('\r\n');
|
|
108
|
+
return text;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Returns a message formatted from an exception object.
|
|
112
|
+
* @param {object} exception
|
|
113
|
+
* @returns {string}
|
|
114
|
+
*/
|
|
115
|
+
fmtExceptionToShow = (exception) => {
|
|
116
|
+
var lines = [];
|
|
117
|
+
while (exception) {
|
|
118
|
+
var message = exception.Message;
|
|
119
|
+
if (!_.contains(lines, message))
|
|
120
|
+
lines.push(message);
|
|
121
|
+
exception = exception.InnerException;
|
|
122
|
+
}
|
|
123
|
+
return lines.join('\r\n\r\n');
|
|
124
|
+
};
|
|
125
|
+
/**
|
|
126
|
+
* Returns a message for a data error type.
|
|
127
|
+
* @param {string} typeName
|
|
128
|
+
* @returns {string}
|
|
129
|
+
*/
|
|
130
|
+
fmtDataError = (typeName) => {
|
|
131
|
+
if (typeName.indexOf('OptimisticLockViolation') >= 0)
|
|
132
|
+
return 'The record was edited already, by another user. Please reload and attempt your edit again.';
|
|
133
|
+
if (typeName.indexOf('DataConstraintViolation') >= 0)
|
|
134
|
+
return 'Foreign key constraint violation';
|
|
135
|
+
if (typeName.indexOf('DuplicateKeyError') >= 0)
|
|
136
|
+
return 'Duplicate key error';
|
|
137
|
+
return typeName;
|
|
138
|
+
};
|
|
139
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruTextManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
140
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruTextManager, providedIn: 'root' });
|
|
141
|
+
}
|
|
142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruTextManager, decorators: [{
|
|
143
|
+
type: Injectable,
|
|
144
|
+
args: [{
|
|
145
|
+
providedIn: 'root',
|
|
146
|
+
}]
|
|
147
|
+
}], ctorParameters: () => [] });
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXRleHQtbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvdHJ1LXRleHQtbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxDQUFDLE1BQU0sWUFBWSxDQUFDOztBQUtoQyxNQUFNLE9BQU8sY0FBYztJQUNoQixtQkFBbUIsQ0FBUztJQUM1QixnQ0FBZ0MsQ0FBUztJQUN6QyxtQkFBbUIsQ0FBUztJQUM1QixpQkFBaUIsQ0FBUztJQUMxQixrQkFBa0IsQ0FBUztJQUMzQixpQkFBaUIsQ0FBUztJQUMxQixjQUFjLENBQVM7SUFDdkIsd0JBQXdCLENBQVM7SUFDakMsd0JBQXdCLENBQVM7SUFDakMscUJBQXFCLENBQVM7SUFDOUIsb0NBQW9DLENBQVM7SUFDN0MsaUJBQWlCLENBQVM7SUFDMUIsb0NBQW9DLENBQVM7SUFDN0MsZ0NBQWdDLENBQVM7SUFFbEQ7UUFDRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUN6RCxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsNkNBQTZDLENBQUM7UUFDdEYsSUFBSSxDQUFDLG1CQUFtQixHQUFHLGtCQUFrQixDQUFDO1FBQzlDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQztRQUMxQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsb0JBQW9CLENBQUM7UUFDL0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGtCQUFrQixDQUFDO1FBQzVDLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyx5Q0FBeUMsQ0FBQztRQUMxRSxJ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WUFDbEQsT0FBTyw2RkFBNkYsQ0FBQztRQUN2RyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDO1lBQ2xELE9BQU8sa0NBQWtDLENBQUM7UUFDNUMsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQztZQUM1QyxPQUFPLHFCQUFxQixDQUFDO1FBQy9CLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUMsQ0FBQTt1R0FsSlUsY0FBYzsyR0FBZCxjQUFjLGNBRmIsTUFBTTs7MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSAndW5kZXJzY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1VGV4dE1hbmFnZXIge1xyXG4gIHJlYWRvbmx5IG1zZ01vZGlmaWVyS2V5TGFiZWw6IHN0cmluZztcclxuICByZWFkb25seSBtc2dDb25maXJtRXhpdFdpdGhDaGFuZ2VzUGVuZGluZzogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IG1zZ0RlbGV0ZVN1Y2Nlc3NmdWw6IHN0cmluZztcclxuICByZWFkb25seSBtc2dTYXZlU3VjY2Vzc2Z1bDogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IG1zZ05vQ2hhbmdlc1RvU2F2ZTogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IG1zZ1NhdmVJblByb2dyZXNzOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgbXNnSW52YWxpZERhdGE6IHN0cmluZztcclxuICByZWFkb25seSBtc2dEaXJ0eVByZXZlbnRzUmVhZE9ubHk6IHN0cmluZztcclxuICByZWFkb25seSBtc2dEaXJ0eVByZXZlbnRzTmF2aWdhdGU6IHN0cmluZztcclxuICByZWFkb25seSBtc2dEaXJ0eVByZXZlbnRzQ2xvc2U6IHN0cmluZztcclxuICByZWFkb25seSBtc2dEaXJ0eVByZXZlbnRzRGVsZXRlRXhpc3RpbmdSZWNvcmQ6IHN0cmluZztcclxuICByZWFkb25seSBtc2dOb0RlbGV0ZUFjY2Vzczogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IG1zZ0Nhbm5vdERlbGV0ZU5ld0FuZEV4aXN0aW5nUmVjb3Jkczogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IG1zZ0RlbGV0ZVJlZmVyZW5jaW5nUmVjb3Jkc0ZpcnN0OiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5tc2dNb2RpZmllcktleUxhYmVsID0gdGhpcy5pc01hYygpID8gJ0NtZCcgOiAnQ3RybCc7XHJcbiAgICB0aGlzLm1zZ0NvbmZpcm1FeGl0V2l0aENoYW5nZXNQZW5kaW5nID0gJ1lvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyB0aGF0IHdpbGwgYmUgbG9zdC4nO1xyXG4gICAgdGhpcy5tc2dEZWxldGVTdWNjZXNzZnVsID0gJ0RlbGV0ZSBzdWNjZWVkZWQnO1xyXG4gICAgdGhpcy5tc2dTYXZlU3VjY2Vzc2Z1bCA9ICdTYXZlIHN1Y2NlZWRlZCc7XHJcbiAgICB0aGlzLm1zZ05vQ2hhbmdlc1RvU2F2ZSA9ICdObyBjaGFuZ2VzIHRvIHNhdmUnO1xyXG4gICAgdGhpcy5tc2dTYXZlSW5Qcm9ncmVzcyA9ICdTYXZlIGluIHByb2dyZXNzJztcclxuICAgIHRoaXMubXNnSW52YWxpZERhdGEgPSAnSW52YWxpZCBkYXRhJztcclxuICAgIHRoaXMubXNnRGlydHlQcmV2ZW50c1JlYWRPbmx5ID0gJ1NhdmUgb3IgcmV2ZXJ0IGJlZm9yZSBkaXNhYmxpbmcgZWRpdGluZyc7XHJcbiAgICB0aGlzLm1zZ0RpcnR5UHJldmVudHNOYXZpZ2F0ZSA9ICdTYXZlIG9yIHJldmVydCBiZWZvcmUgbmF2aWdhdGluZyc7XHJcbiAgICB0aGlzLm1zZ0RpcnR5UHJldmVudHNDbG9zZSA9ICdTYXZlIG9yIHJldmVydCBiZWZvcmUgY2xvc2luZyB3aW5kb3cnO1xyXG4gICAgdGhpcy5tc2dEaXJ0eVByZXZlbnRzRGVsZXRlRXhpc3RpbmdSZWNvcmQgPSAnU2F2ZSBvciByZXZlcnQgYmVmb3JlIGRlbGV0aW5nJztcclxuICAgIHRoaXMubXNnTm9EZWxldGVBY2Nlc3MgPSAnQ29udGFjdCBhZG1pbmlzdHJhdG9yIGFib3V0IGRlbGV0ZSBhY2Nlc3MnO1xyXG4gICAgdGhpcy5tc2dDYW5ub3REZWxldGVOZXdBbmRFeGlzdGluZ1JlY29yZHMgPSAnRGVsZXRlIG5ldyBvciBleGlzdGluZyByZWNvcmRzIC0gYnV0IG5vdCBib3RoJztcclxuICAgIHRoaXMubXNnRGVsZXRlUmVmZXJlbmNpbmdSZWNvcmRzRmlyc3QgPSAnRGVsZXRlIGFsbCByZWZlcmVuY2luZyByZWNvcmRzIGZpcnN0JztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogSWYgdGV4dC5sZW5ndGggZXhjZWVkcyBsZW5ndGgsIHRoZW4gcmV0dXJucyBhIHN0cmluZyB0aGF0IGlzIHRoZSBmaXJzdCBsZW5ndGggY2hhcnMgXHJcbiAgKiBvZiB0ZXh0IHBsdXMgc3VmZml4LiAgT3RoZXJ3aXNlLCByZXR1cm5zIHRleHQuXHJcbiAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dFxyXG4gICogQHBhcmFtIHtudW1iZXJ9IGxlbmd0aFxyXG4gICogQHBhcmFtIHtzdHJpbmd9IHN1ZmZpeFxyXG4gICogQHJldHVybiB7c3RyaW5nfVxyXG4gICovXHJcbiAgcHJpdmF0ZSB0cnVuY2F0ZSA9ICh0ZXh0OiBzdHJpbmcsIGxlbmd0aDogbnVtYmVyLCBzdWZmaXg6IHN0cmluZyk6IHN0cmluZyA9PiB7XHJcbiAgICByZXR1cm4gdGV4dC5sZW5ndGggPiBsZW5ndGggPyB0ZXh0LnN1YnN0cigwLCBsZW5ndGgpICsgc3VmZml4IDogdGV4dC50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgaXNNYWMgPSAoKTogYm9vbGVhbiA9PiB7XHJcbiAgICByZXR1cm4gbmF2aWdhdG9yLnBsYXRmb3JtLnRvVXBwZXJDYXNlKCkuaW5kZXhPZignTUFDJykgPj0gMDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZvcm1hdHMgdGhlIHRleHQgdG8gdXNlIGZvciB0aGUgd2luZG93IHRpdGxlLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0XHJcbiAgICogQHJldHVybiB7c3RyaW5nfSAtIFdpbmRvdyB0aXRsZS5cclxuICAgKi9cclxuICBmb3JtYXRXaW5kb3dUaXRsZSA9ICh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMudHJ1bmNhdGUodGV4dCwgNjAsICcuLi4nKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogUmV0dXJucyBhIG1lc3NhZ2UgaW5kaWNhdGluZyB0aGF0IGFuIGVudGl0eSBvciBlbnRpdGllcyB3ZXJlIGRlbGV0ZWQgaW4gYW5vdGhlciB2aWV3LiBcclxuICAqIEBwYXJhbSB7c3RyaW5nfSBlbnRpdHlUeXBlTGFiZWwgLSBEZXNjcmlwdGlvbiBvZiB0aGUgZW50aXR5IHR5cGUuXHJcbiAgKiBAcGFyYW0gW3tzdHJpbmd9XSBlbnRpdHlUeXBlUGx1cmFsTGFiZWwgLSBEZXNjcmlwdGlvbiBvZiBtb3JlIHRoYW4gb25lIG9mIHRoZSBlbnRpdHkgdHlwZS5cclxuICAqIEBwYXJhbSBbe251bWJlcn1dIGNvdW50IC0gTnVtYmVyIG9mIGVudGl0aWVzLlxyXG4gICovXHJcbiAgZm10RW50aXR5RGVsZXRlZEluT3RoZXJWaWV3ID0gKGVudGl0eVR5cGVMYWJlbDogc3RyaW5nLCBlbnRpdHlUeXBlUGx1cmFsTGFiZWw6IHN0cmluZywgY291bnQ6IG51bWJlcik6IHN0cmluZyA9PiB7XHJcbiAgICBpZiAoIWNvdW50IHx8IGNvdW50ID09PSAxKVxyXG4gICAgICByZXR1cm4gZW50aXR5VHlwZUxhYmVsICsgJyBkZWxldGVkIGluIGFub3RoZXIgdmlldyc7XHJcbiAgICByZXR1cm4gY291bnQgKyAnICcgKyBlbnRpdHlUeXBlUGx1cmFsTGFiZWwgKyAnIGRlbGV0ZWQgaW4gYW5vdGhlciB2aWV3JztcclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIGEgbWVzc2FnZSB1c2VkIHRvIGNvbmZpcm0gZGVsZXRpb24gb2YgYW4gZW50aXR5IG9yIGVudGl0aWVzLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBlbnRpdHlUeXBlTGFiZWwgLSBEZXNjcmlwdGlvbiBvZiB0aGUgZW50aXR5IHR5cGUuXHJcbiAgICogQHBhcmFtIFt7c3RyaW5nfV0gZW50aXR5VHlwZVBsdXJhbExhYmVsIC0gRGVzY3JpcHRpb24gb2YgbW9yZSB0aGFuIG9uZSBvZiB0aGUgZW50aXR5IHR5cGUuXHJcbiAgICogQHBhcmFtIFt7bnVtYmVyfV0gY291bnQgLSBOdW1iZXIgb2YgZW50aXRpZXMuXHJcbiAgICovXHJcbiAgZm10RGVsZXRlQ29uZmlybWF0aW9uID0gKFxyXG4gICAgZW50aXR5VHlwZUxhYmVsOiBzdHJpbmcsXHJcbiAgICBlbnRpdHlUeXBlUGx1cmFsTGFiZWw6IHN0cmluZyB8IG51bGwgPSBudWxsLFxyXG4gICAgY291bnQ6IG51bWJlciB8IG51bGwgPSBudWxsKTogc3RyaW5nID0+IHtcclxuICAgIGlmIChjb3VudCA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgJyArIGVudGl0eVR5cGVMYWJlbCArICc/JztcclxuICAgIGlmIChjb3VudCA9PT0gMSlcclxuICAgICAgcmV0dXJuICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIDEgJyArIGVudGl0eVR5cGVMYWJlbCArICc/JztcclxuICAgIHJldHVybiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSAnICsgY291bnQgKyAnICcgKyBlbnRpdHlUeXBlUGx1cmFsTGFiZWwgKyAnPyc7XHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyBhIG1lc3NhZ2UgZm9ybWF0dGVkIGZyb20gYW4gZXJyb3Igb2JqZWN0LlxyXG4gICAqIEBwYXJhbSB7ZXJyb3J8c3RyaW5nfSBlcnJvciBcclxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxyXG4gICAqL1xyXG4gIGZtdEVycm9yVG9TaG93ID0gKGVycm9yOiBhbnkpOiBzdHJpbmcgPT4ge1xyXG4gICAgaWYgKHR5cGVvZiBlcnJvciA9PT0gJ3N0cmluZycpXHJcbiAgICAgIGVycm9yID0gbmV3IEVycm9yKGVycm9yKTtcclxuICAgIHZhciBsaW5lcyA9IFtdO1xyXG4gICAgbGluZXMucHVzaChlcnJvci5tZXNzYWdlKTtcclxuICAgIHZhciBleGNlcHRpb24gPSBlcnJvci5kZXRhaWw7XHJcbiAgICB3aGlsZSAoZXhjZXB0aW9uKSB7XHJcbiAgICAgIHZhciBtZXNzYWdlID0gZXhjZXB0aW9uLkV4Y2VwdGlvbk1lc3NhZ2U7XHJcbiAgICAgIGlmICghXy5jb250YWlucyhsaW5lcywgbWVzc2FnZSkpXHJcbiAgICAgICAgbGluZXMucHVzaChtZXNzYWdlKTtcclxuICAgICAgZXhjZXB0aW9uID0gZXhjZXB0aW9uLklubmVyRXhjZXB0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGVycm9yLmVudGl0eUVycm9ycykge1xyXG4gICAgICBlcnJvci5lbnRpdHlFcnJvcnMuZm9yRWFjaCgoZW50aXR5RXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgIGxpbmVzLnB1c2goJ0VudGl0eSA8JyArIGVudGl0eUVycm9yLnByb3BlcnR5TmFtZSArICc+OiAnICsgZW50aXR5RXJyb3IuZXJyb3JNZXNzYWdlKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoZXJyb3Iuc3RhY2spXHJcbiAgICAgIGxpbmVzLnB1c2goZXJyb3Iuc3RhY2spO1xyXG4gICAgdmFyIHRleHQgPSBsaW5lcy5qb2luKCdcXHJcXG5cXHJcXG4nKTtcclxuICAgIGlmICghdGV4dClcclxuICAgICAgdGV4dCA9IF8ubWFwKGVycm9yLCAodmFsdWU6IHN0cmluZywga2V5OiBzdHJpbmcpID0+IHsgcmV0dXJuIGtleSArICc6ICcgKyB2YWx1ZSB9KS5qb2luKCdcXHJcXG4nKTtcclxuICAgIHJldHVybiB0ZXh0O1xyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgYSBtZXNzYWdlIGZvcm1hdHRlZCBmcm9tIGFuIGV4Y2VwdGlvbiBvYmplY3QuXHJcbiAgICogQHBhcmFtIHtvYmplY3R9IGV4Y2VwdGlvblxyXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XHJcbiAgICovXHJcbiAgZm10RXhjZXB0aW9uVG9TaG93ID0gKGV4Y2VwdGlvbjogYW55KTogc3RyaW5nID0+IHtcclxuICAgIHZhciBsaW5lcyA9IFtdO1xyXG4gICAgd2hpbGUgKGV4Y2VwdGlvbikge1xyXG4gICAgICB2YXIgbWVzc2FnZSA9IGV4Y2VwdGlvbi5NZXNzYWdlO1xyXG4gICAgICBpZiAoIV8uY29udGFpbnMobGluZXMsIG1lc3NhZ2UpKVxyXG4gICAgICAgIGxpbmVzLnB1c2gobWVzc2FnZSk7XHJcbiAgICAgIGV4Y2VwdGlvbiA9IGV4Y2VwdGlvbi5Jbm5lckV4Y2VwdGlvbjtcclxuICAgIH1cclxuICAgIHJldHVybiBsaW5lcy5qb2luKCdcXHJcXG5cXHJcXG4nKTtcclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIGEgbWVzc2FnZSBmb3IgYSBkYXRhIGVycm9yIHR5cGUuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHR5cGVOYW1lIFxyXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFxyXG4gICAqL1xyXG4gIGZtdERhdGFFcnJvciA9ICh0eXBlTmFtZTogc3RyaW5nKTogc3RyaW5nID0+IHtcclxuICAgIGlmICh0eXBlTmFtZS5pbmRleE9mKCdPcHRpbWlzdGljTG9ja1Zpb2xhdGlvbicpID49IDApXHJcbiAgICAgIHJldHVybiAnVGhlIHJlY29yZCB3YXMgZWRpdGVkIGFscmVhZHksIGJ5IGFub3RoZXIgdXNlci4gIFBsZWFzZSByZWxvYWQgYW5kIGF0dGVtcHQgeW91ciBlZGl0IGFnYWluLic7XHJcbiAgICBpZiAodHlwZU5hbWUuaW5kZXhPZignRGF0YUNvbnN0cmFpbnRWaW9sYXRpb24nKSA+PSAwKVxyXG4gICAgICByZXR1cm4gJ0ZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgdmlvbGF0aW9uJztcclxuICAgIGlmICh0eXBlTmFtZS5pbmRleE9mKCdEdXBsaWNhdGVLZXlFcnJvcicpID49IDApXHJcbiAgICAgIHJldHVybiAnRHVwbGljYXRlIGtleSBlcnJvcic7XHJcbiAgICByZXR1cm4gdHlwZU5hbWU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { TruConfirmDialog, TruConfirmDialogConfig } from '../components/confirm-dialog/tru-confirm-dialog';
|
|
3
|
+
import { TruExportDialog, TruExportDialogConfig } from '../components/export-dialog/tru-export-dialog';
|
|
4
|
+
import { TruPasswordDialog } from '../components/password-dialog/tru-password-dialog';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "ngx-toastr";
|
|
7
|
+
import * as i2 from "@angular/material/dialog";
|
|
8
|
+
export class TruUiNotification {
|
|
9
|
+
toastr;
|
|
10
|
+
dialog;
|
|
11
|
+
_toastr;
|
|
12
|
+
_dialog;
|
|
13
|
+
constructor(toastr, dialog) {
|
|
14
|
+
this.toastr = toastr;
|
|
15
|
+
this.dialog = dialog;
|
|
16
|
+
this._toastr = toastr;
|
|
17
|
+
this._dialog = dialog;
|
|
18
|
+
}
|
|
19
|
+
showMessage = (popup, log, prefix, message, detail = null) => {
|
|
20
|
+
popup(message);
|
|
21
|
+
message = prefix + ': ' + message;
|
|
22
|
+
if (detail)
|
|
23
|
+
message += '\r\n' + detail;
|
|
24
|
+
this.log(message);
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Shows as toast and logs to server an error message and optional detail information.
|
|
28
|
+
* @param {string} message - Displayed as toast.
|
|
29
|
+
* @param {string} [detail] - Logged to console.
|
|
30
|
+
*/
|
|
31
|
+
error = (message, detail = null) => {
|
|
32
|
+
this.showMessage((message) => this._toastr.error(message), this.log, 'Error', message, detail);
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Same as error() but for info message.
|
|
36
|
+
*/
|
|
37
|
+
info = (message, detail = null) => {
|
|
38
|
+
this.showMessage((message) => this._toastr.info(message), this.log, 'Info', message, detail);
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Same as error() but for success message.
|
|
42
|
+
*/
|
|
43
|
+
success = (message, detail = null) => {
|
|
44
|
+
this.showMessage((message) => this._toastr.success(message), this.log, 'Success', message, detail);
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Same as error() but for warning message.
|
|
48
|
+
*/
|
|
49
|
+
warning = (message, detail = null) => {
|
|
50
|
+
this.showMessage((message) => this._toastr.warning(message), this.log, 'Warning', message, detail);
|
|
51
|
+
};
|
|
52
|
+
log = (message) => {
|
|
53
|
+
var console = window.console;
|
|
54
|
+
!!console && console.log && console.log.apply && console.log.apply(console, [message]);
|
|
55
|
+
};
|
|
56
|
+
showErrorDialog = (title, message) => {
|
|
57
|
+
};
|
|
58
|
+
showExportDialog = () => {
|
|
59
|
+
return new Promise((resolve, reject) => {
|
|
60
|
+
let dialogConfig = new TruExportDialogConfig('Export');
|
|
61
|
+
let dialogRef = this._dialog.open(TruExportDialog, {
|
|
62
|
+
disableClose: true,
|
|
63
|
+
minWidth: "200px",
|
|
64
|
+
maxWidth: "400px",
|
|
65
|
+
data: dialogConfig
|
|
66
|
+
});
|
|
67
|
+
dialogRef.afterClosed().subscribe(dialogResult => {
|
|
68
|
+
resolve(dialogResult);
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
confirm = (title, message, displayCancelButton = true, displayConfirmButton = true, cancelButtonName = 'Cancel', confirmButtonName = 'Ok') => {
|
|
73
|
+
return new Promise((resolve, reject) => {
|
|
74
|
+
let dialogConfig = new TruConfirmDialogConfig(title, message, displayCancelButton, displayConfirmButton, cancelButtonName, confirmButtonName);
|
|
75
|
+
let dialogRef = this._dialog.open(TruConfirmDialog, {
|
|
76
|
+
disableClose: true,
|
|
77
|
+
minWidth: "200px",
|
|
78
|
+
maxWidth: "400px",
|
|
79
|
+
data: dialogConfig
|
|
80
|
+
});
|
|
81
|
+
dialogRef.afterClosed().subscribe(dialogResult => {
|
|
82
|
+
resolve(dialogResult);
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
};
|
|
86
|
+
changePassword = () => {
|
|
87
|
+
return new Promise((resolve, reject) => {
|
|
88
|
+
let dialogRef = this._dialog.open(TruPasswordDialog, {
|
|
89
|
+
disableClose: true,
|
|
90
|
+
minWidth: "400px",
|
|
91
|
+
maxWidth: "400px"
|
|
92
|
+
});
|
|
93
|
+
dialogRef.afterClosed().subscribe(dialogResult => {
|
|
94
|
+
resolve(dialogResult);
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
};
|
|
98
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruUiNotification, deps: [{ token: i1.ToastrService }, { token: i2.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
99
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruUiNotification, providedIn: 'root' });
|
|
100
|
+
}
|
|
101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruUiNotification, decorators: [{
|
|
102
|
+
type: Injectable,
|
|
103
|
+
args: [{
|
|
104
|
+
providedIn: 'root',
|
|
105
|
+
}]
|
|
106
|
+
}], ctorParameters: () => [{ type: i1.ToastrService }, { type: i2.MatDialog }] });
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXVpLW5vdGlmaWNhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvdHJ1LXVpLW5vdGlmaWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN2RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7OztBQUt0RixNQUFNLE9BQU8saUJBQWlCO0lBS2xCO0lBQ0E7SUFMRixPQUFPLENBQWdCO0lBQ3ZCLE9BQU8sQ0FBWTtJQUUzQixZQUNVLE1BQXFCLEVBQ3JCLE1BQWlCO1FBRGpCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVyxHQUFHLENBQUMsS0FBVSxFQUFFLEdBQThCLEVBQUUsTUFBYyxFQUFFLE9BQWUsRUFBRSxTQUErQixJQUFJLEVBQUUsRUFBRTtRQUNqSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixPQUFPLEdBQUcsTUFBTSxHQUFHLElBQUksR0FBRyxPQUFPLENBQUM7UUFDbEMsSUFBSSxNQUFNO1lBQ1IsT0FBTyxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQixDQUFDLENBQUM7SUFFRjs7OztNQUlFO0lBQ0YsS0FBSyxHQUFH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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFRvYXN0clNlcnZpY2UgfSBmcm9tICduZ3gtdG9hc3RyJztcclxuaW1wb3J0IHsgVHJ1Q29uZmlybURpYWxvZywgVHJ1Q29uZmlybURpYWxvZ0NvbmZpZyB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29uZmlybS1kaWFsb2cvdHJ1LWNvbmZpcm0tZGlhbG9nJztcclxuaW1wb3J0IHsgVHJ1RXhwb3J0RGlhbG9nLCBUcnVFeHBvcnREaWFsb2dDb25maWcgfSBmcm9tICcuLi9jb21wb25lbnRzL2V4cG9ydC1kaWFsb2cvdHJ1LWV4cG9ydC1kaWFsb2cnO1xyXG5pbXBvcnQgeyBUcnVQYXNzd29yZERpYWxvZyB9IGZyb20gJy4uL2NvbXBvbmVudHMvcGFzc3dvcmQtZGlhbG9nL3RydS1wYXNzd29yZC1kaWFsb2cnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRydVVpTm90aWZpY2F0aW9uIHtcclxuICBwcml2YXRlIF90b2FzdHI6IFRvYXN0clNlcnZpY2U7XHJcbiAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2c7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0b2FzdHI6IFRvYXN0clNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nKSB7XHJcbiAgICB0aGlzLl90b2FzdHIgPSB0b2FzdHI7XHJcbiAgICB0aGlzLl9kaWFsb2cgPSBkaWFsb2c7XHJcbiAgfVxyXG5cclxuICBzaG93TWVzc2FnZSA9IChwb3B1cDogYW55LCBsb2c6IChtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQsIHByZWZpeDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcsIGRldGFpbDogQXJyYXk8c3RyaW5nPiB8IG51bGwgPSBudWxsKSA9PiB7XHJcbiAgICBwb3B1cChtZXNzYWdlKTtcclxuICAgIG1lc3NhZ2UgPSBwcmVmaXggKyAnOiAnICsgbWVzc2FnZTtcclxuICAgIGlmIChkZXRhaWwpXHJcbiAgICAgIG1lc3NhZ2UgKz0gJ1xcclxcbicgKyBkZXRhaWw7XHJcbiAgICB0aGlzLmxvZyhtZXNzYWdlKTtcclxuICB9O1xyXG5cclxuICAvKipcclxuICAqIFNob3dzIGFzIHRvYXN0IGFuZCBsb2dzIHRvIHNlcnZlciBhbiBlcnJvciBtZXNzYWdlIGFuZCBvcHRpb25hbCBkZXRhaWwgaW5mb3JtYXRpb24uXHJcbiAgKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZSAtIERpc3BsYXllZCBhcyB0b2FzdC5cclxuICAqIEBwYXJhbSB7c3RyaW5nfSBbZGV0YWlsXSAtIExvZ2dlZCB0byBjb25zb2xlLlxyXG4gICovXHJcbiAgZXJyb3IgPSAobWVzc2FnZTogc3RyaW5nLCBkZXRhaWw6IEFycmF5PHN0cmluZz4gfCBudWxsID0gbnVsbCkgPT4ge1xyXG4gICAgdGhpcy5zaG93TWVzc2FnZSgobWVzc2FnZTogc3RyaW5nKSA9PiB0aGlzLl90b2FzdHIuZXJyb3IobWVzc2FnZSksIHRoaXMubG9nLCAnRXJyb3InLCBtZXNzYWdlLCBkZXRhaWwpO1xyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAgKiBTYW1lIGFzIGVycm9yKCkgYnV0IGZvciBpbmZvIG1lc3NhZ2UuXHJcbiAgICAqL1xyXG4gIGluZm8gPSAobWVzc2FnZTogc3RyaW5nLCBkZXRhaWw6IEFycmF5PHN0cmluZz4gfCBudWxsID0gbnVsbCkgPT4ge1xyXG4gICAgdGhpcy5zaG93TWVzc2FnZSgobWVzc2FnZTogc3RyaW5nKSA9PiB0aGlzLl90b2FzdHIuaW5mbyhtZXNzYWdlKSwgdGhpcy5sb2csICdJbmZvJywgbWVzc2FnZSwgZGV0YWlsKTtcclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBTYW1lIGFzIGVycm9yKCkgYnV0IGZvciBzdWNjZXNzIG1lc3NhZ2UuXHJcbiAgICovXHJcbiAgc3VjY2VzcyA9IChtZXNzYWdlOiBzdHJpbmcsIGRldGFpbDogQXJyYXk8c3RyaW5nPiB8IG51bGwgPSBudWxsKSA9PiB7XHJcbiAgICB0aGlzLnNob3dNZXNzYWdlKChtZXNzYWdlOiBzdHJpbmcpID0+IHRoaXMuX3RvYXN0ci5zdWNjZXNzKG1lc3NhZ2UpLCB0aGlzLmxvZywgJ1N1Y2Nlc3MnLCBtZXNzYWdlLCBkZXRhaWwpO1xyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIFNhbWUgYXMgZXJyb3IoKSBidXQgZm9yIHdhcm5pbmcgbWVzc2FnZS5cclxuICAgKi9cclxuICB3YXJuaW5nID0gKG1lc3NhZ2U6IHN0cmluZywgZGV0YWlsOiBBcnJheTxzdHJpbmc+IHwgbnVsbCA9IG51bGwpID0+IHtcclxuICAgIHRoaXMuc2hvd01lc3NhZ2UoKG1lc3NhZ2U6IHN0cmluZykgPT4gdGhpcy5fdG9hc3RyLndhcm5pbmcobWVzc2FnZSksIHRoaXMubG9nLCAnV2FybmluZycsIG1lc3NhZ2UsIGRldGFpbCk7XHJcbiAgfTtcclxuXHJcbiAgbG9nID0gKG1lc3NhZ2U6IHN0cmluZykgPT4ge1xyXG4gICAgdmFyIGNvbnNvbGUgPSB3aW5kb3cuY29uc29sZTtcclxuICAgICEhY29uc29sZSAmJiBjb25zb2xlLmxvZyAmJiBjb25zb2xlLmxvZy5hcHBseSAmJiBjb25zb2xlLmxvZy5hcHBseShjb25zb2xlLCBbbWVzc2FnZV0pO1xyXG4gIH1cclxuXHJcbiAgc2hvd0Vycm9yRGlhbG9nID0gKHRpdGxlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZykgPT4ge1xyXG5cclxuICB9O1xyXG5cclxuICBzaG93RXhwb3J0RGlhbG9nID0gKCk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPGJvb2xlYW4+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgbGV0IGRpYWxvZ0NvbmZpZyA9IG5ldyBUcnVFeHBvcnREaWFsb2dDb25maWcoJ0V4cG9ydCcpO1xyXG4gICAgICBsZXQgZGlhbG9nUmVmID0gdGhpcy5fZGlhbG9nLm9wZW4oVHJ1RXhwb3J0RGlhbG9nLCB7XHJcbiAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICAgIG1pbldpZHRoOiBcIjIwMHB4XCIsXHJcbiAgICAgICAgbWF4V2lkdGg6IFwiNDAwcHhcIixcclxuICAgICAgICBkYXRhOiBkaWFsb2dDb25maWdcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoZGlhbG9nUmVzdWx0ID0+IHtcclxuICAgICAgICByZXNvbHZlKGRpYWxvZ1Jlc3VsdCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfTtcclxuXHJcbiAgY29uZmlybSA9IChcclxuICAgIHRpdGxlOiBzdHJpbmcsXHJcbiAgICBtZXNzYWdlOiBzdHJpbmcsXHJcbiAgICBkaXNwbGF5Q2FuY2VsQnV0dG9uOiBib29sZWFuID0gdHJ1ZSxcclxuICAgIGRpc3BsYXlDb25maXJtQnV0dG9uOiBib29sZWFuID0gdHJ1ZSxcclxuICAgIGNhbmNlbEJ1dHRvbk5hbWU6IHN0cmluZyA9ICdDYW5jZWwnLFxyXG4gICAgY29uZmlybUJ1dHRvbk5hbWU6IHN0cmluZyA9ICdPaycpOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxib29sZWFuPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGxldCBkaWFsb2dDb25maWcgPSBuZXcgVHJ1Q29uZmlybURpYWxvZ0NvbmZpZyhcclxuICAgICAgICB0aXRsZSxcclxuICAgICAgICBtZXNzYWdlLFxyXG4gICAgICAgIGRpc3BsYXlDYW5jZWxCdXR0b24sXHJcbiAgICAgICAgZGlzcGxheUNvbmZpcm1CdXR0b24sXHJcbiAgICAgICAgY2FuY2VsQnV0dG9uTmFtZSxcclxuICAgICAgICBjb25maXJtQnV0dG9uTmFtZSk7XHJcbiAgICAgIGxldCBkaWFsb2dSZWYgPSB0aGlzLl9kaWFsb2cub3BlbihUcnVDb25maXJtRGlhbG9nLCB7XHJcbiAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICAgIG1pbldpZHRoOiBcIjIwMHB4XCIsXHJcbiAgICAgICAgbWF4V2lkdGg6IFwiNDAwcHhcIixcclxuICAgICAgICBkYXRhOiBkaWFsb2dDb25maWdcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoZGlhbG9nUmVzdWx0ID0+IHtcclxuICAgICAgICByZXNvbHZlKGRpYWxvZ1Jlc3VsdCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfTtcclxuXHJcbiAgY2hhbmdlUGFzc3dvcmQgPSAoKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8Ym9vbGVhbj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBsZXQgZGlhbG9nUmVmID0gdGhpcy5fZGlhbG9nLm9wZW4oVHJ1UGFzc3dvcmREaWFsb2csIHtcclxuICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgbWluV2lkdGg6IFwiNDAwcHhcIixcclxuICAgICAgICBtYXhXaWR0aDogXCI0MDBweFwiXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKGRpYWxvZ1Jlc3VsdCA9PiB7XHJcbiAgICAgICAgcmVzb2x2ZShkaWFsb2dSZXN1bHQpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as _ from 'underscore';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class TruUser {
|
|
5
|
+
_ref = -1;
|
|
6
|
+
_username = null;
|
|
7
|
+
_firstName = null;
|
|
8
|
+
_lastName = null;
|
|
9
|
+
_email = null;
|
|
10
|
+
_roles = null;
|
|
11
|
+
constructor() { }
|
|
12
|
+
get activeUserRef() {
|
|
13
|
+
if (this._ref < 0)
|
|
14
|
+
throw new Error('Inavlid User.');
|
|
15
|
+
return this._ref;
|
|
16
|
+
}
|
|
17
|
+
get username() {
|
|
18
|
+
return this._username;
|
|
19
|
+
}
|
|
20
|
+
get firstName() {
|
|
21
|
+
return this._firstName;
|
|
22
|
+
}
|
|
23
|
+
get lastName() {
|
|
24
|
+
return this._lastName;
|
|
25
|
+
}
|
|
26
|
+
get email() {
|
|
27
|
+
return this._email;
|
|
28
|
+
}
|
|
29
|
+
get roles() {
|
|
30
|
+
return this._roles;
|
|
31
|
+
}
|
|
32
|
+
hasRoles = (roles) => {
|
|
33
|
+
if (this._roles === null)
|
|
34
|
+
return true;
|
|
35
|
+
return _.intersection(roles, this._roles).length > 0;
|
|
36
|
+
};
|
|
37
|
+
create = (user) => {
|
|
38
|
+
this._ref = user.activeUserRef;
|
|
39
|
+
this._username = user.username;
|
|
40
|
+
this._firstName = user.firstName;
|
|
41
|
+
this._lastName = user.lastName;
|
|
42
|
+
this._email = user.email;
|
|
43
|
+
this._roles = user.roles;
|
|
44
|
+
};
|
|
45
|
+
destroy = () => {
|
|
46
|
+
this._ref = -1;
|
|
47
|
+
this._username = null;
|
|
48
|
+
this._firstName = null;
|
|
49
|
+
this._lastName = null;
|
|
50
|
+
this._email = null;
|
|
51
|
+
this._roles = null;
|
|
52
|
+
};
|
|
53
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruUser, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
54
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruUser, providedIn: 'root' });
|
|
55
|
+
}
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruUser, decorators: [{
|
|
57
|
+
type: Injectable,
|
|
58
|
+
args: [{
|
|
59
|
+
providedIn: 'root',
|
|
60
|
+
}]
|
|
61
|
+
}], ctorParameters: () => [] });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXVzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL3NlcnZpY2VzL3RydS11c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLENBQUMsTUFBTSxZQUFZLENBQUM7O0FBS2hDLE1BQU0sT0FBTyxPQUFPO0lBQ1YsSUFBSSxHQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLFNBQVMsR0FBa0IsSUFBSSxDQUFDO0lBQ2hDLFVBQVUsR0FBa0IsSUFBSSxDQUFDO0lBQ2pDLFNBQVMsR0FBa0IsSUFBSSxDQUFDO0lBQ2hDLE1BQU0sR0FBa0IsSUFBSSxDQUFDO0lBQzdCLE1BQU0sR0FBb0IsSUFBSSxDQUFDO0lBRXZDLGdCQUFlLENBQUM7SUFFaEIsSUFBSSxhQUFhO1FBQ2YsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUM7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELFFBQVEsR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFO1FBQzdCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJO1lBQ3RCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN2RCxDQUFDLENBQUM7SUFFRixNQUFNLEdBQUcsQ0FBQyxJQUFjLEVBQVEsRUFBRTtRQUNoQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFDLENBQUE7SUFFRCxPQUFPLEdBQUcsR0FBUyxFQUFFO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDLENBQUE7dUdBMURVLE9BQU87MkdBQVAsT0FBTyxjQUZOLE1BQU07OzJGQUVQLE9BQU87a0JBSG5CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBfIGZyb20gJ3VuZGVyc2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRydVVzZXIgaW1wbGVtZW50cyBJVHJ1VXNlciB7XHJcbiAgcHJpdmF0ZSBfcmVmOiBudW1iZXIgPSAtMTtcclxuICBwcml2YXRlIF91c2VybmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfZmlyc3ROYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIF9sYXN0TmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfZW1haWw6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgX3JvbGVzOiBzdHJpbmdbXSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIGdldCBhY3RpdmVVc2VyUmVmKCk6IG51bWJlciB7XHJcbiAgICBpZiAodGhpcy5fcmVmIDwgMClcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbmF2bGlkIFVzZXIuJyk7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVmO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHVzZXJuYW1lKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuX3VzZXJuYW1lO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZpcnN0TmFtZSgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLl9maXJzdE5hbWU7XHJcbiAgfVxyXG5cclxuICBnZXQgbGFzdE5hbWUoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGFzdE5hbWU7XHJcbiAgfVxyXG5cclxuICBnZXQgZW1haWwoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fZW1haWw7XHJcbiAgfVxyXG5cclxuICBnZXQgcm9sZXMoKTogc3RyaW5nW10gfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLl9yb2xlcztcclxuICB9XHJcblxyXG4gIGhhc1JvbGVzID0gKHJvbGVzOiBzdHJpbmdbXSkgPT4ge1xyXG4gICAgaWYgKHRoaXMuX3JvbGVzID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIHJldHVybiBfLmludGVyc2VjdGlvbihyb2xlcywgdGhpcy5fcm9sZXMpLmxlbmd0aCA+IDA7IFxyXG4gIH07XHJcblxyXG4gIGNyZWF0ZSA9ICh1c2VyOiBJVHJ1VXNlcik6IHZvaWQgPT4ge1xyXG4gICAgdGhpcy5fcmVmID0gdXNlci5hY3RpdmVVc2VyUmVmO1xyXG4gICAgdGhpcy5fdXNlcm5hbWUgPSB1c2VyLnVzZXJuYW1lO1xyXG4gICAgdGhpcy5fZmlyc3ROYW1lID0gdXNlci5maXJzdE5hbWU7XHJcbiAgICB0aGlzLl9sYXN0TmFtZSA9IHVzZXIubGFzdE5hbWU7XHJcbiAgICB0aGlzLl9lbWFpbCA9IHVzZXIuZW1haWw7XHJcbiAgICB0aGlzLl9yb2xlcyA9IHVzZXIucm9sZXM7XHJcbiAgfVxyXG5cclxuICBkZXN0cm95ID0gKCk6IHZvaWQgPT4ge1xyXG4gICAgdGhpcy5fcmVmID0gLTE7XHJcbiAgICB0aGlzLl91c2VybmFtZSA9IG51bGw7XHJcbiAgICB0aGlzLl9maXJzdE5hbWUgPSBudWxsO1xyXG4gICAgdGhpcy5fbGFzdE5hbWUgPSBudWxsO1xyXG4gICAgdGhpcy5fZW1haWwgPSBudWxsO1xyXG4gICAgdGhpcy5fcm9sZXMgPSBudWxsO1xyXG4gIH0gXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRydVVzZXIge1xyXG4gIGFjdGl2ZVVzZXJSZWY6IG51bWJlcjtcclxuICB1c2VybmFtZTogc3RyaW5nIHwgbnVsbDtcclxuICBmaXJzdE5hbWU6IHN0cmluZyB8IG51bGw7XHJcbiAgbGFzdE5hbWU6IHN0cmluZyB8IG51bGw7XHJcbiAgZW1haWw6IHN0cmluZyB8IG51bGw7XHJcbiAgcm9sZXM6IHN0cmluZ1tdIHwgbnVsbDtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class TruUtil {
|
|
4
|
+
constructor() { }
|
|
5
|
+
tryParseInt = (str, defaultValue) => {
|
|
6
|
+
var retValue = defaultValue;
|
|
7
|
+
if (str !== null) {
|
|
8
|
+
if (str.length > 0) {
|
|
9
|
+
if (!isNaN(str)) {
|
|
10
|
+
retValue = parseInt(str);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return retValue;
|
|
15
|
+
};
|
|
16
|
+
tryParseBool(value, defaultValue) {
|
|
17
|
+
return (value == 'true' || value == 'false' || value === true || value === false) && JSON.parse(value) || defaultValue;
|
|
18
|
+
}
|
|
19
|
+
findClosestAncestorByClass = (element, cssSelector) => {
|
|
20
|
+
let firstChar = cssSelector.charAt(0);
|
|
21
|
+
for (; element; element = element.parentNode) {
|
|
22
|
+
if (firstChar === '.') {
|
|
23
|
+
if (element.classList && element.classList.contains(cssSelector.substr(1))) {
|
|
24
|
+
return element;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
};
|
|
30
|
+
isNumeric = (n) => {
|
|
31
|
+
return !isNaN(parseFloat(n)) && isFinite(n);
|
|
32
|
+
};
|
|
33
|
+
removeNonNumericCharactersFromStr = (value) => {
|
|
34
|
+
return value.replace(/[^0-9]/g, '');
|
|
35
|
+
};
|
|
36
|
+
isDate = (date) => {
|
|
37
|
+
if (Object.prototype.toString.call(date) === '[object Date]') {
|
|
38
|
+
if (isNaN(date.getTime())) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
isValidDate = (value) => {
|
|
50
|
+
return !isNaN(Date.parse(value));
|
|
51
|
+
};
|
|
52
|
+
rulesEval = (styles) => {
|
|
53
|
+
let defaultStyles = {
|
|
54
|
+
'backgroundColor': '#ffffff',
|
|
55
|
+
'color': '#000000',
|
|
56
|
+
'font-style': 'normal',
|
|
57
|
+
'text-decoration': 'unset'
|
|
58
|
+
};
|
|
59
|
+
if (styles === null)
|
|
60
|
+
return defaultStyles;
|
|
61
|
+
if (Object.entries(styles).length !== 0) {
|
|
62
|
+
Object.assign(defaultStyles, styles);
|
|
63
|
+
return defaultStyles;
|
|
64
|
+
}
|
|
65
|
+
return defaultStyles;
|
|
66
|
+
};
|
|
67
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruUtil, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
68
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruUtil, providedIn: 'root' });
|
|
69
|
+
}
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruUtil, decorators: [{
|
|
71
|
+
type: Injectable,
|
|
72
|
+
args: [{
|
|
73
|
+
providedIn: 'root',
|
|
74
|
+
}]
|
|
75
|
+
}], ctorParameters: () => [] });
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL3NlcnZpY2VzL3RydS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXZELE1BQU0sT0FBTyxPQUFPO0lBRWxCLGdCQUFnQixDQUFDO0lBRWpCLFdBQVcsR0FBRyxDQUFDLEdBQVEsRUFBRSxZQUFpQixFQUFFLEVBQUU7UUFDNUMsSUFBSSxRQUFRLEdBQUcsWUFBWSxDQUFDO1FBQzVCLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtZQUNoQixJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNmLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQzFCO2FBQ0Y7U0FDRjtRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUMsQ0FBQztJQUVGLFlBQVksQ0FBQyxLQUFVLEVBQUUsWUFBaUI7UUFDeEMsT0FBTyxDQUFDLEtBQUssSUFBSSxNQUFNLElBQUksS0FBSyxJQUFJLE9BQU8sSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLFlBQVksQ0FBQztJQUN6SCxDQUFDO0lBRUQsMEJBQTBCLEdBQUcsQ0FBQyxPQUFZLEVBQUUsV0FBbUIsRUFBRSxFQUFFO1FBQ2pFLElBQUksU0FBUyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsT0FBTyxPQUFPLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDNUMsSUFBSSxTQUFTLEtBQUssR0FBRyxFQUFFO2dCQUNyQixJQUFJLE9BQU8sQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUMxRSxPQUFPLE9BQU8sQ0FBQztpQkFDaEI7YUFDRjtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUM7SUFFRixTQUFTLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRTtRQUNyQixPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDLENBQUE7SUFFRCxpQ0FBaUMsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFO1FBQ3BELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEMsQ0FBQyxDQUFBO0lBRUQsTUFBTSxHQUFHLENBQUMsSUFBVSxFQUFFLEVBQUU7UUFDdEIsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssZUFBZSxFQUFFO1lBQzVELElBQUksS0FBSyxDQUFFLElBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFO2dCQUNuQyxPQUFPLEtBQUssQ0FBQzthQUNkO2lCQUNJO2dCQUNILE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjthQUNJO1lBQ0gsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUMsQ0FBQztJQUVGLFdBQVcsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFO1FBQzlCLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUMsQ0FBQTtJQUVELFNBQVMsR0FBRyxDQUFDLE1BQXFCLEVBQVUsRUFBRTtRQUM1QyxJQUFJLGFBQWEsR0FBRztZQUNsQixpQkFBaUIsRUFBRSxTQUFTO1lBQzVCLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLFlBQVksRUFBRSxRQUFRO1lBQ3RCLGlCQUFpQixFQUFFLE9BQU87U0FDM0IsQ0FBQTtRQUNELElBQUksTUFBTSxLQUFLLElBQUk7WUFDakIsT0FBTyxhQUFhLENBQUM7UUFDdkIsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDckMsT0FBTyxhQUFhLENBQUM7U0FDdEI7UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDLENBQUE7dUdBeEVVLE9BQU87MkdBQVAsT0FBTyxjQUZOLE1BQU07OzJGQUVQLE9BQU87a0JBSG5CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1VXRpbCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIHRyeVBhcnNlSW50ID0gKHN0cjogYW55LCBkZWZhdWx0VmFsdWU6IGFueSkgPT4ge1xyXG4gICAgdmFyIHJldFZhbHVlID0gZGVmYXVsdFZhbHVlO1xyXG4gICAgaWYgKHN0ciAhPT0gbnVsbCkge1xyXG4gICAgICBpZiAoc3RyLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBpZiAoIWlzTmFOKHN0cikpIHtcclxuICAgICAgICAgIHJldFZhbHVlID0gcGFyc2VJbnQoc3RyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiByZXRWYWx1ZTtcclxuICB9O1xyXG5cclxuICB0cnlQYXJzZUJvb2wodmFsdWU6IGFueSwgZGVmYXVsdFZhbHVlOiBhbnkpIHtcclxuICAgIHJldHVybiAodmFsdWUgPT0gJ3RydWUnIHx8IHZhbHVlID09ICdmYWxzZScgfHwgdmFsdWUgPT09IHRydWUgfHwgdmFsdWUgPT09IGZhbHNlKSAmJiBKU09OLnBhcnNlKHZhbHVlKSB8fCBkZWZhdWx0VmFsdWU7XHJcbiAgfVxyXG5cclxuICBmaW5kQ2xvc2VzdEFuY2VzdG9yQnlDbGFzcyA9IChlbGVtZW50OiBhbnksIGNzc1NlbGVjdG9yOiBzdHJpbmcpID0+IHtcclxuICAgIGxldCBmaXJzdENoYXIgPSBjc3NTZWxlY3Rvci5jaGFyQXQoMCk7XHJcbiAgICBmb3IgKDsgZWxlbWVudDsgZWxlbWVudCA9IGVsZW1lbnQucGFyZW50Tm9kZSkge1xyXG4gICAgICBpZiAoZmlyc3RDaGFyID09PSAnLicpIHtcclxuICAgICAgICBpZiAoZWxlbWVudC5jbGFzc0xpc3QgJiYgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoY3NzU2VsZWN0b3Iuc3Vic3RyKDEpKSkge1xyXG4gICAgICAgICAgcmV0dXJuIGVsZW1lbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9O1xyXG5cclxuICBpc051bWVyaWMgPSAobjogYW55KSA9PiB7XHJcbiAgICByZXR1cm4gIWlzTmFOKHBhcnNlRmxvYXQobikpICYmIGlzRmluaXRlKG4pO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlTm9uTnVtZXJpY0NoYXJhY3RlcnNGcm9tU3RyID0gKHZhbHVlOiBzdHJpbmcpID0+IHtcclxuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9bXjAtOV0vZywgJycpO1xyXG4gIH1cclxuXHJcbiAgaXNEYXRlID0gKGRhdGU6IERhdGUpID0+IHtcclxuICAgIGlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZGF0ZSkgPT09ICdbb2JqZWN0IERhdGVdJykge1xyXG4gICAgICBpZiAoaXNOYU4oKGRhdGUgYXMgRGF0ZSkuZ2V0VGltZSgpKSkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBpc1ZhbGlkRGF0ZSA9ICh2YWx1ZTogc3RyaW5nKSA9PiB7XHJcbiAgICByZXR1cm4gIWlzTmFOKERhdGUucGFyc2UodmFsdWUpKTtcclxuICB9XHJcblxyXG4gIHJ1bGVzRXZhbCA9IChzdHlsZXM6IG9iamVjdCB8IG51bGwpOiBvYmplY3QgPT4ge1xyXG4gICAgbGV0IGRlZmF1bHRTdHlsZXMgPSB7XHJcbiAgICAgICdiYWNrZ3JvdW5kQ29sb3InOiAnI2ZmZmZmZicsXHJcbiAgICAgICdjb2xvcic6ICcjMDAwMDAwJyxcclxuICAgICAgJ2ZvbnQtc3R5bGUnOiAnbm9ybWFsJyxcclxuICAgICAgJ3RleHQtZGVjb3JhdGlvbic6ICd1bnNldCdcclxuICAgIH1cclxuICAgIGlmIChzdHlsZXMgPT09IG51bGwpXHJcbiAgICAgIHJldHVybiBkZWZhdWx0U3R5bGVzO1xyXG4gICAgaWYgKE9iamVjdC5lbnRyaWVzKHN0eWxlcykubGVuZ3RoICE9PSAwKSB7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24oZGVmYXVsdFN0eWxlcywgc3R5bGVzKTtcclxuICAgICAgcmV0dXJuIGRlZmF1bHRTdHlsZXM7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGVmYXVsdFN0eWxlcztcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class TruCommonModule {
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
9
|
-
type: NgModule,
|
|
10
|
-
args: [{
|
|
11
|
-
declarations: [],
|
|
12
|
-
imports: [],
|
|
13
|
-
exports: []
|
|
14
|
-
}]
|
|
15
|
-
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class TruCommonModule {
|
|
4
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: TruCommonModule });
|
|
6
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruCommonModule });
|
|
7
|
+
}
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruCommonModule, decorators: [{
|
|
9
|
+
type: NgModule,
|
|
10
|
+
args: [{
|
|
11
|
+
declarations: [],
|
|
12
|
+
imports: [],
|
|
13
|
+
exports: []
|
|
14
|
+
}]
|
|
15
|
+
}] });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWNvbW1vbi1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL3RydS1jb21tb24tbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUXpDLE1BQU0sT0FBTyxlQUFlO3VHQUFmLGVBQWU7d0dBQWYsZUFBZTt3R0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQUwzQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsRUFBRTtpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi9tYXRlcmlhbC5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIGltcG9ydHM6IFtdLFxyXG4gIGV4cG9ydHM6IFtdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVDb21tb25Nb2R1bGUgeyB9XHJcbiJdfQ==
|