@sumaris-net/ngx-components 18.23.62 → 21.0.0-rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/doc/build.md +3 -5
- package/fesm2022/sumaris-net.ngx-components.mjs +2383 -2150
- package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +15 -15
- package/src/assets/environments/environment-test.json +2 -2
- package/src/assets/i18n/en-US.json +4 -1
- package/src/assets/i18n/en.json +4 -1
- package/src/assets/i18n/fr.json +10 -6
- package/src/assets/manifest.json +1 -1
- package/src/theme/_icons.scss +8 -12
- package/src/theme/_ionic.globals.scss +8 -1
- package/src/theme/_material.globals.scss +4 -1
- package/src/theme/_material.scss +16 -13
- package/src/theme/_mixins.scss +7 -1
- package/src/theme/_ngx-components.forms.scss +87 -84
- package/src/theme/_ngx-components.globals.scss +2 -0
- package/src/theme/_ngx-components.scss +19 -4
- package/src/theme/_ngx-components.table.scss +31 -26
- package/src/theme/_ngx-components.tabs.scss +16 -14
- package/src/theme/_responsive.scss +2 -0
- package/src/theme/_roboto.scss +3 -0
- package/src/theme/_theme.scss +11 -14
- package/src/theme/_theme.variables.scss +6 -1
- package/src/theme/ionic/ionic.functions.color.scss +13 -5
- package/src/theme/ionic/ionic.globals.scss +4 -4
- package/src/theme/ionic/ionic.theme.default.scss +2 -0
- package/types/sumaris-net.ngx-components.d.ts +14132 -0
- package/esm2022/public_api.mjs +0 -403
- package/esm2022/src/app/admin/admin-routing.module.mjs +0 -34
- package/esm2022/src/app/admin/admin.module.mjs +0 -32
- package/esm2022/src/app/admin/users/person.filter.mjs +0 -157
- package/esm2022/src/app/admin/users/person.service.mjs +0 -226
- package/esm2022/src/app/admin/users/person.validator.mjs +0 -78
- package/esm2022/src/app/admin/users/users-select.modal.mjs +0 -167
- package/esm2022/src/app/admin/users/users.mjs +0 -502
- package/esm2022/src/app/admin/users/users.module.mjs +0 -59
- package/esm2022/src/app/admin/users/users.utils.mjs +0 -29
- package/esm2022/src/app/core/about/about.modal.mjs +0 -119
- package/esm2022/src/app/core/about/about.module.mjs +0 -22
- package/esm2022/src/app/core/account/account.module.mjs +0 -75
- package/esm2022/src/app/core/account/account.page.mjs +0 -426
- package/esm2022/src/app/core/account/new-token.form.mjs +0 -109
- package/esm2022/src/app/core/account/new-token.modal.mjs +0 -66
- package/esm2022/src/app/core/account/password/change-password.form.mjs +0 -63
- package/esm2022/src/app/core/account/password/change-password.module.mjs +0 -22
- package/esm2022/src/app/core/account/password/change-password.page.mjs +0 -150
- package/esm2022/src/app/core/account/token.table.mjs +0 -160
- package/esm2022/src/app/core/auth/auth.form.mjs +0 -159
- package/esm2022/src/app/core/auth/auth.modal.mjs +0 -76
- package/esm2022/src/app/core/auth/auth.module.mjs +0 -56
- package/esm2022/src/app/core/auth/reset-password.modal.mjs +0 -89
- package/esm2022/src/app/core/core.module.mjs +0 -157
- package/esm2022/src/app/core/core.testing.module.mjs +0 -128
- package/esm2022/src/app/core/form/array/form-array.mjs +0 -328
- package/esm2022/src/app/core/form/array/testing/form-array-test.module.mjs +0 -23
- package/esm2022/src/app/core/form/array/testing/form-array.test.mjs +0 -97
- package/esm2022/src/app/core/form/buttons/form-buttons-bar.component.mjs +0 -111
- package/esm2022/src/app/core/form/buttons/form-buttons-bar.module.mjs +0 -31
- package/esm2022/src/app/core/form/entity/editor.class.mjs +0 -268
- package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +0 -420
- package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +0 -748
- package/esm2022/src/app/core/form/entity/entity-metadata.component.mjs +0 -25
- package/esm2022/src/app/core/form/entity/entity.module.mjs +0 -33
- package/esm2022/src/app/core/form/entity/tab-editor.class.mjs +0 -190
- package/esm2022/src/app/core/form/form-container.class.mjs +0 -347
- package/esm2022/src/app/core/form/form.class.mjs +0 -342
- package/esm2022/src/app/core/form/form.module.mjs +0 -77
- package/esm2022/src/app/core/form/form.utils.mjs +0 -238
- package/esm2022/src/app/core/form/list/list.form.mjs +0 -243
- package/esm2022/src/app/core/form/list/list.module.mjs +0 -31
- package/esm2022/src/app/core/form/properties/properties-file.service.mjs +0 -133
- package/esm2022/src/app/core/form/properties/properties.form.mjs +0 -397
- package/esm2022/src/app/core/form/properties/properties.module.mjs +0 -85
- package/esm2022/src/app/core/form/properties/properties.table.mjs +0 -267
- package/esm2022/src/app/core/form/properties/properties.utils.mjs +0 -304
- package/esm2022/src/app/core/form/properties/property.validator.mjs +0 -70
- package/esm2022/src/app/core/form/properties/testing/properties-form.test.mjs +0 -103
- package/esm2022/src/app/core/form/properties/testing/properties-form.testing.module.mjs +0 -23
- package/esm2022/src/app/core/form/text/testing/text-form.testing.mjs +0 -42
- package/esm2022/src/app/core/form/text/testing/text-form.testing.module.mjs +0 -25
- package/esm2022/src/app/core/form/text/text-form.component.mjs +0 -205
- package/esm2022/src/app/core/form/text/text-form.module.mjs +0 -31
- package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.mjs +0 -73
- package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +0 -22
- package/esm2022/src/app/core/form/text-popover/text-popover.component.mjs +0 -164
- package/esm2022/src/app/core/form/text-popover/text-popover.module.mjs +0 -32
- package/esm2022/src/app/core/form/username/username.form.mjs +0 -55
- package/esm2022/src/app/core/form/username/username.module.mjs +0 -20
- package/esm2022/src/app/core/graphql/graphql.module.mjs +0 -14
- package/esm2022/src/app/core/graphql/graphql.service.mjs +0 -781
- package/esm2022/src/app/core/graphql/graphql.utils.mjs +0 -119
- package/esm2022/src/app/core/home/home.mjs +0 -472
- package/esm2022/src/app/core/home/home.module.mjs +0 -54
- package/esm2022/src/app/core/icon/icon.component.mjs +0 -40
- package/esm2022/src/app/core/icon/icon.module.mjs +0 -20
- package/esm2022/src/app/core/install/install-upgrade-card.component.mjs +0 -394
- package/esm2022/src/app/core/install/install-upgrade-card.module.mjs +0 -31
- package/esm2022/src/app/core/menu/menu.component.mjs +0 -273
- package/esm2022/src/app/core/menu/menu.model.mjs +0 -327
- package/esm2022/src/app/core/menu/menu.module.mjs +0 -47
- package/esm2022/src/app/core/menu/menu.service.mjs +0 -666
- package/esm2022/src/app/core/menu/sub-menu-tab.directive.mjs +0 -113
- package/esm2022/src/app/core/menu/testing/menu-other.testing.mjs +0 -51
- package/esm2022/src/app/core/menu/testing/menu.testing.mjs +0 -165
- package/esm2022/src/app/core/menu/testing/menu.testing.module.mjs +0 -60
- package/esm2022/src/app/core/offline/update-offline-mode-card.component.mjs +0 -28
- package/esm2022/src/app/core/offline/update-offline-mode-card.module.mjs +0 -31
- package/esm2022/src/app/core/peer/select-peer.modal.mjs +0 -350
- package/esm2022/src/app/core/peer/select-peer.module.mjs +0 -36
- package/esm2022/src/app/core/register/register-confirm.page.mjs +0 -90
- package/esm2022/src/app/core/register/register.form.mjs +0 -197
- package/esm2022/src/app/core/register/register.modal.mjs +0 -55
- package/esm2022/src/app/core/register/register.module.mjs +0 -23
- package/esm2022/src/app/core/services/account.service.mjs +0 -1403
- package/esm2022/src/app/core/services/auth-guard.service.mjs +0 -74
- package/esm2022/src/app/core/services/base-entity-service.class.mjs +0 -499
- package/esm2022/src/app/core/services/base-graphql-service.class.mjs +0 -224
- package/esm2022/src/app/core/services/base58.mjs +0 -83
- package/esm2022/src/app/core/services/config/core.config.mjs +0 -293
- package/esm2022/src/app/core/services/config.service.mjs +0 -384
- package/esm2022/src/app/core/services/crypto.service.mjs +0 -107
- package/esm2022/src/app/core/services/errors.mjs +0 -54
- package/esm2022/src/app/core/services/local-settings.service.mjs +0 -540
- package/esm2022/src/app/core/services/model/account.model.mjs +0 -192
- package/esm2022/src/app/core/services/model/config.model.mjs +0 -111
- package/esm2022/src/app/core/services/model/department.model.mjs +0 -35
- package/esm2022/src/app/core/services/model/entity.decorators.mjs +0 -97
- package/esm2022/src/app/core/services/model/entity.model.mjs +0 -347
- package/esm2022/src/app/core/services/model/filter.model.mjs +0 -169
- package/esm2022/src/app/core/services/model/history.model.mjs +0 -2
- package/esm2022/src/app/core/services/model/model.enum.mjs +0 -11
- package/esm2022/src/app/core/services/model/node-feature.model.mjs +0 -31
- package/esm2022/src/app/core/services/model/peer.model.mjs +0 -114
- package/esm2022/src/app/core/services/model/person.model.mjs +0 -118
- package/esm2022/src/app/core/services/model/referential.model.mjs +0 -207
- package/esm2022/src/app/core/services/model/settings.model.mjs +0 -6
- package/esm2022/src/app/core/services/model/token.model.mjs +0 -57
- package/esm2022/src/app/core/services/model/tree-item-entity.model.mjs +0 -234
- package/esm2022/src/app/core/services/network.service.mjs +0 -759
- package/esm2022/src/app/core/services/network.types.mjs +0 -2
- package/esm2022/src/app/core/services/network.utils.mjs +0 -35
- package/esm2022/src/app/core/services/pipes/account.pipes.mjs +0 -38
- package/esm2022/src/app/core/services/pipes/department-to-string.pipe.mjs +0 -23
- package/esm2022/src/app/core/services/pipes/person-to-string.pipe.mjs +0 -23
- package/esm2022/src/app/core/services/pipes/pipes.module.mjs +0 -58
- package/esm2022/src/app/core/services/pipes/referential-to-string.pipe.mjs +0 -36
- package/esm2022/src/app/core/services/pipes/usage-mode.pipes.mjs +0 -37
- package/esm2022/src/app/core/services/platform.service.mjs +0 -780
- package/esm2022/src/app/core/services/storage/entities-storage.service.mjs +0 -427
- package/esm2022/src/app/core/services/storage/entity-store.class.mjs +0 -450
- package/esm2022/src/app/core/services/testing/referential-filter.model.mjs +0 -25
- package/esm2022/src/app/core/services/testing/referential.validator.mjs +0 -46
- package/esm2022/src/app/core/services/validator/account.validator.mjs +0 -46
- package/esm2022/src/app/core/services/validator/base.validator.class.mjs +0 -49
- package/esm2022/src/app/core/services/validator/local-settings.validator.mjs +0 -57
- package/esm2022/src/app/core/services/validator/user-settings.validator.mjs +0 -27
- package/esm2022/src/app/core/services/validator/user-token.validator.mjs +0 -55
- package/esm2022/src/app/core/settings/settings.module.mjs +0 -23
- package/esm2022/src/app/core/settings/settings.page.mjs +0 -406
- package/esm2022/src/app/core/table/async-table.class.mjs +0 -1882
- package/esm2022/src/app/core/table/column/actions-column.component.mjs +0 -137
- package/esm2022/src/app/core/table/column/nav-actions-column.component.mjs +0 -120
- package/esm2022/src/app/core/table/column/row-field.component.mjs +0 -116
- package/esm2022/src/app/core/table/entities-async-table-datasource.class.mjs +0 -415
- package/esm2022/src/app/core/table/entities-table-datasource.class.mjs +0 -407
- package/esm2022/src/app/core/table/memory-table.class.mjs +0 -57
- package/esm2022/src/app/core/table/table-select-columns.component.mjs +0 -46
- package/esm2022/src/app/core/table/table.class.mjs +0 -1918
- package/esm2022/src/app/core/table/table.model.mjs +0 -21
- package/esm2022/src/app/core/table/table.module.mjs +0 -51
- package/esm2022/src/app/core/table/table.pipes.mjs +0 -76
- package/esm2022/src/app/core/table/table.utils.mjs +0 -34
- package/esm2022/src/app/core/table/testing/nested-table.testing.mjs +0 -326
- package/esm2022/src/app/core/table/testing/table-validator.service.mjs +0 -32
- package/esm2022/src/app/core/table/testing/table.testing.mjs +0 -342
- package/esm2022/src/app/core/table/testing/table.testing.module.mjs +0 -47
- package/esm2022/src/app/core/table/testing/table2-validator.service.mjs +0 -25
- package/esm2022/src/app/core/table/testing/table2.testing.mjs +0 -322
- package/esm2022/src/app/shared/alerts.mjs +0 -243
- package/esm2022/src/app/shared/audio/audio.mjs +0 -255
- package/esm2022/src/app/shared/audio/audio.testing.mjs +0 -32
- package/esm2022/src/app/shared/audio/audio.testing.module.mjs +0 -30
- package/esm2022/src/app/shared/base64.utils.mjs +0 -59
- package/esm2022/src/app/shared/capacitor/keyboard.mjs +0 -42
- package/esm2022/src/app/shared/capacitor/plugins.mjs +0 -10
- package/esm2022/src/app/shared/constants.mjs +0 -18
- package/esm2022/src/app/shared/dates.mjs +0 -212
- package/esm2022/src/app/shared/debug/debug-service.class.mjs +0 -3
- package/esm2022/src/app/shared/debug/debug.component.mjs +0 -44
- package/esm2022/src/app/shared/debug/debug.module.mjs +0 -23
- package/esm2022/src/app/shared/directives/autofocus.directive.mjs +0 -91
- package/esm2022/src/app/shared/directives/autoresize.directive.mjs +0 -75
- package/esm2022/src/app/shared/directives/autotitle.directive.mjs +0 -30
- package/esm2022/src/app/shared/directives/autotooltip.directive.mjs +0 -35
- package/esm2022/src/app/shared/directives/cell-selection/cell-identifier.directive.mjs +0 -55
- package/esm2022/src/app/shared/directives/cell-selection/cell-selection.directive.mjs +0 -206
- package/esm2022/src/app/shared/directives/cell-selection/cell-selection.service.mjs +0 -204
- package/esm2022/src/app/shared/directives/directives.module.mjs +0 -53
- package/esm2022/src/app/shared/directives/drag-and-drop.directive.mjs +0 -52
- package/esm2022/src/app/shared/directives/ng-var.directive.mjs +0 -33
- package/esm2022/src/app/shared/directives/resizable/resizable.component.mjs +0 -62
- package/esm2022/src/app/shared/directives/resizable/resizable.directive.mjs +0 -96
- package/esm2022/src/app/shared/directives/resizable/resizable.module.mjs +0 -17
- package/esm2022/src/app/shared/directives/throttled-click.directive.mjs +0 -43
- package/esm2022/src/app/shared/events.mjs +0 -64
- package/esm2022/src/app/shared/file/csv.utils.mjs +0 -97
- package/esm2022/src/app/shared/file/file.service.mjs +0 -118
- package/esm2022/src/app/shared/file/file.utils.mjs +0 -117
- package/esm2022/src/app/shared/file/images.utils.mjs +0 -186
- package/esm2022/src/app/shared/file/json.utils.mjs +0 -58
- package/esm2022/src/app/shared/file/uri.utils.mjs +0 -29
- package/esm2022/src/app/shared/file/url.utils.mjs +0 -213
- package/esm2022/src/app/shared/focusable.mjs +0 -6
- package/esm2022/src/app/shared/form/field.component.mjs +0 -388
- package/esm2022/src/app/shared/form/field.model.mjs +0 -100
- package/esm2022/src/app/shared/form/loading-spinner.mjs +0 -35
- package/esm2022/src/app/shared/forms.mjs +0 -593
- package/esm2022/src/app/shared/functions.mjs +0 -825
- package/esm2022/src/app/shared/geolocation/geolocation.utils.mjs +0 -94
- package/esm2022/src/app/shared/gesture/gesture-config.mjs +0 -46
- package/esm2022/src/app/shared/gesture/hammer.utils.mjs +0 -2
- package/esm2022/src/app/shared/graph/colors.utils.mjs +0 -85
- package/esm2022/src/app/shared/graph/graph-colors.mjs +0 -214
- package/esm2022/src/app/shared/guard/component-dirty.guard.mjs +0 -68
- package/esm2022/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +0 -23
- package/esm2022/src/app/shared/hotkeys/hotkeys.service.mjs +0 -147
- package/esm2022/src/app/shared/hotkeys/shared-hotkeys.module.mjs +0 -24
- package/esm2022/src/app/shared/html.utils.mjs +0 -35
- package/esm2022/src/app/shared/http/http.utils.mjs +0 -56
- package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +0 -452
- package/esm2022/src/app/shared/image/gallery/image-gallery.module.mjs +0 -62
- package/esm2022/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +0 -26
- package/esm2022/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +0 -92
- package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.mjs +0 -37
- package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +0 -59
- package/esm2022/src/app/shared/image/image.model.mjs +0 -2
- package/esm2022/src/app/shared/image/image.module.mjs +0 -24
- package/esm2022/src/app/shared/image/image.service.mjs +0 -117
- package/esm2022/src/app/shared/inputs.mjs +0 -281
- package/esm2022/src/app/shared/interceptors/progess.interceptor.mjs +0 -27
- package/esm2022/src/app/shared/logging/log-level.model.mjs +0 -48
- package/esm2022/src/app/shared/logging/logger.model.mjs +0 -47
- package/esm2022/src/app/shared/logging/logging-service.class.mjs +0 -125
- package/esm2022/src/app/shared/logging/logging-service.config.mjs +0 -2
- package/esm2022/src/app/shared/logging/logging-service.module.mjs +0 -30
- package/esm2022/src/app/shared/markdown/markdown.component.mjs +0 -321
- package/esm2022/src/app/shared/markdown/markdown.directive.mjs +0 -34
- package/esm2022/src/app/shared/markdown/markdown.modal.mjs +0 -99
- package/esm2022/src/app/shared/markdown/markdown.module.mjs +0 -87
- package/esm2022/src/app/shared/markdown/markdown.service.mjs +0 -204
- package/esm2022/src/app/shared/markdown/markdown.utils.mjs +0 -87
- package/esm2022/src/app/shared/markdown/testing/markdown.test.mjs +0 -55
- package/esm2022/src/app/shared/markdown/testing/markdown.testing.module.mjs +0 -30
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +0 -46
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +0 -1356
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +0 -81
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +0 -18
- package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +0 -242
- package/esm2022/src/app/shared/material/badge/badge.directive.mjs +0 -251
- package/esm2022/src/app/shared/material/badge/badge.module.mjs +0 -20
- package/esm2022/src/app/shared/material/badge/badge.test.mjs +0 -42
- package/esm2022/src/app/shared/material/boolean/boolean.module.mjs +0 -70
- package/esm2022/src/app/shared/material/boolean/material.boolean.mjs +0 -374
- package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +0 -83
- package/esm2022/src/app/shared/material/chips/chips.module.mjs +0 -74
- package/esm2022/src/app/shared/material/chips/material.chips.mjs +0 -843
- package/esm2022/src/app/shared/material/chips/testing/chips.test.mjs +0 -151
- package/esm2022/src/app/shared/material/datetime/datetime.module.mjs +0 -79
- package/esm2022/src/app/shared/material/datetime/material.date.mjs +0 -473
- package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +0 -457
- package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +0 -850
- package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +0 -140
- package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +0 -127
- package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +0 -118
- package/esm2022/src/app/shared/material/duration/duration.module.mjs +0 -61
- package/esm2022/src/app/shared/material/duration/duration.utils.mjs +0 -16
- package/esm2022/src/app/shared/material/duration/material.duration.mjs +0 -283
- package/esm2022/src/app/shared/material/duration/testing/mat-duration.test.mjs +0 -85
- package/esm2022/src/app/shared/material/latlong/latlong.utils.mjs +0 -319
- package/esm2022/src/app/shared/material/latlong/material.latlong-input.mjs +0 -471
- package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +0 -231
- package/esm2022/src/app/shared/material/latlong/material.latlong.module.mjs +0 -68
- package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +0 -138
- package/esm2022/src/app/shared/material/material.animations.mjs +0 -200
- package/esm2022/src/app/shared/material/material.config.mjs +0 -3
- package/esm2022/src/app/shared/material/material.module.mjs +0 -224
- package/esm2022/src/app/shared/material/material.testing.module.mjs +0 -234
- package/esm2022/src/app/shared/material/paginator/material.paginator-i18n.mjs +0 -51
- package/esm2022/src/app/shared/material/stepper/material.stepper-i18n.mjs +0 -23
- package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +0 -379
- package/esm2022/src/app/shared/material/swipe/swipe.module.mjs +0 -52
- package/esm2022/src/app/shared/material/swipe/testing/swipe.test.mjs +0 -67
- package/esm2022/src/app/shared/material/test/test-component.mjs +0 -264
- package/esm2022/src/app/shared/material/testing/common.test.mjs +0 -111
- package/esm2022/src/app/shared/modules.mjs +0 -12
- package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +0 -306
- package/esm2022/src/app/shared/named-filter/named-filter.model.mjs +0 -49
- package/esm2022/src/app/shared/named-filter/named-filter.module.mjs +0 -24
- package/esm2022/src/app/shared/named-filter/named-filter.service.mjs +0 -69
- package/esm2022/src/app/shared/named-filter/testing/named-filter-selector.testing.mjs +0 -74
- package/esm2022/src/app/shared/named-filter/testing/named-filter.testing.module.mjs +0 -28
- package/esm2022/src/app/shared/observables.mjs +0 -104
- package/esm2022/src/app/shared/pipes/arrays.pipe.mjs +0 -251
- package/esm2022/src/app/shared/pipes/badge.pipes.mjs +0 -25
- package/esm2022/src/app/shared/pipes/colors.pipe.mjs +0 -29
- package/esm2022/src/app/shared/pipes/date-diff-duration.pipe.mjs +0 -50
- package/esm2022/src/app/shared/pipes/date-format.pipe.mjs +0 -72
- package/esm2022/src/app/shared/pipes/date-from-now.pipe.mjs +0 -28
- package/esm2022/src/app/shared/pipes/date-from.pipe.mjs +0 -29
- package/esm2022/src/app/shared/pipes/dates.pipe.mjs +0 -18
- package/esm2022/src/app/shared/pipes/display-with.pipe.mjs +0 -23
- package/esm2022/src/app/shared/pipes/duration.pipe.mjs +0 -34
- package/esm2022/src/app/shared/pipes/file-size.pipe.mjs +0 -53
- package/esm2022/src/app/shared/pipes/form.pipes.mjs +0 -219
- package/esm2022/src/app/shared/pipes/highlight.pipe.mjs +0 -50
- package/esm2022/src/app/shared/pipes/html.pipes.mjs +0 -102
- package/esm2022/src/app/shared/pipes/latlong-format.pipe.mjs +0 -42
- package/esm2022/src/app/shared/pipes/maps.pipe.mjs +0 -65
- package/esm2022/src/app/shared/pipes/maskito.pipe.mjs +0 -67
- package/esm2022/src/app/shared/pipes/math.pipes.mjs +0 -77
- package/esm2022/src/app/shared/pipes/ng-init.pipe.mjs +0 -19
- package/esm2022/src/app/shared/pipes/number-format.pipe.mjs +0 -17
- package/esm2022/src/app/shared/pipes/observable.pipes.mjs +0 -63
- package/esm2022/src/app/shared/pipes/pipes.module.mjs +0 -304
- package/esm2022/src/app/shared/pipes/property.pipes.mjs +0 -148
- package/esm2022/src/app/shared/pipes/selection.pipes.mjs +0 -177
- package/esm2022/src/app/shared/pipes/string.pipes.mjs +0 -183
- package/esm2022/src/app/shared/pipes/translate-context.pipe.mjs +0 -44
- package/esm2022/src/app/shared/pipes/types.pipes.mjs +0 -74
- package/esm2022/src/app/shared/pipes/url.pipes.mjs +0 -35
- package/esm2022/src/app/shared/platforms.mjs +0 -81
- package/esm2022/src/app/shared/print/print.service.mjs +0 -305
- package/esm2022/src/app/shared/regexps.mjs +0 -103
- package/esm2022/src/app/shared/rx-state/rx-state.decorators.mjs +0 -193
- package/esm2022/src/app/shared/rx-state/rx-state.module.mjs +0 -19
- package/esm2022/src/app/shared/rx-state/rx-state.types.mjs +0 -2
- package/esm2022/src/app/shared/services/entity-service.class.mjs +0 -44
- package/esm2022/src/app/shared/services/job.utils.mjs +0 -92
- package/esm2022/src/app/shared/services/memory-entity-service.class.mjs +0 -362
- package/esm2022/src/app/shared/services/progress-bar.service.mjs +0 -31
- package/esm2022/src/app/shared/services/startable-observable-service.class.mjs +0 -144
- package/esm2022/src/app/shared/services/startable-service.class.mjs +0 -118
- package/esm2022/src/app/shared/services/translate-context.service.mjs +0 -107
- package/esm2022/src/app/shared/services/validator-service.class.mjs +0 -2
- package/esm2022/src/app/shared/services.mjs +0 -85
- package/esm2022/src/app/shared/shared-routing.module.mjs +0 -72
- package/esm2022/src/app/shared/shared.module.mjs +0 -229
- package/esm2022/src/app/shared/shared.testing.module.mjs +0 -108
- package/esm2022/src/app/shared/storage/storage-explorer.component.mjs +0 -281
- package/esm2022/src/app/shared/storage/storage-explorer.module.mjs +0 -42
- package/esm2022/src/app/shared/storage/storage-explorer.testing-routing.module.mjs +0 -27
- package/esm2022/src/app/shared/storage/storage-explorer.testing.module.mjs +0 -25
- package/esm2022/src/app/shared/storage/storage.service.mjs +0 -134
- package/esm2022/src/app/shared/storage/storage.utils.mjs +0 -13
- package/esm2022/src/app/shared/testing/maskito.test.mjs +0 -41
- package/esm2022/src/app/shared/testing/observable.test.mjs +0 -94
- package/esm2022/src/app/shared/testing/tests.page.mjs +0 -37
- package/esm2022/src/app/shared/toast/toast.testing.mjs +0 -54
- package/esm2022/src/app/shared/toast/toast.testing.module.mjs +0 -31
- package/esm2022/src/app/shared/toast/toasts.mjs +0 -134
- package/esm2022/src/app/shared/toolbar/modal-toolbar.mjs +0 -62
- package/esm2022/src/app/shared/toolbar/toolbar.mjs +0 -272
- package/esm2022/src/app/shared/toolbar/toolbar.module.mjs +0 -26
- package/esm2022/src/app/shared/types.mjs +0 -2
- package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.mjs +0 -59
- package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +0 -30
- package/esm2022/src/app/shared/upload-file/upload-file-popover.component.mjs +0 -108
- package/esm2022/src/app/shared/upload-file/upload-file.component.mjs +0 -216
- package/esm2022/src/app/shared/upload-file/upload-file.model.mjs +0 -26
- package/esm2022/src/app/shared/validator/form-error-adapter.class.mjs +0 -122
- package/esm2022/src/app/shared/validator/validators.mjs +0 -658
- package/esm2022/src/app/shared/version/versions.mjs +0 -81
- package/esm2022/src/app/social/config/social.config.mjs +0 -9
- package/esm2022/src/app/social/feed/feed.component.mjs +0 -317
- package/esm2022/src/app/social/feed/feed.directive.mjs +0 -151
- package/esm2022/src/app/social/feed/feed.model.mjs +0 -60
- package/esm2022/src/app/social/feed/feed.module.mjs +0 -24
- package/esm2022/src/app/social/feed/feed.page.mjs +0 -67
- package/esm2022/src/app/social/feed/feed.service.mjs +0 -222
- package/esm2022/src/app/social/feed/testing/feed.testing.mjs +0 -66
- package/esm2022/src/app/social/feed/testing/feed.testing.module.mjs +0 -23
- package/esm2022/src/app/social/job/job.module.mjs +0 -23
- package/esm2022/src/app/social/job/progression/job-progression.component.mjs +0 -38
- package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +0 -241
- package/esm2022/src/app/social/job/progression/job-progression.list.mjs +0 -50
- package/esm2022/src/app/social/job/progression/job-progression.model.mjs +0 -29
- package/esm2022/src/app/social/job/progression/job-progression.service.mjs +0 -91
- package/esm2022/src/app/social/job/testing/job-progression.testing.mjs +0 -38
- package/esm2022/src/app/social/job/testing/job-progression.testing.service.mjs +0 -34
- package/esm2022/src/app/social/job/testing/job.testing.module.mjs +0 -22
- package/esm2022/src/app/social/message/message.form.mjs +0 -149
- package/esm2022/src/app/social/message/message.modal.mjs +0 -116
- package/esm2022/src/app/social/message/message.model.mjs +0 -86
- package/esm2022/src/app/social/message/message.module.mjs +0 -25
- package/esm2022/src/app/social/message/message.service.mjs +0 -198
- package/esm2022/src/app/social/social.errors.mjs +0 -11
- package/esm2022/src/app/social/social.module.mjs +0 -22
- package/esm2022/src/app/social/social.testing.module.mjs +0 -72
- package/esm2022/src/app/social/user-event/notification/user-event-notification.icon.mjs +0 -191
- package/esm2022/src/app/social/user-event/notification/user-event-notification.list.mjs +0 -280
- package/esm2022/src/app/social/user-event/notification/user-event-notification.modal.mjs +0 -84
- package/esm2022/src/app/social/user-event/testing/user-event.testing.mjs +0 -273
- package/esm2022/src/app/social/user-event/testing/user-event.testing.model.mjs +0 -129
- package/esm2022/src/app/social/user-event/testing/user-event.testing.module.mjs +0 -22
- package/esm2022/src/app/social/user-event/testing/user-event.testing.service.mjs +0 -128
- package/esm2022/src/app/social/user-event/user-event.model.mjs +0 -2
- package/esm2022/src/app/social/user-event/user-event.module.mjs +0 -24
- package/esm2022/src/app/social/user-event/user-event.service.mjs +0 -512
- package/esm2022/src/environments/environment.class.mjs +0 -69
- package/esm2022/src/environments/environment.loader.mjs +0 -77
- package/esm2022/src/environments/environment.mjs +0 -133
- package/esm2022/sumaris-net.ngx-components.mjs +0 -5
- package/index.d.ts +0 -5
- package/public_api.d.ts +0 -364
- package/src/app/admin/admin-routing.module.d.ts +0 -9
- package/src/app/admin/admin.module.d.ts +0 -10
- package/src/app/admin/users/person.filter.d.ts +0 -37
- package/src/app/admin/users/person.service.d.ts +0 -61
- package/src/app/admin/users/person.validator.d.ts +0 -23
- package/src/app/admin/users/users-select.modal.d.ts +0 -73
- package/src/app/admin/users/users.d.ts +0 -89
- package/src/app/admin/users/users.module.d.ts +0 -15
- package/src/app/admin/users/users.utils.d.ts +0 -6
- package/src/app/core/about/about.modal.d.ts +0 -44
- package/src/app/core/about/about.module.d.ts +0 -11
- package/src/app/core/account/account.module.d.ts +0 -18
- package/src/app/core/account/account.page.d.ts +0 -93
- package/src/app/core/account/new-token.form.d.ts +0 -30
- package/src/app/core/account/new-token.modal.d.ts +0 -29
- package/src/app/core/account/password/change-password.form.d.ts +0 -19
- package/src/app/core/account/password/change-password.module.d.ts +0 -11
- package/src/app/core/account/password/change-password.page.d.ts +0 -36
- package/src/app/core/account/token.table.d.ts +0 -28
- package/src/app/core/auth/auth.form.d.ts +0 -38
- package/src/app/core/auth/auth.modal.d.ts +0 -24
- package/src/app/core/auth/auth.module.d.ts +0 -13
- package/src/app/core/auth/reset-password.modal.d.ts +0 -29
- package/src/app/core/core.module.d.ts +0 -28
- package/src/app/core/core.testing.module.d.ts +0 -16
- package/src/app/core/form/array/form-array.d.ts +0 -147
- package/src/app/core/form/array/testing/form-array-test.module.d.ts +0 -12
- package/src/app/core/form/array/testing/form-array.test.d.ts +0 -27
- package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +0 -38
- package/src/app/core/form/buttons/form-buttons-bar.module.d.ts +0 -9
- package/src/app/core/form/entity/editor.class.d.ts +0 -85
- package/src/app/core/form/entity/entity-editor-modal.class.d.ts +0 -126
- package/src/app/core/form/entity/entity-editor.class.d.ts +0 -211
- package/src/app/core/form/entity/entity-metadata.component.d.ts +0 -13
- package/src/app/core/form/entity/entity.module.d.ts +0 -11
- package/src/app/core/form/entity/tab-editor.class.d.ts +0 -66
- package/src/app/core/form/form-container.class.d.ts +0 -131
- package/src/app/core/form/form.class.d.ts +0 -148
- package/src/app/core/form/form.module.d.ts +0 -15
- package/src/app/core/form/form.utils.d.ts +0 -301
- package/src/app/core/form/list/list.form.d.ts +0 -83
- package/src/app/core/form/list/list.module.d.ts +0 -9
- package/src/app/core/form/properties/properties-file.service.d.ts +0 -26
- package/src/app/core/form/properties/properties.form.d.ts +0 -109
- package/src/app/core/form/properties/properties.module.d.ts +0 -18
- package/src/app/core/form/properties/properties.table.d.ts +0 -73
- package/src/app/core/form/properties/properties.utils.d.ts +0 -59
- package/src/app/core/form/properties/property.validator.d.ts +0 -27
- package/src/app/core/form/properties/testing/properties-form.test.d.ts +0 -22
- package/src/app/core/form/properties/testing/properties-form.testing.module.d.ts +0 -12
- package/src/app/core/form/text/testing/text-form.testing.d.ts +0 -19
- package/src/app/core/form/text/testing/text-form.testing.module.d.ts +0 -14
- package/src/app/core/form/text/text-form.component.d.ts +0 -66
- package/src/app/core/form/text/text-form.module.d.ts +0 -9
- package/src/app/core/form/text-popover/testing/text-popover.testing.d.ts +0 -16
- package/src/app/core/form/text-popover/testing/text-popover.testing.module.d.ts +0 -11
- package/src/app/core/form/text-popover/text-popover.component.d.ts +0 -81
- package/src/app/core/form/text-popover/text-popover.module.d.ts +0 -10
- package/src/app/core/form/username/username.form.d.ts +0 -19
- package/src/app/core/form/username/username.module.d.ts +0 -9
- package/src/app/core/graphql/graphql.module.d.ts +0 -7
- package/src/app/core/graphql/graphql.service.d.ts +0 -138
- package/src/app/core/graphql/graphql.utils.d.ts +0 -47
- package/src/app/core/home/home.d.ts +0 -135
- package/src/app/core/home/home.module.d.ts +0 -16
- package/src/app/core/icon/icon.component.d.ts +0 -13
- package/src/app/core/icon/icon.module.d.ts +0 -9
- package/src/app/core/install/install-upgrade-card.component.d.ts +0 -63
- package/src/app/core/install/install-upgrade-card.module.d.ts +0 -9
- package/src/app/core/menu/menu.component.d.ts +0 -69
- package/src/app/core/menu/menu.model.d.ts +0 -161
- package/src/app/core/menu/menu.module.d.ts +0 -12
- package/src/app/core/menu/menu.service.d.ts +0 -93
- package/src/app/core/menu/sub-menu-tab.directive.d.ts +0 -29
- package/src/app/core/menu/testing/menu-other.testing.d.ts +0 -15
- package/src/app/core/menu/testing/menu.testing.d.ts +0 -53
- package/src/app/core/menu/testing/menu.testing.module.d.ts +0 -12
- package/src/app/core/offline/update-offline-mode-card.component.d.ts +0 -11
- package/src/app/core/offline/update-offline-mode-card.module.d.ts +0 -9
- package/src/app/core/peer/select-peer.modal.d.ts +0 -108
- package/src/app/core/peer/select-peer.module.d.ts +0 -12
- package/src/app/core/register/register-confirm.page.d.ts +0 -24
- package/src/app/core/register/register.form.d.ts +0 -49
- package/src/app/core/register/register.modal.d.ts +0 -14
- package/src/app/core/register/register.module.d.ts +0 -12
- package/src/app/core/services/account.service.d.ts +0 -236
- package/src/app/core/services/auth-guard.service.d.ts +0 -17
- package/src/app/core/services/base-entity-service.class.d.ts +0 -134
- package/src/app/core/services/base-graphql-service.class.d.ts +0 -77
- package/src/app/core/services/base58.d.ts +0 -7
- package/src/app/core/services/config/core.config.d.ts +0 -52
- package/src/app/core/services/config.service.d.ts +0 -63
- package/src/app/core/services/crypto.service.d.ts +0 -44
- package/src/app/core/services/errors.d.ts +0 -65
- package/src/app/core/services/local-settings.service.d.ts +0 -130
- package/src/app/core/services/model/account.model.d.ts +0 -66
- package/src/app/core/services/model/config.model.d.ts +0 -37
- package/src/app/core/services/model/department.model.d.ts +0 -11
- package/src/app/core/services/model/entity.decorators.d.ts +0 -17
- package/src/app/core/services/model/entity.model.d.ts +0 -133
- package/src/app/core/services/model/filter.model.d.ts +0 -37
- package/src/app/core/services/model/history.model.d.ts +0 -20
- package/src/app/core/services/model/model.enum.d.ts +0 -7
- package/src/app/core/services/model/node-feature.model.d.ts +0 -14
- package/src/app/core/services/model/peer.model.d.ts +0 -35
- package/src/app/core/services/model/person.model.d.ts +0 -39
- package/src/app/core/services/model/referential.model.d.ts +0 -85
- package/src/app/core/services/model/settings.model.d.ts +0 -29
- package/src/app/core/services/model/token.model.d.ts +0 -22
- package/src/app/core/services/model/tree-item-entity.model.d.ts +0 -62
- package/src/app/core/services/network.service.d.ts +0 -184
- package/src/app/core/services/network.types.d.ts +0 -4
- package/src/app/core/services/network.utils.d.ts +0 -39
- package/src/app/core/services/pipes/account.pipes.d.ts +0 -15
- package/src/app/core/services/pipes/department-to-string.pipe.d.ts +0 -9
- package/src/app/core/services/pipes/person-to-string.pipe.d.ts +0 -11
- package/src/app/core/services/pipes/pipes.module.d.ts +0 -11
- package/src/app/core/services/pipes/referential-to-string.pipe.d.ts +0 -23
- package/src/app/core/services/pipes/usage-mode.pipes.d.ts +0 -15
- package/src/app/core/services/platform.service.d.ts +0 -126
- package/src/app/core/services/storage/entities-storage.service.d.ts +0 -108
- package/src/app/core/services/storage/entity-store.class.d.ts +0 -113
- package/src/app/core/services/testing/referential-filter.model.d.ts +0 -9
- package/src/app/core/services/testing/referential.validator.d.ts +0 -22
- package/src/app/core/services/validator/account.validator.d.ts +0 -24
- package/src/app/core/services/validator/base.validator.class.d.ts +0 -21
- package/src/app/core/services/validator/local-settings.validator.d.ts +0 -18
- package/src/app/core/services/validator/user-settings.validator.d.ts +0 -10
- package/src/app/core/services/validator/user-token.validator.d.ts +0 -13
- package/src/app/core/settings/settings.module.d.ts +0 -12
- package/src/app/core/settings/settings.page.d.ts +0 -89
- package/src/app/core/table/async-table.class.d.ts +0 -443
- package/src/app/core/table/column/actions-column.component.d.ts +0 -65
- package/src/app/core/table/column/nav-actions-column.component.d.ts +0 -47
- package/src/app/core/table/column/row-field.component.d.ts +0 -41
- package/src/app/core/table/entities-async-table-datasource.class.d.ts +0 -103
- package/src/app/core/table/entities-table-datasource.class.d.ts +0 -102
- package/src/app/core/table/memory-table.class.d.ts +0 -25
- package/src/app/core/table/table-select-columns.component.d.ts +0 -22
- package/src/app/core/table/table.class.d.ts +0 -427
- package/src/app/core/table/table.model.d.ts +0 -31
- package/src/app/core/table/table.module.d.ts +0 -14
- package/src/app/core/table/table.pipes.d.ts +0 -30
- package/src/app/core/table/table.utils.d.ts +0 -13
- package/src/app/core/table/testing/nested-table.testing.d.ts +0 -54
- package/src/app/core/table/testing/table-validator.service.d.ts +0 -17
- package/src/app/core/table/testing/table.testing.d.ts +0 -55
- package/src/app/core/table/testing/table.testing.module.d.ts +0 -17
- package/src/app/core/table/testing/table2-validator.service.d.ts +0 -15
- package/src/app/core/table/testing/table2.testing.d.ts +0 -53
- package/src/app/shared/alerts.d.ts +0 -55
- package/src/app/shared/audio/audio.d.ts +0 -45
- package/src/app/shared/audio/audio.testing.d.ts +0 -13
- package/src/app/shared/audio/audio.testing.module.d.ts +0 -11
- package/src/app/shared/base64.utils.d.ts +0 -7
- package/src/app/shared/capacitor/keyboard.d.ts +0 -16
- package/src/app/shared/capacitor/plugins.d.ts +0 -8
- package/src/app/shared/constants.d.ts +0 -15
- package/src/app/shared/dates.d.ts +0 -85
- package/src/app/shared/debug/debug-service.class.d.ts +0 -5
- package/src/app/shared/debug/debug.component.d.ts +0 -14
- package/src/app/shared/debug/debug.module.d.ts +0 -12
- package/src/app/shared/directives/autofocus.directive.d.ts +0 -18
- package/src/app/shared/directives/autoresize.directive.d.ts +0 -20
- package/src/app/shared/directives/autotitle.directive.d.ts +0 -11
- package/src/app/shared/directives/autotooltip.directive.d.ts +0 -14
- package/src/app/shared/directives/cell-selection/cell-identifier.directive.d.ts +0 -17
- package/src/app/shared/directives/cell-selection/cell-selection.directive.d.ts +0 -29
- package/src/app/shared/directives/cell-selection/cell-selection.service.d.ts +0 -67
- package/src/app/shared/directives/directives.module.d.ts +0 -15
- package/src/app/shared/directives/drag-and-drop.directive.d.ts +0 -17
- package/src/app/shared/directives/ng-var.directive.d.ts +0 -12
- package/src/app/shared/directives/resizable/resizable.component.d.ts +0 -21
- package/src/app/shared/directives/resizable/resizable.directive.d.ts +0 -24
- package/src/app/shared/directives/resizable/resizable.module.d.ts +0 -8
- package/src/app/shared/directives/throttled-click.directive.d.ts +0 -16
- package/src/app/shared/events.d.ts +0 -29
- package/src/app/shared/file/csv.utils.d.ts +0 -30
- package/src/app/shared/file/file.service.d.ts +0 -23
- package/src/app/shared/file/file.utils.d.ts +0 -20
- package/src/app/shared/file/images.utils.d.ts +0 -36
- package/src/app/shared/file/json.utils.d.ts +0 -19
- package/src/app/shared/file/uri.utils.d.ts +0 -8
- package/src/app/shared/file/url.utils.d.ts +0 -108
- package/src/app/shared/focusable.d.ts +0 -4
- package/src/app/shared/form/field.component.d.ts +0 -83
- package/src/app/shared/form/field.model.d.ts +0 -88
- package/src/app/shared/form/loading-spinner.d.ts +0 -8
- package/src/app/shared/forms.d.ts +0 -170
- package/src/app/shared/functions.d.ts +0 -296
- package/src/app/shared/geolocation/geolocation.utils.d.ts +0 -25
- package/src/app/shared/gesture/gesture-config.d.ts +0 -15
- package/src/app/shared/gesture/hammer.utils.d.ts +0 -16
- package/src/app/shared/graph/colors.utils.d.ts +0 -34
- package/src/app/shared/graph/graph-colors.d.ts +0 -63
- package/src/app/shared/guard/component-dirty.guard.d.ts +0 -14
- package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.d.ts +0 -8
- package/src/app/shared/hotkeys/hotkeys.service.d.ts +0 -48
- package/src/app/shared/hotkeys/shared-hotkeys.module.d.ts +0 -11
- package/src/app/shared/html.utils.d.ts +0 -17
- package/src/app/shared/http/http.utils.d.ts +0 -28
- package/src/app/shared/image/gallery/image-gallery.component.d.ts +0 -139
- package/src/app/shared/image/gallery/image-gallery.module.d.ts +0 -15
- package/src/app/shared/image/gallery/testing/gallegry.model.testing.d.ts +0 -12
- package/src/app/shared/image/gallery/testing/gallery.service.testing.d.ts +0 -33
- package/src/app/shared/image/gallery/testing/gallery.testing.d.ts +0 -16
- package/src/app/shared/image/gallery/testing/gallery.testing.module.d.ts +0 -13
- package/src/app/shared/image/image.model.d.ts +0 -7
- package/src/app/shared/image/image.module.d.ts +0 -8
- package/src/app/shared/image/image.service.d.ts +0 -37
- package/src/app/shared/inputs.d.ts +0 -37
- package/src/app/shared/interceptors/progess.interceptor.d.ts +0 -8
- package/src/app/shared/logging/log-level.model.d.ts +0 -38
- package/src/app/shared/logging/logger.model.d.ts +0 -68
- package/src/app/shared/logging/logging-service.class.d.ts +0 -39
- package/src/app/shared/logging/logging-service.config.d.ts +0 -25
- package/src/app/shared/logging/logging-service.module.d.ts +0 -9
- package/src/app/shared/markdown/markdown.component.d.ts +0 -86
- package/src/app/shared/markdown/markdown.directive.d.ts +0 -13
- package/src/app/shared/markdown/markdown.modal.d.ts +0 -49
- package/src/app/shared/markdown/markdown.module.d.ts +0 -17
- package/src/app/shared/markdown/markdown.service.d.ts +0 -37
- package/src/app/shared/markdown/markdown.utils.d.ts +0 -26
- package/src/app/shared/markdown/testing/markdown.test.d.ts +0 -18
- package/src/app/shared/markdown/testing/markdown.testing.module.d.ts +0 -12
- package/src/app/shared/material/autocomplete/material.autocomplete.config.d.ts +0 -74
- package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +0 -224
- package/src/app/shared/material/autocomplete/material.autocomplete.module.d.ts +0 -23
- package/src/app/shared/material/autocomplete/material.autocomplete.utils.d.ts +0 -5
- package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +0 -48
- package/src/app/shared/material/badge/badge.directive.d.ts +0 -43
- package/src/app/shared/material/badge/badge.module.d.ts +0 -10
- package/src/app/shared/material/badge/badge.test.d.ts +0 -21
- package/src/app/shared/material/boolean/boolean.module.d.ts +0 -21
- package/src/app/shared/material/boolean/material.boolean.d.ts +0 -94
- package/src/app/shared/material/boolean/testing/boolean.test.page.d.ts +0 -31
- package/src/app/shared/material/chips/chips.module.d.ts +0 -22
- package/src/app/shared/material/chips/material.chips.d.ts +0 -167
- package/src/app/shared/material/chips/testing/chips.test.d.ts +0 -32
- package/src/app/shared/material/datetime/datetime.module.d.ts +0 -25
- package/src/app/shared/material/datetime/material.date.d.ts +0 -90
- package/src/app/shared/material/datetime/material.dateshort.d.ts +0 -89
- package/src/app/shared/material/datetime/material.datetime.d.ts +0 -136
- package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +0 -38
- package/src/app/shared/material/datetime/testing/mat-date.test.d.ts +0 -32
- package/src/app/shared/material/datetime/testing/mat-dateshort.test.d.ts +0 -31
- package/src/app/shared/material/duration/duration.module.d.ts +0 -18
- package/src/app/shared/material/duration/duration.utils.d.ts +0 -2
- package/src/app/shared/material/duration/material.duration.d.ts +0 -64
- package/src/app/shared/material/duration/testing/mat-duration.test.d.ts +0 -23
- package/src/app/shared/material/latlong/latlong.utils.d.ts +0 -59
- package/src/app/shared/material/latlong/material.latlong-input.d.ts +0 -93
- package/src/app/shared/material/latlong/material.latlong.d.ts +0 -90
- package/src/app/shared/material/latlong/material.latlong.module.d.ts +0 -21
- package/src/app/shared/material/latlong/testing/latlong.test.d.ts +0 -30
- package/src/app/shared/material/material.animations.d.ts +0 -8
- package/src/app/shared/material/material.config.d.ts +0 -3
- package/src/app/shared/material/material.module.d.ts +0 -44
- package/src/app/shared/material/material.testing.module.d.ts +0 -31
- package/src/app/shared/material/paginator/material.paginator-i18n.d.ts +0 -12
- package/src/app/shared/material/stepper/material.stepper-i18n.d.ts +0 -10
- package/src/app/shared/material/swipe/material.swipe.d.ts +0 -89
- package/src/app/shared/material/swipe/swipe.module.d.ts +0 -16
- package/src/app/shared/material/swipe/testing/swipe.test.d.ts +0 -22
- package/src/app/shared/material/test/test-component.d.ts +0 -75
- package/src/app/shared/material/testing/common.test.d.ts +0 -25
- package/src/app/shared/modules.d.ts +0 -9
- package/src/app/shared/named-filter/named-filter-selector.component.d.ts +0 -63
- package/src/app/shared/named-filter/named-filter.model.d.ts +0 -32
- package/src/app/shared/named-filter/named-filter.module.d.ts +0 -13
- package/src/app/shared/named-filter/named-filter.service.d.ts +0 -32
- package/src/app/shared/named-filter/testing/named-filter-selector.testing.d.ts +0 -34
- package/src/app/shared/named-filter/testing/named-filter.testing.module.d.ts +0 -10
- package/src/app/shared/observables.d.ts +0 -32
- package/src/app/shared/pipes/arrays.pipe.d.ts +0 -93
- package/src/app/shared/pipes/badge.pipes.d.ts +0 -7
- package/src/app/shared/pipes/colors.pipe.d.ts +0 -9
- package/src/app/shared/pipes/date-diff-duration.pipe.d.ts +0 -25
- package/src/app/shared/pipes/date-format.pipe.d.ts +0 -35
- package/src/app/shared/pipes/date-from-now.pipe.d.ts +0 -14
- package/src/app/shared/pipes/date-from.pipe.d.ts +0 -14
- package/src/app/shared/pipes/dates.pipe.d.ts +0 -10
- package/src/app/shared/pipes/display-with.pipe.d.ts +0 -8
- package/src/app/shared/pipes/duration.pipe.d.ts +0 -23
- package/src/app/shared/pipes/file-size.pipe.d.ts +0 -30
- package/src/app/shared/pipes/form.pipes.d.ts +0 -69
- package/src/app/shared/pipes/highlight.pipe.d.ts +0 -11
- package/src/app/shared/pipes/html.pipes.d.ts +0 -50
- package/src/app/shared/pipes/latlong-format.pipe.d.ts +0 -20
- package/src/app/shared/pipes/maps.pipe.d.ts +0 -23
- package/src/app/shared/pipes/maskito.pipe.d.ts +0 -14
- package/src/app/shared/pipes/math.pipes.d.ts +0 -26
- package/src/app/shared/pipes/ng-init.pipe.d.ts +0 -8
- package/src/app/shared/pipes/number-format.pipe.d.ts +0 -9
- package/src/app/shared/pipes/observable.pipes.d.ts +0 -25
- package/src/app/shared/pipes/pipes.module.d.ts +0 -36
- package/src/app/shared/pipes/property.pipes.d.ts +0 -46
- package/src/app/shared/pipes/selection.pipes.d.ts +0 -62
- package/src/app/shared/pipes/string.pipes.d.ts +0 -67
- package/src/app/shared/pipes/translate-context.pipe.d.ts +0 -17
- package/src/app/shared/pipes/types.pipes.d.ts +0 -30
- package/src/app/shared/pipes/url.pipes.d.ts +0 -27
- package/src/app/shared/platforms.d.ts +0 -16
- package/src/app/shared/print/print.service.d.ts +0 -94
- package/src/app/shared/regexps.d.ts +0 -32
- package/src/app/shared/rx-state/rx-state.decorators.d.ts +0 -33
- package/src/app/shared/rx-state/rx-state.module.d.ts +0 -10
- package/src/app/shared/rx-state/rx-state.types.d.ts +0 -5
- package/src/app/shared/services/entity-service.class.d.ts +0 -117
- package/src/app/shared/services/job.utils.d.ts +0 -20
- package/src/app/shared/services/memory-entity-service.class.d.ts +0 -87
- package/src/app/shared/services/progress-bar.service.d.ts +0 -20
- package/src/app/shared/services/startable-observable-service.class.d.ts +0 -51
- package/src/app/shared/services/startable-service.class.d.ts +0 -38
- package/src/app/shared/services/translate-context.service.d.ts +0 -29
- package/src/app/shared/services/validator-service.class.d.ts +0 -11
- package/src/app/shared/services.d.ts +0 -17
- package/src/app/shared/shared-routing.module.d.ts +0 -23
- package/src/app/shared/shared.module.d.ts +0 -33
- package/src/app/shared/shared.testing.module.d.ts +0 -20
- package/src/app/shared/storage/storage-explorer.component.d.ts +0 -60
- package/src/app/shared/storage/storage-explorer.module.d.ts +0 -13
- package/src/app/shared/storage/storage-explorer.testing-routing.module.d.ts +0 -9
- package/src/app/shared/storage/storage-explorer.testing.module.d.ts +0 -10
- package/src/app/shared/storage/storage.service.d.ts +0 -22
- package/src/app/shared/storage/storage.utils.d.ts +0 -19
- package/src/app/shared/testing/maskito.test.d.ts +0 -10
- package/src/app/shared/testing/observable.test.d.ts +0 -25
- package/src/app/shared/testing/tests.page.d.ts +0 -20
- package/src/app/shared/toast/toast.testing.d.ts +0 -15
- package/src/app/shared/toast/toast.testing.module.d.ts +0 -12
- package/src/app/shared/toast/toasts.d.ts +0 -16
- package/src/app/shared/toolbar/modal-toolbar.d.ts +0 -21
- package/src/app/shared/toolbar/toolbar.d.ts +0 -70
- package/src/app/shared/toolbar/toolbar.module.d.ts +0 -16
- package/src/app/shared/types.d.ts +0 -45
- package/src/app/shared/upload-file/testing/upload-file.testing.d.ts +0 -21
- package/src/app/shared/upload-file/testing/upload-file.testing.module.d.ts +0 -11
- package/src/app/shared/upload-file/upload-file-popover.component.d.ts +0 -41
- package/src/app/shared/upload-file/upload-file.component.d.ts +0 -50
- package/src/app/shared/upload-file/upload-file.model.d.ts +0 -30
- package/src/app/shared/validator/form-error-adapter.class.d.ts +0 -33
- package/src/app/shared/validator/validators.d.ts +0 -145
- package/src/app/shared/version/versions.d.ts +0 -26
- package/src/app/social/config/social.config.d.ts +0 -4
- package/src/app/social/feed/feed.component.d.ts +0 -91
- package/src/app/social/feed/feed.directive.d.ts +0 -32
- package/src/app/social/feed/feed.model.d.ts +0 -69
- package/src/app/social/feed/feed.module.d.ts +0 -13
- package/src/app/social/feed/feed.page.d.ts +0 -24
- package/src/app/social/feed/feed.service.d.ts +0 -85
- package/src/app/social/feed/testing/feed.testing.d.ts +0 -23
- package/src/app/social/feed/testing/feed.testing.module.d.ts +0 -12
- package/src/app/social/job/job.module.d.ts +0 -12
- package/src/app/social/job/progression/job-progression.component.d.ts +0 -24
- package/src/app/social/job/progression/job-progression.icon.d.ts +0 -63
- package/src/app/social/job/progression/job-progression.list.d.ts +0 -20
- package/src/app/social/job/progression/job-progression.model.d.ts +0 -10
- package/src/app/social/job/progression/job-progression.service.d.ts +0 -33
- package/src/app/social/job/testing/job-progression.testing.d.ts +0 -13
- package/src/app/social/job/testing/job-progression.testing.service.d.ts +0 -9
- package/src/app/social/job/testing/job.testing.module.d.ts +0 -11
- package/src/app/social/message/message.form.d.ts +0 -36
- package/src/app/social/message/message.modal.d.ts +0 -47
- package/src/app/social/message/message.model.d.ts +0 -36
- package/src/app/social/message/message.module.d.ts +0 -14
- package/src/app/social/message/message.service.d.ts +0 -44
- package/src/app/social/social.errors.d.ts +0 -10
- package/src/app/social/social.module.d.ts +0 -20
- package/src/app/social/social.testing.module.d.ts +0 -14
- package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +0 -47
- package/src/app/social/user-event/notification/user-event-notification.list.d.ts +0 -77
- package/src/app/social/user-event/notification/user-event-notification.modal.d.ts +0 -37
- package/src/app/social/user-event/testing/user-event.testing.d.ts +0 -44
- package/src/app/social/user-event/testing/user-event.testing.model.d.ts +0 -42
- package/src/app/social/user-event/testing/user-event.testing.module.d.ts +0 -11
- package/src/app/social/user-event/testing/user-event.testing.service.d.ts +0 -41
- package/src/app/social/user-event/user-event.model.d.ts +0 -44
- package/src/app/social/user-event/user-event.module.d.ts +0 -14
- package/src/app/social/user-event/user-event.service.d.ts +0 -124
- package/src/environments/environment.class.d.ts +0 -86
- package/src/environments/environment.d.ts +0 -2
- package/src/environments/environment.loader.d.ts +0 -24
- package/src/theme/_globals.scss +0 -5
|
@@ -1,327 +0,0 @@
|
|
|
1
|
-
var MenuItem_1;
|
|
2
|
-
import { __decorate } from "tslib";
|
|
3
|
-
import { isNilOrBlank, isNotNil, isNotNilOrBlank, toBoolean, toInt } from '../../shared/functions';
|
|
4
|
-
import { BehaviorSubject } from 'rxjs';
|
|
5
|
-
import { AccountUtils } from '../services/model/account.model';
|
|
6
|
-
import { Entity } from '../services/model/entity.model';
|
|
7
|
-
import { EntityClass } from '../services/model/entity.decorators';
|
|
8
|
-
// @dynamic
|
|
9
|
-
let MenuItem = class MenuItem extends Entity {
|
|
10
|
-
static { MenuItem_1 = this; }
|
|
11
|
-
static fromObject;
|
|
12
|
-
_badgeSubscription;
|
|
13
|
-
_badgeColorSubscription;
|
|
14
|
-
parent;
|
|
15
|
-
parentId;
|
|
16
|
-
$children = new BehaviorSubject([]);
|
|
17
|
-
static;
|
|
18
|
-
$title = new BehaviorSubject(undefined);
|
|
19
|
-
titleProperty; // A config property, to override the title
|
|
20
|
-
titleArgs;
|
|
21
|
-
$badge = new BehaviorSubject(undefined);
|
|
22
|
-
$badgeColor = new BehaviorSubject(undefined);
|
|
23
|
-
path;
|
|
24
|
-
pathParams;
|
|
25
|
-
parentPath;
|
|
26
|
-
parentPathParams;
|
|
27
|
-
// Injection point
|
|
28
|
-
after;
|
|
29
|
-
before;
|
|
30
|
-
action;
|
|
31
|
-
profile;
|
|
32
|
-
exactProfile;
|
|
33
|
-
color;
|
|
34
|
-
cssClass;
|
|
35
|
-
// A config property, to enable the menu item
|
|
36
|
-
ifProperty;
|
|
37
|
-
pinned;
|
|
38
|
-
// Icon
|
|
39
|
-
icon;
|
|
40
|
-
matIcon;
|
|
41
|
-
matSvgIcon;
|
|
42
|
-
fromObject(source, opts) {
|
|
43
|
-
this.id = source.id;
|
|
44
|
-
console.log('source', source);
|
|
45
|
-
this.title = source.title;
|
|
46
|
-
this.titleProperty = source.titleProperty;
|
|
47
|
-
this.titleArgs = source.titleArgs;
|
|
48
|
-
if (source.badge$) {
|
|
49
|
-
this.badge$ = source.badge$;
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
this.badge = source.badge;
|
|
53
|
-
}
|
|
54
|
-
if (source.badgeColor$) {
|
|
55
|
-
this.badgeColor$ = source.badgeColor$;
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
this.badgeColor = source.badgeColor;
|
|
59
|
-
}
|
|
60
|
-
// Clean path
|
|
61
|
-
if (source.path) {
|
|
62
|
-
const { path, params } = MenuItems.parsePathWithQuery(source.path);
|
|
63
|
-
this.path = path;
|
|
64
|
-
this.pathParams = { ...source.pathParams, ...params };
|
|
65
|
-
}
|
|
66
|
-
// Clean parent path
|
|
67
|
-
if (source.parentPath) {
|
|
68
|
-
const { path, params } = MenuItems.parsePathWithQuery(source.parentPath);
|
|
69
|
-
this.parentPath = path;
|
|
70
|
-
this.parentPathParams = { ...source.parentPathParams, ...params };
|
|
71
|
-
}
|
|
72
|
-
this.after = source.after;
|
|
73
|
-
this.before = source.before;
|
|
74
|
-
this.action = source.action;
|
|
75
|
-
this.profile = source.profile;
|
|
76
|
-
this.exactProfile = source.exactProfile;
|
|
77
|
-
this.color = source.color;
|
|
78
|
-
this.cssClass = source.cssClass;
|
|
79
|
-
this.ifProperty = source.ifProperty;
|
|
80
|
-
this.pinned = toBoolean(source.pinned, false);
|
|
81
|
-
this.static = isNotNil(source.static) ? source.static : undefined; // If undefined, will be set by service
|
|
82
|
-
// Icon
|
|
83
|
-
this.icon = source.icon;
|
|
84
|
-
this.matIcon = source.matIcon;
|
|
85
|
-
this.matSvgIcon = source.matSvgIcon;
|
|
86
|
-
if (!opts || opts.withChildren === false) {
|
|
87
|
-
this.children = (source.children || []).map((json) => MenuItem_1.fromObject(json, opts)) || [];
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
asObject(opts) {
|
|
91
|
-
const target = Object.assign({}, this);
|
|
92
|
-
target.title = this.title;
|
|
93
|
-
if (opts?.keepLocalId === false) {
|
|
94
|
-
delete target.id;
|
|
95
|
-
}
|
|
96
|
-
if (opts?.withChildren !== false) {
|
|
97
|
-
target.children = (this.children || []).map((c) => c.asObject(opts));
|
|
98
|
-
}
|
|
99
|
-
delete target.$children;
|
|
100
|
-
delete target.$title;
|
|
101
|
-
delete target.$badge;
|
|
102
|
-
delete target.$badgeColor;
|
|
103
|
-
delete target.parent;
|
|
104
|
-
return target;
|
|
105
|
-
}
|
|
106
|
-
// addChild(child: MenuItem) {
|
|
107
|
-
// this.$children.next(this.$children.value)
|
|
108
|
-
// }
|
|
109
|
-
get children() {
|
|
110
|
-
return this.$children.value;
|
|
111
|
-
}
|
|
112
|
-
set children(value) {
|
|
113
|
-
this.$children.next(value);
|
|
114
|
-
}
|
|
115
|
-
get title() {
|
|
116
|
-
return this.$title.value;
|
|
117
|
-
}
|
|
118
|
-
set title(value) {
|
|
119
|
-
if (this.pinned) {
|
|
120
|
-
// If loading, keep existing title if pinned (avoid to show skeleton)
|
|
121
|
-
if (isNotNilOrBlank(value))
|
|
122
|
-
this.$title.next(value);
|
|
123
|
-
}
|
|
124
|
-
else if (isNotNil(value)) {
|
|
125
|
-
this.$title.next(value);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
get badge() {
|
|
129
|
-
return this.$badge.value;
|
|
130
|
-
}
|
|
131
|
-
set badge(value) {
|
|
132
|
-
if (this.$badge.value !== value) {
|
|
133
|
-
this.$badge.next(value);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
get badge$() {
|
|
137
|
-
return this.$badge.asObservable();
|
|
138
|
-
}
|
|
139
|
-
set badge$(value$) {
|
|
140
|
-
this._badgeSubscription?.unsubscribe();
|
|
141
|
-
this._badgeSubscription = value$?.subscribe((value) => {
|
|
142
|
-
this.badge = value;
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
get badgeColor() {
|
|
146
|
-
return this.$badgeColor.value;
|
|
147
|
-
}
|
|
148
|
-
set badgeColor(value) {
|
|
149
|
-
if (this.$badgeColor.value !== value) {
|
|
150
|
-
this.$badgeColor.next(value);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
get badgeColor$() {
|
|
154
|
-
return this.$badgeColor.asObservable();
|
|
155
|
-
}
|
|
156
|
-
set badgeColor$(value$) {
|
|
157
|
-
this._badgeColorSubscription?.unsubscribe();
|
|
158
|
-
this._badgeColorSubscription = value$?.subscribe((value) => {
|
|
159
|
-
this.badgeColor = value;
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
get detached() {
|
|
163
|
-
return !this.parentPath || !this.parent;
|
|
164
|
-
}
|
|
165
|
-
get visible() {
|
|
166
|
-
return this.static || !this.detached;
|
|
167
|
-
}
|
|
168
|
-
get expanded() {
|
|
169
|
-
return this.action !== 'expand' || this.matIcon === 'expand_less';
|
|
170
|
-
}
|
|
171
|
-
get ancestor() {
|
|
172
|
-
if (!this.parent)
|
|
173
|
-
return null; // root = not ancestor
|
|
174
|
-
if (!this.parent.parent)
|
|
175
|
-
return this; // first sub menu = ancestor
|
|
176
|
-
return this.parent?.ancestor; // loop
|
|
177
|
-
}
|
|
178
|
-
get divider() {
|
|
179
|
-
return !this.action && !this.path;
|
|
180
|
-
}
|
|
181
|
-
get pinnable() {
|
|
182
|
-
return !this.static && typeof this.action !== 'function';
|
|
183
|
-
}
|
|
184
|
-
isPinned() {
|
|
185
|
-
if (this.pinned)
|
|
186
|
-
return true;
|
|
187
|
-
return (this.children || []).some((child) => child.isPinned());
|
|
188
|
-
}
|
|
189
|
-
};
|
|
190
|
-
MenuItem = MenuItem_1 = __decorate([
|
|
191
|
-
EntityClass({ typename: 'MenuItemVO' })
|
|
192
|
-
], MenuItem);
|
|
193
|
-
export { MenuItem };
|
|
194
|
-
export class MenuItems {
|
|
195
|
-
/**
|
|
196
|
-
* Compare, without checking the children
|
|
197
|
-
*
|
|
198
|
-
* @param mainItem
|
|
199
|
-
* @param otherItem
|
|
200
|
-
*/
|
|
201
|
-
static isSame(mainItem, otherItem) {
|
|
202
|
-
return this.isSameIdOrPathAndParams(mainItem, otherItem) && mainItem.title === otherItem.title;
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Compare, without checking the children and the title
|
|
206
|
-
*
|
|
207
|
-
* @param mainItem
|
|
208
|
-
* @param otherItem
|
|
209
|
-
*/
|
|
210
|
-
static isSameIdOrPathAndParams(mainItem, otherItem) {
|
|
211
|
-
return (isNotNil(mainItem?.id) && mainItem.id === otherItem?.id) || this.isSamePathAndParams(mainItem, otherItem);
|
|
212
|
-
}
|
|
213
|
-
/**
|
|
214
|
-
* Compare, without checking the children
|
|
215
|
-
*
|
|
216
|
-
* @param mainItem
|
|
217
|
-
* @param otherItem
|
|
218
|
-
*/
|
|
219
|
-
static isSamePathAndParams(mainItem, otherItem) {
|
|
220
|
-
return (mainItem &&
|
|
221
|
-
mainItem.path === otherItem?.path &&
|
|
222
|
-
mainItem.parentPath === otherItem.parentPath &&
|
|
223
|
-
this.isSameParams(mainItem.pathParams, otherItem.pathParams));
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* All key/value of the mainParams should exist (and be equals) in the other params
|
|
227
|
-
*
|
|
228
|
-
* @param mainParams
|
|
229
|
-
* @param otherParams
|
|
230
|
-
*/
|
|
231
|
-
static isSameParams(mainParams, otherParams) {
|
|
232
|
-
const mainEntries = Object.entries(mainParams);
|
|
233
|
-
const otherEntries = Object.entries(otherParams);
|
|
234
|
-
// TODO: est-ce que un item ne pourrait pas avoir plus de params dans l'item existant ?
|
|
235
|
-
return mainEntries.length === otherEntries.length && mainEntries.every(([key, value]) => value === otherParams[key]);
|
|
236
|
-
}
|
|
237
|
-
static isParent(child, parent) {
|
|
238
|
-
return ((child.parentPath &&
|
|
239
|
-
child.parentPath === parent?.path &&
|
|
240
|
-
this.isSameParams(child.parentPathParams, parent['pathParams'] || parent['params'])) ||
|
|
241
|
-
false);
|
|
242
|
-
}
|
|
243
|
-
static checkIfVisible(item, account, config, opts) {
|
|
244
|
-
opts = opts || {};
|
|
245
|
-
if (item.profile) {
|
|
246
|
-
const hasProfile = AccountUtils.hasMinProfile(account, item.profile);
|
|
247
|
-
if (!hasProfile) {
|
|
248
|
-
if (opts.debug)
|
|
249
|
-
console.debug(`${(opts && opts.logPrefix) || '[menu-service]'} Hide item '${item.title}': need the min profile '${item.profile}' to access path '${item.path}'`);
|
|
250
|
-
return false;
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
else if (item.exactProfile) {
|
|
254
|
-
const hasExactProfile = AccountUtils.hasExactProfile(account, item.exactProfile);
|
|
255
|
-
if (!hasExactProfile) {
|
|
256
|
-
if (opts.debug)
|
|
257
|
-
console.debug(`${(opts && opts.logPrefix) || '[menu-service]'} Hide item '${item.title}': need exact profile '${item.exactProfile}' to access path '${item.path}'`);
|
|
258
|
-
return false;
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
// If enable by config
|
|
262
|
-
if (item.ifProperty) {
|
|
263
|
-
//console.debug("[menu] Checking if property enable ? " + item.ifProperty, config && config.properties);
|
|
264
|
-
const isEnableByConfig = item.ifProperty.startsWith('!')
|
|
265
|
-
? config?.properties?.[item.ifProperty.substring(1)] !== 'true'
|
|
266
|
-
: config?.properties?.[item.ifProperty] === 'true';
|
|
267
|
-
if (!isEnableByConfig) {
|
|
268
|
-
if (opts.debug)
|
|
269
|
-
console.debug("[menu-service] Config property '" + item.ifProperty + "' not 'true' for ", item.path);
|
|
270
|
-
return false;
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
return true;
|
|
274
|
-
}
|
|
275
|
-
static checkIfSubMenuVisible(item, currentPathParam) {
|
|
276
|
-
if (!item.parentPath)
|
|
277
|
-
return false; // Should have a parent
|
|
278
|
-
if (item.static)
|
|
279
|
-
return true; // Always keep static items
|
|
280
|
-
if (item.isPinned())
|
|
281
|
-
return true; // Always keep pinned items
|
|
282
|
-
// Keep each menu items in the scope of the current url path
|
|
283
|
-
if (currentPathParam?.path.startsWith(item.path))
|
|
284
|
-
return true;
|
|
285
|
-
// Keep if parent is an expanded item
|
|
286
|
-
if (item.parent?.action === 'expand' && item.parent.expanded)
|
|
287
|
-
return true;
|
|
288
|
-
// Not visible
|
|
289
|
-
return false;
|
|
290
|
-
}
|
|
291
|
-
static parsePathWithQuery(pathWithQuery) {
|
|
292
|
-
const index = pathWithQuery.lastIndexOf('?');
|
|
293
|
-
if (index < 0)
|
|
294
|
-
return { path: pathWithQuery, params: {} };
|
|
295
|
-
const path = pathWithQuery.substring(0, index);
|
|
296
|
-
const queryString = pathWithQuery.substring(index);
|
|
297
|
-
const params = Object.fromEntries(new URLSearchParams(queryString));
|
|
298
|
-
return { path, params };
|
|
299
|
-
}
|
|
300
|
-
static getUrl(item) {
|
|
301
|
-
return this.getUrlFromPathAndParams(item?.path, item?.pathParams);
|
|
302
|
-
}
|
|
303
|
-
static getUrlFromPathAndParams(path, params) {
|
|
304
|
-
const queryString = Object.entries(params || {})
|
|
305
|
-
.map(([key, value]) => `${key}=${value}`)
|
|
306
|
-
.join('&');
|
|
307
|
-
if (isNilOrBlank(queryString))
|
|
308
|
-
return path || '';
|
|
309
|
-
return `${path || ''}?${queryString}`;
|
|
310
|
-
}
|
|
311
|
-
static sortByParamOrIdComparator(paramName) {
|
|
312
|
-
paramName = paramName || 'tab';
|
|
313
|
-
return (n1, n2) => {
|
|
314
|
-
const d1 = toInt(n1.pathParams?.[paramName], n1.id);
|
|
315
|
-
const d2 = toInt(n2.pathParams?.[paramName], n2.id);
|
|
316
|
-
return d1 === d2 ? 0 : d1 > d2 ? 1 : -1;
|
|
317
|
-
};
|
|
318
|
-
}
|
|
319
|
-
static sortByTabOrId = this.sortByParamOrIdComparator('tab');
|
|
320
|
-
}
|
|
321
|
-
/**
|
|
322
|
-
* Options to configure specific behavior on projects
|
|
323
|
-
*/
|
|
324
|
-
export class MenuOptions {
|
|
325
|
-
subMenu;
|
|
326
|
-
}
|
|
327
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9tZW51L21lbnUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25HLE9BQU8sRUFBRSxlQUFlLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBRWpFLE9BQU8sRUFBVyxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsTUFBTSxFQUF5QixNQUFNLGdDQUFnQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQXNDbEUsV0FBVztBQUVKLElBQU0sUUFBUSxHQUFkLE1BQU0sUUFBUyxTQUFRLE1BQWdCOztJQUM1QyxNQUFNLENBQUMsVUFBVSxDQUErRDtJQUVoRixrQkFBa0IsQ0FBZTtJQUNqQyx1QkFBdUIsQ0FBZTtJQUV0QyxNQUFNLENBQVc7SUFDakIsUUFBUSxDQUFTO0lBQ2pCLFNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBYSxFQUFFLENBQUMsQ0FBQztJQUNoRCxNQUFNLENBQVU7SUFFaEIsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFTLFNBQVMsQ0FBQyxDQUFDO0lBQ2hELGFBQWEsQ0FBVSxDQUFDLDJDQUEyQztJQUNuRSxTQUFTLENBQTZCO0lBRXRDLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBa0IsU0FBUyxDQUFDLENBQUM7SUFDekQsV0FBVyxHQUFHLElBQUksZUFBZSxDQUFtQixTQUFTLENBQUMsQ0FBQztJQUUvRCxJQUFJLENBQVU7SUFDZCxVQUFVLENBQTZCO0lBQ3ZDLFVBQVUsQ0FBVTtJQUNwQixnQkFBZ0IsQ0FBNkI7SUFFN0Msa0JBQWtCO0lBQ2xCLEtBQUssQ0FBVTtJQUNmLE1BQU0sQ0FBVTtJQUVoQixNQUFNLENBQWdCO0lBQ3RCLE9BQU8sQ0FBb0I7SUFDM0IsWUFBWSxDQUFvQjtJQUNoQyxLQUFLLENBQXNCO0lBQzNCLFFBQVEsQ0FBVTtJQUNsQiw2Q0FBNkM7SUFDN0MsVUFBVSxDQUFVO0lBQ3BCLE1BQU0sQ0FBVztJQUVqQixPQUFPO0lBQ1AsSUFBSSxDQUFVO0lBQ2QsT0FBTyxDQUFVO0lBQ2pCLFVBQVUsQ0FBVTtJQUVwQixVQUFVLENBQUMsTUFBVyxFQUFFLElBQWlDO1FBQ3ZELElBQUksQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUVwQixPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1FBQzFDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUVsQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDOUIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDNUIsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUN4QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUN0QyxDQUFDO1FBRUQsYUFBYTtRQUNiLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hCLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsU0FBUyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFDeEQsQ0FBQztRQUNELG9CQUFvQjtRQUNwQixJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN0QixNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUNwRSxDQUFDO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUU1QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUN4QyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUNwQyxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsdUNBQXVDO1FBRTFHLE9BQU87UUFDUCxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUVwQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxVQUFRLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwRyxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUF5RDtRQUNoRSxNQUFNLE1BQU0sR0FBUSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1QyxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFMUIsSUFBSSxJQUFJLEVBQUUsV0FBVyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ2hDLE9BQU8sTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQixDQUFDO1FBRUQsSUFBSSxJQUFJLEVBQUUsWUFBWSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ2pDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDeEIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQ3JCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNyQixPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDMUIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBRXJCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCw4QkFBOEI7SUFDOUIsOENBQThDO0lBQzlDLElBQUk7SUFFSixJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFpQjtRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBYTtRQUNyQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixxRUFBcUU7WUFDckUsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDO2dCQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELENBQUM7YUFBTSxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBc0I7UUFDOUIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsTUFBbUM7UUFDNUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDcEQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsS0FBdUI7UUFDcEMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztJQUNELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsTUFBb0M7UUFDbEQsSUFBSSxDQUFDLHVCQUF1QixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDekQsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssYUFBYSxDQUFDO0lBQ3BFLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDLHNCQUFzQjtRQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQyw0QkFBNEI7UUFDbEUsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLE9BQU87SUFDdkMsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQztJQUMzRCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLElBQUksQ0FBQztRQUM3QixPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7Q0FDRixDQUFBO0FBN01ZLFFBQVE7SUFEcEIsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxDQUFDO0dBQzNCLFFBQVEsQ0E2TXBCOztBQUVELE1BQU0sT0FBTyxTQUFTO0lBQ3BCOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFtQixFQUFFLFNBQW9CO1FBQ3JELE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDakcsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLHVCQUF1QixDQUFDLFFBQW1CLEVBQUUsU0FBb0I7UUFDdEUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksUUFBUSxDQUFDLEVBQUUsS0FBSyxTQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNwSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBbUIsRUFBRSxTQUFvQjtRQUNsRSxPQUFPLENBQ0wsUUFBUTtZQUNSLFFBQVEsQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLElBQUk7WUFDakMsUUFBUSxDQUFDLFVBQVUsS0FBSyxTQUFTLENBQUMsVUFBVTtZQUM1QyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUM3RCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxVQUFxQyxFQUFFLFdBQXNDO1FBQy9GLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0MsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCx1RkFBdUY7UUFDdkYsT0FBTyxXQUFXLENBQUMsTUFBTSxLQUFLLFlBQVksQ0FBQyxNQUFNLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdkgsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBZ0IsRUFBRSxNQUFpQztRQUNqRSxPQUFPLENBQ0wsQ0FBQyxLQUFLLENBQUMsVUFBVTtZQUNmLEtBQUssQ0FBQyxVQUFVLEtBQUssTUFBTSxFQUFFLElBQUk7WUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ3RGLEtBQUssQ0FDTixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQ25CLElBQWUsRUFDZixPQUFnQixFQUNoQixNQUFxQixFQUNyQixJQUlDO1FBRUQsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxJQUFJLENBQUMsS0FBSztvQkFDWixPQUFPLENBQUMsS0FBSyxDQUNYLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLGdCQUFnQixlQUFlLElBQUksQ0FBQyxLQUFLLDRCQUE0QixJQUFJLENBQUMsT0FBTyxxQkFBcUIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUNsSixDQUFDO2dCQUNKLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztRQUNILENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM3QixNQUFNLGVBQWUsR0FBRyxZQUFZLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDakYsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUNyQixJQUFJLElBQUksQ0FBQyxLQUFLO29CQUNaLE9BQU8sQ0FBQyxLQUFLLENBQ1gsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksZ0JBQWdCLGVBQWUsSUFBSSxDQUFDLEtBQUssMEJBQTBCLElBQUksQ0FBQyxZQUFZLHFCQUFxQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQ3JKLENBQUM7Z0JBQ0osT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQztRQUVELHNCQUFzQjtRQUN0QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQix3R0FBd0c7WUFDeEcsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7Z0JBQ3RELENBQUMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxNQUFNO2dCQUMvRCxDQUFDLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxNQUFNLENBQUM7WUFDckQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3RCLElBQUksSUFBSSxDQUFDLEtBQUs7b0JBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQ0FBa0MsR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLG1CQUFtQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDckgsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFjLEVBQUUsZ0JBQStCO1FBQzFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU8sS0FBSyxDQUFDLENBQUMsdUJBQXVCO1FBRTNELElBQUksSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDLDJCQUEyQjtRQUV6RCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDLDJCQUEyQjtRQUU3RCw0REFBNEQ7UUFDNUQsSUFBSSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUU5RCxxQ0FBcUM7UUFDckMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFMUUsY0FBYztRQUNkLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxhQUFxQjtRQUM3QyxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLElBQUksS0FBSyxHQUFHLENBQUM7WUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDMUQsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDL0MsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDcEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFlO1FBQzNCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQUMsSUFBWSxFQUFFLE1BQVk7UUFDdkQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO2FBQzdDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQzthQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDYixJQUFJLFlBQVksQ0FBQyxXQUFXLENBQUM7WUFBRSxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7UUFDakQsT0FBTyxHQUFHLElBQUksSUFBSSxFQUFFLElBQUksV0FBVyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxTQUFrQjtRQUNqRCxTQUFTLEdBQUcsU0FBUyxJQUFJLEtBQUssQ0FBQztRQUMvQixPQUFPLENBQUMsRUFBYSxFQUFFLEVBQWEsRUFBRSxFQUFFO1lBQ3RDLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3BELE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3BELE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQzs7QUFHL0Q7O0dBRUc7QUFDSCxNQUFNLE9BQU8sV0FBVztJQUN0QixPQUFPLENBS0w7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVzZXJQcm9maWxlTGFiZWwgfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC9wZXJzb24ubW9kZWwnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL3NlcnZpY2VzL21vZGVsL2NvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBBcHBDb2xvcnMsIEljb25SZWYgfSBmcm9tICcuLi8uLi9zaGFyZWQvdHlwZXMnO1xuaW1wb3J0IHsgaXNOaWxPckJsYW5rLCBpc05vdE5pbCwgaXNOb3ROaWxPckJsYW5rLCB0b0Jvb2xlYW4sIHRvSW50IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWVudVBhdGhQYXJhbSB9IGZyb20gJy4vbWVudS5zZXJ2aWNlJztcbmltcG9ydCB7IEFjY291bnQsIEFjY291bnRVdGlscyB9IGZyb20gJy4uL3NlcnZpY2VzL21vZGVsL2FjY291bnQubW9kZWwnO1xuaW1wb3J0IHsgRW50aXR5LCBFbnRpdHlBc09iamVjdE9wdGlvbnMgfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgSVRyZWVJdGVtRW50aXR5IH0gZnJvbSAnLi4vc2VydmljZXMvbW9kZWwvdHJlZS1pdGVtLWVudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBFbnRpdHlDbGFzcyB9IGZyb20gJy4uL3NlcnZpY2VzL21vZGVsL2VudGl0eS5kZWNvcmF0b3JzJztcbmltcG9ydCB7IFByZWRlZmluZWRDb2xvcnMgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1lbnVJdGVtIGV4dGVuZHMgSWNvblJlZiB7XG4gIGlkPzogbnVtYmVyO1xuICBwYXJlbnQ/OiBJTWVudUl0ZW07XG4gIGNoaWxkcmVuPzogSU1lbnVJdGVtW107XG5cbiAgdGl0bGU6IHN0cmluZztcblxuICBwYXRoPzogc3RyaW5nO1xuXG4gIGJhZGdlPzogc3RyaW5nIHwgbnVtYmVyO1xuICBiYWRnZUNvbG9yPzogUHJlZGVmaW5lZENvbG9ycztcbiAgYmFkZ2UkPzogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudW1iZXI+O1xuICBiYWRnZUNvbG9yJD86IE9ic2VydmFibGU8UHJlZGVmaW5lZENvbG9ycz47XG5cbiAgLy8gSW5qZWN0aW9uIHBvaW50XG4gIGFmdGVyPzogc3RyaW5nO1xuICBiZWZvcmU/OiBzdHJpbmc7XG4gIHN0YXRpYz86IGJvb2xlYW47XG5cbiAgYWN0aW9uPzogc3RyaW5nIHwgYW55O1xuICBwcm9maWxlPzogVXNlclByb2ZpbGVMYWJlbDtcbiAgZXhhY3RQcm9maWxlPzogVXNlclByb2ZpbGVMYWJlbDtcbiAgY29sb3I/OiBzdHJpbmcgfCBBcHBDb2xvcnM7XG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuICAvLyBBIGNvbmZpZyBwcm9wZXJ0eSwgdG8gZW5hYmxlIHRoZSBtZW51IGl0ZW1cbiAgaWZQcm9wZXJ0eT86IHN0cmluZztcbiAgLy8gQSBjb25maWcgcHJvcGVydHksIHRvIG92ZXJyaWRlIHRoZSB0aXRsZVxuICB0aXRsZVByb3BlcnR5Pzogc3RyaW5nO1xuICB0aXRsZUFyZ3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICBwYXRoUGFyYW1zPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgcGFyZW50UGF0aD86IHN0cmluZztcbiAgcGFyZW50UGF0aFBhcmFtcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIHBpbm5lZD86IGJvb2xlYW47XG59XG5cbi8vIEBkeW5hbWljXG5ARW50aXR5Q2xhc3MoeyB0eXBlbmFtZTogJ01lbnVJdGVtVk8nIH0pXG5leHBvcnQgY2xhc3MgTWVudUl0ZW0gZXh0ZW5kcyBFbnRpdHk8TWVudUl0ZW0+IGltcGxlbWVudHMgSU1lbnVJdGVtLCBJVHJlZUl0ZW1FbnRpdHk8TWVudUl0ZW0+IHtcbiAgc3RhdGljIGZyb21PYmplY3Q6IChzb3VyY2U6IGFueSwgb3B0cz86IHsgd2l0aENoaWxkcmVuPzogYm9vbGVhbiB9KSA9PiBNZW51SXRlbTtcblxuICBfYmFkZ2VTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgX2JhZGdlQ29sb3JTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBwYXJlbnQ6IE1lbnVJdGVtO1xuICBwYXJlbnRJZDogbnVtYmVyO1xuICAkY2hpbGRyZW4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1lbnVJdGVtW10+KFtdKTtcbiAgc3RhdGljOiBib29sZWFuO1xuXG4gICR0aXRsZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPih1bmRlZmluZWQpO1xuICB0aXRsZVByb3BlcnR5Pzogc3RyaW5nOyAvLyBBIGNvbmZpZyBwcm9wZXJ0eSwgdG8gb3ZlcnJpZGUgdGhlIHRpdGxlXG4gIHRpdGxlQXJncz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgJGJhZGdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudW1iZXI+KHVuZGVmaW5lZCk7XG4gICRiYWRnZUNvbG9yID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQcmVkZWZpbmVkQ29sb3JzPih1bmRlZmluZWQpO1xuXG4gIHBhdGg/OiBzdHJpbmc7XG4gIHBhdGhQYXJhbXM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICBwYXJlbnRQYXRoPzogc3RyaW5nO1xuICBwYXJlbnRQYXRoUGFyYW1zPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvLyBJbmplY3Rpb24gcG9pbnRcbiAgYWZ0ZXI/OiBzdHJpbmc7XG4gIGJlZm9yZT86IHN0cmluZztcblxuICBhY3Rpb24/OiBzdHJpbmcgfCBhbnk7XG4gIHByb2ZpbGU/OiBVc2VyUHJvZmlsZUxhYmVsO1xuICBleGFjdFByb2ZpbGU/OiBVc2VyUHJvZmlsZUxhYmVsO1xuICBjb2xvcj86IHN0cmluZyB8IEFwcENvbG9ycztcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gIC8vIEEgY29uZmlnIHByb3BlcnR5LCB0byBlbmFibGUgdGhlIG1lbnUgaXRlbVxuICBpZlByb3BlcnR5Pzogc3RyaW5nO1xuICBwaW5uZWQ/OiBib29sZWFuO1xuXG4gIC8vIEljb25cbiAgaWNvbj86IHN0cmluZztcbiAgbWF0SWNvbj86IHN0cmluZztcbiAgbWF0U3ZnSWNvbj86IHN0cmluZztcblxuICBmcm9tT2JqZWN0KHNvdXJjZTogYW55LCBvcHRzPzogeyB3aXRoQ2hpbGRyZW4/OiBib29sZWFuIH0pIHtcbiAgICB0aGlzLmlkID0gc291cmNlLmlkO1xuXG4gICAgY29uc29sZS5sb2coJ3NvdXJjZScsIHNvdXJjZSk7XG4gICAgdGhpcy50aXRsZSA9IHNvdXJjZS50aXRsZTtcbiAgICB0aGlzLnRpdGxlUHJvcGVydHkgPSBzb3VyY2UudGl0bGVQcm9wZXJ0eTtcbiAgICB0aGlzLnRpdGxlQXJncyA9IHNvdXJjZS50aXRsZUFyZ3M7XG5cbiAgICBpZiAoc291cmNlLmJhZGdlJCkge1xuICAgICAgdGhpcy5iYWRnZSQgPSBzb3VyY2UuYmFkZ2UkO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJhZGdlID0gc291cmNlLmJhZGdlO1xuICAgIH1cbiAgICBpZiAoc291cmNlLmJhZGdlQ29sb3IkKSB7XG4gICAgICB0aGlzLmJhZGdlQ29sb3IkID0gc291cmNlLmJhZGdlQ29sb3IkO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJhZGdlQ29sb3IgPSBzb3VyY2UuYmFkZ2VDb2xvcjtcbiAgICB9XG5cbiAgICAvLyBDbGVhbiBwYXRoXG4gICAgaWYgKHNvdXJjZS5wYXRoKSB7XG4gICAgICBjb25zdCB7IHBhdGgsIHBhcmFtcyB9ID0gTWVudUl0ZW1zLnBhcnNlUGF0aFdpdGhRdWVyeShzb3VyY2UucGF0aCk7XG4gICAgICB0aGlzLnBhdGggPSBwYXRoO1xuICAgICAgdGhpcy5wYXRoUGFyYW1zID0geyAuLi5zb3VyY2UucGF0aFBhcmFtcywgLi4ucGFyYW1zIH07XG4gICAgfVxuICAgIC8vIENsZWFuIHBhcmVudCBwYXRoXG4gICAgaWYgKHNvdXJjZS5wYXJlbnRQYXRoKSB7XG4gICAgICBjb25zdCB7IHBhdGgsIHBhcmFtcyB9ID0gTWVudUl0ZW1zLnBhcnNlUGF0aFdpdGhRdWVyeShzb3VyY2UucGFyZW50UGF0aCk7XG4gICAgICB0aGlzLnBhcmVudFBhdGggPSBwYXRoO1xuICAgICAgdGhpcy5wYXJlbnRQYXRoUGFyYW1zID0geyAuLi5zb3VyY2UucGFyZW50UGF0aFBhcmFtcywgLi4ucGFyYW1zIH07XG4gICAgfVxuXG4gICAgdGhpcy5hZnRlciA9IHNvdXJjZS5hZnRlcjtcbiAgICB0aGlzLmJlZm9yZSA9IHNvdXJjZS5iZWZvcmU7XG5cbiAgICB0aGlzLmFjdGlvbiA9IHNvdXJjZS5hY3Rpb247XG4gICAgdGhpcy5wcm9maWxlID0gc291cmNlLnByb2ZpbGU7XG4gICAgdGhpcy5leGFjdFByb2ZpbGUgPSBzb3VyY2UuZXhhY3RQcm9maWxlO1xuICAgIHRoaXMuY29sb3IgPSBzb3VyY2UuY29sb3I7XG4gICAgdGhpcy5jc3NDbGFzcyA9IHNvdXJjZS5jc3NDbGFzcztcbiAgICB0aGlzLmlmUHJvcGVydHkgPSBzb3VyY2UuaWZQcm9wZXJ0eTtcbiAgICB0aGlzLnBpbm5lZCA9IHRvQm9vbGVhbihzb3VyY2UucGlubmVkLCBmYWxzZSk7XG4gICAgdGhpcy5zdGF0aWMgPSBpc05vdE5pbChzb3VyY2Uuc3RhdGljKSA/IHNvdXJjZS5zdGF0aWMgOiB1bmRlZmluZWQ7IC8vIElmIHVuZGVmaW5lZCwgd2lsbCBiZSBzZXQgYnkgc2VydmljZVxuXG4gICAgLy8gSWNvblxuICAgIHRoaXMuaWNvbiA9IHNvdXJjZS5pY29uO1xuICAgIHRoaXMubWF0SWNvbiA9IHNvdXJjZS5tYXRJY29uO1xuICAgIHRoaXMubWF0U3ZnSWNvbiA9IHNvdXJjZS5tYXRTdmdJY29uO1xuXG4gICAgaWYgKCFvcHRzIHx8IG9wdHMud2l0aENoaWxkcmVuID09PSBmYWxzZSkge1xuICAgICAgdGhpcy5jaGlsZHJlbiA9IChzb3VyY2UuY2hpbGRyZW4gfHwgW10pLm1hcCgoanNvbjogYW55KSA9PiBNZW51SXRlbS5mcm9tT2JqZWN0KGpzb24sIG9wdHMpKSB8fCBbXTtcbiAgICB9XG4gIH1cblxuICBhc09iamVjdChvcHRzPzogeyB3aXRoQ2hpbGRyZW4/OiBib29sZWFuIH0gJiBFbnRpdHlBc09iamVjdE9wdGlvbnMpOiBhbnkge1xuICAgIGNvbnN0IHRhcmdldDogYW55ID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcyk7XG4gICAgdGFyZ2V0LnRpdGxlID0gdGhpcy50aXRsZTtcblxuICAgIGlmIChvcHRzPy5rZWVwTG9jYWxJZCA9PT0gZmFsc2UpIHtcbiAgICAgIGRlbGV0ZSB0YXJnZXQuaWQ7XG4gICAgfVxuXG4gICAgaWYgKG9wdHM/LndpdGhDaGlsZHJlbiAhPT0gZmFsc2UpIHtcbiAgICAgIHRhcmdldC5jaGlsZHJlbiA9ICh0aGlzLmNoaWxkcmVuIHx8IFtdKS5tYXAoKGMpID0+IGMuYXNPYmplY3Qob3B0cykpO1xuICAgIH1cblxuICAgIGRlbGV0ZSB0YXJnZXQuJGNoaWxkcmVuO1xuICAgIGRlbGV0ZSB0YXJnZXQuJHRpdGxlO1xuICAgIGRlbGV0ZSB0YXJnZXQuJGJhZGdlO1xuICAgIGRlbGV0ZSB0YXJnZXQuJGJhZGdlQ29sb3I7XG4gICAgZGVsZXRlIHRhcmdldC5wYXJlbnQ7XG5cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9XG5cbiAgLy8gYWRkQ2hpbGQoY2hpbGQ6IE1lbnVJdGVtKSB7XG4gIC8vICAgdGhpcy4kY2hpbGRyZW4ubmV4dCh0aGlzLiRjaGlsZHJlbi52YWx1ZSlcbiAgLy8gfVxuXG4gIGdldCBjaGlsZHJlbigpOiBNZW51SXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy4kY2hpbGRyZW4udmFsdWU7XG4gIH1cbiAgc2V0IGNoaWxkcmVuKHZhbHVlOiBNZW51SXRlbVtdKSB7XG4gICAgdGhpcy4kY2hpbGRyZW4ubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4kdGl0bGUudmFsdWU7XG4gIH1cbiAgc2V0IHRpdGxlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5waW5uZWQpIHtcbiAgICAgIC8vIElmIGxvYWRpbmcsIGtlZXAgZXhpc3RpbmcgdGl0bGUgaWYgcGlubmVkIChhdm9pZCB0byBzaG93IHNrZWxldG9uKVxuICAgICAgaWYgKGlzTm90TmlsT3JCbGFuayh2YWx1ZSkpIHRoaXMuJHRpdGxlLm5leHQodmFsdWUpO1xuICAgIH0gZWxzZSBpZiAoaXNOb3ROaWwodmFsdWUpKSB7XG4gICAgICB0aGlzLiR0aXRsZS5uZXh0KHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBnZXQgYmFkZ2UoKTogc3RyaW5nIHwgbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy4kYmFkZ2UudmFsdWU7XG4gIH1cbiAgc2V0IGJhZGdlKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICBpZiAodGhpcy4kYmFkZ2UudmFsdWUgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLiRiYWRnZS5uZXh0KHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBnZXQgYmFkZ2UkKCk6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuJGJhZGdlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG4gIHNldCBiYWRnZSQodmFsdWUkOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bWJlcj4pIHtcbiAgICB0aGlzLl9iYWRnZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9iYWRnZVN1YnNjcmlwdGlvbiA9IHZhbHVlJD8uc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgdGhpcy5iYWRnZSA9IHZhbHVlO1xuICAgIH0pO1xuICB9XG4gIGdldCBiYWRnZUNvbG9yKCk6IFByZWRlZmluZWRDb2xvcnMge1xuICAgIHJldHVybiB0aGlzLiRiYWRnZUNvbG9yLnZhbHVlO1xuICB9XG4gIHNldCBiYWRnZUNvbG9yKHZhbHVlOiBQcmVkZWZpbmVkQ29sb3JzKSB7XG4gICAgaWYgKHRoaXMuJGJhZGdlQ29sb3IudmFsdWUgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLiRiYWRnZUNvbG9yLm5leHQodmFsdWUpO1xuICAgIH1cbiAgfVxuICBnZXQgYmFkZ2VDb2xvciQoKTogT2JzZXJ2YWJsZTxQcmVkZWZpbmVkQ29sb3JzPiB7XG4gICAgcmV0dXJuIHRoaXMuJGJhZGdlQ29sb3IuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbiAgc2V0IGJhZGdlQ29sb3IkKHZhbHVlJDogT2JzZXJ2YWJsZTxQcmVkZWZpbmVkQ29sb3JzPikge1xuICAgIHRoaXMuX2JhZGdlQ29sb3JTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fYmFkZ2VDb2xvclN1YnNjcmlwdGlvbiA9IHZhbHVlJD8uc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgdGhpcy5iYWRnZUNvbG9yID0gdmFsdWU7XG4gICAgfSk7XG4gIH1cblxuICBnZXQgZGV0YWNoZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnBhcmVudFBhdGggfHwgIXRoaXMucGFyZW50O1xuICB9XG5cbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGljIHx8ICF0aGlzLmRldGFjaGVkO1xuICB9XG5cbiAgZ2V0IGV4cGFuZGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFjdGlvbiAhPT0gJ2V4cGFuZCcgfHwgdGhpcy5tYXRJY29uID09PSAnZXhwYW5kX2xlc3MnO1xuICB9XG5cbiAgZ2V0IGFuY2VzdG9yKCk6IE1lbnVJdGVtIHtcbiAgICBpZiAoIXRoaXMucGFyZW50KSByZXR1cm4gbnVsbDsgLy8gcm9vdCA9IG5vdCBhbmNlc3RvclxuICAgIGlmICghdGhpcy5wYXJlbnQucGFyZW50KSByZXR1cm4gdGhpczsgLy8gZmlyc3Qgc3ViIG1lbnUgPSBhbmNlc3RvclxuICAgIHJldHVybiB0aGlzLnBhcmVudD8uYW5jZXN0b3I7IC8vIGxvb3BcbiAgfVxuXG4gIGdldCBkaXZpZGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5hY3Rpb24gJiYgIXRoaXMucGF0aDtcbiAgfVxuXG4gIGdldCBwaW5uYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuc3RhdGljICYmIHR5cGVvZiB0aGlzLmFjdGlvbiAhPT0gJ2Z1bmN0aW9uJztcbiAgfVxuXG4gIGlzUGlubmVkKCkge1xuICAgIGlmICh0aGlzLnBpbm5lZCkgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuICh0aGlzLmNoaWxkcmVuIHx8IFtdKS5zb21lKChjaGlsZCkgPT4gY2hpbGQuaXNQaW5uZWQoKSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1lbnVJdGVtcyB7XG4gIC8qKlxuICAgKiBDb21wYXJlLCB3aXRob3V0IGNoZWNraW5nIHRoZSBjaGlsZHJlblxuICAgKlxuICAgKiBAcGFyYW0gbWFpbkl0ZW1cbiAgICogQHBhcmFtIG90aGVySXRlbVxuICAgKi9cbiAgc3RhdGljIGlzU2FtZShtYWluSXRlbTogSU1lbnVJdGVtLCBvdGhlckl0ZW06IElNZW51SXRlbSkge1xuICAgIHJldHVybiB0aGlzLmlzU2FtZUlkT3JQYXRoQW5kUGFyYW1zKG1haW5JdGVtLCBvdGhlckl0ZW0pICYmIG1haW5JdGVtLnRpdGxlID09PSBvdGhlckl0ZW0udGl0bGU7XG4gIH1cblxuICAvKipcbiAgICogQ29tcGFyZSwgd2l0aG91dCBjaGVja2luZyB0aGUgY2hpbGRyZW4gYW5kIHRoZSB0aXRsZVxuICAgKlxuICAgKiBAcGFyYW0gbWFpbkl0ZW1cbiAgICogQHBhcmFtIG90aGVySXRlbVxuICAgKi9cbiAgc3RhdGljIGlzU2FtZUlkT3JQYXRoQW5kUGFyYW1zKG1haW5JdGVtOiBJTWVudUl0ZW0sIG90aGVySXRlbTogSU1lbnVJdGVtKSB7XG4gICAgcmV0dXJuIChpc05vdE5pbChtYWluSXRlbT8uaWQpICYmIG1haW5JdGVtLmlkID09PSBvdGhlckl0ZW0/LmlkKSB8fCB0aGlzLmlzU2FtZVBhdGhBbmRQYXJhbXMobWFpbkl0ZW0sIG90aGVySXRlbSk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcGFyZSwgd2l0aG91dCBjaGVja2luZyB0aGUgY2hpbGRyZW5cbiAgICpcbiAgICogQHBhcmFtIG1haW5JdGVtXG4gICAqIEBwYXJhbSBvdGhlckl0ZW1cbiAgICovXG4gIHN0YXRpYyBpc1NhbWVQYXRoQW5kUGFyYW1zKG1haW5JdGVtOiBJTWVudUl0ZW0sIG90aGVySXRlbTogSU1lbnVJdGVtKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIG1haW5JdGVtICYmXG4gICAgICBtYWluSXRlbS5wYXRoID09PSBvdGhlckl0ZW0/LnBhdGggJiZcbiAgICAgIG1haW5JdGVtLnBhcmVudFBhdGggPT09IG90aGVySXRlbS5wYXJlbnRQYXRoICYmXG4gICAgICB0aGlzLmlzU2FtZVBhcmFtcyhtYWluSXRlbS5wYXRoUGFyYW1zLCBvdGhlckl0ZW0ucGF0aFBhcmFtcylcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbCBrZXkvdmFsdWUgb2YgdGhlIG1haW5QYXJhbXMgc2hvdWxkIGV4aXN0IChhbmQgYmUgZXF1YWxzKSBpbiB0aGUgb3RoZXIgcGFyYW1zXG4gICAqXG4gICAqIEBwYXJhbSBtYWluUGFyYW1zXG4gICAqIEBwYXJhbSBvdGhlclBhcmFtc1xuICAgKi9cbiAgc3RhdGljIGlzU2FtZVBhcmFtcyhtYWluUGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LCBvdGhlclBhcmFtczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkge1xuICAgIGNvbnN0IG1haW5FbnRyaWVzID0gT2JqZWN0LmVudHJpZXMobWFpblBhcmFtcyk7XG4gICAgY29uc3Qgb3RoZXJFbnRyaWVzID0gT2JqZWN0LmVudHJpZXMob3RoZXJQYXJhbXMpO1xuICAgIC8vIFRPRE86IGVzdC1jZSBxdWUgdW4gaXRlbSBuZSBwb3VycmFpdCBwYXMgYXZvaXIgcGx1cyBkZSBwYXJhbXMgZGFucyBsJ2l0ZW0gZXhpc3RhbnQgP1xuICAgIHJldHVybiBtYWluRW50cmllcy5sZW5ndGggPT09IG90aGVyRW50cmllcy5sZW5ndGggJiYgbWFpbkVudHJpZXMuZXZlcnkoKFtrZXksIHZhbHVlXSkgPT4gdmFsdWUgPT09IG90aGVyUGFyYW1zW2tleV0pO1xuICB9XG5cbiAgc3RhdGljIGlzUGFyZW50KGNoaWxkOiBJTWVudUl0ZW0sIHBhcmVudDogSU1lbnVJdGVtIHwgTWVudVBhdGhQYXJhbSkge1xuICAgIHJldHVybiAoXG4gICAgICAoY2hpbGQucGFyZW50UGF0aCAmJlxuICAgICAgICBjaGlsZC5wYXJlbnRQYXRoID09PSBwYXJlbnQ/LnBhdGggJiZcbiAgICAgICAgdGhpcy5pc1NhbWVQYXJhbXMoY2hpbGQucGFyZW50UGF0aFBhcmFtcywgcGFyZW50WydwYXRoUGFyYW1zJ10gfHwgcGFyZW50WydwYXJhbXMnXSkpIHx8XG4gICAgICBmYWxzZVxuICAgICk7XG4gIH1cblxuICBzdGF0aWMgY2hlY2tJZlZpc2libGUoXG4gICAgaXRlbTogSU1lbnVJdGVtLFxuICAgIGFjY291bnQ6IEFjY291bnQsXG4gICAgY29uZmlnOiBDb25maWd1cmF0aW9uLFxuICAgIG9wdHM/OiB7XG4gICAgICBpc0xvZ2luPzogYm9vbGVhbjtcbiAgICAgIGRlYnVnPzogYm9vbGVhbjtcbiAgICAgIGxvZ1ByZWZpeD86IHN0cmluZztcbiAgICB9XG4gICk6IGJvb2xlYW4ge1xuICAgIG9wdHMgPSBvcHRzIHx8IHt9O1xuICAgIGlmIChpdGVtLnByb2ZpbGUpIHtcbiAgICAgIGNvbnN0IGhhc1Byb2ZpbGUgPSBBY2NvdW50VXRpbHMuaGFzTWluUHJvZmlsZShhY2NvdW50LCBpdGVtLnByb2ZpbGUpO1xuICAgICAgaWYgKCFoYXNQcm9maWxlKSB7XG4gICAgICAgIGlmIChvcHRzLmRlYnVnKVxuICAgICAgICAgIGNvbnNvbGUuZGVidWcoXG4gICAgICAgICAgICBgJHsob3B0cyAmJiBvcHRzLmxvZ1ByZWZpeCkgfHwgJ1ttZW51LXNlcnZpY2VdJ30gSGlkZSBpdGVtICcke2l0ZW0udGl0bGV9JzogbmVlZCB0aGUgbWluIHByb2ZpbGUgJyR7aXRlbS5wcm9maWxlfScgdG8gYWNjZXNzIHBhdGggJyR7aXRlbS5wYXRofSdgXG4gICAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXRlbS5leGFjdFByb2ZpbGUpIHtcbiAgICAgIGNvbnN0IGhhc0V4YWN0UHJvZmlsZSA9IEFjY291bnRVdGlscy5oYXNFeGFjdFByb2ZpbGUoYWNjb3VudCwgaXRlbS5leGFjdFByb2ZpbGUpO1xuICAgICAgaWYgKCFoYXNFeGFjdFByb2ZpbGUpIHtcbiAgICAgICAgaWYgKG9wdHMuZGVidWcpXG4gICAgICAgICAgY29uc29sZS5kZWJ1ZyhcbiAgICAgICAgICAgIGAkeyhvcHRzICYmIG9wdHMubG9nUHJlZml4KSB8fCAnW21lbnUtc2VydmljZV0nfSBIaWRlIGl0ZW0gJyR7aXRlbS50aXRsZX0nOiBuZWVkIGV4YWN0IHByb2ZpbGUgJyR7aXRlbS5leGFjdFByb2ZpbGV9JyB0byBhY2Nlc3MgcGF0aCAnJHtpdGVtLnBhdGh9J2BcbiAgICAgICAgICApO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgZW5hYmxlIGJ5IGNvbmZpZ1xuICAgIGlmIChpdGVtLmlmUHJvcGVydHkpIHtcbiAgICAgIC8vY29uc29sZS5kZWJ1ZyhcIlttZW51XSBDaGVja2luZyBpZiBwcm9wZXJ0eSBlbmFibGUgPyBcIiArIGl0ZW0uaWZQcm9wZXJ0eSwgY29uZmlnICYmIGNvbmZpZy5wcm9wZXJ0aWVzKTtcbiAgICAgIGNvbnN0IGlzRW5hYmxlQnlDb25maWcgPSBpdGVtLmlmUHJvcGVydHkuc3RhcnRzV2l0aCgnIScpXG4gICAgICAgID8gY29uZmlnPy5wcm9wZXJ0aWVzPy5baXRlbS5pZlByb3BlcnR5LnN1YnN0cmluZygxKV0gIT09ICd0cnVlJ1xuICAgICAgICA6IGNvbmZpZz8ucHJvcGVydGllcz8uW2l0ZW0uaWZQcm9wZXJ0eV0gPT09ICd0cnVlJztcbiAgICAgIGlmICghaXNFbmFibGVCeUNvbmZpZykge1xuICAgICAgICBpZiAob3B0cy5kZWJ1ZykgY29uc29sZS5kZWJ1ZyhcIlttZW51LXNlcnZpY2VdIENvbmZpZyBwcm9wZXJ0eSAnXCIgKyBpdGVtLmlmUHJvcGVydHkgKyBcIicgbm90ICd0cnVlJyBmb3IgXCIsIGl0ZW0ucGF0aCk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHN0YXRpYyBjaGVja0lmU3ViTWVudVZpc2libGUoaXRlbTogTWVudUl0ZW0sIGN1cnJlbnRQYXRoUGFyYW06IE1lbnVQYXRoUGFyYW0pIHtcbiAgICBpZiAoIWl0ZW0ucGFyZW50UGF0aCkgcmV0dXJuIGZhbHNlOyAvLyBTaG91bGQgaGF2ZSBhIHBhcmVudFxuXG4gICAgaWYgKGl0ZW0uc3RhdGljKSByZXR1cm4gdHJ1ZTsgLy8gQWx3YXlzIGtlZXAgc3RhdGljIGl0ZW1zXG5cbiAgICBpZiAoaXRlbS5pc1Bpbm5lZCgpKSByZXR1cm4gdHJ1ZTsgLy8gQWx3YXlzIGtlZXAgcGlubmVkIGl0ZW1zXG5cbiAgICAvLyBLZWVwIGVhY2ggbWVudSBpdGVtcyBpbiB0aGUgc2NvcGUgb2YgdGhlIGN1cnJlbnQgdXJsIHBhdGhcbiAgICBpZiAoY3VycmVudFBhdGhQYXJhbT8ucGF0aC5zdGFydHNXaXRoKGl0ZW0ucGF0aCkpIHJldHVybiB0cnVlO1xuXG4gICAgLy8gS2VlcCBpZiBwYXJlbnQgaXMgYW4gZXhwYW5kZWQgaXRlbVxuICAgIGlmIChpdGVtLnBhcmVudD8uYWN0aW9uID09PSAnZXhwYW5kJyAmJiBpdGVtLnBhcmVudC5leHBhbmRlZCkgcmV0dXJuIHRydWU7XG5cbiAgICAvLyBOb3QgdmlzaWJsZVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHN0YXRpYyBwYXJzZVBhdGhXaXRoUXVlcnkocGF0aFdpdGhRdWVyeTogc3RyaW5nKTogTWVudVBhdGhQYXJhbSB7XG4gICAgY29uc3QgaW5kZXggPSBwYXRoV2l0aFF1ZXJ5Lmxhc3RJbmRleE9mKCc/Jyk7XG4gICAgaWYgKGluZGV4IDwgMCkgcmV0dXJuIHsgcGF0aDogcGF0aFdpdGhRdWVyeSwgcGFyYW1zOiB7fSB9O1xuICAgIGNvbnN0IHBhdGggPSBwYXRoV2l0aFF1ZXJ5LnN1YnN0cmluZygwLCBpbmRleCk7XG4gICAgY29uc3QgcXVlcnlTdHJpbmcgPSBwYXRoV2l0aFF1ZXJ5LnN1YnN0cmluZyhpbmRleCk7XG4gICAgY29uc3QgcGFyYW1zID0gT2JqZWN0LmZyb21FbnRyaWVzKG5ldyBVUkxTZWFyY2hQYXJhbXMocXVlcnlTdHJpbmcpKTtcbiAgICByZXR1cm4geyBwYXRoLCBwYXJhbXMgfTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRVcmwoaXRlbTogSU1lbnVJdGVtKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXJsRnJvbVBhdGhBbmRQYXJhbXMoaXRlbT8ucGF0aCwgaXRlbT8ucGF0aFBhcmFtcyk7XG4gIH1cblxuICBzdGF0aWMgZ2V0VXJsRnJvbVBhdGhBbmRQYXJhbXMocGF0aDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcbiAgICBjb25zdCBxdWVyeVN0cmluZyA9IE9iamVjdC5lbnRyaWVzKHBhcmFtcyB8fCB7fSlcbiAgICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4gYCR7a2V5fT0ke3ZhbHVlfWApXG4gICAgICAuam9pbignJicpO1xuICAgIGlmIChpc05pbE9yQmxhbmsocXVlcnlTdHJpbmcpKSByZXR1cm4gcGF0aCB8fCAnJztcbiAgICByZXR1cm4gYCR7cGF0aCB8fCAnJ30/JHtxdWVyeVN0cmluZ31gO1xuICB9XG5cbiAgc3RhdGljIHNvcnRCeVBhcmFtT3JJZENvbXBhcmF0b3IocGFyYW1OYW1lPzogc3RyaW5nKTogKG4xOiBJTWVudUl0ZW0sIG4yOiBJTWVudUl0ZW0pID0+IG51bWJlciB7XG4gICAgcGFyYW1OYW1lID0gcGFyYW1OYW1lIHx8ICd0YWInO1xuICAgIHJldHVybiAobjE6IElNZW51SXRlbSwgbjI6IElNZW51SXRlbSkgPT4ge1xuICAgICAgY29uc3QgZDEgPSB0b0ludChuMS5wYXRoUGFyYW1zPy5bcGFyYW1OYW1lXSwgbjEuaWQpO1xuICAgICAgY29uc3QgZDIgPSB0b0ludChuMi5wYXRoUGFyYW1zPy5bcGFyYW1OYW1lXSwgbjIuaWQpO1xuICAgICAgcmV0dXJuIGQxID09PSBkMiA/IDAgOiBkMSA+IGQyID8gMSA6IC0xO1xuICAgIH07XG4gIH1cblxuICBzdGF0aWMgc29ydEJ5VGFiT3JJZCA9IHRoaXMuc29ydEJ5UGFyYW1PcklkQ29tcGFyYXRvcigndGFiJyk7XG59XG5cbi8qKlxuICogT3B0aW9ucyB0byBjb25maWd1cmUgc3BlY2lmaWMgYmVoYXZpb3Igb24gcHJvamVjdHNcbiAqL1xuZXhwb3J0IGNsYXNzIE1lbnVPcHRpb25zIHtcbiAgc3ViTWVudT86IHtcbiAgICBlbmFibGU/OiBib29sZWFuO1xuICAgIHNob3dQaW5CdXR0b24/OiBib29sZWFuO1xuICAgIGRpc2FibGVJY29uPzogYm9vbGVhbjtcbiAgICBzYXZlUGlubmVkPzogYm9vbGVhbjtcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { SharedModule } from '../../shared/shared.module';
|
|
3
|
-
import { MenuComponent } from './menu.component';
|
|
4
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
5
|
-
import { RouterModule } from '@angular/router';
|
|
6
|
-
import { SubMenuTabDirective } from './sub-menu-tab.directive';
|
|
7
|
-
import { RxStateModule } from '../../shared/rx-state/rx-state.module';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@ngx-translate/core";
|
|
10
|
-
export class AppMenuModule {
|
|
11
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: AppMenuModule, declarations: [
|
|
13
|
-
// Components
|
|
14
|
-
MenuComponent,
|
|
15
|
-
// Directive
|
|
16
|
-
SubMenuTabDirective], imports: [SharedModule, RouterModule, RxStateModule, i1.TranslateModule], exports: [
|
|
17
|
-
// Modules
|
|
18
|
-
TranslateModule,
|
|
19
|
-
// Components
|
|
20
|
-
MenuComponent,
|
|
21
|
-
// Directive
|
|
22
|
-
SubMenuTabDirective] });
|
|
23
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppMenuModule, imports: [SharedModule, RouterModule, RxStateModule, TranslateModule.forChild(),
|
|
24
|
-
// Modules
|
|
25
|
-
TranslateModule] });
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppMenuModule, decorators: [{
|
|
28
|
-
type: NgModule,
|
|
29
|
-
args: [{
|
|
30
|
-
imports: [SharedModule, RouterModule, RxStateModule, TranslateModule.forChild()],
|
|
31
|
-
declarations: [
|
|
32
|
-
// Components
|
|
33
|
-
MenuComponent,
|
|
34
|
-
// Directive
|
|
35
|
-
SubMenuTabDirective,
|
|
36
|
-
],
|
|
37
|
-
exports: [
|
|
38
|
-
// Modules
|
|
39
|
-
TranslateModule,
|
|
40
|
-
// Components
|
|
41
|
-
MenuComponent,
|
|
42
|
-
// Directive
|
|
43
|
-
SubMenuTabDirective,
|
|
44
|
-
],
|
|
45
|
-
}]
|
|
46
|
-
}] });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvbWVudS9tZW51Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7OztBQW9CdEUsTUFBTSxPQUFPLGFBQWE7d0dBQWIsYUFBYTt5R0FBYixhQUFhO1lBZHRCLGFBQWE7WUFDYixhQUFhO1lBQ2IsWUFBWTtZQUNaLG1CQUFtQixhQU5YLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYTtZQVNqRCxVQUFVO1lBQ1YsZUFBZTtZQUNmLGFBQWE7WUFDYixhQUFhO1lBQ2IsWUFBWTtZQUNaLG1CQUFtQjt5R0FHVixhQUFhLFlBakJkLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUU7WUFTN0UsVUFBVTtZQUNWLGVBQWU7OzRGQU9OLGFBQWE7a0JBbEJ6QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFFaEYsWUFBWSxFQUFFO3dCQUNaLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixZQUFZO3dCQUNaLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFVBQVU7d0JBQ1YsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixtQkFBbUI7cUJBQ3BCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcbmltcG9ydCB7IE1lbnVDb21wb25lbnQgfSBmcm9tICcuL21lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN1Yk1lbnVUYWJEaXJlY3RpdmUgfSBmcm9tICcuL3N1Yi1tZW51LXRhYi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUnhTdGF0ZU1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9yeC1zdGF0ZS9yeC1zdGF0ZS5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbU2hhcmVkTW9kdWxlLCBSb3V0ZXJNb2R1bGUsIFJ4U3RhdGVNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpXSxcblxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICAvLyBDb21wb25lbnRzXG4gICAgTWVudUNvbXBvbmVudCxcbiAgICAvLyBEaXJlY3RpdmVcbiAgICBTdWJNZW51VGFiRGlyZWN0aXZlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgLy8gTW9kdWxlc1xuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAvLyBDb21wb25lbnRzXG4gICAgTWVudUNvbXBvbmVudCxcbiAgICAvLyBEaXJlY3RpdmVcbiAgICBTdWJNZW51VGFiRGlyZWN0aXZlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBNZW51TW9kdWxlIHt9XG4iXX0=
|