@sumaris-net/ngx-components 3.0.0-rc1 → 4.0.0-rc10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/public_api.mjs +340 -0
- package/{esm2020 → esm2022}/src/app/admin/admin-routing.module.mjs +8 -8
- package/{esm2020 → esm2022}/src/app/admin/admin.module.mjs +12 -12
- package/esm2022/src/app/admin/services/filter/person.filter.mjs +69 -0
- package/esm2022/src/app/admin/services/person.service.mjs +174 -0
- package/esm2022/src/app/admin/services/validator/person.validator.mjs +72 -0
- package/esm2022/src/app/admin/users/users.mjs +264 -0
- package/esm2022/src/app/admin/users/users.module.mjs +58 -0
- package/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 +337 -0
- package/esm2022/src/app/core/account/new-token.modal.mjs +130 -0
- package/esm2022/src/app/core/account/token.table.mjs +146 -0
- package/esm2022/src/app/core/auth/auth.form.mjs +140 -0
- package/esm2022/src/app/core/auth/auth.modal.mjs +76 -0
- package/{esm2020 → esm2022}/src/app/core/auth/auth.module.mjs +16 -16
- package/{esm2020 → esm2022}/src/app/core/core.module.mjs +87 -87
- package/{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 +718 -0
- package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +436 -0
- package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +730 -0
- package/esm2022/src/app/core/form/entity/entity-metadata.component.mjs +24 -0
- package/{esm2020 → esm2022}/src/app/core/form/entity/entity.module.mjs +11 -11
- package/esm2022/src/app/core/form/form.class.mjs +353 -0
- package/{esm2020 → esm2022}/src/app/core/form/form.module.mjs +30 -30
- package/{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-popover.component.mjs +152 -0
- package/esm2022/src/app/core/form/text-popover/text-popover.module.mjs +35 -0
- package/{esm2020 → esm2022}/src/app/core/graphql/graphql.module.mjs +6 -6
- package/esm2022/src/app/core/graphql/graphql.service.mjs +788 -0
- package/{esm2020 → esm2022}/src/app/core/graphql/graphql.utils.mjs +2 -1
- package/esm2022/src/app/core/home/home.mjs +282 -0
- package/esm2022/src/app/core/home/home.module.mjs +51 -0
- package/esm2022/src/app/core/icon/icon.component.mjs +40 -0
- package/{esm2020 → esm2022}/src/app/core/icon/icon.module.mjs +7 -7
- package/esm2022/src/app/core/install/install-upgrade-card.component.mjs +358 -0
- package/{esm2020 → esm2022}/src/app/core/install/install-upgrade-card.module.mjs +10 -10
- package/esm2022/src/app/core/menu/menu.component.mjs +264 -0
- package/esm2022/src/app/core/menu/menu.model.mjs +269 -0
- package/esm2022/src/app/core/menu/menu.module.mjs +52 -0
- package/esm2022/src/app/core/menu/menu.service.mjs +671 -0
- package/esm2022/src/app/core/menu/sub-menu-tab.directive.mjs +109 -0
- package/{esm2020 → esm2022}/src/app/core/menu/testing/menu-other.testing.mjs +5 -5
- package/esm2022/src/app/core/menu/testing/menu.testing.mjs +122 -0
- package/{esm2020 → esm2022}/src/app/core/menu/testing/menu.testing.module.mjs +12 -12
- package/esm2022/src/app/core/offline/update-offline-mode-card.component.mjs +29 -0
- package/{esm2020 → esm2022}/src/app/core/offline/update-offline-mode-card.module.mjs +10 -10
- package/esm2022/src/app/core/peer/select-peer.modal.mjs +193 -0
- package/{esm2020 → esm2022}/src/app/core/peer/select-peer.module.mjs +13 -13
- package/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 +1243 -0
- package/esm2022/src/app/core/services/auth-guard.service.mjs +76 -0
- package/esm2022/src/app/core/services/base-entity-service.class.mjs +482 -0
- package/esm2022/src/app/core/services/base-graphql-service.class.mjs +224 -0
- package/esm2022/src/app/core/services/base58.mjs +79 -0
- package/{esm2020 → esm2022}/src/app/core/services/config/core.config.mjs +7 -7
- package/esm2022/src/app/core/services/config.service.mjs +367 -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 +155 -0
- package/esm2022/src/app/core/services/model/config.model.mjs +107 -0
- package/esm2022/src/app/core/services/model/department.model.mjs +34 -0
- package/esm2022/src/app/core/services/model/entity.decorators.mjs +97 -0
- package/esm2022/src/app/core/services/model/entity.model.mjs +228 -0
- package/esm2022/src/app/core/services/model/peer.model.mjs +83 -0
- package/esm2022/src/app/core/services/model/person.model.mjs +110 -0
- package/esm2022/src/app/core/services/model/referential.model.mjs +189 -0
- package/esm2022/src/app/core/services/model/token.model.mjs +57 -0
- package/esm2022/src/app/core/services/network.service.mjs +626 -0
- package/{esm2020 → esm2022}/src/app/core/services/network.types.mjs +1 -1
- package/{esm2020 → esm2022}/src/app/core/services/pipes/account.pipes.mjs +9 -9
- package/{esm2020 → esm2022}/src/app/core/services/pipes/department-to-string.pipe.mjs +5 -5
- package/{esm2020 → esm2022}/src/app/core/services/pipes/person-to-string.pipe.mjs +5 -5
- package/{esm2020 → esm2022}/src/app/core/services/pipes/usage-mode.pipes.mjs +9 -9
- package/esm2022/src/app/core/services/platform.service.mjs +557 -0
- package/esm2022/src/app/core/services/storage/entities-storage.service.mjs +434 -0
- package/esm2022/src/app/core/services/storage/entity-store.class.mjs +458 -0
- package/esm2022/src/app/core/services/testing/referential-filter.model.mjs +25 -0
- package/esm2022/src/app/core/services/testing/referential.validator.mjs +46 -0
- package/esm2022/src/app/core/services/validator/account.validator.mjs +45 -0
- package/esm2022/src/app/core/services/validator/base.validator.class.mjs +49 -0
- package/esm2022/src/app/core/services/validator/local-settings.validator.mjs +67 -0
- package/{esm2020 → esm2022}/src/app/core/services/validator/user-settings.validator.mjs +5 -5
- package/{esm2020 → esm2022}/src/app/core/services/validator/user-token.validator.mjs +5 -5
- package/{esm2020 → esm2022}/src/app/core/settings/settings.module.mjs +9 -9
- package/esm2022/src/app/core/settings/settings.page.mjs +328 -0
- package/esm2022/src/app/core/table/actions-column.component.mjs +115 -0
- package/esm2022/src/app/core/table/async-table.class.mjs +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 +1775 -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 +23 -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/http/http.utils.mjs +56 -0
- package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +388 -0
- package/{esm2020 → esm2022}/src/app/shared/image/gallery/image-gallery.module.mjs +22 -22
- package/esm2022/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +26 -0
- package/esm2022/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +90 -0
- package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.mjs +41 -0
- package/{esm2020 → esm2022}/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +16 -16
- package/{esm2020 → esm2022}/src/app/shared/image/image.module.mjs +11 -11
- package/esm2022/src/app/shared/image/image.service.mjs +104 -0
- package/esm2022/src/app/shared/inputs.mjs +231 -0
- package/esm2022/src/app/shared/interceptors/progess.interceptor.mjs +28 -0
- package/esm2022/src/app/shared/logging/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 +549 -0
- package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +132 -0
- package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +123 -0
- package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +115 -0
- package/esm2022/src/app/shared/material/duration/duration.module.mjs +70 -0
- package/{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 +440 -0
- package/esm2022/src/app/shared/material/latlong/material.latlong.module.mjs +72 -0
- package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +113 -0
- package/esm2022/src/app/shared/material/material.module.mjs +229 -0
- package/esm2022/src/app/shared/material/material.testing.module.mjs +221 -0
- package/esm2022/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +104 -0
- package/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/material/text/testing/text-form.testing.mjs +31 -0
- package/esm2022/src/app/shared/material/text/text-form.component.mjs +97 -0
- package/esm2022/src/app/shared/material/text/text-form.module.mjs +63 -0
- package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +236 -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/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/esm2022/src/app/shared/services.mjs +62 -0
- package/{esm2020 → esm2022}/src/app/shared/shared-routing.module.mjs +12 -12
- package/esm2022/src/app/shared/shared.module.mjs +231 -0
- package/{esm2020 → esm2022}/src/app/shared/shared.testing.module.mjs +40 -40
- package/esm2022/src/app/shared/storage/storage-explorer.component.mjs +286 -0
- package/esm2022/src/app/shared/storage/storage-explorer.module.mjs +46 -0
- package/{esm2020 → esm2022}/src/app/shared/storage/storage-explorer.testing-routing.module.mjs +7 -7
- package/{esm2020 → esm2022}/src/app/shared/storage/storage-explorer.testing.module.mjs +6 -6
- package/esm2022/src/app/shared/storage/storage.service.mjs +134 -0
- package/{esm2020 → esm2022}/src/app/shared/storage/storage.utils.mjs +1 -1
- package/esm2022/src/app/shared/testing/observable.test.mjs +96 -0
- package/esm2022/src/app/shared/testing/tests.page.mjs +37 -0
- package/esm2022/src/app/shared/toast/toast.testing.mjs +52 -0
- package/{esm2020 → esm2022}/src/app/shared/toast/toast.testing.module.mjs +10 -10
- package/esm2022/src/app/shared/toast/toasts.mjs +144 -0
- package/esm2022/src/app/shared/toolbar/modal-toolbar.mjs +60 -0
- package/esm2022/src/app/shared/toolbar/toolbar.mjs +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 +29 -0
- package/esm2022/src/app/social/job/progression/job-progression.service.mjs +73 -0
- package/esm2022/src/app/social/job/testing/job-progression.testing.mjs +43 -0
- package/esm2022/src/app/social/job/testing/job-progression.testing.service.mjs +53 -0
- package/{esm2020 → esm2022}/src/app/social/job/testing/job.testing.module.mjs +9 -9
- package/esm2022/src/app/social/message/message.form.mjs +140 -0
- package/esm2022/src/app/social/message/message.modal.mjs +110 -0
- package/esm2022/src/app/social/message/message.model.mjs +75 -0
- package/esm2022/src/app/social/message/message.module.mjs +22 -0
- package/esm2022/src/app/social/message/message.service.mjs +110 -0
- package/{esm2020 → esm2022}/src/app/social/social.module.mjs +19 -19
- package/{esm2020 → esm2022}/src/app/social/social.testing.module.mjs +10 -10
- package/esm2022/src/app/social/user-event/notification/user-event-notification.icon.mjs +123 -0
- package/esm2022/src/app/social/user-event/notification/user-event-notification.list.mjs +263 -0
- package/esm2022/src/app/social/user-event/testing/user-event.testing.mjs +233 -0
- package/esm2022/src/app/social/user-event/testing/user-event.testing.model.mjs +129 -0
- package/{esm2020 → esm2022}/src/app/social/user-event/testing/user-event.testing.module.mjs +9 -9
- package/esm2022/src/app/social/user-event/testing/user-event.testing.service.mjs +116 -0
- package/esm2022/src/app/social/user-event/user-event.module.mjs +43 -0
- package/esm2022/src/app/social/user-event/user-event.service.mjs +512 -0
- package/esm2022/src/environments/environment.class.mjs +50 -0
- package/esm2022/src/environments/environment.loader.mjs +83 -0
- package/esm2022/src/environments/environment.mjs +97 -0
- package/{fesm2020 → fesm2022}/sumaris-net.ngx-components.mjs +11115 -9134
- package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -0
- package/package.json +38 -19
- package/public_api.d.ts +5 -1
- 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/account.page.d.ts +3 -2
- package/src/app/core/account/new-token.modal.d.ts +2 -4
- package/src/app/core/account/token.table.d.ts +6 -4
- package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +2 -2
- package/src/app/core/form/entity/editor.class.d.ts +2 -2
- 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 +10 -6
- 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-popover.component.d.ts +2 -2
- package/src/app/core/form/text-popover/text-popover.module.d.ts +4 -5
- package/src/app/core/graphql/graphql.service.d.ts +2 -4
- package/src/app/core/graphql/graphql.utils.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 +7 -3
- package/src/app/core/menu/menu.module.d.ts +3 -5
- package/src/app/core/menu/menu.service.d.ts +3 -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/account.service.d.ts +4 -0
- package/src/app/core/services/base-entity-service.class.d.ts +1 -1
- package/src/app/core/services/config/core.config.d.ts +2 -2
- package/src/app/core/services/model/person.model.d.ts +1 -1
- package/src/app/core/services/model/referential.model.d.ts +2 -1
- package/src/app/core/services/model/settings.model.d.ts +1 -1
- package/src/app/core/services/model/token.model.d.ts +1 -0
- package/src/app/core/services/network.service.d.ts +11 -7
- 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 +2 -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/hotkeys/dialog/hotkeys-dialog.component.d.ts +2 -4
- package/src/app/shared/http/http.utils.d.ts +1 -0
- package/src/app/shared/image/gallery/image-gallery.component.d.ts +1 -1
- package/src/app/shared/inputs.d.ts +1 -1
- package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +2 -2
- 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 +14 -7
- 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 +14 -8
- 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/material.module.d.ts +2 -1
- package/src/app/shared/material/material.testing.module.d.ts +14 -13
- 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/material/text/testing/text-form.testing.d.ts +13 -0
- package/src/app/{core/form/text-popover → shared/material/text}/text-form.component.d.ts +2 -2
- package/src/app/shared/material/text/text-form.module.d.ts +16 -0
- package/src/app/shared/named-filter/named-filter-selector.component.d.ts +9 -3
- 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/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 +7 -3
- package/src/app/shared/services.d.ts +1 -0
- package/src/app/shared/shared.module.d.ts +16 -15
- 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 +8 -2
- package/src/app/social/message/message.modal.d.ts +5 -1
- package/src/app/social/message/message.model.d.ts +2 -0
- package/src/app/social/message/message.module.d.ts +2 -1
- package/src/app/social/message/message.service.d.ts +8 -3
- 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/app/social/user-event/user-event.service.d.ts +5 -0
- package/src/assets/environments/environment-test.json +6 -0
- package/src/assets/i18n/en-US.json +25 -23
- package/src/assets/i18n/en.json +25 -23
- package/src/assets/i18n/fr.json +10 -7
- package/src/assets/manifest.json +1 -1
- package/src/environments/environment.class.d.ts +2 -0
- package/src/environments/environment.loader.d.ts +26 -0
- package/src/theme/_material.globals.scss +2 -2
- package/src/theme/_material.scss +34 -5
- package/src/theme/_mixins.scss +2 -2
- package/src/theme/_ngx-components.globals.scss +2 -2
- package/src/theme/_ngx-components.scss +8 -9
- package/src/theme/_ngx-components.table.scss +20 -8
- 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/about/about.modal.mjs +0 -71
- 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/form/text-popover/text-popover.module.mjs +0 -40
- 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/platform.service.mjs +0 -524
- 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/http/http.utils.mjs +0 -52
- 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/material.module.mjs +0 -224
- package/esm2020/src/app/shared/material/material.testing.module.mjs +0 -210
- 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/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 -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/services.mjs +0 -62
- 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.module.mjs +0 -35
- 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/esm2020/src/environments/environment.mjs +0 -94
- 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/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.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/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/types.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/social/social.errors.mjs +0 -0
- /package/{esm2020 → esm2022}/src/app/social/user-event/user-event.model.mjs +0 -0
- /package/{esm2020 → esm2022}/sumaris-net.ngx-components.mjs +0 -0
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Output, ViewChild, } from '@angular/core';
|
|
2
|
+
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
|
|
3
|
+
import { AppForm } from '../../core/form/form.class';
|
|
4
|
+
import { APP_NAMED_FILTER_SERVICE } from './named-filter.service';
|
|
5
|
+
import { MatAutocompleteField } from '../material/autocomplete/material.autocomplete';
|
|
6
|
+
import { isEmptyArray, isNilOrBlank, isNilOrNaN, isNotNil, isNotNilOrBlank } from '../functions';
|
|
7
|
+
import { Toasts } from '../toast/toasts';
|
|
8
|
+
import { FilesUtils } from '../file/file.utils';
|
|
9
|
+
import { NamedFilter } from './named-filter.model';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@angular/forms";
|
|
12
|
+
import * as i2 from "@ionic/angular";
|
|
13
|
+
import * as i3 from "@angular/common";
|
|
14
|
+
import * as i4 from "../material/autocomplete/material.autocomplete";
|
|
15
|
+
import * as i5 from "@angular/material/form-field";
|
|
16
|
+
import * as i6 from "@angular/material/icon";
|
|
17
|
+
import * as i7 from "@angular/material/button";
|
|
18
|
+
import * as i8 from "@angular/material/menu";
|
|
19
|
+
import * as i9 from "@ngx-translate/core";
|
|
20
|
+
export class NamedFilterSelector extends AppForm {
|
|
21
|
+
injector;
|
|
22
|
+
formBuilder;
|
|
23
|
+
cd;
|
|
24
|
+
toastController;
|
|
25
|
+
popoverController;
|
|
26
|
+
dataService;
|
|
27
|
+
logPrefix = '[named-filter-selector]';
|
|
28
|
+
_entityName;
|
|
29
|
+
_deleteDisabled = false;
|
|
30
|
+
set entityName(entityName) {
|
|
31
|
+
if (!entityName || this._entityName === entityName)
|
|
32
|
+
return;
|
|
33
|
+
this._entityName = entityName;
|
|
34
|
+
// Update autocomplete filter
|
|
35
|
+
this.autocompleteField.filter = { ...this.autocompleteField.filter, ...this.getFilter() };
|
|
36
|
+
}
|
|
37
|
+
;
|
|
38
|
+
get entityName() {
|
|
39
|
+
return this._entityName;
|
|
40
|
+
}
|
|
41
|
+
filterContentProvider;
|
|
42
|
+
filterImportCallback;
|
|
43
|
+
filterFormDirty;
|
|
44
|
+
showButtons = true;
|
|
45
|
+
exportFileNamePrefix = 'filter';
|
|
46
|
+
autocompleteConfig;
|
|
47
|
+
filterSelected = new EventEmitter();
|
|
48
|
+
filterDeleted = new EventEmitter();
|
|
49
|
+
autocompleteField;
|
|
50
|
+
constructor(injector, formBuilder, cd, toastController, popoverController, dataService) {
|
|
51
|
+
super(injector, formBuilder.group({ namedFilter: [null] }));
|
|
52
|
+
this.injector = injector;
|
|
53
|
+
this.formBuilder = formBuilder;
|
|
54
|
+
this.cd = cd;
|
|
55
|
+
this.toastController = toastController;
|
|
56
|
+
this.popoverController = popoverController;
|
|
57
|
+
this.dataService = dataService;
|
|
58
|
+
}
|
|
59
|
+
get isNew() {
|
|
60
|
+
return isNilOrNaN(this.value?.namedFilter?.id);
|
|
61
|
+
}
|
|
62
|
+
get saveDisabled() {
|
|
63
|
+
return !this.dirty || isNilOrBlank(this.value.namedFilter);
|
|
64
|
+
}
|
|
65
|
+
get deleteDisabled() {
|
|
66
|
+
return this._deleteDisabled || this.isNew;
|
|
67
|
+
}
|
|
68
|
+
get dirty() {
|
|
69
|
+
return super.dirty || this.filterFormDirty;
|
|
70
|
+
}
|
|
71
|
+
ngOnInit() {
|
|
72
|
+
this.registerAutocompleteField('namedFilter', {
|
|
73
|
+
suggestFn: (value, filter) => this.dataService.suggest(value, filter),
|
|
74
|
+
attributes: ['name'],
|
|
75
|
+
filter: this.getFilter(),
|
|
76
|
+
...this.autocompleteConfig
|
|
77
|
+
});
|
|
78
|
+
this.registerSubscription(this.form.controls.namedFilter.valueChanges.pipe(debounceTime(100), distinctUntilChanged()).subscribe((value) => this.onFilterChanges(value)));
|
|
79
|
+
}
|
|
80
|
+
getFilter() {
|
|
81
|
+
return {
|
|
82
|
+
entityName: this.entityName,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
markForCheck() {
|
|
86
|
+
this.cd.markForCheck();
|
|
87
|
+
}
|
|
88
|
+
async save() {
|
|
89
|
+
const filterContent = this.filterContentProvider();
|
|
90
|
+
if (this.debug)
|
|
91
|
+
console.debug(`${this.logPrefix} save named filter`, filterContent);
|
|
92
|
+
if (isNilOrBlank(filterContent))
|
|
93
|
+
return;
|
|
94
|
+
const currentSelected = this.value.namedFilter;
|
|
95
|
+
let result;
|
|
96
|
+
if (typeof currentSelected === 'string') {
|
|
97
|
+
result = NamedFilter.fromObject({
|
|
98
|
+
name: currentSelected,
|
|
99
|
+
entityName: this.entityName,
|
|
100
|
+
content: filterContent,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
result = NamedFilter.fromObject({
|
|
105
|
+
...currentSelected,
|
|
106
|
+
content: filterContent,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
const savedEntity = await this.dataService.save(result);
|
|
110
|
+
this.setControlValue(savedEntity);
|
|
111
|
+
this.markAsPristine();
|
|
112
|
+
}
|
|
113
|
+
async delete() {
|
|
114
|
+
const data = this.value.namedFilter;
|
|
115
|
+
if (this.debug)
|
|
116
|
+
console.debug(`${this.logPrefix} delete named filter`, data);
|
|
117
|
+
if (typeof data === 'object') {
|
|
118
|
+
await this.dataService.delete(data);
|
|
119
|
+
this.reset();
|
|
120
|
+
this.autocompleteField.blurred.emit();
|
|
121
|
+
this.filterDeleted.emit(data);
|
|
122
|
+
Toasts.show(this.toastController, this.translate, {
|
|
123
|
+
type: 'info',
|
|
124
|
+
message: 'COMMON.NAMED_FILTER.DELETED',
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
async export() {
|
|
129
|
+
const id = this.autocompleteField.value?.id;
|
|
130
|
+
if (this.debug)
|
|
131
|
+
console.debug(`${this.logPrefix} export named filter`, id);
|
|
132
|
+
if (!id)
|
|
133
|
+
return;
|
|
134
|
+
const data = await this.dataService.load(id, { withContent: true });
|
|
135
|
+
if (data) {
|
|
136
|
+
FilesUtils.writeTextToFile(JSON.stringify(data, null, 2), {
|
|
137
|
+
type: 'application/json',
|
|
138
|
+
filename: `${this.exportFileNamePrefix}-${data.entityName}-${data.name}.json`,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
Toasts.show(this.toastController, this.translate, {
|
|
143
|
+
type: 'error',
|
|
144
|
+
message: 'COMMON.NAMED_FILTER.NOT_FOUND',
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
async import(event) {
|
|
149
|
+
const result = await FilesUtils.showUploadPopover(this.popoverController, event, {
|
|
150
|
+
uploadFn: (file) => FilesUtils.readAsText(file),
|
|
151
|
+
title: 'COMMON.NAMED_FILTER.IMPORT',
|
|
152
|
+
fileExtension: '.json',
|
|
153
|
+
uniqueFile: true,
|
|
154
|
+
instantUpload: true,
|
|
155
|
+
});
|
|
156
|
+
if (!result || isEmptyArray(result.data))
|
|
157
|
+
return;
|
|
158
|
+
try {
|
|
159
|
+
let data = JSON.parse(result.data[0].response.body);
|
|
160
|
+
if (this.debug)
|
|
161
|
+
console.debug(`${this.logPrefix} import named filter`, data);
|
|
162
|
+
if (!!this.filterImportCallback) {
|
|
163
|
+
data = await this.filterImportCallback(data);
|
|
164
|
+
}
|
|
165
|
+
this.setControlValue(data);
|
|
166
|
+
this.filterSelected.emit(data.content);
|
|
167
|
+
}
|
|
168
|
+
catch (e) {
|
|
169
|
+
console.error(e);
|
|
170
|
+
Toasts.show(this.toastController, this.translate, {
|
|
171
|
+
type: 'error',
|
|
172
|
+
message: 'COMMON.NAMED_FILTER.IMPORT_FAILED',
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
async onFilterChanges(value) {
|
|
177
|
+
if (this.debug)
|
|
178
|
+
console.debug(`${this.logPrefix} filter change`, value);
|
|
179
|
+
if (typeof value === 'object' && value?.id && isNotNil(value.id)) {
|
|
180
|
+
try {
|
|
181
|
+
const data = await this.dataService.load(value.id, { withContent: true });
|
|
182
|
+
this._deleteDisabled = !this.dataService.canUserWrite(data);
|
|
183
|
+
const filter = isNotNilOrBlank(data?.content) ? data.content : null;
|
|
184
|
+
if (filter) {
|
|
185
|
+
this.filterSelected.emit(filter);
|
|
186
|
+
this.markAsPristine();
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
catch (e) {
|
|
190
|
+
Toasts.show(this.toastController, this.translate, {
|
|
191
|
+
type: 'error',
|
|
192
|
+
message: 'COMMON.NAMED_FILTER.LOAD_FAILED',
|
|
193
|
+
});
|
|
194
|
+
this.autocompleteField.applyImplicitValue = false;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
this.autocompleteField.applyImplicitValue = false;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
setControlValue(value) {
|
|
202
|
+
this.setValue({ namedFilter: value });
|
|
203
|
+
this.autocompleteField.blurred.emit();
|
|
204
|
+
}
|
|
205
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NamedFilterSelector, deps: [{ token: i0.Injector }, { token: i1.UntypedFormBuilder }, { token: i0.ChangeDetectorRef }, { token: i2.ToastController }, { token: i2.PopoverController }, { token: APP_NAMED_FILTER_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
|
|
206
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: NamedFilterSelector, selector: "app-named-filter-selector", inputs: { entityName: "entityName", filterContentProvider: "filterContentProvider", filterImportCallback: "filterImportCallback", filterFormDirty: "filterFormDirty", showButtons: "showButtons", exportFileNamePrefix: "exportFileNamePrefix", autocompleteConfig: "autocompleteConfig" }, outputs: { filterSelected: "filterSelected", filterDeleted: "filterDeleted" }, viewQueries: [{ propertyName: "autocompleteField", first: true, predicate: MatAutocompleteField, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<form class=\"form-container\" [formGroup]=\"form\">\n <mat-autocomplete-field\n formControlName=\"namedFilter\"\n [config]=\"autocompleteFields.namedFilter\"\n [placeholder]=\"'COMMON.NAMED_FILTER.TITLE' | translate\"\n [clearable]=\"true\"\n >\n <ng-container matSuffix *ngIf=\"showButtons\">\n <button\n mat-icon-button\n [color]=\"'primary'\"\n [disabled]=\"saveDisabled\"\n [title]=\"'COMMON.NAMED_FILTER.SAVE' | translate\"\n (click)=\"save()\"\n >\n <mat-icon>save</mat-icon>\n <mat-icon *ngIf=\"isNew\" class=\"icon-secondary\" style=\"left: 12px; top: 0px\">add</mat-icon>\n </button>\n <button\n mat-icon-button\n [disabled]=\"deleteDisabled\"\n [title]=\"'COMMON.NAMED_FILTER.DELETE' | translate\"\n (click)=\"delete()\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n <button mat-icon-button [matMenuTriggerFor]=\"moreMenu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #moreMenu=\"matMenu\">\n <button mat-menu-item (click)=\"export()\" [disabled]=\"isNew\">\n <ion-label>\n <mat-icon>file_download</mat-icon>\n <span>{{ 'COMMON.NAMED_FILTER.EXPORT' | translate }}</span>\n </ion-label>\n </button>\n <button mat-menu-item (click)=\"import($event)\">\n <ion-label>\n <mat-icon>file_upload</mat-icon>\n <span>{{ 'COMMON.NAMED_FILTER.IMPORT' | translate }}</span>\n </ion-label>\n </button>\n </mat-menu>\n </ng-container>\n </mat-autocomplete-field>\n</form>\n", styles: [".filter-name-container{background:transparent!important;overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i4.MatAutocompleteField, selector: "mat-autocomplete-field", inputs: ["equals", "logPrefix", "formControl", "formControlName", "floatLabel", "appearance", "placeholder", "suggestFn", "required", "mobile", "clearable", "debounceTime", "displayWith", "displayAttributes", "displayColumnSizes", "displayColumnNames", "highlightAccent", "showAllOnFocus", "showPanelOnFocus", "autofocus", "config", "i18nPrefix", "noResultMessage", "class", "panelWidth", "matAutocompletePosition", "multiple", "fetchMoreThreshold", "suggestLengthThreshold", "showLoadingSpinner", "debug", "showSearchBar", "stickySearchBar", "applyImplicitValue", "filter", "readonly", "tabindex", "items"], outputs: ["click", "blur", "focus", "dropButtonClick", "keydown.escape", "keyup.enter"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i8.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
207
|
+
}
|
|
208
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NamedFilterSelector, decorators: [{
|
|
209
|
+
type: Component,
|
|
210
|
+
args: [{ selector: 'app-named-filter-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form class=\"form-container\" [formGroup]=\"form\">\n <mat-autocomplete-field\n formControlName=\"namedFilter\"\n [config]=\"autocompleteFields.namedFilter\"\n [placeholder]=\"'COMMON.NAMED_FILTER.TITLE' | translate\"\n [clearable]=\"true\"\n >\n <ng-container matSuffix *ngIf=\"showButtons\">\n <button\n mat-icon-button\n [color]=\"'primary'\"\n [disabled]=\"saveDisabled\"\n [title]=\"'COMMON.NAMED_FILTER.SAVE' | translate\"\n (click)=\"save()\"\n >\n <mat-icon>save</mat-icon>\n <mat-icon *ngIf=\"isNew\" class=\"icon-secondary\" style=\"left: 12px; top: 0px\">add</mat-icon>\n </button>\n <button\n mat-icon-button\n [disabled]=\"deleteDisabled\"\n [title]=\"'COMMON.NAMED_FILTER.DELETE' | translate\"\n (click)=\"delete()\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n <button mat-icon-button [matMenuTriggerFor]=\"moreMenu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #moreMenu=\"matMenu\">\n <button mat-menu-item (click)=\"export()\" [disabled]=\"isNew\">\n <ion-label>\n <mat-icon>file_download</mat-icon>\n <span>{{ 'COMMON.NAMED_FILTER.EXPORT' | translate }}</span>\n </ion-label>\n </button>\n <button mat-menu-item (click)=\"import($event)\">\n <ion-label>\n <mat-icon>file_upload</mat-icon>\n <span>{{ 'COMMON.NAMED_FILTER.IMPORT' | translate }}</span>\n </ion-label>\n </button>\n </mat-menu>\n </ng-container>\n </mat-autocomplete-field>\n</form>\n", styles: [".filter-name-container{background:transparent!important;overflow:hidden}\n"] }]
|
|
211
|
+
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1.UntypedFormBuilder }, { type: i0.ChangeDetectorRef }, { type: i2.ToastController }, { type: i2.PopoverController }, { type: undefined, decorators: [{
|
|
212
|
+
type: Inject,
|
|
213
|
+
args: [APP_NAMED_FILTER_SERVICE]
|
|
214
|
+
}] }], propDecorators: { entityName: [{
|
|
215
|
+
type: Input
|
|
216
|
+
}], filterContentProvider: [{
|
|
217
|
+
type: Input
|
|
218
|
+
}], filterImportCallback: [{
|
|
219
|
+
type: Input
|
|
220
|
+
}], filterFormDirty: [{
|
|
221
|
+
type: Input
|
|
222
|
+
}], showButtons: [{
|
|
223
|
+
type: Input
|
|
224
|
+
}], exportFileNamePrefix: [{
|
|
225
|
+
type: Input
|
|
226
|
+
}], autocompleteConfig: [{
|
|
227
|
+
type: Input
|
|
228
|
+
}], filterSelected: [{
|
|
229
|
+
type: Output
|
|
230
|
+
}], filterDeleted: [{
|
|
231
|
+
type: Output
|
|
232
|
+
}], autocompleteField: [{
|
|
233
|
+
type: ViewChild,
|
|
234
|
+
args: [MatAutocompleteField, { static: true }]
|
|
235
|
+
}] } });
|
|
236
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZWQtZmlsdGVyLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL25hbWVkLWZpbHRlci9uYW1lZC1maWx0ZXItc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvbmFtZWQtZmlsdGVyL25hbWVkLWZpbHRlci1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUVOLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDbkQsT0FBTyxFQUFDLHdCQUF3QixFQUFzQixNQUFNLHdCQUF3QixDQUFDO0FBQ3JGLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQy9GLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFtQyxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFTbkYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLE9BQVk7SUE4QnZDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDa0M7SUFsQ3BDLFNBQVMsR0FBRyx5QkFBeUIsQ0FBQztJQUV4QyxXQUFXLENBQVM7SUFDcEIsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUVoQyxJQUFhLFVBQVUsQ0FBQyxVQUFrQjtRQUN4QyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssVUFBVTtZQUFFLE9BQU87UUFDM0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsNkJBQTZCO1FBQzdCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztJQUM1RixDQUFDO0lBQUEsQ0FBQztJQUVGLElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRVEscUJBQXFCLENBQVk7SUFDakMsb0JBQW9CLENBQXFEO0lBQ3pFLGVBQWUsQ0FBVTtJQUN6QixXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQ25CLG9CQUFvQixHQUFHLFFBQVEsQ0FBQztJQUNoQyxrQkFBa0IsQ0FBNkI7SUFFOUMsY0FBYyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDekMsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7SUFFUCxpQkFBaUIsQ0FBdUI7SUFFM0YsWUFDWSxRQUFrQixFQUNsQixXQUErQixFQUMvQixFQUFxQixFQUNyQixlQUFnQyxFQUNoQyxpQkFBb0MsRUFDRixXQUFpRjtRQUU3SCxLQUFLLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQVBsRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUMvQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNGLGdCQUFXLEdBQVgsV0FBVyxDQUFzRTtJQUcvSCxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzdDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLHlCQUF5QixDQUFDLGFBQWEsRUFBRTtZQUM1QyxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDO1lBQ3JFLFVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNwQixNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN4QixHQUFHLElBQUksQ0FBQyxrQkFBa0I7U0FDM0IsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLG9CQUFvQixDQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUM5SSxDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPO1lBQ0wsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzVCLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFbkQsSUFBSSxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxvQkFBb0IsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUVwRixJQUFJLFlBQVksQ0FBQyxhQUFhLENBQUM7WUFBRSxPQUFPO1FBRXhDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQy9DLElBQUksTUFBbUIsQ0FBQztRQUV4QixJQUFJLE9BQU8sZUFBZSxLQUFLLFFBQVEsRUFBRTtZQUN2QyxNQUFNLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQztnQkFDOUIsSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDM0IsT0FBTyxFQUFFLGFBQWE7YUFDdkIsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLE1BQU0sR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDO2dCQUM5QixHQUFHLGVBQWU7Z0JBQ2xCLE9BQU8sRUFBRSxhQUFhO2FBQ3ZCLENBQUMsQ0FBQztTQUNKO1FBRUQsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU07UUFDVixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUVwQyxJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLHNCQUFzQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTdFLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzVCLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDaEQsSUFBSSxFQUFFLE1BQU07Z0JBQ1osT0FBTyxFQUFFLDZCQUE2QjthQUN2QyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTTtRQUNWLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBRTVDLElBQUksSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsc0JBQXNCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFM0UsSUFBSSxDQUFDLEVBQUU7WUFBRSxPQUFPO1FBRWhCLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFcEUsSUFBSSxJQUFJLEVBQUU7WUFDUixVQUFVLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRTtnQkFDeEQsSUFBSSxFQUFFLGtCQUFrQjtnQkFDeEIsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksT0FBTzthQUM5RSxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2hELElBQUksRUFBRSxPQUFPO2dCQUNiLE9BQU8sRUFBRSwrQkFBK0I7YUFDekMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFZO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLE1BQU0sVUFBVSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLEVBQUU7WUFDL0UsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztZQUMvQyxLQUFLLEVBQUUsNEJBQTRCO1lBQ25DLGFBQWEsRUFBRSxPQUFPO1lBQ3RCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGFBQWEsRUFBRSxJQUFJO1NBQ3BCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFBRSxPQUFPO1FBQ2pELElBQUk7WUFDRixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BELElBQUksSUFBSSxDQUFDLEtBQUs7Z0JBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLHNCQUFzQixFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzdFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtnQkFDL0IsSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzlDO1lBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDeEM7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2hELElBQUksRUFBRSxPQUFPO2dCQUNiLE9BQU8sRUFBRSxtQ0FBbUM7YUFDN0MsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRVMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxLQUEyQjtRQUN6RCxJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhFLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssRUFBRSxFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNoRSxJQUFJO2dCQUNGLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUMxRSxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRTVELE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDcEUsSUFBSSxNQUFNLEVBQUU7b0JBQ1YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ2pDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztpQkFDdkI7YUFDRjtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO29CQUNoRCxJQUFJLEVBQUUsT0FBTztvQkFDYixPQUFPLEVBQUUsaUNBQWlDO2lCQUMzQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQzthQUNuRDtTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1NBQ25EO0lBQ0gsQ0FBQztJQUVTLGVBQWUsQ0FBQyxLQUFrQjtRQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QyxDQUFDO3VHQXhNVSxtQkFBbUIsNktBbUNwQix3QkFBd0I7MkZBbkN2QixtQkFBbUIsK2RBMkJuQixvQkFBb0IscUZDekRqQyx5bkRBOENBOzsyRkRoQmEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTTs7MEJBcUM1QyxNQUFNOzJCQUFDLHdCQUF3Qjt5Q0E3QnJCLFVBQVU7c0JBQXRCLEtBQUs7Z0JBV0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBRTRDLGlCQUFpQjtzQkFBbkUsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQb3BvdmVyQ29udHJvbGxlciwgVG9hc3RDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7QXBwRm9ybX0gZnJvbSAnLi4vLi4vY29yZS9mb3JtL2Zvcm0uY2xhc3MnO1xuaW1wb3J0IHtBUFBfTkFNRURfRklMVEVSX1NFUlZJQ0UsIElOYW1lZEZpbHRlclNlcnZpY2V9IGZyb20gJy4vbmFtZWQtZmlsdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGVGaWVsZH0gZnJvbSAnLi4vbWF0ZXJpYWwvYXV0b2NvbXBsZXRlL21hdGVyaWFsLmF1dG9jb21wbGV0ZSc7XG5pbXBvcnQge2lzRW1wdHlBcnJheSwgaXNOaWxPckJsYW5rLCBpc05pbE9yTmFOLCBpc05vdE5pbCwgaXNOb3ROaWxPckJsYW5rfSBmcm9tICcuLi9mdW5jdGlvbnMnO1xuaW1wb3J0IHtUb2FzdHN9IGZyb20gJy4uL3RvYXN0L3RvYXN0cyc7XG5pbXBvcnQge0ZpbGVzVXRpbHN9IGZyb20gJy4uL2ZpbGUvZmlsZS51dGlscyc7XG5pbXBvcnQge0lOYW1lZEZpbHRlciwgSU5hbWVkRmlsdGVyRmlsdGVyLCBOYW1lZEZpbHRlcn0gZnJvbSAnLi9uYW1lZC1maWx0ZXIubW9kZWwnO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGVGaWVsZENvbmZpZ30gZnJvbSAnLi4vbWF0ZXJpYWwvYXV0b2NvbXBsZXRlL21hdGVyaWFsLmF1dG9jb21wbGV0ZS5jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtbmFtZWQtZmlsdGVyLXNlbGVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25hbWVkLWZpbHRlci1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25hbWVkLWZpbHRlci1zZWxlY3Rvci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmFtZWRGaWx0ZXJTZWxlY3RvciBleHRlbmRzIEFwcEZvcm08YW55PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByb3RlY3RlZCBsb2dQcmVmaXggPSAnW25hbWVkLWZpbHRlci1zZWxlY3Rvcl0nO1xuXG4gIHByaXZhdGUgX2VudGl0eU5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSBfZGVsZXRlRGlzYWJsZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKSBzZXQgZW50aXR5TmFtZShlbnRpdHlOYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAoIWVudGl0eU5hbWUgfHwgdGhpcy5fZW50aXR5TmFtZSA9PT0gZW50aXR5TmFtZSkgcmV0dXJuO1xuICAgIHRoaXMuX2VudGl0eU5hbWUgPSBlbnRpdHlOYW1lO1xuICAgIC8vIFVwZGF0ZSBhdXRvY29tcGxldGUgZmlsdGVyXG4gICAgdGhpcy5hdXRvY29tcGxldGVGaWVsZC5maWx0ZXIgPSB7IC4uLnRoaXMuYXV0b2NvbXBsZXRlRmllbGQuZmlsdGVyLCAuLi50aGlzLmdldEZpbHRlcigpIH07XG4gIH07XG5cbiAgZ2V0IGVudGl0eU5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZW50aXR5TmFtZTtcbiAgfVxuXG4gIEBJbnB1dCgpIGZpbHRlckNvbnRlbnRQcm92aWRlcjogKCkgPT4gYW55O1xuICBASW5wdXQoKSBmaWx0ZXJJbXBvcnRDYWxsYmFjazogKG5hbWVkRmlsdGVyOiBOYW1lZEZpbHRlcikgPT4gUHJvbWlzZTxOYW1lZEZpbHRlcj47XG4gIEBJbnB1dCgpIGZpbHRlckZvcm1EaXJ0eTogYm9vbGVhbjtcbiAgQElucHV0KCkgc2hvd0J1dHRvbnMgPSB0cnVlO1xuICBASW5wdXQoKSBleHBvcnRGaWxlTmFtZVByZWZpeCA9ICdmaWx0ZXInO1xuICBASW5wdXQoKSBhdXRvY29tcGxldGVDb25maWc6IE1hdEF1dG9jb21wbGV0ZUZpZWxkQ29uZmlnO1xuXG4gIEBPdXRwdXQoKSBmaWx0ZXJTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZmlsdGVyRGVsZXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TmFtZWRGaWx0ZXI+KCk7XG5cbiAgQFZpZXdDaGlsZChNYXRBdXRvY29tcGxldGVGaWVsZCwgeyBzdGF0aWM6IHRydWUgfSkgYXV0b2NvbXBsZXRlRmllbGQ6IE1hdEF1dG9jb21wbGV0ZUZpZWxkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJvdGVjdGVkIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJvdGVjdGVkIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcm90ZWN0ZWQgdG9hc3RDb250cm9sbGVyOiBUb2FzdENvbnRyb2xsZXIsXG4gICAgcHJvdGVjdGVkIHBvcG92ZXJDb250cm9sbGVyOiBQb3BvdmVyQ29udHJvbGxlcixcbiAgICBASW5qZWN0KEFQUF9OQU1FRF9GSUxURVJfU0VSVklDRSkgcHJvdGVjdGVkIGRhdGFTZXJ2aWNlOiBJTmFtZWRGaWx0ZXJTZXJ2aWNlPElOYW1lZEZpbHRlcjxhbnk+LCBJTmFtZWRGaWx0ZXJGaWx0ZXI8YW55LCBhbnk+PlxuICApIHtcbiAgICBzdXBlcihpbmplY3RvciwgZm9ybUJ1aWxkZXIuZ3JvdXAoeyBuYW1lZEZpbHRlcjogW251bGxdIH0pKTtcbiAgfVxuXG4gIGdldCBpc05ldygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNOaWxPck5hTih0aGlzLnZhbHVlPy5uYW1lZEZpbHRlcj8uaWQpO1xuICB9XG5cbiAgZ2V0IHNhdmVEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuZGlydHkgfHwgaXNOaWxPckJsYW5rKHRoaXMudmFsdWUubmFtZWRGaWx0ZXIpO1xuICB9XG5cbiAgZ2V0IGRlbGV0ZURpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kZWxldGVEaXNhYmxlZCB8fCB0aGlzLmlzTmV3O1xuICB9XG5cbiAgZ2V0IGRpcnR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdXBlci5kaXJ0eSB8fCB0aGlzLmZpbHRlckZvcm1EaXJ0eTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVnaXN0ZXJBdXRvY29tcGxldGVGaWVsZCgnbmFtZWRGaWx0ZXInLCB7XG4gICAgICBzdWdnZXN0Rm46ICh2YWx1ZSwgZmlsdGVyKSA9PiB0aGlzLmRhdGFTZXJ2aWNlLnN1Z2dlc3QodmFsdWUsIGZpbHRlciksXG4gICAgICBhdHRyaWJ1dGVzOiBbJ25hbWUnXSxcbiAgICAgIGZpbHRlcjogdGhpcy5nZXRGaWx0ZXIoKSxcbiAgICAgIC4uLnRoaXMuYXV0b2NvbXBsZXRlQ29uZmlnXG4gICAgfSk7XG5cbiAgICB0aGlzLnJlZ2lzdGVyU3Vic2NyaXB0aW9uKFxuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLm5hbWVkRmlsdGVyLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgxMDApLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzLm9uRmlsdGVyQ2hhbmdlcyh2YWx1ZSkpXG4gICAgKTtcbiAgfVxuXG4gIGdldEZpbHRlcigpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBlbnRpdHlOYW1lOiB0aGlzLmVudGl0eU5hbWUsXG4gICAgfTtcbiAgfVxuXG4gIG1hcmtGb3JDaGVjaygpIHtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgYXN5bmMgc2F2ZSgpIHtcbiAgICBjb25zdCBmaWx0ZXJDb250ZW50ID0gdGhpcy5maWx0ZXJDb250ZW50UHJvdmlkZXIoKTtcblxuICAgIGlmICh0aGlzLmRlYnVnKSBjb25zb2xlLmRlYnVnKGAke3RoaXMubG9nUHJlZml4fSBzYXZlIG5hbWVkIGZpbHRlcmAsIGZpbHRlckNvbnRlbnQpO1xuXG4gICAgaWYgKGlzTmlsT3JCbGFuayhmaWx0ZXJDb250ZW50KSkgcmV0dXJuO1xuXG4gICAgY29uc3QgY3VycmVudFNlbGVjdGVkID0gdGhpcy52YWx1ZS5uYW1lZEZpbHRlcjtcbiAgICBsZXQgcmVzdWx0OiBOYW1lZEZpbHRlcjtcblxuICAgIGlmICh0eXBlb2YgY3VycmVudFNlbGVjdGVkID09PSAnc3RyaW5nJykge1xuICAgICAgcmVzdWx0ID0gTmFtZWRGaWx0ZXIuZnJvbU9iamVjdCh7XG4gICAgICAgIG5hbWU6IGN1cnJlbnRTZWxlY3RlZCxcbiAgICAgICAgZW50aXR5TmFtZTogdGhpcy5lbnRpdHlOYW1lLFxuICAgICAgICBjb250ZW50OiBmaWx0ZXJDb250ZW50LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IE5hbWVkRmlsdGVyLmZyb21PYmplY3Qoe1xuICAgICAgICAuLi5jdXJyZW50U2VsZWN0ZWQsXG4gICAgICAgIGNvbnRlbnQ6IGZpbHRlckNvbnRlbnQsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBzYXZlZEVudGl0eSA9IGF3YWl0IHRoaXMuZGF0YVNlcnZpY2Uuc2F2ZShyZXN1bHQpO1xuICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlKHNhdmVkRW50aXR5KTtcbiAgICB0aGlzLm1hcmtBc1ByaXN0aW5lKCk7XG4gIH1cblxuICBhc3luYyBkZWxldGUoKSB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMudmFsdWUubmFtZWRGaWx0ZXI7XG5cbiAgICBpZiAodGhpcy5kZWJ1ZykgY29uc29sZS5kZWJ1ZyhgJHt0aGlzLmxvZ1ByZWZpeH0gZGVsZXRlIG5hbWVkIGZpbHRlcmAsIGRhdGEpO1xuXG4gICAgaWYgKHR5cGVvZiBkYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgYXdhaXQgdGhpcy5kYXRhU2VydmljZS5kZWxldGUoZGF0YSk7XG4gICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZUZpZWxkLmJsdXJyZWQuZW1pdCgpO1xuICAgICAgdGhpcy5maWx0ZXJEZWxldGVkLmVtaXQoZGF0YSk7XG4gICAgICBUb2FzdHMuc2hvdyh0aGlzLnRvYXN0Q29udHJvbGxlciwgdGhpcy50cmFuc2xhdGUsIHtcbiAgICAgICAgdHlwZTogJ2luZm8nLFxuICAgICAgICBtZXNzYWdlOiAnQ09NTU9OLk5BTUVEX0ZJTFRFUi5ERUxFVEVEJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGV4cG9ydCgpIHtcbiAgICBjb25zdCBpZCA9IHRoaXMuYXV0b2NvbXBsZXRlRmllbGQudmFsdWU/LmlkO1xuXG4gICAgaWYgKHRoaXMuZGVidWcpIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5sb2dQcmVmaXh9IGV4cG9ydCBuYW1lZCBmaWx0ZXJgLCBpZCk7XG5cbiAgICBpZiAoIWlkKSByZXR1cm47XG5cbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5kYXRhU2VydmljZS5sb2FkKGlkLCB7IHdpdGhDb250ZW50OiB0cnVlIH0pO1xuXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIEZpbGVzVXRpbHMud3JpdGVUZXh0VG9GaWxlKEpTT04uc3RyaW5naWZ5KGRhdGEsIG51bGwsIDIpLCB7XG4gICAgICAgIHR5cGU6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgZmlsZW5hbWU6IGAke3RoaXMuZXhwb3J0RmlsZU5hbWVQcmVmaXh9LSR7ZGF0YS5lbnRpdHlOYW1lfS0ke2RhdGEubmFtZX0uanNvbmAsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgVG9hc3RzLnNob3codGhpcy50b2FzdENvbnRyb2xsZXIsIHRoaXMudHJhbnNsYXRlLCB7XG4gICAgICAgIHR5cGU6ICdlcnJvcicsXG4gICAgICAgIG1lc3NhZ2U6ICdDT01NT04uTkFNRURfRklMVEVSLk5PVF9GT1VORCcsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBpbXBvcnQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgRmlsZXNVdGlscy5zaG93VXBsb2FkUG9wb3Zlcih0aGlzLnBvcG92ZXJDb250cm9sbGVyLCBldmVudCwge1xuICAgICAgdXBsb2FkRm46IChmaWxlKSA9PiBGaWxlc1V0aWxzLnJlYWRBc1RleHQoZmlsZSksXG4gICAgICB0aXRsZTogJ0NPTU1PTi5OQU1FRF9GSUxURVIuSU1QT1JUJyxcbiAgICAgIGZpbGVFeHRlbnNpb246ICcuanNvbicsXG4gICAgICB1bmlxdWVGaWxlOiB0cnVlLFxuICAgICAgaW5zdGFudFVwbG9hZDogdHJ1ZSxcbiAgICB9KTtcbiAgICBpZiAoIXJlc3VsdCB8fCBpc0VtcHR5QXJyYXkocmVzdWx0LmRhdGEpKSByZXR1cm47XG4gICAgdHJ5IHtcbiAgICAgIGxldCBkYXRhID0gSlNPTi5wYXJzZShyZXN1bHQuZGF0YVswXS5yZXNwb25zZS5ib2R5KTtcbiAgICAgIGlmICh0aGlzLmRlYnVnKSBjb25zb2xlLmRlYnVnKGAke3RoaXMubG9nUHJlZml4fSBpbXBvcnQgbmFtZWQgZmlsdGVyYCwgZGF0YSk7XG4gICAgICBpZiAoISF0aGlzLmZpbHRlckltcG9ydENhbGxiYWNrKSB7XG4gICAgICAgIGRhdGEgPSBhd2FpdCB0aGlzLmZpbHRlckltcG9ydENhbGxiYWNrKGRhdGEpO1xuICAgICAgfVxuICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWUoZGF0YSk7XG4gICAgICB0aGlzLmZpbHRlclNlbGVjdGVkLmVtaXQoZGF0YS5jb250ZW50KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgVG9hc3RzLnNob3codGhpcy50b2FzdENvbnRyb2xsZXIsIHRoaXMudHJhbnNsYXRlLCB7XG4gICAgICAgIHR5cGU6ICdlcnJvcicsXG4gICAgICAgIG1lc3NhZ2U6ICdDT01NT04uTkFNRURfRklMVEVSLklNUE9SVF9GQUlMRUQnLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIG9uRmlsdGVyQ2hhbmdlcyh2YWx1ZTogTmFtZWRGaWx0ZXIgfCBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5kZWJ1ZykgY29uc29sZS5kZWJ1ZyhgJHt0aGlzLmxvZ1ByZWZpeH0gZmlsdGVyIGNoYW5nZWAsIHZhbHVlKTtcblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlPy5pZCAmJiBpc05vdE5pbCh2YWx1ZS5pZCkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmRhdGFTZXJ2aWNlLmxvYWQodmFsdWUuaWQsIHsgd2l0aENvbnRlbnQ6IHRydWUgfSk7XG4gICAgICAgIHRoaXMuX2RlbGV0ZURpc2FibGVkID0gIXRoaXMuZGF0YVNlcnZpY2UuY2FuVXNlcldyaXRlKGRhdGEpO1xuXG4gICAgICAgIGNvbnN0IGZpbHRlciA9IGlzTm90TmlsT3JCbGFuayhkYXRhPy5jb250ZW50KSA/IGRhdGEuY29udGVudCA6IG51bGw7XG4gICAgICAgIGlmIChmaWx0ZXIpIHtcbiAgICAgICAgICB0aGlzLmZpbHRlclNlbGVjdGVkLmVtaXQoZmlsdGVyKTtcbiAgICAgICAgICB0aGlzLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgVG9hc3RzLnNob3codGhpcy50b2FzdENvbnRyb2xsZXIsIHRoaXMudHJhbnNsYXRlLCB7XG4gICAgICAgICAgdHlwZTogJ2Vycm9yJyxcbiAgICAgICAgICBtZXNzYWdlOiAnQ09NTU9OLk5BTUVEX0ZJTFRFUi5MT0FEX0ZBSUxFRCcsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUZpZWxkLmFwcGx5SW1wbGljaXRWYWx1ZSA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZUZpZWxkLmFwcGx5SW1wbGljaXRWYWx1ZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRDb250cm9sVmFsdWUodmFsdWU6IE5hbWVkRmlsdGVyKSB7XG4gICAgdGhpcy5zZXRWYWx1ZSh7IG5hbWVkRmlsdGVyOiB2YWx1ZSB9KTtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZUZpZWxkLmJsdXJyZWQuZW1pdCgpO1xuICB9XG59XG4iLCI8Zm9ybSBjbGFzcz1cImZvcm0tY29udGFpbmVyXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gIDxtYXQtYXV0b2NvbXBsZXRlLWZpZWxkXG4gICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZWRGaWx0ZXJcIlxuICAgIFtjb25maWddPVwiYXV0b2NvbXBsZXRlRmllbGRzLm5hbWVkRmlsdGVyXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiJ0NPTU1PTi5OQU1FRF9GSUxURVIuVElUTEUnIHwgdHJhbnNsYXRlXCJcbiAgICBbY2xlYXJhYmxlXT1cInRydWVcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciBtYXRTdWZmaXggKm5nSWY9XCJzaG93QnV0dG9uc1wiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgW2NvbG9yXT1cIidwcmltYXJ5J1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJzYXZlRGlzYWJsZWRcIlxuICAgICAgICBbdGl0bGVdPVwiJ0NPTU1PTi5OQU1FRF9GSUxURVIuU0FWRScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAoY2xpY2spPVwic2F2ZSgpXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1pY29uPnNhdmU8L21hdC1pY29uPlxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJpc05ld1wiIGNsYXNzPVwiaWNvbi1zZWNvbmRhcnlcIiBzdHlsZT1cImxlZnQ6IDEycHg7IHRvcDogMHB4XCI+YWRkPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgW2Rpc2FibGVkXT1cImRlbGV0ZURpc2FibGVkXCJcbiAgICAgICAgW3RpdGxlXT1cIidDT01NT04uTkFNRURfRklMVEVSLkRFTEVURScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAoY2xpY2spPVwiZGVsZXRlKClcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1vcmVNZW51XCI+XG4gICAgICAgIDxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8bWF0LW1lbnUgI21vcmVNZW51PVwibWF0TWVudVwiPlxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImV4cG9ydCgpXCIgW2Rpc2FibGVkXT1cImlzTmV3XCI+XG4gICAgICAgICAgPGlvbi1sYWJlbD5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5maWxlX2Rvd25sb2FkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxzcGFuPnt7ICdDT01NT04uTkFNRURfRklMVEVSLkVYUE9SVCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImltcG9ydCgkZXZlbnQpXCI+XG4gICAgICAgICAgPGlvbi1sYWJlbD5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5maWxlX3VwbG9hZDwvbWF0LWljb24+XG4gICAgICAgICAgICA8c3Bhbj57eyAnQ09NTU9OLk5BTUVEX0ZJTFRFUi5JTVBPUlQnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDwvaW9uLWxhYmVsPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbWF0LW1lbnU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbWF0LWF1dG9jb21wbGV0ZS1maWVsZD5cbjwvZm9ybT5cbiJdfQ==
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Entity } from '../../core/services/model/entity.model';
|
|
3
|
+
import { EntityFilter } from '../../core/services/model/filter.model';
|
|
4
|
+
import { EntityClass } from '../../core/services/model/entity.decorators';
|
|
5
|
+
let NamedFilter = class NamedFilter extends Entity {
|
|
6
|
+
static fromObject;
|
|
7
|
+
name;
|
|
8
|
+
entityName;
|
|
9
|
+
content;
|
|
10
|
+
recorderPersonId;
|
|
11
|
+
recorderDepartmentId;
|
|
12
|
+
fromObject(source, opts) {
|
|
13
|
+
super.fromObject(source, opts);
|
|
14
|
+
this.name = source.name;
|
|
15
|
+
this.entityName = source.entityName;
|
|
16
|
+
this.recorderPersonId = source.recorderPersonId;
|
|
17
|
+
this.recorderDepartmentId = source.recorderDepartmentId;
|
|
18
|
+
try {
|
|
19
|
+
this.content = typeof source?.content === 'string' ? JSON.parse(source?.content) : source?.content || undefined;
|
|
20
|
+
}
|
|
21
|
+
catch (e) {
|
|
22
|
+
console.error(`[named-filter] can't parse content json`, source);
|
|
23
|
+
throw e;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
NamedFilter = __decorate([
|
|
28
|
+
EntityClass({ typename: 'NamedFilterVO' })
|
|
29
|
+
], NamedFilter);
|
|
30
|
+
export { NamedFilter };
|
|
31
|
+
let NamedFilterFilter = class NamedFilterFilter extends EntityFilter {
|
|
32
|
+
static fromObject;
|
|
33
|
+
searchText = null;
|
|
34
|
+
entityName = null;
|
|
35
|
+
recorderPersonId = null;
|
|
36
|
+
recorderDepartmentId = null;
|
|
37
|
+
fromObject(source, opts) {
|
|
38
|
+
super.fromObject(source, opts);
|
|
39
|
+
this.searchText = source.searchText;
|
|
40
|
+
this.entityName = source.entityName;
|
|
41
|
+
this.recorderPersonId = source.recorderPersonId;
|
|
42
|
+
this.recorderDepartmentId = source.recorderDepartmentId;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
NamedFilterFilter = __decorate([
|
|
46
|
+
EntityClass({ typename: 'NamedFilterFilterVO' })
|
|
47
|
+
], NamedFilterFilter);
|
|
48
|
+
export { NamedFilterFilter };
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZWQtZmlsdGVyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvbmFtZWQtZmlsdGVyL25hbWVkLWZpbHRlci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLE1BQU0sRUFBVSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxZQUFZLEVBQWdCLE1BQU0sd0NBQXdDLENBQUM7QUFDbkYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBV2pFLElBQU0sV0FBVyxHQUFqQixNQUFNLFdBQTJELFNBQVEsTUFBaUI7SUFDL0YsTUFBTSxDQUFDLFVBQVUsQ0FBMkM7SUFFNUQsSUFBSSxDQUFTO0lBQ2IsVUFBVSxDQUFTO0lBQ25CLE9BQU8sQ0FBTTtJQUNiLGdCQUFnQixDQUFTO0lBQ3pCLG9CQUFvQixDQUFTO0lBRTdCLFVBQVUsQ0FBQyxNQUFXLEVBQUUsSUFBVTtRQUNoQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDaEQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQztRQUN4RCxJQUFJO1lBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLE1BQU0sRUFBRSxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sSUFBSSxTQUFTLENBQUM7U0FDakg7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMseUNBQXlDLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDakUsTUFBTSxDQUFDLENBQUM7U0FDVDtJQUNILENBQUM7Q0FDRixDQUFBO0FBdEJZLFdBQVc7SUFEdkIsV0FBVyxDQUFDLEVBQUMsUUFBUSxFQUFFLGVBQWUsRUFBQyxDQUFDO0dBQzVCLFdBQVcsQ0FzQnZCOztBQVVNLElBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQ1gsU0FBUSxZQUFrQjtJQUMxQixNQUFNLENBQUMsVUFBVSxDQUFpRDtJQUVsRSxVQUFVLEdBQVcsSUFBSSxDQUFDO0lBQzFCLFVBQVUsR0FBVyxJQUFJLENBQUM7SUFDMUIsZ0JBQWdCLEdBQVcsSUFBSSxDQUFDO0lBQ2hDLG9CQUFvQixHQUFXLElBQUksQ0FBQztJQUVwQyxVQUFVLENBQUMsTUFBVyxFQUFFLElBQVU7UUFDaEMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUNwQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1FBQ2hELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUM7SUFDMUQsQ0FBQztDQUNGLENBQUE7QUFoQlksaUJBQWlCO0lBRDdCLFdBQVcsQ0FBQyxFQUFDLFFBQVEsRUFBRSxxQkFBcUIsRUFBQyxDQUFDO0dBQ2xDLGlCQUFpQixDQWdCN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VudGl0eSwgSUVudGl0eX0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHtFbnRpdHlGaWx0ZXIsIElFbnRpdHlGaWx0ZXJ9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvZmlsdGVyLm1vZGVsJztcbmltcG9ydCB7RW50aXR5Q2xhc3N9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvZW50aXR5LmRlY29yYXRvcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElOYW1lZEZpbHRlcjxUIGV4dGVuZHMgSU5hbWVkRmlsdGVyPFQ+PiBleHRlbmRzIElFbnRpdHk8VCwgbnVtYmVyPiB7XG4gIG5hbWU6IHN0cmluZztcbiAgZW50aXR5TmFtZTogc3RyaW5nO1xuICBjb250ZW50OiBhbnk7XG4gIHJlY29yZGVyUGVyc29uSWQ6IG51bWJlcjtcbiAgcmVjb3JkZXJEZXBhcnRtZW50SWQ6IG51bWJlcjtcbn1cblxuQEVudGl0eUNsYXNzKHt0eXBlbmFtZTogJ05hbWVkRmlsdGVyVk8nfSlcbmV4cG9ydCBjbGFzcyBOYW1lZEZpbHRlcjxUIGV4dGVuZHMgTmFtZWRGaWx0ZXI8YW55PiA9IE5hbWVkRmlsdGVyPGFueT4+IGV4dGVuZHMgRW50aXR5PFQsIG51bWJlcj4gaW1wbGVtZW50cyBJTmFtZWRGaWx0ZXI8VD4ge1xuICBzdGF0aWMgZnJvbU9iamVjdDogKHNvdXJjZTogYW55LCBvcHRzPzogYW55KSA9PiBOYW1lZEZpbHRlcjtcblxuICBuYW1lOiBzdHJpbmc7XG4gIGVudGl0eU5hbWU6IHN0cmluZztcbiAgY29udGVudDogYW55O1xuICByZWNvcmRlclBlcnNvbklkOiBudW1iZXI7XG4gIHJlY29yZGVyRGVwYXJ0bWVudElkOiBudW1iZXI7XG5cbiAgZnJvbU9iamVjdChzb3VyY2U6IGFueSwgb3B0cz86IGFueSkge1xuICAgIHN1cGVyLmZyb21PYmplY3Qoc291cmNlLCBvcHRzKTtcbiAgICB0aGlzLm5hbWUgPSBzb3VyY2UubmFtZTtcbiAgICB0aGlzLmVudGl0eU5hbWUgPSBzb3VyY2UuZW50aXR5TmFtZTtcbiAgICB0aGlzLnJlY29yZGVyUGVyc29uSWQgPSBzb3VyY2UucmVjb3JkZXJQZXJzb25JZDtcbiAgICB0aGlzLnJlY29yZGVyRGVwYXJ0bWVudElkID0gc291cmNlLnJlY29yZGVyRGVwYXJ0bWVudElkO1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmNvbnRlbnQgPSB0eXBlb2Ygc291cmNlPy5jb250ZW50ID09PSAnc3RyaW5nJyA/IEpTT04ucGFyc2Uoc291cmNlPy5jb250ZW50KSA6IHNvdXJjZT8uY29udGVudCB8fCB1bmRlZmluZWQ7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcihgW25hbWVkLWZpbHRlcl0gY2FuJ3QgcGFyc2UgY29udGVudCBqc29uYCwgc291cmNlKTtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU5hbWVkRmlsdGVyRmlsdGVyPEYgZXh0ZW5kcyBJTmFtZWRGaWx0ZXJGaWx0ZXI8YW55LCBUPiwgVCBleHRlbmRzIElOYW1lZEZpbHRlcjxUPj4gZXh0ZW5kcyBJRW50aXR5RmlsdGVyPEYsIFQ+IHtcbiAgc2VhcmNoVGV4dDogc3RyaW5nO1xuICBlbnRpdHlOYW1lOiBzdHJpbmc7XG4gIHJlY29yZGVyUGVyc29uSWQ6IG51bWJlcjtcbiAgcmVjb3JkZXJEZXBhcnRtZW50SWQ6IG51bWJlcjtcbn1cblxuQEVudGl0eUNsYXNzKHt0eXBlbmFtZTogJ05hbWVkRmlsdGVyRmlsdGVyVk8nfSlcbmV4cG9ydCBjbGFzcyBOYW1lZEZpbHRlckZpbHRlcjxGIGV4dGVuZHMgTmFtZWRGaWx0ZXJGaWx0ZXI8YW55LCBUPiA9IE5hbWVkRmlsdGVyRmlsdGVyPGFueSwgYW55PiwgVCBleHRlbmRzIE5hbWVkRmlsdGVyPGFueT4gPSBOYW1lZEZpbHRlcjxhbnk+PlxuICBleHRlbmRzIEVudGl0eUZpbHRlcjxGLCBUPiBpbXBsZW1lbnRzIElOYW1lZEZpbHRlckZpbHRlcjxGLCBUPiB7XG4gIHN0YXRpYyBmcm9tT2JqZWN0OiAoc291cmNlOiBhbnksIG9wdHM/OiBhbnkpID0+IE5hbWVkRmlsdGVyRmlsdGVyO1xuXG4gIHNlYXJjaFRleHQ6IHN0cmluZyA9IG51bGw7XG4gIGVudGl0eU5hbWU6IHN0cmluZyA9IG51bGw7XG4gIHJlY29yZGVyUGVyc29uSWQ6IG51bWJlciA9IG51bGw7XG4gIHJlY29yZGVyRGVwYXJ0bWVudElkOiBudW1iZXIgPSBudWxsO1xuXG4gIGZyb21PYmplY3Qoc291cmNlOiBhbnksIG9wdHM/OiBhbnkpIHtcbiAgICBzdXBlci5mcm9tT2JqZWN0KHNvdXJjZSwgb3B0cyk7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gc291cmNlLnNlYXJjaFRleHQ7XG4gICAgdGhpcy5lbnRpdHlOYW1lID0gc291cmNlLmVudGl0eU5hbWU7XG4gICAgdGhpcy5yZWNvcmRlclBlcnNvbklkID0gc291cmNlLnJlY29yZGVyUGVyc29uSWQ7XG4gICAgdGhpcy5yZWNvcmRlckRlcGFydG1lbnRJZCA9IHNvdXJjZS5yZWNvcmRlckRlcGFydG1lbnRJZDtcbiAgfVxufVxuIl19
|
|
@@ -9,11 +9,11 @@ import { SharedMaterialModule } from '../material/material.module';
|
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "@ngx-translate/core";
|
|
11
11
|
export class SharedNamedFilterModule {
|
|
12
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: SharedNamedFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: SharedNamedFilterModule, declarations: [NamedFilterSelector], imports: [CommonModule, IonicModule, i1.TranslateModule, SharedMatAutocompleteModule, ReactiveFormsModule, SharedMaterialModule], exports: [NamedFilterSelector] });
|
|
14
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: SharedNamedFilterModule, imports: [CommonModule, IonicModule, TranslateModule.forChild(), SharedMatAutocompleteModule, ReactiveFormsModule, SharedMaterialModule] });
|
|
12
15
|
}
|
|
13
|
-
|
|
14
|
-
SharedNamedFilterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SharedNamedFilterModule, declarations: [NamedFilterSelector], imports: [CommonModule, IonicModule, i1.TranslateModule, SharedMatAutocompleteModule, ReactiveFormsModule, SharedMaterialModule], exports: [NamedFilterSelector] });
|
|
15
|
-
SharedNamedFilterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SharedNamedFilterModule, imports: [CommonModule, IonicModule, TranslateModule.forChild(), SharedMatAutocompleteModule, ReactiveFormsModule, SharedMaterialModule] });
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SharedNamedFilterModule, decorators: [{
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: SharedNamedFilterModule, decorators: [{
|
|
17
17
|
type: NgModule,
|
|
18
18
|
args: [{
|
|
19
19
|
imports: [CommonModule, IonicModule, TranslateModule.forChild(), SharedMatAutocompleteModule, ReactiveFormsModule, SharedMaterialModule],
|
|
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
21
21
|
exports: [NamedFilterSelector],
|
|
22
22
|
}]
|
|
23
23
|
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZWQtZmlsdGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL25hbWVkLWZpbHRlci9uYW1lZC1maWx0ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDdEUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDbEcsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7OztBQU9qRSxNQUFNLE9BQU8sdUJBQXVCO3VHQUF2Qix1QkFBdUI7d0dBQXZCLHVCQUF1QixpQkFIbkIsbUJBQW1CLGFBRHhCLFlBQVksRUFBRSxXQUFXLHNCQUE4QiwyQkFBMkIsRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsYUFFN0gsbUJBQW1CO3dHQUVsQix1QkFBdUIsWUFKeEIsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLEVBQUUsMkJBQTJCLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9COzsyRkFJNUgsdUJBQXVCO2tCQUxuQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLDJCQUEyQixFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixDQUFDO29CQUN4SSxZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7SW9uaWNNb2R1bGV9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7TmFtZWRGaWx0ZXJTZWxlY3Rvcn0gZnJvbSAnLi9uYW1lZC1maWx0ZXItc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7U2hhcmVkTWF0QXV0b2NvbXBsZXRlTW9kdWxlfSBmcm9tICcuLi9tYXRlcmlhbC9hdXRvY29tcGxldGUvbWF0ZXJpYWwuYXV0b2NvbXBsZXRlLm1vZHVsZSc7XG5pbXBvcnQge1JlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7U2hhcmVkTWF0ZXJpYWxNb2R1bGV9IGZyb20gJy4uL21hdGVyaWFsL21hdGVyaWFsLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbmljTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSwgU2hhcmVkTWF0QXV0b2NvbXBsZXRlTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBTaGFyZWRNYXRlcmlhbE1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW05hbWVkRmlsdGVyU2VsZWN0b3JdLFxuICBleHBvcnRzOiBbTmFtZWRGaWx0ZXJTZWxlY3Rvcl0sXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlZE5hbWVkRmlsdGVyTW9kdWxlIHtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Directive, InjectionToken } from '@angular/core';
|
|
2
|
+
import { EntityUtils } from '../../core/services/model/entity.model';
|
|
3
|
+
import { BaseEntityService } from '../../core/services/base-entity-service.class';
|
|
4
|
+
import { isNil } from '../functions';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../core/graphql/graphql.service";
|
|
7
|
+
import * as i2 from "../../core/services/platform.service";
|
|
8
|
+
import * as i3 from "../../core/services/account.service";
|
|
9
|
+
export const APP_NAMED_FILTER_SERVICE = new InjectionToken('namedFilterService');
|
|
10
|
+
// @dynamic
|
|
11
|
+
export class AbstractNamedFilterService extends BaseEntityService {
|
|
12
|
+
graphql;
|
|
13
|
+
platform;
|
|
14
|
+
account;
|
|
15
|
+
dataType;
|
|
16
|
+
filterType;
|
|
17
|
+
options;
|
|
18
|
+
constructor(graphql, platform, account, dataType, filterType, options) {
|
|
19
|
+
super(graphql, platform, dataType, filterType, {
|
|
20
|
+
defaultSortBy: 'name',
|
|
21
|
+
defaultSortDirection: 'asc',
|
|
22
|
+
...options
|
|
23
|
+
});
|
|
24
|
+
this.graphql = graphql;
|
|
25
|
+
this.platform = platform;
|
|
26
|
+
this.account = account;
|
|
27
|
+
this.dataType = dataType;
|
|
28
|
+
this.filterType = filterType;
|
|
29
|
+
this.options = options;
|
|
30
|
+
this._logPrefix = '[named-filter-service] ';
|
|
31
|
+
}
|
|
32
|
+
async suggest(value, filter) {
|
|
33
|
+
if (EntityUtils.isNotEmpty(value, 'id'))
|
|
34
|
+
return { data: [value] };
|
|
35
|
+
value = (typeof value === 'string' && value !== '*' && value) || undefined;
|
|
36
|
+
return await this.loadAll(0, 1000, 'name', 'asc', this.asSuggestFilter(value, filter), {
|
|
37
|
+
withTotal: true,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
asSuggestFilter(searchText, filter) {
|
|
41
|
+
return {
|
|
42
|
+
...filter,
|
|
43
|
+
searchText
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
asFilter(source) {
|
|
47
|
+
const filter = super.asFilter(source);
|
|
48
|
+
// Default filter on current user
|
|
49
|
+
if (isNil(filter.recorderPersonId) && isNil(filter.recorderDepartmentId))
|
|
50
|
+
filter.recorderPersonId = this.account.person.id;
|
|
51
|
+
return filter;
|
|
52
|
+
}
|
|
53
|
+
fillDefaultProperties(source) {
|
|
54
|
+
super.fillDefaultProperties(source);
|
|
55
|
+
// Default recorder
|
|
56
|
+
if (isNil(source.recorderPersonId) && isNil(source.recorderDepartmentId))
|
|
57
|
+
source.recorderPersonId = this.account.person.id;
|
|
58
|
+
// Stringify content
|
|
59
|
+
if (typeof source.content === 'object') {
|
|
60
|
+
source.content = JSON.stringify(source.content);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbstractNamedFilterService, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
64
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: AbstractNamedFilterService, usesInheritance: true, ngImport: i0 });
|
|
65
|
+
}
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AbstractNamedFilterService, decorators: [{
|
|
67
|
+
type: Directive
|
|
68
|
+
}], ctorParameters: () => [{ type: i1.GraphqlService }, { type: i2.PlatformService }, { type: i3.AccountService }, { type: undefined }, { type: undefined }, { type: undefined }] });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZWQtZmlsdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9uYW1lZC1maWx0ZXIvbmFtZWQtZmlsdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBR25FLE9BQU8sRUFBQyxpQkFBaUIsRUFBMkIsTUFBTSwrQ0FBK0MsQ0FBQztBQUcxRyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDOzs7OztBQUduQyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FBZ0Msb0JBQW9CLENBQUMsQ0FBQztBQVFoSCxXQUFXO0FBRVgsTUFBTSxPQUFnQiwwQkFJcEIsU0FBUSxpQkFBK0I7SUFJM0I7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBTlosWUFDWSxPQUF1QixFQUN2QixRQUF5QixFQUN6QixPQUF1QixFQUN2QixRQUFvQixFQUNwQixVQUFzQixFQUN0QixPQUE0QztRQUV0RCxLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFO1lBQzdDLGFBQWEsRUFBRSxNQUFNO1lBQ3JCLG9CQUFvQixFQUFFLEtBQUs7WUFDM0IsR0FBRyxPQUFPO1NBQ1gsQ0FBQyxDQUFDO1FBWE8sWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsYUFBUSxHQUFSLFFBQVEsQ0FBWTtRQUNwQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQXFDO1FBT3RELElBQUksQ0FBQyxVQUFVLEdBQUcseUJBQXlCLENBQUM7SUFDOUMsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBVSxFQUFFLE1BQWtCO1FBQzFDLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDO1lBQUUsT0FBTyxFQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUM7UUFDaEUsS0FBSyxHQUFHLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksU0FBUyxDQUFDO1FBQzNFLE9BQU8sTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFDOUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQ1A7WUFDMUIsU0FBUyxFQUFFLElBQUk7U0FDaEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGVBQWUsQ0FBQyxVQUFrQixFQUFFLE1BQW1CO1FBQ3JELE9BQVU7WUFDUixHQUFHLE1BQU07WUFDVCxVQUFVO1NBQ1gsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNsQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXRDLGlDQUFpQztRQUNqQyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDO1lBQ3RFLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFFbkQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVTLHFCQUFxQixDQUFDLE1BQVM7UUFDdkMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXBDLG1CQUFtQjtRQUNuQixJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDO1lBQ3RFLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFFbkQsb0JBQW9CO1FBQ3BCLElBQUksT0FBTyxNQUFNLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFBRTtZQUN0QyxNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ2pEO0lBQ0gsQ0FBQzt1R0E3RG1CLDBCQUEwQjsyRkFBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUQvQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RW50aXR5VXRpbHN9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7RW50aXRpZXNTZXJ2aWNlTG9hZE9wdGlvbnMsIElFbnRpdGllc1NlcnZpY2UsIElFbnRpdHlTZXJ2aWNlLCBMb2FkUmVzdWx0LCBTdWdnZXN0U2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvZW50aXR5LXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHtHcmFwaHFsU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZS9ncmFwaHFsL2dyYXBocWwuc2VydmljZSc7XG5pbXBvcnQge0Jhc2VFbnRpdHlTZXJ2aWNlLCBCYXNlRW50aXR5U2VydmljZU9wdGlvbnN9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvYmFzZS1lbnRpdHktc2VydmljZS5jbGFzcyc7XG5pbXBvcnQge1BsYXRmb3JtU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9wbGF0Zm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7QWNjb3VudFNlcnZpY2V9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvYWNjb3VudC5zZXJ2aWNlJztcbmltcG9ydCB7aXNOaWx9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5pbXBvcnQge0lOYW1lZEZpbHRlciwgSU5hbWVkRmlsdGVyRmlsdGVyLCBOYW1lZEZpbHRlciwgTmFtZWRGaWx0ZXJGaWx0ZXJ9IGZyb20gJy4vbmFtZWQtZmlsdGVyLm1vZGVsJztcblxuZXhwb3J0IGNvbnN0IEFQUF9OQU1FRF9GSUxURVJfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJTmFtZWRGaWx0ZXJTZXJ2aWNlPGFueSwgYW55Pj4oJ25hbWVkRmlsdGVyU2VydmljZScpO1xuXG5leHBvcnQgaW50ZXJmYWNlIElOYW1lZEZpbHRlclNlcnZpY2U8VCBleHRlbmRzIElOYW1lZEZpbHRlcjxUPiwgRiBleHRlbmRzIElOYW1lZEZpbHRlckZpbHRlcjxGLCBUPj5cbiAgZXh0ZW5kcyBJRW50aXRpZXNTZXJ2aWNlPFQsIEY+LFxuICAgIElFbnRpdHlTZXJ2aWNlPFQsIG51bWJlcj4sXG4gICAgU3VnZ2VzdFNlcnZpY2U8VCwgRj4ge1xufVxuXG4vLyBAZHluYW1pY1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3ROYW1lZEZpbHRlclNlcnZpY2U8XG4gIFQgZXh0ZW5kcyBOYW1lZEZpbHRlcjxUPixcbiAgRiBleHRlbmRzIE5hbWVkRmlsdGVyRmlsdGVyPEYsIFQ+XG4+XG4gIGV4dGVuZHMgQmFzZUVudGl0eVNlcnZpY2U8VCwgRiwgbnVtYmVyPlxuICBpbXBsZW1lbnRzIElOYW1lZEZpbHRlclNlcnZpY2U8VCwgRj4ge1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgZ3JhcGhxbDogR3JhcGhxbFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHBsYXRmb3JtOiBQbGF0Zm9ybVNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGFjY291bnQ6IEFjY291bnRTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBkYXRhVHlwZTogbmV3KCkgPT4gVCxcbiAgICBwcm90ZWN0ZWQgZmlsdGVyVHlwZTogbmV3KCkgPT4gRixcbiAgICBwcm90ZWN0ZWQgb3B0aW9uczogQmFzZUVudGl0eVNlcnZpY2VPcHRpb25zPFQsIG51bWJlcj5cbiAgKSB7XG4gICAgc3VwZXIoZ3JhcGhxbCwgcGxhdGZvcm0sIGRhdGFUeXBlLCBmaWx0ZXJUeXBlLCB7XG4gICAgICBkZWZhdWx0U29ydEJ5OiAnbmFtZScsXG4gICAgICBkZWZhdWx0U29ydERpcmVjdGlvbjogJ2FzYycsXG4gICAgICAuLi5vcHRpb25zXG4gICAgfSk7XG4gICAgdGhpcy5fbG9nUHJlZml4ID0gJ1tuYW1lZC1maWx0ZXItc2VydmljZV0gJztcbiAgfVxuXG4gIGFzeW5jIHN1Z2dlc3QodmFsdWU6IGFueSwgZmlsdGVyOiBQYXJ0aWFsPEY+KTogUHJvbWlzZTxMb2FkUmVzdWx0PFQ+PiB7XG4gICAgaWYgKEVudGl0eVV0aWxzLmlzTm90RW1wdHkodmFsdWUsICdpZCcpKSByZXR1cm4ge2RhdGE6IFt2YWx1ZV19O1xuICAgIHZhbHVlID0gKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUgIT09ICcqJyAmJiB2YWx1ZSkgfHwgdW5kZWZpbmVkO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmxvYWRBbGwoMCwgMTAwMCwgJ25hbWUnLCAnYXNjJyxcbiAgICAgIHRoaXMuYXNTdWdnZXN0RmlsdGVyKHZhbHVlLCBmaWx0ZXIpLFxuICAgICAgPEVudGl0aWVzU2VydmljZUxvYWRPcHRpb25zPntcbiAgICAgICAgd2l0aFRvdGFsOiB0cnVlLFxuICAgICAgfSk7XG4gIH1cblxuICBhc1N1Z2dlc3RGaWx0ZXIoc2VhcmNoVGV4dDogc3RyaW5nLCBmaWx0ZXI/OiBQYXJ0aWFsPEY+KTogRiB7XG4gICAgcmV0dXJuIDxGPntcbiAgICAgIC4uLmZpbHRlcixcbiAgICAgIHNlYXJjaFRleHRcbiAgICB9O1xuICB9XG5cbiAgYXNGaWx0ZXIoc291cmNlOiBhbnkpOiBGIHtcbiAgICBjb25zdCBmaWx0ZXIgPSBzdXBlci5hc0ZpbHRlcihzb3VyY2UpO1xuXG4gICAgLy8gRGVmYXVsdCBmaWx0ZXIgb24gY3VycmVudCB1c2VyXG4gICAgaWYgKGlzTmlsKGZpbHRlci5yZWNvcmRlclBlcnNvbklkKSAmJiBpc05pbChmaWx0ZXIucmVjb3JkZXJEZXBhcnRtZW50SWQpKVxuICAgICAgZmlsdGVyLnJlY29yZGVyUGVyc29uSWQgPSB0aGlzLmFjY291bnQucGVyc29uLmlkO1xuXG4gICAgcmV0dXJuIGZpbHRlcjtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWxsRGVmYXVsdFByb3BlcnRpZXMoc291cmNlOiBUKSB7XG4gICAgc3VwZXIuZmlsbERlZmF1bHRQcm9wZXJ0aWVzKHNvdXJjZSk7XG5cbiAgICAvLyBEZWZhdWx0IHJlY29yZGVyXG4gICAgaWYgKGlzTmlsKHNvdXJjZS5yZWNvcmRlclBlcnNvbklkKSAmJiBpc05pbChzb3VyY2UucmVjb3JkZXJEZXBhcnRtZW50SWQpKVxuICAgICAgc291cmNlLnJlY29yZGVyUGVyc29uSWQgPSB0aGlzLmFjY291bnQucGVyc29uLmlkO1xuXG4gICAgLy8gU3RyaW5naWZ5IGNvbnRlbnRcbiAgICBpZiAodHlwZW9mIHNvdXJjZS5jb250ZW50ID09PSAnb2JqZWN0Jykge1xuICAgICAgc291cmNlLmNvbnRlbnQgPSBKU09OLnN0cmluZ2lmeShzb3VyY2UuY29udGVudCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -7,10 +7,10 @@ export class NotEmptyArrayPipe {
|
|
|
7
7
|
return false;
|
|
8
8
|
return val.length > 0;
|
|
9
9
|
}
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NotEmptyArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
11
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: NotEmptyArrayPipe, name: "isNotEmptyArray" });
|
|
10
12
|
}
|
|
11
|
-
|
|
12
|
-
NotEmptyArrayPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: NotEmptyArrayPipe, name: "isNotEmptyArray" });
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotEmptyArrayPipe, decorators: [{
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NotEmptyArrayPipe, decorators: [{
|
|
14
14
|
type: Pipe,
|
|
15
15
|
args: [{
|
|
16
16
|
name: 'isNotEmptyArray'
|
|
@@ -22,10 +22,10 @@ export class EmptyArrayPipe {
|
|
|
22
22
|
return true;
|
|
23
23
|
return val.length === 0;
|
|
24
24
|
}
|
|
25
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: EmptyArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
26
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: EmptyArrayPipe, name: "isEmptyArray" });
|
|
25
27
|
}
|
|
26
|
-
|
|
27
|
-
EmptyArrayPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: EmptyArrayPipe, name: "isEmptyArray" });
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EmptyArrayPipe, decorators: [{
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: EmptyArrayPipe, decorators: [{
|
|
29
29
|
type: Pipe,
|
|
30
30
|
args: [{
|
|
31
31
|
name: 'isEmptyArray'
|
|
@@ -46,10 +46,10 @@ export class ArrayLengthPipe {
|
|
|
46
46
|
}
|
|
47
47
|
return false;
|
|
48
48
|
}
|
|
49
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ArrayLengthPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
50
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: ArrayLengthPipe, name: "isArrayLength" });
|
|
49
51
|
}
|
|
50
|
-
|
|
51
|
-
ArrayLengthPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ArrayLengthPipe, name: "isArrayLength" });
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ArrayLengthPipe, decorators: [{
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ArrayLengthPipe, decorators: [{
|
|
53
53
|
type: Pipe,
|
|
54
54
|
args: [{
|
|
55
55
|
name: 'isArrayLength'
|
|
@@ -61,10 +61,10 @@ export class ArrayFirstPipe {
|
|
|
61
61
|
return null;
|
|
62
62
|
return val.length > 0 ? val[0] : null;
|
|
63
63
|
}
|
|
64
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ArrayFirstPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
65
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: ArrayFirstPipe, name: "arrayFirst" });
|
|
64
66
|
}
|
|
65
|
-
|
|
66
|
-
ArrayFirstPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ArrayFirstPipe, name: "arrayFirst" });
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ArrayFirstPipe, decorators: [{
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ArrayFirstPipe, decorators: [{
|
|
68
68
|
type: Pipe,
|
|
69
69
|
args: [{
|
|
70
70
|
name: 'arrayFirst'
|
|
@@ -84,10 +84,10 @@ export class ArrayPluckPipe {
|
|
|
84
84
|
val.map(value => getPropertyByPath(value, property)) :
|
|
85
85
|
val.map(value => getPropertyByPath(value, property)).filter(isNotNil);
|
|
86
86
|
}
|
|
87
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ArrayPluckPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
88
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: ArrayPluckPipe, name: "arrayPluck" });
|
|
87
89
|
}
|
|
88
|
-
|
|
89
|
-
ArrayPluckPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ArrayPluckPipe, name: "arrayPluck" });
|
|
90
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ArrayPluckPipe, decorators: [{
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ArrayPluckPipe, decorators: [{
|
|
91
91
|
type: Pipe,
|
|
92
92
|
args: [{
|
|
93
93
|
name: 'arrayPluck'
|
|
@@ -99,10 +99,10 @@ export class ArrayIncludesPipe {
|
|
|
99
99
|
return false;
|
|
100
100
|
return val && val.includes(searchElement, fromIndex) || false;
|
|
101
101
|
}
|
|
102
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ArrayIncludesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
103
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: ArrayIncludesPipe, name: "arrayIncludes" });
|
|
102
104
|
}
|
|
103
|
-
|
|
104
|
-
ArrayIncludesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ArrayIncludesPipe, name: "arrayIncludes" });
|
|
105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ArrayIncludesPipe, decorators: [{
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ArrayIncludesPipe, decorators: [{
|
|
106
106
|
type: Pipe,
|
|
107
107
|
args: [{
|
|
108
108
|
name: 'arrayIncludes'
|
|
@@ -114,10 +114,10 @@ export class ArrayFilterPipe {
|
|
|
114
114
|
return null;
|
|
115
115
|
return val.filter(filterFn);
|
|
116
116
|
}
|
|
117
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ArrayFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
118
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: ArrayFilterPipe, name: "arrayFilter" });
|
|
117
119
|
}
|
|
118
|
-
|
|
119
|
-
ArrayFilterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ArrayFilterPipe, name: "arrayFilter" });
|
|
120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ArrayFilterPipe, decorators: [{
|
|
120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ArrayFilterPipe, decorators: [{
|
|
121
121
|
type: Pipe,
|
|
122
122
|
args: [{
|
|
123
123
|
name: 'arrayFilter'
|
|
@@ -129,13 +129,13 @@ export class ArrayJoinPipe {
|
|
|
129
129
|
return '';
|
|
130
130
|
return val.join(separator) || '';
|
|
131
131
|
}
|
|
132
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ArrayJoinPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
133
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: ArrayJoinPipe, name: "arrayJoin" });
|
|
132
134
|
}
|
|
133
|
-
|
|
134
|
-
ArrayJoinPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ArrayJoinPipe, name: "arrayJoin" });
|
|
135
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ArrayJoinPipe, decorators: [{
|
|
135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ArrayJoinPipe, decorators: [{
|
|
136
136
|
type: Pipe,
|
|
137
137
|
args: [{
|
|
138
138
|
name: 'arrayJoin'
|
|
139
139
|
}]
|
|
140
140
|
}] });
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXlzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9waXBlcy9hcnJheXMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsUUFBUSxFQUFDLE1BQU0sY0FBYyxDQUFDOztBQUt6RCxNQUFNLE9BQU8saUJBQWlCO0lBRTFCLFNBQVMsQ0FBVSxHQUFrQjtRQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN0QyxPQUFPLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7dUdBTFEsaUJBQWlCO3FHQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBSDdCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGlCQUFpQjtpQkFDMUI7O0FBYUQsTUFBTSxPQUFPLGNBQWM7SUFFekIsU0FBUyxDQUFVLEdBQWtCO1FBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3JDLE9BQU8sR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQzt1R0FMVSxjQUFjO3FHQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBSDFCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGNBQWM7aUJBQ3JCOztBQWFELE1BQU0sT0FBTyxlQUFlO0lBRTFCLFNBQVMsQ0FBVSxHQUFrQixFQUFFLElBQW1FO1FBQ3hHLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2xCLE1BQU0sSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxD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LE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvQixDQUFDO3VHQUxVLGVBQWU7cUdBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFIM0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsYUFBYTtpQkFDcEI7O0FBWUQsTUFBTSxPQUFPLGFBQWE7SUFFeEIsU0FBUyxDQUFVLEdBQWtCLEVBQUUsU0FBaUI7UUFDdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDbkMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQyxDQUFDO3VHQUxVLGFBQWE7cUdBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFIekIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsV0FBVztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtnZXRQcm9wZXJ0eUJ5UGF0aCwgaXNOb3ROaWx9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnaXNOb3RFbXB0eUFycmF5J1xufSlcbmV4cG9ydCBjbGFzcyBOb3RFbXB0eUFycmF5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgdHJhbnNmb3JtPFQgPSBhbnk+KHZhbDogdW5rbm93biB8IFRbXSk6IGJvb2xlYW4ge1xuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbCkpIHJldHVybiBmYWxzZTtcbiAgICAgIHJldHVybiB2YWwubGVuZ3RoID4gMDtcbiAgICB9XG59XG5cblxuQFBpcGUoe1xuICBuYW1lOiAnaXNFbXB0eUFycmF5J1xufSlcbmV4cG9ydCBjbGFzcyBFbXB0eUFycmF5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybTxUID0gYW55Pih2YWw6IHVua25vd24gfCBUW10pOiBib29sZWFuIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsKSkgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuIHZhbC5sZW5ndGggPT09IDA7XG4gIH1cbn1cblxuXG5AUGlwZSh7XG4gIG5hbWU6ICdpc0FycmF5TGVuZ3RoJ1xufSlcbmV4cG9ydCBjbGFzcyBBcnJheUxlbmd0aFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm08VCA9IGFueT4odmFsOiB1bmtub3duIHwgVFtdLCBhcmdzPzogeyBncmVhdGVyVGhhbj86IG51bWJlcjsgZXF1YWxzPzogbnVtYmVyOyBsZXNzVGhhbj86IG51bWJlciB9KTogYm9vbGVhbiB7XG4gICAgYXJncyA9IGFyZ3MgfHwge307XG4gICAgY29uc3Qgc2l6ZSA9ICFBcnJheS5pc0FycmF5KHZhbCkgPyAwIDogdmFsLmxlbmd0aDtcbiAgICBpZiAoaXNOb3ROaWwoYXJncy5sZXNzVGhhbikpIHtcbiAgICAgIHJldHVybiBzaXplIDwgYXJncy5sZXNzVGhhbjtcbiAgICB9XG4gICAgaWYgKGlzTm90TmlsKGFyZ3MuZ3JlYXRlclRoYW4pKSB7XG4gICAgICByZXR1cm4gc2l6ZSA+IGFyZ3MuZ3JlYXRlclRoYW47XG4gICAgfVxuICAgIGlmIChpc05vdE5pbChhcmdzLmVxdWFscykpIHtcbiAgICAgIHJldHVybiBzaXplID09PSBhcmdzLmVxdWFscztcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2FycmF5Rmlyc3QnXG59KVxuZXhwb3J0IGNsYXNzIEFycmF5Rmlyc3RQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtPFQgPSBhbnk+KHZhbDogdW5rbm93biB8IFRbXSk6IFQgfCBudWxsIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsKSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHZhbC5sZW5ndGggPiAwID8gdmFsWzBdIDogbnVsbDtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdhcnJheVBsdWNrJ1xufSlcbmV4cG9ydCBjbGFzcyBBcnJheVBsdWNrUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gdmFsXG4gICAqIEBwYXJhbSBvcHRzIHByb3BlcnR5IHRvIGdldCwgb3Igb3B0aW9uc1xuICAgKi9cbiAgdHJhbnNmb3JtPFQgPSBhbnk+KHZhbDogdW5rbm93biB8IFRbXSwgb3B0czogc3RyaW5nIHwgc3RyaW5nW10gfCB7IHByb3BlcnR5OiBzdHJpbmd8c3RyaW5nW107IG9taXROaWw/OiBib29sZWFuIH0pOiBhbnlbXSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbCkgfHwgIW9wdHMpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IHByb3BlcnR5ID0gKHR5cGVvZiBvcHRzID09PSAnc3RyaW5nJykgfHwgQXJyYXkuaXNBcnJheShvcHRzKSA/IG9wdHMgYXMgc3RyaW5nfHN0cmluZ1tdIDogb3B0cy5wcm9wZXJ0eTtcbiAgICByZXR1cm4gKG9wdHNbJ29taXROaWwnXSAhPT0gdHJ1ZSkgP1xuICAgICAgdmFsLm1hcCh2YWx1ZSA9PiBnZXRQcm9wZXJ0eUJ5UGF0aCh2YWx1ZSwgcHJvcGVydHkpKSA6XG4gICAgICB2YWwubWFwKHZhbHVlID0+IGdldFByb3BlcnR5QnlQYXRoKHZhbHVlLCBwcm9wZXJ0eSkpLmZpbHRlcihpc05vdE5pbCk7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnYXJyYXlJbmNsdWRlcydcbn0pXG5leHBvcnQgY2xhc3MgQXJyYXlJbmNsdWRlc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm08VCA9IGFueT4odmFsOiB1bmtub3duIHwgVFtdLCBzZWFyY2hFbGVtZW50OiBULCBmcm9tSW5kZXg/OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsKSkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB2YWwgJiYgdmFsLmluY2x1ZGVzKHNlYXJjaEVsZW1lbnQsIGZyb21JbmRleCkgfHwgZmFsc2U7XG4gIH1cbn1cblxuXG5AUGlwZSh7XG4gIG5hbWU6ICdhcnJheUZpbHRlcidcbn0pXG5leHBvcnQgY2xhc3MgQXJyYXlGaWx0ZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgIHRyYW5zZm9ybTxUID0gYW55Pih2YWw6IHVua25vd24gfCBUW10sIGZpbHRlckZuOiAoVCkgPT4gYm9vbGVhbik6IFRbXSB8IG51bGwge1xuICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsKSkgcmV0dXJuIG51bGw7XG4gICAgIHJldHVybiB2YWwuZmlsdGVyKGZpbHRlckZuKTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdhcnJheUpvaW4nXG59KVxuZXhwb3J0IGNsYXNzIEFycmF5Sm9pblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm08VCA9IGFueT4odmFsOiB1bmtub3duIHwgVFtdLCBzZXBhcmF0b3I6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbCkpIHJldHVybiAnJztcbiAgICByZXR1cm4gdmFsLmpvaW4oc2VwYXJhdG9yKSB8fCAnJztcbiAgfVxufVxuIl19
|