@sumaris-net/ngx-components 3.0.0-rc1 → 4.0.0-rc1
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 +337 -0
- package/{esm2020 → esm2022}/src/app/admin/admin-routing.module.mjs +8 -8
- package/{esm2020 → esm2022}/src/app/admin/admin.module.mjs +11 -11
- package/esm2022/src/app/admin/services/filter/person.filter.mjs +68 -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 +273 -0
- package/esm2022/src/app/admin/users/users.module.mjs +58 -0
- package/{esm2020 → esm2022}/src/app/core/about/about.modal.mjs +18 -5
- 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 +335 -0
- package/esm2022/src/app/core/account/new-token.modal.mjs +125 -0
- package/esm2022/src/app/core/account/token.table.mjs +141 -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/{esm2020 → esm2022}/src/app/core/core.testing.module.mjs +23 -23
- 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 +713 -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 +724 -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/{esm2020 → esm2022}/src/app/core/form/form.utils.mjs +69 -60
- 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-form.component.mjs +97 -0
- 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 +12 -12
- package/{esm2020 → esm2022}/src/app/core/graphql/graphql.module.mjs +5 -5
- package/esm2022/src/app/core/graphql/graphql.service.mjs +787 -0
- package/{esm2020 → esm2022}/src/app/core/graphql/graphql.utils.mjs +2 -1
- package/esm2022/src/app/core/home/home.mjs +283 -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 +260 -0
- package/esm2022/src/app/core/menu/menu.model.mjs +268 -0
- package/esm2022/src/app/core/menu/menu.module.mjs +52 -0
- package/esm2022/src/app/core/menu/menu.service.mjs +665 -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 +4 -4
- 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 +192 -0
- package/{esm2020 → esm2022}/src/app/core/peer/select-peer.module.mjs +13 -13
- package/esm2022/src/app/core/register/register-confirm.page.mjs +88 -0
- 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 +1217 -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 +365 -0
- package/esm2022/src/app/core/services/crypto.service.mjs +107 -0
- package/esm2022/src/app/core/services/local-settings.service.mjs +468 -0
- package/esm2022/src/app/core/services/model/account.model.mjs +153 -0
- package/esm2022/src/app/core/services/model/config.model.mjs +105 -0
- package/esm2022/src/app/core/services/model/department.model.mjs +33 -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/esm2022/src/app/core/services/model/peer.model.mjs +82 -0
- package/esm2022/src/app/core/services/model/person.model.mjs +109 -0
- package/esm2022/src/app/core/services/model/referential.model.mjs +185 -0
- package/esm2022/src/app/core/services/model/token.model.mjs +52 -0
- package/esm2022/src/app/core/services/network.service.mjs +608 -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/{esm2020 → esm2022}/src/app/core/services/platform.service.mjs +27 -5
- 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 +4 -4
- package/{esm2020 → esm2022}/src/app/core/services/validator/user-token.validator.mjs +4 -4
- 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 +1735 -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 +1771 -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/testing/table-validator.service.mjs +28 -0
- package/esm2022/src/app/core/table/testing/table.testing.mjs +291 -0
- package/{esm2020 → esm2022}/src/app/core/table/testing/table.testing.module.mjs +16 -16
- 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/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/file/file.service.mjs +122 -0
- package/{esm2020 → esm2022}/src/app/shared/file/file.utils.mjs +2 -2
- package/esm2022/src/app/shared/form/field.component.mjs +353 -0
- package/esm2022/src/app/shared/form/loading-spinner.mjs +35 -0
- package/{esm2020 → esm2022}/src/app/shared/functions.mjs +2 -2
- package/esm2022/src/app/shared/geolocation/geolocation.utils.mjs +82 -0
- package/esm2022/src/app/shared/gesture/gesture-config.mjs +46 -0
- 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 +24 -0
- package/esm2022/src/app/shared/hotkeys/hotkeys.service.mjs +85 -0
- package/{esm2020 → esm2022}/src/app/shared/hotkeys/shared-hotkeys.module.mjs +12 -12
- 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/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 +961 -0
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +82 -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 +72 -0
- package/esm2022/src/app/shared/material/boolean/material-boolean2.mjs +266 -0
- package/esm2022/src/app/shared/material/boolean/material.boolean.mjs +271 -0
- package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +54 -0
- package/{esm2020 → esm2022}/src/app/shared/material/chips/chips.module.mjs +30 -30
- 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/{esm2020 → esm2022}/src/app/shared/material/datetime/datetime.module.mjs +38 -38
- package/esm2022/src/app/shared/material/datetime/material.date.mjs +396 -0
- package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +406 -0
- package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +523 -0
- package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +125 -0
- package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +122 -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/{esm2020 → esm2022}/src/app/shared/material/duration/duration.utils.mjs +2 -2
- 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/{esm2020 → esm2022}/src/app/shared/material/latlong/latlong.utils.mjs +3 -3
- package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +415 -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/{esm2020 → esm2022}/src/app/shared/material/material.module.mjs +131 -131
- package/{esm2020 → esm2022}/src/app/shared/material/material.testing.module.mjs +45 -45
- package/esm2022/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +104 -0
- package/esm2022/src/app/shared/material/numpad/numpad.component.mjs +83 -0
- 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 +20 -20
- 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/{esm2020 → esm2022}/src/app/shared/material/swipe/swipe.module.mjs +19 -19
- 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/named-filter/named-filter-selector.component.mjs +212 -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/{esm2020 → esm2022}/src/app/shared/pipes/arrays.pipe.mjs +25 -25
- package/{esm2020 → esm2022}/src/app/shared/pipes/colors.pipe.mjs +4 -4
- 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/{esm2020 → esm2022}/src/app/shared/pipes/highlight.pipe.mjs +5 -5
- 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 +118 -0
- package/{esm2020 → esm2022}/src/app/shared/pipes/math.pipes.mjs +13 -13
- package/esm2022/src/app/shared/pipes/ng-init.pipe.mjs +19 -0
- package/{esm2020 → esm2022}/src/app/shared/pipes/number-format.pipe.mjs +5 -5
- package/esm2022/src/app/shared/pipes/pipes.module.mjs +256 -0
- package/esm2022/src/app/shared/pipes/property.pipes.mjs +97 -0
- package/{esm2020 → esm2022}/src/app/shared/pipes/string.pipes.mjs +31 -31
- package/esm2022/src/app/shared/pipes/translate-context.pipe.mjs +44 -0
- package/{esm2020 → esm2022}/src/app/shared/pipes/types.pipes.mjs +14 -14
- package/esm2022/src/app/shared/rx-state.module.mjs +23 -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/{esm2020 → esm2022}/src/app/shared/shared-routing.module.mjs +11 -11
- package/esm2022/src/app/shared/shared.module.mjs +217 -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 +264 -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/{esm2020 → esm2022}/src/app/social/job/job.module.mjs +12 -12
- 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 +28 -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 +88 -0
- package/esm2022/src/app/social/message/message.modal.mjs +102 -0
- package/esm2022/src/app/social/message/message.model.mjs +71 -0
- package/{esm2020 → esm2022}/src/app/social/message/message.module.mjs +10 -10
- package/esm2022/src/app/social/message/message.service.mjs +88 -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 +128 -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 +498 -0
- package/esm2022/src/environments/environment.class.mjs +47 -0
- package/{fesm2020 → fesm2022}/sumaris-net.ngx-components.mjs +5555 -4021
- package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -0
- package/package.json +11 -17
- package/public_api.d.ts +1 -0
- 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/account/new-token.modal.d.ts +1 -1
- package/src/app/core/account/token.table.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 +1 -1
- package/src/app/core/form/entity/entity-editor-modal.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 +1 -1
- package/src/app/core/form/text-popover/text-form.component.d.ts +1 -1
- package/src/app/core/form/text-popover/text-popover.component.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 +1 -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/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/services/base-entity-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/table/actions-column.component.d.ts +1 -1
- package/src/app/core/table/async-table.class.d.ts +1 -1
- package/src/app/core/table/memory-table.class.d.ts +1 -1
- package/src/app/core/table/table-select-columns.component.d.ts +1 -1
- package/src/app/core/table/table.class.d.ts +1 -1
- package/src/app/core/table/table.model.d.ts +1 -1
- package/src/app/core/table/testing/table.testing.d.ts +1 -1
- package/src/app/shared/audio/audio.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/ng-var.directive.d.ts +1 -1
- package/src/app/shared/directives/resizable/resizable.component.d.ts +1 -1
- package/src/app/shared/events.d.ts +1 -1
- package/src/app/shared/form/field.component.d.ts +1 -1
- package/src/app/shared/form/loading-spinner.d.ts +1 -1
- package/src/app/shared/help/help.modal.d.ts +1 -1
- package/src/app/shared/image/gallery/image-gallery.component.d.ts +1 -1
- package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +1 -1
- package/src/app/shared/material/autocomplete/material.autocomplete.module.d.ts +10 -9
- package/src/app/shared/material/badge/badge.directive.d.ts +1 -1
- package/src/app/shared/material/boolean/boolean.module.d.ts +4 -5
- package/src/app/shared/material/boolean/material-boolean2.d.ts +1 -1
- package/src/app/shared/material/boolean/material.boolean.d.ts +1 -1
- package/src/app/shared/material/chips/material.chips.d.ts +1 -1
- package/src/app/shared/material/datetime/datetime.module.d.ts +2 -2
- package/src/app/shared/material/datetime/material.date.d.ts +2 -2
- package/src/app/shared/material/datetime/material.dateshort.d.ts +3 -3
- package/src/app/shared/material/datetime/material.datetime.d.ts +5 -4
- package/src/app/shared/material/duration/duration.module.d.ts +6 -5
- package/src/app/shared/material/duration/material.duration.d.ts +2 -2
- package/src/app/shared/material/latlong/material.latlong.d.ts +5 -5
- package/src/app/shared/material/latlong/material.latlong.module.d.ts +9 -8
- package/src/app/shared/material/latlong/testing/latlong.test.d.ts +2 -0
- 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.content.d.ts +1 -1
- package/src/app/shared/material/numpad/numpad.directive.d.ts +1 -1
- package/src/app/shared/material/swipe/material.swipe.d.ts +1 -1
- package/src/app/shared/material/testing/common.test.d.ts +4 -2
- package/src/app/shared/named-filter/named-filter-selector.component.d.ts +1 -1
- package/src/app/shared/pipes/maskito.pipe.d.ts +16 -0
- package/src/app/shared/pipes/pipes.module.d.ts +5 -4
- package/src/app/shared/pipes/types.pipes.d.ts +3 -3
- package/src/app/shared/rx-state.module.d.ts +1 -1
- package/src/app/shared/services/job.utils.d.ts +1 -1
- package/src/app/shared/shared.module.d.ts +11 -12
- 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/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/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 +1 -1
- package/src/app/social/job/progression/job-progression.icon.d.ts +1 -1
- package/src/app/social/job/progression/job-progression.list.d.ts +1 -1
- 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/user-event.model.d.ts +2 -2
- package/src/app/social/user-event/user-event.module.d.ts +3 -2
- package/src/assets/i18n/fr.json +2 -2
- package/src/theme/_material.globals.scss +2 -2
- package/src/theme/_material.scss +14 -1
- package/src/theme/_mixins.scss +2 -2
- package/src/theme/_ngx-components.scss +7 -8
- package/src/theme/_ngx-components.table.scss +12 -6
- package/esm2020/public_api.mjs +0 -336
- 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 -259
- package/esm2020/src/app/admin/users/users.module.mjs +0 -54
- package/esm2020/src/app/core/account/account.page.mjs +0 -317
- package/esm2020/src/app/core/account/new-token.modal.mjs +0 -115
- package/esm2020/src/app/core/account/token.table.mjs +0 -137
- package/esm2020/src/app/core/auth/auth.form.mjs +0 -132
- package/esm2020/src/app/core/auth/auth.modal.mjs +0 -72
- 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 -679
- 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 -690
- 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/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 -265
- 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-form.component.mjs +0 -89
- package/esm2020/src/app/core/form/text-popover/text-popover.component.mjs +0 -146
- package/esm2020/src/app/core/graphql/graphql.service.mjs +0 -774
- package/esm2020/src/app/core/home/home.mjs +0 -258
- 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 -239
- 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 -654
- 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-confirm.page.mjs +0 -81
- 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 -1206
- 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 -355
- 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 -164
- package/esm2020/src/app/core/services/model/token.model.mjs +0 -48
- package/esm2020/src/app/core/services/network.service.mjs +0 -590
- 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/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/table2-validator.service.mjs +0 -24
- package/esm2020/src/app/core/table/testing/table2.testing.mjs +0 -242
- 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 -60
- package/esm2020/src/app/shared/directives/resizable/resizable.directive.mjs +0 -40
- package/esm2020/src/app/shared/file/file.service.mjs +0 -117
- package/esm2020/src/app/shared/form/field.component.mjs +0 -334
- package/esm2020/src/app/shared/form/loading-spinner.mjs +0 -36
- 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 -81
- 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/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 -925
- package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +0 -78
- 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 -76
- package/esm2020/src/app/shared/material/boolean/material-boolean2.mjs +0 -248
- package/esm2020/src/app/shared/material/boolean/material.boolean.mjs +0 -254
- package/esm2020/src/app/shared/material/boolean/testing/boolean.test.page.mjs +0 -51
- package/esm2020/src/app/shared/material/chips/material.chips.mjs +0 -688
- package/esm2020/src/app/shared/material/chips/testing/chips.test.mjs +0 -143
- package/esm2020/src/app/shared/material/datetime/material.date.mjs +0 -378
- package/esm2020/src/app/shared/material/datetime/material.dateshort.mjs +0 -387
- package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +0 -501
- package/esm2020/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +0 -120
- package/esm2020/src/app/shared/material/datetime/testing/mat-date.test.mjs +0 -118
- package/esm2020/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +0 -111
- package/esm2020/src/app/shared/material/duration/duration.module.mjs +0 -67
- package/esm2020/src/app/shared/material/duration/material.duration.mjs +0 -258
- package/esm2020/src/app/shared/material/duration/testing/mat-duration.test.mjs +0 -76
- package/esm2020/src/app/shared/material/latlong/material.latlong.mjs +0 -383
- 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/numpad/numpad.append-to-input.directive.mjs +0 -98
- package/esm2020/src/app/shared/material/numpad/numpad.component.mjs +0 -80
- 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 -32
- 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 -345
- package/esm2020/src/app/shared/material/swipe/testing/swipe.test.mjs +0 -64
- package/esm2020/src/app/shared/material/testing/common.test.mjs +0 -95
- package/esm2020/src/app/shared/named-filter/named-filter-selector.component.mjs +0 -202
- 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/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/latlong-format.pipe.mjs +0 -46
- package/esm2020/src/app/shared/pipes/ng-init.pipe.mjs +0 -21
- package/esm2020/src/app/shared/pipes/pipes.module.mjs +0 -247
- package/esm2020/src/app/shared/pipes/property.pipes.mjs +0 -93
- package/esm2020/src/app/shared/pipes/translate-context.pipe.mjs +0 -43
- package/esm2020/src/app/shared/rx-state.module.mjs +0 -23
- 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 -121
- package/esm2020/src/app/shared/services/startable-service.class.mjs +0 -113
- package/esm2020/src/app/shared/services/translate-context.service.mjs +0 -103
- package/esm2020/src/app/shared/shared.module.mjs +0 -224
- 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/progression/job-progression.component.mjs +0 -34
- package/esm2020/src/app/social/job/progression/job-progression.icon.mjs +0 -223
- package/esm2020/src/app/social/job/progression/job-progression.list.mjs +0 -46
- 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 -41
- package/esm2020/src/app/social/job/testing/job-progression.testing.service.mjs +0 -55
- package/esm2020/src/app/social/message/message.form.mjs +0 -84
- package/esm2020/src/app/social/message/message.modal.mjs +0 -93
- package/esm2020/src/app/social/message/message.model.mjs +0 -64
- package/esm2020/src/app/social/message/message.service.mjs +0 -84
- 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 -488
- package/esm2020/src/environments/environment.class.mjs +0 -5
- package/fesm2015/sumaris-net.ngx-components.mjs +0 -41541
- package/fesm2015/sumaris-net.ngx-components.mjs.map +0 -1
- package/fesm2020/sumaris-net.ngx-components.mjs.map +0 -1
- /package/{esm2020 → esm2022}/src/app/core/services/config/core.config.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/core/services/errors.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/core/services/model/filter.model.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/core/services/model/tree-item-entity.model.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/core/services/network.types.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/core/services/network.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/core/table/table.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/alerts.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/events.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/file/csv.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/file/images.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/file/json.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/file/uri.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/focusable.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/form/field.model.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/forms.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/gesture/hammer.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/graph/colors.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/http/http.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/logger.model.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/logging/logging-service.config.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/material/autocomplete/material.autocomplete.utils.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/observables.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/platforms.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/services/entity-service.class.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/services/job.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/services/validator-service.class.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/shared/services.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}/src/environments/environment.mjs +0 -0
- /package/{esm2020 → esm2022}/sumaris-net.ngx-components.mjs +0 -0
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, HostListener } from '@angular/core';
|
|
2
|
-
import { MatNumpadEvent } from './numpad.model';
|
|
3
|
-
import { BehaviorSubject } from 'rxjs';
|
|
4
|
-
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common";
|
|
7
|
-
import * as i2 from "@ionic/angular";
|
|
8
|
-
import * as i3 from "./numpad.content";
|
|
9
|
-
import * as i4 from "@ngx-translate/core";
|
|
10
|
-
export var AnimationState;
|
|
11
|
-
(function (AnimationState) {
|
|
12
|
-
AnimationState["ENTER"] = "enter";
|
|
13
|
-
AnimationState["ENTER_INPUT"] = "enter-input";
|
|
14
|
-
AnimationState["LEAVE"] = "leave";
|
|
15
|
-
})(AnimationState || (AnimationState = {}));
|
|
16
|
-
export class MatNumpadContainerComponent {
|
|
17
|
-
constructor(cd) {
|
|
18
|
-
this.cd = cd;
|
|
19
|
-
this.debug = true;
|
|
20
|
-
this.backdropState = AnimationState.LEAVE;
|
|
21
|
-
this.columnCount = 4;
|
|
22
|
-
this.filteredKeymap = new BehaviorSubject(undefined);
|
|
23
|
-
if (this.debug)
|
|
24
|
-
console.debug('[numpad-container] Creating component');
|
|
25
|
-
}
|
|
26
|
-
ngOnInit() {
|
|
27
|
-
if (!this.keymap || !this.keymap.length) {
|
|
28
|
-
throw new Error('An invalid \'keymap\' was sent to numpad container');
|
|
29
|
-
}
|
|
30
|
-
if (!this.disableAnimation) {
|
|
31
|
-
if (this.appendToInput) {
|
|
32
|
-
this.panelState = AnimationState.ENTER;
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
this.modalState = AnimationState.ENTER;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
this.noBackdrop = this.noBackdrop || this.appendToInput;
|
|
39
|
-
if (!this.noBackdrop) {
|
|
40
|
-
this.backdropState = AnimationState.ENTER;
|
|
41
|
-
}
|
|
42
|
-
const keymap = this.defineFilteredKeymap();
|
|
43
|
-
this.filteredKeymap.next(keymap);
|
|
44
|
-
// Count columns
|
|
45
|
-
this.columnCount = keymap.reduce((res, row) => row && Math.max(res, row.length), 0);
|
|
46
|
-
if (this.debug)
|
|
47
|
-
console.debug('[numpad-container] columnCount=' + this.columnCount);
|
|
48
|
-
//this.markForCheck();
|
|
49
|
-
}
|
|
50
|
-
ngOnDestroy() {
|
|
51
|
-
}
|
|
52
|
-
onButtonClick(event, keyDef) {
|
|
53
|
-
if (this.debug)
|
|
54
|
-
console.debug('[numpad-container] onKeyPress() ', keyDef.key);
|
|
55
|
-
const customEvent = new MatNumpadEvent('keypress', { key: keyDef.key, target: this.inputElement });
|
|
56
|
-
//{detail: {...keyDef, target: this.inputElement}})
|
|
57
|
-
this.numpadRef.keypress.next(customEvent);
|
|
58
|
-
}
|
|
59
|
-
onKeydown(event) {
|
|
60
|
-
//if (this.debug)
|
|
61
|
-
console.debug('[numpad-container] onKeypress()', event);
|
|
62
|
-
this.numpadRef.keypress.next(event);
|
|
63
|
-
}
|
|
64
|
-
overlayClick(event) {
|
|
65
|
-
this.close();
|
|
66
|
-
}
|
|
67
|
-
close() {
|
|
68
|
-
if (this.disableAnimation) {
|
|
69
|
-
this.numpadRef.close();
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
if (this.modalState)
|
|
73
|
-
this.modalState = AnimationState.LEAVE;
|
|
74
|
-
if (this.panelState)
|
|
75
|
-
this.panelState = AnimationState.LEAVE;
|
|
76
|
-
if (this.backdropState)
|
|
77
|
-
this.backdropState = AnimationState.LEAVE;
|
|
78
|
-
this.markForCheck();
|
|
79
|
-
}
|
|
80
|
-
animationDone(event) {
|
|
81
|
-
if (event.phaseName === 'done' && event.toState === AnimationState.LEAVE) {
|
|
82
|
-
this.numpadRef.close();
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
defineFilteredKeymap() {
|
|
86
|
-
let keymap = this.keymap;
|
|
87
|
-
// Replace decimal separator button, by empty
|
|
88
|
-
if (!this.decimal) {
|
|
89
|
-
keymap = keymap.map(row => row.map(item => item && item.key !== '.' && item.key !== ',' ? item : null));
|
|
90
|
-
}
|
|
91
|
-
return keymap;
|
|
92
|
-
}
|
|
93
|
-
markForCheck() {
|
|
94
|
-
this.cd.markForCheck();
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
MatNumpadContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MatNumpadContainerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
98
|
-
MatNumpadContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MatNumpadContainerComponent, selector: "mat-numpad-container", host: { listeners: { "window:keydown": "onKeydown($event)" } }, ngImport: i0, template: "<div class=\"numpad-backdrop-overlay\"\n *ngIf=\"!noBackdrop\"\n (click)=\"overlayClick($event)\"\n [@numpadBackdrop]=\"backdropState\">\n</div>\n<div class=\"numpad-overlay\">\n <mat-numpad-content [appendToInput]=\"appendToInput\"\n [inputElement]=\"inputElement\" cdkTrapFocus>\n <div class=\"numpad {{position}}\"\n [class.panel]=\"appendToInput\"\n [@numpadPanelExpansion]=\"panelState\"\n (@numpadPanelExpansion.done)=\"animationDone($event)\"\n [@numpadFadeIn]=\"modalState\"\n (@numpadFadeIn.done)=\"animationDone($event)\">\n <ion-grid>\n <ion-row *ngFor=\"let row of filteredKeymap | async\">\n <ion-col size=\"{{12/columnCount}}\" *ngFor=\"let item of row\">\n <ion-button mat-button expand=\"block\"\n *ngIf=\"item\"\n [color]=\"item.color || 'secondary'\"\n (click)=\"onButtonClick($event, item)\">\n <ion-icon *ngIf=\"item.icon; else label\" slot=\"icon-only\" [name]=\"item.icon\"></ion-icon>\n <ng-template #label>\n <ion-label>{{ (item.label || item.key) | translate }}</ion-label>\n </ng-template>\n </ion-button>\n </ion-col>\n </ion-row>\n </ion-grid>\n </div>\n </mat-numpad-content>\n</div>\n", styles: [":host{display:inline-block;max-width:300px;--ion-grid-padding: 0;--ion-grid-column-padding: 0;--background-color: white;--padding: 8px}.numpad-backdrop-overlay{position:absolute;inset:0;background:rgba(0,0,0,.32);z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent}.numpad-overlay{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:1000;pointer-events:none}.numpad{width:300px;border-radius:4px;outline:none;position:static;z-index:1000;pointer-events:auto;background-color:var(--background-color, transparent);padding:var(--padding, 5px);box-shadow:#00000040 0 14px 45px,#00000038 0 10px 18px}.numpad.panel{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i2.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i2.IonRow, selector: "ion-row" }, { kind: "component", type: i3.MatNumpadContent, selector: "mat-numpad-content", inputs: ["appendToInput", "inputElement"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], animations: [
|
|
99
|
-
// Backdrop animation
|
|
100
|
-
trigger('numpadBackdrop', [
|
|
101
|
-
state('*', style({ opacity: 0, background: 'transparent' })),
|
|
102
|
-
state(AnimationState.ENTER, style({ opacity: 1 })),
|
|
103
|
-
state(AnimationState.LEAVE, style({ opacity: 0 })),
|
|
104
|
-
transition(`* => ${AnimationState.ENTER}`, [
|
|
105
|
-
style({ opacity: 0 }),
|
|
106
|
-
animate('0.4s cubic-bezier(0.25, 0.8, 0.25, 1)')
|
|
107
|
-
]),
|
|
108
|
-
transition(`${AnimationState.ENTER} => ${AnimationState.LEAVE}`, [
|
|
109
|
-
style({ opacity: 1 }),
|
|
110
|
-
animate('0.2s cubic-bezier(0.25, 0.8, 0.25, 1)')
|
|
111
|
-
])
|
|
112
|
-
]),
|
|
113
|
-
// Fade in
|
|
114
|
-
trigger('numpadFadeIn', [
|
|
115
|
-
state('*', style({ opacity: 1, transform: 'scale(1)' })),
|
|
116
|
-
state(AnimationState.ENTER, style({ opacity: 1, transform: 'scale(1)' })),
|
|
117
|
-
state(AnimationState.LEAVE, style({ opacity: 0, transform: 'scale(0.9)' })),
|
|
118
|
-
// Modal
|
|
119
|
-
transition(`* => ${AnimationState.ENTER}`, [
|
|
120
|
-
style({ opacity: 0, transform: 'scale(0.6)' }),
|
|
121
|
-
animate('0.2s ease-out')
|
|
122
|
-
]),
|
|
123
|
-
transition(`${AnimationState.ENTER} => ${AnimationState.LEAVE}`, [
|
|
124
|
-
animate('0.2s ease-out')
|
|
125
|
-
])
|
|
126
|
-
]),
|
|
127
|
-
// Panel expansion
|
|
128
|
-
trigger('numpadPanelExpansion', [
|
|
129
|
-
state('*', style({ opacity: 1, transform: 'scaleY(0) translateY(-50%)' })),
|
|
130
|
-
state(AnimationState.ENTER, style({ opacity: 1, transform: 'scale(1) translateY(0)' })),
|
|
131
|
-
state(AnimationState.LEAVE, style({ opacity: 0, transform: 'scale(1) translateY(0)' })),
|
|
132
|
-
// Attach to input
|
|
133
|
-
transition(`* => ${AnimationState.ENTER}`, [
|
|
134
|
-
animate('0.2s ease-out')
|
|
135
|
-
]),
|
|
136
|
-
transition(`${AnimationState.ENTER} => ${AnimationState.LEAVE}`, [
|
|
137
|
-
animate('0.2s ease-out')
|
|
138
|
-
])
|
|
139
|
-
])
|
|
140
|
-
], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
141
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MatNumpadContainerComponent, decorators: [{
|
|
142
|
-
type: Component,
|
|
143
|
-
args: [{ selector: 'mat-numpad-container', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
|
|
144
|
-
// Backdrop animation
|
|
145
|
-
trigger('numpadBackdrop', [
|
|
146
|
-
state('*', style({ opacity: 0, background: 'transparent' })),
|
|
147
|
-
state(AnimationState.ENTER, style({ opacity: 1 })),
|
|
148
|
-
state(AnimationState.LEAVE, style({ opacity: 0 })),
|
|
149
|
-
transition(`* => ${AnimationState.ENTER}`, [
|
|
150
|
-
style({ opacity: 0 }),
|
|
151
|
-
animate('0.4s cubic-bezier(0.25, 0.8, 0.25, 1)')
|
|
152
|
-
]),
|
|
153
|
-
transition(`${AnimationState.ENTER} => ${AnimationState.LEAVE}`, [
|
|
154
|
-
style({ opacity: 1 }),
|
|
155
|
-
animate('0.2s cubic-bezier(0.25, 0.8, 0.25, 1)')
|
|
156
|
-
])
|
|
157
|
-
]),
|
|
158
|
-
// Fade in
|
|
159
|
-
trigger('numpadFadeIn', [
|
|
160
|
-
state('*', style({ opacity: 1, transform: 'scale(1)' })),
|
|
161
|
-
state(AnimationState.ENTER, style({ opacity: 1, transform: 'scale(1)' })),
|
|
162
|
-
state(AnimationState.LEAVE, style({ opacity: 0, transform: 'scale(0.9)' })),
|
|
163
|
-
// Modal
|
|
164
|
-
transition(`* => ${AnimationState.ENTER}`, [
|
|
165
|
-
style({ opacity: 0, transform: 'scale(0.6)' }),
|
|
166
|
-
animate('0.2s ease-out')
|
|
167
|
-
]),
|
|
168
|
-
transition(`${AnimationState.ENTER} => ${AnimationState.LEAVE}`, [
|
|
169
|
-
animate('0.2s ease-out')
|
|
170
|
-
])
|
|
171
|
-
]),
|
|
172
|
-
// Panel expansion
|
|
173
|
-
trigger('numpadPanelExpansion', [
|
|
174
|
-
state('*', style({ opacity: 1, transform: 'scaleY(0) translateY(-50%)' })),
|
|
175
|
-
state(AnimationState.ENTER, style({ opacity: 1, transform: 'scale(1) translateY(0)' })),
|
|
176
|
-
state(AnimationState.LEAVE, style({ opacity: 0, transform: 'scale(1) translateY(0)' })),
|
|
177
|
-
// Attach to input
|
|
178
|
-
transition(`* => ${AnimationState.ENTER}`, [
|
|
179
|
-
animate('0.2s ease-out')
|
|
180
|
-
]),
|
|
181
|
-
transition(`${AnimationState.ENTER} => ${AnimationState.LEAVE}`, [
|
|
182
|
-
animate('0.2s ease-out')
|
|
183
|
-
])
|
|
184
|
-
])
|
|
185
|
-
], template: "<div class=\"numpad-backdrop-overlay\"\n *ngIf=\"!noBackdrop\"\n (click)=\"overlayClick($event)\"\n [@numpadBackdrop]=\"backdropState\">\n</div>\n<div class=\"numpad-overlay\">\n <mat-numpad-content [appendToInput]=\"appendToInput\"\n [inputElement]=\"inputElement\" cdkTrapFocus>\n <div class=\"numpad {{position}}\"\n [class.panel]=\"appendToInput\"\n [@numpadPanelExpansion]=\"panelState\"\n (@numpadPanelExpansion.done)=\"animationDone($event)\"\n [@numpadFadeIn]=\"modalState\"\n (@numpadFadeIn.done)=\"animationDone($event)\">\n <ion-grid>\n <ion-row *ngFor=\"let row of filteredKeymap | async\">\n <ion-col size=\"{{12/columnCount}}\" *ngFor=\"let item of row\">\n <ion-button mat-button expand=\"block\"\n *ngIf=\"item\"\n [color]=\"item.color || 'secondary'\"\n (click)=\"onButtonClick($event, item)\">\n <ion-icon *ngIf=\"item.icon; else label\" slot=\"icon-only\" [name]=\"item.icon\"></ion-icon>\n <ng-template #label>\n <ion-label>{{ (item.label || item.key) | translate }}</ion-label>\n </ng-template>\n </ion-button>\n </ion-col>\n </ion-row>\n </ion-grid>\n </div>\n </mat-numpad-content>\n</div>\n", styles: [":host{display:inline-block;max-width:300px;--ion-grid-padding: 0;--ion-grid-column-padding: 0;--background-color: white;--padding: 8px}.numpad-backdrop-overlay{position:absolute;inset:0;background:rgba(0,0,0,.32);z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent}.numpad-overlay{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:1000;pointer-events:none}.numpad{width:300px;border-radius:4px;outline:none;position:static;z-index:1000;pointer-events:auto;background-color:var(--background-color, transparent);padding:var(--padding, 5px);box-shadow:#00000040 0 14px 45px,#00000038 0 10px 18px}.numpad.panel{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}\n"] }]
|
|
186
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { onKeydown: [{
|
|
187
|
-
type: HostListener,
|
|
188
|
-
args: ['window:keydown', ['$event']]
|
|
189
|
-
}] } });
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtcGFkLmNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL251bXBhZC9udW1wYWQuY29udGFpbmVyLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvbnVtcGFkL251bXBhZC5jb250YWluZXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBa0IsY0FBYyxFQUE4QyxNQUFNLGdCQUFnQixDQUFDO0FBQzVHLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFDLE9BQU8sRUFBa0IsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQUUvRixNQUFNLENBQU4sSUFBWSxjQUlYO0FBSkQsV0FBWSxjQUFjO0lBQ3hCLGlDQUFlLENBQUE7SUFDZiw2Q0FBMkIsQ0FBQTtJQUMzQixpQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFKVyxjQUFjLEtBQWQsY0FBYyxRQUl6QjtBQW9ERCxNQUFNLE9BQU8sMkJBQTJCO0lBc0J0QyxZQUNZLEVBQXFCO1FBQXJCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBckJ6QixVQUFLLEdBQUcsSUFBSSxDQUFDO1FBRXJCLGtCQUFhLEdBQW1CLGNBQWMsQ0FBQyxLQUFLLENBQUM7UUFLckQsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFFaEIsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBa0IsU0FBUyxDQUFDLENBQUM7UUFjL0QsSUFBSSxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lB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QixDQUFDO3lCQUFFLENBQUM7d0JBRVAsa0JBQWtCO3dCQUNsQixPQUFPLENBQUMsc0JBQXNCLEVBQUU7NEJBQzlCLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsNEJBQTRCLEVBQUMsQ0FBQyxDQUFDOzRCQUN4RSxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSx3QkFBd0IsRUFBQyxDQUFDLENBQUM7NEJBQ3JGLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLHdCQUF3QixFQUFDLENBQUMsQ0FBQzs0QkFFckYsa0JBQWtCOzRCQUNsQixVQUFVLENBQUMsUUFBUSxjQUFjLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0NBQ3pDLE9BQU8sQ0FBQyxlQUFlLENBQUM7NkJBQ3pCLENBQUM7NEJBQ0YsVUFBVSxDQUFDLEdBQUcsY0FBYyxDQUFDLEtBQUssT0FBTyxjQUFjLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0NBQy9ELE9BQU8sQ0FBQyxlQUFlLENBQUM7NkJBQ3pCLENBQUM7eUJBQ0gsQ0FBQztxQkFDSDt3R0F5RUQsU0FBUztzQkFEUixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdE51bXBhZENvbmZpZywgTWF0TnVtcGFkRXZlbnQsIE1hdE51bXBhZEtleSwgTWF0TnVtcGFkS2V5bWFwLCBNYXROdW1wYWRSZWZ9IGZyb20gJy4vbnVtcGFkLm1vZGVsJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7YW5pbWF0ZSwgQW5pbWF0aW9uRXZlbnQsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmV4cG9ydCBlbnVtIEFuaW1hdGlvblN0YXRlIHtcbiAgRU5URVIgPSAnZW50ZXInLFxuICBFTlRFUl9JTlBVVCA9ICdlbnRlci1pbnB1dCcsXG4gIExFQVZFID0gJ2xlYXZlJ1xufVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWF0LW51bXBhZC1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbnVtcGFkLmNvbnRhaW5lci5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbnVtcGFkLmNvbnRhaW5lci5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBhbmltYXRpb25zOiBbXG4gICAgLy8gQmFja2Ryb3AgYW5pbWF0aW9uXG4gICAgdHJpZ2dlcignbnVtcGFkQmFja2Ryb3AnLCBbXG4gICAgICBzdGF0ZSgnKicsIHN0eWxlKHtvcGFjaXR5OiAwLCBiYWNrZ3JvdW5kOiAndHJhbnNwYXJlbnQnfSkpLFxuICAgICAgc3RhdGUoQW5pbWF0aW9uU3RhdGUuRU5URVIsIHN0eWxlKHtvcGFjaXR5OiAxfSkpLFxuICAgICAgc3RhdGUoQW5pbWF0aW9uU3RhdGUuTEVBVkUsIHN0eWxlKHtvcGFjaXR5OiAwfSkpLFxuICAgICAgdHJhbnNpdGlvbihgKiA9PiAke0FuaW1hdGlvblN0YXRlLkVOVEVSfWAsIFtcbiAgICAgICAgc3R5bGUoe29wYWNpdHk6IDB9KSxcbiAgICAgICAgYW5pbWF0ZSgnMC40cyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKScpXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oYCR7QW5pbWF0aW9uU3RhdGUuRU5URVJ9ID0+ICR7QW5pbWF0aW9uU3RhdGUuTEVBVkV9YCwgW1xuICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDF9KSxcbiAgICAgICAgYW5pbWF0ZSgnMC4ycyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKScpXG4gICAgICBdKVxuICAgIF0pLFxuXG4gICAgLy8gRmFkZSBpblxuICAgIHRyaWdnZXIoJ251bXBhZEZhZGVJbicsIFtcbiAgICAgIHN0YXRlKCcqJywgc3R5bGUoe29wYWNpdHk6IDEsIHRyYW5zZm9ybTogJ3NjYWxlKDEpJ30pKSxcbiAgICAgIHN0YXRlKEFuaW1hdGlvblN0YXRlLkVOVEVSLCBzdHlsZSh7b3BhY2l0eTogMSwgdHJhbnNmb3JtOiAnc2NhbGUoMSknfSkpLFxuICAgICAgc3RhdGUoQW5pbWF0aW9uU3RhdGUuTEVBVkUsIHN0eWxlKHtvcGFjaXR5OiAwLCB0cmFuc2Zvcm06ICdzY2FsZSgwLjkpJ30pKSxcbiAgICAgIC8vIE1vZGFsXG4gICAgICB0cmFuc2l0aW9uKGAqID0+ICR7QW5pbWF0aW9uU3RhdGUuRU5URVJ9YCwgW1xuICAgICAgICBzdHlsZSh7b3BhY2l0eTogMCwgdHJhbnNmb3JtOiAnc2NhbGUoMC42KSd9KSxcbiAgICAgICAgYW5pbWF0ZSgnMC4ycyBlYXNlLW91dCcpXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oYCR7QW5pbWF0aW9uU3RhdGUuRU5URVJ9ID0+ICR7QW5pbWF0aW9uU3RhdGUuTEVBVkV9YCwgW1xuICAgICAgICBhbmltYXRlKCcwLjJzIGVhc2Utb3V0JylcbiAgICAgIF0pIF0pLFxuXG4gICAgLy8gUGFuZWwgZXhwYW5zaW9uXG4gICAgdHJpZ2dlcignbnVtcGFkUGFuZWxFeHBhbnNpb24nLCBbXG4gICAgICBzdGF0ZSgnKicsIHN0eWxlKHtvcGFjaXR5OiAxLCB0cmFuc2Zvcm06ICdzY2FsZVkoMCkgdHJhbnNsYXRlWSgtNTAlKSd9KSksXG4gICAgICBzdGF0ZShBbmltYXRpb25TdGF0ZS5FTlRFUiwgc3R5bGUoe29wYWNpdHk6IDEsIHRyYW5zZm9ybTogJ3NjYWxlKDEpIHRyYW5zbGF0ZVkoMCknfSkpLFxuICAgICAgc3RhdGUoQW5pbWF0aW9uU3RhdGUuTEVBVkUsIHN0eWxlKHtvcGFjaXR5OiAwLCB0cmFuc2Zvcm06ICdzY2FsZSgxKSB0cmFuc2xhdGVZKDApJ30pKSxcblxuICAgICAgLy8gQXR0YWNoIHRvIGlucHV0XG4gICAgICB0cmFuc2l0aW9uKGAqID0+ICR7QW5pbWF0aW9uU3RhdGUuRU5URVJ9YCwgW1xuICAgICAgICBhbmltYXRlKCcwLjJzIGVhc2Utb3V0JylcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbihgJHtBbmltYXRpb25TdGF0ZS5FTlRFUn0gPT4gJHtBbmltYXRpb25TdGF0ZS5MRUFWRX1gLCBbXG4gICAgICAgIGFuaW1hdGUoJzAuMnMgZWFzZS1vdXQnKVxuICAgICAgXSlcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1hdE51bXBhZENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBNYXROdW1wYWRDb25maWcge1xuXG4gIHByaXZhdGUgZGVidWcgPSB0cnVlO1xuXG4gIGJhY2tkcm9wU3RhdGU6IEFuaW1hdGlvblN0YXRlID0gQW5pbWF0aW9uU3RhdGUuTEVBVkU7XG4gIG1vZGFsU3RhdGU6IEFuaW1hdGlvblN0YXRlO1xuICBwYW5lbFN0YXRlOiBBbmltYXRpb25TdGF0ZTtcbiAgbnVtcGFkUmVmOiBNYXROdW1wYWRSZWY7XG4gIGlucHV0RWxlbWVudDogYW55O1xuICBjb2x1bW5Db3VudCA9IDQ7XG5cbiAgZmlsdGVyZWRLZXltYXAgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1hdE51bXBhZEtleW1hcD4odW5kZWZpbmVkKTtcblxuICAvLyBDb25maWcgb3B0aW9uc1xuICBkZWNpbWFsOiBib29sZWFuO1xuICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgYXBwZW5kVG9JbnB1dDogYm9vbGVhbjtcbiAga2V5bWFwOiBNYXROdW1wYWRLZXltYXA7XG4gIGRpc2FibGVBbmltYXRpb246IGJvb2xlYW47XG4gIG5vQmFja2Ryb3A6IGJvb2xlYW47XG4gIHBvc2l0aW9uOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGNkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICBpZiAodGhpcy5kZWJ1ZykgY29uc29sZS5kZWJ1ZygnW251bXBhZC1jb250YWluZXJdIENyZWF0aW5nIGNvbXBvbmVudCcpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmtleW1hcCB8fCAhdGhpcy5rZXltYXAubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FuIGludmFsaWQgXFwna2V5bWFwXFwnIHdhcyBzZW50IHRvIG51bXBhZCBjb250YWluZXInKTtcbiAgICB9XG5cblxuICAgIGlmICghdGhpcy5kaXNhYmxlQW5pbWF0aW9uKSB7XG4gICAgICBpZiAodGhpcy5hcHBlbmRUb0lucHV0KSB7XG4gICAgICAgIHRoaXMucGFuZWxTdGF0ZSA9IEFuaW1hdGlvblN0YXRlLkVOVEVSO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMubW9kYWxTdGF0ZSA9IEFuaW1hdGlvblN0YXRlLkVOVEVSO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMubm9CYWNrZHJvcCA9IHRoaXMubm9CYWNrZHJvcCB8fCB0aGlzLmFwcGVuZFRvSW5wdXQ7XG4gICAgaWYgKCF0aGlzLm5vQmFja2Ryb3ApIHtcbiAgICAgIHRoaXMuYmFja2Ryb3BTdGF0ZSA9IEFuaW1hdGlvblN0YXRlLkVOVEVSO1xuICAgIH1cblxuICAgIGNvbnN0IGtleW1hcCA9IHRoaXMuZGVmaW5lRmlsdGVyZWRLZXltYXAoKTtcbiAgICB0aGlzLmZpbHRlcmVkS2V5bWFwLm5leHQoa2V5bWFwKTtcblxuICAgIC8vIENvdW50IGNvbHVtbnNcbiAgICB0aGlzLmNvbHVtbkNvdW50ID0ga2V5bWFwLnJlZHVjZSgocmVzLCByb3cpID0+IHJvdyAmJiBNYXRoLm1heChyZXMsIHJvdy5sZW5ndGgpLCAwKTtcbiAgICBpZiAodGhpcy5kZWJ1ZykgY29uc29sZS5kZWJ1ZygnW251bXBhZC1jb250YWluZXJdIGNvbHVtbkNvdW50PScgKyB0aGlzLmNvbHVtbkNvdW50KTtcblxuICAgIC8vdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICB9XG5cbiAgb25CdXR0b25DbGljayhldmVudDogRXZlbnQsIGtleURlZjogTWF0TnVtcGFkS2V5KSB7XG4gICAgaWYgKHRoaXMuZGVidWcpIGNvbnNvbGUuZGVidWcoJ1tudW1wYWQtY29udGFpbmVyXSBvbktleVByZXNzKCkgJywga2V5RGVmLmtleSk7XG5cbiAgICBjb25zdCBjdXN0b21FdmVudCA9IG5ldyBNYXROdW1wYWRFdmVudCgna2V5cHJlc3MnLCB7a2V5OiBrZXlEZWYua2V5LCB0YXJnZXQ6IHRoaXMuaW5wdXRFbGVtZW50fSk7XG5cbiAgICAgIC8ve2RldGFpbDogey4uLmtleURlZiwgdGFyZ2V0OiB0aGlzLmlucHV0RWxlbWVudH19KVxuICAgIHRoaXMubnVtcGFkUmVmLmtleXByZXNzLm5leHQoY3VzdG9tRXZlbnQpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleWRvd24nLCBbJyRldmVudCddKVxuICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAvL2lmICh0aGlzLmRlYnVnKVxuICAgIGNvbnNvbGUuZGVidWcoJ1tudW1wYWQtY29udGFpbmVyXSBvbktleXByZXNzKCknLCBldmVudCk7XG4gICAgdGhpcy5udW1wYWRSZWYua2V5cHJlc3MubmV4dChldmVudCk7XG4gIH1cblxuICBvdmVybGF5Q2xpY2soZXZlbnQ6IEV2ZW50KSB7XG5cbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlQW5pbWF0aW9uKSB7XG4gICAgICB0aGlzLm51bXBhZFJlZi5jbG9zZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm1vZGFsU3RhdGUpIHRoaXMubW9kYWxTdGF0ZSA9IEFuaW1hdGlvblN0YXRlLkxFQVZFO1xuICAgIGlmICh0aGlzLnBhbmVsU3RhdGUpIHRoaXMucGFuZWxTdGF0ZSA9IEFuaW1hdGlvblN0YXRlLkxFQVZFO1xuICAgIGlmICh0aGlzLmJhY2tkcm9wU3RhdGUpIHRoaXMuYmFja2Ryb3BTdGF0ZSA9IEFuaW1hdGlvblN0YXRlLkxFQVZFO1xuICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBhbmltYXRpb25Eb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5waGFzZU5hbWUgPT09ICdkb25lJyAmJiBldmVudC50b1N0YXRlID09PSBBbmltYXRpb25TdGF0ZS5MRUFWRSkge1xuICAgICAgdGhpcy5udW1wYWRSZWYuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZGVmaW5lRmlsdGVyZWRLZXltYXAoKTogTWF0TnVtcGFkS2V5bWFwIHtcbiAgICBsZXQga2V5bWFwID0gdGhpcy5rZXltYXA7XG5cbiAgICAvLyBSZXBsYWNlIGRlY2ltYWwgc2VwYXJhdG9yIGJ1dHRvbiwgYnkgZW1wdHlcbiAgICBpZiAoIXRoaXMuZGVjaW1hbCkge1xuICAgICAga2V5bWFwID0ga2V5bWFwLm1hcChyb3cgPT4gcm93Lm1hcChpdGVtID0+IGl0ZW0gJiYgaXRlbS5rZXkgIT09ICcuJyAmJiBpdGVtLmtleSAhPT0gJywnID8gaXRlbSA6IG51bGwpKTtcbiAgICB9XG5cbiAgICByZXR1cm4ga2V5bWFwO1xuICB9XG4gIHByb3RlY3RlZCBtYXJrRm9yQ2hlY2soKSB7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwibnVtcGFkLWJhY2tkcm9wLW92ZXJsYXlcIlxuICAgICAqbmdJZj1cIiFub0JhY2tkcm9wXCJcbiAgICAgKGNsaWNrKT1cIm92ZXJsYXlDbGljaygkZXZlbnQpXCJcbiAgICAgW0BudW1wYWRCYWNrZHJvcF09XCJiYWNrZHJvcFN0YXRlXCI+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJudW1wYWQtb3ZlcmxheVwiPlxuICA8bWF0LW51bXBhZC1jb250ZW50IFthcHBlbmRUb0lucHV0XT1cImFwcGVuZFRvSW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpbnB1dEVsZW1lbnRdPVwiaW5wdXRFbGVtZW50XCIgY2RrVHJhcEZvY3VzPlxuICAgIDxkaXYgY2xhc3M9XCJudW1wYWQge3twb3NpdGlvbn19XCJcbiAgICAgICAgIFtjbGFzcy5wYW5lbF09XCJhcHBlbmRUb0lucHV0XCJcbiAgICAgICAgIFtAbnVtcGFkUGFuZWxFeHBhbnNpb25dPVwicGFuZWxTdGF0ZVwiXG4gICAgICAgICAoQG51bXBhZFBhbmVsRXhwYW5zaW9uLmRvbmUpPVwiYW5pbWF0aW9uRG9uZSgkZXZlbnQpXCJcbiAgICAgICAgIFtAbnVtcGFkRmFkZUluXT1cIm1vZGFsU3RhdGVcIlxuICAgICAgICAgKEBudW1wYWRGYWRlSW4uZG9uZSk9XCJhbmltYXRpb25Eb25lKCRldmVudClcIj5cbiAgICAgIDxpb24tZ3JpZD5cbiAgICAgICAgPGlvbi1yb3cgKm5nRm9yPVwibGV0IHJvdyBvZiBmaWx0ZXJlZEtleW1hcCB8IGFzeW5jXCI+XG4gICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cInt7MTIvY29sdW1uQ291bnR9fVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIHJvd1wiPlxuICAgICAgICAgICAgPGlvbi1idXR0b24gbWF0LWJ1dHRvbiBleHBhbmQ9XCJibG9ja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIml0ZW0uY29sb3IgfHwgJ3NlY29uZGFyeSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50LCBpdGVtKVwiPlxuICAgICAgICAgICAgICA8aW9uLWljb24gKm5nSWY9XCJpdGVtLmljb247IGVsc2UgbGFiZWxcIiBzbG90PVwiaWNvbi1vbmx5XCIgW25hbWVdPVwiaXRlbS5pY29uXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsYWJlbD5cbiAgICAgICAgICAgICAgPGlvbi1sYWJlbD57eyAoaXRlbS5sYWJlbCB8fCBpdGVtLmtleSkgfCB0cmFuc2xhdGUgfX08L2lvbi1sYWJlbD5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgIDwvaW9uLXJvdz5cbiAgICAgIDwvaW9uLWdyaWQ+XG4gICAgPC9kaXY+XG4gIDwvbWF0LW51bXBhZC1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "./numpad.append-to-input.directive";
|
|
5
|
-
export class MatNumpadContent {
|
|
6
|
-
}
|
|
7
|
-
MatNumpadContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MatNumpadContent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
-
MatNumpadContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MatNumpadContent, selector: "mat-numpad-content", inputs: { appendToInput: "appendToInput", inputElement: "inputElement" }, ngImport: i0, template: "<div [appendNumpadToInput]=\"inputElement\" *ngIf=\"appendToInput; else modal\">\n <!--suppress HtmlUnknownAttribute -->\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n\n<ng-template #modal>\n <!--suppress HtmlUnknownAttribute -->\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.AppendToInputDirective, selector: "[appendNumpadToInput]", inputs: ["appendNumpadToInput"] }] });
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MatNumpadContent, decorators: [{
|
|
10
|
-
type: Component,
|
|
11
|
-
args: [{ selector: 'mat-numpad-content', template: "<div [appendNumpadToInput]=\"inputElement\" *ngIf=\"appendToInput; else modal\">\n <!--suppress HtmlUnknownAttribute -->\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n\n<ng-template #modal>\n <!--suppress HtmlUnknownAttribute -->\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
12
|
-
}], propDecorators: { appendToInput: [{
|
|
13
|
-
type: Input
|
|
14
|
-
}], inputElement: [{
|
|
15
|
-
type: Input
|
|
16
|
-
}] } });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtcGFkLmNvbnRlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9udW1wYWQvbnVtcGFkLmNvbnRlbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9udW1wYWQvbnVtcGFkLmNvbnRlbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQU0vQyxNQUFNLE9BQU8sZ0JBQWdCOzs4R0FBaEIsZ0JBQWdCO2tHQUFoQixnQkFBZ0Isb0lDTjdCLHFhQWFBOzRGRFBhLGdCQUFnQjtrQkFKNUIsU0FBUzsrQkFDSSxvQkFBb0I7OEJBSXJCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbWF0LW51bXBhZC1jb250ZW50JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbnVtcGFkLmNvbnRlbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE1hdE51bXBhZENvbnRlbnQge1xuICAgIEBJbnB1dCgpIGFwcGVuZFRvSW5wdXQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaW5wdXRFbGVtZW50OiBhbnk7XG59XG4iLCI8ZGl2IFthcHBlbmROdW1wYWRUb0lucHV0XT1cImlucHV0RWxlbWVudFwiICpuZ0lmPVwiYXBwZW5kVG9JbnB1dDsgZWxzZSBtb2RhbFwiPlxuICAgIDwhLS1zdXBwcmVzcyBIdG1sVW5rbm93bkF0dHJpYnV0ZSAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjbW9kYWw+XG4gICAgPCEtLXN1cHByZXNzIEh0bWxVbmtub3duQXR0cmlidXRlIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import { Directive, HostListener, Input } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class NumpadDirective {
|
|
5
|
-
constructor(elementRef) {
|
|
6
|
-
this.elementRef = elementRef;
|
|
7
|
-
this._value = '';
|
|
8
|
-
this.numpadSubscriptions = [];
|
|
9
|
-
this.onTouched = () => {
|
|
10
|
-
};
|
|
11
|
-
this.onChange = () => {
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
set numpad(numpad) {
|
|
15
|
-
this.registerNumpad(numpad);
|
|
16
|
-
}
|
|
17
|
-
set value(value) {
|
|
18
|
-
this._value = value || '';
|
|
19
|
-
this.updateInputValue();
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
get value() {
|
|
23
|
-
if (!this._value) {
|
|
24
|
-
return '';
|
|
25
|
-
}
|
|
26
|
-
return this._value;
|
|
27
|
-
}
|
|
28
|
-
get element() {
|
|
29
|
-
return this.elementRef && this.elementRef.nativeElement;
|
|
30
|
-
}
|
|
31
|
-
updateValue(value) {
|
|
32
|
-
console.debug('[numpad-directive] updateValue()', value);
|
|
33
|
-
this.value = value;
|
|
34
|
-
this.onChange(value);
|
|
35
|
-
}
|
|
36
|
-
ngOnChanges(changes) {
|
|
37
|
-
/*if (changes['value'] && changes['value'].currentValue) {
|
|
38
|
-
this.defaultValue = changes['value'].currentValue;
|
|
39
|
-
}*/
|
|
40
|
-
}
|
|
41
|
-
onClick(event) {
|
|
42
|
-
if (!this.disableClick) {
|
|
43
|
-
this._numpad.open();
|
|
44
|
-
event.preventDefault();
|
|
45
|
-
event.stopPropagation();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
writeValue(value) {
|
|
49
|
-
this.value = value;
|
|
50
|
-
if (value) {
|
|
51
|
-
//this.defaultValue = value;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
registerOnChange(fn) {
|
|
55
|
-
this.onChange = fn;
|
|
56
|
-
}
|
|
57
|
-
registerOnTouched(fn) {
|
|
58
|
-
this.onTouched = fn;
|
|
59
|
-
}
|
|
60
|
-
setDisabledState(isDisabled) {
|
|
61
|
-
this.disabled = isDisabled;
|
|
62
|
-
}
|
|
63
|
-
ngOnDestroy() {
|
|
64
|
-
this.numpadSubscriptions.forEach(s => s.unsubscribe());
|
|
65
|
-
}
|
|
66
|
-
registerNumpad(numpad) {
|
|
67
|
-
if (numpad) {
|
|
68
|
-
console.debug('[numpad-directive] Registering numpad', numpad);
|
|
69
|
-
this._numpad = numpad;
|
|
70
|
-
this._numpad.registerInput(this);
|
|
71
|
-
this.numpadSubscriptions.push(this._numpad.keypress
|
|
72
|
-
.pipe(
|
|
73
|
-
//filter(event => event.inputTarget === this.element)
|
|
74
|
-
)
|
|
75
|
-
.subscribe(event => this.applyingKey(event)));
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
throw new Error('MatNumpadComponent is not defined.' +
|
|
79
|
-
' Please make sure you passed the numpad to matNumpad directive');
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
applyingKey(event) {
|
|
83
|
-
console.debug('[numpad-directive] Receiving key=' + event.key);
|
|
84
|
-
let value = this.value !== null && this.value !== undefined ? this.value : '';
|
|
85
|
-
// Remove french decimal separator
|
|
86
|
-
value = (typeof value === 'number') ? ('' + value) : value.replace(',', '.');
|
|
87
|
-
if (event.key === '.' || event.key === ',') {
|
|
88
|
-
if (value.indexOf('.') === -1) {
|
|
89
|
-
value += '.';
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
else if (event.key === 'Backspace') {
|
|
93
|
-
// Remove last character
|
|
94
|
-
value = value.length > 1 ? value.substr(0, value.length - 1) : '';
|
|
95
|
-
}
|
|
96
|
-
else if (event.key === 'Enter' || event.keyCode === 13) {
|
|
97
|
-
this._numpad.close();
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
else if (event.key === 'Tab') {
|
|
101
|
-
// TODO goto next input ?
|
|
102
|
-
return; // Skip
|
|
103
|
-
}
|
|
104
|
-
else if (event.key === 'Escape') {
|
|
105
|
-
this._numpad.close();
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
value += (event.key || '');
|
|
110
|
-
}
|
|
111
|
-
this.updateValue(value);
|
|
112
|
-
this.onTouched();
|
|
113
|
-
}
|
|
114
|
-
updateInputValue() {
|
|
115
|
-
this.elementRef.nativeElement.value = this.value;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
NumpadDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NumpadDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
119
|
-
NumpadDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: NumpadDirective, selector: "[matNumpad]", inputs: { keymap: "keymap", numpad: ["matNumpad", "numpad"], value: "value", disabled: "disabled", decimal: "decimal", disableClick: "disableClick" }, host: { listeners: { "click": "onClick($event)", "change": "updateValue($event.target.value)", "blur": "onTouched()" }, properties: { "disabled": "disabled" } }, providers: [
|
|
120
|
-
{
|
|
121
|
-
provide: NG_VALUE_ACCESSOR,
|
|
122
|
-
useExisting: NumpadDirective,
|
|
123
|
-
multi: true
|
|
124
|
-
}
|
|
125
|
-
], usesOnChanges: true, ngImport: i0 });
|
|
126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NumpadDirective, decorators: [{
|
|
127
|
-
type: Directive,
|
|
128
|
-
args: [{
|
|
129
|
-
selector: '[matNumpad]',
|
|
130
|
-
providers: [
|
|
131
|
-
{
|
|
132
|
-
provide: NG_VALUE_ACCESSOR,
|
|
133
|
-
useExisting: NumpadDirective,
|
|
134
|
-
multi: true
|
|
135
|
-
}
|
|
136
|
-
],
|
|
137
|
-
host: {
|
|
138
|
-
'[disabled]': 'disabled',
|
|
139
|
-
// '[decimal]': 'decimal',
|
|
140
|
-
'(click)': 'onClick($event)',
|
|
141
|
-
'(change)': 'updateValue($event.target.value)',
|
|
142
|
-
'(blur)': 'onTouched()'
|
|
143
|
-
},
|
|
144
|
-
}]
|
|
145
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { keymap: [{
|
|
146
|
-
type: Input
|
|
147
|
-
}], numpad: [{
|
|
148
|
-
type: Input,
|
|
149
|
-
args: ['matNumpad']
|
|
150
|
-
}], value: [{
|
|
151
|
-
type: Input
|
|
152
|
-
}], disabled: [{
|
|
153
|
-
type: Input
|
|
154
|
-
}], decimal: [{
|
|
155
|
-
type: Input
|
|
156
|
-
}], disableClick: [{
|
|
157
|
-
type: Input
|
|
158
|
-
}], onClick: [{
|
|
159
|
-
type: HostListener,
|
|
160
|
-
args: ['click', ['$event']]
|
|
161
|
-
}] } });
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtcGFkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL251bXBhZC9udW1wYWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBc0MsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQXNCdkUsTUFBTSxPQUFPLGVBQWU7SUF1QzFCLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFkbEMsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQU1aLHdCQUFtQixHQUFtQixFQUFFLENBQUM7UUFFakQsY0FBUyxHQUFHLEdBQUcsRUFBRTtRQUNqQixDQUFDLENBQUM7UUFFTSxhQUFRLEdBQXlCLEdBQUcsRUFBRTtRQUM5QyxDQUFDLENBQUM7SUFHRixDQUFDO0lBbENELElBQ0ksTUFBTSxDQUFDLE1BQTBCO1FBQ25DLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQ0ksS0FBSyxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLE9BQU87SUFDVCxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBbUJELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUMxRCxDQUFDO0lB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QUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsaUJBQWlCOzRCQUM1QixLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0osWUFBWSxFQUFFLFVBQVU7d0JBQ3hCLDBCQUEwQjt3QkFDMUIsU0FBUyxFQUFFLGlCQUFpQjt3QkFDNUIsVUFBVSxFQUFFLGtDQUFrQzt3QkFDOUMsUUFBUSxFQUFFLGFBQWE7cUJBQ3hCO2lCQUNGO2lHQUtVLE1BQU07c0JBQWQsS0FBSztnQkFHRixNQUFNO3NCQURULEtBQUs7dUJBQUMsV0FBVztnQkFNZCxLQUFLO3NCQURSLEtBQUs7Z0JBZ0JHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBOEJOLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7TWF0TnVtcGFkS2V5bWFwfSBmcm9tICcuL251bXBhZC5tb2RlbCc7XG5pbXBvcnQge01hdE51bXBhZENvbXBvbmVudH0gZnJvbSAnLi9udW1wYWQuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW21hdE51bXBhZF0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBOdW1wYWREaXJlY3RpdmUsXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgaG9zdDoge1xuICAgICdbZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAvLyAnW2RlY2ltYWxdJzogJ2RlY2ltYWwnLFxuICAgICcoY2xpY2spJzogJ29uQ2xpY2soJGV2ZW50KScsXG4gICAgJyhjaGFuZ2UpJzogJ3VwZGF0ZVZhbHVlKCRldmVudC50YXJnZXQudmFsdWUpJyxcbiAgICAnKGJsdXIpJzogJ29uVG91Y2hlZCgpJ1xuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBOdW1wYWREaXJlY3RpdmUgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuXG4gIHByaXZhdGUgX251bXBhZDogTWF0TnVtcGFkQ29tcG9uZW50O1xuXG4gIEBJbnB1dCgpIGtleW1hcDogTWF0TnVtcGFkS2V5bWFwO1xuXG4gIEBJbnB1dCgnbWF0TnVtcGFkJylcbiAgc2V0IG51bXBhZChudW1wYWQ6IE1hdE51bXBhZENvbXBvbmVudCkge1xuICAgIHRoaXMucmVnaXN0ZXJOdW1wYWQobnVtcGFkKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZSB8fCAnJztcbiAgICB0aGlzLnVwZGF0ZUlucHV0VmFsdWUoKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuX3ZhbHVlKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgX3ZhbHVlID0gJyc7XG5cbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRlY2ltYWw6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRpc2FibGVDbGljazogYm9vbGVhbjtcblxuICBwcml2YXRlIG51bXBhZFN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgb25Ub3VjaGVkID0gKCkgPT4ge1xuICB9O1xuXG4gIHByaXZhdGUgb25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4ge1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICB9XG5cbiAgZ2V0IGVsZW1lbnQoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmICYmIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgdXBkYXRlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIGNvbnNvbGUuZGVidWcoJ1tudW1wYWQtZGlyZWN0aXZlXSB1cGRhdGVWYWx1ZSgpJywgdmFsdWUpO1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpe1xuICAgIC8qaWYgKGNoYW5nZXNbJ3ZhbHVlJ10gJiYgY2hhbmdlc1sndmFsdWUnXS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMuZGVmYXVsdFZhbHVlID0gY2hhbmdlc1sndmFsdWUnXS5jdXJyZW50VmFsdWU7XG4gICAgfSovXG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVDbGljaykge1xuICAgICAgdGhpcy5fbnVtcGFkLm9wZW4oKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICAvL3RoaXMuZGVmYXVsdFZhbHVlID0gdmFsdWU7XG4gICAgfVxuICB9XG5cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5udW1wYWRTdWJzY3JpcHRpb25zLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3Rlck51bXBhZChudW1wYWQ6IE1hdE51bXBhZENvbXBvbmVudCk6IHZvaWQge1xuICAgIGlmIChudW1wYWQpIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoJ1tudW1wYWQtZGlyZWN0aXZlXSBSZWdpc3RlcmluZyBudW1wYWQnLCBudW1wYWQpO1xuICAgICAgdGhpcy5fbnVtcGFkID0gbnVtcGFkO1xuICAgICAgdGhpcy5fbnVtcGFkLnJlZ2lzdGVySW5wdXQodGhpcyk7XG4gICAgICB0aGlzLm51bXBhZFN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLl9udW1wYWQua2V5cHJlc3NcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgLy9maWx0ZXIoZXZlbnQgPT4gZXZlbnQuaW5wdXRUYXJnZXQgPT09IHRoaXMuZWxlbWVudClcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHRoaXMuYXBwbHlpbmdLZXkoZXZlbnQpKVxuICAgICAgICApO1xuXG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWF0TnVtcGFkQ29tcG9uZW50IGlzIG5vdCBkZWZpbmVkLicgK1xuICAgICAgICAnIFBsZWFzZSBtYWtlIHN1cmUgeW91IHBhc3NlZCB0aGUgbnVtcGFkIHRvIG1hdE51bXBhZCBkaXJlY3RpdmUnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5aW5nS2V5KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc29sZS5kZWJ1ZygnW251bXBhZC1kaXJlY3RpdmVdIFJlY2VpdmluZyBrZXk9JyArIGV2ZW50LmtleSk7XG4gICAgbGV0IHZhbHVlID0gdGhpcy52YWx1ZSAhPT0gbnVsbCAmJiB0aGlzLnZhbHVlICE9PSB1bmRlZmluZWQgPyB0aGlzLnZhbHVlIDogJyc7XG4gICAgLy8gUmVtb3ZlIGZyZW5jaCBkZWNpbWFsIHNlcGFyYXRvclxuICAgIHZhbHVlID0gKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpID8gKCcnICsgdmFsdWUpIDogdmFsdWUucmVwbGFjZSgnLCcsICcuJyk7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJy4nIHx8IGV2ZW50LmtleSA9PT0gJywnKSB7XG4gICAgICBpZiAodmFsdWUuaW5kZXhPZignLicpID09PSAtMSkge1xuICAgICAgICB2YWx1ZSArPSAnLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQmFja3NwYWNlJykge1xuICAgICAgLy8gUmVtb3ZlIGxhc3QgY2hhcmFjdGVyXG4gICAgICB2YWx1ZSA9IHZhbHVlLmxlbmd0aCA+IDEgPyB2YWx1ZS5zdWJzdHIoMCwgdmFsdWUubGVuZ3RoIC0gMSkgOiAnJztcbiAgICB9XG4gICAgZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleUNvZGUgPT09IDEzKSB7XG4gICAgICB0aGlzLl9udW1wYWQuY2xvc2UoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnVGFiJykge1xuICAgICAgLy8gVE9ETyBnb3RvIG5leHQgaW5wdXQgP1xuICAgICAgcmV0dXJuOyAvLyBTa2lwXG4gICAgfVxuICAgIGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuX251bXBhZC5jbG9zZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHZhbHVlICs9IChldmVudC5rZXkgfHwgJycpO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUlucHV0VmFsdWUoKTogdm9pZCB7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLnZhbHVlO1xuICB9XG5cbn1cblxuIl19
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable } from '@angular/core';
|
|
2
|
-
import { DOCUMENT } from '@angular/common';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class MatNumpadDomService {
|
|
5
|
-
constructor(cfr, appRef, injector) {
|
|
6
|
-
this.cfr = cfr;
|
|
7
|
-
this.appRef = appRef;
|
|
8
|
-
this.injector = injector;
|
|
9
|
-
this._document = inject(DOCUMENT);
|
|
10
|
-
}
|
|
11
|
-
appendNumpadToBody(numpadType, config) {
|
|
12
|
-
this.componentRef = this.cfr.resolveComponentFactory(numpadType).create(this.injector);
|
|
13
|
-
Object.keys(config).forEach(key => this.componentRef.instance[key] = config[key]);
|
|
14
|
-
this.appRef.attachView(this.componentRef.hostView);
|
|
15
|
-
const domElement = this.componentRef.hostView
|
|
16
|
-
.rootNodes[0];
|
|
17
|
-
this._document.body.appendChild(domElement);
|
|
18
|
-
}
|
|
19
|
-
destroyNumpad() {
|
|
20
|
-
this.componentRef.destroy();
|
|
21
|
-
this.appRef.detachView(this.componentRef.hostView);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
MatNumpadDomService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MatNumpadDomService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25
|
-
MatNumpadDomService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MatNumpadDomService, providedIn: 'root' });
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MatNumpadDomService, decorators: [{
|
|
27
|
-
type: Injectable,
|
|
28
|
-
args: [{
|
|
29
|
-
providedIn: 'root'
|
|
30
|
-
}]
|
|
31
|
-
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ApplicationRef }, { type: i0.Injector }]; } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtcGFkLmRvbS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvbnVtcGFkL251bXBhZC5kb20tc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTBFLE1BQU0sRUFBRSxVQUFVLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzFJLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7QUFPekMsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QixZQUFvQixHQUE2QixFQUM3QixNQUFzQixFQUN0QixRQUFrQjtRQUZsQixRQUFHLEdBQUgsR0FBRyxDQUEwQjtRQUM3QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBSjlCLGNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFLckMsQ0FBQztJQUVELGtCQUFrQixDQUFDLFVBQTZDLEVBQUUsTUFBdUI7UUFDdkYsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFdkYsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUVsRixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRW5ELE1BQU0sVUFBVSxHQUFpQixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQXlEO2FBQ3pHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQzs7aUhBMUJVLG1CQUFtQjtxSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXBwbGljYXRpb25SZWYsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgQ29tcG9uZW50UmVmLCBFbWJlZGRlZFZpZXdSZWYsIGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TWF0TnVtcGFkQ29udGFpbmVyQ29tcG9uZW50fSBmcm9tICcuL251bXBhZC5jb250YWluZXInO1xuaW1wb3J0IHtNYXROdW1wYWRDb25maWd9IGZyb20gJy4vbnVtcGFkLm1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTWF0TnVtcGFkRG9tU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxNYXROdW1wYWRDb250YWluZXJDb21wb25lbnQ+O1xuICBwcml2YXRlIF9kb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZnI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgICAgICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICB9XG5cbiAgYXBwZW5kTnVtcGFkVG9Cb2R5KG51bXBhZFR5cGU6IFR5cGU8TWF0TnVtcGFkQ29udGFpbmVyQ29tcG9uZW50PiwgY29uZmlnOiBNYXROdW1wYWRDb25maWcpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMuY2ZyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KG51bXBhZFR5cGUpLmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcblxuICAgIE9iamVjdC5rZXlzKGNvbmZpZykuZm9yRWFjaChrZXkgPT4gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2Vba2V5XSA9IGNvbmZpZ1trZXldKTtcblxuICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuXG4gICAgY29uc3QgZG9tRWxlbWVudDogSFRNTEVsZW1lbnQgPSAodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPE1hdE51bXBhZENvbnRhaW5lckNvbXBvbmVudD4pXG4gICAgICAucm9vdE5vZGVzWzBdO1xuXG4gICAgdGhpcy5fZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb21FbGVtZW50KTtcbiAgfVxuXG4gIGRlc3Ryb3lOdW1wYWQoKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgIHRoaXMuYXBwUmVmLmRldGFjaFZpZXcodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export const DEFAULT_KEYMAP = [
|
|
2
|
-
[{ key: '1' }, { key: '2' }, { key: '3' }, { key: 'Backspace', icon: 'backspace', color: 'light' }],
|
|
3
|
-
[{ key: '4' }, { key: '5' }, { key: '6' }, { key: 'Tab', label: 'COMMON.BTN_NEXT_SHORT', color: 'light' }],
|
|
4
|
-
[{ key: '7' }, { key: '8' }, { key: '9' }, { key: '.', label: 'COMMON.BTN_DECIMAL_SEPARATOR', color: 'light' }],
|
|
5
|
-
[null, { key: '0' }, null, { key: 'Enter', icon: 'checkmark', color: 'tertiary' }]
|
|
6
|
-
];
|
|
7
|
-
//export declare type MatNumpadEventDetail = MatNumpadKey & {target: any};
|
|
8
|
-
//export declare type MatNumpadEvent = CustomEvent<MatNumpadEventDetail>
|
|
9
|
-
export class MatNumpadEvent extends KeyboardEvent {
|
|
10
|
-
constructor(type, init) {
|
|
11
|
-
super(type, init);
|
|
12
|
-
this.inputTarget = init && init.target;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtcGFkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvbWF0ZXJpYWwvbnVtcGFkL251bXBhZC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQ0EsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFvQjtJQUM3QyxDQUFDLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUMsQ0FBQztJQUMzRixDQUFDLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBQyxDQUFDO0lBQ2xHLENBQUMsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSw4QkFBOEIsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFDLENBQUM7SUFDdkcsQ0FBQyxJQUFJLEVBQUUsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFDLEVBQUUsSUFBSSxFQUFHLEVBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUMsQ0FBQztDQUNoRixDQUFDO0FBRUYsMEVBQTBFO0FBQzFFLHdFQUF3RTtBQUV4RSxNQUFNLE9BQU8sY0FBZSxTQUFRLGFBQWE7SUFFL0MsWUFBWSxJQUFZLEVBQUUsSUFBdUM7UUFDL0QsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXZlbnRFbWl0dGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBNYXROdW1wYWRSZWYge1xuXG4gICAga2V5cHJlc3M6IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PjtcblxuICAgIGNsb3NlKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWF0TnVtcGFkQ29uZmlnIHtcbiAgaW5wdXRFbGVtZW50OiBhbnk7XG4gIGtleW1hcDogTWF0TnVtcGFkS2V5W11bXTtcbiAgbnVtcGFkUmVmOiBNYXROdW1wYWRSZWY7XG4gIGRlY2ltYWw6IGJvb2xlYW47XG4gIGRpc2FibGVBbmltYXRpb246IGJvb2xlYW47XG4gIG5vQmFja2Ryb3A6IGJvb2xlYW47XG4gIHBvc2l0aW9uOiBzdHJpbmc7XG5cbiAgYXBwZW5kVG9JbnB1dDogYm9vbGVhbjtcbiAgLy8gVE9ET1xuICAvL2Nzc0NsYXNzIHdpZHRoID0gc2NvcGUuc2V0dGluZ3Mud2lkdGggfHwgJzEwMCUnO1xuICAvL3Njb3BlLmFsaWduID0gc2NvcGUuc2V0dGluZ3MuYWxpZ24gfHwgJ2NlbnRlcic7XG4gIC8vIGFuaW1hdGlvbjogJ3NsaWRlLXVwJyB8ICdwb3AnXG4gIC8vIHJlc2l6ZUNvbnRlbnQ6IHRydWVcbiAgLy8gYW5pbWF0aW9uRHVyYXRpb24gPSAxNTA7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWF0TnVtcGFkS2V5IHtcbiAga2V5OiBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBjb2xvcj86IHN0cmluZztcbiAgbWF0SWNvbj86IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGRlY2xhcmUgdHlwZSBNYXROdW1wYWRLZXltYXAgPSBNYXROdW1wYWRLZXlbXVtdO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9LRVlNQVA6IE1hdE51bXBhZEtleW1hcCA9IFtcbiAgW3trZXk6ICcxJ30sIHtrZXk6ICcyJ30sIHtrZXk6ICczJ30sIHtrZXk6ICdCYWNrc3BhY2UnLCBpY29uOiAnYmFja3NwYWNlJywgY29sb3I6ICdsaWdodCd9XSxcbiAgW3trZXk6ICc0J30sIHtrZXk6ICc1J30sIHtrZXk6ICc2J30sIHtrZXk6ICdUYWInLCBsYWJlbDogJ0NPTU1PTi5CVE5fTkVYVF9TSE9SVCcsIGNvbG9yOiAnbGlnaHQnfV0sXG4gIFt7a2V5OiAnNyd9LCB7a2V5OiAnOCd9LCB7a2V5OiAnOSd9LCB7a2V5OiAnLicsIGxhYmVsOiAnQ09NTU9OLkJUTl9ERUNJTUFMX1NFUEFSQVRPUicsIGNvbG9yOiAnbGlnaHQnfV0sXG4gIFtudWxsLCB7a2V5OiAnMCd9LCBudWxsLCAge2tleTogJ0VudGVyJywgaWNvbjogJ2NoZWNrbWFyaycsIGNvbG9yOiAndGVydGlhcnknfV1cbl07XG5cbi8vZXhwb3J0IGRlY2xhcmUgdHlwZSBNYXROdW1wYWRFdmVudERldGFpbCA9IE1hdE51bXBhZEtleSAmIHt0YXJnZXQ6IGFueX07XG4vL2V4cG9ydCBkZWNsYXJlIHR5cGUgTWF0TnVtcGFkRXZlbnQgPSBDdXN0b21FdmVudDxNYXROdW1wYWRFdmVudERldGFpbD5cblxuZXhwb3J0IGNsYXNzIE1hdE51bXBhZEV2ZW50IGV4dGVuZHMgS2V5Ym9hcmRFdmVudCB7XG4gIGlucHV0VGFyZ2V0OiBhbnk7XG4gIGNvbnN0cnVjdG9yKHR5cGU6IHN0cmluZywgaW5pdDogS2V5Ym9hcmRFdmVudEluaXQgJiB7dGFyZ2V0OiBhbnl9KSB7XG4gICAgc3VwZXIodHlwZSwgaW5pdCk7XG4gICAgdGhpcy5pbnB1dFRhcmdldCA9IGluaXQgJiYgaW5pdC50YXJnZXQ7XG4gIH1cbn1cblxuIl19
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { Validators } from '@angular/forms';
|
|
3
|
-
import { SharedValidators } from '../../../validator/validators';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/forms";
|
|
6
|
-
import * as i2 from "@ionic/angular";
|
|
7
|
-
import * as i3 from "@angular/material/form-field";
|
|
8
|
-
import * as i4 from "@angular/material/input";
|
|
9
|
-
import * as i5 from "../../datetime/material.datetime";
|
|
10
|
-
import * as i6 from "../numpad.component";
|
|
11
|
-
import * as i7 from "../numpad.directive";
|
|
12
|
-
export class NumpadTestPage {
|
|
13
|
-
constructor(formBuilder) {
|
|
14
|
-
this.formBuilder = formBuilder;
|
|
15
|
-
this.form = formBuilder.group({
|
|
16
|
-
empty: [null, Validators.required],
|
|
17
|
-
integer: [null, Validators.compose([Validators.required, SharedValidators.integer])],
|
|
18
|
-
disable: [null, Validators.required],
|
|
19
|
-
datetime: [null]
|
|
20
|
-
});
|
|
21
|
-
this.form.get('disable').disable();
|
|
22
|
-
}
|
|
23
|
-
ngOnInit() {
|
|
24
|
-
this.loadData();
|
|
25
|
-
//setTimeout(() => this.loadData(), 1500);
|
|
26
|
-
}
|
|
27
|
-
// Load the form with data
|
|
28
|
-
async loadData() {
|
|
29
|
-
const data = {
|
|
30
|
-
empty: null,
|
|
31
|
-
integer: 99,
|
|
32
|
-
disable: -111.11
|
|
33
|
-
};
|
|
34
|
-
this.form.patchValue(data);
|
|
35
|
-
}
|
|
36
|
-
doSubmit(event) {
|
|
37
|
-
console.debug('Validate form: ', this.form.value);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
NumpadTestPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NumpadTestPage, deps: [{ token: i1.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
41
|
-
NumpadTestPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NumpadTestPage, selector: "app-numpad-test", ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"primary\">\n\n <ion-buttons slot=\"start\">\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>Numeric pad test page</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n\n <h1>Numpad test page:</h1>\n\n <form class=\"form-container\" [formGroup]=\"form\" (ngSubmit)=\"doSubmit($event)\">\n\n <ion-grid>\n\n <ion-row>\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Decimal field, readonly\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-form-field >\n <mat-label>Empty decimal field</mat-label>\n <input matInput type=\"text\" formControlName=\"empty\"\n autocomplete=\"off\"\n [matNumpad]=\"numpadDecimal\"\n readonly>\n <mat-numpad [decimal]=\"true\" #numpadDecimal></mat-numpad>\n </mat-form-field>\n\n\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <!-- filled -->\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Integer field\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-form-field >\n <mat-label>Filled integer field</mat-label>\n <input matInput type=\"number\" formControlName=\"integer\"\n autocomplete=\"off\"\n [matNumpad]=\"numpadInteger\">\n <mat-numpad #numpadInteger [decimal]=\"false\"></mat-numpad>\n\n </mat-form-field>\n\n\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <!-- append to input -->\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Attach to input, readonly\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-form-field >\n <mat-label>A number</mat-label>\n <input matInput type=\"text\" formControlName=\"integer\"\n autocomplete=\"off\"\n [matNumpad]=\"numpadAppendToInput\"\n readonly>\n <mat-numpad #numpadAppendToInput [appendToInput]=\"true\"></mat-numpad>\n </mat-form-field>\n\n\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <!-- disable -->\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Disabled control\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-form-field >\n <mat-label>Disabled field</mat-label>\n <input matInput type=\"number\" formControlName=\"disable\"\n autocomplete=\"off\"\n [matNumpad]=\"numpadDisabled\">\n <mat-numpad #numpadDisabled></mat-numpad>\n </mat-form-field>\n\n\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n\n\n <!-- Other field (for comparision) -->\n <ion-row><ion-col><ion-text><h4>Other field type (for style comparision)</h4></ion-text></ion-col></ion-row>\n <ion-row>\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Mat date time\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-date-time-field formControlName=\"datetime\" placeholder=\"Date/Time field (desktop)\">\n </mat-date-time-field>\n\n <mat-date-time-field formControlName=\"datetime\"\n placeholder=\"Date/Time field (mobile)\"\n [mobile]=\"true\">\n </mat-date-time-field>\n\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n </form>\n\n</ion-content>\n", dependencies: [{ kind: "component", type: i2.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i2.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i2.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i2.IonCardHeader, selector: "ion-card-header", inputs: ["color", "mode", "translucent"] }, { kind: "component", type: i2.IonCardTitle, selector: "ion-card-title", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i2.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i2.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i2.IonRow, selector: "ion-row" }, { kind: "component", type: i2.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i2.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonBackButton, selector: "ion-back-button" }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatDateTime, selector: "mat-date-time-field", inputs: ["formControl", "formControlName", "required", "placeholder", "floatLabel", "appearance", "mobile", "compact", "placeholderChar", "autofocus", "startDate", "clearable", "datePickerFilter", "readonly", "tabindex"] }, { kind: "component", type: i6.MatNumpadComponent, selector: "mat-numpad", inputs: ["keymap", "decimal", "appendToInput", "disableAnimation", "noBackdrop", "position"], outputs: ["keypress", "closed"] }, { kind: "directive", type: i7.NumpadDirective, selector: "[matNumpad]", inputs: ["keymap", "matNumpad", "value", "disabled", "decimal", "disableClick"] }] });
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NumpadTestPage, decorators: [{
|
|
43
|
-
type: Component,
|
|
44
|
-
args: [{ selector: 'app-numpad-test', template: "<ion-header>\n <ion-toolbar color=\"primary\">\n\n <ion-buttons slot=\"start\">\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>Numeric pad test page</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n\n <h1>Numpad test page:</h1>\n\n <form class=\"form-container\" [formGroup]=\"form\" (ngSubmit)=\"doSubmit($event)\">\n\n <ion-grid>\n\n <ion-row>\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Decimal field, readonly\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-form-field >\n <mat-label>Empty decimal field</mat-label>\n <input matInput type=\"text\" formControlName=\"empty\"\n autocomplete=\"off\"\n [matNumpad]=\"numpadDecimal\"\n readonly>\n <mat-numpad [decimal]=\"true\" #numpadDecimal></mat-numpad>\n </mat-form-field>\n\n\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <!-- filled -->\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Integer field\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-form-field >\n <mat-label>Filled integer field</mat-label>\n <input matInput type=\"number\" formControlName=\"integer\"\n autocomplete=\"off\"\n [matNumpad]=\"numpadInteger\">\n <mat-numpad #numpadInteger [decimal]=\"false\"></mat-numpad>\n\n </mat-form-field>\n\n\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <!-- append to input -->\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Attach to input, readonly\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-form-field >\n <mat-label>A number</mat-label>\n <input matInput type=\"text\" formControlName=\"integer\"\n autocomplete=\"off\"\n [matNumpad]=\"numpadAppendToInput\"\n readonly>\n <mat-numpad #numpadAppendToInput [appendToInput]=\"true\"></mat-numpad>\n </mat-form-field>\n\n\n </ion-card-content>\n </ion-card>\n </ion-col>\n\n <!-- disable -->\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Disabled control\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-form-field >\n <mat-label>Disabled field</mat-label>\n <input matInput type=\"number\" formControlName=\"disable\"\n autocomplete=\"off\"\n [matNumpad]=\"numpadDisabled\">\n <mat-numpad #numpadDisabled></mat-numpad>\n </mat-form-field>\n\n\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n\n\n <!-- Other field (for comparision) -->\n <ion-row><ion-col><ion-text><h4>Other field type (for style comparision)</h4></ion-text></ion-col></ion-row>\n <ion-row>\n <ion-col>\n <ion-card>\n <ion-card-header>\n <ion-card-title>\n <ion-label color=\"primary\">\n Mat date time\n </ion-label>\n </ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <mat-date-time-field formControlName=\"datetime\" placeholder=\"Date/Time field (desktop)\">\n </mat-date-time-field>\n\n <mat-date-time-field formControlName=\"datetime\"\n placeholder=\"Date/Time field (mobile)\"\n [mobile]=\"true\">\n </mat-date-time-field>\n\n </ion-card-content>\n </ion-card>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n </form>\n\n</ion-content>\n" }]
|
|
45
|
-
}], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }]; } });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtcGFkLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9tYXRlcmlhbC9udW1wYWQvdGVzdGluZy9udW1wYWQudGVzdC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL251bXBhZC90ZXN0aW5nL251bXBhZC50ZXN0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQXVDLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7QUFPL0QsTUFBTSxPQUFPLGNBQWM7SUFLekIsWUFDWSxXQUErQjtRQUEvQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFFekMsSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQzVCLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2xDLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3BGLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3BDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQztTQUNqQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsUUFBUTtRQUdOLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQiwwQ0FBMEM7SUFFNUMsQ0FBQztJQUVELDBCQUEwQjtJQUMxQixLQUFLLENBQUMsUUFBUTtRQUNaLE1BQU0sSUFBSSxHQUFHO1lBQ1gsS0FBSyxFQUFFLElBQUk7WUFDWCxPQUFPLEVBQUUsRUFBRTtZQUNYLE9BQU8sRUFBRSxDQUFDLE1BQU07U0FDakIsQ0FBQztRQUVGLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBSztRQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs0R0F2Q1UsY0FBYztnR0FBZCxjQUFjLHVEQ1QzQixpbkpBc0pBOzRGRDdJYSxjQUFjO2tCQUoxQixTQUFTOytCQUNFLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7U2hhcmVkVmFsaWRhdG9yc30gZnJvbSAnLi4vLi4vLi4vdmFsaWRhdG9yL3ZhbGlkYXRvcnMnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1udW1wYWQtdGVzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9udW1wYWQudGVzdC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBOdW1wYWRUZXN0UGFnZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cblxuICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyXG4gICkge1xuICAgIHRoaXMuZm9ybSA9IGZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGVtcHR5OiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBpbnRlZ2VyOiBbbnVsbCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBTaGFyZWRWYWxpZGF0b3JzLmludGVnZXJdKV0sXG4gICAgICBkaXNhYmxlOiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBkYXRldGltZTogW251bGxdXG4gICAgfSk7XG5cbiAgICB0aGlzLmZvcm0uZ2V0KCdkaXNhYmxlJykuZGlzYWJsZSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG5cblxuICAgIHRoaXMubG9hZERhdGEoKTtcbiAgICAvL3NldFRpbWVvdXQoKCkgPT4gdGhpcy5sb2FkRGF0YSgpLCAxNTAwKTtcblxuICB9XG5cbiAgLy8gTG9hZCB0aGUgZm9ybSB3aXRoIGRhdGFcbiAgYXN5bmMgbG9hZERhdGEoKSB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGVtcHR5OiBudWxsLFxuICAgICAgaW50ZWdlcjogOTksXG4gICAgICBkaXNhYmxlOiAtMTExLjExXG4gICAgfTtcblxuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKGRhdGEpO1xuICB9XG5cbiAgZG9TdWJtaXQoZXZlbnQpIHtcbiAgICBjb25zb2xlLmRlYnVnKCdWYWxpZGF0ZSBmb3JtOiAnLCB0aGlzLmZvcm0udmFsdWUpO1xuICB9XG5cbiAgLyogLS0gcHJvdGVjdGVkIG1ldGhvZHMgLS0gKi9cblxuXG59XG5cbiIsIjxpb24taGVhZGVyPlxuICA8aW9uLXRvb2xiYXIgY29sb3I9XCJwcmltYXJ5XCI+XG5cbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInN0YXJ0XCI+XG4gICAgICA8aW9uLWJhY2stYnV0dG9uPjwvaW9uLWJhY2stYnV0dG9uPlxuICAgIDwvaW9uLWJ1dHRvbnM+XG5cbiAgICA8aW9uLXRpdGxlPk51bWVyaWMgcGFkIHRlc3QgcGFnZTwvaW9uLXRpdGxlPlxuICA8L2lvbi10b29sYmFyPlxuPC9pb24taGVhZGVyPlxuXG48aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuXG4gIDxoMT5OdW1wYWQgdGVzdCBwYWdlOjwvaDE+XG5cbiAgPGZvcm0gY2xhc3M9XCJmb3JtLWNvbnRhaW5lclwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJkb1N1Ym1pdCgkZXZlbnQpXCI+XG5cbiAgICA8aW9uLWdyaWQ+XG5cbiAgICAgIDxpb24tcm93PlxuICAgICAgICA8aW9uLWNvbD5cbiAgICAgICAgICA8aW9uLWNhcmQ+XG4gICAgICAgICAgICA8aW9uLWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgICA8aW9uLWNhcmQtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGlvbi1sYWJlbCBjb2xvcj1cInByaW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgIERlY2ltYWwgZmllbGQsIHJlYWRvbmx5XG4gICAgICAgICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgICAgIDwvaW9uLWNhcmQtdGl0bGU+XG4gICAgICAgICAgICA8L2lvbi1jYXJkLWhlYWRlcj5cbiAgICAgICAgICAgIDxpb24tY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+RW1wdHkgZGVjaW1hbCBmaWVsZDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIGZvcm1Db250cm9sTmFtZT1cImVtcHR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW21hdE51bXBhZF09XCJudW1wYWREZWNpbWFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgcmVhZG9ubHk+XG4gICAgICAgICAgICAgICAgPG1hdC1udW1wYWQgW2RlY2ltYWxdPVwidHJ1ZVwiICNudW1wYWREZWNpbWFsPjwvbWF0LW51bXBhZD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuXG4gICAgICAgICAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgPC9pb24tY2FyZD5cbiAgICAgICAgPC9pb24tY29sPlxuXG4gICAgICAgIDwhLS0gZmlsbGVkIC0tPlxuICAgICAgICA8aW9uLWNvbD5cbiAgICAgICAgICA8aW9uLWNhcmQ+XG4gICAgICAgICAgICA8aW9uLWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgICA8aW9uLWNhcmQtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGlvbi1sYWJlbCBjb2xvcj1cInByaW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgIEludGVnZXIgZmllbGRcbiAgICAgICAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgICAgICAgPC9pb24tY2FyZC10aXRsZT5cbiAgICAgICAgICAgIDwvaW9uLWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgPGlvbi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCA+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5GaWxsZWQgaW50ZWdlciBmaWVsZDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwibnVtYmVyXCIgZm9ybUNvbnRyb2xOYW1lPVwiaW50ZWdlclwiXG4gICAgICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgICAgICAgIFttYXROdW1wYWRdPVwibnVtcGFkSW50ZWdlclwiPlxuICAgICAgICAgICAgICAgIDxtYXQtbnVtcGFkICNudW1wYWRJbnRlZ2VyIFtkZWNpbWFsXT1cImZhbHNlXCI+PC9tYXQtbnVtcGFkPlxuXG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cblxuICAgICAgICAgICAgPC9pb24tY2FyZC1jb250ZW50PlxuICAgICAgICAgIDwvaW9uLWNhcmQ+XG4gICAgICAgIDwvaW9uLWNvbD5cblxuICAgICAgICA8IS0tIGFwcGVuZCB0byBpbnB1dCAtLT5cbiAgICAgICAgPGlvbi1jb2w+XG4gICAgICAgICAgPGlvbi1jYXJkPlxuICAgICAgICAgICAgPGlvbi1jYXJkLWhlYWRlcj5cbiAgICAgICAgICAgICAgPGlvbi1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgICAgIDxpb24tbGFiZWwgY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICAgICAgICAgICAgICBBdHRhY2ggdG8gaW5wdXQsIHJlYWRvbmx5XG4gICAgICAgICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgICAgIDwvaW9uLWNhcmQtdGl0bGU+XG4gICAgICAgICAgICA8L2lvbi1jYXJkLWhlYWRlcj5cbiAgICAgICAgICAgIDxpb24tY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+QSBudW1iZXI8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBmb3JtQ29udHJvbE5hbWU9XCJpbnRlZ2VyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW21hdE51bXBhZF09XCJudW1wYWRBcHBlbmRUb0lucHV0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgcmVhZG9ubHk+XG4gICAgICAgICAgICAgICAgPG1hdC1udW1wYWQgI251bXBhZEFwcGVuZFRvSW5wdXQgW2FwcGVuZFRvSW5wdXRdPVwidHJ1ZVwiPjwvbWF0LW51bXBhZD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuXG4gICAgICAgICAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgPC9pb24tY2FyZD5cbiAgICAgICAgPC9pb24tY29sPlxuXG4gICAgICAgIDwhLS0gZGlzYWJsZSAtLT5cbiAgICAgICAgPGlvbi1jb2w+XG4gICAgICAgICAgPGlvbi1jYXJkPlxuICAgICAgICAgICAgPGlvbi1jYXJkLWhlYWRlcj5cbiAgICAgICAgICAgICAgPGlvbi1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgICAgIDxpb24tbGFiZWwgY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICAgICAgICAgICAgICBEaXNhYmxlZCBjb250cm9sXG4gICAgICAgICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgICAgIDwvaW9uLWNhcmQtdGl0bGU+XG4gICAgICAgICAgICA8L2lvbi1jYXJkLWhlYWRlcj5cbiAgICAgICAgICAgIDxpb24tY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+RGlzYWJsZWQgZmllbGQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIGZvcm1Db250cm9sTmFtZT1cImRpc2FibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgICAgICBbbWF0TnVtcGFkXT1cIm51bXBhZERpc2FibGVkXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1udW1wYWQgI251bXBhZERpc2FibGVkPjwvbWF0LW51bXBhZD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuXG4gICAgICAgICAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgPC9pb24tY2FyZD5cbiAgICAgICAgPC9pb24tY29sPlxuICAgICAgPC9pb24tcm93PlxuXG5cbiAgICAgIDwhLS0gT3RoZXIgZmllbGQgKGZvciBjb21wYXJpc2lvbikgLS0+XG4gICAgICA8aW9uLXJvdz48aW9uLWNvbD48aW9uLXRleHQ+PGg0Pk90aGVyIGZpZWxkIHR5cGUgKGZvciBzdHlsZSBjb21wYXJpc2lvbik8L2g0PjwvaW9uLXRleHQ+PC9pb24tY29sPjwvaW9uLXJvdz5cbiAgICAgIDxpb24tcm93PlxuICAgICAgICA8aW9uLWNvbD5cbiAgICAgICAgICA8aW9uLWNhcmQ+XG4gICAgICAgICAgICA8aW9uLWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgICA8aW9uLWNhcmQtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGlvbi1sYWJlbCBjb2xvcj1cInByaW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgIE1hdCBkYXRlIHRpbWVcbiAgICAgICAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgICAgICAgPC9pb24tY2FyZC10aXRsZT5cbiAgICAgICAgICAgIDwvaW9uLWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgPGlvbi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICAgIDxtYXQtZGF0ZS10aW1lLWZpZWxkIGZvcm1Db250cm9sTmFtZT1cImRhdGV0aW1lXCIgcGxhY2Vob2xkZXI9XCJEYXRlL1RpbWUgZmllbGQgKGRlc2t0b3ApXCI+XG4gICAgICAgICAgICAgIDwvbWF0LWRhdGUtdGltZS1maWVsZD5cblxuICAgICAgICAgICAgICA8bWF0LWRhdGUtdGltZS1maWVsZCBmb3JtQ29udHJvbE5hbWU9XCJkYXRldGltZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRGF0ZS9UaW1lIGZpZWxkIChtb2JpbGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vYmlsZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgIDwvbWF0LWRhdGUtdGltZS1maWVsZD5cblxuICAgICAgICAgICAgPC9pb24tY2FyZC1jb250ZW50PlxuICAgICAgICAgIDwvaW9uLWNhcmQ+XG4gICAgICAgIDwvaW9uLWNvbD5cbiAgICAgIDwvaW9uLXJvdz5cbiAgICA8L2lvbi1ncmlkPlxuXG4gIDwvZm9ybT5cblxuPC9pb24tY29udGVudD5cbiJdfQ==
|