@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
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { Component, EventEmitter, Inject, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { UntypedFormControl, Validators, } from '@angular/forms';
|
|
3
|
+
import { Account } from '../services/model/account.model';
|
|
4
|
+
import { referentialToString } from '../services/model/referential.model';
|
|
5
|
+
import { timer } from 'rxjs';
|
|
6
|
+
import { mergeMap } from 'rxjs/operators';
|
|
7
|
+
import { ENVIRONMENT } from '../../../environments/environment.class';
|
|
8
|
+
import { MatAutocompleteConfigHolder } from '../../shared/material/autocomplete/material.autocomplete.config';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "../services/account.service";
|
|
11
|
+
import * as i2 from "../services/validator/account.validator";
|
|
12
|
+
import * as i3 from "@angular/forms";
|
|
13
|
+
import * as i4 from "../services/local-settings.service";
|
|
14
|
+
import * as i5 from "@angular/common";
|
|
15
|
+
import * as i6 from "@ionic/angular";
|
|
16
|
+
import * as i7 from "@ngx-translate/core";
|
|
17
|
+
import * as i8 from "@angular/material/form-field";
|
|
18
|
+
import * as i9 from "@angular/material/input";
|
|
19
|
+
import * as i10 from "@angular/material/icon";
|
|
20
|
+
import * as i11 from "@angular/material/button";
|
|
21
|
+
import * as i12 from "@angular/material/stepper";
|
|
22
|
+
import * as i13 from "../../shared/directives/autofocus.directive";
|
|
23
|
+
import * as i14 from "../../shared/form/field.component";
|
|
24
|
+
import * as i15 from "../../../environments/environment.class";
|
|
25
|
+
export class RegisterForm {
|
|
26
|
+
accountService;
|
|
27
|
+
accountValidatorService;
|
|
28
|
+
formBuilder;
|
|
29
|
+
environment;
|
|
30
|
+
settings;
|
|
31
|
+
debug = false;
|
|
32
|
+
autocompleteHelper;
|
|
33
|
+
additionalFields;
|
|
34
|
+
form;
|
|
35
|
+
forms;
|
|
36
|
+
subscriptions = [];
|
|
37
|
+
error;
|
|
38
|
+
sending = false;
|
|
39
|
+
showPwd = false;
|
|
40
|
+
showConfirmPwd = false;
|
|
41
|
+
stepper;
|
|
42
|
+
onCancel = new EventEmitter();
|
|
43
|
+
onSubmit = new EventEmitter();
|
|
44
|
+
constructor(accountService, accountValidatorService, formBuilder, environment, settings) {
|
|
45
|
+
this.accountService = accountService;
|
|
46
|
+
this.accountValidatorService = accountValidatorService;
|
|
47
|
+
this.formBuilder = formBuilder;
|
|
48
|
+
this.environment = environment;
|
|
49
|
+
this.settings = settings;
|
|
50
|
+
this.forms = [];
|
|
51
|
+
// Email form
|
|
52
|
+
this.forms.push(formBuilder.group({
|
|
53
|
+
email: new UntypedFormControl(null, Validators.compose([Validators.required, Validators.email]), this.emailAvailability(this.accountService)),
|
|
54
|
+
confirmEmail: new UntypedFormControl(null, Validators.compose([Validators.required, this.equalsValidator('email')])),
|
|
55
|
+
}));
|
|
56
|
+
// Password form
|
|
57
|
+
this.forms.push(formBuilder.group({
|
|
58
|
+
password: new UntypedFormControl(null, Validators.compose([Validators.required, Validators.minLength(8)])),
|
|
59
|
+
confirmPassword: new UntypedFormControl(null, Validators.compose([Validators.required, this.equalsValidator('password')])),
|
|
60
|
+
}));
|
|
61
|
+
// Detail form
|
|
62
|
+
const formDetailDef = {
|
|
63
|
+
lastName: new UntypedFormControl(null, Validators.compose([Validators.required, Validators.minLength(2)])),
|
|
64
|
+
firstName: new UntypedFormControl(null, Validators.compose([Validators.required, Validators.minLength(2)])),
|
|
65
|
+
};
|
|
66
|
+
// Prepare autocomplete settings
|
|
67
|
+
this.autocompleteHelper = new MatAutocompleteConfigHolder(settings && {
|
|
68
|
+
getUserAttributes: (a, b) => settings.getFieldDisplayAttributes(a, b),
|
|
69
|
+
});
|
|
70
|
+
// Add additional fields to details form
|
|
71
|
+
this.additionalFields = this.accountService.additionalFields
|
|
72
|
+
// Keep only required fields
|
|
73
|
+
.filter((field) => field.extra && field.extra.registration && field.extra.registration.required);
|
|
74
|
+
this.additionalFields.forEach((field) => {
|
|
75
|
+
//if (this.debug) console.debug("[register-form] Add additional field {" + field.name + "} to form", field);
|
|
76
|
+
formDetailDef[field.key] = new UntypedFormControl(null, this.accountValidatorService.getValidators(field));
|
|
77
|
+
if (field.type === 'entity') {
|
|
78
|
+
field.autocomplete = this.autocompleteHelper.add(field.key, field.autocomplete);
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
this.forms.push(formBuilder.group(formDetailDef));
|
|
82
|
+
this.form = formBuilder.group({
|
|
83
|
+
emailStep: this.forms[0],
|
|
84
|
+
passwordStep: this.forms[1],
|
|
85
|
+
detailsStep: this.forms[2],
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
ngOnInit() {
|
|
89
|
+
// For DEV only ------------------------
|
|
90
|
+
if (!this.environment.production) {
|
|
91
|
+
this.form.setValue({
|
|
92
|
+
emailStep: {
|
|
93
|
+
email: 'contact@e-is.pro',
|
|
94
|
+
confirmEmail: 'contact@e-is.pro',
|
|
95
|
+
},
|
|
96
|
+
passwordStep: {
|
|
97
|
+
password: 'contactera',
|
|
98
|
+
confirmPassword: 'contactera',
|
|
99
|
+
},
|
|
100
|
+
detailsStep: {
|
|
101
|
+
lastName: 'Lavenier 2',
|
|
102
|
+
firstName: 'Benoit',
|
|
103
|
+
department: null,
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
get value() {
|
|
109
|
+
const result = {
|
|
110
|
+
username: this.form.value.emailStep.email,
|
|
111
|
+
password: this.form.value.passwordStep.password,
|
|
112
|
+
account: new Account(),
|
|
113
|
+
};
|
|
114
|
+
result.account.fromObject(this.form.value.detailsStep);
|
|
115
|
+
result.account.email = result.username;
|
|
116
|
+
return result;
|
|
117
|
+
}
|
|
118
|
+
get valid() {
|
|
119
|
+
return this.form.valid;
|
|
120
|
+
}
|
|
121
|
+
isEnd() {
|
|
122
|
+
return this.stepper.selectedIndex === 2;
|
|
123
|
+
}
|
|
124
|
+
isBeginning() {
|
|
125
|
+
return this.stepper.selectedIndex === 0;
|
|
126
|
+
}
|
|
127
|
+
slidePrev() {
|
|
128
|
+
return this.stepper.previous();
|
|
129
|
+
}
|
|
130
|
+
slideNext(event) {
|
|
131
|
+
if (event) {
|
|
132
|
+
event.stopPropagation();
|
|
133
|
+
event.preventDefault();
|
|
134
|
+
}
|
|
135
|
+
return this.stepper.next();
|
|
136
|
+
}
|
|
137
|
+
equalsValidator(otherControlName) {
|
|
138
|
+
return function (c) {
|
|
139
|
+
if (c.parent && c.value !== c.parent.value[otherControlName]) {
|
|
140
|
+
return {
|
|
141
|
+
equals: true,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
return null;
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
emailAvailability(accountService) {
|
|
148
|
+
return function (control) {
|
|
149
|
+
return timer(500).pipe(mergeMap(() => accountService
|
|
150
|
+
.checkEmailAvailable(control.value)
|
|
151
|
+
.then((res) => null)
|
|
152
|
+
.catch((err) => {
|
|
153
|
+
console.error(err);
|
|
154
|
+
return { availability: true };
|
|
155
|
+
})));
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
cancel() {
|
|
159
|
+
this.onCancel.emit();
|
|
160
|
+
}
|
|
161
|
+
doSubmit(event) {
|
|
162
|
+
if (this.form.invalid)
|
|
163
|
+
return;
|
|
164
|
+
this.sending = true;
|
|
165
|
+
this.onSubmit.emit(this.value);
|
|
166
|
+
}
|
|
167
|
+
referentialToString = referentialToString;
|
|
168
|
+
markAsTouched() {
|
|
169
|
+
this.form.markAsTouched();
|
|
170
|
+
}
|
|
171
|
+
disable() {
|
|
172
|
+
this.form.disable();
|
|
173
|
+
}
|
|
174
|
+
enable() {
|
|
175
|
+
this.form.enable();
|
|
176
|
+
}
|
|
177
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RegisterForm, deps: [{ token: i1.AccountService }, { token: i2.AccountValidatorService }, { token: i3.UntypedFormBuilder }, { token: ENVIRONMENT }, { token: i4.LocalSettingsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
178
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RegisterForm, selector: "app-register-form", outputs: { onCancel: "onCancel", onSubmit: "onSubmit" }, viewQueries: [{ propertyName: "stepper", first: true, predicate: ["stepper"], descendants: true, static: true }], ngImport: i0, template: "<mat-horizontal-stepper linear #stepper=\"matHorizontalStepper\">\n\n <!-- Step 1: Username -->\n <mat-step [stepControl]=\"forms[0]\" *ngIf=\"forms[0].controls; let controls\">\n\n <form [formGroup]=\"forms[0]\" class=\"form-container ion-padding\" (keyup.enter)=\"slideNext($event)\">\n <ng-template matStepLabel>{{'REGISTER.STEP_EMAIL'|translate}}</ng-template>\n\n <!-- Email -->\n <mat-form-field>\n <mat-label>{{'USER.EMAIL'|translate}}</mat-label>\n <input matInput\n [appAutofocus]=\"true\" [autofocusDelay]=\"500\"\n formControlName=\"email\" autocomplete=\"off\" required>\n <mat-error *ngIf=\"controls.email.hasError('required') && controls.email.touched\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"controls.email.hasError('email') && !controls.email.hasError('required') && controls.email.touched\">\n <span>{{'ERROR.FIELD_NOT_VALID_EMAIL' | translate }}</span>\n </mat-error>\n <mat-error *ngIf=\"controls.email.hasError('availability') && controls.email.touched\" translate>REGISTER.ERROR.EMAIL_ALREADY_REGISTERED</mat-error>\n\n </mat-form-field>\n\n <!-- Confirm Email -->\n <mat-form-field>\n <mat-label>{{'REGISTER.CONFIRM_EMAIL'|translate}}</mat-label>\n <input matInput autocomplete=\"off\" matFormFieldControl formControlName=\"confirmEmail\">\n <mat-error *ngIf=\"controls.confirmEmail.hasError('required') && controls.confirmEmail.touched\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"controls.confirmEmail.hasError('equals') && controls.confirmEmail.touched\">\n <span>{{'REGISTER.ERROR.NOT_SAME_EMAIL' | translate }}</span>\n </mat-error>\n </mat-form-field>\n\n </form>\n </mat-step>\n\n\n <!-- Step 2: Password -->\n <mat-step [stepControl]=\"forms[1]\" *ngIf=\"forms[1].controls; let controls\">\n\n <form [formGroup]=\"forms[1]\" class=\"form-container ion-padding\" (keyup.enter)=\"slideNext($event)\">\n\n <ng-template matStepLabel>{{'REGISTER.STEP_PASSWORD'|translate}}</ng-template>\n\n <!-- Password -->\n <mat-form-field>\n <mat-label>{{'USER.PASSWORD'|translate}}</mat-label>\n <input matInput\n formControlName=\"password\"\n autocomplete=\"section-red new-password\"\n [type]=\"showPwd ? 'text' : 'password'\"\n required>\n <button matSuffix mat-icon-button\n type=\"button\"\n (click)=\"showPwd = !showPwd\"\n tabindex=\"-1\">\n <mat-icon>{{showPwd ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"controls.password.hasError('required') && controls.password.touched\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"controls.password.hasError('minlength') && controls.password.touched\">\n <span>{{'ERROR.FIELD_MIN_LENGTH' | translate: {minLength: 8} }}</span>\n </mat-error>\n </mat-form-field>\n\n <!-- Confirm password -->\n <mat-form-field>\n <mat-label>{{'REGISTER.CONFIRM_PASSWORD'|translate}}</mat-label>\n <input matInput\n formControlName=\"confirmPassword\"\n autocomplete=\"section-red new-password\"\n [type]=\"showConfirmPwd ? 'text' : 'password'\"\n required>\n <button mat-icon-button matSuffix\n (click)=\"showConfirmPwd = !showConfirmPwd\"\n tabindex=\"-1\">\n <mat-icon>{{showConfirmPwd ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"controls.confirmPassword.hasError('required') && controls.confirmPassword.touched\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"controls.confirmPassword.hasError('equals') && controls.confirmPassword.touched\">\n <span>{{'REGISTER.ERROR.NOT_SAME_PASSWORD' | translate }}</span>\n </mat-error>\n </mat-form-field>\n\n </form>\n </mat-step>\n\n\n <!-- Step 3: user details -->\n <mat-step [stepControl]=\"forms[2]\" *ngIf=\"forms[2].controls; let controls\">\n\n <form [formGroup]=\"forms[2]\" (ngSubmit)=\"doSubmit($event)\" class=\"form-container ion-padding\" (keyup.enter)=\"doSubmit()\">\n\n <ng-template matStepLabel>{{'REGISTER.STEP_USER_DETAILS'|translate}}</ng-template>\n\n <!-- error -->\n <ion-item *ngIf=\"error && !sending\" lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error\" [innerHTML]=\"error|translate\"></ion-label>\n </ion-item>\n\n <!-- Last name -->\n <mat-form-field>\n <mat-label>{{'USER.LAST_NAME'|translate}}</mat-label>\n <input matInput formControlName=\"lastName\" autocomplete=\"section-blue family-name\"\n required>\n <mat-error *ngIf=\"controls.lastName.hasError('required') && controls.lastName.dirty\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"controls.lastName.hasError('minlength') && controls.lastName.dirty\">\n <span>{{'ERROR.FIELD_MIN_LENGTH' | translate: {minLength: 2} }}</span>\n </mat-error>\n </mat-form-field>\n\n <!-- First name -->\n <mat-form-field>\n <mat-label>{{'USER.FIRST_NAME'|translate}}</mat-label>\n <input matInput formControlName=\"firstName\" autocomplete=\"section-blue given-name\"\n required>\n <mat-error *ngIf=\"controls.firstName.hasError('required') && controls.firstName.dirty\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"controls.firstName.hasError('minlength') && controls.firstName.dirty\">\n <span>{{'ERROR.FIELD_MIN_LENGTH' | translate: {minLength: 2} }}</span>\n </mat-error>\n </mat-form-field>\n\n <!-- Additional fields -->\n <app-form-field *ngFor=\"let field of additionalFields\"\n [definition]=\"field\"\n [formControlName]=\"field.key\"\n [required]=\"true\">\n </app-form-field>\n\n </form>\n </mat-step>\n</mat-horizontal-stepper>\n", styles: ["form ion-toolbar.toolbar-buttons .toolbar-content{text-align:right}form ion-toolbar.toolbar-buttons .toolbar-background{border:0;background:inherit!important}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i6.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i6.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "directive", type: i7.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i8.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i9.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: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i12.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { kind: "directive", type: i12.MatStepLabel, selector: "[matStepLabel]" }, { kind: "component", type: i12.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["selectedIndex", "disableRipple", "color", "labelPosition", "headerPosition", "animationDuration"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }, { kind: "directive", type: i13.AutofocusDirective, selector: "[autofocus], input[appAutofocus]", inputs: ["appAutofocus", "autofocusDelay"] }, { kind: "component", type: i14.AppFormField, selector: "app-form-field", inputs: ["definition", "required", "readonly", "disabled", "formControl", "formControlName", "placeholder", "compact", "floatLabel", "tabindex", "autofocus", "clearable", "chipColor", "debug", "class"], outputs: ["keyup.enter"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
|
|
179
|
+
}
|
|
180
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RegisterForm, decorators: [{
|
|
181
|
+
type: Component,
|
|
182
|
+
args: [{ selector: 'app-register-form', template: "<mat-horizontal-stepper linear #stepper=\"matHorizontalStepper\">\n\n <!-- Step 1: Username -->\n <mat-step [stepControl]=\"forms[0]\" *ngIf=\"forms[0].controls; let controls\">\n\n <form [formGroup]=\"forms[0]\" class=\"form-container ion-padding\" (keyup.enter)=\"slideNext($event)\">\n <ng-template matStepLabel>{{'REGISTER.STEP_EMAIL'|translate}}</ng-template>\n\n <!-- Email -->\n <mat-form-field>\n <mat-label>{{'USER.EMAIL'|translate}}</mat-label>\n <input matInput\n [appAutofocus]=\"true\" [autofocusDelay]=\"500\"\n formControlName=\"email\" autocomplete=\"off\" required>\n <mat-error *ngIf=\"controls.email.hasError('required') && controls.email.touched\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"controls.email.hasError('email') && !controls.email.hasError('required') && controls.email.touched\">\n <span>{{'ERROR.FIELD_NOT_VALID_EMAIL' | translate }}</span>\n </mat-error>\n <mat-error *ngIf=\"controls.email.hasError('availability') && controls.email.touched\" translate>REGISTER.ERROR.EMAIL_ALREADY_REGISTERED</mat-error>\n\n </mat-form-field>\n\n <!-- Confirm Email -->\n <mat-form-field>\n <mat-label>{{'REGISTER.CONFIRM_EMAIL'|translate}}</mat-label>\n <input matInput autocomplete=\"off\" matFormFieldControl formControlName=\"confirmEmail\">\n <mat-error *ngIf=\"controls.confirmEmail.hasError('required') && controls.confirmEmail.touched\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"controls.confirmEmail.hasError('equals') && controls.confirmEmail.touched\">\n <span>{{'REGISTER.ERROR.NOT_SAME_EMAIL' | translate }}</span>\n </mat-error>\n </mat-form-field>\n\n </form>\n </mat-step>\n\n\n <!-- Step 2: Password -->\n <mat-step [stepControl]=\"forms[1]\" *ngIf=\"forms[1].controls; let controls\">\n\n <form [formGroup]=\"forms[1]\" class=\"form-container ion-padding\" (keyup.enter)=\"slideNext($event)\">\n\n <ng-template matStepLabel>{{'REGISTER.STEP_PASSWORD'|translate}}</ng-template>\n\n <!-- Password -->\n <mat-form-field>\n <mat-label>{{'USER.PASSWORD'|translate}}</mat-label>\n <input matInput\n formControlName=\"password\"\n autocomplete=\"section-red new-password\"\n [type]=\"showPwd ? 'text' : 'password'\"\n required>\n <button matSuffix mat-icon-button\n type=\"button\"\n (click)=\"showPwd = !showPwd\"\n tabindex=\"-1\">\n <mat-icon>{{showPwd ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"controls.password.hasError('required') && controls.password.touched\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"controls.password.hasError('minlength') && controls.password.touched\">\n <span>{{'ERROR.FIELD_MIN_LENGTH' | translate: {minLength: 8} }}</span>\n </mat-error>\n </mat-form-field>\n\n <!-- Confirm password -->\n <mat-form-field>\n <mat-label>{{'REGISTER.CONFIRM_PASSWORD'|translate}}</mat-label>\n <input matInput\n formControlName=\"confirmPassword\"\n autocomplete=\"section-red new-password\"\n [type]=\"showConfirmPwd ? 'text' : 'password'\"\n required>\n <button mat-icon-button matSuffix\n (click)=\"showConfirmPwd = !showConfirmPwd\"\n tabindex=\"-1\">\n <mat-icon>{{showConfirmPwd ? 'visibility_off' : 'visibility'}}</mat-icon>\n </button>\n <mat-error *ngIf=\"controls.confirmPassword.hasError('required') && controls.confirmPassword.touched\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"controls.confirmPassword.hasError('equals') && controls.confirmPassword.touched\">\n <span>{{'REGISTER.ERROR.NOT_SAME_PASSWORD' | translate }}</span>\n </mat-error>\n </mat-form-field>\n\n </form>\n </mat-step>\n\n\n <!-- Step 3: user details -->\n <mat-step [stepControl]=\"forms[2]\" *ngIf=\"forms[2].controls; let controls\">\n\n <form [formGroup]=\"forms[2]\" (ngSubmit)=\"doSubmit($event)\" class=\"form-container ion-padding\" (keyup.enter)=\"doSubmit()\">\n\n <ng-template matStepLabel>{{'REGISTER.STEP_USER_DETAILS'|translate}}</ng-template>\n\n <!-- error -->\n <ion-item *ngIf=\"error && !sending\" lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error\" [innerHTML]=\"error|translate\"></ion-label>\n </ion-item>\n\n <!-- Last name -->\n <mat-form-field>\n <mat-label>{{'USER.LAST_NAME'|translate}}</mat-label>\n <input matInput formControlName=\"lastName\" autocomplete=\"section-blue family-name\"\n required>\n <mat-error *ngIf=\"controls.lastName.hasError('required') && controls.lastName.dirty\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"controls.lastName.hasError('minlength') && controls.lastName.dirty\">\n <span>{{'ERROR.FIELD_MIN_LENGTH' | translate: {minLength: 2} }}</span>\n </mat-error>\n </mat-form-field>\n\n <!-- First name -->\n <mat-form-field>\n <mat-label>{{'USER.FIRST_NAME'|translate}}</mat-label>\n <input matInput formControlName=\"firstName\" autocomplete=\"section-blue given-name\"\n required>\n <mat-error *ngIf=\"controls.firstName.hasError('required') && controls.firstName.dirty\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"controls.firstName.hasError('minlength') && controls.firstName.dirty\">\n <span>{{'ERROR.FIELD_MIN_LENGTH' | translate: {minLength: 2} }}</span>\n </mat-error>\n </mat-form-field>\n\n <!-- Additional fields -->\n <app-form-field *ngFor=\"let field of additionalFields\"\n [definition]=\"field\"\n [formControlName]=\"field.key\"\n [required]=\"true\">\n </app-form-field>\n\n </form>\n </mat-step>\n</mat-horizontal-stepper>\n", styles: ["form ion-toolbar.toolbar-buttons .toolbar-content{text-align:right}form ion-toolbar.toolbar-buttons .toolbar-background{border:0;background:inherit!important}\n"] }]
|
|
183
|
+
}], ctorParameters: function () { return [{ type: i1.AccountService }, { type: i2.AccountValidatorService }, { type: i3.UntypedFormBuilder }, { type: i15.Environment, decorators: [{
|
|
184
|
+
type: Inject,
|
|
185
|
+
args: [ENVIRONMENT]
|
|
186
|
+
}] }, { type: i4.LocalSettingsService }]; }, propDecorators: { stepper: [{
|
|
187
|
+
type: ViewChild,
|
|
188
|
+
args: ['stepper', { static: true }]
|
|
189
|
+
}], onCancel: [{
|
|
190
|
+
type: Output
|
|
191
|
+
}], onSubmit: [{
|
|
192
|
+
type: Output
|
|
193
|
+
}] } });
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9yZWdpc3Rlci9yZWdpc3Rlci5mb3JtLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3JlZ2lzdGVyL3JlZ2lzdGVyLmZvcm0uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBSUwsa0JBQWtCLEVBSWxCLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUUxRSxPQUFPLEVBQTRCLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUMsT0FBTyxFQUFlLFdBQVcsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQU85RyxNQUFNLE9BQU8sWUFBWTtJQXVCYjtJQUNBO0lBQ0Q7SUFDd0I7SUFDckI7SUExQkYsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUV4QixrQkFBa0IsQ0FBOEI7SUFDaEQsZ0JBQWdCLENBQXdCO0lBQ3hDLElBQUksQ0FBbUI7SUFDdkIsS0FBSyxDQUFxQjtJQUMxQixhQUFhLEdBQW1CLEVBQUUsQ0FBQztJQUNuQyxLQUFLLENBQVM7SUFDZCxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBRWhCLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDaEIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUV5QixPQUFP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QWEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDckIsQ0FBQzt3R0EzTFUsWUFBWSx5SEEwQmIsV0FBVzs0RkExQlYsWUFBWSxvT0M1QnpCLDJuTUFtSUE7OzRGRHZHYSxZQUFZO2tCQUx4QixTQUFTOytCQUNFLG1CQUFtQjs7MEJBOEIxQixNQUFNOzJCQUFDLFdBQVc7K0VBWjJCLE9BQU87c0JBQXRELFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFHdEMsUUFBUTtzQkFEUCxNQUFNO2dCQUlQLFFBQVE7c0JBRFAsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQXN5bmNWYWxpZGF0b3JGbixcbiAgVW50eXBlZEZvcm1CdWlsZGVyLFxuICBVbnR5cGVkRm9ybUNvbnRyb2wsXG4gIFVudHlwZWRGb3JtR3JvdXAsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvckZuLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSwgUmVnaXN0ZXJEYXRhIH0gZnJvbSAnLi4vc2VydmljZXMvYWNjb3VudC5zZXJ2aWNlJztcbmltcG9ydCB7IEFjY291bnQgfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC9hY2NvdW50Lm1vZGVsJztcbmltcG9ydCB7IHJlZmVyZW50aWFsVG9TdHJpbmcgfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC9yZWZlcmVudGlhbC5tb2RlbCc7XG5pbXBvcnQgeyBNYXRTdGVwcGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc3RlcHBlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBY2NvdW50VmFsaWRhdG9yU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3ZhbGlkYXRvci9hY2NvdW50LnZhbGlkYXRvcic7XG5pbXBvcnQgeyBGb3JtRmllbGREZWZpbml0aW9uIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Zvcm0vZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMb2NhbFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2xvY2FsLXNldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnQsIEVOVklST05NRU5UIH0gZnJvbSAnLi4vLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LmNsYXNzJztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZUNvbmZpZ0hvbGRlciB9IGZyb20gJy4uLy4uL3NoYXJlZC9tYXRlcmlhbC9hdXRvY29tcGxldGUvbWF0ZXJpYWwuYXV0b2NvbXBsZXRlLmNvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1yZWdpc3Rlci1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICdyZWdpc3Rlci5mb3JtLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWdpc3Rlci5mb3JtLnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXJGb3JtIGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJvdGVjdGVkIGRlYnVnID0gZmFsc2U7XG5cbiAgYXV0b2NvbXBsZXRlSGVscGVyOiBNYXRBdXRvY29tcGxldGVDb25maWdIb2xkZXI7XG4gIGFkZGl0aW9uYWxGaWVsZHM6IEZvcm1GaWVsZERlZmluaXRpb25bXTtcbiAgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgZm9ybXM6IFVudHlwZWRGb3JtR3JvdXBbXTtcbiAgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgZXJyb3I6IHN0cmluZztcbiAgc2VuZGluZyA9IGZhbHNlO1xuXG4gIHNob3dQd2QgPSBmYWxzZTtcbiAgc2hvd0NvbmZpcm1Qd2QgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdzdGVwcGVyJywgeyBzdGF0aWM6IHRydWUgfSkgcHJpdmF0ZSBzdGVwcGVyOiBNYXRTdGVwcGVyO1xuXG4gIEBPdXRwdXQoKVxuICBvbkNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBPdXRwdXQoKVxuICBvblN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8UmVnaXN0ZXJEYXRhPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWNjb3VudFNlcnZpY2U6IEFjY291bnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWNjb3VudFZhbGlkYXRvclNlcnZpY2U6IEFjY291bnRWYWxpZGF0b3JTZXJ2aWNlLFxuICAgIHB1YmxpYyBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIEBJbmplY3QoRU5WSVJPTk1FTlQpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQsXG4gICAgcHJvdGVjdGVkIHNldHRpbmdzPzogTG9jYWxTZXR0aW5nc1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5mb3JtcyA9IFtdO1xuICAgIC8vIEVtYWlsIGZvcm1cbiAgICB0aGlzLmZvcm1zLnB1c2goXG4gICAgICBmb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgIGVtYWlsOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5lbWFpbF0pLCB0aGlzLmVtYWlsQXZhaWxhYmlsaXR5KHRoaXMuYWNjb3VudFNlcnZpY2UpKSxcbiAgICAgICAgY29uZmlybUVtYWlsOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZCwgdGhpcy5lcXVhbHNWYWxpZGF0b3IoJ2VtYWlsJyldKSksXG4gICAgICB9KVxuICAgICk7XG5cbiAgICAvLyBQYXNzd29yZCBmb3JtXG4gICAgdGhpcy5mb3Jtcy5wdXNoKFxuICAgICAgZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICBwYXNzd29yZDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDgpXSkpLFxuICAgICAgICBjb25maXJtUGFzc3dvcmQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCB0aGlzLmVxdWFsc1ZhbGlkYXRvcigncGFzc3dvcmQnKV0pKSxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIC8vIERldGFpbCBmb3JtXG4gICAgY29uc3QgZm9ybURldGFpbERlZiA9IHtcbiAgICAgIGxhc3ROYW1lOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoMildKSksXG4gICAgICBmaXJzdE5hbWU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgyKV0pKSxcbiAgICB9O1xuXG4gICAgLy8gUHJlcGFyZSBhdXRvY29tcGxldGUgc2V0dGluZ3NcbiAgICB0aGlzLmF1dG9jb21wbGV0ZUhlbHBlciA9IG5ldyBNYXRBdXRvY29tcGxldGVDb25maWdIb2xkZXIoXG4gICAgICBzZXR0aW5ncyAmJiB7XG4gICAgICAgIGdldFVzZXJBdHRyaWJ1dGVzOiAoYSwgYikgPT4gc2V0dGluZ3MuZ2V0RmllbGREaXNwbGF5QXR0cmlidXRlcyhhLCBiKSxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgLy8gQWRkIGFkZGl0aW9uYWwgZmllbGRzIHRvIGRldGFpbHMgZm9ybVxuICAgIHRoaXMuYWRkaXRpb25hbEZpZWxkcyA9IHRoaXMuYWNjb3VudFNlcnZpY2UuYWRkaXRpb25hbEZpZWxkc1xuICAgICAgLy8gS2VlcCBvbmx5IHJlcXVpcmVkIGZpZWxkc1xuICAgICAgLmZpbHRlcigoZmllbGQpID0+IGZpZWxkLmV4dHJhICYmIGZpZWxkLmV4dHJhLnJlZ2lzdHJhdGlvbiAmJiBmaWVsZC5leHRyYS5yZWdpc3RyYXRpb24ucmVxdWlyZWQpO1xuICAgIHRoaXMuYWRkaXRpb25hbEZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgLy9pZiAodGhpcy5kZWJ1ZykgY29uc29sZS5kZWJ1ZyhcIltyZWdpc3Rlci1mb3JtXSBBZGQgYWRkaXRpb25hbCBmaWVsZCB7XCIgKyBmaWVsZC5uYW1lICsgXCJ9IHRvIGZvcm1cIiwgZmllbGQpO1xuICAgICAgZm9ybURldGFpbERlZltmaWVsZC5rZXldID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsLCB0aGlzLmFjY291bnRWYWxpZGF0b3JTZXJ2aWNlLmdldFZhbGlkYXRvcnMoZmllbGQpKTtcblxuICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdlbnRpdHknKSB7XG4gICAgICAgIGZpZWxkLmF1dG9jb21wbGV0ZSA9IHRoaXMuYXV0b2NvbXBsZXRlSGVscGVyLmFkZChmaWVsZC5rZXksIGZpZWxkLmF1dG9jb21wbGV0ZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmZvcm1zLnB1c2goZm9ybUJ1aWxkZXIuZ3JvdXAoZm9ybURldGFpbERlZikpO1xuXG4gICAgdGhpcy5mb3JtID0gZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgZW1haWxTdGVwOiB0aGlzLmZvcm1zWzBdLFxuICAgICAgcGFzc3dvcmRTdGVwOiB0aGlzLmZvcm1zWzFdLFxuICAgICAgZGV0YWlsc1N0ZXA6IHRoaXMuZm9ybXNbMl0sXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyBGb3IgREVWIG9ubHkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgaWYgKCF0aGlzLmVudmlyb25tZW50LnByb2R1Y3Rpb24pIHtcbiAgICAgIHRoaXMuZm9ybS5zZXRWYWx1ZSh7XG4gICAgICAgIGVtYWlsU3RlcDoge1xuICAgICAgICAgIGVtYWlsOiAnY29udGFjdEBlLWlzLnBybycsXG4gICAgICAgICAgY29uZmlybUVtYWlsOiAnY29udGFjdEBlLWlzLnBybycsXG4gICAgICAgIH0sXG4gICAgICAgIHBhc3N3b3JkU3RlcDoge1xuICAgICAgICAgIHBhc3N3b3JkOiAnY29udGFjdGVyYScsXG4gICAgICAgICAgY29uZmlybVBhc3N3b3JkOiAnY29udGFjdGVyYScsXG4gICAgICAgIH0sXG4gICAgICAgIGRldGFpbHNTdGVwOiB7XG4gICAgICAgICAgbGFzdE5hbWU6ICdMYXZlbmllciAyJyxcbiAgICAgICAgICBmaXJzdE5hbWU6ICdCZW5vaXQnLFxuICAgICAgICAgIGRlcGFydG1lbnQ6IG51bGwsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBnZXQgdmFsdWUoKTogUmVnaXN0ZXJEYXRhIHtcbiAgICBjb25zdCByZXN1bHQ6IFJlZ2lzdGVyRGF0YSA9IHtcbiAgICAgIHVzZXJuYW1lOiB0aGlzLmZvcm0udmFsdWUuZW1haWxTdGVwLmVtYWlsLFxuICAgICAgcGFzc3dvcmQ6IHRoaXMuZm9ybS52YWx1ZS5wYXNzd29yZFN0ZXAucGFzc3dvcmQsXG4gICAgICBhY2NvdW50OiBuZXcgQWNjb3VudCgpLFxuICAgIH07XG4gICAgcmVzdWx0LmFjY291bnQuZnJvbU9iamVjdCh0aGlzLmZvcm0udmFsdWUuZGV0YWlsc1N0ZXApO1xuICAgIHJlc3VsdC5hY2NvdW50LmVtYWlsID0gcmVzdWx0LnVzZXJuYW1lO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGdldCB2YWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLnZhbGlkO1xuICB9XG5cbiAgaXNFbmQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RlcHBlci5zZWxlY3RlZEluZGV4ID09PSAyO1xuICB9XG5cbiAgaXNCZWdpbm5pbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RlcHBlci5zZWxlY3RlZEluZGV4ID09PSAwO1xuICB9XG5cbiAgc2xpZGVQcmV2KCkge1xuICAgIHJldHVybiB0aGlzLnN0ZXBwZXIucHJldmlvdXMoKTtcbiAgfVxuXG4gIHNsaWRlTmV4dChldmVudD86IEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnN0ZXBwZXIubmV4dCgpO1xuICB9XG5cbiAgZXF1YWxzVmFsaWRhdG9yKG90aGVyQ29udHJvbE5hbWU6IHN0cmluZyk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gZnVuY3Rpb24oYzogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgICAgaWYgKGMucGFyZW50ICYmIGMudmFsdWUgIT09IGMucGFyZW50LnZhbHVlW290aGVyQ29udHJvbE5hbWVdKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZXF1YWxzOiB0cnVlLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfVxuXG4gIGVtYWlsQXZhaWxhYmlsaXR5KGFjY291bnRTZXJ2aWNlOiBBY2NvdW50U2VydmljZSk6IEFzeW5jVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiBmdW5jdGlvbihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBPYnNlcnZhYmxlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB7XG4gICAgICByZXR1cm4gdGltZXIoNTAwKS5waXBlKFxuICAgICAgICBtZXJnZU1hcCgoKSA9PlxuICAgICAgICAgIGFjY291bnRTZXJ2aWNlXG4gICAgICAgICAgICAuY2hlY2tFbWFpbEF2YWlsYWJsZShjb250cm9sLnZhbHVlKVxuICAgICAgICAgICAgLnRoZW4oKHJlcykgPT4gbnVsbClcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgcmV0dXJuIHsgYXZhaWxhYmlsaXR5OiB0cnVlIH07XG4gICAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApO1xuICAgIH07XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5vbkNhbmNlbC5lbWl0KCk7XG4gIH1cblxuICBkb1N1Ym1pdChldmVudD86IGFueSkge1xuICAgIGlmICh0aGlzLmZvcm0uaW52YWxpZCkgcmV0dXJuO1xuICAgIHRoaXMuc2VuZGluZyA9IHRydWU7XG4gICAgdGhpcy5vblN1Ym1pdC5lbWl0KHRoaXMudmFsdWUpO1xuICB9XG5cbiAgcmVmZXJlbnRpYWxUb1N0cmluZyA9IHJlZmVyZW50aWFsVG9TdHJpbmc7XG5cbiAgbWFya0FzVG91Y2hlZCgpIHtcbiAgICB0aGlzLmZvcm0ubWFya0FzVG91Y2hlZCgpO1xuICB9XG5cbiAgZGlzYWJsZSgpIHtcbiAgICB0aGlzLmZvcm0uZGlzYWJsZSgpO1xuICB9XG5cbiAgZW5hYmxlKCkge1xuICAgIHRoaXMuZm9ybS5lbmFibGUoKTtcbiAgfVxufVxuIiwiPG1hdC1ob3Jpem9udGFsLXN0ZXBwZXIgbGluZWFyICNzdGVwcGVyPVwibWF0SG9yaXpvbnRhbFN0ZXBwZXJcIj5cblxuICA8IS0tIFN0ZXAgMTogVXNlcm5hbWUgLS0+XG4gIDxtYXQtc3RlcCBbc3RlcENvbnRyb2xdPVwiZm9ybXNbMF1cIiAqbmdJZj1cImZvcm1zWzBdLmNvbnRyb2xzOyBsZXQgY29udHJvbHNcIj5cblxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybXNbMF1cIiBjbGFzcz1cImZvcm0tY29udGFpbmVyIGlvbi1wYWRkaW5nXCIgKGtleXVwLmVudGVyKT1cInNsaWRlTmV4dCgkZXZlbnQpXCI+XG4gICAgICA8bmctdGVtcGxhdGUgbWF0U3RlcExhYmVsPnt7J1JFR0lTVEVSLlNURVBfRU1BSUwnfHRyYW5zbGF0ZX19PC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPCEtLSBFbWFpbCAtLT5cbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1sYWJlbD57eydVU0VSLkVNQUlMJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgICAgIFthcHBBdXRvZm9jdXNdPVwidHJ1ZVwiIFthdXRvZm9jdXNEZWxheV09XCI1MDBcIlxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgcmVxdWlyZWQ+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJjb250cm9scy5lbWFpbC5oYXNFcnJvcigncmVxdWlyZWQnKSAmJiBjb250cm9scy5lbWFpbC50b3VjaGVkXCIgdHJhbnNsYXRlPkVSUk9SLkZJRUxEX1JFUVVJUkVEPC9tYXQtZXJyb3I+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJjb250cm9scy5lbWFpbC5oYXNFcnJvcignZW1haWwnKSAmJiAhY29udHJvbHMuZW1haWwuaGFzRXJyb3IoJ3JlcXVpcmVkJykgJiYgY29udHJvbHMuZW1haWwudG91Y2hlZFwiPlxuICAgICAgICAgIDxzcGFuPnt7J0VSUk9SLkZJRUxEX05PVF9WQUxJRF9FTUFJTCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiY29udHJvbHMuZW1haWwuaGFzRXJyb3IoJ2F2YWlsYWJpbGl0eScpICYmIGNvbnRyb2xzLmVtYWlsLnRvdWNoZWRcIiB0cmFuc2xhdGU+UkVHSVNURVIuRVJST1IuRU1BSUxfQUxSRUFEWV9SRUdJU1RFUkVEPC9tYXQtZXJyb3I+XG5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgIDwhLS0gQ29uZmlybSBFbWFpbCAtLT5cbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1sYWJlbD57eydSRUdJU1RFUi5DT05GSVJNX0VNQUlMJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgYXV0b2NvbXBsZXRlPVwib2ZmXCIgbWF0Rm9ybUZpZWxkQ29udHJvbCBmb3JtQ29udHJvbE5hbWU9XCJjb25maXJtRW1haWxcIj5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImNvbnRyb2xzLmNvbmZpcm1FbWFpbC5oYXNFcnJvcigncmVxdWlyZWQnKSAmJiBjb250cm9scy5jb25maXJtRW1haWwudG91Y2hlZFwiIHRyYW5zbGF0ZT5FUlJPUi5GSUVMRF9SRVFVSVJFRDwvbWF0LWVycm9yPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiY29udHJvbHMuY29uZmlybUVtYWlsLmhhc0Vycm9yKCdlcXVhbHMnKSAmJiBjb250cm9scy5jb25maXJtRW1haWwudG91Y2hlZFwiPlxuICAgICAgICAgIDxzcGFuPnt7J1JFR0lTVEVSLkVSUk9SLk5PVF9TQU1FX0VNQUlMJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPC9mb3JtPlxuICA8L21hdC1zdGVwPlxuXG5cbiAgPCEtLSBTdGVwIDI6IFBhc3N3b3JkIC0tPlxuICA8bWF0LXN0ZXAgW3N0ZXBDb250cm9sXT1cImZvcm1zWzFdXCIgKm5nSWY9XCJmb3Jtc1sxXS5jb250cm9sczsgbGV0IGNvbnRyb2xzXCI+XG5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1zWzFdXCIgY2xhc3M9XCJmb3JtLWNvbnRhaW5lciBpb24tcGFkZGluZ1wiIChrZXl1cC5lbnRlcik9XCJzbGlkZU5leHQoJGV2ZW50KVwiPlxuXG4gICAgICA8bmctdGVtcGxhdGUgbWF0U3RlcExhYmVsPnt7J1JFR0lTVEVSLlNURVBfUEFTU1dPUkQnfHRyYW5zbGF0ZX19PC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPCEtLSBQYXNzd29yZCAtLT5cbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1sYWJlbD57eydVU0VSLlBBU1NXT1JEJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cInNlY3Rpb24tcmVkIG5ldy1wYXNzd29yZFwiXG4gICAgICAgICAgICAgICBbdHlwZV09XCJzaG93UHdkID8gJ3RleHQnIDogJ3Bhc3N3b3JkJ1wiXG4gICAgICAgICAgICAgICByZXF1aXJlZD5cbiAgICAgICAgPGJ1dHRvbiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dQd2QgPSAhc2hvd1B3ZFwiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj57e3Nob3dQd2QgPyAndmlzaWJpbGl0eV9vZmYnIDogJ3Zpc2liaWxpdHknfX08L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImNvbnRyb2xzLnBhc3N3b3JkLmhhc0Vycm9yKCdyZXF1aXJlZCcpICYmIGNvbnRyb2xzLnBhc3N3b3JkLnRvdWNoZWRcIiB0cmFuc2xhdGU+RVJST1IuRklFTERfUkVRVUlSRUQ8L21hdC1lcnJvcj5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImNvbnRyb2xzLnBhc3N3b3JkLmhhc0Vycm9yKCdtaW5sZW5ndGgnKSAmJiBjb250cm9scy5wYXNzd29yZC50b3VjaGVkXCI+XG4gICAgICAgICAgPHNwYW4+e3snRVJST1IuRklFTERfTUlOX0xFTkdUSCcgfCB0cmFuc2xhdGU6IHttaW5MZW5ndGg6IDh9IH19PC9zcGFuPlxuICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgIDwhLS0gQ29uZmlybSBwYXNzd29yZCAtLT5cbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1sYWJlbD57eydSRUdJU1RFUi5DT05GSVJNX1BBU1NXT1JEJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvbmZpcm1QYXNzd29yZFwiXG4gICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJzZWN0aW9uLXJlZCBuZXctcGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgW3R5cGVdPVwic2hvd0NvbmZpcm1Qd2QgPyAndGV4dCcgOiAncGFzc3dvcmQnXCJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd0NvbmZpcm1Qd2QgPSAhc2hvd0NvbmZpcm1Qd2RcIlxuICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIj5cbiAgICAgICAgICA8bWF0LWljb24+e3tzaG93Q29uZmlybVB3ZCA/ICd2aXNpYmlsaXR5X29mZicgOiAndmlzaWJpbGl0eSd9fTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiY29udHJvbHMuY29uZmlybVBhc3N3b3JkLmhhc0Vycm9yKCdyZXF1aXJlZCcpICYmIGNvbnRyb2xzLmNvbmZpcm1QYXNzd29yZC50b3VjaGVkXCIgdHJhbnNsYXRlPkVSUk9SLkZJRUxEX1JFUVVJUkVEPC9tYXQtZXJyb3I+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJjb250cm9scy5jb25maXJtUGFzc3dvcmQuaGFzRXJyb3IoJ2VxdWFscycpICYmIGNvbnRyb2xzLmNvbmZpcm1QYXNzd29yZC50b3VjaGVkXCI+XG4gICAgICAgICAgPHNwYW4+e3snUkVHSVNURVIuRVJST1IuTk9UX1NBTUVfUEFTU1dPUkQnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8L2Zvcm0+XG4gIDwvbWF0LXN0ZXA+XG5cblxuICA8IS0tIFN0ZXAgMzogdXNlciBkZXRhaWxzIC0tPlxuICA8bWF0LXN0ZXAgW3N0ZXBDb250cm9sXT1cImZvcm1zWzJdXCIgKm5nSWY9XCJmb3Jtc1syXS5jb250cm9sczsgbGV0IGNvbnRyb2xzXCI+XG5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1zWzJdXCIgKG5nU3VibWl0KT1cImRvU3VibWl0KCRldmVudClcIiBjbGFzcz1cImZvcm0tY29udGFpbmVyIGlvbi1wYWRkaW5nXCIgKGtleXVwLmVudGVyKT1cImRvU3VibWl0KClcIj5cblxuICAgICAgPG5nLXRlbXBsYXRlIG1hdFN0ZXBMYWJlbD57eydSRUdJU1RFUi5TVEVQX1VTRVJfREVUQUlMUyd8dHJhbnNsYXRlfX08L25nLXRlbXBsYXRlPlxuXG4gICAgICA8IS0tIGVycm9yIC0tPlxuICAgICAgPGlvbi1pdGVtICpuZ0lmPVwiZXJyb3IgJiYgIXNlbmRpbmdcIiBsaW5lcz1cIm5vbmVcIj5cbiAgICAgICAgPGlvbi1pY29uIGNvbG9yPVwiZGFuZ2VyXCIgc2xvdD1cInN0YXJ0XCIgbmFtZT1cImFsZXJ0LWNpcmNsZVwiPjwvaW9uLWljb24+XG4gICAgICAgIDxpb24tbGFiZWwgY29sb3I9XCJkYW5nZXJcIiBjbGFzcz1cImVycm9yXCIgW2lubmVySFRNTF09XCJlcnJvcnx0cmFuc2xhdGVcIj48L2lvbi1sYWJlbD5cbiAgICAgIDwvaW9uLWl0ZW0+XG5cbiAgICAgIDwhLS0gTGFzdCBuYW1lIC0tPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWxhYmVsPnt7J1VTRVIuTEFTVF9OQU1FJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwibGFzdE5hbWVcIiBhdXRvY29tcGxldGU9XCJzZWN0aW9uLWJsdWUgZmFtaWx5LW5hbWVcIlxuICAgICAgICAgIHJlcXVpcmVkPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiY29udHJvbHMubGFzdE5hbWUuaGFzRXJyb3IoJ3JlcXVpcmVkJykgJiYgY29udHJvbHMubGFzdE5hbWUuZGlydHlcIiB0cmFuc2xhdGU+RVJST1IuRklFTERfUkVRVUlSRUQ8L21hdC1lcnJvcj5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImNvbnRyb2xzLmxhc3ROYW1lLmhhc0Vycm9yKCdtaW5sZW5ndGgnKSAmJiBjb250cm9scy5sYXN0TmFtZS5kaXJ0eVwiPlxuICAgICAgICAgIDxzcGFuPnt7J0VSUk9SLkZJRUxEX01JTl9MRU5HVEgnIHwgdHJhbnNsYXRlOiB7bWluTGVuZ3RoOiAyfSB9fTwvc3Bhbj5cbiAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICA8IS0tIEZpcnN0IG5hbWUgLS0+XG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWw+e3snVVNFUi5GSVJTVF9OQU1FJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiZmlyc3ROYW1lXCIgYXV0b2NvbXBsZXRlPVwic2VjdGlvbi1ibHVlIGdpdmVuLW5hbWVcIlxuICAgICAgICAgIHJlcXVpcmVkPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiY29udHJvbHMuZmlyc3ROYW1lLmhhc0Vycm9yKCdyZXF1aXJlZCcpICYmIGNvbnRyb2xzLmZpcnN0TmFtZS5kaXJ0eVwiIHRyYW5zbGF0ZT5FUlJPUi5GSUVMRF9SRVFVSVJFRDwvbWF0LWVycm9yPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiY29udHJvbHMuZmlyc3ROYW1lLmhhc0Vycm9yKCdtaW5sZW5ndGgnKSAmJiBjb250cm9scy5maXJzdE5hbWUuZGlydHlcIj5cbiAgICAgICAgICA8c3Bhbj57eydFUlJPUi5GSUVMRF9NSU5fTEVOR1RIJyB8IHRyYW5zbGF0ZToge21pbkxlbmd0aDogMn0gfX08L3NwYW4+XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPCEtLSBBZGRpdGlvbmFsIGZpZWxkcyAtLT5cbiAgICAgIDxhcHAtZm9ybS1maWVsZCAqbmdGb3I9XCJsZXQgZmllbGQgb2YgYWRkaXRpb25hbEZpZWxkc1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2RlZmluaXRpb25dPVwiZmllbGRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQua2V5XCJcbiAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiPlxuICAgICAgPC9hcHAtZm9ybS1maWVsZD5cblxuICAgIDwvZm9ybT5cbiAgPC9tYXQtc3RlcD5cbjwvbWF0LWhvcml6b250YWwtc3RlcHBlcj5cbiJdfQ==
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Component, ViewChild } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../services/account.service";
|
|
4
|
+
import * as i2 from "@ionic/angular";
|
|
5
|
+
import * as i3 from "@angular/common";
|
|
6
|
+
import * as i4 from "@ngx-translate/core";
|
|
7
|
+
import * as i5 from "./register.form";
|
|
8
|
+
export class RegisterModal {
|
|
9
|
+
accountService;
|
|
10
|
+
viewCtrl;
|
|
11
|
+
sending = false;
|
|
12
|
+
form;
|
|
13
|
+
constructor(accountService, viewCtrl) {
|
|
14
|
+
this.accountService = accountService;
|
|
15
|
+
this.viewCtrl = viewCtrl;
|
|
16
|
+
}
|
|
17
|
+
cancel() {
|
|
18
|
+
console.debug('[register] cancelled');
|
|
19
|
+
this.viewCtrl.dismiss();
|
|
20
|
+
}
|
|
21
|
+
async doSubmit(event) {
|
|
22
|
+
if (this.form.form.disabled || this.sending)
|
|
23
|
+
return; // Skip
|
|
24
|
+
if (!this.form.valid || !this.form.isEnd()) {
|
|
25
|
+
this.form.markAsTouched();
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
this.sending = true;
|
|
29
|
+
const data = this.form.value;
|
|
30
|
+
this.form.disable();
|
|
31
|
+
try {
|
|
32
|
+
console.debug('[register] Sending registration to server...', data);
|
|
33
|
+
const res = await this.accountService.register(data);
|
|
34
|
+
console.debug('[register] Account registered!');
|
|
35
|
+
await this.viewCtrl.dismiss();
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
this.form.error = err && err.message || err;
|
|
39
|
+
this.form.enable();
|
|
40
|
+
}
|
|
41
|
+
finally {
|
|
42
|
+
this.sending = false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RegisterModal, deps: [{ token: i1.AccountService }, { token: i2.ModalController }], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RegisterModal, selector: "app-register-modal", viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true, static: true }], ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"secondary\">\n <ion-buttons slot=\"start\">\n <ion-button *ngIf=\"form.isBeginning()\" (click)=\"cancel()\"\n visible-xs visible-sm visible-mobile>\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n <ion-button *ngIf=\"!form.isBeginning()\" (click)=\"form.slidePrev()\"\n visible-xs visible-sm visible-mobile>\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n </ion-buttons>\n\n <ion-title translate>REGISTER.TITLE</ion-title>\n\n <ion-buttons slot=\"end\">\n <ion-spinner *ngIf=\"sending\"></ion-spinner>\n\n <ion-button *ngIf=\"!form.isEnd()\" (click)=\"form.slideNext()\"\n visible-xs visible-sm visible-mobile>\n <ion-label translate>COMMON.BTN_NEXT</ion-label>\n <ion-icon slot=\"end\" name=\"arrow-forward\"></ion-icon>\n </ion-button>\n\n <ion-button *ngIf=\"form.isEnd() && !sending\" (click)=\"doSubmit()\"\n visible-xs visible-sm visible-mobile>\n <ion-icon slot=\"icon-only\" name=\"send\"></ion-icon>\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n\n<ion-content>\n <app-register-form #form\n (onSubmit)=\"doSubmit()\"\n (onCancel)=\"cancel()\">\n </app-register-form>\n</ion-content>\n\n<ion-footer hidden-xs hidden-sm hidden-mobile>\n <!-- buttons -->\n <ion-toolbar>\n\n <ion-row>\n <ion-col></ion-col>\n <ion-col size=\"auto\">\n <ion-button *ngIf=\"form.isBeginning()\" fill=\"clear\" color=\"dark\" (click)=\"cancel()\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n\n <ion-button *ngIf=\"!form.isBeginning()\" fill=\"clear\" color=\"dark\" (click)=\"form.slidePrev()\" [disabled]=\"sending\">\n <ion-icon slot=\"start\" name=\"arrow-back\"></ion-icon>\n <ion-label translate>COMMON.BTN_BACK</ion-label>\n </ion-button>\n\n <ion-button *ngIf=\"!form.isEnd()\" (click)=\"form.slideNext()\" fill=\"solid\" color=\"tertiary\">\n <ion-label translate>COMMON.BTN_NEXT</ion-label>\n <ion-icon slot=\"end\" name=\"arrow-forward\"></ion-icon>\n </ion-button>\n\n <ion-button *ngIf=\"form.isEnd()\" (click)=\"doSubmit()\" fill=\"solid\" [disabled]=\"sending\" color=\"tertiary\">\n <span translate>COMMON.BTN_SEND</span>\n <ion-icon slot=\"end\" name=\"send\"></ion-icon>\n </ion-button>\n </ion-col>\n </ion-row>\n\n\n </ion-toolbar>\n</ion-footer>\n", dependencies: [{ kind: "directive", type: i3.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.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { 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.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i2.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { 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: i2.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i2.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i2.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.RegisterForm, selector: "app-register-form", outputs: ["onCancel", "onSubmit"] }] });
|
|
47
|
+
}
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RegisterModal, decorators: [{
|
|
49
|
+
type: Component,
|
|
50
|
+
args: [{ selector: 'app-register-modal', template: "<ion-header>\n <ion-toolbar color=\"secondary\">\n <ion-buttons slot=\"start\">\n <ion-button *ngIf=\"form.isBeginning()\" (click)=\"cancel()\"\n visible-xs visible-sm visible-mobile>\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n <ion-button *ngIf=\"!form.isBeginning()\" (click)=\"form.slidePrev()\"\n visible-xs visible-sm visible-mobile>\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n </ion-buttons>\n\n <ion-title translate>REGISTER.TITLE</ion-title>\n\n <ion-buttons slot=\"end\">\n <ion-spinner *ngIf=\"sending\"></ion-spinner>\n\n <ion-button *ngIf=\"!form.isEnd()\" (click)=\"form.slideNext()\"\n visible-xs visible-sm visible-mobile>\n <ion-label translate>COMMON.BTN_NEXT</ion-label>\n <ion-icon slot=\"end\" name=\"arrow-forward\"></ion-icon>\n </ion-button>\n\n <ion-button *ngIf=\"form.isEnd() && !sending\" (click)=\"doSubmit()\"\n visible-xs visible-sm visible-mobile>\n <ion-icon slot=\"icon-only\" name=\"send\"></ion-icon>\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n\n<ion-content>\n <app-register-form #form\n (onSubmit)=\"doSubmit()\"\n (onCancel)=\"cancel()\">\n </app-register-form>\n</ion-content>\n\n<ion-footer hidden-xs hidden-sm hidden-mobile>\n <!-- buttons -->\n <ion-toolbar>\n\n <ion-row>\n <ion-col></ion-col>\n <ion-col size=\"auto\">\n <ion-button *ngIf=\"form.isBeginning()\" fill=\"clear\" color=\"dark\" (click)=\"cancel()\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n\n <ion-button *ngIf=\"!form.isBeginning()\" fill=\"clear\" color=\"dark\" (click)=\"form.slidePrev()\" [disabled]=\"sending\">\n <ion-icon slot=\"start\" name=\"arrow-back\"></ion-icon>\n <ion-label translate>COMMON.BTN_BACK</ion-label>\n </ion-button>\n\n <ion-button *ngIf=\"!form.isEnd()\" (click)=\"form.slideNext()\" fill=\"solid\" color=\"tertiary\">\n <ion-label translate>COMMON.BTN_NEXT</ion-label>\n <ion-icon slot=\"end\" name=\"arrow-forward\"></ion-icon>\n </ion-button>\n\n <ion-button *ngIf=\"form.isEnd()\" (click)=\"doSubmit()\" fill=\"solid\" [disabled]=\"sending\" color=\"tertiary\">\n <span translate>COMMON.BTN_SEND</span>\n <ion-icon slot=\"end\" name=\"send\"></ion-icon>\n </ion-button>\n </ion-col>\n </ion-row>\n\n\n </ion-toolbar>\n</ion-footer>\n" }]
|
|
51
|
+
}], ctorParameters: function () { return [{ type: i1.AccountService }, { type: i2.ModalController }]; }, propDecorators: { form: [{
|
|
52
|
+
type: ViewChild,
|
|
53
|
+
args: ['form', { static: true }]
|
|
54
|
+
}] } });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIubW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvcmVnaXN0ZXIvcmVnaXN0ZXIubW9kYWwudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvcmVnaXN0ZXIvcmVnaXN0ZXIubW9kYWwuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQVNuRCxNQUFNLE9BQU8sYUFBYTtJQU1KO0lBQ1g7SUFMVCxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBRTZCLElBQUksQ0FBZTtJQUVoRSxZQUFvQixjQUE4QixFQUN6QyxRQUF5QjtRQURkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUN6QyxhQUFRLEdBQVIsUUFBUSxDQUFpQjtJQUNsQyxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQVc7UUFDeEIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLENBQUMsT0FBTztRQUM1RCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDMUIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVwQixJQUFJO1lBQ0YsT0FBTyxDQUFDLEtBQUssQ0FBQyw4Q0FBOEMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNwRSxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXJELE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztZQUNoRCxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDL0I7UUFDRCxPQUFPLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQztZQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3BCO2dCQUNPO1lBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDdEI7SUFDSCxDQUFDO3dHQXpDVSxhQUFhOzRGQUFiLGFBQWEsc0tDVDFCLDZsRkFzRUE7OzRGRDdEYSxhQUFhO2tCQUp6QixTQUFTOytCQUNFLG9CQUFvQjttSUFPZSxJQUFJO3NCQUFoRCxTQUFTO3VCQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TW9kYWxDb250cm9sbGVyfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQge0FjY291bnRTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UnO1xuaW1wb3J0IHtSZWdpc3RlckZvcm19IGZyb20gJy4vcmVnaXN0ZXIuZm9ybSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1yZWdpc3Rlci1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAncmVnaXN0ZXIubW9kYWwuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFJlZ2lzdGVyTW9kYWwge1xuXG4gIHNlbmRpbmcgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdmb3JtJywgeyBzdGF0aWM6IHRydWUgfSkgcHJpdmF0ZSBmb3JtOiBSZWdpc3RlckZvcm07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhY2NvdW50U2VydmljZTogQWNjb3VudFNlcnZpY2UsXG4gICAgcHVibGljIHZpZXdDdHJsOiBNb2RhbENvbnRyb2xsZXIpIHtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICBjb25zb2xlLmRlYnVnKCdbcmVnaXN0ZXJdIGNhbmNlbGxlZCcpO1xuICAgIHRoaXMudmlld0N0cmwuZGlzbWlzcygpO1xuICB9XG5cbiAgYXN5bmMgZG9TdWJtaXQoZXZlbnQ/OiBhbnkpIHtcbiAgICBpZiAodGhpcy5mb3JtLmZvcm0uZGlzYWJsZWQgfHwgdGhpcy5zZW5kaW5nKSByZXR1cm47IC8vIFNraXBcbiAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCB8fCAhdGhpcy5mb3JtLmlzRW5kKCkpIHtcbiAgICAgIHRoaXMuZm9ybS5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZW5kaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5mb3JtLnZhbHVlO1xuXG4gICAgdGhpcy5mb3JtLmRpc2FibGUoKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zb2xlLmRlYnVnKCdbcmVnaXN0ZXJdIFNlbmRpbmcgcmVnaXN0cmF0aW9uIHRvIHNlcnZlci4uLicsIGRhdGEpO1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5hY2NvdW50U2VydmljZS5yZWdpc3RlcihkYXRhKTtcblxuICAgICAgY29uc29sZS5kZWJ1ZygnW3JlZ2lzdGVyXSBBY2NvdW50IHJlZ2lzdGVyZWQhJyk7XG4gICAgICBhd2FpdCB0aGlzLnZpZXdDdHJsLmRpc21pc3MoKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5mb3JtLmVycm9yID0gZXJyICYmIGVyci5tZXNzYWdlIHx8IGVycjtcbiAgICAgIHRoaXMuZm9ybS5lbmFibGUoKTtcbiAgICB9XG4gICAgZmluYWxseSB7XG4gICAgICB0aGlzLnNlbmRpbmcgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxpb24taGVhZGVyPlxuICA8aW9uLXRvb2xiYXIgY29sb3I9XCJzZWNvbmRhcnlcIj5cbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInN0YXJ0XCI+XG4gICAgICA8aW9uLWJ1dHRvbiAqbmdJZj1cImZvcm0uaXNCZWdpbm5pbmcoKVwiIChjbGljayk9XCJjYW5jZWwoKVwiXG4gICAgICAgICAgICAgICAgICB2aXNpYmxlLXhzIHZpc2libGUtc20gdmlzaWJsZS1tb2JpbGU+XG4gICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImFycm93LWJhY2tcIj48L2lvbi1pY29uPlxuICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgPGlvbi1idXR0b24gKm5nSWY9XCIhZm9ybS5pc0JlZ2lubmluZygpXCIgKGNsaWNrKT1cImZvcm0uc2xpZGVQcmV2KClcIlxuICAgICAgICAgICAgICAgICAgdmlzaWJsZS14cyB2aXNpYmxlLXNtIHZpc2libGUtbW9iaWxlPlxuICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJhcnJvdy1iYWNrXCI+PC9pb24taWNvbj5cbiAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICA8L2lvbi1idXR0b25zPlxuXG4gICAgPGlvbi10aXRsZSB0cmFuc2xhdGU+UkVHSVNURVIuVElUTEU8L2lvbi10aXRsZT5cblxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCI+XG4gICAgICA8aW9uLXNwaW5uZXIgKm5nSWY9XCJzZW5kaW5nXCI+PC9pb24tc3Bpbm5lcj5cblxuICAgICAgPGlvbi1idXR0b24gKm5nSWY9XCIhZm9ybS5pc0VuZCgpXCIgKGNsaWNrKT1cImZvcm0uc2xpZGVOZXh0KClcIlxuICAgICAgICAgICAgICAgICAgdmlzaWJsZS14cyB2aXNpYmxlLXNtIHZpc2libGUtbW9iaWxlPlxuICAgICAgICA8aW9uLWxhYmVsIHRyYW5zbGF0ZT5DT01NT04uQlROX05FWFQ8L2lvbi1sYWJlbD5cbiAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJlbmRcIiBuYW1lPVwiYXJyb3ctZm9yd2FyZFwiPjwvaW9uLWljb24+XG4gICAgICA8L2lvbi1idXR0b24+XG5cbiAgICAgIDxpb24tYnV0dG9uICpuZ0lmPVwiZm9ybS5pc0VuZCgpICYmICFzZW5kaW5nXCIgKGNsaWNrKT1cImRvU3VibWl0KClcIlxuICAgICAgICAgICAgICAgICAgdmlzaWJsZS14cyB2aXNpYmxlLXNtIHZpc2libGUtbW9iaWxlPlxuICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJzZW5kXCI+PC9pb24taWNvbj5cbiAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICA8L2lvbi1idXR0b25zPlxuICA8L2lvbi10b29sYmFyPlxuPC9pb24taGVhZGVyPlxuXG48aW9uLWNvbnRlbnQ+XG4gIDxhcHAtcmVnaXN0ZXItZm9ybSAjZm9ybVxuICAgICAgICAgICAgICAgICAgICAgKG9uU3VibWl0KT1cImRvU3VibWl0KClcIlxuICAgICAgICAgICAgICAgICAgICAgKG9uQ2FuY2VsKT1cImNhbmNlbCgpXCI+XG4gIDwvYXBwLXJlZ2lzdGVyLWZvcm0+XG48L2lvbi1jb250ZW50PlxuXG48aW9uLWZvb3RlciBoaWRkZW4teHMgaGlkZGVuLXNtIGhpZGRlbi1tb2JpbGU+XG4gIDwhLS0gYnV0dG9ucyAtLT5cbiAgPGlvbi10b29sYmFyPlxuXG4gICAgPGlvbi1yb3c+XG4gICAgICA8aW9uLWNvbD48L2lvbi1jb2w+XG4gICAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPlxuICAgICAgICA8aW9uLWJ1dHRvbiAqbmdJZj1cImZvcm0uaXNCZWdpbm5pbmcoKVwiIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwiZGFya1wiIChjbGljayk9XCJjYW5jZWwoKVwiPlxuICAgICAgICAgIDxpb24tbGFiZWwgdHJhbnNsYXRlPkNPTU1PTi5CVE5fQ0FOQ0VMPC9pb24tbGFiZWw+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgICA8aW9uLWJ1dHRvbiAqbmdJZj1cIiFmb3JtLmlzQmVnaW5uaW5nKClcIiBmaWxsPVwiY2xlYXJcIiBjb2xvcj1cImRhcmtcIiAoY2xpY2spPVwiZm9ybS5zbGlkZVByZXYoKVwiIFtkaXNhYmxlZF09XCJzZW5kaW5nXCI+XG4gICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiIG5hbWU9XCJhcnJvdy1iYWNrXCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8aW9uLWxhYmVsIHRyYW5zbGF0ZT5DT01NT04uQlROX0JBQ0s8L2lvbi1sYWJlbD5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuXG4gICAgICAgIDxpb24tYnV0dG9uICpuZ0lmPVwiIWZvcm0uaXNFbmQoKVwiIChjbGljayk9XCJmb3JtLnNsaWRlTmV4dCgpXCIgZmlsbD1cInNvbGlkXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxuICAgICAgICAgIDxpb24tbGFiZWwgdHJhbnNsYXRlPkNPTU1PTi5CVE5fTkVYVDwvaW9uLWxhYmVsPlxuICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiZW5kXCIgbmFtZT1cImFycm93LWZvcndhcmRcIj48L2lvbi1pY29uPlxuICAgICAgICA8L2lvbi1idXR0b24+XG5cbiAgICAgICAgPGlvbi1idXR0b24gKm5nSWY9XCJmb3JtLmlzRW5kKClcIiAoY2xpY2spPVwiZG9TdWJtaXQoKVwiIGZpbGw9XCJzb2xpZFwiIFtkaXNhYmxlZF09XCJzZW5kaW5nXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxuICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5DT01NT04uQlROX1NFTkQ8L3NwYW4+XG4gICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJlbmRcIiBuYW1lPVwic2VuZFwiPjwvaW9uLWljb24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIDwvaW9uLWNvbD5cbiAgICA8L2lvbi1yb3c+XG5cblxuICA8L2lvbi10b29sYmFyPlxuPC9pb24tZm9vdGVyPlxuIl19
|
|
@@ -8,19 +8,19 @@ import { TranslateModule } from '@ngx-translate/core';
|
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "@ngx-translate/core";
|
|
10
10
|
export class AppRegisterModule {
|
|
11
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppRegisterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AppRegisterModule, declarations: [RegisterForm,
|
|
13
|
+
RegisterModal,
|
|
14
|
+
RegisterConfirmPage], imports: [SharedModule,
|
|
15
|
+
RouterModule, i1.TranslateModule], exports: [TranslateModule,
|
|
16
|
+
RegisterForm,
|
|
17
|
+
RegisterModal,
|
|
18
|
+
RegisterConfirmPage] });
|
|
19
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppRegisterModule, imports: [SharedModule,
|
|
20
|
+
RouterModule,
|
|
21
|
+
TranslateModule.forChild(), TranslateModule] });
|
|
11
22
|
}
|
|
12
|
-
|
|
13
|
-
AppRegisterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: AppRegisterModule, declarations: [RegisterForm,
|
|
14
|
-
RegisterModal,
|
|
15
|
-
RegisterConfirmPage], imports: [SharedModule,
|
|
16
|
-
RouterModule, i1.TranslateModule], exports: [TranslateModule,
|
|
17
|
-
RegisterForm,
|
|
18
|
-
RegisterModal,
|
|
19
|
-
RegisterConfirmPage] });
|
|
20
|
-
AppRegisterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppRegisterModule, imports: [SharedModule,
|
|
21
|
-
RouterModule,
|
|
22
|
-
TranslateModule.forChild(), TranslateModule] });
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppRegisterModule, decorators: [{
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppRegisterModule, decorators: [{
|
|
24
24
|
type: NgModule,
|
|
25
25
|
args: [{
|
|
26
26
|
imports: [
|
|
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
41
41
|
]
|
|
42
42
|
}]
|
|
43
43
|
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3JlZ2lzdGVyL3JlZ2lzdGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7OztBQXNCcEQsTUFBTSxPQUFPLGlCQUFpQjt3R0FBakIsaUJBQWlCO3lHQUFqQixpQkFBaUIsaUJBWjFCLFlBQVk7WUFDWixhQUFhO1lBQ2IsbUJBQW1CLGFBUm5CLFlBQVk7WUFDWixZQUFZLGlDQVVaLGVBQWU7WUFFZixZQUFZO1lBQ1osYUFBYTtZQUNiLG1CQUFtQjt5R0FHVixpQkFBaUIsWUFsQjFCLFlBQVk7WUFDWixZQUFZO1lBQ1osZUFBZSxDQUFDLFFBQVEsRUFBRSxFQVMxQixlQUFlOzs0RkFPTixpQkFBaUI7a0JBcEI3QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osZUFBZSxDQUFDLFFBQVEsRUFBRTtxQkFDM0I7b0JBRUQsWUFBWSxFQUFFO3dCQUNaLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxlQUFlO3dCQUVmLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixtQkFBbUI7cUJBQ3BCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7UmVnaXN0ZXJDb25maXJtUGFnZX0gZnJvbSAnLi9yZWdpc3Rlci1jb25maXJtLnBhZ2UnO1xuaW1wb3J0IHtSZWdpc3RlckZvcm19IGZyb20gJy4vcmVnaXN0ZXIuZm9ybSc7XG5pbXBvcnQge1JlZ2lzdGVyTW9kYWx9IGZyb20gJy4vcmVnaXN0ZXIubW9kYWwnO1xuaW1wb3J0IHtTaGFyZWRNb2R1bGV9IGZyb20gJy4uLy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIFNoYXJlZE1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKClcbiAgXSxcblxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBSZWdpc3RlckZvcm0sXG4gICAgUmVnaXN0ZXJNb2RhbCxcbiAgICBSZWdpc3RlckNvbmZpcm1QYWdlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG5cbiAgICBSZWdpc3RlckZvcm0sXG4gICAgUmVnaXN0ZXJNb2RhbCxcbiAgICBSZWdpc3RlckNvbmZpcm1QYWdlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQXBwUmVnaXN0ZXJNb2R1bGUge1xuXG59XG4iXX0=
|