@sumaris-net/ngx-components 2.6.26 → 2.7.0-rc10
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/esm2022/public_api.mjs +339 -0
- package/{esm2020 → esm2022}/src/app/admin/admin-routing.module.mjs +8 -8
- package/{esm2020 → esm2022}/src/app/admin/admin.module.mjs +12 -12
- package/esm2022/src/app/admin/services/filter/person.filter.mjs +69 -0
- package/esm2022/src/app/admin/services/person.service.mjs +174 -0
- package/esm2022/src/app/admin/services/validator/person.validator.mjs +72 -0
- package/esm2022/src/app/admin/users/users.mjs +264 -0
- package/esm2022/src/app/admin/users/users.module.mjs +58 -0
- package/{esm2020 → esm2022}/src/app/core/about/about.modal.mjs +20 -7
- package/{esm2020 → esm2022}/src/app/core/about/about.module.mjs +9 -9
- package/{esm2020 → esm2022}/src/app/core/account/account.module.mjs +22 -22
- package/esm2022/src/app/core/account/account.page.mjs +337 -0
- package/esm2022/src/app/core/account/new-token.modal.mjs +130 -0
- package/esm2022/src/app/core/account/token.table.mjs +146 -0
- package/esm2022/src/app/core/auth/auth.form.mjs +140 -0
- package/esm2022/src/app/core/auth/auth.modal.mjs +76 -0
- package/{esm2020 → esm2022}/src/app/core/auth/auth.module.mjs +16 -16
- package/{esm2020 → esm2022}/src/app/core/core.module.mjs +87 -87
- package/esm2022/src/app/core/core.testing.module.mjs +93 -0
- package/esm2022/src/app/core/form/buttons/form-buttons-bar.component.mjs +109 -0
- package/{esm2020 → esm2022}/src/app/core/form/buttons/form-buttons-bar.module.mjs +10 -10
- package/esm2022/src/app/core/form/entity/editor.class.mjs +718 -0
- package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +436 -0
- package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +730 -0
- package/esm2022/src/app/core/form/entity/entity-metadata.component.mjs +24 -0
- package/{esm2020 → esm2022}/src/app/core/form/entity/entity.module.mjs +11 -11
- package/esm2022/src/app/core/form/form.class.mjs +353 -0
- package/{esm2020 → esm2022}/src/app/core/form/form.module.mjs +30 -30
- package/esm2022/src/app/core/form/form.utils.mjs +485 -0
- package/esm2022/src/app/core/form/list/list.form.mjs +233 -0
- package/{esm2020 → esm2022}/src/app/core/form/list/list.module.mjs +10 -10
- package/esm2022/src/app/core/form/properties/properties.form.mjs +143 -0
- package/{esm2020 → esm2022}/src/app/core/form/properties/properties.module.mjs +13 -13
- package/esm2022/src/app/core/form/properties/properties.table.mjs +269 -0
- package/esm2022/src/app/core/form/properties/property.validator.mjs +24 -0
- package/esm2022/src/app/core/form/properties/testing/properties-form.test.mjs +95 -0
- package/{esm2020 → esm2022}/src/app/core/form/properties/testing/properties-form.testing.module.mjs +11 -11
- package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.mjs +73 -0
- package/{esm2020 → esm2022}/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +10 -10
- package/esm2022/src/app/core/form/text-popover/text-popover.component.mjs +152 -0
- package/{esm2020 → esm2022}/src/app/core/form/text-popover/text-popover.module.mjs +10 -10
- package/{esm2020 → esm2022}/src/app/core/graphql/graphql.module.mjs +6 -6
- package/esm2022/src/app/core/graphql/graphql.service.mjs +788 -0
- package/esm2022/src/app/core/graphql/graphql.utils.mjs +118 -0
- package/esm2022/src/app/core/home/home.mjs +282 -0
- package/esm2022/src/app/core/home/home.module.mjs +51 -0
- package/esm2022/src/app/core/icon/icon.component.mjs +40 -0
- package/{esm2020 → esm2022}/src/app/core/icon/icon.module.mjs +7 -7
- package/esm2022/src/app/core/install/install-upgrade-card.component.mjs +358 -0
- package/{esm2020 → esm2022}/src/app/core/install/install-upgrade-card.module.mjs +10 -10
- package/esm2022/src/app/core/menu/menu.component.mjs +264 -0
- package/esm2022/src/app/core/menu/menu.model.mjs +269 -0
- package/esm2022/src/app/core/menu/menu.module.mjs +52 -0
- package/esm2022/src/app/core/menu/menu.service.mjs +671 -0
- package/esm2022/src/app/core/menu/sub-menu-tab.directive.mjs +109 -0
- package/{esm2020 → esm2022}/src/app/core/menu/testing/menu-other.testing.mjs +5 -5
- package/esm2022/src/app/core/menu/testing/menu.testing.mjs +122 -0
- package/{esm2020 → esm2022}/src/app/core/menu/testing/menu.testing.module.mjs +12 -12
- package/esm2022/src/app/core/offline/update-offline-mode-card.component.mjs +29 -0
- package/{esm2020 → esm2022}/src/app/core/offline/update-offline-mode-card.module.mjs +10 -10
- package/esm2022/src/app/core/peer/select-peer.modal.mjs +193 -0
- package/{esm2020 → esm2022}/src/app/core/peer/select-peer.module.mjs +13 -13
- package/{esm2020 → esm2022}/src/app/core/register/register-confirm.page.mjs +16 -9
- package/esm2022/src/app/core/register/register.form.mjs +194 -0
- package/esm2022/src/app/core/register/register.modal.mjs +55 -0
- package/{esm2020 → esm2022}/src/app/core/register/register.module.mjs +13 -13
- package/esm2022/src/app/core/services/account.service.mjs +1243 -0
- package/esm2022/src/app/core/services/auth-guard.service.mjs +76 -0
- package/esm2022/src/app/core/services/base-entity-service.class.mjs +482 -0
- package/esm2022/src/app/core/services/base-graphql-service.class.mjs +224 -0
- package/esm2022/src/app/core/services/base58.mjs +79 -0
- package/esm2022/src/app/core/services/config.service.mjs +367 -0
- package/esm2022/src/app/core/services/crypto.service.mjs +107 -0
- package/{esm2020 → esm2022}/src/app/core/services/errors.mjs +3 -3
- package/esm2022/src/app/core/services/local-settings.service.mjs +468 -0
- package/esm2022/src/app/core/services/model/account.model.mjs +155 -0
- package/esm2022/src/app/core/services/model/config.model.mjs +107 -0
- package/esm2022/src/app/core/services/model/department.model.mjs +34 -0
- package/esm2022/src/app/core/services/model/entity.decorators.mjs +97 -0
- package/esm2022/src/app/core/services/model/entity.model.mjs +228 -0
- package/{esm2020 → esm2022}/src/app/core/services/model/filter.model.mjs +1 -1
- package/esm2022/src/app/core/services/model/peer.model.mjs +83 -0
- package/esm2022/src/app/core/services/model/person.model.mjs +110 -0
- package/esm2022/src/app/core/services/model/referential.model.mjs +189 -0
- package/esm2022/src/app/core/services/model/token.model.mjs +57 -0
- package/esm2022/src/app/core/services/model/tree-item-entity.model.mjs +199 -0
- package/esm2022/src/app/core/services/network.service.mjs +626 -0
- package/esm2022/src/app/core/services/network.types.mjs +20 -0
- package/esm2022/src/app/core/services/network.utils.mjs +15 -0
- package/{esm2020 → esm2022}/src/app/core/services/pipes/account.pipes.mjs +9 -9
- package/{esm2020 → esm2022}/src/app/core/services/pipes/department-to-string.pipe.mjs +5 -5
- package/{esm2020 → esm2022}/src/app/core/services/pipes/person-to-string.pipe.mjs +5 -5
- package/{esm2020 → esm2022}/src/app/core/services/pipes/usage-mode.pipes.mjs +9 -9
- package/esm2022/src/app/core/services/platform.service.mjs +557 -0
- package/esm2022/src/app/core/services/storage/entities-storage.service.mjs +434 -0
- package/esm2022/src/app/core/services/storage/entity-store.class.mjs +458 -0
- package/esm2022/src/app/core/services/testing/referential-filter.model.mjs +25 -0
- package/esm2022/src/app/core/services/testing/referential.validator.mjs +46 -0
- package/esm2022/src/app/core/services/validator/account.validator.mjs +45 -0
- package/esm2022/src/app/core/services/validator/base.validator.class.mjs +49 -0
- package/esm2022/src/app/core/services/validator/local-settings.validator.mjs +67 -0
- package/{esm2020 → esm2022}/src/app/core/services/validator/user-settings.validator.mjs +5 -5
- package/{esm2020 → esm2022}/src/app/core/services/validator/user-token.validator.mjs +5 -5
- package/{esm2020 → esm2022}/src/app/core/settings/settings.module.mjs +9 -9
- package/esm2022/src/app/core/settings/settings.page.mjs +328 -0
- package/esm2022/src/app/core/table/actions-column.component.mjs +115 -0
- package/esm2022/src/app/core/table/async-table.class.mjs +1740 -0
- package/esm2022/src/app/core/table/entities-async-table-datasource.class.mjs +386 -0
- package/esm2022/src/app/core/table/entities-table-datasource.class.mjs +401 -0
- package/esm2022/src/app/core/table/memory-table.class.mjs +57 -0
- package/esm2022/src/app/core/table/table-select-columns.component.mjs +46 -0
- package/esm2022/src/app/core/table/table.class.mjs +1781 -0
- package/esm2022/src/app/core/table/table.model.mjs +16 -0
- package/{esm2020 → esm2022}/src/app/core/table/table.module.mjs +12 -12
- package/esm2022/src/app/core/table/table.utils.mjs +33 -0
- package/esm2022/src/app/core/table/testing/table-validator.service.mjs +28 -0
- package/esm2022/src/app/core/table/testing/table.testing.mjs +291 -0
- package/esm2022/src/app/core/table/testing/table.testing.module.mjs +50 -0
- package/esm2022/src/app/core/table/testing/table2-validator.service.mjs +25 -0
- package/esm2022/src/app/core/table/testing/table2.testing.mjs +250 -0
- package/esm2022/src/app/shared/alerts.mjs +239 -0
- package/esm2022/src/app/shared/audio/audio.mjs +251 -0
- package/esm2022/src/app/shared/audio/audio.testing.mjs +32 -0
- package/{esm2020 → esm2022}/src/app/shared/audio/audio.testing.module.mjs +10 -10
- package/esm2022/src/app/shared/capacitor/keyboard.mjs +42 -0
- package/esm2022/src/app/shared/capacitor/plugins.mjs +9 -0
- package/esm2022/src/app/shared/dates.mjs +149 -0
- package/esm2022/src/app/shared/debug/debug.component.mjs +40 -0
- package/{esm2020 → esm2022}/src/app/shared/debug/debug.module.mjs +14 -14
- package/esm2022/src/app/shared/directives/autofocus.directive.mjs +98 -0
- package/esm2022/src/app/shared/directives/autotitle.directive.mjs +32 -0
- package/{esm2020 → esm2022}/src/app/shared/directives/directives.module.mjs +13 -13
- package/esm2022/src/app/shared/directives/drag-and-drop.directive.mjs +52 -0
- package/esm2022/src/app/shared/directives/ng-var.directive.mjs +33 -0
- package/esm2022/src/app/shared/directives/resizable/resizable.component.mjs +62 -0
- package/esm2022/src/app/shared/directives/resizable/resizable.directive.mjs +45 -0
- package/{esm2020 → esm2022}/src/app/shared/directives/resizable/resizable.module.mjs +5 -5
- package/esm2022/src/app/shared/events.mjs +65 -0
- package/esm2022/src/app/shared/file/csv.utils.mjs +72 -0
- package/esm2022/src/app/shared/file/file.service.mjs +122 -0
- package/esm2022/src/app/shared/file/file.utils.mjs +113 -0
- package/esm2022/src/app/shared/file/images.utils.mjs +161 -0
- package/{esm2020 → esm2022}/src/app/shared/file/json.utils.mjs +1 -1
- package/esm2022/src/app/shared/file/uri.utils.mjs +24 -0
- package/esm2022/src/app/shared/form/field.component.mjs +353 -0
- package/{esm2020 → esm2022}/src/app/shared/form/field.model.mjs +1 -1
- package/esm2022/src/app/shared/form/loading-spinner.mjs +35 -0
- package/esm2022/src/app/shared/forms.mjs +414 -0
- package/esm2022/src/app/shared/functions.mjs +483 -0
- package/esm2022/src/app/shared/geolocation/geolocation.utils.mjs +82 -0
- package/esm2022/src/app/shared/gesture/gesture-config.mjs +46 -0
- package/{esm2020 → esm2022}/src/app/shared/graph/colors.utils.mjs +1 -1
- package/esm2022/src/app/shared/graph/graph-colors.mjs +219 -0
- package/esm2022/src/app/shared/guard/component-dirty.guard.mjs +59 -0
- package/esm2022/src/app/shared/help/help.modal.mjs +63 -0
- package/esm2022/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +23 -0
- package/esm2022/src/app/shared/hotkeys/hotkeys.service.mjs +85 -0
- package/{esm2020 → esm2022}/src/app/shared/hotkeys/shared-hotkeys.module.mjs +13 -13
- package/esm2022/src/app/shared/http/http.utils.mjs +56 -0
- package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +388 -0
- package/{esm2020 → esm2022}/src/app/shared/image/gallery/image-gallery.module.mjs +22 -22
- package/esm2022/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +26 -0
- package/esm2022/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +90 -0
- package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.mjs +41 -0
- package/{esm2020 → esm2022}/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +16 -16
- package/{esm2020 → esm2022}/src/app/shared/image/image.module.mjs +11 -11
- package/esm2022/src/app/shared/image/image.service.mjs +104 -0
- package/esm2022/src/app/shared/inputs.mjs +231 -0
- package/esm2022/src/app/shared/interceptors/progess.interceptor.mjs +28 -0
- package/esm2022/src/app/shared/logging/logger.model.mjs +47 -0
- package/esm2022/src/app/shared/logging/logging-service.class.mjs +128 -0
- package/{esm2020 → esm2022}/src/app/shared/logging/logging-service.module.mjs +8 -8
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +49 -0
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +967 -0
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +82 -0
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +17 -0
- package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +217 -0
- package/esm2022/src/app/shared/material/badge/badge.directive.mjs +209 -0
- package/{esm2020 → esm2022}/src/app/shared/material/badge/badge.module.mjs +9 -9
- package/esm2022/src/app/shared/material/badge/badge.test.mjs +42 -0
- package/esm2022/src/app/shared/material/boolean/boolean.module.mjs +67 -0
- package/esm2022/src/app/shared/material/boolean/material-boolean.mjs +262 -0
- package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +53 -0
- package/esm2022/src/app/shared/material/chips/chips.module.mjs +76 -0
- package/esm2022/src/app/shared/material/chips/material.chips.mjs +719 -0
- package/esm2022/src/app/shared/material/chips/testing/chips.test.mjs +148 -0
- package/esm2022/src/app/shared/material/datetime/datetime.module.mjs +90 -0
- package/esm2022/src/app/shared/material/datetime/material.date.mjs +424 -0
- package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +432 -0
- package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +612 -0
- package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +132 -0
- package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +123 -0
- package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +115 -0
- package/esm2022/src/app/shared/material/duration/duration.module.mjs +70 -0
- package/esm2022/src/app/shared/material/duration/duration.utils.mjs +36 -0
- package/esm2022/src/app/shared/material/duration/material.duration.mjs +273 -0
- package/esm2022/src/app/shared/material/duration/testing/mat-duration.test.mjs +79 -0
- package/esm2022/src/app/shared/material/latlong/latlong.utils.mjs +266 -0
- package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +440 -0
- package/esm2022/src/app/shared/material/latlong/material.latlong.module.mjs +72 -0
- package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +113 -0
- package/esm2022/src/app/shared/material/material.module.mjs +229 -0
- package/esm2022/src/app/shared/material/material.testing.module.mjs +221 -0
- package/esm2022/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +104 -0
- package/{esm2020 → esm2022}/src/app/shared/material/numpad/numpad.component.mjs +19 -16
- package/esm2022/src/app/shared/material/numpad/numpad.container.mjs +203 -0
- package/esm2022/src/app/shared/material/numpad/numpad.content.mjs +19 -0
- package/esm2022/src/app/shared/material/numpad/numpad.directive.mjs +168 -0
- package/esm2022/src/app/shared/material/numpad/numpad.dom-service.mjs +36 -0
- package/esm2022/src/app/shared/material/numpad/numpad.model.mjs +16 -0
- package/{esm2020 → esm2022}/src/app/shared/material/numpad/numpad.module.mjs +21 -21
- package/esm2022/src/app/shared/material/numpad/testing/numpad.test.mjs +48 -0
- package/esm2022/src/app/shared/material/paginator/material.paginator-i18n.mjs +48 -0
- package/esm2022/src/app/shared/material/stepper/material.stepper-i18n.mjs +23 -0
- package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +368 -0
- package/esm2022/src/app/shared/material/swipe/swipe.module.mjs +56 -0
- package/esm2022/src/app/shared/material/swipe/testing/swipe.test.mjs +67 -0
- package/esm2022/src/app/shared/material/testing/common.test.mjs +105 -0
- package/esm2022/src/app/shared/material/text/testing/text-form.testing.mjs +31 -0
- package/esm2022/src/app/shared/material/text/text-form.component.mjs +97 -0
- package/{esm2020 → esm2022}/src/app/shared/material/text/text-form.module.mjs +24 -24
- package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +246 -0
- package/esm2022/src/app/shared/named-filter/named-filter.model.mjs +49 -0
- package/{esm2020 → esm2022}/src/app/shared/named-filter/named-filter.module.mjs +5 -5
- package/esm2022/src/app/shared/named-filter/named-filter.service.mjs +69 -0
- package/esm2022/src/app/shared/observables.mjs +104 -0
- package/esm2022/src/app/shared/pipes/arrays.pipe.mjs +141 -0
- package/esm2022/src/app/shared/pipes/colors.pipe.mjs +27 -0
- package/esm2022/src/app/shared/pipes/date-diff-duration.pipe.mjs +51 -0
- package/esm2022/src/app/shared/pipes/date-format.pipe.mjs +72 -0
- package/esm2022/src/app/shared/pipes/date-from-now.pipe.mjs +28 -0
- package/esm2022/src/app/shared/pipes/duration.pipe.mjs +36 -0
- package/esm2022/src/app/shared/pipes/file-size.pipe.mjs +60 -0
- package/esm2022/src/app/shared/pipes/form.pipes.mjs +194 -0
- package/esm2022/src/app/shared/pipes/highlight.pipe.mjs +48 -0
- package/esm2022/src/app/shared/pipes/latlong-format.pipe.mjs +42 -0
- package/{esm2020 → esm2022}/src/app/shared/pipes/maps.pipe.mjs +13 -13
- package/esm2022/src/app/shared/pipes/maskito.pipe.mjs +69 -0
- package/esm2022/src/app/shared/pipes/math.pipes.mjs +59 -0
- package/esm2022/src/app/shared/pipes/ng-init.pipe.mjs +19 -0
- package/esm2022/src/app/shared/pipes/number-format.pipe.mjs +30 -0
- package/esm2022/src/app/shared/pipes/pipes.module.mjs +252 -0
- package/esm2022/src/app/shared/pipes/property.pipes.mjs +97 -0
- package/esm2022/src/app/shared/pipes/string.pipes.mjs +135 -0
- package/esm2022/src/app/shared/pipes/translate-context.pipe.mjs +44 -0
- package/esm2022/src/app/shared/pipes/types.pipes.mjs +58 -0
- package/esm2022/src/app/shared/platforms.mjs +43 -0
- package/esm2022/src/app/shared/rx-state.module.mjs +23 -0
- package/esm2022/src/app/shared/services/job.utils.mjs +92 -0
- package/esm2022/src/app/shared/services/memory-entity-service.class.mjs +347 -0
- package/esm2022/src/app/shared/services/progress-bar.service.mjs +31 -0
- package/esm2022/src/app/shared/services/startable-observable-service.class.mjs +121 -0
- package/esm2022/src/app/shared/services/startable-service.class.mjs +113 -0
- package/esm2022/src/app/shared/services/translate-context.service.mjs +104 -0
- package/esm2022/src/app/shared/services.mjs +62 -0
- package/esm2022/src/app/shared/shared-routing.module.mjs +71 -0
- package/esm2022/src/app/shared/shared.module.mjs +231 -0
- package/{esm2020 → esm2022}/src/app/shared/shared.testing.module.mjs +40 -40
- package/esm2022/src/app/shared/storage/storage-explorer.component.mjs +286 -0
- package/esm2022/src/app/shared/storage/storage-explorer.module.mjs +46 -0
- package/{esm2020 → esm2022}/src/app/shared/storage/storage-explorer.testing-routing.module.mjs +7 -7
- package/{esm2020 → esm2022}/src/app/shared/storage/storage-explorer.testing.module.mjs +6 -6
- package/esm2022/src/app/shared/storage/storage.service.mjs +134 -0
- package/{esm2020 → esm2022}/src/app/shared/storage/storage.utils.mjs +1 -1
- package/esm2022/src/app/shared/testing/observable.test.mjs +96 -0
- package/esm2022/src/app/shared/testing/tests.page.mjs +37 -0
- package/esm2022/src/app/shared/toast/toast.testing.mjs +52 -0
- package/{esm2020 → esm2022}/src/app/shared/toast/toast.testing.module.mjs +10 -10
- package/esm2022/src/app/shared/toast/toasts.mjs +144 -0
- package/esm2022/src/app/shared/toolbar/modal-toolbar.mjs +60 -0
- package/esm2022/src/app/shared/toolbar/toolbar.mjs +263 -0
- package/esm2022/src/app/shared/toolbar/toolbar.module.mjs +57 -0
- package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.mjs +59 -0
- package/{esm2020 → esm2022}/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +10 -10
- package/esm2022/src/app/shared/upload-file/upload-file-popover.component.mjs +107 -0
- package/esm2022/src/app/shared/upload-file/upload-file.component.mjs +211 -0
- package/esm2022/src/app/shared/upload-file/upload-file.model.mjs +27 -0
- package/esm2022/src/app/shared/validator/form-error-adapter.class.mjs +106 -0
- package/esm2022/src/app/shared/validator/validators.mjs +580 -0
- package/esm2022/src/app/shared/version/versions.mjs +81 -0
- package/esm2022/src/app/social/job/job.module.mjs +42 -0
- package/esm2022/src/app/social/job/progression/job-progression.component.mjs +35 -0
- package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +232 -0
- package/esm2022/src/app/social/job/progression/job-progression.list.mjs +50 -0
- package/esm2022/src/app/social/job/progression/job-progression.model.mjs +29 -0
- package/esm2022/src/app/social/job/progression/job-progression.service.mjs +73 -0
- package/esm2022/src/app/social/job/testing/job-progression.testing.mjs +43 -0
- package/esm2022/src/app/social/job/testing/job-progression.testing.service.mjs +53 -0
- package/{esm2020 → esm2022}/src/app/social/job/testing/job.testing.module.mjs +9 -9
- package/esm2022/src/app/social/message/message.form.mjs +140 -0
- package/esm2022/src/app/social/message/message.modal.mjs +110 -0
- package/esm2022/src/app/social/message/message.model.mjs +75 -0
- package/{esm2020 → esm2022}/src/app/social/message/message.module.mjs +5 -5
- package/esm2022/src/app/social/message/message.service.mjs +110 -0
- package/{esm2020 → esm2022}/src/app/social/social.module.mjs +19 -19
- package/{esm2020 → esm2022}/src/app/social/social.testing.module.mjs +10 -10
- package/esm2022/src/app/social/user-event/notification/user-event-notification.icon.mjs +123 -0
- package/esm2022/src/app/social/user-event/notification/user-event-notification.list.mjs +263 -0
- package/esm2022/src/app/social/user-event/testing/user-event.testing.mjs +233 -0
- package/esm2022/src/app/social/user-event/testing/user-event.testing.model.mjs +129 -0
- package/{esm2020 → esm2022}/src/app/social/user-event/testing/user-event.testing.module.mjs +9 -9
- package/esm2022/src/app/social/user-event/testing/user-event.testing.service.mjs +116 -0
- package/esm2022/src/app/social/user-event/user-event.module.mjs +43 -0
- package/esm2022/src/app/social/user-event/user-event.service.mjs +512 -0
- package/esm2022/src/environments/environment.class.mjs +50 -0
- package/esm2022/src/environments/environment.loader.mjs +83 -0
- package/esm2022/src/environments/environment.mjs +97 -0
- package/{fesm2020 → fesm2022}/sumaris-net.ngx-components.mjs +13100 -10864
- package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -0
- package/package.json +37 -17
- package/public_api.d.ts +12 -5
- package/src/app/admin/users/users.d.ts +1 -1
- package/src/app/admin/users/users.module.d.ts +2 -1
- package/src/app/core/about/about.modal.d.ts +1 -1
- package/src/app/core/account/account.page.d.ts +1 -1
- package/src/app/core/account/new-token.modal.d.ts +1 -1
- package/src/app/core/account/token.table.d.ts +1 -1
- package/src/app/core/auth/auth.form.d.ts +1 -1
- package/src/app/core/auth/auth.modal.d.ts +1 -1
- package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +1 -1
- package/src/app/core/form/entity/editor.class.d.ts +3 -3
- package/src/app/core/form/entity/entity-editor-modal.class.d.ts +1 -1
- package/src/app/core/form/entity/entity-editor.class.d.ts +1 -1
- package/src/app/core/form/entity/entity-metadata.component.d.ts +1 -1
- package/src/app/core/form/form.class.d.ts +1 -1
- package/src/app/core/form/list/list.form.d.ts +1 -1
- package/src/app/core/form/properties/properties.form.d.ts +1 -1
- package/src/app/core/form/properties/properties.table.d.ts +2 -3
- package/src/app/core/form/properties/property.validator.d.ts +1 -1
- package/src/app/core/form/properties/testing/properties-form.test.d.ts +1 -1
- package/src/app/core/form/text-popover/testing/text-popover.testing.d.ts +1 -1
- package/src/app/core/form/text-popover/text-popover.component.d.ts +1 -1
- package/src/app/core/graphql/graphql.utils.d.ts +1 -1
- package/src/app/core/home/home.d.ts +1 -1
- package/src/app/core/home/home.module.d.ts +4 -3
- package/src/app/core/icon/icon.component.d.ts +1 -1
- package/src/app/core/install/install-upgrade-card.component.d.ts +1 -1
- package/src/app/core/menu/menu.component.d.ts +2 -2
- package/src/app/core/menu/menu.model.d.ts +0 -1
- package/src/app/core/menu/menu.module.d.ts +3 -5
- package/src/app/core/menu/menu.service.d.ts +1 -1
- package/src/app/core/menu/sub-menu-tab.directive.d.ts +1 -1
- package/src/app/core/menu/testing/menu-other.testing.d.ts +1 -1
- package/src/app/core/menu/testing/menu.testing.d.ts +1 -1
- package/src/app/core/offline/update-offline-mode-card.component.d.ts +1 -1
- package/src/app/core/peer/select-peer.modal.d.ts +1 -1
- package/src/app/core/register/register-confirm.page.d.ts +1 -1
- package/src/app/core/register/register.form.d.ts +1 -1
- package/src/app/core/register/register.modal.d.ts +1 -1
- package/src/app/core/services/base-entity-service.class.d.ts +2 -2
- package/src/app/core/services/base-graphql-service.class.d.ts +1 -1
- package/src/app/core/services/model/person.model.d.ts +1 -1
- package/src/app/core/services/model/settings.model.d.ts +1 -1
- package/src/app/core/services/network.types.d.ts +2 -2
- package/src/app/core/services/storage/entity-store.class.d.ts +1 -1
- package/src/app/core/services/validator/base.validator.class.d.ts +1 -1
- package/src/app/core/settings/settings.page.d.ts +1 -1
- package/src/app/core/table/actions-column.component.d.ts +2 -2
- package/src/app/core/table/async-table.class.d.ts +1 -1
- package/src/app/core/table/entities-async-table-datasource.class.d.ts +1 -1
- package/src/app/core/table/entities-table-datasource.class.d.ts +1 -1
- package/src/app/core/table/memory-table.class.d.ts +3 -3
- package/src/app/core/table/table-select-columns.component.d.ts +1 -1
- package/src/app/core/table/table.class.d.ts +4 -3
- package/src/app/core/table/table.model.d.ts +1 -1
- package/src/app/core/table/testing/table.testing.d.ts +5 -4
- package/src/app/core/table/testing/table.testing.module.d.ts +8 -5
- package/src/app/core/table/testing/table2-validator.service.d.ts +15 -0
- package/src/app/core/table/testing/table2.testing.d.ts +45 -0
- package/src/app/shared/audio/audio.d.ts +1 -1
- package/src/app/shared/audio/audio.testing.d.ts +1 -1
- package/src/app/shared/debug/debug.component.d.ts +1 -1
- package/src/app/shared/directives/autofocus.directive.d.ts +1 -1
- package/src/app/shared/directives/autotitle.directive.d.ts +1 -1
- package/src/app/shared/directives/drag-and-drop.directive.d.ts +1 -1
- package/src/app/shared/directives/ng-var.directive.d.ts +1 -1
- package/src/app/shared/directives/resizable/resizable.component.d.ts +1 -1
- package/src/app/shared/directives/resizable/resizable.directive.d.ts +1 -1
- package/src/app/shared/events.d.ts +1 -1
- package/src/app/shared/form/field.component.d.ts +4 -5
- package/src/app/shared/form/field.model.d.ts +2 -0
- package/src/app/shared/form/loading-spinner.d.ts +1 -1
- package/src/app/shared/functions.d.ts +2 -2
- package/src/app/shared/help/help.modal.d.ts +2 -2
- package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.d.ts +3 -5
- package/src/app/shared/hotkeys/hotkeys.service.d.ts +3 -3
- package/src/app/shared/image/gallery/image-gallery.component.d.ts +3 -3
- package/src/app/shared/image/gallery/testing/gallery.testing.d.ts +2 -2
- package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +10 -8
- package/src/app/shared/material/autocomplete/material.autocomplete.module.d.ts +10 -9
- package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +1 -1
- package/src/app/shared/material/badge/badge.directive.d.ts +1 -1
- package/src/app/shared/material/badge/badge.test.d.ts +1 -1
- package/src/app/shared/material/boolean/boolean.module.d.ts +5 -5
- package/src/app/shared/material/boolean/{material.boolean.d.ts → material-boolean.d.ts} +20 -23
- package/src/app/shared/material/boolean/testing/boolean.test.page.d.ts +21 -0
- package/src/app/shared/material/chips/material.chips.d.ts +8 -9
- package/src/app/shared/material/chips/testing/chips.test.d.ts +2 -2
- package/src/app/shared/material/datetime/datetime.module.d.ts +2 -2
- package/src/app/shared/material/datetime/material.date.d.ts +8 -5
- package/src/app/shared/material/datetime/material.dateshort.d.ts +11 -8
- package/src/app/shared/material/datetime/material.datetime.d.ts +24 -12
- package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +7 -1
- package/src/app/shared/material/datetime/testing/mat-date.test.d.ts +3 -1
- package/src/app/shared/material/datetime/testing/mat-dateshort.test.d.ts +3 -1
- package/src/app/shared/material/duration/duration.module.d.ts +6 -5
- package/src/app/shared/material/duration/material.duration.d.ts +6 -5
- package/src/app/shared/material/duration/testing/mat-duration.test.d.ts +22 -0
- package/src/app/shared/material/latlong/material.latlong.d.ts +16 -9
- package/src/app/shared/material/latlong/material.latlong.module.d.ts +9 -8
- package/src/app/shared/material/latlong/testing/latlong.test.d.ts +3 -1
- package/src/app/shared/material/material.testing.module.d.ts +23 -19
- package/src/app/shared/material/numpad/numpad.append-to-input.directive.d.ts +1 -1
- package/src/app/shared/material/numpad/numpad.component.d.ts +1 -1
- package/src/app/shared/material/numpad/numpad.container.d.ts +1 -1
- package/src/app/shared/material/numpad/numpad.content.d.ts +1 -1
- package/src/app/shared/material/numpad/numpad.directive.d.ts +1 -1
- package/src/app/shared/material/numpad/numpad.dom-service.d.ts +3 -3
- package/src/app/shared/material/numpad/testing/numpad.test.d.ts +1 -1
- package/src/app/shared/material/paginator/material.paginator-i18n.d.ts +0 -3
- package/src/app/shared/material/swipe/material.swipe.d.ts +6 -6
- package/src/app/shared/material/swipe/swipe.module.d.ts +2 -1
- package/src/app/shared/material/swipe/testing/swipe.test.d.ts +1 -1
- package/src/app/shared/material/testing/common.test.d.ts +25 -0
- package/src/app/shared/material/text/testing/text-form.testing.d.ts +1 -1
- package/src/app/shared/material/text/text-form.component.d.ts +1 -1
- package/src/app/shared/named-filter/named-filter-selector.component.d.ts +4 -1
- package/src/app/shared/named-filter/named-filter.service.d.ts +1 -1
- package/src/app/shared/pipes/maskito.pipe.d.ts +9 -0
- package/src/app/shared/pipes/ng-init.pipe.d.ts +1 -1
- package/src/app/shared/pipes/pipes.module.d.ts +5 -4
- package/src/app/shared/pipes/string.pipes.d.ts +6 -0
- package/src/app/shared/pipes/types.pipes.d.ts +7 -0
- package/src/app/shared/rx-state.module.d.ts +10 -0
- package/src/app/shared/services/job.utils.d.ts +1 -1
- package/src/app/shared/services/memory-entity-service.class.d.ts +1 -1
- package/src/app/shared/services/startable-observable-service.class.d.ts +3 -0
- package/src/app/shared/services/startable-service.class.d.ts +3 -0
- package/src/app/shared/shared.module.d.ts +4 -4
- package/src/app/shared/storage/storage-explorer.component.d.ts +1 -1
- package/src/app/shared/storage/storage-explorer.module.d.ts +3 -3
- package/src/app/shared/storage/storage.service.d.ts +1 -1
- package/src/app/shared/storage/storage.utils.d.ts +1 -1
- package/src/app/shared/testing/observable.test.d.ts +1 -1
- package/src/app/shared/testing/tests.page.d.ts +1 -1
- package/src/app/shared/toast/toast.testing.d.ts +1 -1
- package/src/app/shared/toolbar/modal-toolbar.d.ts +1 -1
- package/src/app/shared/toolbar/toolbar.d.ts +1 -1
- package/src/app/shared/toolbar/toolbar.module.d.ts +4 -3
- package/src/app/shared/upload-file/testing/upload-file.testing.d.ts +1 -1
- package/src/app/shared/upload-file/upload-file-popover.component.d.ts +1 -1
- package/src/app/shared/upload-file/upload-file.component.d.ts +1 -1
- package/src/app/shared/upload-file/upload-file.model.d.ts +2 -2
- package/src/app/social/job/progression/job-progression.component.d.ts +17 -3
- package/src/app/social/job/progression/job-progression.icon.d.ts +24 -10
- package/src/app/social/job/progression/job-progression.list.d.ts +3 -3
- package/src/app/social/job/progression/job-progression.model.d.ts +0 -1
- package/src/app/social/job/testing/job-progression.testing.d.ts +3 -6
- package/src/app/social/message/message.form.d.ts +1 -1
- package/src/app/social/message/message.modal.d.ts +1 -1
- package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +4 -3
- package/src/app/social/user-event/notification/user-event-notification.list.d.ts +1 -1
- package/src/app/social/user-event/testing/user-event.testing.d.ts +1 -1
- package/src/app/social/user-event/testing/user-event.testing.model.d.ts +0 -1
- package/src/app/social/user-event/user-event.model.d.ts +2 -2
- package/src/app/social/user-event/user-event.module.d.ts +3 -2
- package/src/app/social/user-event/user-event.service.d.ts +1 -1
- package/src/assets/i18n/fr.json +2 -2
- package/src/assets/img/logo/logo-eis.png +0 -0
- package/src/assets/manifest.json +1 -1
- package/src/environments/environment.loader.d.ts +1 -1
- package/src/theme/_material.globals.scss +51 -19
- package/src/theme/_material.scss +35 -19
- package/src/theme/_mixins.scss +4 -4
- package/src/theme/_ngx-components.globals.scss +6 -1
- package/src/theme/_ngx-components.scss +262 -538
- package/src/theme/_ngx-components.table.scss +597 -0
- package/src/theme/_theme.scss +1 -0
- package/esm2020/public_api.mjs +0 -332
- package/esm2020/src/app/admin/services/filter/person.filter.mjs +0 -59
- package/esm2020/src/app/admin/services/person.service.mjs +0 -170
- package/esm2020/src/app/admin/services/validator/person.validator.mjs +0 -71
- package/esm2020/src/app/admin/users/users.mjs +0 -250
- package/esm2020/src/app/admin/users/users.module.mjs +0 -54
- package/esm2020/src/app/core/account/account.page.mjs +0 -319
- package/esm2020/src/app/core/account/new-token.modal.mjs +0 -121
- package/esm2020/src/app/core/account/token.table.mjs +0 -141
- package/esm2020/src/app/core/auth/auth.form.mjs +0 -131
- package/esm2020/src/app/core/auth/auth.modal.mjs +0 -72
- package/esm2020/src/app/core/core.testing.module.mjs +0 -86
- package/esm2020/src/app/core/form/buttons/form-buttons-bar.component.mjs +0 -107
- package/esm2020/src/app/core/form/entity/editor.class.mjs +0 -685
- package/esm2020/src/app/core/form/entity/entity-editor-modal.class.mjs +0 -422
- package/esm2020/src/app/core/form/entity/entity-editor.class.mjs +0 -696
- package/esm2020/src/app/core/form/entity/entity-metadata.component.mjs +0 -25
- package/esm2020/src/app/core/form/form.class.mjs +0 -345
- package/esm2020/src/app/core/form/form.utils.mjs +0 -476
- package/esm2020/src/app/core/form/list/list.form.mjs +0 -222
- package/esm2020/src/app/core/form/properties/properties.form.mjs +0 -132
- package/esm2020/src/app/core/form/properties/properties.table.mjs +0 -267
- package/esm2020/src/app/core/form/properties/property.validator.mjs +0 -23
- package/esm2020/src/app/core/form/properties/testing/properties-form.test.mjs +0 -90
- package/esm2020/src/app/core/form/text-popover/testing/text-popover.testing.mjs +0 -70
- package/esm2020/src/app/core/form/text-popover/text-popover.component.mjs +0 -146
- package/esm2020/src/app/core/graphql/graphql.service.mjs +0 -776
- package/esm2020/src/app/core/graphql/graphql.utils.mjs +0 -117
- package/esm2020/src/app/core/home/home.mjs +0 -257
- package/esm2020/src/app/core/home/home.module.mjs +0 -48
- package/esm2020/src/app/core/icon/icon.component.mjs +0 -41
- package/esm2020/src/app/core/install/install-upgrade-card.component.mjs +0 -344
- package/esm2020/src/app/core/menu/menu.component.mjs +0 -242
- package/esm2020/src/app/core/menu/menu.model.mjs +0 -247
- package/esm2020/src/app/core/menu/menu.module.mjs +0 -57
- package/esm2020/src/app/core/menu/menu.service.mjs +0 -660
- package/esm2020/src/app/core/menu/sub-menu-tab.directive.mjs +0 -98
- package/esm2020/src/app/core/menu/testing/menu.testing.mjs +0 -121
- package/esm2020/src/app/core/offline/update-offline-mode-card.component.mjs +0 -27
- package/esm2020/src/app/core/peer/select-peer.modal.mjs +0 -183
- package/esm2020/src/app/core/register/register.form.mjs +0 -183
- package/esm2020/src/app/core/register/register.modal.mjs +0 -52
- package/esm2020/src/app/core/services/account.service.mjs +0 -1235
- package/esm2020/src/app/core/services/auth-guard.service.mjs +0 -71
- package/esm2020/src/app/core/services/base-entity-service.class.mjs +0 -468
- package/esm2020/src/app/core/services/base-graphql-service.class.mjs +0 -221
- package/esm2020/src/app/core/services/base58.mjs +0 -78
- package/esm2020/src/app/core/services/config.service.mjs +0 -357
- package/esm2020/src/app/core/services/crypto.service.mjs +0 -107
- package/esm2020/src/app/core/services/local-settings.service.mjs +0 -460
- package/esm2020/src/app/core/services/model/account.model.mjs +0 -147
- package/esm2020/src/app/core/services/model/config.model.mjs +0 -92
- package/esm2020/src/app/core/services/model/department.model.mjs +0 -30
- package/esm2020/src/app/core/services/model/entity.decorators.mjs +0 -97
- package/esm2020/src/app/core/services/model/entity.model.mjs +0 -225
- package/esm2020/src/app/core/services/model/peer.model.mjs +0 -68
- package/esm2020/src/app/core/services/model/person.model.mjs +0 -97
- package/esm2020/src/app/core/services/model/referential.model.mjs +0 -167
- package/esm2020/src/app/core/services/model/token.model.mjs +0 -52
- package/esm2020/src/app/core/services/model/tree-item-entity.model.mjs +0 -199
- package/esm2020/src/app/core/services/network.service.mjs +0 -607
- package/esm2020/src/app/core/services/network.types.mjs +0 -20
- package/esm2020/src/app/core/services/network.utils.mjs +0 -15
- package/esm2020/src/app/core/services/platform.service.mjs +0 -535
- package/esm2020/src/app/core/services/storage/entities-storage.service.mjs +0 -428
- package/esm2020/src/app/core/services/storage/entity-store.class.mjs +0 -449
- package/esm2020/src/app/core/services/testing/referential-filter.model.mjs +0 -23
- package/esm2020/src/app/core/services/testing/referential.validator.mjs +0 -45
- package/esm2020/src/app/core/services/validator/account.validator.mjs +0 -41
- package/esm2020/src/app/core/services/validator/base.validator.class.mjs +0 -47
- package/esm2020/src/app/core/services/validator/local-settings.validator.mjs +0 -66
- package/esm2020/src/app/core/settings/settings.page.mjs +0 -312
- package/esm2020/src/app/core/table/actions-column.component.mjs +0 -102
- package/esm2020/src/app/core/table/async-table.class.mjs +0 -1698
- package/esm2020/src/app/core/table/entities-async-table-datasource.class.mjs +0 -384
- package/esm2020/src/app/core/table/entities-table-datasource.class.mjs +0 -399
- package/esm2020/src/app/core/table/memory-table.class.mjs +0 -53
- package/esm2020/src/app/core/table/table-select-columns.component.mjs +0 -43
- package/esm2020/src/app/core/table/table.class.mjs +0 -1733
- package/esm2020/src/app/core/table/table.model.mjs +0 -12
- package/esm2020/src/app/core/table/table.utils.mjs +0 -33
- package/esm2020/src/app/core/table/testing/table-validator.service.mjs +0 -27
- package/esm2020/src/app/core/table/testing/table.testing.mjs +0 -281
- package/esm2020/src/app/core/table/testing/table.testing.module.mjs +0 -38
- package/esm2020/src/app/shared/alerts.mjs +0 -239
- package/esm2020/src/app/shared/audio/audio.mjs +0 -248
- package/esm2020/src/app/shared/audio/audio.testing.mjs +0 -31
- package/esm2020/src/app/shared/capacitor/keyboard.mjs +0 -40
- package/esm2020/src/app/shared/capacitor/plugins.mjs +0 -9
- package/esm2020/src/app/shared/dates.mjs +0 -149
- package/esm2020/src/app/shared/debug/debug.component.mjs +0 -39
- package/esm2020/src/app/shared/directives/autofocus.directive.mjs +0 -93
- package/esm2020/src/app/shared/directives/autotitle.directive.mjs +0 -30
- package/esm2020/src/app/shared/directives/drag-and-drop.directive.mjs +0 -53
- package/esm2020/src/app/shared/directives/ng-var.directive.mjs +0 -31
- package/esm2020/src/app/shared/directives/resizable/resizable.component.mjs +0 -59
- package/esm2020/src/app/shared/directives/resizable/resizable.directive.mjs +0 -40
- package/esm2020/src/app/shared/events.mjs +0 -65
- package/esm2020/src/app/shared/file/csv.utils.mjs +0 -72
- package/esm2020/src/app/shared/file/file.service.mjs +0 -117
- package/esm2020/src/app/shared/file/file.utils.mjs +0 -113
- package/esm2020/src/app/shared/file/images.utils.mjs +0 -161
- package/esm2020/src/app/shared/file/uri.utils.mjs +0 -24
- package/esm2020/src/app/shared/form/field.component.mjs +0 -332
- package/esm2020/src/app/shared/form/loading-spinner.mjs +0 -36
- package/esm2020/src/app/shared/forms.mjs +0 -414
- package/esm2020/src/app/shared/functions.mjs +0 -482
- package/esm2020/src/app/shared/geolocation/geolocation.utils.mjs +0 -80
- package/esm2020/src/app/shared/gesture/gesture-config.mjs +0 -49
- package/esm2020/src/app/shared/graph/graph-colors.mjs +0 -212
- package/esm2020/src/app/shared/guard/component-dirty.guard.mjs +0 -57
- package/esm2020/src/app/shared/help/help.modal.mjs +0 -53
- package/esm2020/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +0 -23
- package/esm2020/src/app/shared/hotkeys/hotkeys.service.mjs +0 -84
- package/esm2020/src/app/shared/http/http.utils.mjs +0 -56
- package/esm2020/src/app/shared/image/gallery/image-gallery.component.mjs +0 -368
- package/esm2020/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +0 -27
- package/esm2020/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +0 -90
- package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.mjs +0 -39
- package/esm2020/src/app/shared/image/image.service.mjs +0 -98
- package/esm2020/src/app/shared/inputs.mjs +0 -231
- package/esm2020/src/app/shared/interceptors/progess.interceptor.mjs +0 -27
- package/esm2020/src/app/shared/logging/logger.model.mjs +0 -47
- package/esm2020/src/app/shared/logging/logging-service.class.mjs +0 -121
- package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +0 -47
- package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.mjs +0 -920
- package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +0 -78
- package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +0 -17
- package/esm2020/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +0 -209
- package/esm2020/src/app/shared/material/badge/badge.directive.mjs +0 -199
- package/esm2020/src/app/shared/material/badge/badge.test.mjs +0 -41
- package/esm2020/src/app/shared/material/boolean/boolean.module.mjs +0 -68
- package/esm2020/src/app/shared/material/boolean/material.boolean.mjs +0 -253
- package/esm2020/src/app/shared/material/chips/chips.module.mjs +0 -76
- package/esm2020/src/app/shared/material/chips/material.chips.mjs +0 -696
- package/esm2020/src/app/shared/material/chips/testing/chips.test.mjs +0 -143
- package/esm2020/src/app/shared/material/datetime/datetime.module.mjs +0 -91
- package/esm2020/src/app/shared/material/datetime/material.date.mjs +0 -376
- package/esm2020/src/app/shared/material/datetime/material.dateshort.mjs +0 -385
- package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +0 -499
- package/esm2020/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +0 -109
- package/esm2020/src/app/shared/material/datetime/testing/mat-date.test.mjs +0 -111
- package/esm2020/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +0 -103
- package/esm2020/src/app/shared/material/duration/duration.module.mjs +0 -67
- package/esm2020/src/app/shared/material/duration/duration.utils.mjs +0 -36
- package/esm2020/src/app/shared/material/duration/material.duration.mjs +0 -257
- package/esm2020/src/app/shared/material/latlong/latlong.utils.mjs +0 -266
- package/esm2020/src/app/shared/material/latlong/material.latlong.mjs +0 -382
- package/esm2020/src/app/shared/material/latlong/material.latlong.module.mjs +0 -67
- package/esm2020/src/app/shared/material/latlong/testing/latlong.test.mjs +0 -102
- package/esm2020/src/app/shared/material/material.module.mjs +0 -229
- package/esm2020/src/app/shared/material/material.testing.module.mjs +0 -179
- package/esm2020/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +0 -98
- package/esm2020/src/app/shared/material/numpad/numpad.container.mjs +0 -190
- package/esm2020/src/app/shared/material/numpad/numpad.content.mjs +0 -17
- package/esm2020/src/app/shared/material/numpad/numpad.directive.mjs +0 -162
- package/esm2020/src/app/shared/material/numpad/numpad.dom-service.mjs +0 -37
- package/esm2020/src/app/shared/material/numpad/numpad.model.mjs +0 -15
- package/esm2020/src/app/shared/material/numpad/testing/numpad.test.mjs +0 -46
- package/esm2020/src/app/shared/material/paginator/material.paginator-i18n.mjs +0 -46
- package/esm2020/src/app/shared/material/stepper/material.stepper-i18n.mjs +0 -22
- package/esm2020/src/app/shared/material/swipe/material.swipe.mjs +0 -344
- package/esm2020/src/app/shared/material/swipe/swipe.module.mjs +0 -52
- package/esm2020/src/app/shared/material/swipe/testing/swipe.test.mjs +0 -64
- package/esm2020/src/app/shared/material/text/testing/text-form.testing.mjs +0 -29
- package/esm2020/src/app/shared/material/text/text-form.component.mjs +0 -89
- package/esm2020/src/app/shared/named-filter/named-filter-selector.component.mjs +0 -224
- package/esm2020/src/app/shared/named-filter/named-filter.model.mjs +0 -45
- package/esm2020/src/app/shared/named-filter/named-filter.service.mjs +0 -63
- package/esm2020/src/app/shared/observables.mjs +0 -104
- package/esm2020/src/app/shared/pipes/arrays.pipe.mjs +0 -141
- package/esm2020/src/app/shared/pipes/colors.pipe.mjs +0 -25
- package/esm2020/src/app/shared/pipes/date-diff-duration.pipe.mjs +0 -48
- package/esm2020/src/app/shared/pipes/date-format.pipe.mjs +0 -66
- package/esm2020/src/app/shared/pipes/date-from-now.pipe.mjs +0 -27
- package/esm2020/src/app/shared/pipes/duration.pipe.mjs +0 -34
- package/esm2020/src/app/shared/pipes/file-size.pipe.mjs +0 -62
- package/esm2020/src/app/shared/pipes/form.pipes.mjs +0 -187
- package/esm2020/src/app/shared/pipes/highlight.pipe.mjs +0 -48
- package/esm2020/src/app/shared/pipes/latlong-format.pipe.mjs +0 -46
- package/esm2020/src/app/shared/pipes/math.pipes.mjs +0 -59
- package/esm2020/src/app/shared/pipes/ng-init.pipe.mjs +0 -21
- package/esm2020/src/app/shared/pipes/number-format.pipe.mjs +0 -30
- package/esm2020/src/app/shared/pipes/pipes.module.mjs +0 -239
- package/esm2020/src/app/shared/pipes/property.pipes.mjs +0 -93
- package/esm2020/src/app/shared/pipes/string.pipes.mjs +0 -121
- package/esm2020/src/app/shared/pipes/translate-context.pipe.mjs +0 -43
- package/esm2020/src/app/shared/pipes/types.pipes.mjs +0 -45
- package/esm2020/src/app/shared/platforms.mjs +0 -43
- package/esm2020/src/app/shared/services/job.utils.mjs +0 -92
- package/esm2020/src/app/shared/services/memory-entity-service.class.mjs +0 -339
- package/esm2020/src/app/shared/services/progress-bar.service.mjs +0 -33
- package/esm2020/src/app/shared/services/startable-observable-service.class.mjs +0 -118
- package/esm2020/src/app/shared/services/startable-service.class.mjs +0 -110
- package/esm2020/src/app/shared/services/translate-context.service.mjs +0 -103
- package/esm2020/src/app/shared/services.mjs +0 -62
- package/esm2020/src/app/shared/shared-routing.module.mjs +0 -71
- package/esm2020/src/app/shared/shared.module.mjs +0 -229
- package/esm2020/src/app/shared/storage/storage-explorer.component.mjs +0 -268
- package/esm2020/src/app/shared/storage/storage-explorer.module.mjs +0 -47
- package/esm2020/src/app/shared/storage/storage.service.mjs +0 -132
- package/esm2020/src/app/shared/testing/observable.test.mjs +0 -95
- package/esm2020/src/app/shared/testing/tests.page.mjs +0 -33
- package/esm2020/src/app/shared/toast/toast.testing.mjs +0 -51
- package/esm2020/src/app/shared/toast/toasts.mjs +0 -144
- package/esm2020/src/app/shared/toolbar/modal-toolbar.mjs +0 -58
- package/esm2020/src/app/shared/toolbar/toolbar.mjs +0 -251
- package/esm2020/src/app/shared/toolbar/toolbar.module.mjs +0 -53
- package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.mjs +0 -58
- package/esm2020/src/app/shared/upload-file/upload-file-popover.component.mjs +0 -97
- package/esm2020/src/app/shared/upload-file/upload-file.component.mjs +0 -204
- package/esm2020/src/app/shared/upload-file/upload-file.model.mjs +0 -20
- package/esm2020/src/app/shared/validator/form-error-adapter.class.mjs +0 -104
- package/esm2020/src/app/shared/validator/validators.mjs +0 -580
- package/esm2020/src/app/shared/version/versions.mjs +0 -81
- package/esm2020/src/app/social/job/job.module.mjs +0 -42
- package/esm2020/src/app/social/job/progression/job-progression.component.mjs +0 -20
- package/esm2020/src/app/social/job/progression/job-progression.icon.mjs +0 -216
- package/esm2020/src/app/social/job/progression/job-progression.list.mjs +0 -43
- package/esm2020/src/app/social/job/progression/job-progression.model.mjs +0 -23
- package/esm2020/src/app/social/job/progression/job-progression.service.mjs +0 -71
- package/esm2020/src/app/social/job/testing/job-progression.testing.mjs +0 -52
- package/esm2020/src/app/social/job/testing/job-progression.testing.service.mjs +0 -55
- package/esm2020/src/app/social/message/message.form.mjs +0 -136
- package/esm2020/src/app/social/message/message.modal.mjs +0 -99
- package/esm2020/src/app/social/message/message.model.mjs +0 -67
- package/esm2020/src/app/social/message/message.service.mjs +0 -105
- package/esm2020/src/app/social/user-event/notification/user-event-notification.icon.mjs +0 -114
- package/esm2020/src/app/social/user-event/notification/user-event-notification.list.mjs +0 -246
- package/esm2020/src/app/social/user-event/testing/user-event.testing.mjs +0 -227
- package/esm2020/src/app/social/user-event/testing/user-event.testing.model.mjs +0 -112
- package/esm2020/src/app/social/user-event/testing/user-event.testing.service.mjs +0 -111
- package/esm2020/src/app/social/user-event/user-event.module.mjs +0 -39
- package/esm2020/src/app/social/user-event/user-event.service.mjs +0 -501
- package/esm2020/src/environments/environment.class.mjs +0 -5
- package/esm2020/src/environments/environment.loader.mjs +0 -79
- package/esm2020/src/environments/environment.mjs +0 -97
- package/fesm2015/sumaris-net.ngx-components.mjs +0 -41105
- package/fesm2015/sumaris-net.ngx-components.mjs.map +0 -1
- package/fesm2020/sumaris-net.ngx-components.mjs.map +0 -1
- package/resources/README.md +0 -7
- /package/{esm2020 → esm2022}/src/app/core/services/config/core.config.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/core/services/model/history.model.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/core/services/model/model.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/core/services/model/settings.model.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/constants.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/debug/debug-service.class.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/focusable.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/gesture/hammer.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/image/image.model.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/logging/log-level.model.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/logging/logging-service.config.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/material/material.animations.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/modules.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/services/entity-service.class.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/services/validator-service.class.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/types.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/social/social.errors.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/social/user-event/user-event.model.mjs +0 -0
- /package/{esm2020 → esm2022}/sumaris-net.ngx-components.mjs +0 -0
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { equals, isNotNil } from '../functions';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../validator/form-error-adapter.class";
|
|
5
|
+
export class FormErrorTranslatePipe {
|
|
6
|
+
adapter;
|
|
7
|
+
_ref;
|
|
8
|
+
value = '';
|
|
9
|
+
_lastForm = null;
|
|
10
|
+
_lastOptions = null;
|
|
11
|
+
_onFormStatusChanges;
|
|
12
|
+
constructor(adapter, _ref) {
|
|
13
|
+
this.adapter = adapter;
|
|
14
|
+
this._ref = _ref;
|
|
15
|
+
}
|
|
16
|
+
transform(form, opts) {
|
|
17
|
+
if (!form) {
|
|
18
|
+
this._dispose();
|
|
19
|
+
return '';
|
|
20
|
+
}
|
|
21
|
+
// if we ask another time for the same form and opts, return the last value
|
|
22
|
+
if (form === this._lastForm && equals(opts, this._lastOptions)) {
|
|
23
|
+
return this.value;
|
|
24
|
+
}
|
|
25
|
+
// store the query, in case it changes
|
|
26
|
+
this._lastForm = form;
|
|
27
|
+
// store the params, in case they change
|
|
28
|
+
this._lastOptions = opts;
|
|
29
|
+
// set the value
|
|
30
|
+
this._updateValue(form, opts);
|
|
31
|
+
// if there is a subscription to onLangChange, clean it
|
|
32
|
+
this._dispose();
|
|
33
|
+
// subscribe to onTranslationChange event, in case the translations change
|
|
34
|
+
if (!this._onFormStatusChanges) {
|
|
35
|
+
this._onFormStatusChanges = form.statusChanges.subscribe((status) => {
|
|
36
|
+
this._updateValue(form, opts, status);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return this.value;
|
|
40
|
+
}
|
|
41
|
+
ngOnDestroy() {
|
|
42
|
+
this._dispose();
|
|
43
|
+
}
|
|
44
|
+
_updateValue(form, opts, status) {
|
|
45
|
+
if (status === 'INVALID' || form.invalid) {
|
|
46
|
+
this.value = this.adapter.translateFormErrors(form, opts);
|
|
47
|
+
this._ref.markForCheck();
|
|
48
|
+
}
|
|
49
|
+
else if (this.value !== undefined) {
|
|
50
|
+
this.value = undefined;
|
|
51
|
+
this._ref.markForCheck();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Clean any existing subscription to change events
|
|
56
|
+
*/
|
|
57
|
+
_dispose() {
|
|
58
|
+
this._onFormStatusChanges?.unsubscribe();
|
|
59
|
+
this._onFormStatusChanges = undefined;
|
|
60
|
+
}
|
|
61
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: FormErrorTranslatePipe, deps: [{ token: i1.FormErrorTranslator }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
62
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: FormErrorTranslatePipe, name: "translateFormError", pure: false });
|
|
63
|
+
}
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: FormErrorTranslatePipe, decorators: [{
|
|
65
|
+
type: Pipe,
|
|
66
|
+
args: [{
|
|
67
|
+
name: 'translateFormError',
|
|
68
|
+
pure: false
|
|
69
|
+
}]
|
|
70
|
+
}], ctorParameters: () => [{ type: i1.FormErrorTranslator }, { type: i0.ChangeDetectorRef }] });
|
|
71
|
+
export class FormGetPipe {
|
|
72
|
+
transform(form, path) {
|
|
73
|
+
return form.get(path);
|
|
74
|
+
}
|
|
75
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: FormGetPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
76
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: FormGetPipe, name: "formGet" });
|
|
77
|
+
}
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: FormGetPipe, decorators: [{
|
|
79
|
+
type: Pipe,
|
|
80
|
+
args: [{
|
|
81
|
+
name: 'formGet'
|
|
82
|
+
}]
|
|
83
|
+
}] });
|
|
84
|
+
export class FormGetControlPipe {
|
|
85
|
+
transform(form, path) {
|
|
86
|
+
return (form && isNotNil(path) ? form.get(path) : form);
|
|
87
|
+
}
|
|
88
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: FormGetControlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
89
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: FormGetControlPipe, name: "formGetControl" });
|
|
90
|
+
}
|
|
91
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: FormGetControlPipe, decorators: [{
|
|
92
|
+
type: Pipe,
|
|
93
|
+
args: [{
|
|
94
|
+
name: 'formGetControl'
|
|
95
|
+
}]
|
|
96
|
+
}] });
|
|
97
|
+
export class FormGetArrayPipe {
|
|
98
|
+
transform(form, path) {
|
|
99
|
+
return (form && isNotNil(path) ? form.get(path) : form);
|
|
100
|
+
}
|
|
101
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: FormGetArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
102
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: FormGetArrayPipe, name: "formGetArray" });
|
|
103
|
+
}
|
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: FormGetArrayPipe, decorators: [{
|
|
105
|
+
type: Pipe,
|
|
106
|
+
args: [{
|
|
107
|
+
name: 'formGetArray'
|
|
108
|
+
}]
|
|
109
|
+
}] });
|
|
110
|
+
export class FormGetGroupPipe {
|
|
111
|
+
transform(form, path) {
|
|
112
|
+
return (form && isNotNil(path) ? form.get(path) : form);
|
|
113
|
+
}
|
|
114
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: FormGetGroupPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
115
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: FormGetGroupPipe, name: "formGetGroup" });
|
|
116
|
+
}
|
|
117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: FormGetGroupPipe, decorators: [{
|
|
118
|
+
type: Pipe,
|
|
119
|
+
args: [{
|
|
120
|
+
name: 'formGetGroup'
|
|
121
|
+
}]
|
|
122
|
+
}] });
|
|
123
|
+
export class FormGetValuePipe {
|
|
124
|
+
_ref;
|
|
125
|
+
value = undefined;
|
|
126
|
+
_lastControl = null;
|
|
127
|
+
_lastPath;
|
|
128
|
+
_onControlValueChanges;
|
|
129
|
+
_onControlStatusChanges;
|
|
130
|
+
constructor(_ref) {
|
|
131
|
+
this._ref = _ref;
|
|
132
|
+
}
|
|
133
|
+
transform(form, path, listenStatusChanges = false) {
|
|
134
|
+
if (!form) {
|
|
135
|
+
this._dispose();
|
|
136
|
+
return undefined;
|
|
137
|
+
}
|
|
138
|
+
// if we ask another time for the same form and opts, return the last value
|
|
139
|
+
if (form === this._lastControl && equals(path, this._lastPath)) {
|
|
140
|
+
return this.value;
|
|
141
|
+
}
|
|
142
|
+
// store the query, in case it changes
|
|
143
|
+
this._lastControl = form;
|
|
144
|
+
// store the params, in case they change
|
|
145
|
+
this._lastPath = path;
|
|
146
|
+
// set the value
|
|
147
|
+
const control = path ? form.get(path) : form;
|
|
148
|
+
this.value = control?.value;
|
|
149
|
+
// if there is a subscription to onLangChange, clean it
|
|
150
|
+
this._dispose();
|
|
151
|
+
if (control) {
|
|
152
|
+
// subscribe to valueChanges event
|
|
153
|
+
this._onControlValueChanges = control.valueChanges.subscribe((value) => {
|
|
154
|
+
if (value !== this.value) {
|
|
155
|
+
this.value = value;
|
|
156
|
+
this._ref.markForCheck();
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
// subscribe to statusChanges event
|
|
160
|
+
if (listenStatusChanges) {
|
|
161
|
+
this._onControlStatusChanges = control.statusChanges.subscribe((status) => {
|
|
162
|
+
const value = control.value;
|
|
163
|
+
if (value !== this.value) {
|
|
164
|
+
this.value = value;
|
|
165
|
+
this._ref.markForCheck();
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return this.value;
|
|
171
|
+
}
|
|
172
|
+
ngOnDestroy() {
|
|
173
|
+
this._dispose();
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Clean any existing subscription to change events
|
|
177
|
+
*/
|
|
178
|
+
_dispose() {
|
|
179
|
+
this._onControlValueChanges?.unsubscribe();
|
|
180
|
+
this._onControlValueChanges = undefined;
|
|
181
|
+
this._onControlStatusChanges?.unsubscribe();
|
|
182
|
+
this._onControlStatusChanges = undefined;
|
|
183
|
+
}
|
|
184
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: FormGetValuePipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
185
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: FormGetValuePipe, name: "formGetValue", pure: false });
|
|
186
|
+
}
|
|
187
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: FormGetValuePipe, decorators: [{
|
|
188
|
+
type: Pipe,
|
|
189
|
+
args: [{
|
|
190
|
+
name: 'formGetValue',
|
|
191
|
+
pure: false
|
|
192
|
+
}]
|
|
193
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5waXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3BpcGVzL2Zvcm0ucGlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUErQixJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBSWhGLE9BQU8sRUFBQyxNQUFNLEVBQUUsUUFBUSxFQUFDLE1BQU0sY0FBYyxDQUFDOzs7QUFNOUMsTUFBTSxPQUFPLHNCQUFzQjtJQVN2QjtJQUNBO0lBUlYsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUVILFNBQVMsR0FBNEIsSUFBSSxDQUFDO0lBQzFDLFlBQVksR0FBc0MsSUFBSSxDQUFDO0lBQ3ZELG9CQUFvQixDQUEyQjtJQUV2RCxZQUNVLE9BQTRCLEVBQzVCLElBQXVCO1FBRHZCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBQzVCLFNBQUksR0FBSixJQUFJLENBQW1CO0lBRWpDLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBc0IsRUFBRSxJQUFpQztRQUNqRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsMkVBQTJFO1FBQzNFLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUMvRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDcEIsQ0FBQztRQUVELHNDQUFzQztRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUV0Qix3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFFekIsZ0JBQWdCO1FBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTlCLHVE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QUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsU0FBUyxDQUFDO0lBQzNDLENBQUM7dUdBNUVVLGdCQUFnQjtxR0FBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUo1QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxjQUFjO29CQUNwQixJQUFJLEVBQUUsS0FBSztpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIE9uRGVzdHJveSwgUGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgVW50eXBlZEZvcm1BcnJheSwgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0Zvcm1FcnJvclRyYW5zbGF0b3IsIEZvcm1FcnJvclRyYW5zbGF0b3JPcHRpb25zfSBmcm9tICcuLi92YWxpZGF0b3IvZm9ybS1lcnJvci1hZGFwdGVyLmNsYXNzJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZXF1YWxzLCBpc05vdE5pbH0gZnJvbSAnLi4vZnVuY3Rpb25zJztcblxuQFBpcGUoe1xuICBuYW1lOiAndHJhbnNsYXRlRm9ybUVycm9yJyxcbiAgcHVyZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUVycm9yVHJhbnNsYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSB7XG5cbiAgdmFsdWUgPSAnJztcblxuICBwcml2YXRlIF9sYXN0Rm9ybTogVW50eXBlZEZvcm1Hcm91cCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9sYXN0T3B0aW9uczogRm9ybUVycm9yVHJhbnNsYXRvck9wdGlvbnMgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfb25Gb3JtU3RhdHVzQ2hhbmdlczogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWRhcHRlcjogRm9ybUVycm9yVHJhbnNsYXRvcixcbiAgICBwcml2YXRlIF9yZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICB9XG5cbiAgdHJhbnNmb3JtKGZvcm06IFVudHlwZWRGb3JtR3JvdXAsIG9wdHM/OiBGb3JtRXJyb3JUcmFuc2xhdG9yT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgaWYgKCFmb3JtKSB7XG4gICAgICB0aGlzLl9kaXNwb3NlKCk7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgLy8gaWYgd2UgYXNrIGFub3RoZXIgdGltZSBmb3IgdGhlIHNhbWUgZm9ybSBhbmQgb3B0cywgcmV0dXJuIHRoZSBsYXN0IHZhbHVlXG4gICAgaWYgKGZvcm0gPT09IHRoaXMuX2xhc3RGb3JtICYmIGVxdWFscyhvcHRzLCB0aGlzLl9sYXN0T3B0aW9ucykpIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIC8vIHN0b3JlIHRoZSBxdWVyeSwgaW4gY2FzZSBpdCBjaGFuZ2VzXG4gICAgdGhpcy5fbGFzdEZvcm0gPSBmb3JtO1xuXG4gICAgLy8gc3RvcmUgdGhlIHBhcmFtcywgaW4gY2FzZSB0aGV5IGNoYW5nZVxuICAgIHRoaXMuX2xhc3RPcHRpb25zID0gb3B0cztcblxuICAgIC8vIHNldCB0aGUgdmFsdWVcbiAgICB0aGlzLl91cGRhdGVWYWx1ZShmb3JtLCBvcHRzKTtcblxuICAgIC8vIGlmIHRoZXJlIGlzIGEgc3Vic2NyaXB0aW9uIHRvIG9uTGFuZ0NoYW5nZSwgY2xlYW4gaXRcbiAgICB0aGlzLl9kaXNwb3NlKCk7XG5cbiAgICAvLyBzdWJzY3JpYmUgdG8gb25UcmFuc2xhdGlvbkNoYW5nZSBldmVudCwgaW4gY2FzZSB0aGUgdHJhbnNsYXRpb25zIGNoYW5nZVxuICAgIGlmICghdGhpcy5fb25Gb3JtU3RhdHVzQ2hhbmdlcykge1xuICAgICAgdGhpcy5fb25Gb3JtU3RhdHVzQ2hhbmdlcyA9IGZvcm0uc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKHN0YXR1cykgPT4ge1xuICAgICAgICB0aGlzLl91cGRhdGVWYWx1ZShmb3JtLCBvcHRzLCBzdGF0dXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNwb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVWYWx1ZShmb3JtOiBVbnR5cGVkRm9ybUdyb3VwLCBvcHRzPzogRm9ybUVycm9yVHJhbnNsYXRvck9wdGlvbnMsIHN0YXR1cz86IGFueSkge1xuICAgIGlmIChzdGF0dXMgPT09ICdJTlZBTElEJyB8fCBmb3JtLmludmFsaWQpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmFkYXB0ZXIudHJhbnNsYXRlRm9ybUVycm9ycyhmb3JtLCBvcHRzKTtcbiAgICAgIHRoaXMuX3JlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gICAgZWxzZSBpZiAodGhpcy52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5fcmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhbiBhbnkgZXhpc3Rpbmcgc3Vic2NyaXB0aW9uIHRvIGNoYW5nZSBldmVudHNcbiAgICovXG4gIHByaXZhdGUgX2Rpc3Bvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fb25Gb3JtU3RhdHVzQ2hhbmdlcz8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9vbkZvcm1TdGF0dXNDaGFuZ2VzID0gdW5kZWZpbmVkO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2Zvcm1HZXQnXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HZXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGZvcm06IEFic3RyYWN0Q29udHJvbCwgcGF0aDogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZyApOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiBmb3JtLmdldChwYXRoKTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdmb3JtR2V0Q29udHJvbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUdldENvbnRyb2xQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGZvcm06IEFic3RyYWN0Q29udHJvbCwgcGF0aD86IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmcgKTogVW50eXBlZEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gKGZvcm0gJiYgaXNOb3ROaWwocGF0aCkgPyBmb3JtLmdldChwYXRoKSA6IGZvcm0pIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdmb3JtR2V0QXJyYXknXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HZXRBcnJheVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm0oZm9ybTogQWJzdHJhY3RDb250cm9sLCBwYXRoPzogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZyApOiBVbnR5cGVkRm9ybUFycmF5IHtcbiAgICByZXR1cm4gKGZvcm0gJiYgaXNOb3ROaWwocGF0aCkgPyBmb3JtLmdldChwYXRoKSA6IGZvcm0pIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnZm9ybUdldEdyb3VwJ1xufSlcbmV4cG9ydCBjbGFzcyBGb3JtR2V0R3JvdXBQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGZvcm06IEFic3RyYWN0Q29udHJvbCwgcGF0aD86IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmcgKTogVW50eXBlZEZvcm1Hcm91cCB7XG4gICAgcmV0dXJuIChmb3JtICYmIGlzTm90TmlsKHBhdGgpID8gZm9ybS5nZXQocGF0aCkgOiBmb3JtKSBhcyBVbnR5cGVkRm9ybUdyb3VwO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2Zvcm1HZXRWYWx1ZScsXG4gIHB1cmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HZXRWYWx1ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuXG4gIHZhbHVlOiBhbnkgPSB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBfbGFzdENvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9sYXN0UGF0aDogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZztcbiAgcHJpdmF0ZSBfb25Db250cm9sVmFsdWVDaGFuZ2VzOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX29uQ29udHJvbFN0YXR1c0NoYW5nZXM6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9yZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICB9XG5cbiAgdHJhbnNmb3JtKGZvcm06IEFic3RyYWN0Q29udHJvbCwgcGF0aD86IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmcsIGxpc3RlblN0YXR1c0NoYW5nZXMgPSBmYWxzZSk6IGFueSB7XG4gICAgaWYgKCFmb3JtKSB7XG4gICAgICB0aGlzLl9kaXNwb3NlKCk7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8vIGlmIHdlIGFzayBhbm90aGVyIHRpbWUgZm9yIHRoZSBzYW1lIGZvcm0gYW5kIG9wdHMsIHJldHVybiB0aGUgbGFzdCB2YWx1ZVxuICAgIGlmIChmb3JtID09PSB0aGlzLl9sYXN0Q29udHJvbCAmJiBlcXVhbHMocGF0aCwgdGhpcy5fbGFzdFBhdGgpKSB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBzdG9yZSB0aGUgcXVlcnksIGluIGNhc2UgaXQgY2hhbmdlc1xuICAgIHRoaXMuX2xhc3RDb250cm9sID0gZm9ybTtcblxuICAgIC8vIHN0b3JlIHRoZSBwYXJhbXMsIGluIGNhc2UgdGhleSBjaGFuZ2VcbiAgICB0aGlzLl9sYXN0UGF0aCA9IHBhdGg7XG5cbiAgICAvLyBzZXQgdGhlIHZhbHVlXG4gICAgY29uc3QgY29udHJvbCA9IHBhdGggPyBmb3JtLmdldChwYXRoKSA6IGZvcm07XG4gICAgdGhpcy52YWx1ZSA9IGNvbnRyb2w/LnZhbHVlO1xuXG4gICAgLy8gaWYgdGhlcmUgaXMgYSBzdWJzY3JpcHRpb24gdG8gb25MYW5nQ2hhbmdlLCBjbGVhbiBpdFxuICAgIHRoaXMuX2Rpc3Bvc2UoKTtcblxuICAgIGlmIChjb250cm9sKSB7XG4gICAgICAvLyBzdWJzY3JpYmUgdG8gdmFsdWVDaGFuZ2VzIGV2ZW50XG4gICAgICB0aGlzLl9vbkNvbnRyb2xWYWx1ZUNoYW5nZXMgPSBjb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy52YWx1ZSkge1xuICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICB0aGlzLl9yZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICAvLyBzdWJzY3JpYmUgdG8gc3RhdHVzQ2hhbmdlcyBldmVudFxuICAgICAgaWYgKGxpc3RlblN0YXR1c0NoYW5nZXMpIHtcbiAgICAgICAgdGhpcy5fb25Db250cm9sU3RhdHVzQ2hhbmdlcyA9IGNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKHN0YXR1cykgPT4ge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcbiAgICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuX3JlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuXG5cbiAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc3Bvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhbiBhbnkgZXhpc3Rpbmcgc3Vic2NyaXB0aW9uIHRvIGNoYW5nZSBldmVudHNcbiAgICovXG4gIHByaXZhdGUgX2Rpc3Bvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fb25Db250cm9sVmFsdWVDaGFuZ2VzPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX29uQ29udHJvbFZhbHVlQ2hhbmdlcyA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLl9vbkNvbnRyb2xTdGF0dXNDaGFuZ2VzPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX29uQ29udHJvbFN0YXR1c0NoYW5nZXMgPSB1bmRlZmluZWQ7XG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Injectable, Pipe } from '@angular/core';
|
|
2
|
+
import { removeDiacritics, toBoolean } from '../functions';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class HighlightPipe {
|
|
5
|
+
// Replace search text by bold representation
|
|
6
|
+
transform(value, args) {
|
|
7
|
+
if (typeof value !== 'string' || !args)
|
|
8
|
+
return value;
|
|
9
|
+
const searchText = (typeof args === 'string' ? args : args.search);
|
|
10
|
+
const withAccent = (typeof args !== 'string') ? toBoolean(args?.withAccent, false) : false;
|
|
11
|
+
if (typeof searchText !== 'string')
|
|
12
|
+
return value;
|
|
13
|
+
const searchRegexp = searchText
|
|
14
|
+
.replace(/[.]/g, '[.]')
|
|
15
|
+
.replace(/[*]+/g, '.*');
|
|
16
|
+
if (searchRegexp === '.*')
|
|
17
|
+
return value; // skip if can match everything
|
|
18
|
+
if (withAccent) {
|
|
19
|
+
// Remove all accent characters to allow versatile comparison
|
|
20
|
+
const cleanedSearchText = removeDiacritics(searchRegexp).toUpperCase();
|
|
21
|
+
const index = removeDiacritics(value.toUpperCase()).indexOf(cleanedSearchText);
|
|
22
|
+
if (index !== -1) {
|
|
23
|
+
return value.substring(0, index) +
|
|
24
|
+
'<b>' + value.substring(index, index + cleanedSearchText.length) + '</b>' +
|
|
25
|
+
value.substring(index + cleanedSearchText.length);
|
|
26
|
+
}
|
|
27
|
+
return value;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
// Default behaviour
|
|
31
|
+
const regexp = new RegExp('[ ]?' + searchRegexp, 'gi');
|
|
32
|
+
return ('' + value).replace(regexp, '<b>$&</b>');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: HighlightPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
36
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: HighlightPipe, name: "highlight" });
|
|
37
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: HighlightPipe, providedIn: 'root' });
|
|
38
|
+
}
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: HighlightPipe, decorators: [{
|
|
40
|
+
type: Pipe,
|
|
41
|
+
args: [{
|
|
42
|
+
name: 'highlight'
|
|
43
|
+
}]
|
|
44
|
+
}, {
|
|
45
|
+
type: Injectable,
|
|
46
|
+
args: [{ providedIn: 'root' }]
|
|
47
|
+
}] });
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9waXBlcy9oaWdobGlnaHQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFNM0QsTUFBTSxPQUFPLGFBQWE7SUFFcEIsNkNBQTZDO0lBQy9DLFNBQVMsQ0FBQyxLQUFVLEVBQUUsSUFBd0Q7UUFDNUUsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDckQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25FLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDM0YsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakQsTUFBTSxZQUFZLEdBQUcsVUFBVTthQUM1QixPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQzthQUN0QixPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFCLElBQUksWUFBWSxLQUFLLElBQUk7WUFBRSxPQUFPLEtBQUssQ0FBQyxDQUFDLCtCQUErQjtRQUV4RSxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsNkRBQTZEO1lBQzdELE1BQU0saUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkUsTUFBTSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDL0UsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDakIsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUM7b0JBQzlCLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTTtvQkFDekUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEQsQ0FBQztZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQzthQUFNLENBQUM7WUFDTixvQkFBb0I7WUFDcEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN2RCxPQUFPLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbkQsQ0FBQztJQUNILENBQUM7dUdBNUJRLGFBQWE7cUdBQWIsYUFBYTsyR0FBYixhQUFhLGNBREQsTUFBTTs7MkZBQ2xCLGFBQWE7a0JBSnpCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFdBQVc7aUJBQ3BCOztrQkFDQSxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHJlbW92ZURpYWNyaXRpY3MsIHRvQm9vbGVhbiB9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnaGlnaGxpZ2h0J1xufSlcbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIEhpZ2hsaWdodFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgICAgLy8gUmVwbGFjZSBzZWFyY2ggdGV4dCBieSBib2xkIHJlcHJlc2VudGF0aW9uXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGFyZ3M/OiBzdHJpbmcgfCB7IHNlYXJjaDogc3RyaW5nOyB3aXRoQWNjZW50PzogYm9vbGVhbiB9ICk6IHN0cmluZyB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJyB8fCAhYXJncykgcmV0dXJuIHZhbHVlO1xuICAgICAgY29uc3Qgc2VhcmNoVGV4dCA9ICh0eXBlb2YgYXJncyA9PT0gJ3N0cmluZycgPyBhcmdzIDogYXJncy5zZWFyY2gpO1xuICAgICAgY29uc3Qgd2l0aEFjY2VudCA9ICh0eXBlb2YgYXJncyAhPT0gJ3N0cmluZycpID8gdG9Cb29sZWFuKGFyZ3M/LndpdGhBY2NlbnQsIGZhbHNlKSA6IGZhbHNlO1xuICAgICAgaWYgKHR5cGVvZiBzZWFyY2hUZXh0ICE9PSAnc3RyaW5nJykgcmV0dXJuIHZhbHVlO1xuICAgICAgY29uc3Qgc2VhcmNoUmVnZXhwID0gc2VhcmNoVGV4dFxuICAgICAgICAucmVwbGFjZSgvWy5dL2csICdbLl0nKVxuICAgICAgICAucmVwbGFjZSgvWypdKy9nLCAnLionKTtcbiAgICAgIGlmIChzZWFyY2hSZWdleHAgPT09ICcuKicpIHJldHVybiB2YWx1ZTsgLy8gc2tpcCBpZiBjYW4gbWF0Y2ggZXZlcnl0aGluZ1xuXG4gICAgICBpZiAod2l0aEFjY2VudCkge1xuICAgICAgICAvLyBSZW1vdmUgYWxsIGFjY2VudCBjaGFyYWN0ZXJzIHRvIGFsbG93IHZlcnNhdGlsZSBjb21wYXJpc29uXG4gICAgICAgIGNvbnN0IGNsZWFuZWRTZWFyY2hUZXh0ID0gcmVtb3ZlRGlhY3JpdGljcyhzZWFyY2hSZWdleHApLnRvVXBwZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gcmVtb3ZlRGlhY3JpdGljcyh2YWx1ZS50b1VwcGVyQ2FzZSgpKS5pbmRleE9mKGNsZWFuZWRTZWFyY2hUZXh0KTtcbiAgICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgICAgIHJldHVybiB2YWx1ZS5zdWJzdHJpbmcoMCwgaW5kZXgpICtcbiAgICAgICAgICAgICc8Yj4nICsgdmFsdWUuc3Vic3RyaW5nKGluZGV4LCBpbmRleCArIGNsZWFuZWRTZWFyY2hUZXh0Lmxlbmd0aCkgKyAnPC9iPicgK1xuICAgICAgICAgICAgdmFsdWUuc3Vic3RyaW5nKGluZGV4ICsgY2xlYW5lZFNlYXJjaFRleHQubGVuZ3RoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBEZWZhdWx0IGJlaGF2aW91clxuICAgICAgICBjb25zdCByZWdleHAgPSBuZXcgUmVnRXhwKCdbIF0/JyArIHNlYXJjaFJlZ2V4cCwgJ2dpJyk7XG4gICAgICAgIHJldHVybiAoJycgKyB2YWx1ZSkucmVwbGFjZShyZWdleHAsICc8Yj4kJjwvYj4nKTtcbiAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { formatLatitude, formatLongitude } from '../material/latlong/latlong.utils';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class LatitudeFormatPipe {
|
|
5
|
+
transform = formatLatitude;
|
|
6
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: LatitudeFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
7
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: LatitudeFormatPipe, name: "latitudeFormat" });
|
|
8
|
+
}
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: LatitudeFormatPipe, decorators: [{
|
|
10
|
+
type: Pipe,
|
|
11
|
+
args: [{
|
|
12
|
+
name: 'latitudeFormat'
|
|
13
|
+
}]
|
|
14
|
+
}] });
|
|
15
|
+
export class LongitudeFormatPipe {
|
|
16
|
+
transform = formatLongitude;
|
|
17
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: LongitudeFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
18
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: LongitudeFormatPipe, name: "longitudeFormat" });
|
|
19
|
+
}
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: LongitudeFormatPipe, decorators: [{
|
|
21
|
+
type: Pipe,
|
|
22
|
+
args: [{
|
|
23
|
+
name: 'longitudeFormat'
|
|
24
|
+
}]
|
|
25
|
+
}] });
|
|
26
|
+
/**
|
|
27
|
+
* @deprecated use 'latitudeFormat' or 'longitudeFormat' instead
|
|
28
|
+
*/
|
|
29
|
+
export class LatLongFormatPipe {
|
|
30
|
+
transform(value, opts) {
|
|
31
|
+
return ((!opts || opts?.type !== 'latitude') ? formatLongitude : formatLatitude)(value, opts);
|
|
32
|
+
}
|
|
33
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: LatLongFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
34
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: LatLongFormatPipe, name: "latLongFormat" });
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: LatLongFormatPipe, decorators: [{
|
|
37
|
+
type: Pipe,
|
|
38
|
+
args: [{
|
|
39
|
+
name: 'latLongFormat'
|
|
40
|
+
}]
|
|
41
|
+
}] });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF0bG9uZy1mb3JtYXQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3BpcGVzL2xhdGxvbmctZm9ybWF0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLGNBQWMsRUFBRSxlQUFlLEVBQXVCLE1BQU0sbUNBQW1DLENBQUM7O0FBTXhHLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsU0FBUyxHQUFHLGNBQWMsQ0FBQzt1R0FEaEIsa0JBQWtCO3FHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBSDlCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGdCQUFnQjtpQkFDdkI7O0FBUUQsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixTQUFTLEdBQUcsZUFBZSxDQUFDO3VHQURqQixtQkFBbUI7cUdBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFIL0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsaUJBQWlCO2lCQUN4Qjs7QUFRRDs7R0FFRztBQUNILE1BQU0sT0FBTyxpQkFBaUI7SUFFNUIsU0FBUyxDQUFDLEtBQWEsRUFBRSxJQUFxRTtRQUM1RixPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUUsSUFBSSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRyxDQUFDO3VHQUpVLGlCQUFpQjtxR0FBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQU43QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxlQUFlO2lCQUN0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2Zvcm1hdExhdGl0dWRlLCBmb3JtYXRMb25naXR1ZGUsIExhdExvbmdGb3JtYXRPcHRpb25zfSBmcm9tICcuLi9tYXRlcmlhbC9sYXRsb25nL2xhdGxvbmcudXRpbHMnO1xuXG5cbkBQaXBlKHtcbiAgbmFtZTogJ2xhdGl0dWRlRm9ybWF0J1xufSlcbmV4cG9ydCBjbGFzcyBMYXRpdHVkZUZvcm1hdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtID0gZm9ybWF0TGF0aXR1ZGU7XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2xvbmdpdHVkZUZvcm1hdCdcbn0pXG5leHBvcnQgY2xhc3MgTG9uZ2l0dWRlRm9ybWF0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0gPSBmb3JtYXRMb25naXR1ZGU7XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2xhdExvbmdGb3JtYXQnXG59KVxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgJ2xhdGl0dWRlRm9ybWF0JyBvciAnbG9uZ2l0dWRlRm9ybWF0JyBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjbGFzcyBMYXRMb25nRm9ybWF0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybSh2YWx1ZTogbnVtYmVyLCBvcHRzPzogUGFydGlhbDxMYXRMb25nRm9ybWF0T3B0aW9ucz4gJiB7dHlwZTogJ2xhdGl0dWRlJ3wnbG9uZ2l0dWRlJ30pOiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiAoKCFvcHRzIHx8IG9wdHM/LnR5cGUgIT09ICdsYXRpdHVkZScpID8gZm9ybWF0TG9uZ2l0dWRlIDogZm9ybWF0TGF0aXR1ZGUpKHZhbHVlLCBvcHRzKTtcbiAgfVxufVxuIl19
|
|
@@ -9,11 +9,11 @@ export class MapGetPipe {
|
|
|
9
9
|
return null;
|
|
10
10
|
return val[key];
|
|
11
11
|
}
|
|
12
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MapGetPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
13
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: MapGetPipe, name: "mapGet" });
|
|
14
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MapGetPipe, providedIn: 'root' });
|
|
12
15
|
}
|
|
13
|
-
|
|
14
|
-
MapGetPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: MapGetPipe, name: "mapGet" });
|
|
15
|
-
MapGetPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MapGetPipe, providedIn: 'root' });
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MapGetPipe, decorators: [{
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MapGetPipe, decorators: [{
|
|
17
17
|
type: Pipe,
|
|
18
18
|
args: [{
|
|
19
19
|
name: 'mapGet'
|
|
@@ -28,11 +28,11 @@ export class MapKeysPipe {
|
|
|
28
28
|
return null;
|
|
29
29
|
return Object.keys(map);
|
|
30
30
|
}
|
|
31
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MapKeysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
32
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: MapKeysPipe, name: "mapKeys" });
|
|
33
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MapKeysPipe, providedIn: 'root' });
|
|
31
34
|
}
|
|
32
|
-
|
|
33
|
-
MapKeysPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: MapKeysPipe, name: "mapKeys" });
|
|
34
|
-
MapKeysPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MapKeysPipe, providedIn: 'root' });
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MapKeysPipe, decorators: [{
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MapKeysPipe, decorators: [{
|
|
36
36
|
type: Pipe,
|
|
37
37
|
args: [{
|
|
38
38
|
name: 'mapKeys'
|
|
@@ -47,11 +47,11 @@ export class MapValuesPipe {
|
|
|
47
47
|
return null;
|
|
48
48
|
return Object.values(map);
|
|
49
49
|
}
|
|
50
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MapValuesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
51
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: MapValuesPipe, name: "mapValues" });
|
|
52
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MapValuesPipe, providedIn: 'root' });
|
|
50
53
|
}
|
|
51
|
-
|
|
52
|
-
MapValuesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: MapValuesPipe, name: "mapValues" });
|
|
53
|
-
MapValuesPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MapValuesPipe, providedIn: 'root' });
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: MapValuesPipe, decorators: [{
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MapValuesPipe, decorators: [{
|
|
55
55
|
type: Pipe,
|
|
56
56
|
args: [{
|
|
57
57
|
name: 'mapValues'
|
|
@@ -60,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
60
60
|
type: Injectable,
|
|
61
61
|
args: [{ providedIn: 'root' }]
|
|
62
62
|
}] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvbWFwcy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFNaEUsTUFBTSxPQUFPLFVBQVU7SUFFbkIsU0FBUyxDQUFDLEdBQVEsRUFBRSxJQUE4QztRQUNoRSxJQUFJLENBQUMsR0FBRztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3RCLE1BQU0sR0FBRyxHQUFHLENBQUMsSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFRLENBQUM7UUFDeEUsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLElBQUksQ0FBQztRQUN0QixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQixDQUFDO3VHQVBRLFVBQVU7cUdBQVYsVUFBVTsyR0FBVixVQUFVLGNBREUsTUFBTTs7MkZBQ2xCLFVBQVU7a0JBSnRCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFFBQVE7aUJBQ2pCOztrQkFDQSxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQzs7QUFlaEMsTUFBTSxPQUFPLFdBQVc7SUFFdEIsU0FBUyxDQUFDLEdBQVE7UUFDaEIsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLElBQUksQ0FBQztRQUN0QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQzt1R0FMVSxXQUFXO3FHQUFYLFdBQVc7MkdBQVgsV0FBVyxjQURDLE1BQU07OzJGQUNsQixXQUFXO2tCQUp2QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxTQUFTO2lCQUNoQjs7a0JBQ0EsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUM7O0FBYWhDLE1BQU0sT0FBTyxhQUFhO0lBRXhCLFNBQVMsQ0FBQyxHQUFRO1FBQ2hCLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDdEIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7dUdBTFUsYUFBYTtxR0FBYixhQUFhOzJHQUFiLGFBQWEsY0FERCxNQUFNOzsyRkFDbEIsYUFBYTtrQkFKekIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsV0FBVztpQkFDbEI7O2tCQUNBLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ21hcEdldCdcbn0pXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBNYXBHZXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICB0cmFuc2Zvcm0odmFsOiBhbnksIGFyZ3M6IHN0cmluZyB8IG51bWJlciB8IHtrZXk6IHN0cmluZyB8IG51bWJlcn0gKTogYW55IHtcbiAgICAgIGlmICghdmFsKSByZXR1cm4gbnVsbDtcbiAgICAgIGNvbnN0IGtleSA9IChhcmdzICYmIHR5cGVvZiBhcmdzID09PSAnb2JqZWN0JyA/IGFyZ3Mua2V5IDogYXJncykgYXMgYW55O1xuICAgICAgaWYgKCFrZXkpIHJldHVybiBudWxsO1xuICAgICAgcmV0dXJuIHZhbFtrZXldO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnbWFwS2V5cydcbn0pXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBNYXBLZXlzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybShtYXA6IGFueSk6IGFueVtdIHtcbiAgICBpZiAoIW1hcCkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKG1hcCk7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnbWFwVmFsdWVzJ1xufSlcbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIE1hcFZhbHVlc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm0obWFwOiBhbnkpOiBhbnlbXSB7XG4gICAgaWYgKCFtYXApIHJldHVybiBudWxsO1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKG1hcCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { isNilOrBlank } from '../functions';
|
|
3
|
+
import { maskitoEventHandler, maskitoWithPlaceholder } from '@maskito/kit';
|
|
4
|
+
import { EMPTY_PLACEHOLDER_CHAR } from '../constants';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class MaskitoPlaceholderPipe {
|
|
7
|
+
transform(placeholder, mask, defaultPrefix) {
|
|
8
|
+
if (isNilOrBlank(placeholder))
|
|
9
|
+
return { mask };
|
|
10
|
+
const placeholderOptions = maskitoWithPlaceholder(placeholder, true);
|
|
11
|
+
const plugins = [
|
|
12
|
+
...placeholderOptions.plugins,
|
|
13
|
+
];
|
|
14
|
+
if (defaultPrefix) {
|
|
15
|
+
plugins.push(maskitoPrefixPlugin(defaultPrefix, placeholder));
|
|
16
|
+
}
|
|
17
|
+
return {
|
|
18
|
+
...placeholderOptions,
|
|
19
|
+
plugins,
|
|
20
|
+
preprocessors: [
|
|
21
|
+
({ elementState, data }, actionType) => {
|
|
22
|
+
let { value, selection } = elementState;
|
|
23
|
+
if (!value.length)
|
|
24
|
+
return { elementState, data }; // Skip if empty
|
|
25
|
+
let [start, end] = selection;
|
|
26
|
+
let selectionMax = value.length - 1;
|
|
27
|
+
if (value.length < placeholder.length) {
|
|
28
|
+
value = value +
|
|
29
|
+
placeholder.substring(value.length)
|
|
30
|
+
.replace(/[DSM]/g, EMPTY_PLACEHOLDER_CHAR);
|
|
31
|
+
}
|
|
32
|
+
else if (value.indexOf(EMPTY_PLACEHOLDER_CHAR) !== -1) {
|
|
33
|
+
selectionMax = value.indexOf(EMPTY_PLACEHOLDER_CHAR);
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
elementState: {
|
|
37
|
+
selection: [Math.min(selectionMax, start), Math.min(selectionMax, end)],
|
|
38
|
+
value,
|
|
39
|
+
},
|
|
40
|
+
data,
|
|
41
|
+
};
|
|
42
|
+
},
|
|
43
|
+
...placeholderOptions.preprocessors
|
|
44
|
+
],
|
|
45
|
+
mask
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MaskitoPlaceholderPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
49
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: MaskitoPlaceholderPipe, name: "maskitoPlaceholder" });
|
|
50
|
+
}
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MaskitoPlaceholderPipe, decorators: [{
|
|
52
|
+
type: Pipe,
|
|
53
|
+
args: [{
|
|
54
|
+
name: 'maskitoPlaceholder'
|
|
55
|
+
}]
|
|
56
|
+
}] });
|
|
57
|
+
export function maskitoPrefixPlugin(prefix, placeholder) {
|
|
58
|
+
return maskitoEventHandler('focus', (element, options) => {
|
|
59
|
+
if (element.value === '') {
|
|
60
|
+
element.value = prefix;
|
|
61
|
+
element.dispatchEvent(new Event('input'));
|
|
62
|
+
}
|
|
63
|
+
else if (element.value === placeholder) {
|
|
64
|
+
element.value = prefix + placeholder.substring(prefix.length);
|
|
65
|
+
element.dispatchEvent(new Event('input'));
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFza2l0by5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvbWFza2l0by5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFMUMsT0FBTyxFQUFDLG1CQUFtQixFQUFFLHNCQUFzQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGNBQWMsQ0FBQzs7QUFLcEQsTUFBTSxPQUFPLHNCQUFzQjtJQUUvQixTQUFTLENBQUMsV0FBbUIsRUFBRSxJQUFpQixFQUFFLGFBQXNCO1FBQ3RFLElBQUksWUFBWSxDQUFDLFdBQVcsQ0FBQztZQUFFLE9BQU8sRUFBQyxJQUFJLEVBQUMsQ0FBQztRQUU3QyxNQUFNLGtCQUFrQixHQUFHLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyRSxNQUFNLE9BQU8sR0FBRTtZQUNiLEdBQUcsa0JBQWtCLENBQUMsT0FBTztTQUM5QixDQUFDO1FBQ0YsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixPQUFPLENBQUMsSUFBSSxDQUNWLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FDaEQsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPO1lBQ0wsR0FBRyxrQkFBa0I7WUFDckIsT0FBTztZQUNQLGFBQWEsRUFBRTtnQkFDYixDQUFDLEVBQUMsWUFBWSxFQUFFLElBQUksRUFBQyxFQUFFLFVBQVUsRUFBRSxFQUFFO29CQUNuQyxJQUFJLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBQyxHQUFHLFlBQVksQ0FBQztvQkFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNO3dCQUFFLE9BQU8sRUFBQyxZQUFZLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxnQkFBZ0I7b0JBRWhFLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUM3QixJQUFJLFlBQVksR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztvQkFFcEMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3QkFDdEMsS0FBSyxHQUFHLEtBQUs7NEJBQ1gsV0FBVyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO2lDQUNoQyxPQUFPLENBQUMsUUFBUSxFQUFFLHNCQUFzQixDQUFDLENBQUM7b0JBQ2pELENBQUM7eUJBQ0ksSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQzt3QkFDdEQsWUFBWSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztvQkFDdkQsQ0FBQztvQkFDRCxPQUFPO3dCQUNMLFlBQVksRUFBRTs0QkFDWixTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQzs0QkFDdkUsS0FBSzt5QkFDTjt3QkFDRCxJQUFJO3FCQUNMLENBQUM7Z0JBRUosQ0FBQztnQkFDRCxHQUFHLGtCQUFrQixDQUFDLGFBQWE7YUFDcEM7WUFDRCxJQUFJO1NBQ0wsQ0FBQztJQUNKLENBQUM7dUdBL0NRLHNCQUFzQjtxR0FBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQUhsQyxJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxvQkFBb0I7aUJBQzdCOztBQW1ERCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsTUFBYyxFQUFFLFdBQW9CO0lBQ3RFLE9BQU8sbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBK0MsRUFBRSxPQUFpQyxFQUFFLEVBQUU7UUFDekgsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ3pDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsTUFBTSxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlELE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7aXNOaWxPckJsYW5rfSBmcm9tICcuLi9mdW5jdGlvbnMnO1xuaW1wb3J0IHtNYXNraXRvTWFzaywgTWFza2l0b09wdGlvbnMsIE1hc2tpdG9QbHVnaW59IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHttYXNraXRvRXZlbnRIYW5kbGVyLCBtYXNraXRvV2l0aFBsYWNlaG9sZGVyfSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHtFTVBUWV9QTEFDRUhPTERFUl9DSEFSfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ21hc2tpdG9QbGFjZWhvbGRlcidcbn0pXG5leHBvcnQgY2xhc3MgTWFza2l0b1BsYWNlaG9sZGVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgdHJhbnNmb3JtKHBsYWNlaG9sZGVyOiBzdHJpbmcsIG1hc2s6IE1hc2tpdG9NYXNrLCBkZWZhdWx0UHJlZml4Pzogc3RyaW5nKTogTWFza2l0b09wdGlvbnMge1xuICAgICAgaWYgKGlzTmlsT3JCbGFuayhwbGFjZWhvbGRlcikpIHJldHVybiB7bWFza307XG5cbiAgICAgIGNvbnN0IHBsYWNlaG9sZGVyT3B0aW9ucyA9IG1hc2tpdG9XaXRoUGxhY2Vob2xkZXIocGxhY2Vob2xkZXIsIHRydWUpO1xuICAgICAgY29uc3QgcGx1Z2lucz0gW1xuICAgICAgICAuLi5wbGFjZWhvbGRlck9wdGlvbnMucGx1Z2lucyxcbiAgICAgIF07XG4gICAgICBpZiAoZGVmYXVsdFByZWZpeCkge1xuICAgICAgICBwbHVnaW5zLnB1c2goXG4gICAgICAgICAgbWFza2l0b1ByZWZpeFBsdWdpbihkZWZhdWx0UHJlZml4LCBwbGFjZWhvbGRlcilcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucGxhY2Vob2xkZXJPcHRpb25zLFxuICAgICAgICBwbHVnaW5zLFxuICAgICAgICBwcmVwcm9jZXNzb3JzOiBbXG4gICAgICAgICAgKHtlbGVtZW50U3RhdGUsIGRhdGF9LCBhY3Rpb25UeXBlKSA9PiB7XG4gICAgICAgICAgICBsZXQge3ZhbHVlLCBzZWxlY3Rpb259ID0gZWxlbWVudFN0YXRlO1xuICAgICAgICAgICAgaWYgKCF2YWx1ZS5sZW5ndGgpIHJldHVybiB7ZWxlbWVudFN0YXRlLCBkYXRhfTsgLy8gU2tpcCBpZiBlbXB0eVxuXG4gICAgICAgICAgICBsZXQgW3N0YXJ0LCBlbmRdID0gc2VsZWN0aW9uO1xuICAgICAgICAgICAgbGV0IHNlbGVjdGlvbk1heCA9IHZhbHVlLmxlbmd0aCAtIDE7XG5cbiAgICAgICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPCBwbGFjZWhvbGRlci5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZSArXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXIuc3Vic3RyaW5nKHZhbHVlLmxlbmd0aClcbiAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9bRFNNXS9nLCBFTVBUWV9QTEFDRUhPTERFUl9DSEFSKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHZhbHVlLmluZGV4T2YoRU1QVFlfUExBQ0VIT0xERVJfQ0hBUikgIT09IC0xKSB7XG4gICAgICAgICAgICAgIHNlbGVjdGlvbk1heCA9IHZhbHVlLmluZGV4T2YoRU1QVFlfUExBQ0VIT0xERVJfQ0hBUik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBlbGVtZW50U3RhdGU6IHtcbiAgICAgICAgICAgICAgICBzZWxlY3Rpb246IFtNYXRoLm1pbihzZWxlY3Rpb25NYXgsIHN0YXJ0KSwgTWF0aC5taW4oc2VsZWN0aW9uTWF4LCBlbmQpXSxcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICB9LFxuICAgICAgICAgIC4uLnBsYWNlaG9sZGVyT3B0aW9ucy5wcmVwcm9jZXNzb3JzXG4gICAgICAgIF0sXG4gICAgICAgIG1hc2tcbiAgICAgIH07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFza2l0b1ByZWZpeFBsdWdpbihwcmVmaXg6IHN0cmluZywgcGxhY2Vob2xkZXI/OiBzdHJpbmcpOiBNYXNraXRvUGx1Z2luIHtcbiAgcmV0dXJuIG1hc2tpdG9FdmVudEhhbmRsZXIoJ2ZvY3VzJywgKGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50LCBvcHRpb25zOiBSZXF1aXJlZDxNYXNraXRvT3B0aW9ucz4pID0+IHtcbiAgICBpZiAoZWxlbWVudC52YWx1ZSA9PT0gJycpIHtcbiAgICAgIGVsZW1lbnQudmFsdWUgPSBwcmVmaXg7XG4gICAgICBlbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdpbnB1dCcpKTtcbiAgICB9IGVsc2UgaWYgKGVsZW1lbnQudmFsdWUgPT09IHBsYWNlaG9sZGVyKSB7XG4gICAgICBlbGVtZW50LnZhbHVlID0gcHJlZml4ICsgcGxhY2Vob2xkZXIuc3Vic3RyaW5nKHByZWZpeC5sZW5ndGgpO1xuICAgICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnaW5wdXQnKSk7XG4gICAgfVxuICB9KTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Injectable, Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class MathAbsPipe {
|
|
4
|
+
transform(val) {
|
|
5
|
+
if (val !== undefined && val !== null) {
|
|
6
|
+
return Math.abs(val);
|
|
7
|
+
}
|
|
8
|
+
else {
|
|
9
|
+
return val;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MathAbsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
13
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: MathAbsPipe, name: "mathAbs" });
|
|
14
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MathAbsPipe, providedIn: 'root' });
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MathAbsPipe, decorators: [{
|
|
17
|
+
type: Pipe,
|
|
18
|
+
args: [{
|
|
19
|
+
name: 'mathAbs'
|
|
20
|
+
}]
|
|
21
|
+
}, {
|
|
22
|
+
type: Injectable,
|
|
23
|
+
args: [{ providedIn: 'root' }]
|
|
24
|
+
}] });
|
|
25
|
+
export class EvenPipe {
|
|
26
|
+
transform(val) {
|
|
27
|
+
return val % 2 === 0;
|
|
28
|
+
}
|
|
29
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: EvenPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
30
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: EvenPipe, name: "even" });
|
|
31
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: EvenPipe, providedIn: 'root' });
|
|
32
|
+
}
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: EvenPipe, decorators: [{
|
|
34
|
+
type: Pipe,
|
|
35
|
+
args: [{
|
|
36
|
+
name: 'even'
|
|
37
|
+
}]
|
|
38
|
+
}, {
|
|
39
|
+
type: Injectable,
|
|
40
|
+
args: [{ providedIn: 'root' }]
|
|
41
|
+
}] });
|
|
42
|
+
export class OddPipe {
|
|
43
|
+
transform(val) {
|
|
44
|
+
return val % 2 !== 0;
|
|
45
|
+
}
|
|
46
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: OddPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
47
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: OddPipe, name: "odd" });
|
|
48
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: OddPipe, providedIn: 'root' });
|
|
49
|
+
}
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: OddPipe, decorators: [{
|
|
51
|
+
type: Pipe,
|
|
52
|
+
args: [{
|
|
53
|
+
name: 'odd'
|
|
54
|
+
}]
|
|
55
|
+
}, {
|
|
56
|
+
type: Injectable,
|
|
57
|
+
args: [{ providedIn: 'root' }]
|
|
58
|
+
}] });
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC5waXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3BpcGVzL21hdGgucGlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOztBQU05RCxNQUFNLE9BQU8sV0FBVztJQUVwQixTQUFTLENBQUMsR0FBVztRQUNuQixJQUFJLEdBQUcsS0FBSyxTQUFTLElBQUksR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3RDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQztJQUNILENBQUM7dUdBUlEsV0FBVztxR0FBWCxXQUFXOzJHQUFYLFdBQVcsY0FEQyxNQUFNOzsyRkFDbEIsV0FBVztrQkFKdkIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsU0FBUztpQkFDbEI7O2tCQUNBLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDOztBQWdCaEMsTUFBTSxPQUFPLFFBQVE7SUFFbkIsU0FBUyxDQUFDLEdBQVc7UUFDbkIsT0FBTyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDO3VHQUpVLFFBQVE7cUdBQVIsUUFBUTsyR0FBUixRQUFRLGNBREksTUFBTTs7MkZBQ2xCLFFBQVE7a0JBSnBCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLE1BQU07aUJBQ2I7O2tCQUNBLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDOztBQVloQyxNQUFNLE9BQU8sT0FBTztJQUVsQixTQUFTLENBQUMsR0FBVztRQUNuQixPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7dUdBSlUsT0FBTztxR0FBUCxPQUFPOzJHQUFQLE9BQU8sY0FESyxNQUFNOzsyRkFDbEIsT0FBTztrQkFKbkIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsS0FBSztpQkFDWjs7a0JBQ0EsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIFBpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ21hdGhBYnMnXG59KVxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTWF0aEFic1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIHRyYW5zZm9ybSh2YWw6IG51bWJlcik6IGFueSB7XG4gICAgICBpZiAodmFsICE9PSB1bmRlZmluZWQgJiYgdmFsICE9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBNYXRoLmFicyh2YWwpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHZhbDtcbiAgICAgIH1cbiAgICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2V2ZW4nXG59KVxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgRXZlblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm0odmFsOiBudW1iZXIpOiBhbnkge1xuICAgIHJldHVybiB2YWwgJSAyID09PSAwO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ29kZCdcbn0pXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBPZGRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKHZhbDogbnVtYmVyKTogYW55IHtcbiAgICByZXR1cm4gdmFsICUgMiAhPT0gMDtcbiAgfVxufVxuXG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Directive, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class NgInitDirective {
|
|
4
|
+
ngInit = new EventEmitter();
|
|
5
|
+
ngOnInit() {
|
|
6
|
+
this.ngInit.emit();
|
|
7
|
+
}
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: NgInitDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.1", type: NgInitDirective, selector: "[ngInit]", outputs: { ngInit: "ngInit" }, ngImport: i0 });
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: NgInitDirective, decorators: [{
|
|
12
|
+
type: Directive,
|
|
13
|
+
args: [{
|
|
14
|
+
selector: '[ngInit]'
|
|
15
|
+
}]
|
|
16
|
+
}], propDecorators: { ngInit: [{
|
|
17
|
+
type: Output
|
|
18
|
+
}] } });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctaW5pdC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvbmctaW5pdC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFLdEUsTUFBTSxPQUFPLGVBQWU7SUFHMUIsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFakMsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQzt1R0FQVSxlQUFlOzJGQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBSDNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFVBQVU7aUJBQ3JCOzhCQUlDLE1BQU07c0JBREwsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25nSW5pdF0nXG59KVxuZXhwb3J0IGNsYXNzIE5nSW5pdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQE91dHB1dCgpXG4gIG5nSW5pdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubmdJbml0LmVtaXQoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Injectable, Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class NumberFormatPipe {
|
|
4
|
+
transform(val, opts) {
|
|
5
|
+
// Format the output to display any way you want here.
|
|
6
|
+
// For instance:
|
|
7
|
+
if (val !== undefined && val !== null) {
|
|
8
|
+
if (opts?.fixedDecimals) {
|
|
9
|
+
return val.toFixed(opts.fixedDecimals);
|
|
10
|
+
}
|
|
11
|
+
return val.toLocaleString(undefined, opts);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
return '';
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: NumberFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
18
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: NumberFormatPipe, name: "numberFormat" });
|
|
19
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: NumberFormatPipe, providedIn: 'root' });
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: NumberFormatPipe, decorators: [{
|
|
22
|
+
type: Pipe,
|
|
23
|
+
args: [{
|
|
24
|
+
name: 'numberFormat'
|
|
25
|
+
}]
|
|
26
|
+
}, {
|
|
27
|
+
type: Injectable,
|
|
28
|
+
args: [{ providedIn: 'root' }]
|
|
29
|
+
}] });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZvcm1hdC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvbnVtYmVyLWZvcm1hdC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFNaEUsTUFBTSxPQUFPLGdCQUFnQjtJQUV6QixTQUFTLENBQUMsR0FBVyxFQUFFLElBQTBEO1FBQy9FLHNEQUFzRDtRQUN0RCxnQkFBZ0I7UUFDaEIsSUFBSSxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN0QyxJQUFJLElBQUksRUFBRSxhQUFhLEVBQUUsQ0FBQztnQkFDeEIsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN6QyxDQUFDO1lBQ0QsT0FBTyxHQUFHLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM3QyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztJQUNILENBQUM7dUdBYlEsZ0JBQWdCO3FHQUFoQixnQkFBZ0I7MkdBQWhCLGdCQUFnQixjQURKLE1BQU07OzJGQUNsQixnQkFBZ0I7a0JBSjVCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGNBQWM7aUJBQ3ZCOztrQkFDQSxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdudW1iZXJGb3JtYXQnXG59KVxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTnVtYmVyRm9ybWF0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgdHJhbnNmb3JtKHZhbDogbnVtYmVyLCBvcHRzPzogSW50bC5OdW1iZXJGb3JtYXRPcHRpb25zICYge2ZpeGVkRGVjaW1hbHM/OiBudW1iZXJ9KTogc3RyaW5nIHwgUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgIC8vIEZvcm1hdCB0aGUgb3V0cHV0IHRvIGRpc3BsYXkgYW55IHdheSB5b3Ugd2FudCBoZXJlLlxuICAgICAgLy8gRm9yIGluc3RhbmNlOlxuICAgICAgaWYgKHZhbCAhPT0gdW5kZWZpbmVkICYmIHZhbCAhPT0gbnVsbCkge1xuICAgICAgICBpZiAob3B0cz8uZml4ZWREZWNpbWFscykge1xuICAgICAgICAgIHJldHVybiB2YWwudG9GaXhlZChvcHRzLmZpeGVkRGVjaW1hbHMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWwudG9Mb2NhbGVTdHJpbmcodW5kZWZpbmVkLCBvcHRzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICAgIH1cbiAgICB9XG59XG4iXX0=
|