@sumaris-net/ngx-components 18.14.0 → 18.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/public_api.mjs +390 -0
- package/esm2022/src/app/admin/admin-routing.module.mjs +34 -0
- package/esm2022/src/app/admin/admin.module.mjs +32 -0
- package/esm2022/src/app/admin/services/filter/person.filter.mjs +76 -0
- package/esm2022/src/app/admin/services/person.service.mjs +184 -0
- package/esm2022/src/app/admin/services/validator/person.validator.mjs +72 -0
- package/esm2022/src/app/admin/users/users.mjs +379 -0
- package/esm2022/src/app/admin/users/users.module.mjs +56 -0
- package/esm2022/src/app/core/about/about.modal.mjs +86 -0
- package/esm2022/src/app/core/about/about.module.mjs +22 -0
- package/esm2022/src/app/core/account/account.module.mjs +75 -0
- package/esm2022/src/app/core/account/account.page.mjs +364 -0
- package/esm2022/src/app/core/account/new-token.form.mjs +106 -0
- package/esm2022/src/app/core/account/new-token.modal.mjs +66 -0
- package/esm2022/src/app/core/account/password/change-password.form.mjs +63 -0
- package/esm2022/src/app/core/account/password/change-password.module.mjs +22 -0
- package/esm2022/src/app/core/account/password/change-password.page.mjs +150 -0
- package/esm2022/src/app/core/account/token.table.mjs +157 -0
- package/esm2022/src/app/core/auth/auth.form.mjs +159 -0
- package/esm2022/src/app/core/auth/auth.modal.mjs +76 -0
- package/esm2022/src/app/core/auth/auth.module.mjs +56 -0
- package/esm2022/src/app/core/auth/reset-password.modal.mjs +89 -0
- package/esm2022/src/app/core/core.module.mjs +151 -0
- package/esm2022/src/app/core/core.testing.module.mjs +107 -0
- package/esm2022/src/app/core/form/array/form-array.mjs +328 -0
- package/esm2022/src/app/core/form/array/testing/form-array-test.module.mjs +23 -0
- package/esm2022/src/app/core/form/array/testing/form-array.test.mjs +94 -0
- package/esm2022/src/app/core/form/buttons/form-buttons-bar.component.mjs +108 -0
- package/esm2022/src/app/core/form/buttons/form-buttons-bar.module.mjs +31 -0
- package/esm2022/src/app/core/form/entity/editor.class.mjs +268 -0
- package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +420 -0
- package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +741 -0
- package/esm2022/src/app/core/form/entity/entity-metadata.component.mjs +24 -0
- package/esm2022/src/app/core/form/entity/entity.module.mjs +32 -0
- package/esm2022/src/app/core/form/entity/tab-editor.class.mjs +190 -0
- package/esm2022/src/app/core/form/form-container.class.mjs +341 -0
- package/esm2022/src/app/core/form/form.class.mjs +337 -0
- package/esm2022/src/app/core/form/form.module.mjs +70 -0
- package/esm2022/src/app/core/form/form.utils.mjs +232 -0
- package/esm2022/src/app/core/form/list/list.form.mjs +235 -0
- package/esm2022/src/app/core/form/list/list.module.mjs +31 -0
- package/esm2022/src/app/core/form/properties/properties.form.mjs +317 -0
- package/esm2022/src/app/core/form/properties/properties.module.mjs +37 -0
- package/esm2022/src/app/core/form/properties/properties.table.mjs +264 -0
- package/esm2022/src/app/core/form/properties/properties.utils.mjs +304 -0
- package/esm2022/src/app/core/form/properties/property.validator.mjs +70 -0
- package/esm2022/src/app/core/form/properties/testing/properties-form.test.mjs +104 -0
- package/esm2022/src/app/core/form/properties/testing/properties-form.testing.module.mjs +23 -0
- package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.mjs +73 -0
- package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +30 -0
- package/esm2022/src/app/core/form/text-popover/text-popover.component.mjs +161 -0
- package/esm2022/src/app/core/form/text-popover/text-popover.module.mjs +31 -0
- package/esm2022/src/app/core/form/username/username.form.mjs +55 -0
- package/esm2022/src/app/core/form/username/username.module.mjs +20 -0
- package/esm2022/src/app/core/graphql/graphql.module.mjs +14 -0
- package/esm2022/src/app/core/graphql/graphql.service.mjs +781 -0
- package/esm2022/src/app/core/graphql/graphql.utils.mjs +119 -0
- package/esm2022/src/app/core/home/home.mjs +403 -0
- package/esm2022/src/app/core/home/home.module.mjs +54 -0
- package/esm2022/src/app/core/icon/icon.component.mjs +40 -0
- package/esm2022/src/app/core/icon/icon.module.mjs +20 -0
- package/esm2022/src/app/core/install/install-upgrade-card.component.mjs +394 -0
- package/esm2022/src/app/core/install/install-upgrade-card.module.mjs +31 -0
- package/esm2022/src/app/core/menu/menu.component.mjs +258 -0
- package/esm2022/src/app/core/menu/menu.model.mjs +272 -0
- package/esm2022/src/app/core/menu/menu.module.mjs +47 -0
- package/esm2022/src/app/core/menu/menu.service.mjs +666 -0
- package/esm2022/src/app/core/menu/sub-menu-tab.directive.mjs +109 -0
- package/esm2022/src/app/core/menu/testing/menu-other.testing.mjs +50 -0
- package/esm2022/src/app/core/menu/testing/menu.testing.mjs +158 -0
- package/esm2022/src/app/core/menu/testing/menu.testing.module.mjs +60 -0
- package/esm2022/src/app/core/offline/update-offline-mode-card.component.mjs +28 -0
- package/esm2022/src/app/core/offline/update-offline-mode-card.module.mjs +31 -0
- package/esm2022/src/app/core/peer/select-peer.modal.mjs +344 -0
- package/esm2022/src/app/core/peer/select-peer.module.mjs +36 -0
- package/esm2022/src/app/core/register/register-confirm.page.mjs +90 -0
- package/esm2022/src/app/core/register/register.form.mjs +194 -0
- package/esm2022/src/app/core/register/register.modal.mjs +55 -0
- package/esm2022/src/app/core/register/register.module.mjs +23 -0
- package/esm2022/src/app/core/services/account.service.mjs +1358 -0
- package/esm2022/src/app/core/services/auth-guard.service.mjs +74 -0
- package/esm2022/src/app/core/services/base-entity-service.class.mjs +485 -0
- package/esm2022/src/app/core/services/base-graphql-service.class.mjs +230 -0
- package/esm2022/src/app/core/services/base58.mjs +83 -0
- package/esm2022/src/app/core/services/config/core.config.mjs +258 -0
- package/esm2022/src/app/core/services/config.service.mjs +384 -0
- package/esm2022/src/app/core/services/crypto.service.mjs +107 -0
- package/esm2022/src/app/core/services/errors.mjs +54 -0
- package/esm2022/src/app/core/services/local-settings.service.mjs +517 -0
- package/esm2022/src/app/core/services/model/account.model.mjs +178 -0
- package/esm2022/src/app/core/services/model/config.model.mjs +107 -0
- package/esm2022/src/app/core/services/model/department.model.mjs +35 -0
- package/esm2022/src/app/core/services/model/entity.decorators.mjs +97 -0
- package/esm2022/src/app/core/services/model/entity.model.mjs +338 -0
- package/esm2022/src/app/core/services/model/filter.model.mjs +93 -0
- package/esm2022/src/app/core/services/model/history.model.mjs +2 -0
- package/esm2022/src/app/core/services/model/model.enum.mjs +11 -0
- package/esm2022/src/app/core/services/model/node-feature.model.mjs +31 -0
- package/esm2022/src/app/core/services/model/peer.model.mjs +113 -0
- package/esm2022/src/app/core/services/model/person.model.mjs +114 -0
- package/esm2022/src/app/core/services/model/referential.model.mjs +205 -0
- package/esm2022/src/app/core/services/model/settings.model.mjs +6 -0
- package/esm2022/src/app/core/services/model/token.model.mjs +57 -0
- package/esm2022/src/app/core/services/model/tree-item-entity.model.mjs +220 -0
- package/esm2022/src/app/core/services/network.service.mjs +649 -0
- package/esm2022/src/app/core/services/network.types.mjs +2 -0
- package/esm2022/src/app/core/services/network.utils.mjs +35 -0
- package/esm2022/src/app/core/services/pipes/account.pipes.mjs +38 -0
- package/esm2022/src/app/core/services/pipes/department-to-string.pipe.mjs +23 -0
- package/esm2022/src/app/core/services/pipes/person-to-string.pipe.mjs +23 -0
- package/esm2022/src/app/core/services/pipes/pipes.module.mjs +54 -0
- package/esm2022/src/app/core/services/pipes/referential-to-string.pipe.mjs +21 -0
- package/esm2022/src/app/core/services/pipes/usage-mode.pipes.mjs +37 -0
- package/esm2022/src/app/core/services/platform.service.mjs +627 -0
- package/esm2022/src/app/core/services/storage/entities-storage.service.mjs +427 -0
- package/esm2022/src/app/core/services/storage/entity-store.class.mjs +450 -0
- package/esm2022/src/app/core/services/testing/referential-filter.model.mjs +25 -0
- package/esm2022/src/app/core/services/testing/referential.validator.mjs +46 -0
- package/esm2022/src/app/core/services/validator/account.validator.mjs +45 -0
- package/esm2022/src/app/core/services/validator/base.validator.class.mjs +49 -0
- package/esm2022/src/app/core/services/validator/local-settings.validator.mjs +57 -0
- package/esm2022/src/app/core/services/validator/user-settings.validator.mjs +27 -0
- package/esm2022/src/app/core/services/validator/user-token.validator.mjs +55 -0
- package/esm2022/src/app/core/settings/settings.module.mjs +23 -0
- package/esm2022/src/app/core/settings/settings.page.mjs +403 -0
- package/esm2022/src/app/core/table/async-table.class.mjs +1813 -0
- package/esm2022/src/app/core/table/column/actions-column.component.mjs +130 -0
- package/esm2022/src/app/core/table/column/nav-actions-column.component.mjs +117 -0
- package/esm2022/src/app/core/table/column/row-field.component.mjs +116 -0
- package/esm2022/src/app/core/table/entities-async-table-datasource.class.mjs +415 -0
- package/esm2022/src/app/core/table/entities-table-datasource.class.mjs +407 -0
- package/esm2022/src/app/core/table/memory-table.class.mjs +57 -0
- package/esm2022/src/app/core/table/table-select-columns.component.mjs +46 -0
- package/esm2022/src/app/core/table/table.class.mjs +1869 -0
- package/esm2022/src/app/core/table/table.model.mjs +21 -0
- package/esm2022/src/app/core/table/table.module.mjs +51 -0
- package/esm2022/src/app/core/table/table.pipes.mjs +77 -0
- package/esm2022/src/app/core/table/table.utils.mjs +34 -0
- package/esm2022/src/app/core/table/testing/table-validator.service.mjs +32 -0
- package/esm2022/src/app/core/table/testing/table.testing.mjs +329 -0
- package/esm2022/src/app/core/table/testing/table.testing.module.mjs +25 -0
- package/esm2022/src/app/core/table/testing/table2-validator.service.mjs +25 -0
- package/esm2022/src/app/core/table/testing/table2.testing.mjs +273 -0
- package/esm2022/src/app/shared/alerts.mjs +243 -0
- package/esm2022/src/app/shared/audio/audio.mjs +255 -0
- package/esm2022/src/app/shared/audio/audio.testing.mjs +32 -0
- package/esm2022/src/app/shared/audio/audio.testing.module.mjs +30 -0
- package/esm2022/src/app/shared/capacitor/keyboard.mjs +42 -0
- package/esm2022/src/app/shared/capacitor/plugins.mjs +9 -0
- package/esm2022/src/app/shared/constants.mjs +16 -0
- package/esm2022/src/app/shared/dates.mjs +180 -0
- package/esm2022/src/app/shared/debug/debug-service.class.mjs +3 -0
- package/esm2022/src/app/shared/debug/debug.component.mjs +44 -0
- package/esm2022/src/app/shared/debug/debug.module.mjs +23 -0
- package/esm2022/src/app/shared/directives/autofocus.directive.mjs +91 -0
- package/esm2022/src/app/shared/directives/autoresize.directive.mjs +75 -0
- package/esm2022/src/app/shared/directives/autotitle.directive.mjs +30 -0
- package/esm2022/src/app/shared/directives/directives.module.mjs +24 -0
- package/esm2022/src/app/shared/directives/drag-and-drop.directive.mjs +52 -0
- package/esm2022/src/app/shared/directives/ng-var.directive.mjs +33 -0
- package/esm2022/src/app/shared/directives/resizable/resizable.component.mjs +62 -0
- package/esm2022/src/app/shared/directives/resizable/resizable.directive.mjs +45 -0
- package/esm2022/src/app/shared/directives/resizable/resizable.module.mjs +17 -0
- package/esm2022/src/app/shared/directives/throttled-click.directive.mjs +43 -0
- package/esm2022/src/app/shared/events.mjs +64 -0
- package/esm2022/src/app/shared/file/csv.utils.mjs +97 -0
- package/esm2022/src/app/shared/file/file.service.mjs +118 -0
- package/esm2022/src/app/shared/file/file.utils.mjs +117 -0
- package/esm2022/src/app/shared/file/images.utils.mjs +186 -0
- package/esm2022/src/app/shared/file/json.utils.mjs +58 -0
- package/esm2022/src/app/shared/file/uri.utils.mjs +29 -0
- package/esm2022/src/app/shared/file/url.utils.mjs +195 -0
- package/esm2022/src/app/shared/focusable.mjs +6 -0
- package/esm2022/src/app/shared/form/field.component.mjs +393 -0
- package/esm2022/src/app/shared/form/field.model.mjs +82 -0
- package/esm2022/src/app/shared/form/loading-spinner.mjs +35 -0
- package/esm2022/src/app/shared/forms.mjs +573 -0
- package/esm2022/src/app/shared/functions.mjs +672 -0
- package/esm2022/src/app/shared/geolocation/geolocation.utils.mjs +86 -0
- package/esm2022/src/app/shared/gesture/gesture-config.mjs +46 -0
- package/esm2022/src/app/shared/gesture/hammer.utils.mjs +2 -0
- package/esm2022/src/app/shared/graph/colors.utils.mjs +60 -0
- package/esm2022/src/app/shared/graph/graph-colors.mjs +214 -0
- package/esm2022/src/app/shared/guard/component-dirty.guard.mjs +65 -0
- package/esm2022/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +23 -0
- package/esm2022/src/app/shared/hotkeys/hotkeys.service.mjs +147 -0
- package/esm2022/src/app/shared/hotkeys/shared-hotkeys.module.mjs +24 -0
- package/esm2022/src/app/shared/http/http.utils.mjs +56 -0
- package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +443 -0
- package/esm2022/src/app/shared/image/gallery/image-gallery.module.mjs +62 -0
- package/esm2022/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +26 -0
- package/esm2022/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +87 -0
- package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.mjs +37 -0
- package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +59 -0
- package/esm2022/src/app/shared/image/image.model.mjs +2 -0
- package/esm2022/src/app/shared/image/image.module.mjs +24 -0
- package/esm2022/src/app/shared/image/image.service.mjs +109 -0
- package/esm2022/src/app/shared/inputs.mjs +279 -0
- package/esm2022/src/app/shared/interceptors/progess.interceptor.mjs +27 -0
- package/esm2022/src/app/shared/logging/log-level.model.mjs +48 -0
- package/esm2022/src/app/shared/logging/logger.model.mjs +47 -0
- package/esm2022/src/app/shared/logging/logging-service.class.mjs +125 -0
- package/esm2022/src/app/shared/logging/logging-service.config.mjs +2 -0
- package/esm2022/src/app/shared/logging/logging-service.module.mjs +30 -0
- package/esm2022/src/app/shared/markdown/markdown.component.mjs +321 -0
- package/esm2022/src/app/shared/markdown/markdown.directive.mjs +34 -0
- package/esm2022/src/app/shared/markdown/markdown.modal.mjs +99 -0
- package/esm2022/src/app/shared/markdown/markdown.module.mjs +87 -0
- package/esm2022/src/app/shared/markdown/markdown.service.mjs +204 -0
- package/esm2022/src/app/shared/markdown/markdown.utils.mjs +87 -0
- package/esm2022/src/app/shared/markdown/testing/markdown.test.mjs +55 -0
- package/esm2022/src/app/shared/markdown/testing/markdown.testing.module.mjs +30 -0
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +46 -0
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +1313 -0
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +79 -0
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +18 -0
- package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +242 -0
- package/esm2022/src/app/shared/material/badge/badge.directive.mjs +251 -0
- package/esm2022/src/app/shared/material/badge/badge.module.mjs +20 -0
- package/esm2022/src/app/shared/material/badge/badge.test.mjs +42 -0
- package/esm2022/src/app/shared/material/boolean/boolean.module.mjs +67 -0
- package/esm2022/src/app/shared/material/boolean/material.boolean.mjs +371 -0
- package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +72 -0
- package/esm2022/src/app/shared/material/chips/chips.module.mjs +71 -0
- package/esm2022/src/app/shared/material/chips/material.chips.mjs +836 -0
- package/esm2022/src/app/shared/material/chips/testing/chips.test.mjs +151 -0
- package/esm2022/src/app/shared/material/datetime/datetime.module.mjs +76 -0
- package/esm2022/src/app/shared/material/datetime/material.date.mjs +471 -0
- package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +457 -0
- package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +693 -0
- package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +136 -0
- package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +127 -0
- package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +118 -0
- package/esm2022/src/app/shared/material/duration/duration.module.mjs +61 -0
- package/esm2022/src/app/shared/material/duration/duration.utils.mjs +16 -0
- package/esm2022/src/app/shared/material/duration/material.duration.mjs +283 -0
- package/esm2022/src/app/shared/material/duration/testing/mat-duration.test.mjs +85 -0
- package/esm2022/src/app/shared/material/latlong/latlong.utils.mjs +319 -0
- package/esm2022/src/app/shared/material/latlong/material.latlong-input.mjs +432 -0
- package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +231 -0
- package/esm2022/src/app/shared/material/latlong/material.latlong.module.mjs +68 -0
- package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +137 -0
- package/esm2022/src/app/shared/material/material.animations.mjs +200 -0
- package/esm2022/src/app/shared/material/material.config.mjs +3 -0
- package/esm2022/src/app/shared/material/material.module.mjs +229 -0
- package/esm2022/src/app/shared/material/material.testing.module.mjs +245 -0
- package/esm2022/src/app/shared/material/paginator/material.paginator-i18n.mjs +51 -0
- package/esm2022/src/app/shared/material/stepper/material.stepper-i18n.mjs +23 -0
- package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +379 -0
- package/esm2022/src/app/shared/material/swipe/swipe.module.mjs +52 -0
- package/esm2022/src/app/shared/material/swipe/testing/swipe.test.mjs +67 -0
- package/esm2022/src/app/shared/material/test/test-component.mjs +264 -0
- package/esm2022/src/app/shared/material/testing/common.test.mjs +111 -0
- package/esm2022/src/app/shared/material/text/testing/text-form.testing.mjs +42 -0
- package/esm2022/src/app/shared/material/text/text-form.component.mjs +205 -0
- package/esm2022/src/app/shared/material/text/text-form.module.mjs +63 -0
- package/esm2022/src/app/shared/modules.mjs +12 -0
- package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +303 -0
- package/esm2022/src/app/shared/named-filter/named-filter.model.mjs +49 -0
- package/esm2022/src/app/shared/named-filter/named-filter.module.mjs +24 -0
- package/esm2022/src/app/shared/named-filter/named-filter.service.mjs +69 -0
- package/esm2022/src/app/shared/named-filter/testing/named-filter-selector.testing.mjs +74 -0
- package/esm2022/src/app/shared/named-filter/testing/named-filter.testing.module.mjs +28 -0
- package/esm2022/src/app/shared/observables.mjs +100 -0
- package/esm2022/src/app/shared/pipes/arrays.pipe.mjs +217 -0
- package/esm2022/src/app/shared/pipes/badge.pipes.mjs +25 -0
- package/esm2022/src/app/shared/pipes/colors.pipe.mjs +29 -0
- package/esm2022/src/app/shared/pipes/date-diff-duration.pipe.mjs +50 -0
- package/esm2022/src/app/shared/pipes/date-format.pipe.mjs +72 -0
- package/esm2022/src/app/shared/pipes/date-from-now.pipe.mjs +28 -0
- package/esm2022/src/app/shared/pipes/dates.pipe.mjs +18 -0
- package/esm2022/src/app/shared/pipes/display-with.pipe.mjs +23 -0
- package/esm2022/src/app/shared/pipes/duration.pipe.mjs +34 -0
- package/esm2022/src/app/shared/pipes/file-size.pipe.mjs +53 -0
- package/esm2022/src/app/shared/pipes/form.pipes.mjs +219 -0
- package/esm2022/src/app/shared/pipes/highlight.pipe.mjs +50 -0
- package/esm2022/src/app/shared/pipes/html.pipes.mjs +69 -0
- package/esm2022/src/app/shared/pipes/latlong-format.pipe.mjs +42 -0
- package/esm2022/src/app/shared/pipes/maps.pipe.mjs +65 -0
- package/esm2022/src/app/shared/pipes/maskito.pipe.mjs +67 -0
- package/esm2022/src/app/shared/pipes/math.pipes.mjs +77 -0
- package/esm2022/src/app/shared/pipes/ng-init.pipe.mjs +19 -0
- package/esm2022/src/app/shared/pipes/number-format.pipe.mjs +17 -0
- package/esm2022/src/app/shared/pipes/observable.pipes.mjs +63 -0
- package/esm2022/src/app/shared/pipes/pipes.module.mjs +285 -0
- package/esm2022/src/app/shared/pipes/property.pipes.mjs +135 -0
- package/esm2022/src/app/shared/pipes/selection.pipes.mjs +179 -0
- package/esm2022/src/app/shared/pipes/string.pipes.mjs +183 -0
- package/esm2022/src/app/shared/pipes/translate-context.pipe.mjs +44 -0
- package/esm2022/src/app/shared/pipes/types.pipes.mjs +74 -0
- package/esm2022/src/app/shared/pipes/url.pipes.mjs +35 -0
- package/esm2022/src/app/shared/platforms.mjs +81 -0
- package/esm2022/src/app/shared/print/print.service.mjs +305 -0
- package/esm2022/src/app/shared/regexps.mjs +96 -0
- package/esm2022/src/app/shared/rx-state/rx-state.decorators.mjs +217 -0
- package/esm2022/src/app/shared/rx-state/rx-state.module.mjs +19 -0
- package/esm2022/src/app/shared/rx-state/rx-state.types.mjs +2 -0
- package/esm2022/src/app/shared/services/entity-service.class.mjs +10 -0
- package/esm2022/src/app/shared/services/job.utils.mjs +92 -0
- package/esm2022/src/app/shared/services/memory-entity-service.class.mjs +353 -0
- package/esm2022/src/app/shared/services/progress-bar.service.mjs +31 -0
- package/esm2022/src/app/shared/services/startable-observable-service.class.mjs +118 -0
- package/esm2022/src/app/shared/services/startable-service.class.mjs +107 -0
- package/esm2022/src/app/shared/services/translate-context.service.mjs +107 -0
- package/esm2022/src/app/shared/services/validator-service.class.mjs +2 -0
- package/esm2022/src/app/shared/services.mjs +85 -0
- package/esm2022/src/app/shared/shared-routing.module.mjs +72 -0
- package/esm2022/src/app/shared/shared.module.mjs +229 -0
- package/esm2022/src/app/shared/shared.testing.module.mjs +108 -0
- package/esm2022/src/app/shared/storage/storage-explorer.component.mjs +279 -0
- package/esm2022/src/app/shared/storage/storage-explorer.module.mjs +42 -0
- package/esm2022/src/app/shared/storage/storage-explorer.testing-routing.module.mjs +27 -0
- package/esm2022/src/app/shared/storage/storage-explorer.testing.module.mjs +25 -0
- package/esm2022/src/app/shared/storage/storage.service.mjs +134 -0
- package/esm2022/src/app/shared/storage/storage.utils.mjs +13 -0
- package/esm2022/src/app/shared/testing/maskito.test.mjs +41 -0
- package/esm2022/src/app/shared/testing/observable.test.mjs +94 -0
- package/esm2022/src/app/shared/testing/tests.page.mjs +37 -0
- package/esm2022/src/app/shared/toast/toast.testing.mjs +54 -0
- package/esm2022/src/app/shared/toast/toast.testing.module.mjs +31 -0
- package/esm2022/src/app/shared/toast/toasts.mjs +134 -0
- package/esm2022/src/app/shared/toolbar/modal-toolbar.mjs +62 -0
- package/esm2022/src/app/shared/toolbar/toolbar.mjs +267 -0
- package/esm2022/src/app/shared/toolbar/toolbar.module.mjs +26 -0
- package/esm2022/src/app/shared/types.mjs +2 -0
- package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.mjs +59 -0
- package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +30 -0
- package/esm2022/src/app/shared/upload-file/upload-file-popover.component.mjs +109 -0
- package/esm2022/src/app/shared/upload-file/upload-file.component.mjs +216 -0
- package/esm2022/src/app/shared/upload-file/upload-file.model.mjs +26 -0
- package/esm2022/src/app/shared/validator/form-error-adapter.class.mjs +115 -0
- package/esm2022/src/app/shared/validator/validators.mjs +621 -0
- package/esm2022/src/app/shared/version/versions.mjs +81 -0
- package/esm2022/src/app/social/config/social.config.mjs +9 -0
- package/esm2022/src/app/social/feed/discourse/discourse-feed.service.mjs +179 -0
- package/esm2022/src/app/social/feed/discourse/discourse.model.mjs +2 -0
- package/esm2022/src/app/social/feed/discourse/discourse.utils.mjs +168 -0
- package/esm2022/src/app/social/feed/feed.component.mjs +121 -0
- package/esm2022/src/app/social/feed/feed.directive.mjs +151 -0
- package/esm2022/src/app/social/feed/feed.model.mjs +68 -0
- package/esm2022/src/app/social/feed/feed.module.mjs +22 -0
- package/esm2022/src/app/social/feed/feed.service.mjs +3 -0
- package/esm2022/src/app/social/job/job.module.mjs +23 -0
- package/esm2022/src/app/social/job/progression/job-progression.component.mjs +35 -0
- package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +235 -0
- package/esm2022/src/app/social/job/progression/job-progression.list.mjs +47 -0
- package/esm2022/src/app/social/job/progression/job-progression.model.mjs +29 -0
- package/esm2022/src/app/social/job/progression/job-progression.service.mjs +91 -0
- package/esm2022/src/app/social/job/testing/job-progression.testing.mjs +38 -0
- package/esm2022/src/app/social/job/testing/job-progression.testing.service.mjs +34 -0
- package/esm2022/src/app/social/job/testing/job.testing.module.mjs +22 -0
- package/esm2022/src/app/social/message/message.form.mjs +141 -0
- package/esm2022/src/app/social/message/message.modal.mjs +110 -0
- package/esm2022/src/app/social/message/message.model.mjs +75 -0
- package/esm2022/src/app/social/message/message.module.mjs +22 -0
- package/esm2022/src/app/social/message/message.service.mjs +110 -0
- package/esm2022/src/app/social/social.errors.mjs +10 -0
- package/esm2022/src/app/social/social.module.mjs +22 -0
- package/esm2022/src/app/social/social.testing.module.mjs +40 -0
- package/esm2022/src/app/social/user-event/notification/user-event-notification.icon.mjs +187 -0
- package/esm2022/src/app/social/user-event/notification/user-event-notification.list.mjs +277 -0
- package/esm2022/src/app/social/user-event/notification/user-event-notification.modal.mjs +81 -0
- package/esm2022/src/app/social/user-event/testing/user-event.testing.mjs +273 -0
- package/esm2022/src/app/social/user-event/testing/user-event.testing.model.mjs +129 -0
- package/esm2022/src/app/social/user-event/testing/user-event.testing.module.mjs +22 -0
- package/esm2022/src/app/social/user-event/testing/user-event.testing.service.mjs +128 -0
- package/esm2022/src/app/social/user-event/user-event.model.mjs +2 -0
- package/esm2022/src/app/social/user-event/user-event.module.mjs +24 -0
- package/esm2022/src/app/social/user-event/user-event.service.mjs +512 -0
- package/esm2022/src/environments/environment.class.mjs +66 -0
- package/esm2022/src/environments/environment.loader.mjs +77 -0
- package/esm2022/src/environments/environment.mjs +118 -0
- package/esm2022/sumaris-net.ngx-components.mjs +5 -0
- package/fesm2022/sumaris-net.ngx-components.mjs +49764 -0
- package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/package.json +19 -133
- package/public_api.d.ts +354 -0
- package/src/app/admin/admin-routing.module.d.ts +9 -0
- package/src/app/admin/admin.module.d.ts +10 -0
- package/src/app/admin/services/filter/person.filter.d.ts +22 -0
- package/src/app/admin/services/person.service.d.ts +37 -0
- package/src/app/admin/services/validator/person.validator.d.ts +23 -0
- package/src/app/admin/users/users.d.ts +61 -0
- package/src/app/admin/users/users.module.d.ts +14 -0
- package/src/app/core/about/about.modal.d.ts +32 -0
- package/src/app/core/about/about.module.d.ts +11 -0
- package/src/app/core/account/account.module.d.ts +18 -0
- package/src/app/core/account/account.page.d.ts +83 -0
- package/src/app/core/account/new-token.form.d.ts +29 -0
- package/src/app/core/account/new-token.modal.d.ts +29 -0
- package/src/app/core/account/password/change-password.form.d.ts +19 -0
- package/src/app/core/account/password/change-password.module.d.ts +11 -0
- package/src/app/core/account/password/change-password.page.d.ts +36 -0
- package/src/app/core/account/token.table.d.ts +27 -0
- package/src/app/core/auth/auth.form.d.ts +38 -0
- package/src/app/core/auth/auth.modal.d.ts +24 -0
- package/src/app/core/auth/auth.module.d.ts +13 -0
- package/src/app/core/auth/reset-password.modal.d.ts +29 -0
- package/src/app/core/core.module.d.ts +28 -0
- package/src/app/core/core.testing.module.d.ts +15 -0
- package/src/app/core/form/array/form-array.d.ts +137 -0
- package/src/app/core/form/array/testing/form-array-test.module.d.ts +12 -0
- package/src/app/core/form/array/testing/form-array.test.d.ts +26 -0
- package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +37 -0
- package/src/app/core/form/buttons/form-buttons-bar.module.d.ts +9 -0
- package/src/app/core/form/entity/editor.class.d.ts +84 -0
- package/src/app/core/form/entity/entity-editor-modal.class.d.ts +126 -0
- package/src/app/core/form/entity/entity-editor.class.d.ts +204 -0
- package/src/app/core/form/entity/entity-metadata.component.d.ts +13 -0
- package/src/app/core/form/entity/entity.module.d.ts +10 -0
- package/src/app/core/form/entity/tab-editor.class.d.ts +66 -0
- package/src/app/core/form/form-container.class.d.ts +127 -0
- package/src/app/core/form/form.class.d.ts +144 -0
- package/src/app/core/form/form.module.d.ts +14 -0
- package/src/app/core/form/form.utils.d.ts +287 -0
- package/src/app/core/form/list/list.form.d.ts +81 -0
- package/src/app/core/form/list/list.module.d.ts +9 -0
- package/src/app/core/form/properties/properties.form.d.ts +92 -0
- package/src/app/core/form/properties/properties.module.d.ts +11 -0
- package/src/app/core/form/properties/properties.table.d.ts +72 -0
- package/src/app/core/form/properties/properties.utils.d.ts +59 -0
- package/src/app/core/form/properties/property.validator.d.ts +27 -0
- package/src/app/core/form/properties/testing/properties-form.test.d.ts +22 -0
- package/src/app/core/form/properties/testing/properties-form.testing.module.d.ts +12 -0
- package/src/app/core/form/text-popover/testing/text-popover.testing.d.ts +16 -0
- package/src/app/core/form/text-popover/testing/text-popover.testing.module.d.ts +11 -0
- package/src/app/core/form/text-popover/text-popover.component.d.ts +80 -0
- package/src/app/core/form/text-popover/text-popover.module.d.ts +9 -0
- package/src/app/core/form/username/username.form.d.ts +19 -0
- package/src/app/core/form/username/username.module.d.ts +9 -0
- package/src/app/core/graphql/graphql.module.d.ts +7 -0
- package/src/app/core/graphql/graphql.service.d.ts +142 -0
- package/src/app/core/graphql/graphql.utils.d.ts +47 -0
- package/src/app/core/home/home.d.ts +117 -0
- package/src/app/core/home/home.module.d.ts +16 -0
- package/src/app/core/icon/icon.component.d.ts +13 -0
- package/src/app/core/icon/icon.module.d.ts +9 -0
- package/src/app/core/install/install-upgrade-card.component.d.ts +63 -0
- package/src/app/core/install/install-upgrade-card.module.d.ts +9 -0
- package/src/app/core/menu/menu.component.d.ts +66 -0
- package/src/app/core/menu/menu.model.d.ts +144 -0
- package/src/app/core/menu/menu.module.d.ts +12 -0
- package/src/app/core/menu/menu.service.d.ts +93 -0
- package/src/app/core/menu/sub-menu-tab.directive.d.ts +29 -0
- package/src/app/core/menu/testing/menu-other.testing.d.ts +15 -0
- package/src/app/core/menu/testing/menu.testing.d.ts +51 -0
- package/src/app/core/menu/testing/menu.testing.module.d.ts +12 -0
- package/src/app/core/offline/update-offline-mode-card.component.d.ts +11 -0
- package/src/app/core/offline/update-offline-mode-card.module.d.ts +9 -0
- package/src/app/core/peer/select-peer.modal.d.ts +101 -0
- package/src/app/core/peer/select-peer.module.d.ts +12 -0
- package/src/app/core/register/register-confirm.page.d.ts +24 -0
- package/src/app/core/register/register.form.d.ts +49 -0
- package/src/app/core/register/register.modal.d.ts +14 -0
- package/src/app/core/register/register.module.d.ts +12 -0
- package/src/app/core/services/account.service.d.ts +207 -0
- package/src/app/core/services/auth-guard.service.d.ts +17 -0
- package/src/app/core/services/base-entity-service.class.d.ts +135 -0
- package/src/app/core/services/base-graphql-service.class.d.ts +77 -0
- package/src/app/core/services/base58.d.ts +7 -0
- package/src/app/core/services/config/core.config.d.ts +46 -0
- package/src/app/core/services/config.service.d.ts +63 -0
- package/src/app/core/services/crypto.service.d.ts +44 -0
- package/src/app/core/services/errors.d.ts +65 -0
- package/src/app/core/services/local-settings.service.d.ts +100 -0
- package/src/app/core/services/model/account.model.d.ts +56 -0
- package/src/app/core/services/model/config.model.d.ts +36 -0
- package/src/app/core/services/model/department.model.d.ts +11 -0
- package/src/app/core/services/model/entity.decorators.d.ts +17 -0
- package/src/app/core/services/model/entity.model.d.ts +133 -0
- package/src/app/core/services/model/filter.model.d.ts +37 -0
- package/src/app/core/services/model/history.model.d.ts +20 -0
- package/src/app/core/services/model/model.enum.d.ts +7 -0
- package/src/app/core/services/model/node-feature.model.d.ts +14 -0
- package/src/app/core/services/model/peer.model.d.ts +35 -0
- package/src/app/core/services/model/person.model.d.ts +37 -0
- package/src/app/core/services/model/referential.model.d.ts +84 -0
- package/src/app/core/services/model/settings.model.d.ts +29 -0
- package/src/app/core/services/model/token.model.d.ts +22 -0
- package/src/app/core/services/model/tree-item-entity.model.d.ts +61 -0
- package/src/app/core/services/network.service.d.ts +160 -0
- package/src/app/core/services/network.types.d.ts +4 -0
- package/src/app/core/services/network.utils.d.ts +38 -0
- package/src/app/core/services/pipes/account.pipes.d.ts +15 -0
- package/src/app/core/services/pipes/department-to-string.pipe.d.ts +9 -0
- package/src/app/core/services/pipes/person-to-string.pipe.d.ts +11 -0
- package/src/app/core/services/pipes/pipes.module.d.ts +11 -0
- package/src/app/core/services/pipes/referential-to-string.pipe.d.ts +13 -0
- package/src/app/core/services/pipes/usage-mode.pipes.d.ts +15 -0
- package/src/app/core/services/platform.service.d.ts +110 -0
- package/src/app/core/services/storage/entities-storage.service.d.ts +108 -0
- package/src/app/core/services/storage/entity-store.class.d.ts +113 -0
- package/src/app/core/services/testing/referential-filter.model.d.ts +9 -0
- package/src/app/core/services/testing/referential.validator.d.ts +22 -0
- package/src/app/core/services/validator/account.validator.d.ts +24 -0
- package/src/app/core/services/validator/base.validator.class.d.ts +21 -0
- package/src/app/core/services/validator/local-settings.validator.d.ts +18 -0
- package/src/app/core/services/validator/user-settings.validator.d.ts +10 -0
- package/src/app/core/services/validator/user-token.validator.d.ts +13 -0
- package/src/app/core/settings/settings.module.d.ts +12 -0
- package/src/app/core/settings/settings.page.d.ts +88 -0
- package/src/app/core/table/async-table.class.d.ts +395 -0
- package/src/app/core/table/column/actions-column.component.d.ts +62 -0
- package/src/app/core/table/column/nav-actions-column.component.d.ts +46 -0
- package/src/app/core/table/column/row-field.component.d.ts +40 -0
- package/src/app/core/table/entities-async-table-datasource.class.d.ts +103 -0
- package/src/app/core/table/entities-table-datasource.class.d.ts +102 -0
- package/src/app/core/table/memory-table.class.d.ts +25 -0
- package/src/app/core/table/table-select-columns.component.d.ts +22 -0
- package/src/app/core/table/table.class.d.ts +400 -0
- package/src/app/core/table/table.model.d.ts +31 -0
- package/src/app/core/table/table.module.d.ts +14 -0
- package/src/app/core/table/table.pipes.d.ts +29 -0
- package/src/app/core/table/table.utils.d.ts +13 -0
- package/src/app/core/table/testing/table-validator.service.d.ts +17 -0
- package/src/app/core/table/testing/table.testing.d.ts +54 -0
- package/src/app/core/table/testing/table.testing.module.d.ts +14 -0
- package/src/app/core/table/testing/table2-validator.service.d.ts +15 -0
- package/src/app/core/table/testing/table2.testing.d.ts +48 -0
- package/src/app/shared/alerts.d.ts +55 -0
- package/src/app/shared/audio/audio.d.ts +45 -0
- package/src/app/shared/audio/audio.testing.d.ts +13 -0
- package/src/app/shared/audio/audio.testing.module.d.ts +11 -0
- package/src/app/shared/capacitor/keyboard.d.ts +16 -0
- package/src/app/shared/capacitor/plugins.d.ts +7 -0
- package/src/app/shared/constants.d.ts +13 -0
- package/src/app/shared/dates.d.ts +61 -0
- package/src/app/shared/debug/debug-service.class.d.ts +5 -0
- package/src/app/shared/debug/debug.component.d.ts +14 -0
- package/src/app/shared/debug/debug.module.d.ts +12 -0
- package/src/app/shared/directives/autofocus.directive.d.ts +18 -0
- package/src/app/shared/directives/autoresize.directive.d.ts +20 -0
- package/src/app/shared/directives/autotitle.directive.d.ts +11 -0
- package/src/app/shared/directives/directives.module.d.ts +14 -0
- package/src/app/shared/directives/drag-and-drop.directive.d.ts +17 -0
- package/src/app/shared/directives/ng-var.directive.d.ts +12 -0
- package/src/app/shared/directives/resizable/resizable.component.d.ts +21 -0
- package/src/app/shared/directives/resizable/resizable.directive.d.ts +12 -0
- package/src/app/shared/directives/resizable/resizable.module.d.ts +8 -0
- package/src/app/shared/directives/throttled-click.directive.d.ts +16 -0
- package/src/app/shared/events.d.ts +29 -0
- package/src/app/shared/file/csv.utils.d.ts +30 -0
- package/src/app/shared/file/file.service.d.ts +23 -0
- package/src/app/shared/file/file.utils.d.ts +20 -0
- package/src/app/shared/file/images.utils.d.ts +36 -0
- package/src/app/shared/file/json.utils.d.ts +19 -0
- package/src/app/shared/file/uri.utils.d.ts +8 -0
- package/src/app/shared/file/url.utils.d.ts +99 -0
- package/src/app/shared/focusable.d.ts +4 -0
- package/src/app/shared/form/field.component.d.ts +85 -0
- package/src/app/shared/form/field.model.d.ts +82 -0
- package/src/app/shared/form/loading-spinner.d.ts +8 -0
- package/src/app/shared/forms.d.ts +162 -0
- package/src/app/shared/functions.d.ts +206 -0
- package/src/app/shared/geolocation/geolocation.utils.d.ts +19 -0
- package/src/app/shared/gesture/gesture-config.d.ts +15 -0
- package/src/app/shared/gesture/hammer.utils.d.ts +16 -0
- package/src/app/shared/graph/colors.utils.d.ts +17 -0
- package/src/app/shared/graph/graph-colors.d.ts +63 -0
- package/src/app/shared/guard/component-dirty.guard.d.ts +14 -0
- package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.d.ts +8 -0
- package/src/app/shared/hotkeys/hotkeys.service.d.ts +48 -0
- package/src/app/shared/hotkeys/shared-hotkeys.module.d.ts +11 -0
- package/src/app/shared/http/http.utils.d.ts +28 -0
- package/src/app/shared/image/gallery/image-gallery.component.d.ts +137 -0
- package/src/app/shared/image/gallery/image-gallery.module.d.ts +15 -0
- package/src/app/shared/image/gallery/testing/gallegry.model.testing.d.ts +12 -0
- package/src/app/shared/image/gallery/testing/gallery.service.testing.d.ts +33 -0
- package/src/app/shared/image/gallery/testing/gallery.testing.d.ts +16 -0
- package/src/app/shared/image/gallery/testing/gallery.testing.module.d.ts +13 -0
- package/src/app/shared/image/image.model.d.ts +7 -0
- package/src/app/shared/image/image.module.d.ts +8 -0
- package/src/app/shared/image/image.service.d.ts +36 -0
- package/src/app/shared/inputs.d.ts +36 -0
- package/src/app/shared/interceptors/progess.interceptor.d.ts +8 -0
- package/src/app/shared/logging/log-level.model.d.ts +38 -0
- package/src/app/shared/logging/logger.model.d.ts +68 -0
- package/src/app/shared/logging/logging-service.class.d.ts +39 -0
- package/src/app/shared/logging/logging-service.config.d.ts +25 -0
- package/src/app/shared/logging/logging-service.module.d.ts +9 -0
- package/src/app/shared/markdown/markdown.component.d.ts +86 -0
- package/src/app/shared/markdown/markdown.directive.d.ts +13 -0
- package/src/app/shared/markdown/markdown.modal.d.ts +49 -0
- package/src/app/shared/markdown/markdown.module.d.ts +17 -0
- package/src/app/shared/markdown/markdown.service.d.ts +37 -0
- package/src/app/shared/markdown/markdown.utils.d.ts +26 -0
- package/src/app/shared/markdown/testing/markdown.test.d.ts +18 -0
- package/src/app/shared/markdown/testing/markdown.testing.module.d.ts +12 -0
- package/src/app/shared/material/autocomplete/material.autocomplete.config.d.ts +74 -0
- package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +211 -0
- package/src/app/shared/material/autocomplete/material.autocomplete.module.d.ts +22 -0
- package/src/app/shared/material/autocomplete/material.autocomplete.utils.d.ts +5 -0
- package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +48 -0
- package/src/app/shared/material/badge/badge.directive.d.ts +43 -0
- package/src/app/shared/material/badge/badge.module.d.ts +10 -0
- package/src/app/shared/material/badge/badge.test.d.ts +21 -0
- package/src/app/shared/material/boolean/boolean.module.d.ts +20 -0
- package/src/app/shared/material/boolean/material.boolean.d.ts +93 -0
- package/src/app/shared/material/boolean/testing/boolean.test.page.d.ts +26 -0
- package/src/app/shared/material/chips/chips.module.d.ts +21 -0
- package/src/app/shared/material/chips/material.chips.d.ts +164 -0
- package/src/app/shared/material/chips/testing/chips.test.d.ts +32 -0
- package/src/app/shared/material/datetime/datetime.module.d.ts +24 -0
- package/src/app/shared/material/datetime/material.date.d.ts +90 -0
- package/src/app/shared/material/datetime/material.dateshort.d.ts +89 -0
- package/src/app/shared/material/datetime/material.datetime.d.ts +116 -0
- package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +37 -0
- package/src/app/shared/material/datetime/testing/mat-date.test.d.ts +32 -0
- package/src/app/shared/material/datetime/testing/mat-dateshort.test.d.ts +31 -0
- package/src/app/shared/material/duration/duration.module.d.ts +18 -0
- package/src/app/shared/material/duration/duration.utils.d.ts +2 -0
- package/src/app/shared/material/duration/material.duration.d.ts +64 -0
- package/src/app/shared/material/duration/testing/mat-duration.test.d.ts +23 -0
- package/src/app/shared/material/latlong/latlong.utils.d.ts +59 -0
- package/src/app/shared/material/latlong/material.latlong-input.d.ts +85 -0
- package/src/app/shared/material/latlong/material.latlong.d.ts +90 -0
- package/src/app/shared/material/latlong/material.latlong.module.d.ts +21 -0
- package/src/app/shared/material/latlong/testing/latlong.test.d.ts +28 -0
- package/src/app/shared/material/material.animations.d.ts +8 -0
- package/src/app/shared/material/material.config.d.ts +3 -0
- package/src/app/shared/material/material.module.d.ts +45 -0
- package/src/app/shared/material/material.testing.module.d.ts +32 -0
- package/src/app/shared/material/paginator/material.paginator-i18n.d.ts +12 -0
- package/src/app/shared/material/stepper/material.stepper-i18n.d.ts +10 -0
- package/src/app/shared/material/swipe/material.swipe.d.ts +89 -0
- package/src/app/shared/material/swipe/swipe.module.d.ts +16 -0
- package/src/app/shared/material/swipe/testing/swipe.test.d.ts +22 -0
- package/src/app/shared/material/test/test-component.d.ts +75 -0
- package/src/app/shared/material/testing/common.test.d.ts +25 -0
- package/src/app/shared/material/text/testing/text-form.testing.d.ts +19 -0
- package/src/app/shared/material/text/text-form.component.d.ts +66 -0
- package/src/app/shared/material/text/text-form.module.d.ts +16 -0
- package/src/app/shared/modules.d.ts +9 -0
- package/src/app/shared/named-filter/named-filter-selector.component.d.ts +62 -0
- package/src/app/shared/named-filter/named-filter.model.d.ts +32 -0
- package/src/app/shared/named-filter/named-filter.module.d.ts +13 -0
- package/src/app/shared/named-filter/named-filter.service.d.ts +32 -0
- package/src/app/shared/named-filter/testing/named-filter-selector.testing.d.ts +34 -0
- package/src/app/shared/named-filter/testing/named-filter.testing.module.d.ts +10 -0
- package/src/app/shared/observables.d.ts +30 -0
- package/src/app/shared/pipes/arrays.pipe.d.ts +82 -0
- package/src/app/shared/pipes/badge.pipes.d.ts +7 -0
- package/src/app/shared/pipes/colors.pipe.d.ts +9 -0
- package/src/app/shared/pipes/date-diff-duration.pipe.d.ts +25 -0
- package/src/app/shared/pipes/date-format.pipe.d.ts +35 -0
- package/src/app/shared/pipes/date-from-now.pipe.d.ts +12 -0
- package/src/app/shared/pipes/dates.pipe.d.ts +10 -0
- package/src/app/shared/pipes/display-with.pipe.d.ts +8 -0
- package/src/app/shared/pipes/duration.pipe.d.ts +23 -0
- package/src/app/shared/pipes/file-size.pipe.d.ts +30 -0
- package/src/app/shared/pipes/form.pipes.d.ts +69 -0
- package/src/app/shared/pipes/highlight.pipe.d.ts +11 -0
- package/src/app/shared/pipes/html.pipes.d.ts +22 -0
- package/src/app/shared/pipes/latlong-format.pipe.d.ts +20 -0
- package/src/app/shared/pipes/maps.pipe.d.ts +23 -0
- package/src/app/shared/pipes/maskito.pipe.d.ts +14 -0
- package/src/app/shared/pipes/math.pipes.d.ts +26 -0
- package/src/app/shared/pipes/ng-init.pipe.d.ts +8 -0
- package/src/app/shared/pipes/number-format.pipe.d.ts +9 -0
- package/src/app/shared/pipes/observable.pipes.d.ts +25 -0
- package/src/app/shared/pipes/pipes.module.d.ts +35 -0
- package/src/app/shared/pipes/property.pipes.d.ts +41 -0
- package/src/app/shared/pipes/selection.pipes.d.ts +62 -0
- package/src/app/shared/pipes/string.pipes.d.ts +68 -0
- package/src/app/shared/pipes/translate-context.pipe.d.ts +17 -0
- package/src/app/shared/pipes/types.pipes.d.ts +30 -0
- package/src/app/shared/pipes/url.pipes.d.ts +27 -0
- package/src/app/shared/platforms.d.ts +16 -0
- package/src/app/shared/print/print.service.d.ts +94 -0
- package/src/app/shared/regexps.d.ts +32 -0
- package/src/app/shared/rx-state/rx-state.decorators.d.ts +43 -0
- package/src/app/shared/rx-state/rx-state.module.d.ts +10 -0
- package/src/app/shared/rx-state/rx-state.types.d.ts +4 -0
- package/src/app/shared/services/entity-service.class.d.ts +75 -0
- package/src/app/shared/services/job.utils.d.ts +20 -0
- package/src/app/shared/services/memory-entity-service.class.d.ts +79 -0
- package/src/app/shared/services/progress-bar.service.d.ts +20 -0
- package/src/app/shared/services/startable-observable-service.class.d.ts +36 -0
- package/src/app/shared/services/startable-service.class.d.ts +37 -0
- package/src/app/shared/services/translate-context.service.d.ts +29 -0
- package/src/app/shared/services/validator-service.class.d.ts +11 -0
- package/src/app/shared/services.d.ts +17 -0
- package/src/app/shared/shared-routing.module.d.ts +23 -0
- package/src/app/shared/shared.module.d.ts +33 -0
- package/src/app/shared/shared.testing.module.d.ts +20 -0
- package/src/app/shared/storage/storage-explorer.component.d.ts +59 -0
- package/src/app/shared/storage/storage-explorer.module.d.ts +13 -0
- package/src/app/shared/storage/storage-explorer.testing-routing.module.d.ts +9 -0
- package/src/app/shared/storage/storage-explorer.testing.module.d.ts +10 -0
- package/src/app/shared/storage/storage.service.d.ts +22 -0
- package/src/app/shared/storage/storage.utils.d.ts +19 -0
- package/src/app/shared/testing/maskito.test.d.ts +10 -0
- package/src/app/shared/testing/observable.test.d.ts +25 -0
- package/src/app/shared/testing/tests.page.d.ts +20 -0
- package/src/app/shared/toast/toast.testing.d.ts +15 -0
- package/src/app/shared/toast/toast.testing.module.d.ts +12 -0
- package/src/app/shared/toast/toasts.d.ts +16 -0
- package/src/app/shared/toolbar/modal-toolbar.d.ts +21 -0
- package/src/app/shared/toolbar/toolbar.d.ts +70 -0
- package/src/app/shared/toolbar/toolbar.module.d.ts +16 -0
- package/src/app/shared/types.d.ts +36 -0
- package/src/app/shared/upload-file/testing/upload-file.testing.d.ts +21 -0
- package/src/app/shared/upload-file/testing/upload-file.testing.module.d.ts +11 -0
- package/src/app/shared/upload-file/upload-file-popover.component.d.ts +41 -0
- package/src/app/shared/upload-file/upload-file.component.d.ts +50 -0
- package/src/app/shared/upload-file/upload-file.model.d.ts +30 -0
- package/src/app/shared/validator/form-error-adapter.class.d.ts +33 -0
- package/src/app/shared/validator/validators.d.ts +139 -0
- package/src/app/shared/version/versions.d.ts +26 -0
- package/src/app/social/config/social.config.d.ts +4 -0
- package/src/app/social/feed/discourse/discourse-feed.service.d.ts +55 -0
- package/src/app/social/feed/discourse/discourse.model.d.ts +7 -0
- package/src/app/social/feed/discourse/discourse.utils.d.ts +44 -0
- package/src/app/social/feed/feed.component.d.ts +39 -0
- package/src/app/social/feed/feed.directive.d.ts +32 -0
- package/src/app/social/feed/feed.model.d.ts +69 -0
- package/src/app/social/feed/feed.module.d.ts +11 -0
- package/src/app/social/feed/feed.service.d.ts +13 -0
- package/src/app/social/job/job.module.d.ts +12 -0
- package/src/app/social/job/progression/job-progression.component.d.ts +23 -0
- package/src/app/social/job/progression/job-progression.icon.d.ts +62 -0
- package/src/app/social/job/progression/job-progression.list.d.ts +19 -0
- package/src/app/social/job/progression/job-progression.model.d.ts +10 -0
- package/src/app/social/job/progression/job-progression.service.d.ts +33 -0
- package/src/app/social/job/testing/job-progression.testing.d.ts +13 -0
- package/src/app/social/job/testing/job-progression.testing.service.d.ts +9 -0
- package/src/app/social/job/testing/job.testing.module.d.ts +11 -0
- package/src/app/social/message/message.form.d.ts +36 -0
- package/src/app/social/message/message.modal.d.ts +43 -0
- package/src/app/social/message/message.model.d.ts +33 -0
- package/src/app/social/message/message.module.d.ts +12 -0
- package/src/app/social/message/message.service.d.ts +32 -0
- package/src/app/social/social.errors.d.ts +9 -0
- package/src/app/social/social.module.d.ts +20 -0
- package/src/app/social/social.testing.module.d.ts +13 -0
- package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +46 -0
- package/src/app/social/user-event/notification/user-event-notification.list.d.ts +75 -0
- package/src/app/social/user-event/notification/user-event-notification.modal.d.ts +36 -0
- package/src/app/social/user-event/testing/user-event.testing.d.ts +44 -0
- package/src/app/social/user-event/testing/user-event.testing.model.d.ts +42 -0
- package/src/app/social/user-event/testing/user-event.testing.module.d.ts +11 -0
- package/src/app/social/user-event/testing/user-event.testing.service.d.ts +42 -0
- package/src/app/social/user-event/user-event.model.d.ts +44 -0
- package/src/app/social/user-event/user-event.module.d.ts +14 -0
- package/src/app/social/user-event/user-event.service.d.ts +124 -0
- package/src/environments/environment.class.d.ts +83 -0
- package/src/environments/environment.d.ts +2 -0
- package/src/environments/environment.loader.d.ts +24 -0
- package/.editorconfig +0 -24
- package/.eslintrc.json +0 -95
- package/.gitattribute +0 -1
- package/.github/CONTRIBUTING.md +0 -10
- package/.github/ISSUE_TEMPLATE.md +0 -6
- package/.github/PULL_REQUEST_TEMPLATE.md +0 -10
- package/.github/github_disclaimer.md +0 -14
- package/.gitlab-ci.yml +0 -46
- package/.graphqlconfig +0 -15
- package/.prettierignore +0 -9
- package/.prettierrc.json +0 -17
- package/angular.json +0 -239
- package/capacitor.config.ts +0 -49
- package/graphql.config.yml +0 -13
- package/ionic.config.json +0 -7
- package/karma.conf.js +0 -38
- package/ng-package.json +0 -21
- package/public_api.ts +0 -436
- package/resources/README.md +0 -7
- package/resources/icon/TODO.md +0 -11
- package/resources/icon.png +0 -0
- package/resources/icon.png.md5 +0 -1
- package/resources/icon.xcf +0 -0
- package/resources/ios/icon/icon-1024.png +0 -0
- package/resources/ios/icon/icon-108@2x.png +0 -0
- package/resources/ios/icon/icon-20.png +0 -0
- package/resources/ios/icon/icon-20@2x.png +0 -0
- package/resources/ios/icon/icon-20@3x.png +0 -0
- package/resources/ios/icon/icon-24@2x.png +0 -0
- package/resources/ios/icon/icon-27.5@2x.png +0 -0
- package/resources/ios/icon/icon-29.png +0 -0
- package/resources/ios/icon/icon-29@2x.png +0 -0
- package/resources/ios/icon/icon-29@3x.png +0 -0
- package/resources/ios/icon/icon-40.png +0 -0
- package/resources/ios/icon/icon-40@2x.png +0 -0
- package/resources/ios/icon/icon-40@3x.png +0 -0
- package/resources/ios/icon/icon-44@2x.png +0 -0
- package/resources/ios/icon/icon-50.png +0 -0
- package/resources/ios/icon/icon-50@2x.png +0 -0
- package/resources/ios/icon/icon-60.png +0 -0
- package/resources/ios/icon/icon-60@2x.png +0 -0
- package/resources/ios/icon/icon-60@3x.png +0 -0
- package/resources/ios/icon/icon-72.png +0 -0
- package/resources/ios/icon/icon-72@2x.png +0 -0
- package/resources/ios/icon/icon-76.png +0 -0
- package/resources/ios/icon/icon-76@2x.png +0 -0
- package/resources/ios/icon/icon-83.5@2x.png +0 -0
- package/resources/ios/icon/icon-86@2x.png +0 -0
- package/resources/ios/icon/icon-98@2x.png +0 -0
- package/resources/ios/icon/icon-small.png +0 -0
- package/resources/ios/icon/icon-small@2x.png +0 -0
- package/resources/ios/icon/icon-small@3x.png +0 -0
- package/resources/ios/icon/icon.png +0 -0
- package/resources/ios/icon/icon@2x.png +0 -0
- package/resources/ios/splash/Default-1792h~iphone.png +0 -0
- package/resources/ios/splash/Default-2436h.png +0 -0
- package/resources/ios/splash/Default-2688h~iphone.png +0 -0
- package/resources/ios/splash/Default-568h@2x~iphone.png +0 -0
- package/resources/ios/splash/Default-667h.png +0 -0
- package/resources/ios/splash/Default-736h.png +0 -0
- package/resources/ios/splash/Default-Landscape-1792h~iphone.png +0 -0
- package/resources/ios/splash/Default-Landscape-2436h.png +0 -0
- package/resources/ios/splash/Default-Landscape-2688h~iphone.png +0 -0
- package/resources/ios/splash/Default-Landscape-736h.png +0 -0
- package/resources/ios/splash/Default-Landscape@2x~ipad.png +0 -0
- package/resources/ios/splash/Default-Landscape@~ipadpro.png +0 -0
- package/resources/ios/splash/Default-Landscape~ipad.png +0 -0
- package/resources/ios/splash/Default-Portrait@2x~ipad.png +0 -0
- package/resources/ios/splash/Default-Portrait@~ipadpro.png +0 -0
- package/resources/ios/splash/Default-Portrait~ipad.png +0 -0
- package/resources/ios/splash/Default@2x~iphone.png +0 -0
- package/resources/ios/splash/Default@2x~universal~anyany.png +0 -0
- package/resources/ios/splash/Default~iphone.png +0 -0
- package/resources/splash.png +0 -0
- package/resources/splash.png.md5 +0 -1
- package/scripts/build-android.sh +0 -18
- package/scripts/docker-start.sh +0 -6
- package/scripts/emulate-android.sh +0 -17
- package/scripts/env-android.sh +0 -83
- package/scripts/env-clean.sh +0 -23
- package/scripts/env-global.sh +0 -154
- package/scripts/install-android-sdk-tools.sh +0 -73
- package/scripts/ionic-update.sh +0 -24
- package/scripts/node/build-i18n.js +0 -37
- package/scripts/node/playground.ts +0 -9
- package/scripts/node/resources.js +0 -108
- package/scripts/release.sh +0 -162
- package/scripts/run-android.sh +0 -59
- package/scripts/test.sh +0 -19
- package/src/app/admin/admin-routing.module.ts +0 -26
- package/src/app/admin/admin.module.ts +0 -20
- package/src/app/admin/services/filter/person.filter.ts +0 -86
- package/src/app/admin/services/person.service.ts +0 -244
- package/src/app/admin/services/validator/person.validator.ts +0 -86
- package/src/app/admin/users/users.html +0 -613
- package/src/app/admin/users/users.module.ts +0 -32
- package/src/app/admin/users/users.scss +0 -80
- package/src/app/admin/users/users.ts +0 -387
- package/src/app/app-routing.module.ts +0 -165
- package/src/app/app.component.html +0 -18
- package/src/app/app.component.scss +0 -4
- package/src/app/app.component.ts +0 -257
- package/src/app/app.module.ts +0 -366
- package/src/app/core/about/about.modal.html +0 -145
- package/src/app/core/about/about.modal.scss +0 -22
- package/src/app/core/about/about.modal.ts +0 -69
- package/src/app/core/about/about.module.ts +0 -14
- package/src/app/core/account/account.module.ts +0 -43
- package/src/app/core/account/account.page.html +0 -329
- package/src/app/core/account/account.page.scss +0 -20
- package/src/app/core/account/account.page.ts +0 -389
- package/src/app/core/account/new-token.form.html +0 -90
- package/src/app/core/account/new-token.form.ts +0 -99
- package/src/app/core/account/new-token.modal.html +0 -52
- package/src/app/core/account/new-token.modal.ts +0 -68
- package/src/app/core/account/password/change-password.form.html +0 -62
- package/src/app/core/account/password/change-password.form.scss +0 -0
- package/src/app/core/account/password/change-password.form.ts +0 -58
- package/src/app/core/account/password/change-password.module.ts +0 -14
- package/src/app/core/account/password/change-password.page.html +0 -41
- package/src/app/core/account/password/change-password.page.scss +0 -49
- package/src/app/core/account/password/change-password.page.ts +0 -158
- package/src/app/core/account/token.table.html +0 -160
- package/src/app/core/account/token.table.scss +0 -7
- package/src/app/core/account/token.table.ts +0 -160
- package/src/app/core/auth/auth.form.html +0 -108
- package/src/app/core/auth/auth.form.scss +0 -0
- package/src/app/core/auth/auth.form.ts +0 -165
- package/src/app/core/auth/auth.modal.html +0 -50
- package/src/app/core/auth/auth.modal.scss +0 -0
- package/src/app/core/auth/auth.modal.ts +0 -78
- package/src/app/core/auth/auth.module.ts +0 -35
- package/src/app/core/auth/reset-password.modal.html +0 -59
- package/src/app/core/auth/reset-password.modal.ts +0 -83
- package/src/app/core/core.module.ts +0 -72
- package/src/app/core/core.testing.module.ts +0 -80
- package/src/app/core/form/array/form-array.ts +0 -409
- package/src/app/core/form/array/testing/form-array-test.module.ts +0 -15
- package/src/app/core/form/array/testing/form-array.test.html +0 -196
- package/src/app/core/form/array/testing/form-array.test.ts +0 -119
- package/src/app/core/form/buttons/form-buttons-bar.component.html +0 -82
- package/src/app/core/form/buttons/form-buttons-bar.component.scss +0 -19
- package/src/app/core/form/buttons/form-buttons-bar.component.ts +0 -89
- package/src/app/core/form/buttons/form-buttons-bar.module.ts +0 -20
- package/src/app/core/form/entity/editor.class.ts +0 -295
- package/src/app/core/form/entity/entity-editor-modal.class.ts +0 -494
- package/src/app/core/form/entity/entity-editor.class.ts +0 -894
- package/src/app/core/form/entity/entity-metadata.component.html +0 -57
- package/src/app/core/form/entity/entity-metadata.component.scss +0 -40
- package/src/app/core/form/entity/entity-metadata.component.ts +0 -18
- package/src/app/core/form/entity/entity.module.ts +0 -20
- package/src/app/core/form/entity/tab-editor.class.ts +0 -224
- package/src/app/core/form/form-container.class.ts +0 -381
- package/src/app/core/form/form.class.ts +0 -377
- package/src/app/core/form/form.module.ts +0 -38
- package/src/app/core/form/form.utils.ts +0 -336
- package/src/app/core/form/list/list.form.html +0 -68
- package/src/app/core/form/list/list.form.scss +0 -40
- package/src/app/core/form/list/list.form.ts +0 -266
- package/src/app/core/form/list/list.module.ts +0 -20
- package/src/app/core/form/properties/properties.form.html +0 -160
- package/src/app/core/form/properties/properties.form.scss +0 -21
- package/src/app/core/form/properties/properties.form.ts +0 -331
- package/src/app/core/form/properties/properties.module.ts +0 -24
- package/src/app/core/form/properties/properties.table.html +0 -228
- package/src/app/core/form/properties/properties.table.scss +0 -0
- package/src/app/core/form/properties/properties.table.ts +0 -275
- package/src/app/core/form/properties/properties.utils.ts +0 -391
- package/src/app/core/form/properties/property.validator.ts +0 -82
- package/src/app/core/form/properties/testing/properties-form.test.html +0 -23
- package/src/app/core/form/properties/testing/properties-form.test.ts +0 -109
- package/src/app/core/form/properties/testing/properties-form.testing.module.ts +0 -14
- package/src/app/core/form/text-popover/testing/text-popover.testing.html +0 -50
- package/src/app/core/form/text-popover/testing/text-popover.testing.module.ts +0 -21
- package/src/app/core/form/text-popover/testing/text-popover.testing.ts +0 -76
- package/src/app/core/form/text-popover/text-popover.component.html +0 -89
- package/src/app/core/form/text-popover/text-popover.component.scss +0 -7
- package/src/app/core/form/text-popover/text-popover.component.ts +0 -176
- package/src/app/core/form/text-popover/text-popover.module.ts +0 -19
- package/src/app/core/form/username/username.form.html +0 -27
- package/src/app/core/form/username/username.form.ts +0 -44
- package/src/app/core/form/username/username.module.ts +0 -12
- package/src/app/core/graphql/graphql.module.ts +0 -7
- package/src/app/core/graphql/graphql.service.ts +0 -962
- package/src/app/core/graphql/graphql.utils.ts +0 -166
- package/src/app/core/home/home.html +0 -327
- package/src/app/core/home/home.module.ts +0 -31
- package/src/app/core/home/home.scss +0 -300
- package/src/app/core/home/home.ts +0 -453
- package/src/app/core/icon/icon.component.html +0 -19
- package/src/app/core/icon/icon.component.ts +0 -22
- package/src/app/core/icon/icon.module.ts +0 -13
- package/src/app/core/install/install-upgrade-card.component.html +0 -144
- package/src/app/core/install/install-upgrade-card.component.scss +0 -3
- package/src/app/core/install/install-upgrade-card.component.ts +0 -445
- package/src/app/core/install/install-upgrade-card.module.ts +0 -18
- package/src/app/core/menu/menu.component.html +0 -219
- package/src/app/core/menu/menu.component.scss +0 -304
- package/src/app/core/menu/menu.component.ts +0 -251
- package/src/app/core/menu/menu.filter.ts +0 -28
- package/src/app/core/menu/menu.model.ts +0 -356
- package/src/app/core/menu/menu.module.ts +0 -27
- package/src/app/core/menu/menu.service.ts +0 -727
- package/src/app/core/menu/sub-menu-tab.directive.ts +0 -99
- package/src/app/core/menu/testing/menu-other.testing.ts +0 -57
- package/src/app/core/menu/testing/menu.testing.html +0 -143
- package/src/app/core/menu/testing/menu.testing.module.ts +0 -52
- package/src/app/core/menu/testing/menu.testing.scss +0 -5
- package/src/app/core/menu/testing/menu.testing.ts +0 -175
- package/src/app/core/offline/update-offline-mode-card.component.html +0 -39
- package/src/app/core/offline/update-offline-mode-card.component.scss +0 -3
- package/src/app/core/offline/update-offline-mode-card.component.ts +0 -23
- package/src/app/core/offline/update-offline-mode-card.module.ts +0 -20
- package/src/app/core/peer/select-peer.modal.html +0 -317
- package/src/app/core/peer/select-peer.modal.scss +0 -41
- package/src/app/core/peer/select-peer.modal.ts +0 -366
- package/src/app/core/peer/select-peer.module.ts +0 -23
- package/src/app/core/register/register-confirm.page.html +0 -51
- package/src/app/core/register/register-confirm.page.scss +0 -56
- package/src/app/core/register/register-confirm.page.ts +0 -90
- package/src/app/core/register/register.form.html +0 -143
- package/src/app/core/register/register.form.scss +0 -10
- package/src/app/core/register/register.form.ts +0 -218
- package/src/app/core/register/register.modal.html +0 -66
- package/src/app/core/register/register.modal.ts +0 -50
- package/src/app/core/register/register.module.ts +0 -15
- package/src/app/core/services/account.service.ts +0 -1567
- package/src/app/core/services/auth-guard.service.ts +0 -70
- package/src/app/core/services/base-entity-service.class.ts +0 -659
- package/src/app/core/services/base-graphql-service.class.ts +0 -319
- package/src/app/core/services/base58.ts +0 -90
- package/src/app/core/services/config/core.config.ts +0 -263
- package/src/app/core/services/config.service.ts +0 -425
- package/src/app/core/services/crypto.service.ts +0 -126
- package/src/app/core/services/errors.ts +0 -80
- package/src/app/core/services/local-settings.service.spec.ts +0 -39
- package/src/app/core/services/local-settings.service.ts +0 -610
- package/src/app/core/services/model/account.model.ts +0 -188
- package/src/app/core/services/model/config.model.ts +0 -116
- package/src/app/core/services/model/department.model.ts +0 -34
- package/src/app/core/services/model/entity.decorators.ts +0 -110
- package/src/app/core/services/model/entity.model.ts +0 -409
- package/src/app/core/services/model/filter.model.ts +0 -127
- package/src/app/core/services/model/history.model.ts +0 -25
- package/src/app/core/services/model/model.enum.ts +0 -10
- package/src/app/core/services/model/node-feature.model.ts +0 -31
- package/src/app/core/services/model/peer.model.ts +0 -119
- package/src/app/core/services/model/person.model.ts +0 -122
- package/src/app/core/services/model/referential.model.ts +0 -253
- package/src/app/core/services/model/settings.model.ts +0 -37
- package/src/app/core/services/model/token.model.ts +0 -60
- package/src/app/core/services/model/tree-item-entity.model.ts +0 -256
- package/src/app/core/services/network.service.spec.ts +0 -47
- package/src/app/core/services/network.service.ts +0 -771
- package/src/app/core/services/network.types.ts +0 -7
- package/src/app/core/services/network.utils.ts +0 -83
- package/src/app/core/services/pipes/account.pipes.ts +0 -22
- package/src/app/core/services/pipes/department-to-string.pipe.ts +0 -13
- package/src/app/core/services/pipes/person-to-string.pipe.ts +0 -13
- package/src/app/core/services/pipes/pipes.module.ts +0 -30
- package/src/app/core/services/pipes/referential-to-string.pipe.ts +0 -18
- package/src/app/core/services/pipes/usage-mode.pipes.ts +0 -23
- package/src/app/core/services/platform.service.spec.ts +0 -50
- package/src/app/core/services/platform.service.ts +0 -694
- package/src/app/core/services/storage/entities-storage.service.ts +0 -557
- package/src/app/core/services/storage/entity-store.class.ts +0 -589
- package/src/app/core/services/testing/local-settings.config.ts +0 -35
- package/src/app/core/services/testing/referential-filter.model.ts +0 -28
- package/src/app/core/services/testing/referential.validator.ts +0 -58
- package/src/app/core/services/testing/user-settings.config.ts +0 -77
- package/src/app/core/services/validator/account.validator.ts +0 -50
- package/src/app/core/services/validator/base.validator.class.ts +0 -51
- package/src/app/core/services/validator/local-settings.validator.ts +0 -59
- package/src/app/core/services/validator/user-settings.validator.ts +0 -22
- package/src/app/core/services/validator/user-token.validator.ts +0 -54
- package/src/app/core/settings/settings.module.ts +0 -15
- package/src/app/core/settings/settings.page.html +0 -300
- package/src/app/core/settings/settings.page.ts +0 -455
- package/src/app/core/table/async-table.class.ts +0 -2021
- package/src/app/core/table/column/actions-column.component.html +0 -219
- package/src/app/core/table/column/actions-column.component.scss +0 -17
- package/src/app/core/table/column/actions-column.component.ts +0 -83
- package/src/app/core/table/column/nav-actions-column.component.html +0 -119
- package/src/app/core/table/column/nav-actions-column.component.ts +0 -108
- package/src/app/core/table/column/row-field.component.html +0 -43
- package/src/app/core/table/column/row-field.component.scss +0 -0
- package/src/app/core/table/column/row-field.component.ts +0 -63
- package/src/app/core/table/entities-async-table-datasource.class.ts +0 -515
- package/src/app/core/table/entities-table-datasource.class.ts +0 -503
- package/src/app/core/table/memory-table.class.ts +0 -56
- package/src/app/core/table/table-select-columns.component.html +0 -56
- package/src/app/core/table/table-select-columns.component.ts +0 -49
- package/src/app/core/table/table.class.ts +0 -2082
- package/src/app/core/table/table.model.ts +0 -39
- package/src/app/core/table/table.module.ts +0 -28
- package/src/app/core/table/table.pipes.ts +0 -87
- package/src/app/core/table/table.utils.ts +0 -42
- package/src/app/core/table/testing/multi-table.testing.html +0 -456
- package/src/app/core/table/testing/multi-table.testing.ts +0 -263
- package/src/app/core/table/testing/table-validator.service.ts +0 -29
- package/src/app/core/table/testing/table.testing.html +0 -556
- package/src/app/core/table/testing/table.testing.module.ts +0 -16
- package/src/app/core/table/testing/table.testing.scss +0 -32
- package/src/app/core/table/testing/table.testing.ts +0 -329
- package/src/app/core/table/testing/table2-validator.service.ts +0 -19
- package/src/app/core/table/testing/table2.testing.html +0 -470
- package/src/app/core/table/testing/table2.testing.scss +0 -25
- package/src/app/core/table/testing/table2.testing.ts +0 -274
- package/src/app/shared/alerts.ts +0 -296
- package/src/app/shared/audio/audio.testing.html +0 -29
- package/src/app/shared/audio/audio.testing.module.ts +0 -21
- package/src/app/shared/audio/audio.testing.ts +0 -27
- package/src/app/shared/audio/audio.ts +0 -273
- package/src/app/shared/base64.utils.ts +0 -66
- package/src/app/shared/capacitor/keyboard.ts +0 -38
- package/src/app/shared/capacitor/plugins.ts +0 -12
- package/src/app/shared/constants.ts +0 -19
- package/src/app/shared/dates.ts +0 -206
- package/src/app/shared/debug/debug-service.class.ts +0 -7
- package/src/app/shared/debug/debug.component.html +0 -13
- package/src/app/shared/debug/debug.component.scss +0 -21
- package/src/app/shared/debug/debug.component.spec.ts +0 -24
- package/src/app/shared/debug/debug.component.ts +0 -25
- package/src/app/shared/debug/debug.module.ts +0 -14
- package/src/app/shared/directives/autofocus.directive.ts +0 -93
- package/src/app/shared/directives/autoresize.directive.ts +0 -67
- package/src/app/shared/directives/autotitle.directive.ts +0 -17
- package/src/app/shared/directives/directives.module.ts +0 -16
- package/src/app/shared/directives/drag-and-drop.directive.ts +0 -46
- package/src/app/shared/directives/ng-var.directive.ts +0 -31
- package/src/app/shared/directives/resizable/resizable.component.ts +0 -48
- package/src/app/shared/directives/resizable/resizable.directive.ts +0 -43
- package/src/app/shared/directives/resizable/resizable.module.ts +0 -9
- package/src/app/shared/directives/resizable/resizable.style.scss +0 -37
- package/src/app/shared/directives/resizable/resizable.template.html +0 -6
- package/src/app/shared/directives/throttled-click.directive.ts +0 -36
- package/src/app/shared/events.ts +0 -93
- package/src/app/shared/file/csv.utils.ts +0 -123
- package/src/app/shared/file/file.service.ts +0 -129
- package/src/app/shared/file/file.utils.ts +0 -142
- package/src/app/shared/file/images.utils.ts +0 -214
- package/src/app/shared/file/json.utils.ts +0 -82
- package/src/app/shared/file/uri.utils.ts +0 -31
- package/src/app/shared/file/url.utils.ts +0 -193
- package/src/app/shared/focusable.ts +0 -8
- package/src/app/shared/form/field.component.html +0 -380
- package/src/app/shared/form/field.component.scss +0 -7
- package/src/app/shared/form/field.component.ts +0 -344
- package/src/app/shared/form/field.model.ts +0 -158
- package/src/app/shared/form/loading-spinner.ts +0 -16
- package/src/app/shared/forms.ts +0 -651
- package/src/app/shared/functions.spec.ts +0 -197
- package/src/app/shared/functions.ts +0 -694
- package/src/app/shared/geolocation/geolocation.utils.ts +0 -105
- package/src/app/shared/gesture/gesture-config.ts +0 -43
- package/src/app/shared/gesture/hammer.utils.ts +0 -14
- package/src/app/shared/graph/colors.utils.ts +0 -69
- package/src/app/shared/graph/graph-colors.ts +0 -270
- package/src/app/shared/guard/component-dirty.guard.ts +0 -67
- package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.html +0 -11
- package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.scss +0 -37
- package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.ts +0 -14
- package/src/app/shared/hotkeys/hotkeys.service.ts +0 -165
- package/src/app/shared/hotkeys/shared-hotkeys.module.ts +0 -15
- package/src/app/shared/http/http.utils.ts +0 -95
- package/src/app/shared/image/gallery/image-gallery.component.html +0 -282
- package/src/app/shared/image/gallery/image-gallery.component.scss +0 -218
- package/src/app/shared/image/gallery/image-gallery.component.ts +0 -434
- package/src/app/shared/image/gallery/image-gallery.module.ts +0 -35
- package/src/app/shared/image/gallery/testing/gallegry.model.testing.ts +0 -23
- package/src/app/shared/image/gallery/testing/gallery.service.testing.ts +0 -99
- package/src/app/shared/image/gallery/testing/gallery.testing.html +0 -27
- package/src/app/shared/image/gallery/testing/gallery.testing.module.ts +0 -39
- package/src/app/shared/image/gallery/testing/gallery.testing.ts +0 -34
- package/src/app/shared/image/image.model.ts +0 -8
- package/src/app/shared/image/image.module.ts +0 -12
- package/src/app/shared/image/image.service.ts +0 -111
- package/src/app/shared/image/image.testing.module.ts +0 -16
- package/src/app/shared/inputs.ts +0 -330
- package/src/app/shared/interceptors/progess.interceptor.ts +0 -24
- package/src/app/shared/logging/log-level.model.ts +0 -53
- package/src/app/shared/logging/logger.model.ts +0 -117
- package/src/app/shared/logging/logging-service.class.ts +0 -131
- package/src/app/shared/logging/logging-service.config.ts +0 -29
- package/src/app/shared/logging/logging-service.module.ts +0 -19
- package/src/app/shared/markdown/markdown.component.html +0 -55
- package/src/app/shared/markdown/markdown.component.scss +0 -75
- package/src/app/shared/markdown/markdown.component.ts +0 -350
- package/src/app/shared/markdown/markdown.directive.ts +0 -28
- package/src/app/shared/markdown/markdown.modal.html +0 -42
- package/src/app/shared/markdown/markdown.modal.ts +0 -91
- package/src/app/shared/markdown/markdown.module.ts +0 -65
- package/src/app/shared/markdown/markdown.service.ts +0 -234
- package/src/app/shared/markdown/markdown.utils.ts +0 -90
- package/src/app/shared/markdown/testing/markdown.test.html +0 -50
- package/src/app/shared/markdown/testing/markdown.test.ts +0 -49
- package/src/app/shared/markdown/testing/markdown.testing.module.ts +0 -22
- package/src/app/shared/material/autocomplete/material.autocomplete.config.ts +0 -127
- package/src/app/shared/material/autocomplete/material.autocomplete.html +0 -400
- package/src/app/shared/material/autocomplete/material.autocomplete.module.ts +0 -41
- package/src/app/shared/material/autocomplete/material.autocomplete.scss +0 -54
- package/src/app/shared/material/autocomplete/material.autocomplete.ts +0 -1375
- package/src/app/shared/material/autocomplete/material.autocomplete.utils.ts +0 -21
- package/src/app/shared/material/autocomplete/testing/autocomplete.test.html +0 -1164
- package/src/app/shared/material/autocomplete/testing/autocomplete.test.spec.ts +0 -33
- package/src/app/shared/material/autocomplete/testing/autocomplete.test.ts +0 -272
- package/src/app/shared/material/badge/badge.directive.ts +0 -217
- package/src/app/shared/material/badge/badge.module.ts +0 -12
- package/src/app/shared/material/badge/badge.test.html +0 -275
- package/src/app/shared/material/badge/badge.test.ts +0 -34
- package/src/app/shared/material/boolean/boolean.module.ts +0 -36
- package/src/app/shared/material/boolean/material.boolean.html +0 -271
- package/src/app/shared/material/boolean/material.boolean.scss +0 -27
- package/src/app/shared/material/boolean/material.boolean.ts +0 -343
- package/src/app/shared/material/boolean/testing/boolean.test.page.html +0 -469
- package/src/app/shared/material/boolean/testing/boolean.test.page.ts +0 -66
- package/src/app/shared/material/chips/chips.module.ts +0 -38
- package/src/app/shared/material/chips/material.chips.html +0 -233
- package/src/app/shared/material/chips/material.chips.scss +0 -67
- package/src/app/shared/material/chips/material.chips.ts +0 -834
- package/src/app/shared/material/chips/testing/chips.test.html +0 -207
- package/src/app/shared/material/chips/testing/chips.test.ts +0 -169
- package/src/app/shared/material/datetime/datetime.module.ts +0 -42
- package/src/app/shared/material/datetime/material.date.html +0 -186
- package/src/app/shared/material/datetime/material.date.scss +0 -17
- package/src/app/shared/material/datetime/material.date.ts +0 -512
- package/src/app/shared/material/datetime/material.dateshort.html +0 -194
- package/src/app/shared/material/datetime/material.dateshort.scss +0 -23
- package/src/app/shared/material/datetime/material.dateshort.ts +0 -497
- package/src/app/shared/material/datetime/material.datetime.html +0 -325
- package/src/app/shared/material/datetime/material.datetime.scss +0 -87
- package/src/app/shared/material/datetime/material.datetime.ts +0 -758
- package/src/app/shared/material/datetime/testing/mat-date-time.test.html +0 -794
- package/src/app/shared/material/datetime/testing/mat-date-time.test.ts +0 -155
- package/src/app/shared/material/datetime/testing/mat-date.test.html +0 -564
- package/src/app/shared/material/datetime/testing/mat-date.test.ts +0 -145
- package/src/app/shared/material/datetime/testing/mat-dateshort.test.html +0 -530
- package/src/app/shared/material/datetime/testing/mat-dateshort.test.ts +0 -133
- package/src/app/shared/material/duration/duration.module.ts +0 -33
- package/src/app/shared/material/duration/duration.utils.ts +0 -18
- package/src/app/shared/material/duration/material.duration.html +0 -116
- package/src/app/shared/material/duration/material.duration.scss +0 -28
- package/src/app/shared/material/duration/material.duration.ts +0 -308
- package/src/app/shared/material/duration/testing/mat-duration.test.html +0 -170
- package/src/app/shared/material/duration/testing/mat-duration.test.ts +0 -88
- package/src/app/shared/material/latlong/latlong.utils.ts +0 -376
- package/src/app/shared/material/latlong/material.latlong-input.html +0 -95
- package/src/app/shared/material/latlong/material.latlong-input.scss +0 -66
- package/src/app/shared/material/latlong/material.latlong-input.ts +0 -445
- package/src/app/shared/material/latlong/material.latlong.html +0 -90
- package/src/app/shared/material/latlong/material.latlong.module.ts +0 -37
- package/src/app/shared/material/latlong/material.latlong.scss +0 -0
- package/src/app/shared/material/latlong/material.latlong.ts +0 -203
- package/src/app/shared/material/latlong/testing/latlong.test.html +0 -1008
- package/src/app/shared/material/latlong/testing/latlong.test.ts +0 -144
- package/src/app/shared/material/material.animations.ts +0 -269
- package/src/app/shared/material/material.config.ts +0 -5
- package/src/app/shared/material/material.module.ts +0 -94
- package/src/app/shared/material/material.testing.module.ts +0 -192
- package/src/app/shared/material/memory/memory.utils.ts +0 -57
- package/src/app/shared/material/numpad/numpad.animation.ts +0 -1
- package/src/app/shared/material/numpad/numpad.append-to-input.directive.ts +0 -110
- package/src/app/shared/material/numpad/numpad.component.ts +0 -73
- package/src/app/shared/material/numpad/numpad.container.html +0 -37
- package/src/app/shared/material/numpad/numpad.container.scss +0 -55
- package/src/app/shared/material/numpad/numpad.container.ts +0 -152
- package/src/app/shared/material/numpad/numpad.content.html +0 -13
- package/src/app/shared/material/numpad/numpad.content.ts +0 -10
- package/src/app/shared/material/numpad/numpad.directive.ts +0 -159
- package/src/app/shared/material/numpad/numpad.dom-service.ts +0 -35
- package/src/app/shared/material/numpad/numpad.model.ts +0 -53
- package/src/app/shared/material/numpad/numpad.module.ts +0 -18
- package/src/app/shared/material/numpad/testing/numpad.test.html +0 -146
- package/src/app/shared/material/numpad/testing/numpad.test.ts +0 -44
- package/src/app/shared/material/paginator/material.paginator-i18n.ts +0 -47
- package/src/app/shared/material/stepper/material.stepper-i18n.ts +0 -17
- package/src/app/shared/material/swipe/material.swipe.html +0 -85
- package/src/app/shared/material/swipe/material.swipe.scss +0 -55
- package/src/app/shared/material/swipe/material.swipe.ts +0 -366
- package/src/app/shared/material/swipe/swipe.module.ts +0 -29
- package/src/app/shared/material/swipe/testing/swipe.test.html +0 -112
- package/src/app/shared/material/swipe/testing/swipe.test.ts +0 -74
- package/src/app/shared/material/test/test-component.css +0 -22
- package/src/app/shared/material/test/test-component.html +0 -40
- package/src/app/shared/material/test/test-component.ts +0 -295
- package/src/app/shared/material/testing/common.test.html +0 -227
- package/src/app/shared/material/testing/common.test.ts +0 -126
- package/src/app/shared/material/text/testing/text-form.testing.html +0 -213
- package/src/app/shared/material/text/testing/text-form.testing.ts +0 -30
- package/src/app/shared/material/text/text-form.component.html +0 -63
- package/src/app/shared/material/text/text-form.component.scss +0 -8
- package/src/app/shared/material/text/text-form.component.ts +0 -177
- package/src/app/shared/material/text/text-form.module.ts +0 -36
- package/src/app/shared/modules.ts +0 -12
- package/src/app/shared/named-filter/named-filter-selector.component.html +0 -77
- package/src/app/shared/named-filter/named-filter-selector.component.scss +0 -3
- package/src/app/shared/named-filter/named-filter-selector.component.ts +0 -287
- package/src/app/shared/named-filter/named-filter.model.ts +0 -64
- package/src/app/shared/named-filter/named-filter.module.ts +0 -15
- package/src/app/shared/named-filter/named-filter.service.ts +0 -100
- package/src/app/shared/named-filter/testing/named-filter-selector.testing.html +0 -61
- package/src/app/shared/named-filter/testing/named-filter-selector.testing.ts +0 -80
- package/src/app/shared/named-filter/testing/named-filter.testing.module.ts +0 -20
- package/src/app/shared/named-filter/testing/named-filter.testing.service.ts +0 -83
- package/src/app/shared/observables.ts +0 -139
- package/src/app/shared/pipes/arrays.pipe.ts +0 -153
- package/src/app/shared/pipes/badge.pipes.ts +0 -18
- package/src/app/shared/pipes/colors.pipe.ts +0 -24
- package/src/app/shared/pipes/date-diff-duration.pipe.ts +0 -53
- package/src/app/shared/pipes/date-format.pipe.ts +0 -73
- package/src/app/shared/pipes/date-from-now.pipe.ts +0 -17
- package/src/app/shared/pipes/dates.pipe.ts +0 -13
- package/src/app/shared/pipes/display-with.pipe.ts +0 -13
- package/src/app/shared/pipes/duration.pipe.spec.ts +0 -41
- package/src/app/shared/pipes/duration.pipe.ts +0 -28
- package/src/app/shared/pipes/file-size.pipe.ts +0 -50
- package/src/app/shared/pipes/form.pipes.ts +0 -209
- package/src/app/shared/pipes/highlight.pipe.ts +0 -41
- package/src/app/shared/pipes/html.pipes.ts +0 -49
- package/src/app/shared/pipes/latlong-format.pipe.ts +0 -28
- package/src/app/shared/pipes/maps.pipe.ts +0 -41
- package/src/app/shared/pipes/maskito.pipe.ts +0 -68
- package/src/app/shared/pipes/math.pipes.ts +0 -46
- package/src/app/shared/pipes/ng-init.pipe.ts +0 -13
- package/src/app/shared/pipes/number-format.pipe.ts +0 -11
- package/src/app/shared/pipes/observable.pipes.ts +0 -46
- package/src/app/shared/pipes/pipes.module.ts +0 -162
- package/src/app/shared/pipes/property.pipes.ts +0 -115
- package/src/app/shared/pipes/selection.pipes.ts +0 -165
- package/src/app/shared/pipes/string.pipes.ts +0 -128
- package/src/app/shared/pipes/translate-context.pipe.ts +0 -27
- package/src/app/shared/pipes/types.pipes.ts +0 -52
- package/src/app/shared/pipes/url.pipes.ts +0 -29
- package/src/app/shared/platforms.ts +0 -99
- package/src/app/shared/print/print.service.ts +0 -337
- package/src/app/shared/regexps.ts +0 -112
- package/src/app/shared/rx-state/rx-state.decorators.ts +0 -281
- package/src/app/shared/rx-state/rx-state.module.ts +0 -11
- package/src/app/shared/rx-state/rx-state.types.ts +0 -5
- package/src/app/shared/services/entity-service.class.ts +0 -120
- package/src/app/shared/services/job.utils.ts +0 -124
- package/src/app/shared/services/memory-entity-service.class.ts +0 -435
- package/src/app/shared/services/progress-bar.service.ts +0 -40
- package/src/app/shared/services/startable-observable-service.class.ts +0 -129
- package/src/app/shared/services/startable-service.class.ts +0 -120
- package/src/app/shared/services/storage.utils.ts +0 -53
- package/src/app/shared/services/translate-context.service.ts +0 -112
- package/src/app/shared/services/validator-service.class.ts +0 -13
- package/src/app/shared/services.ts +0 -134
- package/src/app/shared/shared-routing.module.ts +0 -69
- package/src/app/shared/shared.module.spec.ts +0 -13
- package/src/app/shared/shared.module.ts +0 -168
- package/src/app/shared/shared.testing.module.ts +0 -61
- package/src/app/shared/storage/storage-explorer.component.html +0 -160
- package/src/app/shared/storage/storage-explorer.component.scss +0 -37
- package/src/app/shared/storage/storage-explorer.component.spec.ts +0 -24
- package/src/app/shared/storage/storage-explorer.component.ts +0 -268
- package/src/app/shared/storage/storage-explorer.module.ts +0 -24
- package/src/app/shared/storage/storage-explorer.testing-routing.module.ts +0 -19
- package/src/app/shared/storage/storage-explorer.testing.module.ts +0 -19
- package/src/app/shared/storage/storage.service.ts +0 -131
- package/src/app/shared/storage/storage.utils.ts +0 -25
- package/src/app/shared/testing/maskito.test.html +0 -40
- package/src/app/shared/testing/maskito.test.ts +0 -33
- package/src/app/shared/testing/observable.test.html +0 -53
- package/src/app/shared/testing/observable.test.scss +0 -3
- package/src/app/shared/testing/observable.test.ts +0 -101
- package/src/app/shared/testing/tests.page.html +0 -22
- package/src/app/shared/testing/tests.page.ts +0 -32
- package/src/app/shared/toast/toast.testing.html +0 -50
- package/src/app/shared/toast/toast.testing.module.ts +0 -22
- package/src/app/shared/toast/toast.testing.ts +0 -52
- package/src/app/shared/toast/toasts.ts +0 -161
- package/src/app/shared/toolbar/modal-toolbar.html +0 -30
- package/src/app/shared/toolbar/modal-toolbar.scss +0 -0
- package/src/app/shared/toolbar/modal-toolbar.ts +0 -64
- package/src/app/shared/toolbar/toolbar.html +0 -68
- package/src/app/shared/toolbar/toolbar.module.ts +0 -18
- package/src/app/shared/toolbar/toolbar.scss +0 -0
- package/src/app/shared/toolbar/toolbar.ts +0 -262
- package/src/app/shared/types.ts +0 -44
- package/src/app/shared/upload-file/testing/upload-file.testing.html +0 -30
- package/src/app/shared/upload-file/testing/upload-file.testing.module.ts +0 -21
- package/src/app/shared/upload-file/testing/upload-file.testing.ts +0 -65
- package/src/app/shared/upload-file/upload-file-popover.component.html +0 -46
- package/src/app/shared/upload-file/upload-file-popover.component.scss +0 -6
- package/src/app/shared/upload-file/upload-file-popover.component.ts +0 -115
- package/src/app/shared/upload-file/upload-file.component.html +0 -57
- package/src/app/shared/upload-file/upload-file.component.scss +0 -60
- package/src/app/shared/upload-file/upload-file.component.ts +0 -222
- package/src/app/shared/upload-file/upload-file.model.ts +0 -40
- package/src/app/shared/validator/form-error-adapter.class.ts +0 -139
- package/src/app/shared/validator/validators.ts +0 -725
- package/src/app/shared/version/versions.ts +0 -89
- package/src/app/social/config/social.config.ts +0 -10
- package/src/app/social/feed/discourse/discourse-feed.service.ts +0 -216
- package/src/app/social/feed/discourse/discourse.model.ts +0 -9
- package/src/app/social/feed/discourse/discourse.utils.ts +0 -210
- package/src/app/social/feed/feed.component.html +0 -85
- package/src/app/social/feed/feed.component.scss +0 -59
- package/src/app/social/feed/feed.component.spec.ts +0 -24
- package/src/app/social/feed/feed.component.ts +0 -115
- package/src/app/social/feed/feed.directive.ts +0 -164
- package/src/app/social/feed/feed.model.ts +0 -139
- package/src/app/social/feed/feed.module.ts +0 -13
- package/src/app/social/feed/feed.service.ts +0 -14
- package/src/app/social/job/job.module.ts +0 -14
- package/src/app/social/job/progression/job-progression.component.html +0 -19
- package/src/app/social/job/progression/job-progression.component.scss +0 -15
- package/src/app/social/job/progression/job-progression.component.ts +0 -39
- package/src/app/social/job/progression/job-progression.icon.html +0 -32
- package/src/app/social/job/progression/job-progression.icon.scss +0 -7
- package/src/app/social/job/progression/job-progression.icon.ts +0 -277
- package/src/app/social/job/progression/job-progression.list.html +0 -25
- package/src/app/social/job/progression/job-progression.list.scss +0 -17
- package/src/app/social/job/progression/job-progression.list.ts +0 -40
- package/src/app/social/job/progression/job-progression.model.ts +0 -26
- package/src/app/social/job/progression/job-progression.service.ts +0 -97
- package/src/app/social/job/testing/job-progression.testing.html +0 -11
- package/src/app/social/job/testing/job-progression.testing.service.ts +0 -33
- package/src/app/social/job/testing/job-progression.testing.ts +0 -28
- package/src/app/social/job/testing/job.testing.module.ts +0 -13
- package/src/app/social/message/message.form.html +0 -71
- package/src/app/social/message/message.form.scss +0 -6
- package/src/app/social/message/message.form.ts +0 -128
- package/src/app/social/message/message.modal.html +0 -68
- package/src/app/social/message/message.modal.ts +0 -117
- package/src/app/social/message/message.model.ts +0 -78
- package/src/app/social/message/message.module.ts +0 -14
- package/src/app/social/message/message.service.ts +0 -104
- package/src/app/social/social.errors.ts +0 -10
- package/src/app/social/social.module.ts +0 -23
- package/src/app/social/social.testing.module.ts +0 -33
- package/src/app/social/user-event/notification/user-event-notification.icon.html +0 -49
- package/src/app/social/user-event/notification/user-event-notification.icon.scss +0 -4
- package/src/app/social/user-event/notification/user-event-notification.icon.ts +0 -176
- package/src/app/social/user-event/notification/user-event-notification.list.html +0 -151
- package/src/app/social/user-event/notification/user-event-notification.list.scss +0 -73
- package/src/app/social/user-event/notification/user-event-notification.list.ts +0 -282
- package/src/app/social/user-event/notification/user-event-notification.modal.html +0 -71
- package/src/app/social/user-event/notification/user-event-notification.modal.ts +0 -60
- package/src/app/social/user-event/testing/user-event.testing.html +0 -54
- package/src/app/social/user-event/testing/user-event.testing.model.ts +0 -142
- package/src/app/social/user-event/testing/user-event.testing.module.ts +0 -13
- package/src/app/social/user-event/testing/user-event.testing.service.ts +0 -161
- package/src/app/social/user-event/testing/user-event.testing.ts +0 -300
- package/src/app/social/user-event/user-event.model.ts +0 -55
- package/src/app/social/user-event/user-event.module.ts +0 -16
- package/src/app/social/user-event/user-event.service.ts +0 -686
- package/src/browserslist +0 -9
- package/src/environments/environment.class.ts +0 -113
- package/src/environments/environment.loader.ts +0 -90
- package/src/environments/environment.prod.ts +0 -49
- package/src/environments/environment.test.ts +0 -92
- package/src/environments/environment.ts +0 -136
- package/src/favicon.ico +0 -0
- package/src/global.scss +0 -13
- package/src/index.html +0 -76
- package/src/main.ts +0 -19
- package/src/polyfills.ts +0 -34
- package/src/schema.graphql +0 -4381
- package/src/service-worker.js +0 -31
- package/src/test.ts +0 -30
- package/tsconfig-cs.json +0 -57
- package/tsconfig.app.json +0 -15
- package/tsconfig.json +0 -48
- package/tsconfig.spec.json +0 -18
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Geolocation } from '@capacitor/geolocation';
|
|
2
|
+
import { isNil } from '../functions';
|
|
3
|
+
export class IPosition {
|
|
4
|
+
latitude;
|
|
5
|
+
longitude;
|
|
6
|
+
}
|
|
7
|
+
export class GeolocationUtils {
|
|
8
|
+
static isNotNilAndValid(position, opts) {
|
|
9
|
+
if (!position || isNil(position.latitude) || isNil(position.longitude))
|
|
10
|
+
return false;
|
|
11
|
+
// Invalid lat/lon
|
|
12
|
+
if (position.latitude < -90 || position.latitude > 90 || position.longitude < -180 || position.longitude > 180) {
|
|
13
|
+
// /!\ Log in console, because should never occur
|
|
14
|
+
if (opts?.debug)
|
|
15
|
+
console.warn('Invalid lat/long position: ', position);
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
// OK: valid
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
static isNilOrInvalid(position, opts) {
|
|
22
|
+
return !GeolocationUtils.isNotNilAndValid(position, opts);
|
|
23
|
+
}
|
|
24
|
+
static computeDistanceInMiles(position1, position2) {
|
|
25
|
+
// Invalid position(s): skip
|
|
26
|
+
if (GeolocationUtils.isNilOrInvalid(position1, { debug: true }) || GeolocationUtils.isNilOrInvalid(position2, { debug: true }))
|
|
27
|
+
return;
|
|
28
|
+
const latitude1Rad = (Math.PI * position1.latitude) / 180;
|
|
29
|
+
const longitude1Rad = (Math.PI * position1.longitude) / 180;
|
|
30
|
+
const latitude2Rad = (Math.PI * position2.latitude) / 180;
|
|
31
|
+
const longitude2Rad = (Math.PI * position2.longitude) / 180;
|
|
32
|
+
let distance = 2 *
|
|
33
|
+
6371 *
|
|
34
|
+
Math.asin(Math.sqrt(Math.pow(Math.sin((latitude1Rad - latitude2Rad) / 2), 2) +
|
|
35
|
+
Math.cos(latitude1Rad) * Math.cos(latitude2Rad) * Math.pow(Math.sin((longitude2Rad - longitude1Rad) / 2), 2)));
|
|
36
|
+
distance = Math.round((distance / 1.852 + Number.EPSILON) * 100) / 100;
|
|
37
|
+
return distance;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Get the position by geo loc sensor
|
|
41
|
+
*/
|
|
42
|
+
static async getCurrentPosition(platform, options) {
|
|
43
|
+
// Use Capacitor plugin
|
|
44
|
+
if (platform.is('capacitor')) {
|
|
45
|
+
try {
|
|
46
|
+
console.info(`[geolocation-utils] Get current geo location, using Capacitor...(timeout: ${options?.timeout})`);
|
|
47
|
+
const pos = await Geolocation.getCurrentPosition(options);
|
|
48
|
+
return {
|
|
49
|
+
latitude: pos.coords.latitude,
|
|
50
|
+
longitude: pos.coords.longitude,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
catch (err) {
|
|
54
|
+
console.error(`[geolocation-utils] Cannot get current geo location, using Capacitor: ${err?.message || ''}`);
|
|
55
|
+
// Detect some error, to add code
|
|
56
|
+
// FIXME - Capacitor use hardcoded strings! (see https://github.com/ionic-team/capacitor-plugins)
|
|
57
|
+
const message = (err?.message || '').toLowerCase();
|
|
58
|
+
// Permission denied
|
|
59
|
+
if (message.includes('location permission was denied') || message.includes('location disabled')) {
|
|
60
|
+
throw { ...err, code: GeolocationPositionError.PERMISSION_DENIED };
|
|
61
|
+
}
|
|
62
|
+
// Timeout
|
|
63
|
+
if (message.includes('timeout expired')) {
|
|
64
|
+
throw { ...err, code: GeolocationPositionError.TIMEOUT };
|
|
65
|
+
}
|
|
66
|
+
throw err;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// Or fallback to navigator
|
|
70
|
+
console.info('[geolocation-utils] Get current geo location, using browser...');
|
|
71
|
+
return new Promise((resolve, reject) => {
|
|
72
|
+
navigator.geolocation.getCurrentPosition((res) => {
|
|
73
|
+
resolve({
|
|
74
|
+
latitude: res.coords.latitude,
|
|
75
|
+
longitude: res.coords.longitude,
|
|
76
|
+
});
|
|
77
|
+
}, (err) => {
|
|
78
|
+
let message = err?.message || err;
|
|
79
|
+
message = typeof message === 'string' ? message : JSON.stringify(message);
|
|
80
|
+
console.error('[geolocation-utils] Cannot get current geo location, using browser:' + message);
|
|
81
|
+
reject(err);
|
|
82
|
+
}, options);
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbG9jYXRpb24udXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9nZW9sb2NhdGlvbi9nZW9sb2NhdGlvbi51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFZLE1BQU0sd0JBQXdCLENBQUM7QUFHL0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVyQyxNQUFNLE9BQU8sU0FBUztJQUNwQixRQUFRLENBQVM7SUFDakIsU0FBUyxDQUFTO0NBQ25CO0FBRUQsTUFBTSxPQUFnQixnQkFBZ0I7SUFDcEMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQW1CLEVBQUUsSUFBMEI7UUFDckUsSUFBSSxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFckYsa0JBQWtCO1FBQ2xCLElBQUksUUFBUSxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsSUFBSSxRQUFRLENBQUMsUUFBUSxHQUFHLEVBQUUsSUFBSSxRQUFRLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxTQUFTLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDL0csaURBQWlEO1lBQ2pELElBQUksSUFBSSxFQUFFLEtBQUs7Z0JBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN4RSxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFtQixFQUFFLElBQTBCO1FBQ25FLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFB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IFBvc2l0aW9uIH0gZnJvbSAnQGNhcGFjaXRvci9nZW9sb2NhdGlvbic7XG5pbXBvcnQgeyBQbGF0Zm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL3BsYXRmb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5cbmV4cG9ydCBjbGFzcyBJUG9zaXRpb24ge1xuICBsYXRpdHVkZTogbnVtYmVyO1xuICBsb25naXR1ZGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEdlb2xvY2F0aW9uVXRpbHMge1xuICBzdGF0aWMgaXNOb3ROaWxBbmRWYWxpZChwb3NpdGlvbjogSVBvc2l0aW9uLCBvcHRzPzogeyBkZWJ1Zz86IGJvb2xlYW4gfSkge1xuICAgIGlmICghcG9zaXRpb24gfHwgaXNOaWwocG9zaXRpb24ubGF0aXR1ZGUpIHx8IGlzTmlsKHBvc2l0aW9uLmxvbmdpdHVkZSkpIHJldHVybiBmYWxzZTtcblxuICAgIC8vIEludmFsaWQgbGF0L2xvblxuICAgIGlmIChwb3NpdGlvbi5sYXRpdHVkZSA8IC05MCB8fCBwb3NpdGlvbi5sYXRpdHVkZSA+IDkwIHx8IHBvc2l0aW9uLmxvbmdpdHVkZSA8IC0xODAgfHwgcG9zaXRpb24ubG9uZ2l0dWRlID4gMTgwKSB7XG4gICAgICAvLyAvIVxcIExvZyBpbiBjb25zb2xlLCBiZWNhdXNlIHNob3VsZCBuZXZlciBvY2N1clxuICAgICAgaWYgKG9wdHM/LmRlYnVnKSBjb25zb2xlLndhcm4oJ0ludmFsaWQgbGF0L2xvbmcgcG9zaXRpb246ICAnLCBwb3NpdGlvbik7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gT0s6IHZhbGlkXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBzdGF0aWMgaXNOaWxPckludmFsaWQocG9zaXRpb246IElQb3NpdGlvbiwgb3B0cz86IHsgZGVidWc/OiBib29sZWFuIH0pIHtcbiAgICByZXR1cm4gIUdlb2xvY2F0aW9uVXRpbHMuaXNOb3ROaWxBbmRWYWxpZChwb3NpdGlvbiwgb3B0cyk7XG4gIH1cblxuICBzdGF0aWMgY29tcHV0ZURpc3RhbmNlSW5NaWxlcyhwb3NpdGlvbjE6IElQb3NpdGlvbiwgcG9zaXRpb24yOiBJUG9zaXRpb24pOiBudW1iZXIge1xuICAgIC8vIEludmFsaWQgcG9zaXRpb24ocyk6IHNraXBcbiAgICBpZiAoR2VvbG9jYXRpb25VdGlscy5pc05pbE9ySW52YWxpZChwb3NpdGlvbjEsIHsgZGVidWc6IHRydWUgfSkgfHwgR2VvbG9jYXRpb25VdGlscy5pc05pbE9ySW52YWxpZChwb3NpdGlvbjIsIHsgZGVidWc6IHRydWUgfSkpIHJldHVybjtcblxuICAgIGNvbnN0IGxhdGl0dWRlMVJhZCA9IChNYXRoLlBJICogcG9zaXRpb24xLmxhdGl0dWRlKSAvIDE4MDtcbiAgICBjb25zdCBsb25naXR1ZGUxUmFkID0gKE1hdGguUEkgKiBwb3NpdGlvbjEubG9uZ2l0dWRlKSAvIDE4MDtcbiAgICBjb25zdCBsYXRpdHVkZTJSYWQgPSAoTWF0aC5QSSAqIHBvc2l0aW9uMi5sYXRpdHVkZSkgLyAxODA7XG4gICAgY29uc3QgbG9uZ2l0dWRlMlJhZCA9IChNYXRoLlBJICogcG9zaXRpb24yLmxvbmdpdHVkZSkgLyAxODA7XG5cbiAgICBsZXQgZGlzdGFuY2UgPVxuICAgICAgMiAqXG4gICAgICA2MzcxICpcbiAgICAgIE1hdGguYXNpbihcbiAgICAgICAgTWF0aC5zcXJ0KFxuICAgICAgICAgIE1hdGgucG93KE1hdGguc2luKChsYXRpdHVkZTFSYWQgLSBsYXRpdHVkZTJSYWQpIC8gMiksIDIpICtcbiAgICAgICAgICAgIE1hdGguY29zKGxhdGl0dWRlMVJhZCkgKiBNYXRoLmNvcyhsYXRpdHVkZTJSYWQpICogTWF0aC5wb3coTWF0aC5zaW4oKGxvbmdpdHVkZTJSYWQgLSBsb25naXR1ZGUxUmFkKSAvIDIpLCAyKVxuICAgICAgICApXG4gICAgICApO1xuICAgIGRpc3RhbmNlID0gTWF0aC5yb3VuZCgoZGlzdGFuY2UgLyAxLjg1MiArIE51bWJlci5FUFNJTE9OKSAqIDEwMCkgLyAxMDA7XG4gICAgcmV0dXJuIGRpc3RhbmNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcG9zaXRpb24gYnkgZ2VvIGxvYyBzZW5zb3JcbiAgICovXG4gIHN0YXRpYyBhc3luYyBnZXRDdXJyZW50UG9zaXRpb24ocGxhdGZvcm06IFBsYXRmb3JtU2VydmljZSB8IFBsYXRmb3JtLCBvcHRpb25zPzogUG9zaXRpb25PcHRpb25zKTogUHJvbWlzZTxJUG9zaXRpb24+IHtcbiAgICAvLyBVc2UgQ2FwYWNpdG9yIHBsdWdpblxuICAgIGlmIChwbGF0Zm9ybS5pcygnY2FwYWNpdG9yJykpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnNvbGUuaW5mbyhgW2dlb2xvY2F0aW9uLXV0aWxzXSBHZXQgY3VycmVudCBnZW8gbG9jYXRpb24sIHVzaW5nIENhcGFjaXRvci4uLih0aW1lb3V0OiAke29wdGlvbnM/LnRpbWVvdXR9KWApO1xuICAgICAgICBjb25zdCBwb3M6IFBvc2l0aW9uID0gYXdhaXQgR2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKG9wdGlvbnMpO1xuICAgICAgICByZXR1cm4gPElQb3NpdGlvbj57XG4gICAgICAgICAgbGF0aXR1ZGU6IHBvcy5jb29yZHMubGF0aXR1ZGUsXG4gICAgICAgICAgbG9uZ2l0dWRlOiBwb3MuY29vcmRzLmxvbmdpdHVkZSxcbiAgICAgICAgfTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBbZ2VvbG9jYXRpb24tdXRpbHNdIENhbm5vdCBnZXQgY3VycmVudCBnZW8gbG9jYXRpb24sIHVzaW5nIENhcGFjaXRvcjogJHtlcnI/Lm1lc3NhZ2UgfHwgJyd9YCk7XG5cbiAgICAgICAgLy8gRGV0ZWN0IHNvbWUgZXJyb3IsIHRvIGFkZCBjb2RlXG4gICAgICAgIC8vIEZJWE1FIC0gQ2FwYWNpdG9yIHVzZSBoYXJkY29kZWQgc3RyaW5ncyEgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vaW9uaWMtdGVhbS9jYXBhY2l0b3ItcGx1Z2lucylcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9ICgoZXJyPy5tZXNzYWdlIHx8ICcnKSBhcyBzdHJpbmcpLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgLy8gUGVybWlzc2lvbiBkZW5pZWRcbiAgICAgICAgaWYgKG1lc3NhZ2UuaW5jbHVkZXMoJ2xvY2F0aW9uIHBlcm1pc3Npb24gd2FzIGRlbmllZCcpIHx8IG1lc3NhZ2UuaW5jbHVkZXMoJ2xvY2F0aW9uIGRpc2FibGVkJykpIHtcbiAgICAgICAgICB0aHJvdyB7IC4uLmVyciwgY29kZTogR2VvbG9jYXRpb25Qb3NpdGlvbkVycm9yLlBFUk1JU1NJT05fREVOSUVEIH07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaW1lb3V0XG4gICAgICAgIGlmIChtZXNzYWdlLmluY2x1ZGVzKCd0aW1lb3V0IGV4cGlyZWQnKSkge1xuICAgICAgICAgIHRocm93IHsgLi4uZXJyLCBjb2RlOiBHZW9sb2NhdGlvblBvc2l0aW9uRXJyb3IuVElNRU9VVCB9O1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBPciBmYWxsYmFjayB0byBuYXZpZ2F0b3JcbiAgICBjb25zb2xlLmluZm8oJ1tnZW9sb2NhdGlvbi11dGlsc10gR2V0IGN1cnJlbnQgZ2VvIGxvY2F0aW9uLCB1c2luZyBicm93c2VyLi4uJyk7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPElQb3NpdGlvbj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihcbiAgICAgICAgKHJlcykgPT4ge1xuICAgICAgICAgIHJlc29sdmUoPElQb3NpdGlvbj57XG4gICAgICAgICAgICBsYXRpdHVkZTogcmVzLmNvb3Jkcy5sYXRpdHVkZSxcbiAgICAgICAgICAgIGxvbmdpdHVkZTogcmVzLmNvb3Jkcy5sb25naXR1ZGUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICBsZXQgbWVzc2FnZSA9IGVycj8ubWVzc2FnZSB8fCBlcnI7XG4gICAgICAgICAgbWVzc2FnZSA9IHR5cGVvZiBtZXNzYWdlID09PSAnc3RyaW5nJyA/IG1lc3NhZ2UgOiBKU09OLnN0cmluZ2lmeShtZXNzYWdlKTtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdbZ2VvbG9jYXRpb24tdXRpbHNdIENhbm5vdCBnZXQgY3VycmVudCBnZW8gbG9jYXRpb24sIHVzaW5nIGJyb3dzZXI6JyArIG1lc3NhZ2UpO1xuICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zXG4gICAgICApO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HammerGestureConfig } from '@angular/platform-browser';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export const HAMMER_TAP_TIME = 250;
|
|
5
|
+
export const HAMMER_PRESS_TIME = 400; // Increase need for double tap (default: 251 ms)
|
|
6
|
+
/**
|
|
7
|
+
* @hidden
|
|
8
|
+
* This class overrides the default Angular gesture config.
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
export class AppGestureConfig extends HammerGestureConfig {
|
|
12
|
+
// Override HammerJS default settings
|
|
13
|
+
overrides = {
|
|
14
|
+
press: {
|
|
15
|
+
time: HAMMER_PRESS_TIME,
|
|
16
|
+
},
|
|
17
|
+
pinch: {
|
|
18
|
+
enable: false,
|
|
19
|
+
},
|
|
20
|
+
rotate: {
|
|
21
|
+
enable: false,
|
|
22
|
+
},
|
|
23
|
+
// see https://hammerjs.github.io/recognizer-swipe/
|
|
24
|
+
swipe: {
|
|
25
|
+
threshold: 30, // Minimal distance required before recognizing.
|
|
26
|
+
velocity: 0.4, //Minimal velocity required before recognizing, unit is in px per ms.
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
buildHammer(element) {
|
|
30
|
+
// DEBUG
|
|
31
|
+
console.debug('[gesture] Applying HammerJS config to ', element.tagName);
|
|
32
|
+
const mc = new window.Hammer(element);
|
|
33
|
+
for (const eventName in this.overrides) {
|
|
34
|
+
if (eventName)
|
|
35
|
+
mc.get(eventName).set(this.overrides[eventName]);
|
|
36
|
+
}
|
|
37
|
+
return mc;
|
|
38
|
+
}
|
|
39
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppGestureConfig, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
40
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppGestureConfig, providedIn: 'root' });
|
|
41
|
+
}
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppGestureConfig, decorators: [{
|
|
43
|
+
type: Injectable,
|
|
44
|
+
args: [{ providedIn: 'root' }]
|
|
45
|
+
}] });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzdHVyZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9nZXN0dXJlL2dlc3R1cmUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRWhFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUM7QUFDbkMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFDLENBQUMsaURBQWlEO0FBQ3ZGOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsbUJBQW1CO0lBQ3ZELHFDQUFxQztJQUNyQyxTQUFTLEdBQVE7UUFDZixLQUFLLEVBQUU7WUFDTCxJQUFJLEVBQUUsaUJBQWlCO1NBQ3hCO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsTUFBTSxFQUFFLEtBQUs7U0FDZDtRQUNELE1BQU0sRUFBRTtZQUNOLE1BQU0sRUFBRSxLQUFLO1NBQ2Q7UUFDRCxtREFBbUQ7UUFDbkQsS0FBSyxFQUFFO1lBQ0wsU0FBUyxFQUFFLEVBQUUsRUFBRSxnREFBZ0Q7WUFDL0QsUUFBUSxFQUFFLEdBQUcsRUFBRSxxRUFBcUU7U0FDckY7S0FDRixDQUFDO0lBRUYsV0FBVyxDQUFDLE9BQW9CO1FBQzlCLFFBQVE7UUFDUixPQUFPLENBQUMsS0FBSyxDQUFDLHdDQUF3QyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV6RSxNQUFNLEVBQUUsR0FBRyxJQUFVLE1BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFN0MsS0FBSyxNQUFNLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdkMsSUFBSSxTQUFTO2dCQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNsRSxDQUFDO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO3dHQTlCVSxnQkFBZ0I7NEdBQWhCLGdCQUFnQixjQURILE1BQU07OzRGQUNuQixnQkFBZ0I7a0JBRDVCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSGFtbWVyR2VzdHVyZUNvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5leHBvcnQgY29uc3QgSEFNTUVSX1RBUF9USU1FID0gMjUwO1xuZXhwb3J0IGNvbnN0IEhBTU1FUl9QUkVTU19USU1FID0gNDAwOyAvLyBJbmNyZWFzZSBuZWVkIGZvciBkb3VibGUgdGFwIChkZWZhdWx0OiAyNTEgbXMpXG4vKipcbiAqIEBoaWRkZW5cbiAqIFRoaXMgY2xhc3Mgb3ZlcnJpZGVzIHRoZSBkZWZhdWx0IEFuZ3VsYXIgZ2VzdHVyZSBjb25maWcuXG4gKlxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFwcEdlc3R1cmVDb25maWcgZXh0ZW5kcyBIYW1tZXJHZXN0dXJlQ29uZmlnIHtcbiAgLy8gT3ZlcnJpZGUgSGFtbWVySlMgZGVmYXVsdCBzZXR0aW5nc1xuICBvdmVycmlkZXMgPSA8YW55PntcbiAgICBwcmVzczoge1xuICAgICAgdGltZTogSEFNTUVSX1BSRVNTX1RJTUUsXG4gICAgfSxcbiAgICBwaW5jaDoge1xuICAgICAgZW5hYmxlOiBmYWxzZSxcbiAgICB9LFxuICAgIHJvdGF0ZToge1xuICAgICAgZW5hYmxlOiBmYWxzZSxcbiAgICB9LFxuICAgIC8vIHNlZSBodHRwczovL2hhbW1lcmpzLmdpdGh1Yi5pby9yZWNvZ25pemVyLXN3aXBlL1xuICAgIHN3aXBlOiB7XG4gICAgICB0aHJlc2hvbGQ6IDMwLCAvLyBNaW5pbWFsIGRpc3RhbmNlIHJlcXVpcmVkIGJlZm9yZSByZWNvZ25pemluZy5cbiAgICAgIHZlbG9jaXR5OiAwLjQsIC8vTWluaW1hbCB2ZWxvY2l0eSByZXF1aXJlZCBiZWZvcmUgcmVjb2duaXppbmcsIHVuaXQgaXMgaW4gcHggcGVyIG1zLlxuICAgIH0sXG4gIH07XG5cbiAgYnVpbGRIYW1tZXIoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICAvLyBERUJVR1xuICAgIGNvbnNvbGUuZGVidWcoJ1tnZXN0dXJlXSBBcHBseWluZyBIYW1tZXJKUyBjb25maWcgdG8gJywgZWxlbWVudC50YWdOYW1lKTtcblxuICAgIGNvbnN0IG1jID0gbmV3ICg8YW55PndpbmRvdykuSGFtbWVyKGVsZW1lbnQpO1xuXG4gICAgZm9yIChjb25zdCBldmVudE5hbWUgaW4gdGhpcy5vdmVycmlkZXMpIHtcbiAgICAgIGlmIChldmVudE5hbWUpIG1jLmdldChldmVudE5hbWUpLnNldCh0aGlzLm92ZXJyaWRlc1tldmVudE5hbWVdKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFtbWVyLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvZ2VzdHVyZS9oYW1tZXIudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWNsYXJlIHR5cGUgSGFtbWVyU3dpcGVBY3Rpb24gPSAnc3dpcGVsZWZ0JyB8ICdzd2lwZXJpZ2h0JztcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBIYW1tZXJTd2lwZUV2ZW50IGV4dGVuZHMgRXZlbnQge1xuICB0eXBlOiBIYW1tZXJTd2lwZUFjdGlvbjtcbiAgcG9pbnRlclR5cGU/OiAndG91Y2gnIHwgYW55O1xuICBjZW50ZXI/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH07XG4gIGRpc3RhbmNlPzogbnVtYmVyO1xuICB2ZWxvY2l0eT86IG51bWJlcjtcbiAgc3JjRXZlbnQ/OiBFdmVudDtcbn1cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEhhbW1lclRhcEV2ZW50IGV4dGVuZHMgRXZlbnQge1xuICB0YXBDb3VudD86IG51bWJlcjtcbiAgc3JjRXZlbnQ/OiBFdmVudDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export function rgbToHex(r, g, b) {
|
|
2
|
+
return '#' + componentToHex(r) + componentToHex(g) + componentToHex(b);
|
|
3
|
+
}
|
|
4
|
+
export function rgbArrayToHex(rgb) {
|
|
5
|
+
return '#' + componentToHex(rgb[0]) + componentToHex(rgb[1]) + componentToHex(rgb[2]);
|
|
6
|
+
}
|
|
7
|
+
export function hexToRgbArray(hex) {
|
|
8
|
+
const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
|
|
9
|
+
return result ? [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16)] : null;
|
|
10
|
+
}
|
|
11
|
+
export function hexToRgb(hex) {
|
|
12
|
+
const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
|
|
13
|
+
return result
|
|
14
|
+
? {
|
|
15
|
+
r: parseInt(result[1], 16),
|
|
16
|
+
g: parseInt(result[2], 16),
|
|
17
|
+
b: parseInt(result[3], 16),
|
|
18
|
+
}
|
|
19
|
+
: null;
|
|
20
|
+
}
|
|
21
|
+
function componentToHex(c) {
|
|
22
|
+
const hex = c.toString(16);
|
|
23
|
+
return hex.length === 1 ? '0' + hex : hex;
|
|
24
|
+
}
|
|
25
|
+
// See mix in file ionic.functions.color.scss
|
|
26
|
+
export function mixHex(color1, color2, weight) {
|
|
27
|
+
weight = weight ? weight / 100 : 0.5;
|
|
28
|
+
const rgb1 = hexToRgbArray(color1);
|
|
29
|
+
if (!rgb1)
|
|
30
|
+
throw Error('Invalid hex color:' + color1);
|
|
31
|
+
const rgb2 = hexToRgbArray(color2);
|
|
32
|
+
if (!rgb2)
|
|
33
|
+
throw Error('Invalid hex color:' + color2);
|
|
34
|
+
const rgbAverage = rgb1.map((v, index) => Math.round(v * weight + rgb2[index] * (1 - weight)));
|
|
35
|
+
return rgbArrayToHex(rgbAverage);
|
|
36
|
+
}
|
|
37
|
+
// 12% darker version of the base color (mix with black)
|
|
38
|
+
export function getColorShade(color) {
|
|
39
|
+
return mixHex('#000000', color, 12);
|
|
40
|
+
}
|
|
41
|
+
// 10% lighter version of the base color (mix with white)
|
|
42
|
+
export function getColorTint(color) {
|
|
43
|
+
return mixHex('#ffffff', color, 10);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
*
|
|
47
|
+
* @param color
|
|
48
|
+
* @param bw if true, will use black or white color, instead of the exact inverse
|
|
49
|
+
*/
|
|
50
|
+
export function getColorContrast(color, bw) {
|
|
51
|
+
const rgb = hexToRgbArray(color);
|
|
52
|
+
if (!rgb)
|
|
53
|
+
throw Error('Invalid hex color:' + color);
|
|
54
|
+
if (bw === true) {
|
|
55
|
+
// http://stackoverflow.com/a/3943023/112731
|
|
56
|
+
return rgb[0] * 0.299 + rgb[1] * 0.587 + rgb[2] * 0.114 > 186 ? '#000000' : '#FFFFFF';
|
|
57
|
+
}
|
|
58
|
+
return rgbArrayToHex(rgb.map((v) => 255 - v));
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JzLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvZ3JhcGgvY29sb3JzLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxRQUFRLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTO0lBQ3RELE9BQU8sR0FBRyxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pFLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEdBQWE7SUFDekMsT0FBTyxHQUFHLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEYsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBVztJQUN2QyxNQUFNLE1BQU0sR0FBRywyQ0FBMkMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckUsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ3JHLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQVc7SUFDbEMsTUFBTSxNQUFNLEdBQUcsMkNBQTJDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JFLE9BQU8sTUFBTTtR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ciwgYjogbnVtYmVyKTogc3RyaW5nIHtcbiAgcmV0dXJuICcjJyArIGNvbXBvbmVudFRvSGV4KHIpICsgY29tcG9uZW50VG9IZXgoZykgKyBjb21wb25lbnRUb0hleChiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJnYkFycmF5VG9IZXgocmdiOiBudW1iZXJbXSk6IHN0cmluZyB7XG4gIHJldHVybiAnIycgKyBjb21wb25lbnRUb0hleChyZ2JbMF0pICsgY29tcG9uZW50VG9IZXgocmdiWzFdKSArIGNvbXBvbmVudFRvSGV4KHJnYlsyXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoZXhUb1JnYkFycmF5KGhleDogc3RyaW5nKTogbnVtYmVyW10ge1xuICBjb25zdCByZXN1bHQgPSAvXiM/KFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pJC9pLmV4ZWMoaGV4KTtcbiAgcmV0dXJuIHJlc3VsdCA/IFtwYXJzZUludChyZXN1bHRbMV0sIDE2KSwgcGFyc2VJbnQocmVzdWx0WzJdLCAxNiksIHBhcnNlSW50KHJlc3VsdFszXSwgMTYpXSA6IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoZXhUb1JnYihoZXg6IHN0cmluZyk6IHsgcjogbnVtYmVyOyBnOiBudW1iZXI7IGI6IG51bWJlciB9IHtcbiAgY29uc3QgcmVzdWx0ID0gL14jPyhbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KSQvaS5leGVjKGhleCk7XG4gIHJldHVybiByZXN1bHRcbiAgICA/IHtcbiAgICAgICAgcjogcGFyc2VJbnQocmVzdWx0WzFdLCAxNiksXG4gICAgICAgIGc6IHBhcnNlSW50KHJlc3VsdFsyXSwgMTYpLFxuICAgICAgICBiOiBwYXJzZUludChyZXN1bHRbM10sIDE2KSxcbiAgICAgIH1cbiAgICA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIGNvbXBvbmVudFRvSGV4KGM6IG51bWJlcik6IHN0cmluZyB7XG4gIGNvbnN0IGhleCA9IGMudG9TdHJpbmcoMTYpO1xuICByZXR1cm4gaGV4Lmxlbmd0aCA9PT0gMSA/ICcwJyArIGhleCA6IGhleDtcbn1cblxuLy8gU2VlIG1peCBpbiBmaWxlIGlvbmljLmZ1bmN0aW9ucy5jb2xvci5zY3NzXG5leHBvcnQgZnVuY3Rpb24gbWl4SGV4KGNvbG9yMTogc3RyaW5nLCBjb2xvcjI6IHN0cmluZywgd2VpZ2h0PzogbnVtYmVyKSB7XG4gIHdlaWdodCA9IHdlaWdodCA/IHdlaWdodCAvIDEwMCA6IDAuNTtcblxuICBjb25zdCByZ2IxID0gaGV4VG9SZ2JBcnJheShjb2xvcjEpO1xuICBpZiAoIXJnYjEpIHRocm93IEVycm9yKCdJbnZhbGlkIGhleCBjb2xvcjonICsgY29sb3IxKTtcblxuICBjb25zdCByZ2IyID0gaGV4VG9SZ2JBcnJheShjb2xvcjIpO1xuICBpZiAoIXJnYjIpIHRocm93IEVycm9yKCdJbnZhbGlkIGhleCBjb2xvcjonICsgY29sb3IyKTtcblxuICBjb25zdCByZ2JBdmVyYWdlID0gcmdiMS5tYXAoKHYsIGluZGV4KSA9PiBNYXRoLnJvdW5kKHYgKiB3ZWlnaHQgKyByZ2IyW2luZGV4XSAqICgxIC0gd2VpZ2h0KSkpO1xuICByZXR1cm4gcmdiQXJyYXlUb0hleChyZ2JBdmVyYWdlKTtcbn1cblxuLy8gMTIlIGRhcmtlciB2ZXJzaW9uIG9mIHRoZSBiYXNlIGNvbG9yIChtaXggd2l0aCBibGFjaylcbmV4cG9ydCBmdW5jdGlvbiBnZXRDb2xvclNoYWRlKGNvbG9yOiBzdHJpbmcpIHtcbiAgcmV0dXJuIG1peEhleCgnIzAwMDAwMCcsIGNvbG9yLCAxMik7XG59XG5cbi8vIDEwJSBsaWdodGVyIHZlcnNpb24gb2YgdGhlIGJhc2UgY29sb3IgKG1peCB3aXRoIHdoaXRlKVxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbG9yVGludChjb2xvcjogc3RyaW5nKSB7XG4gIHJldHVybiBtaXhIZXgoJyNmZmZmZmYnLCBjb2xvciwgMTApO1xufVxuXG4vKipcbiAqXG4gKiBAcGFyYW0gY29sb3JcbiAqIEBwYXJhbSBidyBpZiB0cnVlLCB3aWxsIHVzZSBibGFjayBvciB3aGl0ZSBjb2xvciwgaW5zdGVhZCBvZiB0aGUgZXhhY3QgaW52ZXJzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29sb3JDb250cmFzdChjb2xvcjogc3RyaW5nLCBidz86IGJvb2xlYW4pIHtcbiAgY29uc3QgcmdiID0gaGV4VG9SZ2JBcnJheShjb2xvcik7XG4gIGlmICghcmdiKSB0aHJvdyBFcnJvcignSW52YWxpZCBoZXggY29sb3I6JyArIGNvbG9yKTtcblxuICBpZiAoYncgPT09IHRydWUpIHtcbiAgICAvLyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8zOTQzMDIzLzExMjczMVxuICAgIHJldHVybiByZ2JbMF0gKiAwLjI5OSArIHJnYlsxXSAqIDAuNTg3ICsgcmdiWzJdICogMC4xMTQgPiAxODYgPyAnIzAwMDAwMCcgOiAnI0ZGRkZGRic7XG4gIH1cblxuICByZXR1cm4gcmdiQXJyYXlUb0hleChyZ2IubWFwKCh2KSA9PiAyNTUgLSB2KSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import { isNil, isNotNil } from '../functions';
|
|
2
|
+
/**
|
|
3
|
+
* Define here theme colors
|
|
4
|
+
*/
|
|
5
|
+
const rgbArrayMap = {
|
|
6
|
+
white: [255, 255, 255],
|
|
7
|
+
primary: [20, 67, 145], // ok
|
|
8
|
+
secondary: [117, 196, 253], // ok
|
|
9
|
+
tertiary: [91, 94, 244], // ok
|
|
10
|
+
danger: [245, 61, 61], // ok
|
|
11
|
+
light: [244, 245, 248], // ok
|
|
12
|
+
medium: [152, 154, 162], // ok
|
|
13
|
+
dark: [34, 36, 40], // ok
|
|
14
|
+
red: [255, 0, 0],
|
|
15
|
+
green: [0, 255, 0],
|
|
16
|
+
blue: [0, 0, 255],
|
|
17
|
+
};
|
|
18
|
+
// Fill a map of Color objects
|
|
19
|
+
const colorsMap = {};
|
|
20
|
+
/**
|
|
21
|
+
* Useful class for color conversion
|
|
22
|
+
*/
|
|
23
|
+
// @dynamic
|
|
24
|
+
export class Color {
|
|
25
|
+
_rgbArray;
|
|
26
|
+
_opacity;
|
|
27
|
+
_name;
|
|
28
|
+
// Helper method, to retrieve a color
|
|
29
|
+
static get(name) {
|
|
30
|
+
return colorsMap[name];
|
|
31
|
+
}
|
|
32
|
+
static parseRgba(rgba) {
|
|
33
|
+
if (!rgba || (!rgba.startsWith('rgb(') && !rgba.startsWith('rgba(')))
|
|
34
|
+
return null;
|
|
35
|
+
// Parse parts
|
|
36
|
+
const parts = rgba.replace('rgb(', '').replace('rgba(', '').replace(')', '').split(',');
|
|
37
|
+
if (parts.length !== 3 && parts.length !== 4)
|
|
38
|
+
return null;
|
|
39
|
+
return new Color([+parts[0], +parts[1], +parts[2]], (parts.length === 4 && +parts[3]) || 1, 'custom');
|
|
40
|
+
}
|
|
41
|
+
static transparent = function () {
|
|
42
|
+
return new Color([0, 0, 0], 0, 'translucent');
|
|
43
|
+
};
|
|
44
|
+
constructor(_rgbArray, _opacity, _name = 'custom') {
|
|
45
|
+
this._rgbArray = _rgbArray;
|
|
46
|
+
this._opacity = _opacity;
|
|
47
|
+
this._name = _name;
|
|
48
|
+
}
|
|
49
|
+
get name() {
|
|
50
|
+
return this._name;
|
|
51
|
+
}
|
|
52
|
+
get opacity() {
|
|
53
|
+
return isNotNil(this._opacity) ? this._opacity : 1;
|
|
54
|
+
}
|
|
55
|
+
get rgb() {
|
|
56
|
+
return this._rgbArray;
|
|
57
|
+
}
|
|
58
|
+
get r() {
|
|
59
|
+
return this._rgbArray[0];
|
|
60
|
+
}
|
|
61
|
+
get g() {
|
|
62
|
+
return this._rgbArray[1];
|
|
63
|
+
}
|
|
64
|
+
get b() {
|
|
65
|
+
return this._rgbArray[2];
|
|
66
|
+
}
|
|
67
|
+
rgba(opacity) {
|
|
68
|
+
opacity = isNotNil(opacity) ? opacity : this._opacity;
|
|
69
|
+
if (isNil(opacity) || opacity < 0 || opacity > 1) {
|
|
70
|
+
return 'rgb(' + this._rgbArray.join(',') + ')';
|
|
71
|
+
}
|
|
72
|
+
return 'rgba(' + this._rgbArray.join(',') + ',' + opacity + ')';
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Helper class for colors scale
|
|
77
|
+
*/
|
|
78
|
+
// @dynamic
|
|
79
|
+
export class ColorScale {
|
|
80
|
+
static custom = (count, options) => {
|
|
81
|
+
options = options || {};
|
|
82
|
+
return new ColorScale(linearColorGradientWithIntermediate(count, {
|
|
83
|
+
startColor: options.startColor || undefined,
|
|
84
|
+
mainColor: options.mainColor || undefined,
|
|
85
|
+
mainColorIndex: isNotNil(options.mainColorIndex) ? options.mainColorIndex : undefined,
|
|
86
|
+
endColor: options.endColor || undefined,
|
|
87
|
+
}), options);
|
|
88
|
+
};
|
|
89
|
+
static default() {
|
|
90
|
+
return ColorScale.custom(25);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Create an array with the given color
|
|
94
|
+
**/
|
|
95
|
+
static fix(length, colorName) {
|
|
96
|
+
const color = Color.get(colorName || 'primary').rgba(0.5);
|
|
97
|
+
return new Array(length || 25).fill(color);
|
|
98
|
+
}
|
|
99
|
+
_min;
|
|
100
|
+
_max;
|
|
101
|
+
_rangeSize;
|
|
102
|
+
_legendItems;
|
|
103
|
+
get min() {
|
|
104
|
+
return this._min;
|
|
105
|
+
}
|
|
106
|
+
get max() {
|
|
107
|
+
return this._max;
|
|
108
|
+
}
|
|
109
|
+
constructor(colorArray, options) {
|
|
110
|
+
options = options || {};
|
|
111
|
+
// reserved last colors for value > max
|
|
112
|
+
const nbIntervalBeforeUpper = !options.upperMax ? colorArray.length : colorArray.length - 1;
|
|
113
|
+
this._min = options.min || 0;
|
|
114
|
+
this._max = options.max || nbIntervalBeforeUpper;
|
|
115
|
+
this._rangeSize = Math.round((this._max - this._min) / nbIntervalBeforeUpper);
|
|
116
|
+
this._legendItems = this.computeLegendItems(colorArray);
|
|
117
|
+
}
|
|
118
|
+
get legend() {
|
|
119
|
+
return {
|
|
120
|
+
items: this._legendItems,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
getValueColor(value) {
|
|
124
|
+
return this.getLegendForValue(value).color;
|
|
125
|
+
}
|
|
126
|
+
getLegendForValue(value) {
|
|
127
|
+
if (value <= this._min)
|
|
128
|
+
return this._legendItems[0];
|
|
129
|
+
if (value >= this._max)
|
|
130
|
+
return this._legendItems[this._legendItems.length - 1];
|
|
131
|
+
const index = Math.floor((value * (this._legendItems.length - 1)) / this._max);
|
|
132
|
+
return this._legendItems[index];
|
|
133
|
+
}
|
|
134
|
+
getLegendAtIndex(index) {
|
|
135
|
+
return this._legendItems[index];
|
|
136
|
+
}
|
|
137
|
+
computeLegendItems(colorArray) {
|
|
138
|
+
return colorArray.map((color, index) => {
|
|
139
|
+
const start = index * this._rangeSize;
|
|
140
|
+
const end = start + this._rangeSize;
|
|
141
|
+
return {
|
|
142
|
+
color: new Color(color),
|
|
143
|
+
label: end < this._max ? `${start.toLocaleString()} - ${end.toLocaleString()}` : ` >= ${start}`,
|
|
144
|
+
};
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
// Fill colorsMap
|
|
149
|
+
Object.getOwnPropertyNames(rgbArrayMap).forEach((key) => {
|
|
150
|
+
colorsMap[key] = new Color(rgbArrayMap[key], 1, key);
|
|
151
|
+
});
|
|
152
|
+
/**
|
|
153
|
+
* Internal function, that create a colors scale, using iteration
|
|
154
|
+
*
|
|
155
|
+
* @param count
|
|
156
|
+
* @param opacity
|
|
157
|
+
* @param startColor
|
|
158
|
+
* @param startState
|
|
159
|
+
* @returns
|
|
160
|
+
*/
|
|
161
|
+
function linearColorGradientWithIntermediate(count, options) {
|
|
162
|
+
options = options || {};
|
|
163
|
+
// From [0,1]
|
|
164
|
+
options.startColor = options.startColor || [255, 255, 190]; // default start = creme
|
|
165
|
+
options.mainColorIndex = options.mainColorIndex && options.mainColorIndex < count - 1 ? options.mainColorIndex : count - 1;
|
|
166
|
+
options.endColor = options.endColor || [255, 0, 0]; // default main = red
|
|
167
|
+
if (!options.mainColor) {
|
|
168
|
+
return linearColorGradient(count, {
|
|
169
|
+
startColor: options.startColor,
|
|
170
|
+
endColor: options.endColor,
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
// Step 1: startColor -> mainColor
|
|
175
|
+
const result = linearColorGradient(options.mainColorIndex + 1, {
|
|
176
|
+
startColor: options.startColor,
|
|
177
|
+
endColor: options.mainColor,
|
|
178
|
+
});
|
|
179
|
+
// Step 2: mainColor -> endColor
|
|
180
|
+
if (options.mainColorIndex < count - 1) {
|
|
181
|
+
return result.concat(linearColorGradient(count - options.mainColorIndex, {
|
|
182
|
+
startColor: options.mainColor,
|
|
183
|
+
endColor: options.endColor,
|
|
184
|
+
}));
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
return result;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
function linearColorGradient(count, options) {
|
|
192
|
+
options = options || {};
|
|
193
|
+
// From [0,1]
|
|
194
|
+
options.startColor = options.startColor || [255, 255, 255]; // default start = white
|
|
195
|
+
options.endColor = options.endColor || [255, 0, 0]; // default end = red
|
|
196
|
+
const result = [];
|
|
197
|
+
const color = options.startColor.slice(); // copy the start color
|
|
198
|
+
const delta = [
|
|
199
|
+
Math.round((options.endColor[0] - options.startColor[0]) / count),
|
|
200
|
+
Math.round((options.endColor[1] - options.startColor[1]) / count),
|
|
201
|
+
Math.round((options.endColor[2] - options.startColor[2]) / count),
|
|
202
|
+
];
|
|
203
|
+
for (let i = 0; i < count - 1; i++) {
|
|
204
|
+
for (let j = 0; j < 3; j++) {
|
|
205
|
+
color[j] += delta[j];
|
|
206
|
+
}
|
|
207
|
+
result.push(color.slice());
|
|
208
|
+
}
|
|
209
|
+
// Force last color = end color
|
|
210
|
+
result.push(options.endColor.slice());
|
|
211
|
+
// Output as array
|
|
212
|
+
return result;
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGgtY29sb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvZ3JhcGgvZ3JhcGgtY29sb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBSS9DOztHQUVHO0FBQ0gsTUFBTSxXQUFXLEdBQUc7SUFDbEIsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7SUFDdEIsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxLQUFLO0lBQzdCLFNBQVMsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsS0FBSztJQUNqQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEtBQUs7SUFDOUIsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLO0lBQzVCLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsS0FBSztJQUM3QixNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEtBQUs7SUFDOUIsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLO0lBQ3pCLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hCLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2xCLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDO0NBQ2xCLENBQUM7QUFFRiw4QkFBOEI7QUFDOUIsTUFBTSxTQUFTLEdB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S0FBSyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7S0FDbEUsQ0FBQztJQUVGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDbkMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzNCLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELCtCQUErQjtJQUMvQixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUV0QyxrQkFBa0I7SUFDbEIsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByZWRlZmluZWRDb2xvcnMgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5pbXBvcnQgeyBpc05pbCwgaXNOb3ROaWwgfSBmcm9tICcuLi9mdW5jdGlvbnMnO1xuXG5leHBvcnQgZGVjbGFyZSB0eXBlIENvbG9yTmFtZSA9IFByZWRlZmluZWRDb2xvcnMgfCAnd2hpdGUnIHwgJ3JlZCcgfCAnZ3JlZW4nIHwgJ2JsdWUnO1xuXG4vKipcbiAqIERlZmluZSBoZXJlIHRoZW1lIGNvbG9yc1xuICovXG5jb25zdCByZ2JBcnJheU1hcCA9IHtcbiAgd2hpdGU6IFsyNTUsIDI1NSwgMjU1XSxcbiAgcHJpbWFyeTogWzIwLCA2NywgMTQ1XSwgLy8gb2tcbiAgc2Vjb25kYXJ5OiBbMTE3LCAxOTYsIDI1M10sIC8vIG9rXG4gIHRlcnRpYXJ5OiBbOTEsIDk0LCAyNDRdLCAvLyBva1xuICBkYW5nZXI6IFsyNDUsIDYxLCA2MV0sIC8vIG9rXG4gIGxpZ2h0OiBbMjQ0LCAyNDUsIDI0OF0sIC8vIG9rXG4gIG1lZGl1bTogWzE1MiwgMTU0LCAxNjJdLCAvLyBva1xuICBkYXJrOiBbMzQsIDM2LCA0MF0sIC8vIG9rXG4gIHJlZDogWzI1NSwgMCwgMF0sXG4gIGdyZWVuOiBbMCwgMjU1LCAwXSxcbiAgYmx1ZTogWzAsIDAsIDI1NV0sXG59O1xuXG4vLyBGaWxsIGEgbWFwIG9mIENvbG9yIG9iamVjdHNcbmNvbnN0IGNvbG9yc01hcDogeyBba2V5OiBzdHJpbmddOiBDb2xvciB9ID0ge307XG5cbi8qKlxuICogVXNlZnVsIGNsYXNzIGZvciBjb2xvciBjb252ZXJzaW9uXG4gKi9cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgQ29sb3Ige1xuICAvLyBIZWxwZXIgbWV0aG9kLCB0byByZXRyaWV2ZSBhIGNvbG9yXG4gIHN0YXRpYyBnZXQobmFtZTogQ29sb3JOYW1lKTogQ29sb3Ige1xuICAgIHJldHVybiBjb2xvcnNNYXBbbmFtZV0gYXMgQ29sb3I7XG4gIH1cblxuICBzdGF0aWMgcGFyc2VSZ2JhKHJnYmE6IHN0cmluZyk6IENvbG9yIHwgbnVsbCB7XG4gICAgaWYgKCFyZ2JhIHx8ICghcmdiYS5zdGFydHNXaXRoKCdyZ2IoJykgJiYgIXJnYmEuc3RhcnRzV2l0aCgncmdiYSgnKSkpIHJldHVybiBudWxsO1xuXG4gICAgLy8gUGFyc2UgcGFydHNcbiAgICBjb25zdCBwYXJ0cyA9IHJnYmEucmVwbGFjZSgncmdiKCcsICcnKS5yZXBsYWNlKCdyZ2JhKCcsICcnKS5yZXBsYWNlKCcpJywgJycpLnNwbGl0KCcsJyk7XG5cbiAgICBpZiAocGFydHMubGVuZ3RoICE9PSAzICYmIHBhcnRzLmxlbmd0aCAhPT0gNCkgcmV0dXJuIG51bGw7XG5cbiAgICByZXR1cm4gbmV3IENvbG9yKFsrcGFydHNbMF0sICtwYXJ0c1sxXSwgK3BhcnRzWzJdXSwgKHBhcnRzLmxlbmd0aCA9PT0gNCAmJiArcGFydHNbM10pIHx8IDEsICdjdXN0b20nKTtcbiAgfVxuXG4gIHN0YXRpYyB0cmFuc3BhcmVudCA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gbmV3IENvbG9yKFswLCAwLCAwXSwgMCwgJ3RyYW5zbHVjZW50Jyk7XG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfcmdiQXJyYXk6IG51bWJlcltdLFxuICAgIHByaXZhdGUgX29wYWNpdHk/OiBudW1iZXIsXG4gICAgcHJpdmF0ZSBfbmFtZTogc3RyaW5nID0gJ2N1c3RvbSdcbiAgKSB7fVxuICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9uYW1lO1xuICB9XG4gIGdldCBvcGFjaXR5KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIGlzTm90TmlsKHRoaXMuX29wYWNpdHkpID8gdGhpcy5fb3BhY2l0eSA6IDE7XG4gIH1cbiAgZ2V0IHJnYigpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3JnYkFycmF5O1xuICB9XG5cbiAgZ2V0IHIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcmdiQXJyYXlbMF07XG4gIH1cblxuICBnZXQgZygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9yZ2JBcnJheVsxXTtcbiAgfVxuXG4gIGdldCBiKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3JnYkFycmF5WzJdO1xuICB9XG5cbiAgcmdiYShvcGFjaXR5PzogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBvcGFjaXR5ID0gaXNOb3ROaWwob3BhY2l0eSkgPyBvcGFjaXR5IDogdGhpcy5fb3BhY2l0eTtcbiAgICBpZiAoaXNOaWwob3BhY2l0eSkgfHwgb3BhY2l0eSA8IDAgfHwgb3BhY2l0eSA+IDEpIHtcbiAgICAgIHJldHVybiAncmdiKCcgKyB0aGlzLl9yZ2JBcnJheS5qb2luKCcsJykgKyAnKSc7XG4gICAgfVxuICAgIHJldHVybiAncmdiYSgnICsgdGhpcy5fcmdiQXJyYXkuam9pbignLCcpICsgJywnICsgb3BhY2l0eSArICcpJztcbiAgfVxufVxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ29sb3JHcmFkaWVudE9wdGlvbnMge1xuICBzdGFydENvbG9yPzogbnVtYmVyW107XG4gIG1haW5Db2xvcj86IG51bWJlcltdO1xuICBtYWluQ29sb3JJbmRleD86IG51bWJlcjtcbiAgZW5kQ29sb3I/OiBudW1iZXJbXTtcbn1cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIENvbG9yU2NhbGVPcHRpb25zIGV4dGVuZHMgQ29sb3JHcmFkaWVudE9wdGlvbnMge1xuICBvcGFjaXR5PzogbnVtYmVyO1xuICBtaW4/OiBudW1iZXI7XG4gIG1heD86IG51bWJlcjtcbiAgdXBwZXJNYXg/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ29sb3JTY2FsZUxlZ2VuZEl0ZW0ge1xuICBsYWJlbDogc3RyaW5nIHwgbnVtYmVyW107XG4gIGNvbG9yOiBDb2xvcjtcbn1cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIENvbG9yU2NhbGVMZWdlbmQge1xuICBpdGVtczogQ29sb3JTY2FsZUxlZ2VuZEl0ZW1bXTtcbn1cblxuLyoqXG4gKiBIZWxwZXIgY2xhc3MgZm9yIGNvbG9ycyBzY2FsZVxuICovXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIENvbG9yU2NhbGUge1xuICBzdGF0aWMgY3VzdG9tID0gKGNvdW50OiBudW1iZXIsIG9wdGlvbnM/OiBDb2xvclNjYWxlT3B0aW9ucykgPT4ge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgIHJldHVybiBuZXcgQ29sb3JTY2FsZShcbiAgICAgIGxpbmVhckNvbG9yR3JhZGllbnRXaXRoSW50ZXJtZWRpYXRlKGNvdW50LCB7XG4gICAgICAgIHN0YXJ0Q29sb3I6IG9wdGlvbnMuc3RhcnRDb2xvciB8fCB1bmRlZmluZWQsXG4gICAgICAgIG1haW5Db2xvcjogb3B0aW9ucy5tYWluQ29sb3IgfHwgdW5kZWZpbmVkLFxuICAgICAgICBtYWluQ29sb3JJbmRleDogaXNOb3ROaWwob3B0aW9ucy5tYWluQ29sb3JJbmRleCkgPyBvcHRpb25zLm1haW5Db2xvckluZGV4IDogdW5kZWZpbmVkLFxuICAgICAgICBlbmRDb2xvcjogb3B0aW9ucy5lbmRDb2xvciB8fCB1bmRlZmluZWQsXG4gICAgICB9KSxcbiAgICAgIG9wdGlvbnNcbiAgICApO1xuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0KCkge1xuICAgIHJldHVybiBDb2xvclNjYWxlLmN1c3RvbSgyNSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIGFycmF5IHdpdGggdGhlIGdpdmVuIGNvbG9yXG4gICAqKi9cbiAgc3RhdGljIGZpeChsZW5ndGg/OiBudW1iZXIsIGNvbG9yTmFtZT86IENvbG9yTmFtZSk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBjb2xvciA9IENvbG9yLmdldChjb2xvck5hbWUgfHwgJ3ByaW1hcnknKS5yZ2JhKDAuNSk7XG4gICAgcmV0dXJuIG5ldyBBcnJheTxzdHJpbmc+KGxlbmd0aCB8fCAyNSkuZmlsbChjb2xvcik7XG4gIH1cblxuICBwcml2YXRlIF9taW46IG51bWJlcjtcbiAgcHJpdmF0ZSBfbWF4OiBudW1iZXI7XG4gIHByaXZhdGUgX3JhbmdlU2l6ZTogbnVtYmVyO1xuICBwcml2YXRlIF9sZWdlbmRJdGVtczogQ29sb3JTY2FsZUxlZ2VuZEl0ZW1bXTtcblxuICBnZXQgbWluKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX21pbjtcbiAgfVxuICBnZXQgbWF4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX21heDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGNvbG9yQXJyYXk6IG51bWJlcltdW10sIG9wdGlvbnM/OiBDb2xvclNjYWxlT3B0aW9ucykge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgIC8vIHJlc2VydmVkIGxhc3QgY29sb3JzIGZvciB2YWx1ZSA+IG1heFxuICAgIGNvbnN0IG5iSW50ZXJ2YWxCZWZvcmVVcHBlciA9ICFvcHRpb25zLnVwcGVyTWF4ID8gY29sb3JBcnJheS5sZW5ndGggOiBjb2xvckFycmF5Lmxlbmd0aCAtIDE7XG4gICAgdGhpcy5fbWluID0gb3B0aW9ucy5taW4gfHwgMDtcbiAgICB0aGlzLl9tYXggPSBvcHRpb25zLm1heCB8fCBuYkludGVydmFsQmVmb3JlVXBwZXI7XG4gICAgdGhpcy5fcmFuZ2VTaXplID0gTWF0aC5yb3VuZCgodGhpcy5fbWF4IC0gdGhpcy5fbWluKSAvIG5iSW50ZXJ2YWxCZWZvcmVVcHBlcik7XG4gICAgdGhpcy5fbGVnZW5kSXRlbXMgPSB0aGlzLmNvbXB1dGVMZWdlbmRJdGVtcyhjb2xvckFycmF5KTtcbiAgfVxuXG4gIGdldCBsZWdlbmQoKTogQ29sb3JTY2FsZUxlZ2VuZCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGl0ZW1zOiB0aGlzLl9sZWdlbmRJdGVtcyxcbiAgICB9O1xuICB9XG5cbiAgZ2V0VmFsdWVDb2xvcih2YWx1ZTogbnVtYmVyKTogQ29sb3Ige1xuICAgIHJldHVybiB0aGlzLmdldExlZ2VuZEZvclZhbHVlKHZhbHVlKS5jb2xvcjtcbiAgfVxuXG4gIGdldExlZ2VuZEZvclZhbHVlKHZhbHVlOiBudW1iZXIpOiBDb2xvclNjYWxlTGVnZW5kSXRlbSB7XG4gICAgaWYgKHZhbHVlIDw9IHRoaXMuX21pbikgcmV0dXJuIHRoaXMuX2xlZ2VuZEl0ZW1zWzBdO1xuICAgIGlmICh2YWx1ZSA+PSB0aGlzLl9tYXgpIHJldHVybiB0aGlzLl9sZWdlbmRJdGVtc1t0aGlzLl9sZWdlbmRJdGVtcy5sZW5ndGggLSAxXTtcbiAgICBjb25zdCBpbmRleCA9IE1hdGguZmxvb3IoKHZhbHVlICogKHRoaXMuX2xlZ2VuZEl0ZW1zLmxlbmd0aCAtIDEpKSAvIHRoaXMuX21heCk7XG4gICAgcmV0dXJuIHRoaXMuX2xlZ2VuZEl0ZW1zW2luZGV4XTtcbiAgfVxuXG4gIGdldExlZ2VuZEF0SW5kZXgoaW5kZXg6IG51bWJlcik6IENvbG9yU2NhbGVMZWdlbmRJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5fbGVnZW5kSXRlbXNbaW5kZXhdO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbXB1dGVMZWdlbmRJdGVtcyhjb2xvckFycmF5OiBudW1iZXJbXVtdKTogQ29sb3JTY2FsZUxlZ2VuZEl0ZW1bXSB7XG4gICAgcmV0dXJuIGNvbG9yQXJyYXkubWFwKChjb2xvciwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IHN0YXJ0ID0gaW5kZXggKiB0aGlzLl9yYW5nZVNpemU7XG4gICAgICBjb25zdCBlbmQgPSBzdGFydCArIHRoaXMuX3JhbmdlU2l6ZTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbG9yOiBuZXcgQ29sb3IoY29sb3IpLFxuICAgICAgICBsYWJlbDogZW5kIDwgdGhpcy5fbWF4ID8gYCR7c3RhcnQudG9Mb2NhbGVTdHJpbmcoKX0gLSAke2VuZC50b0xvY2FsZVN0cmluZygpfWAgOiBgID49ICR7c3RhcnR9YCxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbn1cblxuLy8gRmlsbCBjb2xvcnNNYXBcbk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHJnYkFycmF5TWFwKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgY29sb3JzTWFwW2tleV0gPSBuZXcgQ29sb3IocmdiQXJyYXlNYXBba2V5XSwgMSwga2V5KTtcbn0pO1xuXG4vKipcbiAqIEludGVybmFsIGZ1bmN0aW9uLCB0aGF0IGNyZWF0ZSBhIGNvbG9ycyBzY2FsZSwgdXNpbmcgaXRlcmF0aW9uXG4gKlxuICogQHBhcmFtIGNvdW50XG4gKiBAcGFyYW0gb3BhY2l0eVxuICogQHBhcmFtIHN0YXJ0Q29sb3JcbiAqIEBwYXJhbSBzdGFydFN0YXRlXG4gKiBAcmV0dXJuc1xuICovXG5mdW5jdGlvbiBsaW5lYXJDb2xvckdyYWRpZW50V2l0aEludGVybWVkaWF0ZShjb3VudDogbnVtYmVyLCBvcHRpb25zPzogQ29sb3JHcmFkaWVudE9wdGlvbnMpOiBudW1iZXJbXVtdIHtcbiAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG5cbiAgLy8gRnJvbSBbMCwxXVxuICBvcHRpb25zLnN0YXJ0Q29sb3IgPSBvcHRpb25zLnN0YXJ0Q29sb3IgfHwgWzI1NSwgMjU1LCAxOTBdOyAvLyBkZWZhdWx0IHN0YXJ0ID0gY3JlbWVcbiAgb3B0aW9ucy5tYWluQ29sb3JJbmRleCA9IG9wdGlvbnMubWFpbkNvbG9ySW5kZXggJiYgb3B0aW9ucy5tYWluQ29sb3JJbmRleCA8IGNvdW50IC0gMSA/IG9wdGlvbnMubWFpbkNvbG9ySW5kZXggOiBjb3VudCAtIDE7XG4gIG9wdGlvbnMuZW5kQ29sb3IgPSBvcHRpb25zLmVuZENvbG9yIHx8IFsyNTUsIDAsIDBdOyAvLyBkZWZhdWx0IG1haW4gPSByZWRcblxuICBpZiAoIW9wdGlvbnMubWFpbkNvbG9yKSB7XG4gICAgcmV0dXJuIGxpbmVhckNvbG9yR3JhZGllbnQoY291bnQsIHtcbiAgICAgIHN0YXJ0Q29sb3I6IG9wdGlvbnMuc3RhcnRDb2xvcixcbiAgICAgIGVuZENvbG9yOiBvcHRpb25zLmVuZENvbG9yLFxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIC8vIFN0ZXAgMTogc3RhcnRDb2xvciAtPiBtYWluQ29sb3JcbiAgICBjb25zdCByZXN1bHQgPSBsaW5lYXJDb2xvckdyYWRpZW50KG9wdGlvbnMubWFpbkNvbG9ySW5kZXggKyAxLCB7XG4gICAgICBzdGFydENvbG9yOiBvcHRpb25zLnN0YXJ0Q29sb3IsXG4gICAgICBlbmRDb2xvcjogb3B0aW9ucy5tYWluQ29sb3IsXG4gICAgfSk7XG5cbiAgICAvLyBTdGVwIDI6IG1haW5Db2xvciAtPiBlbmRDb2xvclxuICAgIGlmIChvcHRpb25zLm1haW5Db2xvckluZGV4IDwgY291bnQgLSAxKSB7XG4gICAgICByZXR1cm4gcmVzdWx0LmNvbmNhdChcbiAgICAgICAgbGluZWFyQ29sb3JHcmFkaWVudChjb3VudCAtIG9wdGlvbnMubWFpbkNvbG9ySW5kZXgsIHtcbiAgICAgICAgICBzdGFydENvbG9yOiBvcHRpb25zLm1haW5Db2xvcixcbiAgICAgICAgICBlbmRDb2xvcjogb3B0aW9ucy5lbmRDb2xvcixcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGxpbmVhckNvbG9yR3JhZGllbnQoY291bnQ6IG51bWJlciwgb3B0aW9ucz86IENvbG9yR3JhZGllbnRPcHRpb25zKTogYW55W10ge1xuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcblxuICAvLyBGcm9tIFswLDFdXG4gIG9wdGlvbnMuc3RhcnRDb2xvciA9IG9wdGlvbnMuc3RhcnRDb2xvciB8fCBbMjU1LCAyNTUsIDI1NV07IC8vIGRlZmF1bHQgc3RhcnQgPSB3aGl0ZVxuICBvcHRpb25zLmVuZENvbG9yID0gb3B0aW9ucy5lbmRDb2xvciB8fCBbMjU1LCAwLCAwXTsgLy8gZGVmYXVsdCBlbmQgPSByZWRcblxuICBjb25zdCByZXN1bHQ6IG51bWJlcltdW10gPSBbXTtcbiAgY29uc3QgY29sb3IgPSBvcHRpb25zLnN0YXJ0Q29sb3Iuc2xpY2UoKTsgLy8gY29weSB0aGUgc3RhcnQgY29sb3JcbiAgY29uc3QgZGVsdGEgPSBbXG4gICAgTWF0aC5yb3VuZCgob3B0aW9ucy5lbmRDb2xvclswXSAtIG9wdGlvbnMuc3RhcnRDb2xvclswXSkgLyBjb3VudCksXG4gICAgTWF0aC5yb3VuZCgob3B0aW9ucy5lbmRDb2xvclsxXSAtIG9wdGlvbnMuc3RhcnRDb2xvclsxXSkgLyBjb3VudCksXG4gICAgTWF0aC5yb3VuZCgob3B0aW9ucy5lbmRDb2xvclsyXSAtIG9wdGlvbnMuc3RhcnRDb2xvclsyXSkgLyBjb3VudCksXG4gIF07XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudCAtIDE7IGkrKykge1xuICAgIGZvciAobGV0IGogPSAwOyBqIDwgMzsgaisrKSB7XG4gICAgICBjb2xvcltqXSArPSBkZWx0YVtqXTtcbiAgICB9XG4gICAgcmVzdWx0LnB1c2goY29sb3Iuc2xpY2UoKSk7XG4gIH1cblxuICAvLyBGb3JjZSBsYXN0IGNvbG9yID0gZW5kIGNvbG9yXG4gIHJlc3VsdC5wdXNoKG9wdGlvbnMuZW5kQ29sb3Iuc2xpY2UoKSk7XG5cbiAgLy8gT3V0cHV0IGFzIGFycmF5XG4gIHJldHVybiByZXN1bHQ7XG59XG4iXX0=
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Alerts } from '../alerts';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@ngx-translate/core";
|
|
5
|
+
import * as i2 from "@ionic/angular";
|
|
6
|
+
export class ComponentDirtyGuard {
|
|
7
|
+
translate;
|
|
8
|
+
alertCtrl;
|
|
9
|
+
debug = false;
|
|
10
|
+
constructor(translate, alertCtrl) {
|
|
11
|
+
this.translate = translate;
|
|
12
|
+
this.alertCtrl = alertCtrl;
|
|
13
|
+
}
|
|
14
|
+
async canDeactivate(component, currentRoute, currentState, nextState) {
|
|
15
|
+
const dirty = component?.dirty;
|
|
16
|
+
const valid = component?.valid;
|
|
17
|
+
let can = {
|
|
18
|
+
confirmed: !dirty,
|
|
19
|
+
save: false,
|
|
20
|
+
};
|
|
21
|
+
if (this.debug) {
|
|
22
|
+
console.debug(`[dirty-guard] canDeactivate component dirty: ${dirty}, valid: ${valid}`);
|
|
23
|
+
}
|
|
24
|
+
if (dirty) {
|
|
25
|
+
// Ask confirmation
|
|
26
|
+
can = await Alerts.askSaveBeforeAction(this.alertCtrl, this.translate, { valid });
|
|
27
|
+
}
|
|
28
|
+
if (this.debug)
|
|
29
|
+
console.debug(`[dirty-guard] confirm: ${can.confirmed}`);
|
|
30
|
+
if (can.confirmed) {
|
|
31
|
+
if (can.save) {
|
|
32
|
+
if (this.debug)
|
|
33
|
+
console.debug(`[dirty-guard] do save`);
|
|
34
|
+
const saved = await component.save();
|
|
35
|
+
if (!saved) {
|
|
36
|
+
if (this.debug)
|
|
37
|
+
console.debug(`[dirty-guard] save failed, cancel deactivate`);
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
if (this.debug)
|
|
43
|
+
console.debug(`[dirty-guard] do cancel()`);
|
|
44
|
+
if (dirty)
|
|
45
|
+
component.cancel();
|
|
46
|
+
}
|
|
47
|
+
// Emit
|
|
48
|
+
if (typeof component.deactivate === 'function') {
|
|
49
|
+
if (this.debug)
|
|
50
|
+
console.debug(`[dirty-guard] calling deactivate()`);
|
|
51
|
+
component.deactivate();
|
|
52
|
+
}
|
|
53
|
+
// Allow deactivation
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
// Cancel deactivate
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ComponentDirtyGuard, deps: [{ token: i1.TranslateService }, { token: i2.AlertController }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
60
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ComponentDirtyGuard });
|
|
61
|
+
}
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ComponentDirtyGuard, decorators: [{
|
|
63
|
+
type: Injectable
|
|
64
|
+
}], ctorParameters: () => [{ type: i1.TranslateService }, { type: i2.AlertController }] });
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWRpcnR5Lmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvZ3VhcmQvY29tcG9uZW50LWRpcnR5Lmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQzs7OztBQUluQyxNQUFNLE9BQU8sbUJBQW1CO0lBSWxCO0lBQ0E7SUFKSixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRXRCLFlBQ1ksU0FBMkIsRUFDM0IsU0FBMEI7UUFEMUIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsY0FBUyxHQUFULFNBQVMsQ0FBaUI7SUFDbkMsQ0FBQztJQUVKLEtBQUssQ0FBQyxhQUFhLENBQ2pCLFNBQW1CLEVBQ25CLFlBQW9DLEVBQ3BDLFlBQWlDLEVBQ2pDLFNBQThCO1FBRTlCLE1BQU0sS0FBSyxHQUFHLFNBQVMsRUFBRSxLQUFLLENBQUM7UUFDL0IsTUFBTSxLQUFLLEdBQUcsU0FBUyxFQUFFLEtBQUssQ0FBQztRQUMvQixJQUFJLEdBQUcsR0FBRztZQUNSLFNBQVMsRUFBRSxDQUFDLEtBQUs7WUFDakIsSUFBSSxFQUFFLEtBQUs7U0FDWixDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLGdEQUFnRCxLQUFLLFlBQVksS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMxRixDQUFDO1FBRUQsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLG1CQUFtQjtZQUNuQixHQUFHLEdBQUcsTUFBTSxNQUFNLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNwRixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRXpFLElBQUksR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2xCLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNiLElBQUksSUFBSSxDQUFDLEtBQUs7b0JBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2dCQUN2RCxNQUFNLEtBQUssR0FBRyxNQUFNLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDckMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNYLElBQUksSUFBSSxDQUFDLEtBQUs7d0JBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO29CQUM5RSxPQUFPLEtBQUssQ0FBQztnQkFDZixDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksSUFBSSxDQUFDLEtBQUs7b0JBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO2dCQUMzRCxJQUFJLEtBQUs7b0JBQUUsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hDLENBQUM7WUFFRCxPQUFPO1lBQ1AsSUFBSSxPQUFPLFNBQVMsQ0FBQyxVQUFVLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQy9DLElBQUksSUFBSSxDQUFDLEtBQUs7b0JBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO2dCQUNwRSxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDekIsQ0FBQztZQUVELHFCQUFxQjtZQUNyQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxvQkFBb0I7UUFDcEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO3dHQXpEVSxtQkFBbUI7NEdBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIENhbkRlYWN0aXZhdGUsIFJvdXRlclN0YXRlU25hcHNob3QsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQWxlcnRDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgQWxlcnRzIH0gZnJvbSAnLi4vYWxlcnRzJztcbmltcG9ydCB7IENhbkxlYXZlIH0gZnJvbSAnLi4vLi4vY29yZS9mb3JtL2Zvcm0udXRpbHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50RGlydHlHdWFyZCBpbXBsZW1lbnRzIENhbkRlYWN0aXZhdGU8Q2FuTGVhdmU+IHtcbiAgcHJpdmF0ZSBkZWJ1ZyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGFsZXJ0Q3RybDogQWxlcnRDb250cm9sbGVyXG4gICkge31cblxuICBhc3luYyBjYW5EZWFjdGl2YXRlKFxuICAgIGNvbXBvbmVudDogQ2FuTGVhdmUsXG4gICAgY3VycmVudFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICAgIGN1cnJlbnRTdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCxcbiAgICBuZXh0U3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3RcbiAgKTogUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4ge1xuICAgIGNvbnN0IGRpcnR5ID0gY29tcG9uZW50Py5kaXJ0eTtcbiAgICBjb25zdCB2YWxpZCA9IGNvbXBvbmVudD8udmFsaWQ7XG4gICAgbGV0IGNhbiA9IHtcbiAgICAgIGNvbmZpcm1lZDogIWRpcnR5LFxuICAgICAgc2F2ZTogZmFsc2UsXG4gICAgfTtcblxuICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKGBbZGlydHktZ3VhcmRdIGNhbkRlYWN0aXZhdGUgY29tcG9uZW50IGRpcnR5OiAke2RpcnR5fSwgdmFsaWQ6ICR7dmFsaWR9YCk7XG4gICAgfVxuXG4gICAgaWYgKGRpcnR5KSB7XG4gICAgICAvLyBBc2sgY29uZmlybWF0aW9uXG4gICAgICBjYW4gPSBhd2FpdCBBbGVydHMuYXNrU2F2ZUJlZm9yZUFjdGlvbih0aGlzLmFsZXJ0Q3RybCwgdGhpcy50cmFuc2xhdGUsIHsgdmFsaWQgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZGVidWcpIGNvbnNvbGUuZGVidWcoYFtkaXJ0eS1ndWFyZF0gY29uZmlybTogJHtjYW4uY29uZmlybWVkfWApO1xuXG4gICAgaWYgKGNhbi5jb25maXJtZWQpIHtcbiAgICAgIGlmIChjYW4uc2F2ZSkge1xuICAgICAgICBpZiAodGhpcy5kZWJ1ZykgY29uc29sZS5kZWJ1ZyhgW2RpcnR5LWd1YXJkXSBkbyBzYXZlYCk7XG4gICAgICAgIGNvbnN0IHNhdmVkID0gYXdhaXQgY29tcG9uZW50LnNhdmUoKTtcbiAgICAgICAgaWYgKCFzYXZlZCkge1xuICAgICAgICAgIGlmICh0aGlzLmRlYnVnKSBjb25zb2xlLmRlYnVnKGBbZGlydHktZ3VhcmRdIHNhdmUgZmFpbGVkLCBjYW5jZWwgZGVhY3RpdmF0ZWApO1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuZGVidWcpIGNvbnNvbGUuZGVidWcoYFtkaXJ0eS1ndWFyZF0gZG8gY2FuY2VsKClgKTtcbiAgICAgICAgaWYgKGRpcnR5KSBjb21wb25lbnQuY2FuY2VsKCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEVtaXRcbiAgICAgIGlmICh0eXBlb2YgY29tcG9uZW50LmRlYWN0aXZhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgaWYgKHRoaXMuZGVidWcpIGNvbnNvbGUuZGVidWcoYFtkaXJ0eS1ndWFyZF0gY2FsbGluZyBkZWFjdGl2YXRlKClgKTtcbiAgICAgICAgY29tcG9uZW50LmRlYWN0aXZhdGUoKTtcbiAgICAgIH1cblxuICAgICAgLy8gQWxsb3cgZGVhY3RpdmF0aW9uXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBDYW5jZWwgZGVhY3RpdmF0ZVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@ngx-translate/core";
|
|
6
|
+
export class HotkeysDialogComponent {
|
|
7
|
+
data;
|
|
8
|
+
hotkeys;
|
|
9
|
+
constructor(data) {
|
|
10
|
+
this.data = data;
|
|
11
|
+
this.hotkeys = Array.from(this.data);
|
|
12
|
+
}
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HotkeysDialogComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: HotkeysDialogComponent, selector: "ng-component", ngImport: i0, template: "<table class=\"ion-padding\">\n <tbody>\n <tr *ngFor=\"let keys of hotkeys\">\n <td>{{ keys[1] | translate }}</td>\n\n <td class=\"text-right\">\n <kbd>{{ keys[0] }}</kbd>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [":host table{border-collapse:collapse;width:100%;color:#212529}:host th{font-weight:500;text-align:left;vertical-align:bottom;padding:.75rem;border-top:1px solid #dee2e6;border-bottom:2px solid #dee2e6}:host td{vertical-align:top;border-top:1px solid #dee2e6;padding:.75rem}:host kbd{margin-right:6px;background-color:#fafbfc;border:1px solid #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;box-shadow:inset 0 -1px #c6cbd1;color:#444d56;display:inline-block;font-size:12px;line-height:10px;padding:3px 5px;vertical-align:middle}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HotkeysDialogComponent, decorators: [{
|
|
17
|
+
type: Component,
|
|
18
|
+
args: [{ template: "<table class=\"ion-padding\">\n <tbody>\n <tr *ngFor=\"let keys of hotkeys\">\n <td>{{ keys[1] | translate }}</td>\n\n <td class=\"text-right\">\n <kbd>{{ keys[0] }}</kbd>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [":host table{border-collapse:collapse;width:100%;color:#212529}:host th{font-weight:500;text-align:left;vertical-align:bottom;padding:.75rem;border-top:1px solid #dee2e6;border-bottom:2px solid #dee2e6}:host td{vertical-align:top;border-top:1px solid #dee2e6;padding:.75rem}:host kbd{margin-right:6px;background-color:#fafbfc;border:1px solid #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;box-shadow:inset 0 -1px #c6cbd1;color:#444d56;display:inline-block;font-size:12px;line-height:10px;padding:3px 5px;vertical-align:middle}\n"] }]
|
|
19
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
20
|
+
type: Inject,
|
|
21
|
+
args: [MAT_DIALOG_DATA]
|
|
22
|
+
}] }] });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90a2V5cy1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvaG90a2V5cy9kaWFsb2cvaG90a2V5cy1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvaG90a2V5cy9kaWFsb2cvaG90a2V5cy1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBTTNELE1BQU0sT0FBTyxzQkFBc0I7SUFHYztJQUYvQyxPQUFPLENBQVE7SUFFZixZQUErQyxJQUFTO1FBQVQsU0FBSSxHQUFKLElBQUksQ0FBSztRQUN0RCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7d0dBTFUsc0JBQXNCLGtCQUdiLGVBQWU7NEZBSHhCLHNCQUFzQixvRENQbkMsa1BBV0E7OzRGREphLHNCQUFzQjtrQkFKbEMsU0FBUzs7OzBCQU9LLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2hvdGtleXMtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaG90a2V5cy1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSG90a2V5c0RpYWxvZ0NvbXBvbmVudCB7XG4gIGhvdGtleXM6IGFueVtdO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcm90ZWN0ZWQgZGF0YTogYW55KSB7XG4gICAgdGhpcy5ob3RrZXlzID0gQXJyYXkuZnJvbSh0aGlzLmRhdGEpO1xuICB9XG59XG4iLCI8dGFibGUgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICA8dGJvZHk+XG4gICAgPHRyICpuZ0Zvcj1cImxldCBrZXlzIG9mIGhvdGtleXNcIj5cbiAgICAgIDx0ZD57eyBrZXlzWzFdIHwgdHJhbnNsYXRlIH19PC90ZD5cblxuICAgICAgPHRkIGNsYXNzPVwidGV4dC1yaWdodFwiPlxuICAgICAgICA8a2JkPnt7IGtleXNbMF0gfX08L2tiZD5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgPC90Ym9keT5cbjwvdGFibGU+XG4iXX0=
|