@sumaris-net/ngx-components 2.6.17 → 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/esm2022/src/app/core/about/about.modal.mjs +84 -0
- 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/esm2022/src/app/core/core.testing.module.mjs +93 -0
- package/esm2022/src/app/core/form/buttons/form-buttons-bar.component.mjs +109 -0
- package/{esm2020 → esm2022}/src/app/core/form/buttons/form-buttons-bar.module.mjs +10 -10
- package/esm2022/src/app/core/form/entity/editor.class.mjs +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/{esm2020 → esm2022}/src/app/core/form/text-popover/text-popover.component.mjs +26 -20
- 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/{esm2020 → esm2022}/src/app/core/services/config/core.config.mjs +4 -4
- 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/esm2022/src/app/core/services/platform.service.mjs +546 -0
- package/esm2022/src/app/core/services/storage/entities-storage.service.mjs +434 -0
- package/esm2022/src/app/core/services/storage/entity-store.class.mjs +458 -0
- package/esm2022/src/app/core/services/testing/referential-filter.model.mjs +25 -0
- package/esm2022/src/app/core/services/testing/referential.validator.mjs +46 -0
- package/esm2022/src/app/core/services/validator/account.validator.mjs +45 -0
- package/esm2022/src/app/core/services/validator/base.validator.class.mjs +49 -0
- package/esm2022/src/app/core/services/validator/local-settings.validator.mjs +67 -0
- package/{esm2020 → esm2022}/src/app/core/services/validator/user-settings.validator.mjs +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/esm2022/src/app/core/table/testing/table.testing.module.mjs +50 -0
- package/esm2022/src/app/core/table/testing/table2-validator.service.mjs +25 -0
- package/esm2022/src/app/core/table/testing/table2.testing.mjs +250 -0
- package/esm2022/src/app/shared/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/{esm2020 → esm2022}/src/app/shared/form/field.model.mjs +1 -1
- package/esm2022/src/app/shared/form/loading-spinner.mjs +35 -0
- package/{esm2020 → esm2022}/src/app/shared/functions.mjs +5 -4
- 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 +13 -13
- 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/esm2022/src/app/shared/material/chips/chips.module.mjs +76 -0
- package/esm2022/src/app/shared/material/chips/material.chips.mjs +719 -0
- package/esm2022/src/app/shared/material/chips/testing/chips.test.mjs +148 -0
- package/{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/esm2022/src/app/shared/material/material.module.mjs +224 -0
- package/esm2022/src/app/shared/material/material.testing.module.mjs +210 -0
- 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 +21 -21
- package/esm2022/src/app/shared/material/numpad/testing/numpad.test.mjs +48 -0
- package/esm2022/src/app/shared/material/paginator/material.paginator-i18n.mjs +48 -0
- package/esm2022/src/app/shared/material/stepper/material.stepper-i18n.mjs +23 -0
- package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +368 -0
- package/esm2022/src/app/shared/material/swipe/swipe.module.mjs +56 -0
- package/esm2022/src/app/shared/material/swipe/testing/swipe.test.mjs +67 -0
- package/esm2022/src/app/shared/material/testing/common.test.mjs +105 -0
- package/esm2022/src/app/shared/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/esm2022/src/app/shared/pipes/colors.pipe.mjs +27 -0
- package/esm2022/src/app/shared/pipes/date-diff-duration.pipe.mjs +51 -0
- package/esm2022/src/app/shared/pipes/date-format.pipe.mjs +72 -0
- package/esm2022/src/app/shared/pipes/date-from-now.pipe.mjs +28 -0
- package/esm2022/src/app/shared/pipes/duration.pipe.mjs +36 -0
- package/esm2022/src/app/shared/pipes/file-size.pipe.mjs +60 -0
- package/esm2022/src/app/shared/pipes/form.pipes.mjs +194 -0
- package/{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/esm2022/src/app/shared/pipes/string.pipes.mjs +135 -0
- package/esm2022/src/app/shared/pipes/translate-context.pipe.mjs +44 -0
- package/esm2022/src/app/shared/pipes/types.pipes.mjs +58 -0
- package/esm2022/src/app/shared/rx-state.module.mjs +23 -0
- package/esm2022/src/app/shared/services/entity-service.class.mjs +7 -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/esm2022/src/app/social/job/job.module.mjs +42 -0
- package/esm2022/src/app/social/job/progression/job-progression.component.mjs +35 -0
- package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +232 -0
- package/esm2022/src/app/social/job/progression/job-progression.list.mjs +50 -0
- package/esm2022/src/app/social/job/progression/job-progression.model.mjs +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/esm2022/src/app/social/message/message.module.mjs +35 -0
- 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/esm2022/src/environments/environment.mjs +94 -0
- package/{fesm2020 → fesm2022}/sumaris-net.ngx-components.mjs +12191 -10087
- package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -0
- package/package.json +11 -16
- package/public_api.d.ts +12 -5
- package/src/app/admin/users/users.d.ts +1 -1
- package/src/app/admin/users/users.module.d.ts +2 -1
- package/src/app/core/about/about.modal.d.ts +1 -1
- package/src/app/core/account/account.page.d.ts +3 -4
- package/src/app/core/account/new-token.modal.d.ts +1 -1
- package/src/app/core/account/token.table.d.ts +1 -1
- package/src/app/core/auth/auth.form.d.ts +1 -1
- package/src/app/core/auth/auth.modal.d.ts +1 -1
- package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +2 -2
- package/src/app/core/form/entity/editor.class.d.ts +4 -4
- package/src/app/core/form/entity/entity-editor-modal.class.d.ts +1 -1
- package/src/app/core/form/entity/entity-editor.class.d.ts +6 -10
- package/src/app/core/form/entity/entity-metadata.component.d.ts +1 -1
- package/src/app/core/form/form.class.d.ts +1 -1
- package/src/app/core/form/list/list.form.d.ts +1 -1
- package/src/app/core/form/properties/properties.form.d.ts +1 -1
- package/src/app/core/form/properties/properties.table.d.ts +2 -3
- package/src/app/core/form/properties/property.validator.d.ts +1 -1
- package/src/app/core/form/properties/testing/properties-form.test.d.ts +1 -1
- package/src/app/core/form/text-popover/testing/text-popover.testing.d.ts +1 -1
- package/src/app/core/form/text-popover/text-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.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 +4 -8
- package/src/app/core/menu/menu.model.d.ts +0 -1
- package/src/app/core/menu/menu.module.d.ts +3 -5
- package/src/app/core/menu/menu.service.d.ts +1 -3
- package/src/app/core/menu/sub-menu-tab.directive.d.ts +1 -1
- package/src/app/core/menu/testing/menu-other.testing.d.ts +1 -1
- package/src/app/core/menu/testing/menu.testing.d.ts +1 -1
- package/src/app/core/offline/update-offline-mode-card.component.d.ts +1 -1
- package/src/app/core/peer/select-peer.modal.d.ts +1 -1
- package/src/app/core/register/register-confirm.page.d.ts +1 -1
- package/src/app/core/register/register.form.d.ts +1 -1
- package/src/app/core/register/register.modal.d.ts +1 -1
- package/src/app/core/services/account.service.d.ts +0 -4
- package/src/app/core/services/base-entity-service.class.d.ts +2 -2
- package/src/app/core/services/base-graphql-service.class.d.ts +1 -1
- package/src/app/core/services/config/core.config.d.ts +1 -1
- package/src/app/core/services/model/person.model.d.ts +1 -1
- package/src/app/core/services/model/referential.model.d.ts +1 -2
- package/src/app/core/services/model/settings.model.d.ts +1 -1
- package/src/app/core/services/network.types.d.ts +2 -2
- package/src/app/core/services/storage/entity-store.class.d.ts +1 -1
- package/src/app/core/services/validator/base.validator.class.d.ts +1 -1
- package/src/app/core/settings/settings.page.d.ts +1 -1
- package/src/app/core/table/actions-column.component.d.ts +2 -2
- package/src/app/core/table/async-table.class.d.ts +1 -1
- package/src/app/core/table/entities-async-table-datasource.class.d.ts +1 -1
- package/src/app/core/table/entities-table-datasource.class.d.ts +1 -1
- package/src/app/core/table/memory-table.class.d.ts +3 -3
- package/src/app/core/table/table-select-columns.component.d.ts +1 -1
- package/src/app/core/table/table.class.d.ts +3 -3
- package/src/app/core/table/table.model.d.ts +1 -1
- package/src/app/core/table/testing/table.testing.d.ts +5 -4
- package/src/app/core/table/testing/table.testing.module.d.ts +8 -5
- package/src/app/core/table/testing/table2-validator.service.d.ts +15 -0
- package/src/app/core/table/testing/table2.testing.d.ts +45 -0
- package/src/app/shared/audio/audio.d.ts +1 -1
- package/src/app/shared/audio/audio.testing.d.ts +1 -1
- package/src/app/shared/debug/debug.component.d.ts +1 -1
- package/src/app/shared/directives/autofocus.directive.d.ts +1 -1
- package/src/app/shared/directives/autotitle.directive.d.ts +1 -1
- package/src/app/shared/directives/drag-and-drop.directive.d.ts +1 -1
- package/src/app/shared/directives/ng-var.directive.d.ts +1 -1
- package/src/app/shared/directives/resizable/resizable.component.d.ts +1 -1
- package/src/app/shared/directives/resizable/resizable.directive.d.ts +1 -1
- package/src/app/shared/events.d.ts +1 -1
- package/src/app/shared/form/field.component.d.ts +4 -5
- package/src/app/shared/form/field.model.d.ts +2 -0
- package/src/app/shared/form/loading-spinner.d.ts +1 -1
- package/src/app/shared/functions.d.ts +2 -2
- package/src/app/shared/help/help.modal.d.ts +2 -2
- package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.d.ts +1 -1
- package/src/app/shared/hotkeys/hotkeys.service.d.ts +3 -3
- package/src/app/shared/image/gallery/image-gallery.component.d.ts +3 -3
- package/src/app/shared/image/gallery/testing/gallery.testing.d.ts +2 -2
- package/src/app/shared/inputs.d.ts +1 -1
- package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +9 -9
- package/src/app/shared/material/autocomplete/material.autocomplete.module.d.ts +10 -9
- package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +1 -1
- package/src/app/shared/material/badge/badge.directive.d.ts +1 -1
- package/src/app/shared/material/badge/badge.test.d.ts +1 -1
- package/src/app/shared/material/boolean/boolean.module.d.ts +12 -11
- package/src/app/shared/material/boolean/material-boolean2.d.ts +66 -0
- package/src/app/shared/material/boolean/material.boolean.d.ts +5 -4
- package/src/app/shared/material/boolean/testing/boolean.test.page.d.ts +21 -0
- package/src/app/shared/material/chips/material.chips.d.ts +8 -9
- package/src/app/shared/material/chips/testing/chips.test.d.ts +2 -2
- package/src/app/shared/material/datetime/datetime.module.d.ts +2 -2
- package/src/app/shared/material/datetime/material.date.d.ts +5 -4
- package/src/app/shared/material/datetime/material.dateshort.d.ts +8 -7
- package/src/app/shared/material/datetime/material.datetime.d.ts +8 -6
- package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +7 -1
- package/src/app/shared/material/datetime/testing/mat-date.test.d.ts +3 -1
- package/src/app/shared/material/datetime/testing/mat-dateshort.test.d.ts +3 -1
- package/src/app/shared/material/duration/duration.module.d.ts +6 -5
- package/src/app/shared/material/duration/material.duration.d.ts +6 -5
- package/src/app/shared/material/duration/testing/mat-duration.test.d.ts +22 -0
- package/src/app/shared/material/latlong/material.latlong.d.ts +8 -7
- package/src/app/shared/material/latlong/material.latlong.module.d.ts +9 -8
- package/src/app/shared/material/latlong/testing/latlong.test.d.ts +3 -1
- package/src/app/shared/material/material.testing.module.d.ts +22 -18
- package/src/app/shared/material/numpad/numpad.append-to-input.directive.d.ts +1 -1
- package/src/app/shared/material/numpad/numpad.component.d.ts +1 -1
- package/src/app/shared/material/numpad/numpad.container.d.ts +1 -1
- package/src/app/shared/material/numpad/numpad.content.d.ts +1 -1
- package/src/app/shared/material/numpad/numpad.directive.d.ts +1 -1
- package/src/app/shared/material/numpad/numpad.dom-service.d.ts +3 -3
- package/src/app/shared/material/numpad/testing/numpad.test.d.ts +1 -1
- package/src/app/shared/material/paginator/material.paginator-i18n.d.ts +0 -3
- package/src/app/shared/material/swipe/material.swipe.d.ts +6 -6
- package/src/app/shared/material/swipe/swipe.module.d.ts +2 -1
- package/src/app/shared/material/swipe/testing/swipe.test.d.ts +1 -1
- package/src/app/shared/material/testing/common.test.d.ts +25 -0
- package/src/app/shared/named-filter/named-filter-selector.component.d.ts +1 -1
- package/src/app/shared/named-filter/named-filter.service.d.ts +1 -1
- package/src/app/shared/pipes/maskito.pipe.d.ts +16 -0
- package/src/app/shared/pipes/ng-init.pipe.d.ts +1 -1
- package/src/app/shared/pipes/pipes.module.d.ts +5 -4
- package/src/app/shared/pipes/string.pipes.d.ts +6 -0
- package/src/app/shared/pipes/types.pipes.d.ts +7 -0
- package/src/app/shared/rx-state.module.d.ts +10 -0
- package/src/app/shared/services/entity-service.class.d.ts +1 -1
- package/src/app/shared/services/job.utils.d.ts +1 -1
- package/src/app/shared/services/memory-entity-service.class.d.ts +1 -1
- package/src/app/shared/services/startable-observable-service.class.d.ts +3 -0
- package/src/app/shared/services/startable-service.class.d.ts +3 -0
- package/src/app/shared/shared.module.d.ts +7 -9
- package/src/app/shared/storage/storage-explorer.component.d.ts +1 -1
- package/src/app/shared/storage/storage-explorer.module.d.ts +3 -3
- package/src/app/shared/storage/storage.service.d.ts +1 -1
- package/src/app/shared/storage/storage.utils.d.ts +1 -1
- package/src/app/shared/testing/observable.test.d.ts +1 -1
- package/src/app/shared/testing/tests.page.d.ts +1 -1
- package/src/app/shared/toast/toast.testing.d.ts +1 -1
- package/src/app/shared/toolbar/modal-toolbar.d.ts +1 -1
- package/src/app/shared/toolbar/toolbar.d.ts +1 -1
- package/src/app/shared/toolbar/toolbar.module.d.ts +4 -3
- package/src/app/shared/upload-file/testing/upload-file.testing.d.ts +1 -1
- package/src/app/shared/upload-file/upload-file-popover.component.d.ts +1 -1
- package/src/app/shared/upload-file/upload-file.component.d.ts +1 -1
- package/src/app/shared/upload-file/upload-file.model.d.ts +2 -2
- package/src/app/social/job/progression/job-progression.component.d.ts +17 -3
- package/src/app/social/job/progression/job-progression.icon.d.ts +24 -10
- package/src/app/social/job/progression/job-progression.list.d.ts +3 -3
- package/src/app/social/job/progression/job-progression.model.d.ts +0 -1
- package/src/app/social/job/testing/job-progression.testing.d.ts +3 -6
- package/src/app/social/message/message.form.d.ts +2 -8
- package/src/app/social/message/message.modal.d.ts +1 -5
- package/src/app/social/message/message.model.d.ts +0 -2
- package/src/app/social/message/message.module.d.ts +1 -2
- package/src/app/social/message/message.service.d.ts +3 -8
- package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +4 -3
- package/src/app/social/user-event/notification/user-event-notification.list.d.ts +1 -1
- package/src/app/social/user-event/testing/user-event.testing.d.ts +1 -1
- package/src/app/social/user-event/testing/user-event.testing.model.d.ts +0 -1
- package/src/app/social/user-event/user-event.model.d.ts +2 -2
- package/src/app/social/user-event/user-event.module.d.ts +3 -2
- package/src/app/social/user-event/user-event.service.d.ts +1 -6
- package/src/assets/i18n/en-US.json +17 -15
- package/src/assets/i18n/en.json +17 -15
- package/src/assets/i18n/fr.json +7 -6
- package/src/assets/img/logo/logo-eis.png +0 -0
- package/src/assets/manifest.json +1 -1
- package/src/environments/environment.class.d.ts +0 -1
- package/src/theme/_material.globals.scss +51 -19
- package/src/theme/_material.scss +15 -15
- package/src/theme/_mixins.scss +3 -3
- package/src/theme/_ngx-components.globals.scss +6 -1
- package/src/theme/_ngx-components.scss +262 -534
- package/src/theme/_ngx-components.table.scss +599 -0
- package/src/theme/_theme.scss +1 -0
- package/esm2020/public_api.mjs +0 -330
- package/esm2020/src/app/admin/services/filter/person.filter.mjs +0 -59
- package/esm2020/src/app/admin/services/person.service.mjs +0 -170
- package/esm2020/src/app/admin/services/validator/person.validator.mjs +0 -71
- package/esm2020/src/app/admin/users/users.mjs +0 -250
- package/esm2020/src/app/admin/users/users.module.mjs +0 -54
- package/esm2020/src/app/core/about/about.modal.mjs +0 -71
- package/esm2020/src/app/core/account/account.page.mjs +0 -319
- 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 -131
- package/esm2020/src/app/core/auth/auth.modal.mjs +0 -72
- package/esm2020/src/app/core/core.testing.module.mjs +0 -86
- package/esm2020/src/app/core/form/buttons/form-buttons-bar.component.mjs +0 -107
- package/esm2020/src/app/core/form/entity/editor.class.mjs +0 -683
- package/esm2020/src/app/core/form/entity/entity-editor-modal.class.mjs +0 -422
- package/esm2020/src/app/core/form/entity/entity-editor.class.mjs +0 -696
- package/esm2020/src/app/core/form/entity/entity-metadata.component.mjs +0 -25
- package/esm2020/src/app/core/form/form.class.mjs +0 -345
- package/esm2020/src/app/core/form/list/list.form.mjs +0 -222
- package/esm2020/src/app/core/form/properties/properties.form.mjs +0 -132
- package/esm2020/src/app/core/form/properties/properties.table.mjs +0 -267
- package/esm2020/src/app/core/form/properties/property.validator.mjs +0 -23
- package/esm2020/src/app/core/form/properties/testing/properties-form.test.mjs +0 -90
- package/esm2020/src/app/core/form/text-popover/testing/text-popover.testing.mjs +0 -70
- package/esm2020/src/app/core/form/text-popover/text-form.component.mjs +0 -89
- package/esm2020/src/app/core/graphql/graphql.service.mjs +0 -778
- package/esm2020/src/app/core/home/home.mjs +0 -257
- package/esm2020/src/app/core/home/home.module.mjs +0 -48
- package/esm2020/src/app/core/icon/icon.component.mjs +0 -41
- package/esm2020/src/app/core/install/install-upgrade-card.component.mjs +0 -344
- package/esm2020/src/app/core/menu/menu.component.mjs +0 -242
- package/esm2020/src/app/core/menu/menu.model.mjs +0 -247
- package/esm2020/src/app/core/menu/menu.module.mjs +0 -57
- package/esm2020/src/app/core/menu/menu.service.mjs +0 -660
- package/esm2020/src/app/core/menu/sub-menu-tab.directive.mjs +0 -98
- package/esm2020/src/app/core/menu/testing/menu.testing.mjs +0 -121
- package/esm2020/src/app/core/offline/update-offline-mode-card.component.mjs +0 -27
- package/esm2020/src/app/core/peer/select-peer.modal.mjs +0 -183
- package/esm2020/src/app/core/register/register-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 -1233
- 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 -167
- 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/platform.service.mjs +0 -534
- 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/table.testing.module.mjs +0 -38
- package/esm2020/src/app/shared/audio/audio.mjs +0 -248
- package/esm2020/src/app/shared/audio/audio.testing.mjs +0 -31
- package/esm2020/src/app/shared/capacitor/keyboard.mjs +0 -40
- package/esm2020/src/app/shared/capacitor/plugins.mjs +0 -9
- package/esm2020/src/app/shared/dates.mjs +0 -149
- package/esm2020/src/app/shared/debug/debug.component.mjs +0 -39
- package/esm2020/src/app/shared/directives/autofocus.directive.mjs +0 -93
- package/esm2020/src/app/shared/directives/autotitle.directive.mjs +0 -30
- package/esm2020/src/app/shared/directives/drag-and-drop.directive.mjs +0 -53
- package/esm2020/src/app/shared/directives/ng-var.directive.mjs +0 -31
- package/esm2020/src/app/shared/directives/resizable/resizable.component.mjs +0 -59
- package/esm2020/src/app/shared/directives/resizable/resizable.directive.mjs +0 -40
- package/esm2020/src/app/shared/file/file.service.mjs +0 -117
- package/esm2020/src/app/shared/form/field.component.mjs +0 -332
- package/esm2020/src/app/shared/form/loading-spinner.mjs +0 -36
- package/esm2020/src/app/shared/geolocation/geolocation.utils.mjs +0 -80
- package/esm2020/src/app/shared/gesture/gesture-config.mjs +0 -49
- package/esm2020/src/app/shared/graph/graph-colors.mjs +0 -212
- package/esm2020/src/app/shared/guard/component-dirty.guard.mjs +0 -57
- package/esm2020/src/app/shared/help/help.modal.mjs +0 -53
- package/esm2020/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +0 -23
- package/esm2020/src/app/shared/hotkeys/hotkeys.service.mjs +0 -84
- package/esm2020/src/app/shared/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 -920
- 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 -68
- package/esm2020/src/app/shared/material/boolean/material.boolean.mjs +0 -253
- package/esm2020/src/app/shared/material/chips/chips.module.mjs +0 -76
- package/esm2020/src/app/shared/material/chips/material.chips.mjs +0 -696
- package/esm2020/src/app/shared/material/chips/testing/chips.test.mjs +0 -143
- package/esm2020/src/app/shared/material/datetime/material.date.mjs +0 -376
- package/esm2020/src/app/shared/material/datetime/material.dateshort.mjs +0 -385
- package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +0 -499
- package/esm2020/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +0 -108
- package/esm2020/src/app/shared/material/datetime/testing/mat-date.test.mjs +0 -110
- package/esm2020/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +0 -103
- package/esm2020/src/app/shared/material/duration/duration.module.mjs +0 -67
- package/esm2020/src/app/shared/material/duration/material.duration.mjs +0 -257
- package/esm2020/src/app/shared/material/latlong/material.latlong.mjs +0 -382
- package/esm2020/src/app/shared/material/latlong/material.latlong.module.mjs +0 -67
- package/esm2020/src/app/shared/material/latlong/testing/latlong.test.mjs +0 -102
- package/esm2020/src/app/shared/material/material.module.mjs +0 -224
- package/esm2020/src/app/shared/material/material.testing.module.mjs +0 -168
- 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 -37
- package/esm2020/src/app/shared/material/numpad/numpad.model.mjs +0 -15
- package/esm2020/src/app/shared/material/numpad/testing/numpad.test.mjs +0 -46
- package/esm2020/src/app/shared/material/paginator/material.paginator-i18n.mjs +0 -46
- package/esm2020/src/app/shared/material/stepper/material.stepper-i18n.mjs +0 -22
- package/esm2020/src/app/shared/material/swipe/material.swipe.mjs +0 -344
- package/esm2020/src/app/shared/material/swipe/swipe.module.mjs +0 -52
- package/esm2020/src/app/shared/material/swipe/testing/swipe.test.mjs +0 -64
- package/esm2020/src/app/shared/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/colors.pipe.mjs +0 -25
- package/esm2020/src/app/shared/pipes/date-diff-duration.pipe.mjs +0 -48
- package/esm2020/src/app/shared/pipes/date-format.pipe.mjs +0 -66
- package/esm2020/src/app/shared/pipes/date-from-now.pipe.mjs +0 -27
- package/esm2020/src/app/shared/pipes/duration.pipe.mjs +0 -34
- package/esm2020/src/app/shared/pipes/file-size.pipe.mjs +0 -62
- package/esm2020/src/app/shared/pipes/form.pipes.mjs +0 -187
- package/esm2020/src/app/shared/pipes/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 -239
- package/esm2020/src/app/shared/pipes/property.pipes.mjs +0 -93
- package/esm2020/src/app/shared/pipes/string.pipes.mjs +0 -121
- package/esm2020/src/app/shared/pipes/translate-context.pipe.mjs +0 -43
- package/esm2020/src/app/shared/pipes/types.pipes.mjs +0 -45
- package/esm2020/src/app/shared/services/entity-service.class.mjs +0 -7
- package/esm2020/src/app/shared/services/memory-entity-service.class.mjs +0 -339
- package/esm2020/src/app/shared/services/progress-bar.service.mjs +0 -33
- package/esm2020/src/app/shared/services/startable-observable-service.class.mjs +0 -118
- package/esm2020/src/app/shared/services/startable-service.class.mjs +0 -110
- package/esm2020/src/app/shared/services/translate-context.service.mjs +0 -103
- package/esm2020/src/app/shared/shared.module.mjs +0 -231
- package/esm2020/src/app/shared/storage/storage-explorer.component.mjs +0 -268
- package/esm2020/src/app/shared/storage/storage-explorer.module.mjs +0 -47
- package/esm2020/src/app/shared/storage/storage.service.mjs +0 -132
- package/esm2020/src/app/shared/testing/observable.test.mjs +0 -95
- package/esm2020/src/app/shared/testing/tests.page.mjs +0 -33
- package/esm2020/src/app/shared/toast/toast.testing.mjs +0 -51
- package/esm2020/src/app/shared/toast/toasts.mjs +0 -144
- package/esm2020/src/app/shared/toolbar/modal-toolbar.mjs +0 -58
- package/esm2020/src/app/shared/toolbar/toolbar.mjs +0 -251
- package/esm2020/src/app/shared/toolbar/toolbar.module.mjs +0 -53
- package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.mjs +0 -58
- package/esm2020/src/app/shared/upload-file/upload-file-popover.component.mjs +0 -97
- package/esm2020/src/app/shared/upload-file/upload-file.component.mjs +0 -204
- package/esm2020/src/app/shared/upload-file/upload-file.model.mjs +0 -20
- package/esm2020/src/app/shared/validator/form-error-adapter.class.mjs +0 -104
- package/esm2020/src/app/shared/validator/validators.mjs +0 -580
- package/esm2020/src/app/shared/version/versions.mjs +0 -81
- package/esm2020/src/app/social/job/job.module.mjs +0 -42
- package/esm2020/src/app/social/job/progression/job-progression.component.mjs +0 -20
- package/esm2020/src/app/social/job/progression/job-progression.icon.mjs +0 -216
- package/esm2020/src/app/social/job/progression/job-progression.list.mjs +0 -43
- package/esm2020/src/app/social/job/progression/job-progression.model.mjs +0 -23
- package/esm2020/src/app/social/job/progression/job-progression.service.mjs +0 -71
- package/esm2020/src/app/social/job/testing/job-progression.testing.mjs +0 -52
- package/esm2020/src/app/social/job/testing/job-progression.testing.service.mjs +0 -55
- package/esm2020/src/app/social/message/message.form.mjs +0 -136
- package/esm2020/src/app/social/message/message.modal.mjs +0 -99
- package/esm2020/src/app/social/message/message.model.mjs +0 -67
- package/esm2020/src/app/social/message/message.module.mjs +0 -22
- package/esm2020/src/app/social/message/message.service.mjs +0 -105
- package/esm2020/src/app/social/user-event/notification/user-event-notification.icon.mjs +0 -114
- package/esm2020/src/app/social/user-event/notification/user-event-notification.list.mjs +0 -246
- package/esm2020/src/app/social/user-event/testing/user-event.testing.mjs +0 -227
- package/esm2020/src/app/social/user-event/testing/user-event.testing.model.mjs +0 -112
- package/esm2020/src/app/social/user-event/testing/user-event.testing.service.mjs +0 -111
- package/esm2020/src/app/social/user-event/user-event.module.mjs +0 -39
- package/esm2020/src/app/social/user-event/user-event.service.mjs +0 -501
- package/esm2020/src/environments/environment.class.mjs +0 -5
- package/esm2020/src/environments/environment.loader.mjs +0 -79
- package/esm2020/src/environments/environment.mjs +0 -97
- package/fesm2015/sumaris-net.ngx-components.mjs +0 -40966
- package/fesm2015/sumaris-net.ngx-components.mjs.map +0 -1
- package/fesm2020/sumaris-net.ngx-components.mjs.map +0 -1
- package/resources/README.md +0 -7
- package/src/assets/environments/environment-test.json +0 -6
- package/src/environments/environment.loader.d.ts +0 -26
- /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/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/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}/sumaris-net.ngx-components.mjs +0 -0
|
@@ -1,247 +0,0 @@
|
|
|
1
|
-
var _a;
|
|
2
|
-
var MenuItem_1;
|
|
3
|
-
import { __decorate } from "tslib";
|
|
4
|
-
import { isNilOrBlank, isNotNil, isNotNilOrBlank, toBoolean, toInt } from '../../shared/functions';
|
|
5
|
-
import { BehaviorSubject } from 'rxjs';
|
|
6
|
-
import { AccountUtils } from '../services/model/account.model';
|
|
7
|
-
import { Entity } from '../services/model/entity.model';
|
|
8
|
-
import { EntityClass } from '../services/model/entity.decorators';
|
|
9
|
-
// @dynamic
|
|
10
|
-
let MenuItem = MenuItem_1 = class MenuItem extends Entity {
|
|
11
|
-
constructor() {
|
|
12
|
-
super(...arguments);
|
|
13
|
-
this.$children = new BehaviorSubject([]);
|
|
14
|
-
this.$title = new BehaviorSubject(undefined);
|
|
15
|
-
}
|
|
16
|
-
fromObject(source, opts) {
|
|
17
|
-
this.id = source.id;
|
|
18
|
-
this.title = source.title;
|
|
19
|
-
this.titleProperty = source.titleProperty;
|
|
20
|
-
this.titleArgs = source.titleArgs;
|
|
21
|
-
// Clean path
|
|
22
|
-
if (source.path) {
|
|
23
|
-
const { path, params } = MenuItems.parsePathWithQuery(source.path);
|
|
24
|
-
this.path = path;
|
|
25
|
-
this.pathParams = { ...source.pathParams, ...params };
|
|
26
|
-
}
|
|
27
|
-
// Clean parent path
|
|
28
|
-
if (source.parentPath) {
|
|
29
|
-
const { path, params } = MenuItems.parsePathWithQuery(source.parentPath);
|
|
30
|
-
this.parentPath = path;
|
|
31
|
-
this.parentPathParams = { ...source.parentPathParams, ...params };
|
|
32
|
-
}
|
|
33
|
-
this.after = source.after;
|
|
34
|
-
this.before = source.before;
|
|
35
|
-
this.action = source.action;
|
|
36
|
-
this.profile = source.profile;
|
|
37
|
-
this.exactProfile = source.exactProfile;
|
|
38
|
-
this.color = source.color;
|
|
39
|
-
this.cssClass = source.cssClass;
|
|
40
|
-
this.ifProperty = source.ifProperty;
|
|
41
|
-
this.pinned = toBoolean(source.pinned, false);
|
|
42
|
-
this.static = isNotNil(source.static) ? source.static : undefined; // If undefined, will be set by service
|
|
43
|
-
// Icon
|
|
44
|
-
this.icon = source.icon;
|
|
45
|
-
this.matIcon = source.matIcon;
|
|
46
|
-
this.matSvgIcon = source.matSvgIcon;
|
|
47
|
-
if (!opts || opts.withChildren === false) {
|
|
48
|
-
this.children = (source.children || []).map((json) => MenuItem_1.fromObject(json, opts)) || [];
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
asObject(opts) {
|
|
52
|
-
const target = Object.assign({}, this);
|
|
53
|
-
target.title = this.title;
|
|
54
|
-
if (opts?.keepLocalId === false) {
|
|
55
|
-
delete target.id;
|
|
56
|
-
}
|
|
57
|
-
if (opts?.withChildren !== false) {
|
|
58
|
-
target.children = (this.children || []).map(c => c.asObject(opts));
|
|
59
|
-
}
|
|
60
|
-
delete target.$children;
|
|
61
|
-
delete target.$title;
|
|
62
|
-
delete target.parent;
|
|
63
|
-
return target;
|
|
64
|
-
}
|
|
65
|
-
// addChild(child: MenuItem) {
|
|
66
|
-
// this.$children.next(this.$children.value)
|
|
67
|
-
// }
|
|
68
|
-
get children() {
|
|
69
|
-
return this.$children.value;
|
|
70
|
-
}
|
|
71
|
-
set children(value) {
|
|
72
|
-
this.$children.next(value);
|
|
73
|
-
}
|
|
74
|
-
get title() {
|
|
75
|
-
return this.$title.value;
|
|
76
|
-
}
|
|
77
|
-
set title(value) {
|
|
78
|
-
if (this.pinned) {
|
|
79
|
-
// If loading, keep existing title if pinned (avoid to show skeleton)
|
|
80
|
-
if (isNotNilOrBlank(value))
|
|
81
|
-
this.$title.next(value);
|
|
82
|
-
}
|
|
83
|
-
else if (isNotNil(value)) {
|
|
84
|
-
this.$title.next(value);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
get detached() {
|
|
88
|
-
return !this.parentPath || !this.parent;
|
|
89
|
-
}
|
|
90
|
-
get visible() {
|
|
91
|
-
return this.static || !this.detached;
|
|
92
|
-
}
|
|
93
|
-
get expanded() {
|
|
94
|
-
return this.action !== 'expand' || this.matIcon === 'expand_less';
|
|
95
|
-
}
|
|
96
|
-
get ancestor() {
|
|
97
|
-
if (!this.parent)
|
|
98
|
-
return null; // root = not ancestor
|
|
99
|
-
if (!this.parent.parent)
|
|
100
|
-
return this; // first sub menu = ancestor
|
|
101
|
-
return this.parent?.ancestor; // loop
|
|
102
|
-
}
|
|
103
|
-
get divider() {
|
|
104
|
-
return !this.action && !this.path;
|
|
105
|
-
}
|
|
106
|
-
get pinnable() {
|
|
107
|
-
return !this.static && (typeof this.action !== 'function');
|
|
108
|
-
}
|
|
109
|
-
isPinned() {
|
|
110
|
-
if (this.pinned)
|
|
111
|
-
return true;
|
|
112
|
-
return (this.children || []).some(child => child.isPinned());
|
|
113
|
-
}
|
|
114
|
-
};
|
|
115
|
-
MenuItem = MenuItem_1 = __decorate([
|
|
116
|
-
EntityClass({ typename: 'MenuItemVO' })
|
|
117
|
-
], MenuItem);
|
|
118
|
-
export { MenuItem };
|
|
119
|
-
export class MenuItems {
|
|
120
|
-
/**
|
|
121
|
-
* Compare, without checking the children
|
|
122
|
-
*
|
|
123
|
-
* @param mainItem
|
|
124
|
-
* @param otherItem
|
|
125
|
-
*/
|
|
126
|
-
static isSame(mainItem, otherItem) {
|
|
127
|
-
return this.isSameIdOrPathAndParams(mainItem, otherItem)
|
|
128
|
-
&& mainItem.title === otherItem.title;
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Compare, without checking the children and the title
|
|
132
|
-
*
|
|
133
|
-
* @param mainItem
|
|
134
|
-
* @param otherItem
|
|
135
|
-
*/
|
|
136
|
-
static isSameIdOrPathAndParams(mainItem, otherItem) {
|
|
137
|
-
return (isNotNil(mainItem?.id) && mainItem.id === otherItem?.id)
|
|
138
|
-
|| this.isSamePathAndParams(mainItem, otherItem);
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Compare, without checking the children
|
|
142
|
-
*
|
|
143
|
-
* @param mainItem
|
|
144
|
-
* @param otherItem
|
|
145
|
-
*/
|
|
146
|
-
static isSamePathAndParams(mainItem, otherItem) {
|
|
147
|
-
return mainItem && mainItem.path === otherItem?.path
|
|
148
|
-
&& mainItem.parentPath === otherItem.parentPath
|
|
149
|
-
&& this.isSameParams(mainItem.pathParams, otherItem.pathParams);
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* All key/value of the mainParams should exist (and be equals) in the other params
|
|
153
|
-
*
|
|
154
|
-
* @param mainParams
|
|
155
|
-
* @param otherParams
|
|
156
|
-
*/
|
|
157
|
-
static isSameParams(mainParams, otherParams) {
|
|
158
|
-
const mainEntries = Object.entries(mainParams);
|
|
159
|
-
const otherEntries = Object.entries(otherParams);
|
|
160
|
-
// TODO: est-ce que un item ne pourrait pas avoir plus de params dans l'item existant ?
|
|
161
|
-
return (mainEntries.length === otherEntries.length) && mainEntries.every(([key, value]) => value === otherParams[key]);
|
|
162
|
-
}
|
|
163
|
-
static isParent(child, parent) {
|
|
164
|
-
return child.parentPath && child.parentPath === parent?.path
|
|
165
|
-
&& this.isSameParams(child.parentPathParams, parent['pathParams'] || parent['params']) || false;
|
|
166
|
-
}
|
|
167
|
-
static checkIfVisible(item, account, config, opts) {
|
|
168
|
-
opts = opts || {};
|
|
169
|
-
if (item.profile) {
|
|
170
|
-
const hasProfile = AccountUtils.hasMinProfile(account, item.profile);
|
|
171
|
-
if (!hasProfile) {
|
|
172
|
-
if (opts.debug)
|
|
173
|
-
console.debug(`${opts && opts.logPrefix || '[menu-service]'} Hide item '${item.title}': need the min profile '${item.profile}' to access path '${item.path}'`);
|
|
174
|
-
return false;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
else if (item.exactProfile) {
|
|
178
|
-
const hasExactProfile = AccountUtils.hasExactProfile(account, item.exactProfile);
|
|
179
|
-
if (!hasExactProfile) {
|
|
180
|
-
if (opts.debug)
|
|
181
|
-
console.debug(`${opts && opts.logPrefix || '[menu-service]'} Hide item '${item.title}': need exact profile '${item.exactProfile}' to access path '${item.path}'`);
|
|
182
|
-
return false;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
// If enable by config
|
|
186
|
-
if (item.ifProperty) {
|
|
187
|
-
//console.debug("[menu] Checking if property enable ? " + item.ifProperty, config && config.properties);
|
|
188
|
-
const isEnableByConfig = config && config.properties[item.ifProperty] === 'true';
|
|
189
|
-
if (!isEnableByConfig) {
|
|
190
|
-
if (opts.debug)
|
|
191
|
-
console.debug('[menu-service] Config property \'' + item.ifProperty + '\' not \'true\' for ', item.path);
|
|
192
|
-
return false;
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
return true;
|
|
196
|
-
}
|
|
197
|
-
static checkIfSubMenuVisible(item, currentPathParam) {
|
|
198
|
-
if (!item.parentPath)
|
|
199
|
-
return false; // Should have a parent
|
|
200
|
-
if (item.static)
|
|
201
|
-
return true; // Always keep static items
|
|
202
|
-
if (item.isPinned())
|
|
203
|
-
return true; // Always keep pinned items
|
|
204
|
-
// Keep each menu items in the scope of the current url path
|
|
205
|
-
if (currentPathParam?.path.startsWith(item.path))
|
|
206
|
-
return true;
|
|
207
|
-
// Keep if parent is an expanded item
|
|
208
|
-
if (item.parent?.action === 'expand' && item.parent.expanded)
|
|
209
|
-
return true;
|
|
210
|
-
// Not visible
|
|
211
|
-
return false;
|
|
212
|
-
}
|
|
213
|
-
static parsePathWithQuery(pathWithQuery) {
|
|
214
|
-
const index = pathWithQuery.lastIndexOf('?');
|
|
215
|
-
if (index < 0)
|
|
216
|
-
return { path: pathWithQuery, params: {} };
|
|
217
|
-
const path = pathWithQuery.substring(0, index);
|
|
218
|
-
const queryString = pathWithQuery.substring(index);
|
|
219
|
-
const params = Object.fromEntries(new URLSearchParams(queryString));
|
|
220
|
-
return { path, params };
|
|
221
|
-
}
|
|
222
|
-
static getUrl(item) {
|
|
223
|
-
return this.getUrlFromPathAndParams(item?.path, item?.pathParams);
|
|
224
|
-
}
|
|
225
|
-
static getUrlFromPathAndParams(path, params) {
|
|
226
|
-
const queryString = Object.entries(params || {}).map(([key, value]) => `${key}=${value}`).join('&');
|
|
227
|
-
if (isNilOrBlank(queryString))
|
|
228
|
-
return path || '';
|
|
229
|
-
return `${path || ''}?${queryString}`;
|
|
230
|
-
}
|
|
231
|
-
static sortByParamOrIdComparator(paramName) {
|
|
232
|
-
paramName = paramName || 'tab';
|
|
233
|
-
return (n1, n2) => {
|
|
234
|
-
const d1 = toInt(n1.pathParams?.[paramName], n1.id);
|
|
235
|
-
const d2 = toInt(n2.pathParams?.[paramName], n2.id);
|
|
236
|
-
return d1 === d2 ? 0 : d1 > d2 ? 1 : -1;
|
|
237
|
-
};
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
_a = MenuItems;
|
|
241
|
-
MenuItems.sortByTabOrId = _a.sortByParamOrIdComparator('tab');
|
|
242
|
-
/**
|
|
243
|
-
* Options to configure specific behavior on projects
|
|
244
|
-
*/
|
|
245
|
-
export class MenuOptions {
|
|
246
|
-
}
|
|
247
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9tZW51L21lbnUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBVyxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsTUFBTSxFQUF5QixNQUFNLGdDQUFnQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQStCbEUsV0FBVztBQUVKLElBQU0sUUFBUSxnQkFBZCxNQUFNLFFBQVMsU0FBUSxNQUFnQjtJQUF2Qzs7UUFRTCxjQUFTLEdBQUUsSUFBSSxlQUFlLENBQWEsRUFBRSxDQUFDLENBQUM7UUFHL0MsV0FBTSxHQUFFLElBQUksZUFBZSxDQUFTLFNBQVMsQ0FBQyxDQUFDO0lBZ0pqRCxDQUFDO0lBcEhDLFVBQVUsQ0FBQyxNQUFXLEVBQUUsSUFBZ0M7UUFFdEQsSUFBSSxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBRXBCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7UUFDMUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBRWxDLGFBQWE7UUFDYixJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDZixNQUFNLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBQyxHQUFHLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENB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QUMsRUFBRSxDQUFDLENBQUM7WUFDcEQsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs7O0FBRU0sdUJBQWEsR0FBRyxFQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7QUFHL0Q7O0dBRUc7QUFDSCxNQUFNLE9BQU8sV0FBVztDQU92QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVzZXJQcm9maWxlTGFiZWwgfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC9wZXJzb24ubW9kZWwnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL3NlcnZpY2VzL21vZGVsL2NvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBBcHBDb2xvcnMsIEljb25SZWYgfSBmcm9tICcuLi8uLi9zaGFyZWQvdHlwZXMnO1xuaW1wb3J0IHsgaXNOaWxPckJsYW5rLCBpc05vdE5pbCwgaXNOb3ROaWxPckJsYW5rLCB0b0Jvb2xlYW4sIHRvSW50IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1lbnVQYXRoUGFyYW0gfSBmcm9tICcuL21lbnUuc2VydmljZSc7XG5pbXBvcnQgeyBBY2NvdW50LCBBY2NvdW50VXRpbHMgfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC9hY2NvdW50Lm1vZGVsJztcbmltcG9ydCB7IEVudGl0eSwgRW50aXR5QXNPYmplY3RPcHRpb25zIH0gZnJvbSAnLi4vc2VydmljZXMvbW9kZWwvZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7IElUcmVlSXRlbUVudGl0eSB9IGZyb20gJy4uL3NlcnZpY2VzL21vZGVsL3RyZWUtaXRlbS1lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgRW50aXR5Q2xhc3MgfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC9lbnRpdHkuZGVjb3JhdG9ycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1lbnVJdGVtIGV4dGVuZHMgSWNvblJlZiB7XG4gIGlkPzogbnVtYmVyO1xuICBwYXJlbnQ/OiBJTWVudUl0ZW07XG4gIGNoaWxkcmVuPzogSU1lbnVJdGVtW107XG5cbiAgdGl0bGU6IHN0cmluZztcbiAgcGF0aD86IHN0cmluZztcblxuICAvLyBJbmplY3Rpb24gcG9pbnRcbiAgYWZ0ZXI/OiBzdHJpbmc7XG4gIGJlZm9yZT86IHN0cmluZztcbiAgc3RhdGljPzogYm9vbGVhbjtcblxuICBhY3Rpb24/OiBzdHJpbmcgfCBhbnk7XG4gIHByb2ZpbGU/OiBVc2VyUHJvZmlsZUxhYmVsO1xuICBleGFjdFByb2ZpbGU/OiBVc2VyUHJvZmlsZUxhYmVsO1xuICBjb2xvcj86IHN0cmluZyB8IEFwcENvbG9ycztcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gIC8vIEEgY29uZmlnIHByb3BlcnR5LCB0byBlbmFibGUgdGhlIG1lbnUgaXRlbVxuICBpZlByb3BlcnR5Pzogc3RyaW5nO1xuICAvLyBBIGNvbmZpZyBwcm9wZXJ0eSwgdG8gb3ZlcnJpZGUgdGhlIHRpdGxlXG4gIHRpdGxlUHJvcGVydHk/OiBzdHJpbmc7XG4gIHRpdGxlQXJncz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIHBhdGhQYXJhbXM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICBwYXJlbnRQYXRoPzogc3RyaW5nO1xuICBwYXJlbnRQYXRoUGFyYW1zPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgcGlubmVkPzogYm9vbGVhbjtcbn1cblxuLy8gQGR5bmFtaWNcbkBFbnRpdHlDbGFzcyh7IHR5cGVuYW1lOiAnTWVudUl0ZW1WTycgfSlcbmV4cG9ydCBjbGFzcyBNZW51SXRlbSBleHRlbmRzIEVudGl0eTxNZW51SXRlbT5cbiAgaW1wbGVtZW50cyBJTWVudUl0ZW0sIElUcmVlSXRlbUVudGl0eTxNZW51SXRlbT4ge1xuXG4gIHN0YXRpYyBmcm9tT2JqZWN0OiAoc291cmNlOiBhbnksIG9wdHM/OiB7d2l0aENoaWxkcmVuPzogYm9vbGVhbn0pID0+IE1lbnVJdGVtO1xuXG4gIGlkOiBudW1iZXI7XG4gIHBhcmVudDogTWVudUl0ZW07XG4gIHBhcmVudElkOiBudW1iZXI7XG4gICRjaGlsZHJlbj0gbmV3IEJlaGF2aW9yU3ViamVjdDxNZW51SXRlbVtdPihbXSk7XG4gIHN0YXRpYzogYm9vbGVhbjtcblxuICAkdGl0bGU9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPih1bmRlZmluZWQpO1xuICB0aXRsZVByb3BlcnR5Pzogc3RyaW5nOyAvLyBBIGNvbmZpZyBwcm9wZXJ0eSwgdG8gb3ZlcnJpZGUgdGhlIHRpdGxlXG4gIHRpdGxlQXJncz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgcGF0aD86IHN0cmluZztcbiAgcGF0aFBhcmFtcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIHBhcmVudFBhdGg/OiBzdHJpbmc7XG4gIHBhcmVudFBhdGhQYXJhbXM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8vIEluamVjdGlvbiBwb2ludFxuICBhZnRlcj86IHN0cmluZztcbiAgYmVmb3JlPzogc3RyaW5nO1xuXG4gIGFjdGlvbj86IHN0cmluZyB8IGFueTtcbiAgcHJvZmlsZT86IFVzZXJQcm9maWxlTGFiZWw7XG4gIGV4YWN0UHJvZmlsZT86IFVzZXJQcm9maWxlTGFiZWw7XG4gIGNvbG9yPzogc3RyaW5nfEFwcENvbG9ycztcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gIC8vIEEgY29uZmlnIHByb3BlcnR5LCB0byBlbmFibGUgdGhlIG1lbnUgaXRlbVxuICBpZlByb3BlcnR5Pzogc3RyaW5nO1xuICBwaW5uZWQ/OiBib29sZWFuO1xuXG4gIC8vIEljb25cbiAgaWNvbj86IHN0cmluZztcbiAgbWF0SWNvbj86IHN0cmluZztcbiAgbWF0U3ZnSWNvbj86IHN0cmluZztcblxuXG4gIGZyb21PYmplY3Qoc291cmNlOiBhbnksIG9wdHM/OiB7d2l0aENoaWxkcmVuPzogYm9vbGVhbiB9KSB7XG5cbiAgICB0aGlzLmlkID0gc291cmNlLmlkO1xuXG4gICAgdGhpcy50aXRsZSA9IHNvdXJjZS50aXRsZTtcbiAgICB0aGlzLnRpdGxlUHJvcGVydHkgPSBzb3VyY2UudGl0bGVQcm9wZXJ0eTtcbiAgICB0aGlzLnRpdGxlQXJncyA9IHNvdXJjZS50aXRsZUFyZ3M7XG5cbiAgICAvLyBDbGVhbiBwYXRoXG4gICAgaWYgKHNvdXJjZS5wYXRoKSB7XG4gICAgICBjb25zdCB7cGF0aCwgcGFyYW1zfSA9IE1lbnVJdGVtcy5wYXJzZVBhdGhXaXRoUXVlcnkoc291cmNlLnBhdGgpO1xuICAgICAgdGhpcy5wYXRoID0gcGF0aDtcbiAgICAgIHRoaXMucGF0aFBhcmFtcyA9IHsuLi5zb3VyY2UucGF0aFBhcmFtcywgLi4ucGFyYW1zfTtcbiAgICB9XG4gICAgLy8gQ2xlYW4gcGFyZW50IHBhdGhcbiAgICBpZiAoc291cmNlLnBhcmVudFBhdGgpIHtcbiAgICAgIGNvbnN0IHtwYXRoLCBwYXJhbXN9ID0gTWVudUl0ZW1zLnBhcnNlUGF0aFdpdGhRdWVyeShzb3VyY2UucGFyZW50UGF0aCk7XG4gICAgICB0aGlzLnBhcmVudFBhdGggPSBwYXRoO1xuICAgICAgdGhpcy5wYXJlbnRQYXRoUGFyYW1zID0gey4uLnNvdXJjZS5wYXJlbnRQYXRoUGFyYW1zLCAuLi5wYXJhbXN9O1xuICAgIH1cblxuICAgIHRoaXMuYWZ0ZXIgPSBzb3VyY2UuYWZ0ZXI7XG4gICAgdGhpcy5iZWZvcmUgPSBzb3VyY2UuYmVmb3JlO1xuXG4gICAgdGhpcy5hY3Rpb24gPSBzb3VyY2UuYWN0aW9uO1xuICAgIHRoaXMucHJvZmlsZSA9IHNvdXJjZS5wcm9maWxlO1xuICAgIHRoaXMuZXhhY3RQcm9maWxlID0gc291cmNlLmV4YWN0UHJvZmlsZTtcbiAgICB0aGlzLmNvbG9yID0gc291cmNlLmNvbG9yO1xuICAgIHRoaXMuY3NzQ2xhc3MgPSBzb3VyY2UuY3NzQ2xhc3M7XG4gICAgdGhpcy5pZlByb3BlcnR5ID0gc291cmNlLmlmUHJvcGVydHk7XG4gICAgdGhpcy5waW5uZWQgPSB0b0Jvb2xlYW4oc291cmNlLnBpbm5lZCwgZmFsc2UpO1xuICAgIHRoaXMuc3RhdGljID0gaXNOb3ROaWwoc291cmNlLnN0YXRpYykgPyBzb3VyY2Uuc3RhdGljIDogdW5kZWZpbmVkOyAvLyBJZiB1bmRlZmluZWQsIHdpbGwgYmUgc2V0IGJ5IHNlcnZpY2VcblxuICAgIC8vIEljb25cbiAgICB0aGlzLmljb24gPSBzb3VyY2UuaWNvbjtcbiAgICB0aGlzLm1hdEljb24gPSBzb3VyY2UubWF0SWNvbjtcbiAgICB0aGlzLm1hdFN2Z0ljb24gPSBzb3VyY2UubWF0U3ZnSWNvbjtcblxuICAgIGlmICghb3B0cyB8fCBvcHRzLndpdGhDaGlsZHJlbiA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuY2hpbGRyZW4gPSAoc291cmNlLmNoaWxkcmVuIHx8IFtdKS5tYXAoKGpzb246IGFueSkgPT4gTWVudUl0ZW0uZnJvbU9iamVjdChqc29uLCBvcHRzKSkgfHwgW107XG4gICAgfVxuICB9XG5cbiAgYXNPYmplY3Qob3B0cz86IHt3aXRoQ2hpbGRyZW4/OiBib29sZWFufSAmIEVudGl0eUFzT2JqZWN0T3B0aW9ucyk6IGFueSB7XG4gICAgY29uc3QgdGFyZ2V0ID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcyk7XG4gICAgdGFyZ2V0LnRpdGxlID0gdGhpcy50aXRsZTtcblxuICAgIGlmIChvcHRzPy5rZWVwTG9jYWxJZCA9PT0gZmFsc2UpIHtcbiAgICAgIGRlbGV0ZSB0YXJnZXQuaWQ7XG4gICAgfVxuXG4gICAgaWYgKG9wdHM/LndpdGhDaGlsZHJlbiAhPT0gZmFsc2UpIHtcbiAgICAgIHRhcmdldC5jaGlsZHJlbiA9ICh0aGlzLmNoaWxkcmVuIHx8IFtdKS5tYXAoYyA9PiBjLmFzT2JqZWN0KG9wdHMpKTtcbiAgICB9XG5cbiAgICBkZWxldGUgdGFyZ2V0LiRjaGlsZHJlbjtcbiAgICBkZWxldGUgdGFyZ2V0LiR0aXRsZTtcbiAgICBkZWxldGUgdGFyZ2V0LnBhcmVudDtcblxuICAgIHJldHVybiB0YXJnZXQ7XG4gIH1cblxuICAvLyBhZGRDaGlsZChjaGlsZDogTWVudUl0ZW0pIHtcbiAgLy8gICB0aGlzLiRjaGlsZHJlbi5uZXh0KHRoaXMuJGNoaWxkcmVuLnZhbHVlKVxuICAvLyB9XG5cbiAgZ2V0IGNoaWxkcmVuKCk6IE1lbnVJdGVtW10ge1xuICAgIHJldHVybiB0aGlzLiRjaGlsZHJlbi52YWx1ZTtcbiAgfVxuICBzZXQgY2hpbGRyZW4odmFsdWU6IE1lbnVJdGVtW10pIHtcbiAgICB0aGlzLiRjaGlsZHJlbi5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiR0aXRsZS52YWx1ZTtcbiAgfVxuICBzZXQgdGl0bGUodmFsdWU6IHN0cmluZykge1xuICAgIGlmICh0aGlzLnBpbm5lZCkge1xuICAgICAgLy8gSWYgbG9hZGluZywga2VlcCBleGlzdGluZyB0aXRsZSBpZiBwaW5uZWQgKGF2b2lkIHRvIHNob3cgc2tlbGV0b24pXG4gICAgICBpZiAoaXNOb3ROaWxPckJsYW5rKHZhbHVlKSkgdGhpcy4kdGl0bGUubmV4dCh2YWx1ZSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzTm90TmlsKHZhbHVlKSkge1xuICAgICAgdGhpcy4kdGl0bGUubmV4dCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGRldGFjaGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5wYXJlbnRQYXRoIHx8ICF0aGlzLnBhcmVudDtcbiAgfVxuXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRpYyB8fCAhdGhpcy5kZXRhY2hlZDtcbiAgfVxuXG4gIGdldCBleHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpb24gIT09ICdleHBhbmQnIHx8IHRoaXMubWF0SWNvbiA9PT0gJ2V4cGFuZF9sZXNzJztcbiAgfVxuXG4gIGdldCBhbmNlc3RvcigpOiBNZW51SXRlbSB7XG4gICAgaWYgKCF0aGlzLnBhcmVudCkgcmV0dXJuIG51bGw7IC8vIHJvb3QgPSBub3QgYW5jZXN0b3JcbiAgICBpZiAoIXRoaXMucGFyZW50LnBhcmVudCkgcmV0dXJuIHRoaXM7IC8vIGZpcnN0IHN1YiBtZW51ID0gYW5jZXN0b3JcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQ/LmFuY2VzdG9yOyAvLyBsb29wXG4gIH1cblxuICBnZXQgZGl2aWRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuYWN0aW9uICYmICF0aGlzLnBhdGg7XG4gIH1cblxuICBnZXQgcGlubmFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnN0YXRpYyAmJiAodHlwZW9mIHRoaXMuYWN0aW9uICE9PSAnZnVuY3Rpb24nKTtcbiAgfVxuXG4gIGlzUGlubmVkKCkge1xuICAgIGlmICh0aGlzLnBpbm5lZCkgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuICh0aGlzLmNoaWxkcmVuIHx8IFtdKS5zb21lKGNoaWxkID0+IGNoaWxkLmlzUGlubmVkKCkpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNZW51SXRlbXMge1xuXG4gIC8qKlxuICAgKiBDb21wYXJlLCB3aXRob3V0IGNoZWNraW5nIHRoZSBjaGlsZHJlblxuICAgKlxuICAgKiBAcGFyYW0gbWFpbkl0ZW1cbiAgICogQHBhcmFtIG90aGVySXRlbVxuICAgKi9cbiAgc3RhdGljIGlzU2FtZShtYWluSXRlbTogSU1lbnVJdGVtLCBvdGhlckl0ZW06IElNZW51SXRlbSkge1xuICAgIHJldHVybiB0aGlzLmlzU2FtZUlkT3JQYXRoQW5kUGFyYW1zKG1haW5JdGVtLCBvdGhlckl0ZW0pXG4gICAgICAmJiBtYWluSXRlbS50aXRsZSA9PT0gb3RoZXJJdGVtLnRpdGxlO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXBhcmUsIHdpdGhvdXQgY2hlY2tpbmcgdGhlIGNoaWxkcmVuIGFuZCB0aGUgdGl0bGVcbiAgICpcbiAgICogQHBhcmFtIG1haW5JdGVtXG4gICAqIEBwYXJhbSBvdGhlckl0ZW1cbiAgICovXG4gIHN0YXRpYyBpc1NhbWVJZE9yUGF0aEFuZFBhcmFtcyhtYWluSXRlbTogSU1lbnVJdGVtLCBvdGhlckl0ZW06IElNZW51SXRlbSkge1xuICAgIHJldHVybiAoaXNOb3ROaWwobWFpbkl0ZW0/LmlkKSAmJiBtYWluSXRlbS5pZCA9PT0gb3RoZXJJdGVtPy5pZClcbiAgICAgIHx8IHRoaXMuaXNTYW1lUGF0aEFuZFBhcmFtcyhtYWluSXRlbSwgb3RoZXJJdGVtKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wYXJlLCB3aXRob3V0IGNoZWNraW5nIHRoZSBjaGlsZHJlblxuICAgKlxuICAgKiBAcGFyYW0gbWFpbkl0ZW1cbiAgICogQHBhcmFtIG90aGVySXRlbVxuICAgKi9cbiAgc3RhdGljIGlzU2FtZVBhdGhBbmRQYXJhbXMobWFpbkl0ZW06IElNZW51SXRlbSwgb3RoZXJJdGVtOiBJTWVudUl0ZW0pIHtcbiAgICByZXR1cm4gbWFpbkl0ZW0gJiYgbWFpbkl0ZW0ucGF0aCA9PT0gb3RoZXJJdGVtPy5wYXRoXG4gICAgICAmJiBtYWluSXRlbS5wYXJlbnRQYXRoID09PSBvdGhlckl0ZW0ucGFyZW50UGF0aFxuICAgICAgJiYgdGhpcy5pc1NhbWVQYXJhbXMobWFpbkl0ZW0ucGF0aFBhcmFtcywgb3RoZXJJdGVtLnBhdGhQYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbCBrZXkvdmFsdWUgb2YgdGhlIG1haW5QYXJhbXMgc2hvdWxkIGV4aXN0IChhbmQgYmUgZXF1YWxzKSBpbiB0aGUgb3RoZXIgcGFyYW1zXG4gICAqXG4gICAqIEBwYXJhbSBtYWluUGFyYW1zXG4gICAqIEBwYXJhbSBvdGhlclBhcmFtc1xuICAgKi9cbiAgc3RhdGljIGlzU2FtZVBhcmFtcyhtYWluUGFyYW1zOiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSwgb3RoZXJQYXJhbXM6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9KSB7XG4gICAgY29uc3QgbWFpbkVudHJpZXMgPSBPYmplY3QuZW50cmllcyhtYWluUGFyYW1zKTtcbiAgICBjb25zdCBvdGhlckVudHJpZXMgPSBPYmplY3QuZW50cmllcyhvdGhlclBhcmFtcyk7XG4gICAgLy8gVE9ETzogZXN0LWNlIHF1ZSB1biBpdGVtIG5lIHBvdXJyYWl0IHBhcyBhdm9pciBwbHVzIGRlIHBhcmFtcyBkYW5zIGwnaXRlbSBleGlzdGFudCA/XG4gICAgcmV0dXJuIChtYWluRW50cmllcy5sZW5ndGggPT09IG90aGVyRW50cmllcy5sZW5ndGgpICYmIG1haW5FbnRyaWVzLmV2ZXJ5KChba2V5LCB2YWx1ZV0pID0+IHZhbHVlID09PSBvdGhlclBhcmFtc1trZXldKTtcbiAgfVxuXG4gIHN0YXRpYyBpc1BhcmVudChjaGlsZDogSU1lbnVJdGVtLCBwYXJlbnQ6IElNZW51SXRlbSB8IE1lbnVQYXRoUGFyYW0pIHtcbiAgICByZXR1cm4gY2hpbGQucGFyZW50UGF0aCAmJiBjaGlsZC5wYXJlbnRQYXRoID09PSBwYXJlbnQ/LnBhdGhcbiAgICAgICAgJiYgdGhpcy5pc1NhbWVQYXJhbXMoY2hpbGQucGFyZW50UGF0aFBhcmFtcywgcGFyZW50WydwYXRoUGFyYW1zJ10gfHwgcGFyZW50WydwYXJhbXMnXSkgfHwgZmFsc2U7XG4gIH1cblxuICBzdGF0aWMgY2hlY2tJZlZpc2libGUoaXRlbTogSU1lbnVJdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWNjb3VudDogQWNjb3VudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZzogQ29uZmlndXJhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdHM/OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9naW4/OiBib29sZWFuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Zz86IGJvb2xlYW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ1ByZWZpeD86IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pOiBib29sZWFuIHtcbiAgICBvcHRzID0gb3B0cyB8fCB7fTtcbiAgICBpZiAoaXRlbS5wcm9maWxlKSB7XG4gICAgICBjb25zdCBoYXNQcm9maWxlID0gQWNjb3VudFV0aWxzLmhhc01pblByb2ZpbGUoYWNjb3VudCwgaXRlbS5wcm9maWxlKTtcbiAgICAgIGlmICghaGFzUHJvZmlsZSkge1xuICAgICAgICBpZiAob3B0cy5kZWJ1ZykgY29uc29sZS5kZWJ1ZyhgJHtvcHRzICYmIG9wdHMubG9nUHJlZml4IHx8ICdbbWVudS1zZXJ2aWNlXSd9IEhpZGUgaXRlbSAnJHtpdGVtLnRpdGxlfSc6IG5lZWQgdGhlIG1pbiBwcm9maWxlICcke2l0ZW0ucHJvZmlsZX0nIHRvIGFjY2VzcyBwYXRoICcke2l0ZW0ucGF0aH0nYCk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBlbHNlIGlmIChpdGVtLmV4YWN0UHJvZmlsZSkge1xuICAgICAgY29uc3QgaGFzRXhhY3RQcm9maWxlID0gQWNjb3VudFV0aWxzLmhhc0V4YWN0UHJvZmlsZShhY2NvdW50LCBpdGVtLmV4YWN0UHJvZmlsZSk7XG4gICAgICBpZiAoIWhhc0V4YWN0UHJvZmlsZSkge1xuICAgICAgICBpZiAob3B0cy5kZWJ1ZykgY29uc29sZS5kZWJ1ZyhgJHtvcHRzICYmIG9wdHMubG9nUHJlZml4IHx8ICdbbWVudS1zZXJ2aWNlXSd9IEhpZGUgaXRlbSAnJHtpdGVtLnRpdGxlfSc6IG5lZWQgZXhhY3QgcHJvZmlsZSAnJHtpdGVtLmV4YWN0UHJvZmlsZX0nIHRvIGFjY2VzcyBwYXRoICcke2l0ZW0ucGF0aH0nYCk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBlbmFibGUgYnkgY29uZmlnXG4gICAgaWYgKGl0ZW0uaWZQcm9wZXJ0eSkge1xuICAgICAgLy9jb25zb2xlLmRlYnVnKFwiW21lbnVdIENoZWNraW5nIGlmIHByb3BlcnR5IGVuYWJsZSA/IFwiICsgaXRlbS5pZlByb3BlcnR5LCBjb25maWcgJiYgY29uZmlnLnByb3BlcnRpZXMpO1xuICAgICAgY29uc3QgaXNFbmFibGVCeUNvbmZpZyA9IGNvbmZpZyAmJiBjb25maWcucHJvcGVydGllc1tpdGVtLmlmUHJvcGVydHldID09PSAndHJ1ZSc7XG4gICAgICBpZiAoIWlzRW5hYmxlQnlDb25maWcpIHtcbiAgICAgICAgaWYgKG9wdHMuZGVidWcpIGNvbnNvbGUuZGVidWcoJ1ttZW51LXNlcnZpY2VdIENvbmZpZyBwcm9wZXJ0eSBcXCcnICsgaXRlbS5pZlByb3BlcnR5ICsgJ1xcJyBub3QgXFwndHJ1ZVxcJyBmb3IgJywgaXRlbS5wYXRoKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgc3RhdGljIGNoZWNrSWZTdWJNZW51VmlzaWJsZShpdGVtOiBNZW51SXRlbSwgY3VycmVudFBhdGhQYXJhbTogTWVudVBhdGhQYXJhbSkge1xuICAgIGlmICghaXRlbS5wYXJlbnRQYXRoKSByZXR1cm4gZmFsc2U7IC8vIFNob3VsZCBoYXZlIGEgcGFyZW50XG5cbiAgICBpZiAoaXRlbS5zdGF0aWMpIHJldHVybiB0cnVlOyAvLyBBbHdheXMga2VlcCBzdGF0aWMgaXRlbXNcblxuICAgIGlmIChpdGVtLmlzUGlubmVkKCkpIHJldHVybiB0cnVlOyAvLyBBbHdheXMga2VlcCBwaW5uZWQgaXRlbXNcblxuICAgIC8vIEtlZXAgZWFjaCBtZW51IGl0ZW1zIGluIHRoZSBzY29wZSBvZiB0aGUgY3VycmVudCB1cmwgcGF0aFxuICAgIGlmIChjdXJyZW50UGF0aFBhcmFtPy5wYXRoLnN0YXJ0c1dpdGgoaXRlbS5wYXRoKSkgcmV0dXJuIHRydWU7XG5cbiAgICAvLyBLZWVwIGlmIHBhcmVudCBpcyBhbiBleHBhbmRlZCBpdGVtXG4gICAgaWYgKGl0ZW0ucGFyZW50Py5hY3Rpb24gPT09ICdleHBhbmQnICYmIGl0ZW0ucGFyZW50LmV4cGFuZGVkKSByZXR1cm4gdHJ1ZTtcblxuICAgIC8vIE5vdCB2aXNpYmxlXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgc3RhdGljIHBhcnNlUGF0aFdpdGhRdWVyeShwYXRoV2l0aFF1ZXJ5OiBzdHJpbmcpOiBNZW51UGF0aFBhcmFtIHtcbiAgICBjb25zdCBpbmRleCA9IHBhdGhXaXRoUXVlcnkubGFzdEluZGV4T2YoJz8nKTtcbiAgICBpZiAoaW5kZXggPCAwKSByZXR1cm4ge3BhdGg6IHBhdGhXaXRoUXVlcnksIHBhcmFtczoge319O1xuICAgIGNvbnN0IHBhdGggPSBwYXRoV2l0aFF1ZXJ5LnN1YnN0cmluZygwLCBpbmRleCk7XG4gICAgY29uc3QgcXVlcnlTdHJpbmcgPSBwYXRoV2l0aFF1ZXJ5LnN1YnN0cmluZyhpbmRleCk7XG4gICAgY29uc3QgcGFyYW1zID0gT2JqZWN0LmZyb21FbnRyaWVzKG5ldyBVUkxTZWFyY2hQYXJhbXMocXVlcnlTdHJpbmcpKTtcbiAgICByZXR1cm4ge3BhdGgsIHBhcmFtc307XG4gIH1cblxuICBzdGF0aWMgZ2V0VXJsKGl0ZW06IElNZW51SXRlbSkge1xuICAgIHJldHVybiB0aGlzLmdldFVybEZyb21QYXRoQW5kUGFyYW1zKGl0ZW0/LnBhdGgsIGl0ZW0/LnBhdGhQYXJhbXMpO1xuICB9XG5cbiAgc3RhdGljIGdldFVybEZyb21QYXRoQW5kUGFyYW1zKHBhdGg6IHN0cmluZywgcGFyYW1zPzogYW55KSB7XG4gICAgY29uc3QgcXVlcnlTdHJpbmcgPSBPYmplY3QuZW50cmllcyhwYXJhbXMgfHwge30pLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgJHtrZXl9PSR7dmFsdWV9YCkuam9pbignJicpO1xuICAgIGlmIChpc05pbE9yQmxhbmsocXVlcnlTdHJpbmcpKSByZXR1cm4gcGF0aCB8fCAnJztcbiAgICByZXR1cm4gYCR7cGF0aCB8fCcnfT8ke3F1ZXJ5U3RyaW5nfWA7XG4gIH1cblxuICBzdGF0aWMgc29ydEJ5UGFyYW1PcklkQ29tcGFyYXRvcihwYXJhbU5hbWU/OiBzdHJpbmcpOiAobjE6IElNZW51SXRlbSwgbjI6IElNZW51SXRlbSkgPT4gbnVtYmVyIHtcbiAgICBwYXJhbU5hbWUgPSBwYXJhbU5hbWUgfHwgJ3RhYic7XG4gICAgcmV0dXJuIChuMTogSU1lbnVJdGVtLCBuMjogSU1lbnVJdGVtKSA9PiB7XG4gICAgICBjb25zdCBkMSA9IHRvSW50KG4xLnBhdGhQYXJhbXM/LltwYXJhbU5hbWVdLCBuMS5pZCk7XG4gICAgICBjb25zdCBkMiA9IHRvSW50KG4yLnBhdGhQYXJhbXM/LltwYXJhbU5hbWVdLCBuMi5pZCk7XG4gICAgICByZXR1cm4gZDEgPT09IGQyID8gMCA6IGQxID4gZDIgPyAxIDogLTE7XG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBzb3J0QnlUYWJPcklkID0gdGhpcy5zb3J0QnlQYXJhbU9ySWRDb21wYXJhdG9yKCd0YWInKTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIHRvIGNvbmZpZ3VyZSBzcGVjaWZpYyBiZWhhdmlvciBvbiBwcm9qZWN0c1xuICovXG5leHBvcnQgY2xhc3MgTWVudU9wdGlvbnMge1xuICBzdWJNZW51Pzoge1xuICAgIGVuYWJsZT86IGJvb2xlYW47XG4gICAgc2hvd1BpbkJ1dHRvbj86IGJvb2xlYW47XG4gICAgZGlzYWJsZUljb24/OiBib29sZWFuO1xuICAgIHNhdmVQaW5uZWQ/OiBib29sZWFuO1xuICB9O1xufVxuIl19
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { SharedModule } from '../../shared/shared.module';
|
|
3
|
-
import { MenuComponent } from './menu.component';
|
|
4
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
5
|
-
import { RouterModule } from '@angular/router';
|
|
6
|
-
import { ForModule } from '@rx-angular/template/for';
|
|
7
|
-
import { SubMenuTabDirective } from './sub-menu-tab.directive';
|
|
8
|
-
import { IfModule } from '@rx-angular/template/if';
|
|
9
|
-
import { LetModule } from '@rx-angular/template/let';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@ngx-translate/core";
|
|
12
|
-
export class AppMenuModule {
|
|
13
|
-
}
|
|
14
|
-
AppMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AppMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
15
|
-
AppMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: AppMenuModule, declarations: [
|
|
16
|
-
// Components
|
|
17
|
-
MenuComponent,
|
|
18
|
-
// Directive
|
|
19
|
-
SubMenuTabDirective], imports: [SharedModule, RouterModule,
|
|
20
|
-
// Rx angular
|
|
21
|
-
ForModule, IfModule, LetModule, i1.TranslateModule], exports: [
|
|
22
|
-
// Modules
|
|
23
|
-
TranslateModule,
|
|
24
|
-
// Components
|
|
25
|
-
MenuComponent,
|
|
26
|
-
// Directive
|
|
27
|
-
SubMenuTabDirective] });
|
|
28
|
-
AppMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AppMenuModule, imports: [SharedModule, RouterModule,
|
|
29
|
-
// Rx angular
|
|
30
|
-
ForModule, IfModule, LetModule,
|
|
31
|
-
TranslateModule.forChild(),
|
|
32
|
-
// Modules
|
|
33
|
-
TranslateModule] });
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AppMenuModule, decorators: [{
|
|
35
|
-
type: NgModule,
|
|
36
|
-
args: [{
|
|
37
|
-
imports: [SharedModule, RouterModule,
|
|
38
|
-
// Rx angular
|
|
39
|
-
ForModule, IfModule, LetModule,
|
|
40
|
-
TranslateModule.forChild()],
|
|
41
|
-
declarations: [
|
|
42
|
-
// Components
|
|
43
|
-
MenuComponent,
|
|
44
|
-
// Directive
|
|
45
|
-
SubMenuTabDirective,
|
|
46
|
-
],
|
|
47
|
-
exports: [
|
|
48
|
-
// Modules
|
|
49
|
-
TranslateModule,
|
|
50
|
-
// Components
|
|
51
|
-
MenuComponent,
|
|
52
|
-
// Directive
|
|
53
|
-
SubMenuTabDirective,
|
|
54
|
-
],
|
|
55
|
-
}]
|
|
56
|
-
}] });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvbWVudS9tZW51Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2pELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBd0JuRCxNQUFNLE9BQU8sYUFBYTs7MEdBQWIsYUFBYTsyR0FBYixhQUFhO1FBZHRCLGFBQWE7UUFDYixhQUFhO1FBQ2IsWUFBWTtRQUNaLG1CQUFtQixhQVZYLFlBQVksRUFBRSxZQUFZO1FBQ2xDLGFBQWE7UUFDYixTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVM7UUFXOUIsVUFBVTtRQUNWLGVBQWU7UUFDZixhQUFhO1FBQ2IsYUFBYTtRQUNiLFlBQVk7UUFDWixtQkFBbUI7MkdBR1YsYUFBYSxZQXJCZCxZQUFZLEVBQUUsWUFBWTtRQUNsQyxhQUFhO1FBQ2IsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTO1FBRTlCLGVBQWUsQ0FBQyxRQUFRLEVBQUU7UUFTMUIsVUFBVTtRQUNWLGVBQWU7MkZBT04sYUFBYTtrQkF0QnpCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVk7d0JBQ2xDLGFBQWE7d0JBQ2IsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTO3dCQUU5QixlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBRTdCLFlBQVksRUFBRTt3QkFDWixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxVQUFVO3dCQUNWLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixhQUFhO3dCQUNiLFlBQVk7d0JBQ1osbUJBQW1CO3FCQUNwQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XG5pbXBvcnQgeyBNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGb3JNb2R1bGUgfSBmcm9tICdAcngtYW5ndWxhci90ZW1wbGF0ZS9mb3InO1xuaW1wb3J0IHtTdWJNZW51VGFiRGlyZWN0aXZlfSBmcm9tICcuL3N1Yi1tZW51LXRhYi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtJZk1vZHVsZX0gZnJvbSAnQHJ4LWFuZ3VsYXIvdGVtcGxhdGUvaWYnO1xuaW1wb3J0IHtMZXRNb2R1bGV9IGZyb20gJ0ByeC1hbmd1bGFyL3RlbXBsYXRlL2xldCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtTaGFyZWRNb2R1bGUsIFJvdXRlck1vZHVsZSxcbiAgICAvLyBSeCBhbmd1bGFyXG4gICAgRm9yTW9kdWxlLCBJZk1vZHVsZSwgTGV0TW9kdWxlLFxuXG4gICAgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKCldLFxuXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIC8vIENvbXBvbmVudHNcbiAgICBNZW51Q29tcG9uZW50LFxuICAgIC8vIERpcmVjdGl2ZVxuICAgIFN1Yk1lbnVUYWJEaXJlY3RpdmUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICAvLyBNb2R1bGVzXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIC8vIENvbXBvbmVudHNcbiAgICBNZW51Q29tcG9uZW50LFxuICAgIC8vIERpcmVjdGl2ZVxuICAgIFN1Yk1lbnVUYWJEaXJlY3RpdmUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFwcE1lbnVNb2R1bGUge31cbiJdfQ==
|