@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
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as _ from 'underscore';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class TruTextManager {
|
|
5
|
-
constructor() {
|
|
6
|
-
/**
|
|
7
|
-
* If text.length exceeds length, then returns a string that is the first length chars
|
|
8
|
-
* of text plus suffix. Otherwise, returns text.
|
|
9
|
-
* @param {string} text
|
|
10
|
-
* @param {number} length
|
|
11
|
-
* @param {string} suffix
|
|
12
|
-
* @return {string}
|
|
13
|
-
*/
|
|
14
|
-
this.truncate = (text, length, suffix) => {
|
|
15
|
-
return text.length > length ? text.substr(0, length) + suffix : text.toString();
|
|
16
|
-
};
|
|
17
|
-
this.isMac = () => {
|
|
18
|
-
return navigator.platform.toUpperCase().indexOf('MAC') >= 0;
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* Formats the text to use for the window title.
|
|
22
|
-
* @param {string} text
|
|
23
|
-
* @return {string} - Window title.
|
|
24
|
-
*/
|
|
25
|
-
this.formatWindowTitle = (text) => {
|
|
26
|
-
return this.truncate(text, 60, '...');
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* Returns a message indicating that an entity or entities were deleted in another view.
|
|
30
|
-
* @param {string} entityTypeLabel - Description of the entity type.
|
|
31
|
-
* @param [{string}] entityTypePluralLabel - Description of more than one of the entity type.
|
|
32
|
-
* @param [{number}] count - Number of entities.
|
|
33
|
-
*/
|
|
34
|
-
this.fmtEntityDeletedInOtherView = (entityTypeLabel, entityTypePluralLabel, count) => {
|
|
35
|
-
if (!count || count === 1)
|
|
36
|
-
return entityTypeLabel + ' deleted in another view';
|
|
37
|
-
return count + ' ' + entityTypePluralLabel + ' deleted in another view';
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* Returns a message used to confirm deletion of an entity or entities.
|
|
41
|
-
* @param {string} entityTypeLabel - Description of the entity type.
|
|
42
|
-
* @param [{string}] entityTypePluralLabel - Description of more than one of the entity type.
|
|
43
|
-
* @param [{number}] count - Number of entities.
|
|
44
|
-
*/
|
|
45
|
-
this.fmtDeleteConfirmation = (entityTypeLabel, entityTypePluralLabel = null, count = null) => {
|
|
46
|
-
if (count === null)
|
|
47
|
-
return 'Are you sure you want to delete this ' + entityTypeLabel + '?';
|
|
48
|
-
if (count === 1)
|
|
49
|
-
return 'Are you sure you want to delete 1 ' + entityTypeLabel + '?';
|
|
50
|
-
return 'Are you sure you want to delete ' + count + ' ' + entityTypePluralLabel + '?';
|
|
51
|
-
};
|
|
52
|
-
/**
|
|
53
|
-
* Returns a message formatted from an error object.
|
|
54
|
-
* @param {error|string} error
|
|
55
|
-
* @returns {string}
|
|
56
|
-
*/
|
|
57
|
-
this.fmtErrorToShow = (error) => {
|
|
58
|
-
if (typeof error === 'string')
|
|
59
|
-
error = new Error(error);
|
|
60
|
-
var lines = [];
|
|
61
|
-
lines.push(error.message);
|
|
62
|
-
var exception = error.detail;
|
|
63
|
-
while (exception) {
|
|
64
|
-
var message = exception.ExceptionMessage;
|
|
65
|
-
if (!_.contains(lines, message))
|
|
66
|
-
lines.push(message);
|
|
67
|
-
exception = exception.InnerException;
|
|
68
|
-
}
|
|
69
|
-
if (error.entityErrors) {
|
|
70
|
-
error.entityErrors.forEach((entityError) => {
|
|
71
|
-
lines.push('Entity <' + entityError.propertyName + '>: ' + entityError.errorMessage);
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
if (error.stack)
|
|
75
|
-
lines.push(error.stack);
|
|
76
|
-
var text = lines.join('\r\n\r\n');
|
|
77
|
-
if (!text)
|
|
78
|
-
text = _.map(error, (value, key) => { return key + ': ' + value; }).join('\r\n');
|
|
79
|
-
return text;
|
|
80
|
-
};
|
|
81
|
-
/**
|
|
82
|
-
* Returns a message formatted from an exception object.
|
|
83
|
-
* @param {object} exception
|
|
84
|
-
* @returns {string}
|
|
85
|
-
*/
|
|
86
|
-
this.fmtExceptionToShow = (exception) => {
|
|
87
|
-
var lines = [];
|
|
88
|
-
while (exception) {
|
|
89
|
-
var message = exception.Message;
|
|
90
|
-
if (!_.contains(lines, message))
|
|
91
|
-
lines.push(message);
|
|
92
|
-
exception = exception.InnerException;
|
|
93
|
-
}
|
|
94
|
-
return lines.join('\r\n\r\n');
|
|
95
|
-
};
|
|
96
|
-
/**
|
|
97
|
-
* Returns a message for a data error type.
|
|
98
|
-
* @param {string} typeName
|
|
99
|
-
* @returns {string}
|
|
100
|
-
*/
|
|
101
|
-
this.fmtDataError = (typeName) => {
|
|
102
|
-
if (typeName.indexOf('OptimisticLockViolation') >= 0)
|
|
103
|
-
return 'The record was edited already, by another user. Please reload and attempt your edit again.';
|
|
104
|
-
if (typeName.indexOf('DataConstraintViolation') >= 0)
|
|
105
|
-
return 'Foreign key constraint violation';
|
|
106
|
-
if (typeName.indexOf('DuplicateKeyError') >= 0)
|
|
107
|
-
return 'Duplicate key error';
|
|
108
|
-
return typeName;
|
|
109
|
-
};
|
|
110
|
-
this.msgModifierKeyLabel = this.isMac() ? 'Cmd' : 'Ctrl';
|
|
111
|
-
this.msgConfirmExitWithChangesPending = 'You have unsaved changes that will be lost.';
|
|
112
|
-
this.msgDeleteSuccessful = 'Delete succeeded';
|
|
113
|
-
this.msgSaveSuccessful = 'Save succeeded';
|
|
114
|
-
this.msgNoChangesToSave = 'No changes to save';
|
|
115
|
-
this.msgSaveInProgress = 'Save in progress';
|
|
116
|
-
this.msgInvalidData = 'Invalid data';
|
|
117
|
-
this.msgDirtyPreventsReadOnly = 'Save or revert before disabling editing';
|
|
118
|
-
this.msgDirtyPreventsNavigate = 'Save or revert before navigating';
|
|
119
|
-
this.msgDirtyPreventsClose = 'Save or revert before closing window';
|
|
120
|
-
this.msgDirtyPreventsDeleteExistingRecord = 'Save or revert before deleting';
|
|
121
|
-
this.msgNoDeleteAccess = 'Contact administrator about delete access';
|
|
122
|
-
this.msgCannotDeleteNewAndExistingRecords = 'Delete new or existing records - but not both';
|
|
123
|
-
this.msgDeleteReferencingRecordsFirst = 'Delete all referencing records first';
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
TruTextManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruTextManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
127
|
-
TruTextManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruTextManager, providedIn: 'root' });
|
|
128
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruTextManager, decorators: [{
|
|
129
|
-
type: Injectable,
|
|
130
|
-
args: [{
|
|
131
|
-
providedIn: 'root',
|
|
132
|
-
}]
|
|
133
|
-
}], ctorParameters: function () { return []; } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXRleHQtbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvdHJ1LXRleHQtbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxDQUFDLE1BQU0sWUFBWSxDQUFDOztBQUtoQyxNQUFNLE9BQU8sY0FBYztJQWdCekI7UUFpQkE7Ozs7Ozs7VUFPRTtRQUNNLGFBQVEsR0FBRyxDQUFDLElBQVksRUFBRSxNQUFjLEVBQUUsTUFBYyxFQUFVLEVBQUU7WUFDMUUsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEYsQ0FBQyxDQUFBO1FBRUQsVUFBSyxHQUFHLEdBQVksRUFBRTtZQUNwQixPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUE7UUFFRDs7OztXQUlHO1FBQ0gsc0JBQWlCLEdBQUcsQ0FBQyxJQUFZLEVBQVUsRUFBRTtZQUMzQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUE7UUFFRDs7Ozs7VUFLRTtRQUNGLGdDQUEyQixHQUFHLENBQUMsZUFBdUIsRUFBRSxxQkFBNkIsRUFBRSxLQUFhLEVBQVUsRUFBRTtZQUM5RyxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssS0FBSyxDQUFDO2dCQUN2QixPQUFPLGVBQWUsR0FBRywwQkFB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QWQsY0FBYyxjQUZiLE1BQU07MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSAndW5kZXJzY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1VGV4dE1hbmFnZXIge1xyXG4gIHJlYWRvbmx5IG1zZ01vZGlmaWVyS2V5TGFiZWw6IHN0cmluZztcclxuICByZWFkb25seSBtc2dDb25maXJtRXhpdFdpdGhDaGFuZ2VzUGVuZGluZzogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IG1zZ0RlbGV0ZVN1Y2Nlc3NmdWw6IHN0cmluZztcclxuICByZWFkb25seSBtc2dTYXZlU3VjY2Vzc2Z1bDogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IG1zZ05vQ2hhbmdlc1RvU2F2ZTogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IG1zZ1NhdmVJblByb2dyZXNzOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgbXNnSW52YWxpZERhdGE6IHN0cmluZztcclxuICByZWFkb25seSBtc2dEaXJ0eVByZXZlbnRzUmVhZE9ubHk6IHN0cmluZztcclxuICByZWFkb25seSBtc2dEaXJ0eVByZXZlbnRzTmF2aWdhdGU6IHN0cmluZztcclxuICByZWFkb25seSBtc2dEaXJ0eVByZXZlbnRzQ2xvc2U6IHN0cmluZztcclxuICByZWFkb25seSBtc2dEaXJ0eVByZXZlbnRzRGVsZXRlRXhpc3RpbmdSZWNvcmQ6IHN0cmluZztcclxuICByZWFkb25seSBtc2dOb0RlbGV0ZUFjY2Vzczogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IG1zZ0Nhbm5vdERlbGV0ZU5ld0FuZEV4aXN0aW5nUmVjb3Jkczogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IG1zZ0RlbGV0ZVJlZmVyZW5jaW5nUmVjb3Jkc0ZpcnN0OiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5tc2dNb2RpZmllcktleUxhYmVsID0gdGhpcy5pc01hYygpID8gJ0NtZCcgOiAnQ3RybCc7XHJcbiAgICB0aGlzLm1zZ0NvbmZpcm1FeGl0V2l0aENoYW5nZXNQZW5kaW5nID0gJ1lvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyB0aGF0IHdpbGwgYmUgbG9zdC4nO1xyXG4gICAgdGhpcy5tc2dEZWxldGVTdWNjZXNzZnVsID0gJ0RlbGV0ZSBzdWNjZWVkZWQnO1xyXG4gICAgdGhpcy5tc2dTYXZlU3VjY2Vzc2Z1bCA9ICdTYXZlIHN1Y2NlZWRlZCc7XHJcbiAgICB0aGlzLm1zZ05vQ2hhbmdlc1RvU2F2ZSA9ICdObyBjaGFuZ2VzIHRvIHNhdmUnO1xyXG4gICAgdGhpcy5tc2dTYXZlSW5Qcm9ncmVzcyA9ICdTYXZlIGluIHByb2dyZXNzJztcclxuICAgIHRoaXMubXNnSW52YWxpZERhdGEgPSAnSW52YWxpZCBkYXRhJztcclxuICAgIHRoaXMubXNnRGlydHlQcmV2ZW50c1JlYWRPbmx5ID0gJ1NhdmUgb3IgcmV2ZXJ0IGJlZm9yZSBkaXNhYmxpbmcgZWRpdGluZyc7XHJcbiAgICB0aGlzLm1zZ0RpcnR5UHJldmVudHNOYXZpZ2F0ZSA9ICdTYXZlIG9yIHJldmVydCBiZWZvcmUgbmF2aWdhdGluZyc7XHJcbiAgICB0aGlzLm1zZ0RpcnR5UHJldmVudHNDbG9zZSA9ICdTYXZlIG9yIHJldmVydCBiZWZvcmUgY2xvc2luZyB3aW5kb3cnO1xyXG4gICAgdGhpcy5tc2dEaXJ0eVByZXZlbnRzRGVsZXRlRXhpc3RpbmdSZWNvcmQgPSAnU2F2ZSBvciByZXZlcnQgYmVmb3JlIGRlbGV0aW5nJztcclxuICAgIHRoaXMubXNnTm9EZWxldGVBY2Nlc3MgPSAnQ29udGFjdCBhZG1pbmlzdHJhdG9yIGFib3V0IGRlbGV0ZSBhY2Nlc3MnO1xyXG4gICAgdGhpcy5tc2dDYW5ub3REZWxldGVOZXdBbmRFeGlzdGluZ1JlY29yZHMgPSAnRGVsZXRlIG5ldyBvciBleGlzdGluZyByZWNvcmRzIC0gYnV0IG5vdCBib3RoJztcclxuICAgIHRoaXMubXNnRGVsZXRlUmVmZXJlbmNpbmdSZWNvcmRzRmlyc3QgPSAnRGVsZXRlIGFsbCByZWZlcmVuY2luZyByZWNvcmRzIGZpcnN0JztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogSWYgdGV4dC5sZW5ndGggZXhjZWVkcyBsZW5ndGgsIHRoZW4gcmV0dXJucyBhIHN0cmluZyB0aGF0IGlzIHRoZSBmaXJzdCBsZW5ndGggY2hhcnMgXHJcbiAgKiBvZiB0ZXh0IHBsdXMgc3VmZml4LiAgT3RoZXJ3aXNlLCByZXR1cm5zIHRleHQuXHJcbiAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dFxyXG4gICogQHBhcmFtIHtudW1iZXJ9IGxlbmd0aFxyXG4gICogQHBhcmFtIHtzdHJpbmd9IHN1ZmZpeFxyXG4gICogQHJldHVybiB7c3RyaW5nfVxyXG4gICovXHJcbiAgcHJpdmF0ZSB0cnVuY2F0ZSA9ICh0ZXh0OiBzdHJpbmcsIGxlbmd0aDogbnVtYmVyLCBzdWZmaXg6IHN0cmluZyk6IHN0cmluZyA9PiB7XHJcbiAgICByZXR1cm4gdGV4dC5sZW5ndGggPiBsZW5ndGggPyB0ZXh0LnN1YnN0cigwLCBsZW5ndGgpICsgc3VmZml4IDogdGV4dC50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgaXNNYWMgPSAoKTogYm9vbGVhbiA9PiB7XHJcbiAgICByZXR1cm4gbmF2aWdhdG9yLnBsYXRmb3JtLnRvVXBwZXJDYXNlKCkuaW5kZXhPZignTUFDJykgPj0gMDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZvcm1hdHMgdGhlIHRleHQgdG8gdXNlIGZvciB0aGUgd2luZG93IHRpdGxlLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0XHJcbiAgICogQHJldHVybiB7c3RyaW5nfSAtIFdpbmRvdyB0aXRsZS5cclxuICAgKi9cclxuICBmb3JtYXRXaW5kb3dUaXRsZSA9ICh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMudHJ1bmNhdGUodGV4dCwgNjAsICcuLi4nKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogUmV0dXJucyBhIG1lc3NhZ2UgaW5kaWNhdGluZyB0aGF0IGFuIGVudGl0eSBvciBlbnRpdGllcyB3ZXJlIGRlbGV0ZWQgaW4gYW5vdGhlciB2aWV3LiBcclxuICAqIEBwYXJhbSB7c3RyaW5nfSBlbnRpdHlUeXBlTGFiZWwgLSBEZXNjcmlwdGlvbiBvZiB0aGUgZW50aXR5IHR5cGUuXHJcbiAgKiBAcGFyYW0gW3tzdHJpbmd9XSBlbnRpdHlUeXBlUGx1cmFsTGFiZWwgLSBEZXNjcmlwdGlvbiBvZiBtb3JlIHRoYW4gb25lIG9mIHRoZSBlbnRpdHkgdHlwZS5cclxuICAqIEBwYXJhbSBbe251bWJlcn1dIGNvdW50IC0gTnVtYmVyIG9mIGVudGl0aWVzLlxyXG4gICovXHJcbiAgZm10RW50aXR5RGVsZXRlZEluT3RoZXJWaWV3ID0gKGVudGl0eVR5cGVMYWJlbDogc3RyaW5nLCBlbnRpdHlUeXBlUGx1cmFsTGFiZWw6IHN0cmluZywgY291bnQ6IG51bWJlcik6IHN0cmluZyA9PiB7XHJcbiAgICBpZiAoIWNvdW50IHx8IGNvdW50ID09PSAxKVxyXG4gICAgICByZXR1cm4gZW50aXR5VHlwZUxhYmVsICsgJyBkZWxldGVkIGluIGFub3RoZXIgdmlldyc7XHJcbiAgICByZXR1cm4gY291bnQgKyAnICcgKyBlbnRpdHlUeXBlUGx1cmFsTGFiZWwgKyAnIGRlbGV0ZWQgaW4gYW5vdGhlciB2aWV3JztcclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIGEgbWVzc2FnZSB1c2VkIHRvIGNvbmZpcm0gZGVsZXRpb24gb2YgYW4gZW50aXR5IG9yIGVudGl0aWVzLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBlbnRpdHlUeXBlTGFiZWwgLSBEZXNjcmlwdGlvbiBvZiB0aGUgZW50aXR5IHR5cGUuXHJcbiAgICogQHBhcmFtIFt7c3RyaW5nfV0gZW50aXR5VHlwZVBsdXJhbExhYmVsIC0gRGVzY3JpcHRpb24gb2YgbW9yZSB0aGFuIG9uZSBvZiB0aGUgZW50aXR5IHR5cGUuXHJcbiAgICogQHBhcmFtIFt7bnVtYmVyfV0gY291bnQgLSBOdW1iZXIgb2YgZW50aXRpZXMuXHJcbiAgICovXHJcbiAgZm10RGVsZXRlQ29uZmlybWF0aW9uID0gKFxyXG4gICAgZW50aXR5VHlwZUxhYmVsOiBzdHJpbmcsXHJcbiAgICBlbnRpdHlUeXBlUGx1cmFsTGFiZWw6IHN0cmluZyB8IG51bGwgPSBudWxsLFxyXG4gICAgY291bnQ6IG51bWJlciB8IG51bGwgPSBudWxsKTogc3RyaW5nID0+IHtcclxuICAgIGlmIChjb3VudCA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgJyArIGVudGl0eVR5cGVMYWJlbCArICc/JztcclxuICAgIGlmIChjb3VudCA9PT0gMSlcclxuICAgICAgcmV0dXJuICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIDEgJyArIGVudGl0eVR5cGVMYWJlbCArICc/JztcclxuICAgIHJldHVybiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSAnICsgY291bnQgKyAnICcgKyBlbnRpdHlUeXBlUGx1cmFsTGFiZWwgKyAnPyc7XHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyBhIG1lc3NhZ2UgZm9ybWF0dGVkIGZyb20gYW4gZXJyb3Igb2JqZWN0LlxyXG4gICAqIEBwYXJhbSB7ZXJyb3J8c3RyaW5nfSBlcnJvciBcclxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxyXG4gICAqL1xyXG4gIGZtdEVycm9yVG9TaG93ID0gKGVycm9yOiBhbnkpOiBzdHJpbmcgPT4ge1xyXG4gICAgaWYgKHR5cGVvZiBlcnJvciA9PT0gJ3N0cmluZycpXHJcbiAgICAgIGVycm9yID0gbmV3IEVycm9yKGVycm9yKTtcclxuICAgIHZhciBsaW5lcyA9IFtdO1xyXG4gICAgbGluZXMucHVzaChlcnJvci5tZXNzYWdlKTtcclxuICAgIHZhciBleGNlcHRpb24gPSBlcnJvci5kZXRhaWw7XHJcbiAgICB3aGlsZSAoZXhjZXB0aW9uKSB7XHJcbiAgICAgIHZhciBtZXNzYWdlID0gZXhjZXB0aW9uLkV4Y2VwdGlvbk1lc3NhZ2U7XHJcbiAgICAgIGlmICghXy5jb250YWlucyhsaW5lcywgbWVzc2FnZSkpXHJcbiAgICAgICAgbGluZXMucHVzaChtZXNzYWdlKTtcclxuICAgICAgZXhjZXB0aW9uID0gZXhjZXB0aW9uLklubmVyRXhjZXB0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGVycm9yLmVudGl0eUVycm9ycykge1xyXG4gICAgICBlcnJvci5lbnRpdHlFcnJvcnMuZm9yRWFjaCgoZW50aXR5RXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgIGxpbmVzLnB1c2goJ0VudGl0eSA8JyArIGVudGl0eUVycm9yLnByb3BlcnR5TmFtZSArICc+OiAnICsgZW50aXR5RXJyb3IuZXJyb3JNZXNzYWdlKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoZXJyb3Iuc3RhY2spXHJcbiAgICAgIGxpbmVzLnB1c2goZXJyb3Iuc3RhY2spO1xyXG4gICAgdmFyIHRleHQgPSBsaW5lcy5qb2luKCdcXHJcXG5cXHJcXG4nKTtcclxuICAgIGlmICghdGV4dClcclxuICAgICAgdGV4dCA9IF8ubWFwKGVycm9yLCAodmFsdWU6IHN0cmluZywga2V5OiBzdHJpbmcpID0+IHsgcmV0dXJuIGtleSArICc6ICcgKyB2YWx1ZSB9KS5qb2luKCdcXHJcXG4nKTtcclxuICAgIHJldHVybiB0ZXh0O1xyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgYSBtZXNzYWdlIGZvcm1hdHRlZCBmcm9tIGFuIGV4Y2VwdGlvbiBvYmplY3QuXHJcbiAgICogQHBhcmFtIHtvYmplY3R9IGV4Y2VwdGlvblxyXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XHJcbiAgICovXHJcbiAgZm10RXhjZXB0aW9uVG9TaG93ID0gKGV4Y2VwdGlvbjogYW55KTogc3RyaW5nID0+IHtcclxuICAgIHZhciBsaW5lcyA9IFtdO1xyXG4gICAgd2hpbGUgKGV4Y2VwdGlvbikge1xyXG4gICAgICB2YXIgbWVzc2FnZSA9IGV4Y2VwdGlvbi5NZXNzYWdlO1xyXG4gICAgICBpZiAoIV8uY29udGFpbnMobGluZXMsIG1lc3NhZ2UpKVxyXG4gICAgICAgIGxpbmVzLnB1c2gobWVzc2FnZSk7XHJcbiAgICAgIGV4Y2VwdGlvbiA9IGV4Y2VwdGlvbi5Jbm5lckV4Y2VwdGlvbjtcclxuICAgIH1cclxuICAgIHJldHVybiBsaW5lcy5qb2luKCdcXHJcXG5cXHJcXG4nKTtcclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIGEgbWVzc2FnZSBmb3IgYSBkYXRhIGVycm9yIHR5cGUuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHR5cGVOYW1lIFxyXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFxyXG4gICAqL1xyXG4gIGZtdERhdGFFcnJvciA9ICh0eXBlTmFtZTogc3RyaW5nKTogc3RyaW5nID0+IHtcclxuICAgIGlmICh0eXBlTmFtZS5pbmRleE9mKCdPcHRpbWlzdGljTG9ja1Zpb2xhdGlvbicpID49IDApXHJcbiAgICAgIHJldHVybiAnVGhlIHJlY29yZCB3YXMgZWRpdGVkIGFscmVhZHksIGJ5IGFub3RoZXIgdXNlci4gIFBsZWFzZSByZWxvYWQgYW5kIGF0dGVtcHQgeW91ciBlZGl0IGFnYWluLic7XHJcbiAgICBpZiAodHlwZU5hbWUuaW5kZXhPZignRGF0YUNvbnN0cmFpbnRWaW9sYXRpb24nKSA+PSAwKVxyXG4gICAgICByZXR1cm4gJ0ZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgdmlvbGF0aW9uJztcclxuICAgIGlmICh0eXBlTmFtZS5pbmRleE9mKCdEdXBsaWNhdGVLZXlFcnJvcicpID49IDApXHJcbiAgICAgIHJldHVybiAnRHVwbGljYXRlIGtleSBlcnJvcic7XHJcbiAgICByZXR1cm4gdHlwZU5hbWU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,103 +0,0 @@
|
|
|
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
|
-
constructor(toastr, dialog) {
|
|
10
|
-
this.toastr = toastr;
|
|
11
|
-
this.dialog = dialog;
|
|
12
|
-
this.showMessage = (popup, log, prefix, message, detail = null) => {
|
|
13
|
-
popup(message);
|
|
14
|
-
message = prefix + ': ' + message;
|
|
15
|
-
if (detail)
|
|
16
|
-
message += '\r\n' + detail;
|
|
17
|
-
this.log(message);
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* Shows as toast and logs to server an error message and optional detail information.
|
|
21
|
-
* @param {string} message - Displayed as toast.
|
|
22
|
-
* @param {string} [detail] - Logged to console.
|
|
23
|
-
*/
|
|
24
|
-
this.error = (message, detail = null) => {
|
|
25
|
-
this.showMessage((message) => this._toastr.error(message), this.log, 'Error', message, detail);
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* Same as error() but for info message.
|
|
29
|
-
*/
|
|
30
|
-
this.info = (message, detail = null) => {
|
|
31
|
-
this.showMessage((message) => this._toastr.info(message), this.log, 'Info', message, detail);
|
|
32
|
-
};
|
|
33
|
-
/**
|
|
34
|
-
* Same as error() but for success message.
|
|
35
|
-
*/
|
|
36
|
-
this.success = (message, detail = null) => {
|
|
37
|
-
this.showMessage((message) => this._toastr.success(message), this.log, 'Success', message, detail);
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* Same as error() but for warning message.
|
|
41
|
-
*/
|
|
42
|
-
this.warning = (message, detail = null) => {
|
|
43
|
-
this.showMessage((message) => this._toastr.warning(message), this.log, 'Warning', message, detail);
|
|
44
|
-
};
|
|
45
|
-
this.log = (message) => {
|
|
46
|
-
var console = window.console;
|
|
47
|
-
!!console && console.log && console.log.apply && console.log.apply(console, [message]);
|
|
48
|
-
};
|
|
49
|
-
this.showErrorDialog = (title, message) => {
|
|
50
|
-
};
|
|
51
|
-
this.showExportDialog = () => {
|
|
52
|
-
return new Promise((resolve, reject) => {
|
|
53
|
-
let dialogConfig = new TruExportDialogConfig('Export');
|
|
54
|
-
let dialogRef = this._dialog.open(TruExportDialog, {
|
|
55
|
-
disableClose: true,
|
|
56
|
-
minWidth: "200px",
|
|
57
|
-
maxWidth: "400px",
|
|
58
|
-
data: dialogConfig
|
|
59
|
-
});
|
|
60
|
-
dialogRef.afterClosed().subscribe(dialogResult => {
|
|
61
|
-
resolve(dialogResult);
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
};
|
|
65
|
-
this.confirm = (title, message, displayCancelButton = true, displayConfirmButton = true, cancelButtonName = 'Cancel', confirmButtonName = 'Ok') => {
|
|
66
|
-
return new Promise((resolve, reject) => {
|
|
67
|
-
let dialogConfig = new TruConfirmDialogConfig(title, message, displayCancelButton, displayConfirmButton, cancelButtonName, confirmButtonName);
|
|
68
|
-
let dialogRef = this._dialog.open(TruConfirmDialog, {
|
|
69
|
-
disableClose: true,
|
|
70
|
-
minWidth: "200px",
|
|
71
|
-
maxWidth: "400px",
|
|
72
|
-
data: dialogConfig
|
|
73
|
-
});
|
|
74
|
-
dialogRef.afterClosed().subscribe(dialogResult => {
|
|
75
|
-
resolve(dialogResult);
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
};
|
|
79
|
-
this.changePassword = () => {
|
|
80
|
-
return new Promise((resolve, reject) => {
|
|
81
|
-
let dialogRef = this._dialog.open(TruPasswordDialog, {
|
|
82
|
-
disableClose: true,
|
|
83
|
-
minWidth: "400px",
|
|
84
|
-
maxWidth: "400px"
|
|
85
|
-
});
|
|
86
|
-
dialogRef.afterClosed().subscribe(dialogResult => {
|
|
87
|
-
resolve(dialogResult);
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
};
|
|
91
|
-
this._toastr = toastr;
|
|
92
|
-
this._dialog = dialog;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
TruUiNotification.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruUiNotification, deps: [{ token: i1.ToastrService }, { token: i2.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
96
|
-
TruUiNotification.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruUiNotification, providedIn: 'root' });
|
|
97
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruUiNotification, decorators: [{
|
|
98
|
-
type: Injectable,
|
|
99
|
-
args: [{
|
|
100
|
-
providedIn: 'root',
|
|
101
|
-
}]
|
|
102
|
-
}], ctorParameters: function () { return [{ type: i1.ToastrService }, { type: i2.MatDialog }]; } });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXVpLW5vdGlmaWNhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvdHJ1LXVpLW5vdGlmaWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN2RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7OztBQUt0RixNQUFNLE9BQU8saUJBQWlCO0lBSTVCLFlBQ1UsTUFBcUIsRUFDckIsTUFBaUI7UUFEakIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBSzNCLGdCQUFXLEdBQUcsQ0FBQyxLQUFVLEVBQUUsR0FBOEIsRUFBRSxNQUFjLEVBQUUsT0FBZSxFQUFFLFNBQStCLElBQUksRUFBRSxFQUFFO1lBQ2pJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNmLE9BQU8sR0FBRyxNQUFNLEdBQUcsSUFBSSxHQUFHLE9BQU8sQ0FBQztZQUNsQyxJQUFJLE1BQU07Z0JBQ1IsT0FBTyxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQixDQUFDLENBQUM7UUFFRjs7OztVQUlFO1FBQ0YsVUFBSyxHQUFHLENBQUMsT0FBZSxFQUFFLFNBQStCLElBQUksRUFBRSxFQUFFO1lBQy9ELElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFlLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8s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IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xyXG5pbXBvcnQgeyBUcnVDb25maXJtRGlhbG9nLCBUcnVDb25maXJtRGlhbG9nQ29uZmlnIH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy90cnUtY29uZmlybS1kaWFsb2cnO1xyXG5pbXBvcnQgeyBUcnVFeHBvcnREaWFsb2csIFRydUV4cG9ydERpYWxvZ0NvbmZpZyB9IGZyb20gJy4uL2NvbXBvbmVudHMvZXhwb3J0LWRpYWxvZy90cnUtZXhwb3J0LWRpYWxvZyc7XHJcbmltcG9ydCB7IFRydVBhc3N3b3JkRGlhbG9nIH0gZnJvbSAnLi4vY29tcG9uZW50cy9wYXNzd29yZC1kaWFsb2cvdHJ1LXBhc3N3b3JkLWRpYWxvZyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1VWlOb3RpZmljYXRpb24ge1xyXG4gIHByaXZhdGUgX3RvYXN0cjogVG9hc3RyU2VydmljZTtcclxuICBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRvYXN0cjogVG9hc3RyU2VydmljZSxcclxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2cpIHtcclxuICAgIHRoaXMuX3RvYXN0ciA9IHRvYXN0cjtcclxuICAgIHRoaXMuX2RpYWxvZyA9IGRpYWxvZztcclxuICB9XHJcblxyXG4gIHNob3dNZXNzYWdlID0gKHBvcHVwOiBhbnksIGxvZzogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZCwgcHJlZml4OiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZywgZGV0YWlsOiBBcnJheTxzdHJpbmc+IHwgbnVsbCA9IG51bGwpID0+IHtcclxuICAgIHBvcHVwKG1lc3NhZ2UpO1xyXG4gICAgbWVzc2FnZSA9IHByZWZpeCArICc6ICcgKyBtZXNzYWdlO1xyXG4gICAgaWYgKGRldGFpbClcclxuICAgICAgbWVzc2FnZSArPSAnXFxyXFxuJyArIGRldGFpbDtcclxuICAgIHRoaXMubG9nKG1lc3NhZ2UpO1xyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICogU2hvd3MgYXMgdG9hc3QgYW5kIGxvZ3MgdG8gc2VydmVyIGFuIGVycm9yIG1lc3NhZ2UgYW5kIG9wdGlvbmFsIGRldGFpbCBpbmZvcm1hdGlvbi5cclxuICAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIC0gRGlzcGxheWVkIGFzIHRvYXN0LlxyXG4gICogQHBhcmFtIHtzdHJpbmd9IFtkZXRhaWxdIC0gTG9nZ2VkIHRvIGNvbnNvbGUuXHJcbiAgKi9cclxuICBlcnJvciA9IChtZXNzYWdlOiBzdHJpbmcsIGRldGFpbDogQXJyYXk8c3RyaW5nPiB8IG51bGwgPSBudWxsKSA9PiB7XHJcbiAgICB0aGlzLnNob3dNZXNzYWdlKChtZXNzYWdlOiBzdHJpbmcpID0+IHRoaXMuX3RvYXN0ci5lcnJvcihtZXNzYWdlKSwgdGhpcy5sb2csICdFcnJvcicsIG1lc3NhZ2UsIGRldGFpbCk7XHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgICAqIFNhbWUgYXMgZXJyb3IoKSBidXQgZm9yIGluZm8gbWVzc2FnZS5cclxuICAgICovXHJcbiAgaW5mbyA9IChtZXNzYWdlOiBzdHJpbmcsIGRldGFpbDogQXJyYXk8c3RyaW5nPiB8IG51bGwgPSBudWxsKSA9PiB7XHJcbiAgICB0aGlzLnNob3dNZXNzYWdlKChtZXNzYWdlOiBzdHJpbmcpID0+IHRoaXMuX3RvYXN0ci5pbmZvKG1lc3NhZ2UpLCB0aGlzLmxvZywgJ0luZm8nLCBtZXNzYWdlLCBkZXRhaWwpO1xyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIFNhbWUgYXMgZXJyb3IoKSBidXQgZm9yIHN1Y2Nlc3MgbWVzc2FnZS5cclxuICAgKi9cclxuICBzdWNjZXNzID0gKG1lc3NhZ2U6IHN0cmluZywgZGV0YWlsOiBBcnJheTxzdHJpbmc+IHwgbnVsbCA9IG51bGwpID0+IHtcclxuICAgIHRoaXMuc2hvd01lc3NhZ2UoKG1lc3NhZ2U6IHN0cmluZykgPT4gdGhpcy5fdG9hc3RyLnN1Y2Nlc3MobWVzc2FnZSksIHRoaXMubG9nLCAnU3VjY2VzcycsIG1lc3NhZ2UsIGRldGFpbCk7XHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2FtZSBhcyBlcnJvcigpIGJ1dCBmb3Igd2FybmluZyBtZXNzYWdlLlxyXG4gICAqL1xyXG4gIHdhcm5pbmcgPSAobWVzc2FnZTogc3RyaW5nLCBkZXRhaWw6IEFycmF5PHN0cmluZz4gfCBudWxsID0gbnVsbCkgPT4ge1xyXG4gICAgdGhpcy5zaG93TWVzc2FnZSgobWVzc2FnZTogc3RyaW5nKSA9PiB0aGlzLl90b2FzdHIud2FybmluZyhtZXNzYWdlKSwgdGhpcy5sb2csICdXYXJuaW5nJywgbWVzc2FnZSwgZGV0YWlsKTtcclxuICB9O1xyXG5cclxuICBsb2cgPSAobWVzc2FnZTogc3RyaW5nKSA9PiB7XHJcbiAgICB2YXIgY29uc29sZSA9IHdpbmRvdy5jb25zb2xlO1xyXG4gICAgISFjb25zb2xlICYmIGNvbnNvbGUubG9nICYmIGNvbnNvbGUubG9nLmFwcGx5ICYmIGNvbnNvbGUubG9nLmFwcGx5KGNvbnNvbGUsIFttZXNzYWdlXSk7XHJcbiAgfVxyXG5cclxuICBzaG93RXJyb3JEaWFsb2cgPSAodGl0bGU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKSA9PiB7XHJcblxyXG4gIH07XHJcblxyXG4gIHNob3dFeHBvcnREaWFsb2cgPSAoKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8Ym9vbGVhbj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBsZXQgZGlhbG9nQ29uZmlnID0gbmV3IFRydUV4cG9ydERpYWxvZ0NvbmZpZygnRXhwb3J0Jyk7XHJcbiAgICAgIGxldCBkaWFsb2dSZWYgPSB0aGlzLl9kaWFsb2cub3BlbihUcnVFeHBvcnREaWFsb2csIHtcclxuICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgbWluV2lkdGg6IFwiMjAwcHhcIixcclxuICAgICAgICBtYXhXaWR0aDogXCI0MDBweFwiLFxyXG4gICAgICAgIGRhdGE6IGRpYWxvZ0NvbmZpZ1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShkaWFsb2dSZXN1bHQgPT4ge1xyXG4gICAgICAgIHJlc29sdmUoZGlhbG9nUmVzdWx0KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICBjb25maXJtID0gKFxyXG4gICAgdGl0bGU6IHN0cmluZyxcclxuICAgIG1lc3NhZ2U6IHN0cmluZyxcclxuICAgIGRpc3BsYXlDYW5jZWxCdXR0b246IGJvb2xlYW4gPSB0cnVlLFxyXG4gICAgZGlzcGxheUNvbmZpcm1CdXR0b246IGJvb2xlYW4gPSB0cnVlLFxyXG4gICAgY2FuY2VsQnV0dG9uTmFtZTogc3RyaW5nID0gJ0NhbmNlbCcsXHJcbiAgICBjb25maXJtQnV0dG9uTmFtZTogc3RyaW5nID0gJ09rJyk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPGJvb2xlYW4+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgbGV0IGRpYWxvZ0NvbmZpZyA9IG5ldyBUcnVDb25maXJtRGlhbG9nQ29uZmlnKFxyXG4gICAgICAgIHRpdGxlLFxyXG4gICAgICAgIG1lc3NhZ2UsXHJcbiAgICAgICAgZGlzcGxheUNhbmNlbEJ1dHRvbixcclxuICAgICAgICBkaXNwbGF5Q29uZmlybUJ1dHRvbixcclxuICAgICAgICBjYW5jZWxCdXR0b25OYW1lLFxyXG4gICAgICAgIGNvbmZpcm1CdXR0b25OYW1lKTtcclxuICAgICAgbGV0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZy5vcGVuKFRydUNvbmZpcm1EaWFsb2csIHtcclxuICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgbWluV2lkdGg6IFwiMjAwcHhcIixcclxuICAgICAgICBtYXhXaWR0aDogXCI0MDBweFwiLFxyXG4gICAgICAgIGRhdGE6IGRpYWxvZ0NvbmZpZ1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShkaWFsb2dSZXN1bHQgPT4ge1xyXG4gICAgICAgIHJlc29sdmUoZGlhbG9nUmVzdWx0KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICBjaGFuZ2VQYXNzd29yZCA9ICgpOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxib29sZWFuPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGxldCBkaWFsb2dSZWYgPSB0aGlzLl9kaWFsb2cub3BlbihUcnVQYXNzd29yZERpYWxvZywge1xyXG4gICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgICBtaW5XaWR0aDogXCI0MDBweFwiLFxyXG4gICAgICAgIG1heFdpZHRoOiBcIjQwMHB4XCJcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoZGlhbG9nUmVzdWx0ID0+IHtcclxuICAgICAgICByZXNvbHZlKGRpYWxvZ1Jlc3VsdCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as _ from 'underscore';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class TruUser {
|
|
5
|
-
constructor() {
|
|
6
|
-
this._ref = -1;
|
|
7
|
-
this._username = null;
|
|
8
|
-
this._firstName = null;
|
|
9
|
-
this._lastName = null;
|
|
10
|
-
this._email = null;
|
|
11
|
-
this._roles = null;
|
|
12
|
-
this.hasRoles = (roles) => {
|
|
13
|
-
if (this._roles === null)
|
|
14
|
-
return true;
|
|
15
|
-
return _.intersection(roles, this._roles).length > 0;
|
|
16
|
-
};
|
|
17
|
-
this.create = (user) => {
|
|
18
|
-
this._ref = user.activeUserRef;
|
|
19
|
-
this._username = user.username;
|
|
20
|
-
this._firstName = user.firstName;
|
|
21
|
-
this._lastName = user.lastName;
|
|
22
|
-
this._email = user.email;
|
|
23
|
-
this._roles = user.roles;
|
|
24
|
-
};
|
|
25
|
-
this.destroy = () => {
|
|
26
|
-
this._ref = -1;
|
|
27
|
-
this._username = null;
|
|
28
|
-
this._firstName = null;
|
|
29
|
-
this._lastName = null;
|
|
30
|
-
this._email = null;
|
|
31
|
-
this._roles = null;
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
get activeUserRef() {
|
|
35
|
-
if (this._ref < 0)
|
|
36
|
-
throw new Error('Inavlid User.');
|
|
37
|
-
return this._ref;
|
|
38
|
-
}
|
|
39
|
-
get username() {
|
|
40
|
-
return this._username;
|
|
41
|
-
}
|
|
42
|
-
get firstName() {
|
|
43
|
-
return this._firstName;
|
|
44
|
-
}
|
|
45
|
-
get lastName() {
|
|
46
|
-
return this._lastName;
|
|
47
|
-
}
|
|
48
|
-
get email() {
|
|
49
|
-
return this._email;
|
|
50
|
-
}
|
|
51
|
-
get roles() {
|
|
52
|
-
return this._roles;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
TruUser.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruUser, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
56
|
-
TruUser.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruUser, providedIn: 'root' });
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruUser, decorators: [{
|
|
58
|
-
type: Injectable,
|
|
59
|
-
args: [{
|
|
60
|
-
providedIn: 'root',
|
|
61
|
-
}]
|
|
62
|
-
}], ctorParameters: function () { return []; } });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXVzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL3NlcnZpY2VzL3RydS11c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLENBQUMsTUFBTSxZQUFZLENBQUM7O0FBS2hDLE1BQU0sT0FBTyxPQUFPO0lBUWxCO1FBUFEsU0FBSSxHQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLGNBQVMsR0FBa0IsSUFBSSxDQUFDO1FBQ2hDLGVBQVUsR0FBa0IsSUFBSSxDQUFDO1FBQ2pDLGNBQVMsR0FBa0IsSUFBSSxDQUFDO1FBQ2hDLFdBQU0sR0FBa0IsSUFBSSxDQUFDO1FBQzdCLFdBQU0sR0FBb0IsSUFBSSxDQUFDO1FBOEJ2QyxhQUFRLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtZQUM3QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSTtnQkFDdEIsT0FBTyxJQUFJLENBQUM7WUFDZCxPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQztRQUVGLFdBQU0sR0FBRyxDQUFDLElBQWMsRUFBUSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzNCLENBQUMsQ0FBQTtRQUVELFlBQU8sR0FBRyxHQUFTLEVBQUU7WUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLENBQUMsQ0FBQTtJQWxEYyxDQUFDO0lBRWhCLElBQUksYUFBYTtRQUNmLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7O29HQWxDVSxPQUFPO3dHQUFQLE9BQU8sY0FGTixNQUFNOzJGQUVQLE9BQU87a0JBSG5CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBfIGZyb20gJ3VuZGVyc2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRydVVzZXIgaW1wbGVtZW50cyBJVHJ1VXNlciB7XHJcbiAgcHJpdmF0ZSBfcmVmOiBudW1iZXIgPSAtMTtcclxuICBwcml2YXRlIF91c2VybmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfZmlyc3ROYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIF9sYXN0TmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfZW1haWw6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgX3JvbGVzOiBzdHJpbmdbXSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIGdldCBhY3RpdmVVc2VyUmVmKCk6IG51bWJlciB7XHJcbiAgICBpZiAodGhpcy5fcmVmIDwgMClcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbmF2bGlkIFVzZXIuJyk7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVmO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHVzZXJuYW1lKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuX3VzZXJuYW1lO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZpcnN0TmFtZSgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLl9maXJzdE5hbWU7XHJcbiAgfVxyXG5cclxuICBnZXQgbGFzdE5hbWUoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGFzdE5hbWU7XHJcbiAgfVxyXG5cclxuICBnZXQgZW1haWwoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fZW1haWw7XHJcbiAgfVxyXG5cclxuICBnZXQgcm9sZXMoKTogc3RyaW5nW10gfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLl9yb2xlcztcclxuICB9XHJcblxyXG4gIGhhc1JvbGVzID0gKHJvbGVzOiBzdHJpbmdbXSkgPT4ge1xyXG4gICAgaWYgKHRoaXMuX3JvbGVzID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIHJldHVybiBfLmludGVyc2VjdGlvbihyb2xlcywgdGhpcy5fcm9sZXMpLmxlbmd0aCA+IDA7IFxyXG4gIH07XHJcblxyXG4gIGNyZWF0ZSA9ICh1c2VyOiBJVHJ1VXNlcik6IHZvaWQgPT4ge1xyXG4gICAgdGhpcy5fcmVmID0gdXNlci5hY3RpdmVVc2VyUmVmO1xyXG4gICAgdGhpcy5fdXNlcm5hbWUgPSB1c2VyLnVzZXJuYW1lO1xyXG4gICAgdGhpcy5fZmlyc3ROYW1lID0gdXNlci5maXJzdE5hbWU7XHJcbiAgICB0aGlzLl9sYXN0TmFtZSA9IHVzZXIubGFzdE5hbWU7XHJcbiAgICB0aGlzLl9lbWFpbCA9IHVzZXIuZW1haWw7XHJcbiAgICB0aGlzLl9yb2xlcyA9IHVzZXIucm9sZXM7XHJcbiAgfVxyXG5cclxuICBkZXN0cm95ID0gKCk6IHZvaWQgPT4ge1xyXG4gICAgdGhpcy5fcmVmID0gLTE7XHJcbiAgICB0aGlzLl91c2VybmFtZSA9IG51bGw7XHJcbiAgICB0aGlzLl9maXJzdE5hbWUgPSBudWxsO1xyXG4gICAgdGhpcy5fbGFzdE5hbWUgPSBudWxsO1xyXG4gICAgdGhpcy5fZW1haWwgPSBudWxsO1xyXG4gICAgdGhpcy5fcm9sZXMgPSBudWxsO1xyXG4gIH0gXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRydVVzZXIge1xyXG4gIGFjdGl2ZVVzZXJSZWY6IG51bWJlcjtcclxuICB1c2VybmFtZTogc3RyaW5nIHwgbnVsbDtcclxuICBmaXJzdE5hbWU6IHN0cmluZyB8IG51bGw7XHJcbiAgbGFzdE5hbWU6IHN0cmluZyB8IG51bGw7XHJcbiAgZW1haWw6IHN0cmluZyB8IG51bGw7XHJcbiAgcm9sZXM6IHN0cmluZ1tdIHwgbnVsbDtcclxufVxyXG4iXX0=
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class TruUtil {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.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
|
-
this.findClosestAncestorByClass = (element, cssSelector) => {
|
|
17
|
-
let firstChar = cssSelector.charAt(0);
|
|
18
|
-
for (; element; element = element.parentNode) {
|
|
19
|
-
if (firstChar === '.') {
|
|
20
|
-
if (element.classList && element.classList.contains(cssSelector.substr(1))) {
|
|
21
|
-
return element;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return null;
|
|
26
|
-
};
|
|
27
|
-
this.isNumeric = (n) => {
|
|
28
|
-
return !isNaN(parseFloat(n)) && isFinite(n);
|
|
29
|
-
};
|
|
30
|
-
this.removeNonNumericCharactersFromStr = (value) => {
|
|
31
|
-
return value.replace(/[^0-9]/g, '');
|
|
32
|
-
};
|
|
33
|
-
this.isDate = (date) => {
|
|
34
|
-
if (Object.prototype.toString.call(date) === '[object Date]') {
|
|
35
|
-
if (isNaN(date.getTime())) {
|
|
36
|
-
return false;
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
return true;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
return false;
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
this.isValidDate = (value) => {
|
|
47
|
-
return !isNaN(Date.parse(value));
|
|
48
|
-
};
|
|
49
|
-
this.rulesEval = (styles) => {
|
|
50
|
-
let defaultStyles = {
|
|
51
|
-
'backgroundColor': '#ffffff',
|
|
52
|
-
'color': '#000000',
|
|
53
|
-
'font-style': 'normal',
|
|
54
|
-
'text-decoration': 'unset'
|
|
55
|
-
};
|
|
56
|
-
if (styles === null)
|
|
57
|
-
return defaultStyles;
|
|
58
|
-
if (Object.entries(styles).length !== 0) {
|
|
59
|
-
Object.assign(defaultStyles, styles);
|
|
60
|
-
return defaultStyles;
|
|
61
|
-
}
|
|
62
|
-
return defaultStyles;
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
tryParseBool(value, defaultValue) {
|
|
66
|
-
return (value == 'true' || value == 'false' || value === true || value === false) && JSON.parse(value) || defaultValue;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
TruUtil.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruUtil, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
70
|
-
TruUtil.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruUtil, providedIn: 'root' });
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruUtil, decorators: [{
|
|
72
|
-
type: Injectable,
|
|
73
|
-
args: [{
|
|
74
|
-
providedIn: 'root',
|
|
75
|
-
}]
|
|
76
|
-
}], ctorParameters: function () { return []; } });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL3NlcnZpY2VzL3RydS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXZELE1BQU0sT0FBTyxPQUFPO0lBRWxCO1FBRUEsZ0JBQVcsR0FBRyxDQUFDLEdBQVEsRUFBRSxZQUFpQixFQUFFLEVBQUU7WUFDNUMsSUFBSSxRQUFRLEdBQUcsWUFBWSxDQUFDO1lBQzVCLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtnQkFDaEIsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTt3QkFDZixRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3FCQUMxQjtpQkFDRjthQUNGO1lBQ0QsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQyxDQUFDO1FBTUYsK0JBQTBCLEdBQUcsQ0FBQyxPQUFZLEVBQUUsV0FBbUIsRUFBRSxFQUFFO1lBQ2pFLElBQUksU0FBUyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEMsT0FBTyxPQUFPLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQUU7Z0JBQzVDLElBQUksU0FBUyxLQUFLLEdBQUcsRUFBRTtvQkFDckIsSUFBSSxPQUFPLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTt3QkFDMUUsT0FBTyxPQUFPLENBQUM7cUJBQ2hCO2lCQUNGO2FBQ0Y7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztRQUVGLGNBQVMsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQTtRQUVELHNDQUFpQyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDcEQsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUE7UUFFRCxXQUFNLEdBQUcsQ0FBQyxJQUFVLEVBQUUsRUFBRTtZQUN0QixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxlQUFlLEVBQUU7Z0JBQzVELElBQUksS0FBSyxDQUFFLElBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFO29CQUNuQyxPQUFPLEtBQUssQ0FBQztpQkFDZDtxQkFDSTtvQkFDSCxPQUFPLElBQUksQ0FBQztpQkFDYjthQUNGO2lCQUNJO2dCQUNILE9BQU8sS0FBSyxDQUFDO2FBQ2Q7UUFDSCxDQUFDLENBQUM7UUFFRixnQkFBVyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDOUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFBO1FBRUQsY0FBUyxHQUFHLENBQUMsTUFBcUIsRUFBVSxFQUFFO1lBQzVDLElBQUksYUFBYSxHQUFHO2dCQUNsQixpQkFBaUIsRUFBRSxTQUFTO2dCQUM1QixPQUFPLEVBQUUsU0FBUztnQkFDbEIsWUFBWSxFQUFFLFFBQVE7Z0JBQ3RCLGlCQUFpQixFQUFFLE9BQU87YUFDM0IsQ0FBQTtZQUNELElBQUksTUFBTSxLQUFLLElBQUk7Z0JBQ2pCLE9BQU8sYUFBYSxDQUFDO1lBQ3ZCLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUN2QyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDckMsT0FBTyxhQUFhLENBQUM7YUFDdEI7WUFDRCxPQUFPLGFBQWEsQ0FBQztRQUN2QixDQUFDLENBQUE7SUF0RWUsQ0FBQztJQWNqQixZQUFZLENBQUMsS0FBVSxFQUFFLFlBQWlCO1FBQ3hDLE9BQU8sQ0FBQyxLQUFLLElBQUksTUFBTSxJQUFJLEtBQUssSUFBSSxPQUFPLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxZQUFZLENBQUM7SUFDekgsQ0FBQzs7b0dBbEJVLE9BQU87d0dBQVAsT0FBTyxjQUZOLE1BQU07MkZBRVAsT0FBTztrQkFIbkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVVdGlsIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgdHJ5UGFyc2VJbnQgPSAoc3RyOiBhbnksIGRlZmF1bHRWYWx1ZTogYW55KSA9PiB7XHJcbiAgICB2YXIgcmV0VmFsdWUgPSBkZWZhdWx0VmFsdWU7XHJcbiAgICBpZiAoc3RyICE9PSBudWxsKSB7XHJcbiAgICAgIGlmIChzdHIubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGlmICghaXNOYU4oc3RyKSkge1xyXG4gICAgICAgICAgcmV0VmFsdWUgPSBwYXJzZUludChzdHIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJldFZhbHVlO1xyXG4gIH07XHJcblxyXG4gIHRyeVBhcnNlQm9vbCh2YWx1ZTogYW55LCBkZWZhdWx0VmFsdWU6IGFueSkge1xyXG4gICAgcmV0dXJuICh2YWx1ZSA9PSAndHJ1ZScgfHwgdmFsdWUgPT0gJ2ZhbHNlJyB8fCB2YWx1ZSA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gZmFsc2UpICYmIEpTT04ucGFyc2UodmFsdWUpIHx8IGRlZmF1bHRWYWx1ZTtcclxuICB9XHJcblxyXG4gIGZpbmRDbG9zZXN0QW5jZXN0b3JCeUNsYXNzID0gKGVsZW1lbnQ6IGFueSwgY3NzU2VsZWN0b3I6IHN0cmluZykgPT4ge1xyXG4gICAgbGV0IGZpcnN0Q2hhciA9IGNzc1NlbGVjdG9yLmNoYXJBdCgwKTtcclxuICAgIGZvciAoOyBlbGVtZW50OyBlbGVtZW50ID0gZWxlbWVudC5wYXJlbnROb2RlKSB7XHJcbiAgICAgIGlmIChmaXJzdENoYXIgPT09ICcuJykge1xyXG4gICAgICAgIGlmIChlbGVtZW50LmNsYXNzTGlzdCAmJiBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhjc3NTZWxlY3Rvci5zdWJzdHIoMSkpKSB7XHJcbiAgICAgICAgICByZXR1cm4gZWxlbWVudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH07XHJcblxyXG4gIGlzTnVtZXJpYyA9IChuOiBhbnkpID0+IHtcclxuICAgIHJldHVybiAhaXNOYU4ocGFyc2VGbG9hdChuKSkgJiYgaXNGaW5pdGUobik7XHJcbiAgfVxyXG5cclxuICByZW1vdmVOb25OdW1lcmljQ2hhcmFjdGVyc0Zyb21TdHIgPSAodmFsdWU6IHN0cmluZykgPT4ge1xyXG4gICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1teMC05XS9nLCAnJyk7XHJcbiAgfVxyXG5cclxuICBpc0RhdGUgPSAoZGF0ZTogRGF0ZSkgPT4ge1xyXG4gICAgaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChkYXRlKSA9PT0gJ1tvYmplY3QgRGF0ZV0nKSB7XHJcbiAgICAgIGlmIChpc05hTigoZGF0ZSBhcyBEYXRlKS5nZXRUaW1lKCkpKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIGlzVmFsaWREYXRlID0gKHZhbHVlOiBzdHJpbmcpID0+IHtcclxuICAgIHJldHVybiAhaXNOYU4oRGF0ZS5wYXJzZSh2YWx1ZSkpO1xyXG4gIH1cclxuXHJcbiAgcnVsZXNFdmFsID0gKHN0eWxlczogb2JqZWN0IHwgbnVsbCk6IG9iamVjdCA9PiB7XHJcbiAgICBsZXQgZGVmYXVsdFN0eWxlcyA9IHtcclxuICAgICAgJ2JhY2tncm91bmRDb2xvcic6ICcjZmZmZmZmJyxcclxuICAgICAgJ2NvbG9yJzogJyMwMDAwMDAnLFxyXG4gICAgICAnZm9udC1zdHlsZSc6ICdub3JtYWwnLFxyXG4gICAgICAndGV4dC1kZWNvcmF0aW9uJzogJ3Vuc2V0J1xyXG4gICAgfVxyXG4gICAgaWYgKHN0eWxlcyA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuIGRlZmF1bHRTdHlsZXM7XHJcbiAgICBpZiAoT2JqZWN0LmVudHJpZXMoc3R5bGVzKS5sZW5ndGggIT09IDApIHtcclxuICAgICAgT2JqZWN0LmFzc2lnbihkZWZhdWx0U3R5bGVzLCBzdHlsZXMpO1xyXG4gICAgICByZXR1cm4gZGVmYXVsdFN0eWxlcztcclxuICAgIH1cclxuICAgIHJldHVybiBkZWZhdWx0U3R5bGVzO1xyXG4gIH1cclxufVxyXG4iXX0=
|