@sumaris-net/ngx-components 1.23.44 → 2.0.0-rc3
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/doc/build.md +2 -2
- package/doc/changelog.md +8 -0
- package/esm2020/public_api.mjs +278 -0
- package/esm2020/public_test_api.mjs +46 -0
- package/esm2020/src/app/admin/admin-routing.module.mjs +41 -0
- package/esm2020/src/app/admin/admin.module.mjs +34 -0
- package/esm2020/src/app/admin/services/filter/person.filter.mjs +59 -0
- package/esm2020/src/app/admin/services/person.service.mjs +161 -0
- package/esm2020/src/app/admin/services/validator/person.validator.mjs +34 -0
- package/esm2020/src/app/admin/users/list/users.mjs +233 -0
- package/esm2020/src/app/admin/users/list/users.module.mjs +58 -0
- package/esm2020/src/app/core/about/modal-about.mjs +71 -0
- package/esm2020/src/app/core/account/account.mjs +230 -0
- package/esm2020/src/app/core/auth/form/form-auth.mjs +131 -0
- package/esm2020/src/app/core/auth/modal/modal-auth.mjs +72 -0
- package/esm2020/src/app/core/core.module.mjs +223 -0
- package/esm2020/src/app/core/core.testing.module.mjs +86 -0
- package/esm2020/src/app/core/form/editor.class.mjs +672 -0
- package/esm2020/src/app/core/form/entity-editor-modal.class.mjs +407 -0
- package/esm2020/src/app/core/form/entity-editor.class.mjs +646 -0
- package/esm2020/src/app/core/form/entity-metadata.component.mjs +25 -0
- package/esm2020/src/app/core/form/form-buttons-bar.component.mjs +71 -0
- package/esm2020/src/app/core/form/form.class.mjs +337 -0
- package/esm2020/src/app/core/form/form.utils.mjs +299 -0
- package/esm2020/src/app/core/form/list.form.mjs +222 -0
- package/esm2020/src/app/core/form/properties/properties.form.mjs +129 -0
- package/esm2020/src/app/core/form/properties/property.validator.mjs +23 -0
- package/esm2020/src/app/core/form/properties/testing/properties-form.test.mjs +90 -0
- package/esm2020/src/app/core/form/properties/testing/properties-form.testing.module.mjs +39 -0
- package/esm2020/src/app/core/graphql/graphql.module.mjs +22 -0
- package/esm2020/src/app/core/graphql/graphql.service.mjs +730 -0
- package/esm2020/src/app/core/graphql/graphql.utils.mjs +117 -0
- package/esm2020/src/app/core/home/home.mjs +257 -0
- package/esm2020/src/app/core/icon/icon.component.mjs +41 -0
- package/esm2020/src/app/core/icon/icon.module.mjs +29 -0
- package/esm2020/src/app/core/install/install-upgrade-card.component.mjs +337 -0
- package/esm2020/src/app/core/install/install-upgrade-card.module.mjs +33 -0
- package/esm2020/src/app/core/menu/menu.component.mjs +317 -0
- package/{esm2015/src/app/core/menu/menu.model.js → esm2020/src/app/core/menu/menu.model.mjs} +0 -0
- package/esm2020/src/app/core/menu/menu.module.mjs +45 -0
- package/{esm2015/src/app/core/menu/menu.service.js → esm2020/src/app/core/menu/menu.service.mjs} +9 -7
- package/esm2020/src/app/core/offline/update-offline-mode-card.component.mjs +27 -0
- package/esm2020/src/app/core/peer/select-peer.modal.mjs +130 -0
- package/esm2020/src/app/core/peer/select-peer.module.mjs +35 -0
- package/esm2020/src/app/core/register/confirm/confirm.mjs +81 -0
- package/esm2020/src/app/core/register/form/form-register.mjs +181 -0
- package/esm2020/src/app/core/register/modal/modal-register.mjs +52 -0
- package/esm2020/src/app/core/register/register.module.mjs +42 -0
- package/esm2020/src/app/core/services/account.service.mjs +1112 -0
- package/esm2020/src/app/core/services/auth-guard.service.mjs +71 -0
- package/esm2020/src/app/core/services/base-entity-service.class.mjs +432 -0
- package/esm2020/src/app/core/services/base-graphql-service.class.mjs +219 -0
- package/{esm2015/src/app/core/services/base58.js → esm2020/src/app/core/services/base58.mjs} +0 -0
- package/{esm2015/src/app/core/services/config/core.config.js → esm2020/src/app/core/services/config/core.config.mjs} +0 -0
- package/esm2020/src/app/core/services/config.service.mjs +354 -0
- package/{esm2015/src/app/core/services/crypto.service.js → esm2020/src/app/core/services/crypto.service.mjs} +7 -5
- package/{esm2015/src/app/core/services/errors.js → esm2020/src/app/core/services/errors.mjs} +0 -0
- package/esm2020/src/app/core/services/local-settings.service.mjs +442 -0
- package/esm2020/src/app/core/services/model/account.model.mjs +50 -0
- package/esm2020/src/app/core/services/model/config.model.mjs +89 -0
- package/esm2020/src/app/core/services/model/department.model.mjs +30 -0
- package/esm2020/src/app/core/services/model/entity.decorators.mjs +107 -0
- package/esm2020/src/app/core/services/model/entity.model.mjs +242 -0
- package/{esm2015/src/app/core/services/model/filter.model.js → esm2020/src/app/core/services/model/filter.model.mjs} +0 -0
- package/{esm2015/src/app/core/services/model/history.model.js → esm2020/src/app/core/services/model/history.model.mjs} +0 -0
- package/{esm2015/src/app/core/services/model/model.enum.js → esm2020/src/app/core/services/model/model.enum.mjs} +0 -0
- package/esm2020/src/app/core/services/model/peer.model.mjs +68 -0
- package/esm2020/src/app/core/services/model/person.model.mjs +83 -0
- package/esm2020/src/app/core/services/model/referential.model.mjs +145 -0
- package/esm2020/src/app/core/services/model/settings.model.mjs +75 -0
- package/esm2020/src/app/core/services/network.service.mjs +595 -0
- package/esm2020/src/app/core/services/network.utils.mjs +16 -0
- package/esm2020/src/app/core/services/pipes/account.pipes.mjs +38 -0
- package/esm2020/src/app/core/services/pipes/department-to-string.pipe.mjs +23 -0
- package/esm2020/src/app/core/services/pipes/person-to-string.pipe.mjs +23 -0
- package/esm2020/src/app/core/services/pipes/usage-mode.pipes.mjs +37 -0
- package/esm2020/src/app/core/services/platform.service.mjs +476 -0
- package/esm2020/src/app/core/services/storage/entities-storage.service.mjs +422 -0
- package/esm2020/src/app/core/services/storage/entity-store.class.mjs +449 -0
- package/esm2020/src/app/core/services/testing/referential-filter.model.mjs +23 -0
- package/esm2020/src/app/core/services/testing/referential.validator.mjs +45 -0
- package/esm2020/src/app/core/services/validator/account.validator.mjs +52 -0
- package/esm2020/src/app/core/services/validator/base.validator.class.mjs +47 -0
- package/esm2020/src/app/core/services/validator/local-settings.validator.mjs +66 -0
- package/esm2020/src/app/core/services/validator/user-settings.validator.mjs +29 -0
- package/esm2020/src/app/core/settings/settings.page.mjs +290 -0
- package/esm2020/src/app/core/table/actions-column.component.mjs +96 -0
- package/esm2020/src/app/core/table/entities-table-datasource.class.mjs +394 -0
- package/esm2020/src/app/core/table/memory-table.class.mjs +53 -0
- package/esm2020/src/app/core/table/table-select-columns.component.mjs +43 -0
- package/esm2020/src/app/core/table/table.class.mjs +1666 -0
- package/esm2020/src/app/core/table/table.utils.mjs +13 -0
- package/esm2020/src/app/core/table/testing/table.testing.mjs +264 -0
- package/esm2020/src/app/core/table/testing/table.testing.module.mjs +38 -0
- package/esm2020/src/app/core/text-popover/testing/text-popover.testing.mjs +37 -0
- package/esm2020/src/app/core/text-popover/testing/text-popover.testing.module.mjs +45 -0
- package/esm2020/src/app/core/text-popover/text-form.component.mjs +84 -0
- package/esm2020/src/app/core/text-popover/text-popover.component.mjs +92 -0
- package/esm2020/src/app/shared/alerts.mjs +238 -0
- package/esm2020/src/app/shared/audio/audio.mjs +201 -0
- package/esm2020/src/app/shared/audio/audio.testing.mjs +31 -0
- package/esm2020/src/app/shared/audio/audio.testing.module.mjs +45 -0
- package/esm2020/src/app/shared/capacitor/keyboard.mjs +40 -0
- package/esm2020/src/app/shared/capacitor/plugins.mjs +9 -0
- package/{esm2015/src/app/shared/constants.js → esm2020/src/app/shared/constants.mjs} +2 -1
- package/esm2020/src/app/shared/dates.mjs +134 -0
- package/esm2020/src/app/shared/debug/debug.component.mjs +39 -0
- package/esm2020/src/app/shared/debug/debug.module.mjs +44 -0
- package/esm2020/src/app/shared/directives/autofocus.directive.mjs +92 -0
- package/esm2020/src/app/shared/directives/autotitle.directive.mjs +30 -0
- package/esm2020/src/app/shared/directives/directives.module.mjs +43 -0
- package/esm2020/src/app/shared/directives/drag-and-drop.directive.mjs +53 -0
- package/esm2020/src/app/shared/directives/ng-var.directive.mjs +31 -0
- package/esm2020/src/app/shared/directives/resizable/resizable.component.mjs +59 -0
- package/esm2020/src/app/shared/directives/resizable/resizable.directive.mjs +40 -0
- package/esm2020/src/app/shared/directives/resizable/resizable.module.mjs +17 -0
- package/esm2020/src/app/shared/events.mjs +64 -0
- package/esm2020/src/app/shared/file/csv.utils.mjs +74 -0
- package/esm2020/src/app/shared/file/file.service.mjs +117 -0
- package/esm2020/src/app/shared/file/file.utils.mjs +113 -0
- package/esm2020/src/app/shared/file/images.utils.mjs +161 -0
- package/{esm2015/src/app/shared/file/uri.utils.js → esm2020/src/app/shared/file/uri.utils.mjs} +0 -0
- package/{esm2015/src/app/shared/focusable.js → esm2020/src/app/shared/focusable.mjs} +0 -0
- package/esm2020/src/app/shared/form/field.component.mjs +244 -0
- package/{esm2015/src/app/shared/form/field.model.js → esm2020/src/app/shared/form/field.model.mjs} +1 -1
- package/esm2020/src/app/shared/form/loading-spinner.mjs +36 -0
- package/esm2020/src/app/shared/forms.mjs +374 -0
- package/esm2020/src/app/shared/functions.mjs +430 -0
- package/{esm2015/src/app/shared/gesture/gesture-config.js → esm2020/src/app/shared/gesture/gesture-config.mjs} +7 -5
- package/esm2020/src/app/shared/gesture/hammer.utils.mjs +2 -0
- package/{esm2015/src/app/shared/graph/colors.utils.js → esm2020/src/app/shared/graph/colors.utils.mjs} +0 -0
- package/esm2020/src/app/shared/graph/graph-colors.mjs +254 -0
- package/esm2020/src/app/shared/guard/component-dirty.guard.mjs +57 -0
- package/esm2020/src/app/shared/help/help.modal.mjs +53 -0
- package/esm2020/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +23 -0
- package/esm2020/src/app/shared/hotkeys/hotkeys.service.mjs +84 -0
- package/esm2020/src/app/shared/hotkeys/shared-hotkeys.module.mjs +42 -0
- package/esm2020/src/app/shared/http/http.utils.mjs +52 -0
- package/esm2020/src/app/shared/image/gallery/image-gallery.component.mjs +279 -0
- package/esm2020/src/app/shared/image/gallery/image-gallery.module.mjs +46 -0
- package/esm2020/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +27 -0
- package/esm2020/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +89 -0
- package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.mjs +33 -0
- package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +56 -0
- package/esm2020/src/app/shared/image/image.model.mjs +2 -0
- package/esm2020/src/app/shared/image/image.module.mjs +29 -0
- package/esm2020/src/app/shared/image/image.service.mjs +99 -0
- package/{esm2015/src/app/shared/inputs.js → esm2020/src/app/shared/inputs.mjs} +4 -4
- package/{esm2015/src/app/shared/interceptors/progess.interceptor.js → esm2020/src/app/shared/interceptors/progess.interceptor.mjs} +0 -0
- package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +47 -0
- package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.mjs +836 -0
- package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +78 -0
- package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +19 -0
- package/esm2020/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +205 -0
- package/esm2020/src/app/shared/material/badge/badge.directive.mjs +157 -0
- package/esm2020/src/app/shared/material/badge/badge.module.mjs +32 -0
- package/esm2020/src/app/shared/material/badge/badge.test.mjs +26 -0
- package/esm2020/src/app/shared/material/boolean/boolean.module.mjs +68 -0
- package/esm2020/src/app/shared/material/boolean/material.boolean.mjs +253 -0
- package/esm2020/src/app/shared/material/chips/chips.module.mjs +76 -0
- package/esm2020/src/app/shared/material/chips/material.chips.mjs +691 -0
- package/esm2020/src/app/shared/material/chips/testing/chips.test.mjs +136 -0
- package/esm2020/src/app/shared/material/datetime/datetime.module.mjs +91 -0
- package/esm2020/src/app/shared/material/datetime/material.date.mjs +388 -0
- package/esm2020/src/app/shared/material/datetime/material.dateshort.mjs +327 -0
- package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +434 -0
- package/esm2020/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +110 -0
- package/esm2020/src/app/shared/material/datetime/testing/mat-date.test.mjs +111 -0
- package/esm2020/src/app/shared/material/duration/duration.module.mjs +67 -0
- package/{esm2015/src/app/shared/material/duration/duration.utils.js → esm2020/src/app/shared/material/duration/duration.utils.mjs} +0 -0
- package/esm2020/src/app/shared/material/duration/material.duration.mjs +257 -0
- package/esm2020/src/app/shared/material/latlong/latlong.utils.mjs +266 -0
- package/esm2020/src/app/shared/material/latlong/material.latlong.mjs +381 -0
- package/esm2020/src/app/shared/material/latlong/material.latlong.module.mjs +67 -0
- package/esm2020/src/app/shared/material/latlong/testing/latlong.test.mjs +74 -0
- package/{esm2015/src/app/shared/material/material.animations.js → esm2020/src/app/shared/material/material.animations.mjs} +0 -0
- package/esm2020/src/app/shared/material/material.module.mjs +224 -0
- package/esm2020/src/app/shared/material/material.testing.module.mjs +145 -0
- package/esm2020/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +98 -0
- package/esm2020/src/app/shared/material/numpad/numpad.component.mjs +80 -0
- package/esm2020/src/app/shared/material/numpad/numpad.container.mjs +190 -0
- package/esm2020/src/app/shared/material/numpad/numpad.content.mjs +17 -0
- package/esm2020/src/app/shared/material/numpad/numpad.directive.mjs +162 -0
- package/esm2020/src/app/shared/material/numpad/numpad.dom-service.mjs +37 -0
- package/{esm2015/src/app/shared/material/numpad/numpad.model.js → esm2020/src/app/shared/material/numpad/numpad.model.mjs} +1 -1
- package/esm2020/src/app/shared/material/numpad/numpad.module.mjs +60 -0
- package/esm2020/src/app/shared/material/numpad/testing/numpad.test.mjs +46 -0
- package/esm2020/src/app/shared/material/paginator/material.paginator-i18n.mjs +42 -0
- package/esm2020/src/app/shared/material/stepper/material.stepper-i18n.mjs +22 -0
- package/esm2020/src/app/shared/material/swipe/material.swipe.mjs +334 -0
- package/esm2020/src/app/shared/material/swipe/swipe.module.mjs +51 -0
- package/esm2020/src/app/shared/material/swipe/testing/swipe.test.mjs +65 -0
- package/esm2020/src/app/shared/observables.mjs +96 -0
- package/esm2020/src/app/shared/pipes/arrays.pipe.mjs +135 -0
- package/esm2020/src/app/shared/pipes/colors.pipe.mjs +23 -0
- package/esm2020/src/app/shared/pipes/date-diff-duration.pipe.mjs +49 -0
- package/esm2020/src/app/shared/pipes/date-format.pipe.mjs +42 -0
- package/{esm2015/src/app/shared/pipes/date-from-now.pipe.js → esm2020/src/app/shared/pipes/date-from-now.pipe.mjs} +13 -12
- package/{esm2015/src/app/shared/pipes/duration.pipe.js → esm2020/src/app/shared/pipes/duration.pipe.mjs} +13 -12
- package/esm2020/src/app/shared/pipes/file-size.pipe.mjs +62 -0
- package/esm2020/src/app/shared/pipes/form.pipes.mjs +187 -0
- package/esm2020/src/app/shared/pipes/highlight.pipe.mjs +48 -0
- package/esm2020/src/app/shared/pipes/latlong-format.pipe.mjs +46 -0
- package/esm2020/src/app/shared/pipes/maps.pipe.mjs +63 -0
- package/esm2020/src/app/shared/pipes/math.pipes.mjs +59 -0
- package/esm2020/src/app/shared/pipes/ng-init.pipe.mjs +21 -0
- package/{esm2015/src/app/shared/pipes/number-format.pipe.js → esm2020/src/app/shared/pipes/number-format.pipe.mjs} +14 -9
- package/esm2020/src/app/shared/pipes/pipes.module.mjs +210 -0
- package/esm2020/src/app/shared/pipes/property.pipes.mjs +96 -0
- package/esm2020/src/app/shared/pipes/string.pipes.mjs +69 -0
- package/esm2020/src/app/shared/pipes/translate-context.pipe.mjs +43 -0
- package/esm2020/src/app/shared/platforms.mjs +49 -0
- package/esm2020/src/app/shared/services/entity-service.class.mjs +7 -0
- package/esm2020/src/app/shared/services/job.utils.mjs +92 -0
- package/esm2020/src/app/shared/services/memory-entity-service.class.mjs +331 -0
- package/esm2020/src/app/shared/services/progress-bar.service.mjs +32 -0
- package/esm2020/src/app/shared/services/startable-observable-service.class.mjs +119 -0
- package/esm2020/src/app/shared/services/startable-service.class.mjs +105 -0
- package/esm2020/src/app/shared/services/storage/storage.service.mjs +132 -0
- package/esm2020/src/app/shared/services/storage/storage.utils.mjs +13 -0
- package/esm2020/src/app/shared/services/translate-context.service.mjs +81 -0
- package/esm2020/src/app/shared/services/validator-service.class.mjs +2 -0
- package/esm2020/src/app/shared/services.mjs +62 -0
- package/esm2020/src/app/shared/shared-routing.module.mjs +63 -0
- package/esm2020/src/app/shared/shared.module.mjs +208 -0
- package/esm2020/src/app/shared/shared.testing.module.mjs +76 -0
- package/esm2020/src/app/shared/testing/tests.page.mjs +33 -0
- package/esm2020/src/app/shared/toast/toast.testing.mjs +51 -0
- package/esm2020/src/app/shared/toast/toast.testing.module.mjs +45 -0
- package/esm2020/src/app/shared/toast/toasts.mjs +144 -0
- package/esm2020/src/app/shared/toolbar/modal-toolbar.mjs +58 -0
- package/esm2020/src/app/shared/toolbar/toolbar.mjs +226 -0
- package/esm2020/src/app/shared/toolbar/toolbar.module.mjs +53 -0
- package/{esm2015/src/app/shared/types.js → esm2020/src/app/shared/types.mjs} +0 -0
- package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.mjs +57 -0
- package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +45 -0
- package/esm2020/src/app/shared/upload-file/upload-file-popover.component.mjs +97 -0
- package/esm2020/src/app/shared/upload-file/upload-file.component.mjs +204 -0
- package/esm2020/src/app/shared/upload-file/upload-file.model.mjs +20 -0
- package/esm2020/src/app/shared/validator/form-error-adapter.class.mjs +104 -0
- package/esm2020/src/app/shared/validator/validators.mjs +544 -0
- package/{esm2015/src/app/shared/version/versions.js → esm2020/src/app/shared/version/versions.mjs} +0 -0
- package/esm2020/src/app/social/job/job.model.mjs +26 -0
- package/esm2020/src/app/social/job/job.module.mjs +35 -0
- package/esm2020/src/app/social/job/job.service.mjs +71 -0
- package/esm2020/src/app/social/job/progression/job-progression.icon.mjs +210 -0
- package/esm2020/src/app/social/job/progression/job-progression.list.mjs +22 -0
- package/esm2020/src/app/social/job/testing/job-progression.testing.mjs +53 -0
- package/esm2020/src/app/social/job/testing/job-progression.testing.service.mjs +55 -0
- package/esm2020/src/app/social/job/testing/job.testing.module.mjs +35 -0
- package/esm2020/src/app/social/message/message.form.mjs +81 -0
- package/esm2020/src/app/social/message/message.modal.mjs +93 -0
- package/esm2020/src/app/social/message/message.model.mjs +65 -0
- package/esm2020/src/app/social/message/message.module.mjs +35 -0
- package/esm2020/src/app/social/message/message.service.mjs +84 -0
- package/{esm2015/src/app/social/social.errors.js → esm2020/src/app/social/social.errors.mjs} +0 -0
- package/esm2020/src/app/social/social.module.mjs +47 -0
- package/esm2020/src/app/social/social.testing.module.mjs +51 -0
- package/esm2020/src/app/social/user-event/notification/user-event-notification.icon.mjs +108 -0
- package/esm2020/src/app/social/user-event/notification/user-event-notification.list.mjs +212 -0
- package/esm2020/src/app/social/user-event/testing/user-event.testing.mjs +228 -0
- package/esm2020/src/app/social/user-event/testing/user-event.testing.model.mjs +107 -0
- package/esm2020/src/app/social/user-event/testing/user-event.testing.module.mjs +35 -0
- package/esm2020/src/app/social/user-event/testing/user-event.testing.service.mjs +111 -0
- package/esm2020/src/app/social/user-event/user-event.model.mjs +2 -0
- package/esm2020/src/app/social/user-event/user-event.module.mjs +39 -0
- package/esm2020/src/app/social/user-event/user-event.service.mjs +486 -0
- package/{esm2015/src/app/vendor.js → esm2020/src/app/vendor.mjs} +3 -3
- package/esm2020/src/environments/environment.class.mjs +5 -0
- package/esm2020/src/environments/environment.mjs +86 -0
- package/esm2020/sumaris-net.ngx-components.mjs +5 -0
- package/fesm2015/sumaris-net.ngx-components.mjs +33173 -0
- package/fesm2015/sumaris-net.ngx-components.mjs.map +1 -0
- package/fesm2020/sumaris-net.ngx-components.mjs +32440 -0
- package/fesm2020/sumaris-net.ngx-components.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/package.json +27 -32
- package/public_api.d.ts +29 -31
- package/public_test_api.d.ts +37 -0
- package/resources/README.md +8 -0
- package/src/app/admin/admin-routing.module.d.ts +7 -0
- package/src/app/admin/admin.module.d.ts +7 -0
- package/src/app/admin/services/person.service.d.ts +3 -0
- package/src/app/admin/services/validator/person.validator.d.ts +8 -5
- package/src/app/admin/users/list/users.d.ts +11 -7
- package/src/app/admin/users/list/users.module.d.ts +14 -0
- package/src/app/core/about/modal-about.d.ts +3 -0
- package/src/app/core/account/account.d.ts +11 -8
- package/src/app/core/auth/form/form-auth.d.ts +6 -3
- package/src/app/core/auth/modal/modal-auth.d.ts +3 -0
- package/src/app/core/core.module.d.ts +36 -0
- package/src/app/core/core.testing.module.d.ts +10 -0
- package/src/app/core/form/editor.class.d.ts +6 -1
- package/src/app/core/form/entity-editor-modal.class.d.ts +7 -4
- package/src/app/core/form/entity-editor.class.d.ts +4 -1
- package/src/app/core/form/entity-metadata.component.d.ts +3 -0
- package/src/app/core/form/form-buttons-bar.component.d.ts +3 -0
- package/src/app/core/form/form.class.d.ts +12 -9
- package/src/app/core/form/form.utils.d.ts +5 -5
- package/src/app/core/form/list.form.d.ts +10 -7
- package/src/app/core/form/properties/properties.form.d.ts +43 -0
- package/src/app/core/form/properties/property.validator.d.ts +13 -0
- package/src/app/core/form/properties/testing/properties-form.test.d.ts +19 -0
- package/src/app/core/form/properties/testing/properties-form.testing.module.d.ts +12 -0
- package/src/app/core/graphql/graphql.module.d.ts +5 -0
- package/src/app/core/graphql/graphql.service.d.ts +9 -2
- package/src/app/core/graphql/graphql.utils.d.ts +8 -0
- package/src/app/core/home/home.d.ts +4 -1
- package/src/app/core/icon/icon.component.d.ts +5 -2
- package/src/app/core/icon/icon.module.d.ts +7 -0
- package/src/app/core/install/install-upgrade-card.component.d.ts +5 -2
- package/src/app/core/install/install-upgrade-card.module.d.ts +10 -0
- package/src/app/core/menu/menu.component.d.ts +7 -5
- package/src/app/core/menu/menu.module.d.ts +8 -0
- package/src/app/core/menu/menu.service.d.ts +3 -0
- package/src/app/core/offline/update-offline-mode-card.component.d.ts +3 -0
- package/src/app/core/peer/select-peer.modal.d.ts +7 -4
- package/src/app/core/peer/select-peer.module.d.ts +9 -0
- package/src/app/core/register/confirm/confirm.d.ts +3 -0
- package/src/app/core/register/form/form-register.d.ts +10 -7
- package/src/app/core/register/modal/modal-register.d.ts +3 -0
- package/src/app/core/register/register.module.d.ts +12 -0
- package/src/app/core/services/account.service.d.ts +5 -2
- package/src/app/core/services/auth-guard.service.d.ts +3 -0
- package/src/app/core/services/base-entity-service.class.d.ts +3 -0
- package/src/app/core/services/base-graphql-service.class.d.ts +3 -0
- package/src/app/core/services/config.service.d.ts +4 -1
- package/src/app/core/services/crypto.service.d.ts +3 -0
- package/src/app/core/services/local-settings.service.d.ts +5 -1
- package/src/app/core/services/model/referential.model.d.ts +1 -1
- package/src/app/core/services/network.service.d.ts +6 -5
- package/src/app/core/services/pipes/account.pipes.d.ts +7 -0
- package/src/app/core/services/pipes/department-to-string.pipe.d.ts +4 -0
- package/src/app/core/services/pipes/person-to-string.pipe.d.ts +4 -0
- package/src/app/core/services/pipes/usage-mode.pipes.d.ts +7 -0
- package/src/app/core/services/platform.service.d.ts +22 -21
- package/src/app/core/services/storage/entities-storage.service.d.ts +5 -2
- package/src/app/core/services/storage/entity-store.class.d.ts +3 -3
- package/src/app/core/services/testing/referential.validator.d.ts +8 -5
- package/src/app/core/services/validator/account.validator.d.ts +6 -3
- package/src/app/core/services/validator/base.validator.class.d.ts +8 -5
- package/src/app/core/services/validator/local-settings.validator.d.ts +8 -5
- package/src/app/core/services/validator/user-settings.validator.d.ts +6 -3
- package/src/app/core/settings/settings.page.d.ts +8 -5
- package/src/app/core/table/actions-column.component.d.ts +3 -0
- package/src/app/core/table/entities-table-datasource.class.d.ts +16 -15
- package/src/app/core/table/memory-table.class.d.ts +3 -0
- package/src/app/core/table/table-select-columns.component.d.ts +4 -5
- package/src/app/core/table/table.class.d.ts +52 -34
- package/src/app/core/table/table.utils.d.ts +2 -1
- package/src/app/core/table/testing/table.testing.d.ts +13 -15
- package/src/app/core/table/testing/table.testing.module.d.ts +9 -0
- package/src/app/core/text-popover/testing/text-popover.testing.d.ts +4 -1
- package/src/app/core/text-popover/testing/text-popover.testing.module.d.ts +9 -0
- package/src/app/core/text-popover/text-form.component.d.ts +7 -4
- package/src/app/core/text-popover/text-popover.component.d.ts +3 -0
- package/src/app/shared/alerts.d.ts +4 -4
- package/src/app/shared/audio/audio.d.ts +20 -11
- 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 +1 -0
- package/src/app/shared/debug/debug.component.d.ts +13 -0
- package/src/app/shared/debug/debug.module.d.ts +12 -0
- package/src/app/shared/directives/autofocus.directive.d.ts +9 -7
- package/src/app/shared/directives/autotitle.directive.d.ts +3 -0
- package/src/app/shared/directives/directives.module.d.ts +10 -0
- package/src/app/shared/directives/drag-and-drop.directive.d.ts +3 -0
- package/src/app/shared/directives/ng-var.directive.d.ts +3 -0
- package/src/app/shared/directives/resizable/resizable.component.d.ts +3 -0
- package/src/app/shared/directives/resizable/resizable.directive.d.ts +3 -0
- package/src/app/shared/directives/resizable/resizable.module.d.ts +6 -0
- package/src/app/shared/file/file.service.d.ts +3 -0
- package/src/app/shared/file/file.utils.d.ts +1 -1
- package/src/app/shared/form/field.component.d.ts +12 -3
- package/src/app/shared/form/field.model.d.ts +2 -2
- package/src/app/shared/form/loading-spinner.d.ts +3 -0
- package/src/app/shared/forms.d.ts +13 -13
- package/src/app/shared/gesture/gesture-config.d.ts +3 -0
- package/src/app/shared/gesture/hammer.utils.d.ts +11 -11
- package/src/app/shared/graph/graph-colors.d.ts +8 -7
- package/src/app/shared/guard/component-dirty.guard.d.ts +3 -0
- package/src/app/shared/help/help.modal.d.ts +4 -1
- package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.d.ts +3 -0
- package/src/app/shared/hotkeys/hotkeys.service.d.ts +4 -1
- package/src/app/shared/hotkeys/shared-hotkeys.module.d.ts +9 -0
- package/src/app/shared/image/gallery/image-gallery.component.d.ts +77 -0
- package/src/app/shared/image/gallery/image-gallery.module.d.ts +12 -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 +15 -0
- package/src/app/shared/image/gallery/testing/gallery.testing.module.d.ts +12 -0
- package/src/app/shared/image/image.model.d.ts +5 -0
- package/src/app/shared/image/image.module.d.ts +8 -0
- package/src/app/shared/image/image.service.d.ts +32 -0
- package/src/app/shared/inputs.d.ts +3 -3
- package/src/app/shared/material/autocomplete/material.autocomplete.config.d.ts +36 -0
- package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +11 -40
- package/src/app/shared/material/autocomplete/material.autocomplete.module.d.ts +19 -0
- package/src/app/shared/material/autocomplete/material.autocomplete.utils.d.ts +4 -0
- package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +12 -9
- package/src/app/shared/material/badge/badge.directive.d.ts +28 -0
- package/src/app/shared/material/badge/badge.module.d.ts +10 -0
- package/src/app/shared/material/badge/badge.test.d.ts +12 -0
- package/src/app/shared/material/boolean/boolean.module.d.ts +17 -0
- package/src/app/shared/material/boolean/material.boolean.d.ts +7 -4
- package/src/app/shared/material/chips/chips.module.d.ts +19 -0
- package/src/app/shared/material/chips/material.chips.d.ts +11 -8
- package/src/app/shared/material/chips/testing/chips.test.d.ts +8 -5
- package/src/app/shared/material/datetime/datetime.module.d.ts +22 -0
- package/src/app/shared/material/datetime/material.date.d.ts +19 -18
- package/src/app/shared/material/datetime/material.dateshort.d.ts +10 -9
- package/src/app/shared/material/datetime/material.datetime.d.ts +21 -20
- package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +11 -9
- package/src/app/shared/material/datetime/testing/mat-date.test.d.ts +11 -9
- package/src/app/shared/material/duration/duration.module.d.ts +16 -0
- package/src/app/shared/material/duration/material.duration.d.ts +8 -5
- package/src/app/shared/material/latlong/material.latlong.d.ts +8 -5
- package/src/app/shared/material/latlong/material.latlong.module.d.ts +17 -0
- package/src/app/shared/material/latlong/testing/latlong.test.d.ts +10 -7
- package/src/app/shared/material/material.module.d.ts +43 -0
- package/src/app/shared/material/material.testing.module.d.ts +19 -0
- package/src/app/shared/material/numpad/numpad.append-to-input.directive.d.ts +3 -0
- package/src/app/shared/material/numpad/numpad.component.d.ts +4 -1
- package/src/app/shared/material/numpad/numpad.container.d.ts +5 -2
- package/src/app/shared/material/numpad/numpad.content.d.ts +3 -0
- package/src/app/shared/material/numpad/numpad.directive.d.ts +4 -1
- package/src/app/shared/material/numpad/numpad.dom-service.d.ts +3 -0
- package/src/app/shared/material/numpad/numpad.model.d.ts +1 -1
- package/src/app/shared/material/numpad/numpad.module.d.ts +14 -0
- package/src/app/shared/material/numpad/testing/numpad.test.d.ts +7 -4
- package/src/app/shared/material/paginator/material.paginator-i18n.d.ts +3 -0
- package/src/app/shared/material/stepper/material.stepper-i18n.d.ts +3 -0
- package/src/app/shared/material/swipe/material.swipe.d.ts +6 -3
- package/src/app/shared/material/swipe/swipe.module.d.ts +13 -0
- package/src/app/shared/material/swipe/testing/swipe.test.d.ts +7 -4
- package/src/app/shared/pipes/arrays.pipe.d.ts +17 -0
- package/src/app/shared/pipes/colors.pipe.d.ts +9 -0
- package/src/app/shared/pipes/date-diff-duration.pipe.d.ts +4 -0
- package/src/app/shared/pipes/date-format.pipe.d.ts +4 -0
- package/src/app/shared/pipes/date-from-now.pipe.d.ts +4 -0
- package/src/app/shared/pipes/duration.pipe.d.ts +4 -0
- package/src/app/shared/pipes/file-size.pipe.d.ts +3 -0
- package/src/app/shared/pipes/form.pipes.d.ts +18 -5
- package/src/app/shared/pipes/highlight.pipe.d.ts +4 -0
- package/src/app/shared/pipes/latlong-format.pipe.d.ts +7 -0
- package/src/app/shared/pipes/maps.pipe.d.ts +10 -0
- package/src/app/shared/pipes/math.pipes.d.ts +10 -0
- package/src/app/shared/pipes/ng-init.pipe.d.ts +3 -0
- package/src/app/shared/pipes/number-format.pipe.d.ts +4 -0
- package/src/app/shared/pipes/pipes.module.d.ts +24 -0
- package/src/app/shared/pipes/property.pipes.d.ts +6 -0
- package/src/app/shared/pipes/string.pipes.d.ts +11 -0
- package/src/app/shared/pipes/translate-context.pipe.d.ts +7 -0
- package/src/app/shared/platforms.d.ts +1 -0
- package/src/app/shared/services/memory-entity-service.class.d.ts +3 -0
- package/src/app/shared/services/progress-bar.service.d.ts +4 -1
- package/src/app/shared/services/startable-observable-service.class.d.ts +1 -1
- package/src/app/shared/services/startable-service.class.d.ts +1 -1
- package/src/app/shared/services/storage/storage.service.d.ts +23 -0
- package/src/app/shared/services/storage/storage.utils.d.ts +19 -0
- package/src/app/shared/services/translate-context.service.d.ts +3 -0
- package/src/app/shared/services/validator-service.class.d.ts +2 -2
- package/src/app/shared/shared-routing.module.d.ts +7 -0
- package/src/app/shared/shared.module.d.ts +23 -0
- package/src/app/shared/shared.testing.module.d.ts +12 -0
- package/src/app/shared/testing/tests.page.d.ts +3 -0
- package/src/app/shared/toast/toast.testing.d.ts +6 -5
- package/src/app/shared/toast/toast.testing.module.d.ts +9 -0
- package/src/app/shared/toast/toasts.d.ts +5 -2
- package/src/app/shared/toolbar/modal-toolbar.d.ts +5 -2
- package/src/app/shared/toolbar/toolbar.d.ts +9 -5
- package/src/app/shared/toolbar/toolbar.module.d.ts +15 -0
- package/src/app/shared/upload-file/testing/upload-file.testing.d.ts +4 -1
- package/src/app/shared/upload-file/testing/upload-file.testing.module.d.ts +9 -0
- package/src/app/shared/upload-file/upload-file-popover.component.d.ts +3 -0
- package/src/app/shared/upload-file/upload-file.component.d.ts +3 -0
- package/src/app/shared/validator/form-error-adapter.class.d.ts +3 -0
- package/src/app/shared/validator/validators.d.ts +9 -9
- package/src/app/social/job/job.module.d.ts +9 -0
- package/src/app/social/job/job.service.d.ts +3 -0
- package/src/app/social/job/progression/job-progression.icon.d.ts +4 -1
- package/src/app/social/job/progression/job-progression.list.d.ts +3 -0
- package/src/app/social/job/testing/job-progression.testing.d.ts +3 -0
- package/src/app/social/job/testing/job-progression.testing.service.d.ts +3 -0
- package/src/app/social/job/testing/job.testing.module.d.ts +9 -0
- package/src/app/social/message/message.form.d.ts +5 -2
- package/src/app/social/message/message.modal.d.ts +5 -2
- package/src/app/social/message/message.module.d.ts +9 -0
- package/src/app/social/message/message.service.d.ts +3 -0
- package/src/app/social/social.module.d.ts +10 -0
- package/src/app/social/social.testing.module.d.ts +9 -0
- package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +4 -1
- package/src/app/social/user-event/notification/user-event-notification.list.d.ts +7 -4
- package/src/app/social/user-event/testing/user-event.testing.d.ts +3 -0
- package/src/app/social/user-event/testing/user-event.testing.model.d.ts +1 -0
- package/src/app/social/user-event/testing/user-event.testing.module.d.ts +9 -0
- package/src/app/social/user-event/testing/user-event.testing.service.d.ts +5 -1
- package/src/app/social/user-event/user-event.model.d.ts +3 -2
- package/src/app/social/user-event/user-event.module.d.ts +10 -0
- package/src/app/social/user-event/user-event.service.d.ts +16 -11
- package/src/assets/audio/beep-notification.mp3 +0 -0
- package/src/assets/i18n/fr.json +9 -2
- package/src/environments/environment.class.d.ts +2 -0
- package/src/environments/environment.d.ts +1 -1
- package/src/theme/_icons.scss +1 -1
- package/src/theme/_material.globals.scss +29 -31
- package/src/theme/_material.scss +32 -6
- package/src/theme/_mixins.scss +4 -4
- package/src/theme/_ngx-components.scss +27 -0
- package/src/theme/_print.scss +24 -0
- package/bundles/sumaris-net.ngx-components.umd.js +0 -35755
- package/bundles/sumaris-net.ngx-components.umd.js.map +0 -1
- package/bundles/sumaris-net.ngx-components.umd.min.js +0 -25
- package/bundles/sumaris-net.ngx-components.umd.min.js.map +0 -1
- package/esm2015/public_api.js +0 -245
- package/esm2015/src/app/admin/admin-routing.module.js +0 -34
- package/esm2015/src/app/admin/admin.module.js +0 -34
- package/esm2015/src/app/admin/services/filter/person.filter.js +0 -59
- package/esm2015/src/app/admin/services/person.service.js +0 -175
- package/esm2015/src/app/admin/services/validator/person.validator.js +0 -37
- package/esm2015/src/app/admin/users/list/users.js +0 -216
- package/esm2015/src/app/core/about/modal-about.js +0 -63
- package/esm2015/src/app/core/account/account.js +0 -240
- package/esm2015/src/app/core/auth/form/form-auth.js +0 -134
- package/esm2015/src/app/core/auth/modal/modal-auth.js +0 -78
- package/esm2015/src/app/core/core.module.js +0 -127
- package/esm2015/src/app/core/core.testing.module.js +0 -51
- package/esm2015/src/app/core/form/editor.class.js +0 -698
- package/esm2015/src/app/core/form/entity-editor-modal.class.js +0 -422
- package/esm2015/src/app/core/form/entity-editor.class.js +0 -676
- package/esm2015/src/app/core/form/entity-metadata.component.js +0 -22
- package/esm2015/src/app/core/form/form-buttons-bar.component.js +0 -63
- package/esm2015/src/app/core/form/form.class.js +0 -342
- package/esm2015/src/app/core/form/form.utils.js +0 -299
- package/esm2015/src/app/core/form/list.form.js +0 -219
- package/esm2015/src/app/core/form/properties.form.js +0 -119
- package/esm2015/src/app/core/graphql/graphql.module.js +0 -18
- package/esm2015/src/app/core/graphql/graphql.service.js +0 -734
- package/esm2015/src/app/core/graphql/graphql.utils.js +0 -106
- package/esm2015/src/app/core/home/home.js +0 -265
- package/esm2015/src/app/core/icon/icon.component.js +0 -32
- package/esm2015/src/app/core/icon/icon.module.js +0 -26
- package/esm2015/src/app/core/install/install-upgrade-card.component.js +0 -358
- package/esm2015/src/app/core/menu/menu.component.js +0 -329
- package/esm2015/src/app/core/menu/menu.module.js +0 -28
- package/esm2015/src/app/core/offline/update-offline-mode-card.component.js +0 -26
- package/esm2015/src/app/core/peer/select-peer.modal.js +0 -134
- package/esm2015/src/app/core/register/confirm/confirm.js +0 -86
- package/esm2015/src/app/core/register/form/form-register.js +0 -172
- package/esm2015/src/app/core/register/modal/modal-register.js +0 -55
- package/esm2015/src/app/core/services/account.service.js +0 -1165
- package/esm2015/src/app/core/services/auth-guard.service.js +0 -77
- package/esm2015/src/app/core/services/base-entity-service.class.js +0 -454
- package/esm2015/src/app/core/services/base-graphql-service.class.js +0 -221
- package/esm2015/src/app/core/services/config.service.js +0 -385
- package/esm2015/src/app/core/services/local-settings.service.js +0 -460
- package/esm2015/src/app/core/services/model/account.model.js +0 -50
- package/esm2015/src/app/core/services/model/config.model.js +0 -89
- package/esm2015/src/app/core/services/model/department.model.js +0 -30
- package/esm2015/src/app/core/services/model/entity.decorators.js +0 -104
- package/esm2015/src/app/core/services/model/entity.model.js +0 -245
- package/esm2015/src/app/core/services/model/peer.model.js +0 -68
- package/esm2015/src/app/core/services/model/person.model.js +0 -83
- package/esm2015/src/app/core/services/model/referential.model.js +0 -147
- package/esm2015/src/app/core/services/model/settings.model.js +0 -75
- package/esm2015/src/app/core/services/network.service.js +0 -631
- package/esm2015/src/app/core/services/network.utils.js +0 -19
- package/esm2015/src/app/core/services/pipes/account.pipes.js +0 -28
- package/esm2015/src/app/core/services/pipes/department-to-string.pipe.js +0 -18
- package/esm2015/src/app/core/services/pipes/person-to-string.pipe.js +0 -18
- package/esm2015/src/app/core/services/pipes/usage-mode.pipes.js +0 -27
- package/esm2015/src/app/core/services/platform.service.js +0 -549
- package/esm2015/src/app/core/services/storage/entities-storage.service.js +0 -452
- package/esm2015/src/app/core/services/storage/entity-store.class.js +0 -461
- package/esm2015/src/app/core/services/testing/referential-filter.model.js +0 -23
- package/esm2015/src/app/core/services/testing/referential.validator.js +0 -44
- package/esm2015/src/app/core/services/validator/account.validator.js +0 -55
- package/esm2015/src/app/core/services/validator/base.validator.class.js +0 -48
- package/esm2015/src/app/core/services/validator/local-settings.validator.js +0 -72
- package/esm2015/src/app/core/services/validator/user-settings.validator.js +0 -30
- package/esm2015/src/app/core/settings/settings.page.js +0 -305
- package/esm2015/src/app/core/table/actions-column.component.js +0 -74
- package/esm2015/src/app/core/table/entities-table-datasource.class.js +0 -405
- package/esm2015/src/app/core/table/memory-table.class.js +0 -59
- package/esm2015/src/app/core/table/table-select-columns.component.js +0 -44
- package/esm2015/src/app/core/table/table.class.js +0 -1677
- package/esm2015/src/app/core/table/table.utils.js +0 -13
- package/esm2015/src/app/core/table/testing/table.testing.js +0 -242
- package/esm2015/src/app/core/table/testing/table.testing.module.js +0 -26
- package/esm2015/src/app/core/text-popover/testing/text-popover.testing.js +0 -37
- package/esm2015/src/app/core/text-popover/testing/text-popover.testing.module.js +0 -33
- package/esm2015/src/app/core/text-popover/text-form.component.js +0 -72
- package/esm2015/src/app/core/text-popover/text-popover.component.js +0 -90
- package/esm2015/src/app/shared/alerts.js +0 -251
- package/esm2015/src/app/shared/audio/audio.js +0 -178
- package/esm2015/src/app/shared/dates.js +0 -134
- package/esm2015/src/app/shared/directives/autofocus.directive.js +0 -90
- package/esm2015/src/app/shared/directives/autotitle.directive.js +0 -27
- package/esm2015/src/app/shared/directives/directives.module.js +0 -30
- package/esm2015/src/app/shared/directives/drag-and-drop.directive.js +0 -43
- package/esm2015/src/app/shared/directives/ng-var.directive.js +0 -32
- package/esm2015/src/app/shared/directives/resizable/resizable.component.js +0 -54
- package/esm2015/src/app/shared/directives/resizable/resizable.directive.js +0 -34
- package/esm2015/src/app/shared/directives/resizable/resizable.module.js +0 -12
- package/esm2015/src/app/shared/events.js +0 -61
- package/esm2015/src/app/shared/file/csv.utils.js +0 -70
- package/esm2015/src/app/shared/file/file.service.js +0 -120
- package/esm2015/src/app/shared/file/file.utils.js +0 -116
- package/esm2015/src/app/shared/file/images.utils.js +0 -166
- package/esm2015/src/app/shared/form/field.component.js +0 -206
- package/esm2015/src/app/shared/form/loading-spinner.js +0 -24
- package/esm2015/src/app/shared/forms.js +0 -358
- package/esm2015/src/app/shared/functions.js +0 -431
- package/esm2015/src/app/shared/gesture/hammer.utils.js +0 -2
- package/esm2015/src/app/shared/graph/graph-colors.js +0 -205
- package/esm2015/src/app/shared/guard/component-dirty.guard.js +0 -61
- package/esm2015/src/app/shared/help/help.modal.js +0 -56
- package/esm2015/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.js +0 -20
- package/esm2015/src/app/shared/hotkeys/hotkeys.service.js +0 -91
- package/esm2015/src/app/shared/hotkeys/shared-hotkeys.module.js +0 -29
- package/esm2015/src/app/shared/http/http.utils.js +0 -57
- package/esm2015/src/app/shared/material/autocomplete/material.autocomplete.js +0 -825
- package/esm2015/src/app/shared/material/autocomplete/material.autocomplete.module.js +0 -46
- package/esm2015/src/app/shared/material/autocomplete/testing/autocomplete.test.js +0 -200
- package/esm2015/src/app/shared/material/badge/badge-icon.directive.js +0 -135
- package/esm2015/src/app/shared/material/badge/badge-icon.module.js +0 -23
- package/esm2015/src/app/shared/material/badge/badge-icon.test.js +0 -17
- package/esm2015/src/app/shared/material/boolean/boolean.module.js +0 -41
- package/esm2015/src/app/shared/material/boolean/material.boolean.js +0 -223
- package/esm2015/src/app/shared/material/chips/chips.module.js +0 -45
- package/esm2015/src/app/shared/material/chips/material.chips.js +0 -636
- package/esm2015/src/app/shared/material/chips/testing/chips.test.js +0 -138
- package/esm2015/src/app/shared/material/datetime/datetime.module.js +0 -54
- package/esm2015/src/app/shared/material/datetime/material.date.js +0 -375
- package/esm2015/src/app/shared/material/datetime/material.dateshort.js +0 -316
- package/esm2015/src/app/shared/material/datetime/material.datetime.js +0 -398
- package/esm2015/src/app/shared/material/datetime/testing/mat-date-time.test.js +0 -110
- package/esm2015/src/app/shared/material/datetime/testing/mat-date.test.js +0 -108
- package/esm2015/src/app/shared/material/duration/duration.module.js +0 -40
- package/esm2015/src/app/shared/material/duration/material.duration.js +0 -246
- package/esm2015/src/app/shared/material/latlong/latlong.utils.js +0 -249
- package/esm2015/src/app/shared/material/latlong/material.latlong.js +0 -350
- package/esm2015/src/app/shared/material/latlong/material.latlong.module.js +0 -41
- package/esm2015/src/app/shared/material/latlong/testing/latlong.test.js +0 -70
- package/esm2015/src/app/shared/material/material.module.js +0 -93
- package/esm2015/src/app/shared/material/material.testing.module.js +0 -111
- package/esm2015/src/app/shared/material/numpad/numpad.append-to-input.directive.js +0 -96
- package/esm2015/src/app/shared/material/numpad/numpad.component.js +0 -73
- package/esm2015/src/app/shared/material/numpad/numpad.container.js +0 -149
- package/esm2015/src/app/shared/material/numpad/numpad.content.js +0 -14
- package/esm2015/src/app/shared/material/numpad/numpad.directive.js +0 -148
- package/esm2015/src/app/shared/material/numpad/numpad.dom-service.js +0 -37
- package/esm2015/src/app/shared/material/numpad/numpad.module.js +0 -39
- package/esm2015/src/app/shared/material/numpad/testing/numpad.test.js +0 -44
- package/esm2015/src/app/shared/material/paginator/material.paginator-i18n.js +0 -44
- package/esm2015/src/app/shared/material/stepper/material.stepper-i18n.js +0 -24
- package/esm2015/src/app/shared/material/swipe/material.swipe.js +0 -308
- package/esm2015/src/app/shared/material/swipe/swipe.module.js +0 -33
- package/esm2015/src/app/shared/material/swipe/testing/swipe.test.js +0 -68
- package/esm2015/src/app/shared/observables.js +0 -99
- package/esm2015/src/app/shared/pipes/arrays.pipe.js +0 -110
- package/esm2015/src/app/shared/pipes/date-diff-duration.pipe.js +0 -50
- package/esm2015/src/app/shared/pipes/date-format.pipe.js +0 -43
- package/esm2015/src/app/shared/pipes/file-size.pipe.js +0 -58
- package/esm2015/src/app/shared/pipes/form.pipes.js +0 -177
- package/esm2015/src/app/shared/pipes/highlight.pipe.js +0 -43
- package/esm2015/src/app/shared/pipes/latlong-format.pipe.js +0 -36
- package/esm2015/src/app/shared/pipes/maps.pipe.js +0 -48
- package/esm2015/src/app/shared/pipes/math.pipes.js +0 -44
- package/esm2015/src/app/shared/pipes/ng-init.pipe.js +0 -18
- package/esm2015/src/app/shared/pipes/pipes.module.js +0 -117
- package/esm2015/src/app/shared/pipes/property.pipes.js +0 -98
- package/esm2015/src/app/shared/pipes/string.pipes.js +0 -53
- package/esm2015/src/app/shared/pipes/translate-context.pipe.js +0 -36
- package/esm2015/src/app/shared/platforms.js +0 -45
- package/esm2015/src/app/shared/services/entity-service.class.js +0 -8
- package/esm2015/src/app/shared/services/job.utils.js +0 -96
- package/esm2015/src/app/shared/services/memory-entity-service.class.js +0 -342
- package/esm2015/src/app/shared/services/progress-bar.service.js +0 -30
- package/esm2015/src/app/shared/services/startable-observable-service.class.js +0 -124
- package/esm2015/src/app/shared/services/startable-service.class.js +0 -110
- package/esm2015/src/app/shared/services/storage.utils.js +0 -41
- package/esm2015/src/app/shared/services/translate-context.service.js +0 -83
- package/esm2015/src/app/shared/services/validator-service.class.js +0 -2
- package/esm2015/src/app/shared/services.js +0 -61
- package/esm2015/src/app/shared/shared-routing.module.js +0 -54
- package/esm2015/src/app/shared/shared.module.js +0 -135
- package/esm2015/src/app/shared/shared.testing.module.js +0 -33
- package/esm2015/src/app/shared/testing/tests.page.js +0 -34
- package/esm2015/src/app/shared/toast/toast.testing.js +0 -39
- package/esm2015/src/app/shared/toast/toast.testing.module.js +0 -33
- package/esm2015/src/app/shared/toast/toasts.js +0 -119
- package/esm2015/src/app/shared/toolbar/modal-toolbar.js +0 -53
- package/esm2015/src/app/shared/toolbar/toolbar.js +0 -213
- package/esm2015/src/app/shared/upload-file/testing/upload-file.testing.js +0 -59
- package/esm2015/src/app/shared/upload-file/testing/upload-file.testing.module.js +0 -33
- package/esm2015/src/app/shared/upload-file/upload-file-popover.component.js +0 -98
- package/esm2015/src/app/shared/upload-file/upload-file.component.js +0 -202
- package/esm2015/src/app/shared/upload-file/upload-file.model.js +0 -20
- package/esm2015/src/app/shared/validator/form-error-adapter.class.js +0 -99
- package/esm2015/src/app/shared/validator/validators.js +0 -537
- package/esm2015/src/app/social/job/job.model.js +0 -26
- package/esm2015/src/app/social/job/job.module.js +0 -25
- package/esm2015/src/app/social/job/job.service.js +0 -66
- package/esm2015/src/app/social/job/progression/job-progression.icon.js +0 -208
- package/esm2015/src/app/social/job/progression/job-progression.list.js +0 -20
- package/esm2015/src/app/social/job/testing/job-progression.testing.js +0 -49
- package/esm2015/src/app/social/job/testing/job-progression.testing.service.js +0 -52
- package/esm2015/src/app/social/job/testing/job.testing.module.js +0 -25
- package/esm2015/src/app/social/message/message.form.js +0 -73
- package/esm2015/src/app/social/message/message.modal.js +0 -96
- package/esm2015/src/app/social/message/message.model.js +0 -65
- package/esm2015/src/app/social/message/message.module.js +0 -25
- package/esm2015/src/app/social/message/message.service.js +0 -87
- package/esm2015/src/app/social/social.module.js +0 -28
- package/esm2015/src/app/social/social.testing.module.js +0 -39
- package/esm2015/src/app/social/user-event/notification/user-event-notification.icon.js +0 -106
- package/esm2015/src/app/social/user-event/notification/user-event-notification.list.js +0 -203
- package/esm2015/src/app/social/user-event/testing/user-event.testing.js +0 -230
- package/esm2015/src/app/social/user-event/testing/user-event.testing.model.js +0 -103
- package/esm2015/src/app/social/user-event/testing/user-event.testing.module.js +0 -25
- package/esm2015/src/app/social/user-event/testing/user-event.testing.service.js +0 -117
- package/esm2015/src/app/social/user-event/user-event.model.js +0 -2
- package/esm2015/src/app/social/user-event/user-event.module.js +0 -27
- package/esm2015/src/app/social/user-event/user-event.service.js +0 -509
- package/esm2015/src/environments/environment.class.js +0 -5
- package/esm2015/src/environments/environment.js +0 -81
- package/esm2015/sumaris-net.ngx-components.js +0 -21
- package/fesm2015/sumaris-net.ngx-components.js +0 -30297
- package/fesm2015/sumaris-net.ngx-components.js.map +0 -1
- package/src/app/core/form/properties.form.d.ts +0 -40
- package/src/app/shared/material/badge/badge-icon.directive.d.ts +0 -28
- package/src/app/shared/material/badge/badge-icon.module.d.ts +0 -2
- package/src/app/shared/material/badge/badge-icon.test.d.ts +0 -9
- package/src/app/shared/services/storage.utils.d.ts +0 -13
- package/sumaris-net.ngx-components.d.ts +0 -20
- package/sumaris-net.ngx-components.metadata.json +0 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
var JobProgression_1;
|
|
2
|
+
import { __decorate } from "tslib";
|
|
3
|
+
import { EntityClass } from '../../core/services/model/entity.decorators';
|
|
4
|
+
import { Entity } from '../../core/services/model/entity.model';
|
|
5
|
+
// todo use entity
|
|
6
|
+
export class Job {
|
|
7
|
+
}
|
|
8
|
+
// @dynamic
|
|
9
|
+
let JobProgression = JobProgression_1 = class JobProgression extends Entity {
|
|
10
|
+
constructor(id) {
|
|
11
|
+
super(JobProgression_1.TYPENAME);
|
|
12
|
+
this.id = id;
|
|
13
|
+
}
|
|
14
|
+
fromObject(source) {
|
|
15
|
+
super.fromObject(source);
|
|
16
|
+
this.name = source.name;
|
|
17
|
+
this.message = source.message;
|
|
18
|
+
this.current = source.current;
|
|
19
|
+
this.total = source.total;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
JobProgression = JobProgression_1 = __decorate([
|
|
23
|
+
EntityClass({ typename: 'JobProgressionVO' })
|
|
24
|
+
], JobProgression);
|
|
25
|
+
export { JobProgression };
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zb2NpYWwvam9iL2pvYi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFlaEUsa0JBQWtCO0FBQ2xCLE1BQU0sT0FBTyxHQUFHO0NBU2Y7QUFFRCxXQUFXO0FBRVgsSUFBYSxjQUFjLHNCQUEzQixNQUFhLGNBQWUsU0FBUSxNQUFzQjtJQVV4RCxZQUFZLEVBQVc7UUFDckIsS0FBSyxDQUFDLGdCQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQVc7UUFDcEIsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztDQUNGLENBQUE7QUF0QlksY0FBYztJQUQxQixXQUFXLENBQUMsRUFBQyxRQUFRLEVBQUUsa0JBQWtCLEVBQUMsQ0FBQztHQUMvQixjQUFjLENBc0IxQjtTQXRCWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9tZW50IH0gZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IEVudGl0eUNsYXNzIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9lbnRpdHkuZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL21vZGVsL2VudGl0eS5tb2RlbCc7XG5cbmV4cG9ydCB0eXBlIEpvYlN0YXR1cyA9ICdQRU5ESU5HJyB8ICdSVU5OSU5HJyB8ICdTVUNDRVNTJyB8ICdFUlJPUicgfCAnRkFJTEVEJyB8ICdXQVJOSU5HJyB8ICdDQU5DRUxMRUQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElKb2Ige1xuICBpZDogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgc3RhdHVzOiBKb2JTdGF0dXM7XG4gIHN0YXJ0RGF0ZTogTW9tZW50O1xuICBlbmREYXRlOiBNb21lbnQ7XG4gIGNvbmZpZ3VyYXRpb246IHN0cmluZztcbiAgcmVwb3J0OiBzdHJpbmc7XG59XG5cbi8vIHRvZG8gdXNlIGVudGl0eVxuZXhwb3J0IGNsYXNzIEpvYiBpbXBsZW1lbnRzIElKb2Ige1xuICBpZDogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgc3RhdHVzOiBKb2JTdGF0dXM7XG4gIHN0YXJ0RGF0ZTogTW9tZW50O1xuICBlbmREYXRlOiBNb21lbnQ7XG4gIGNvbmZpZ3VyYXRpb246IHN0cmluZztcbiAgcmVwb3J0OiBzdHJpbmc7XG59XG5cbi8vIEBkeW5hbWljXG5ARW50aXR5Q2xhc3Moe3R5cGVuYW1lOiAnSm9iUHJvZ3Jlc3Npb25WTyd9KVxuZXhwb3J0IGNsYXNzIEpvYlByb2dyZXNzaW9uIGV4dGVuZHMgRW50aXR5PEpvYlByb2dyZXNzaW9uPiB7XG5cbiAgc3RhdGljIGZyb21PYmplY3Q6IChzb3VyY2U6IGFueSwgb3B0cz86IGFueSkgPT4gSm9iUHJvZ3Jlc3Npb247XG5cbiAgaWQ6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIGN1cnJlbnQ6IG51bWJlcjtcbiAgdG90YWw6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihpZD86IG51bWJlcikge1xuICAgIHN1cGVyKEpvYlByb2dyZXNzaW9uLlRZUEVOQU1FKTtcbiAgICB0aGlzLmlkID0gaWQ7XG4gIH1cblxuICBmcm9tT2JqZWN0KHNvdXJjZTogYW55KSB7XG4gICAgc3VwZXIuZnJvbU9iamVjdChzb3VyY2UpO1xuICAgIHRoaXMubmFtZSA9IHNvdXJjZS5uYW1lO1xuICAgIHRoaXMubWVzc2FnZSA9IHNvdXJjZS5tZXNzYWdlO1xuICAgIHRoaXMuY3VycmVudCA9IHNvdXJjZS5jdXJyZW50O1xuICAgIHRoaXMudG90YWwgPSBzb3VyY2UudG90YWw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
+
import { SharedModule } from '../../shared/shared.module';
|
|
5
|
+
import { JobProgressionIcon } from './progression/job-progression.icon';
|
|
6
|
+
import { JobProgressionList } from './progression/job-progression.list';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@ngx-translate/core";
|
|
9
|
+
export class JobModule {
|
|
10
|
+
}
|
|
11
|
+
JobModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: JobModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
JobModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: JobModule, declarations: [JobProgressionIcon,
|
|
13
|
+
JobProgressionList], imports: [CommonModule,
|
|
14
|
+
SharedModule, i1.TranslateModule], exports: [JobProgressionIcon] });
|
|
15
|
+
JobModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: JobModule, imports: [CommonModule,
|
|
16
|
+
SharedModule,
|
|
17
|
+
TranslateModule.forChild()] });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: JobModule, decorators: [{
|
|
19
|
+
type: NgModule,
|
|
20
|
+
args: [{
|
|
21
|
+
imports: [
|
|
22
|
+
CommonModule,
|
|
23
|
+
SharedModule,
|
|
24
|
+
TranslateModule.forChild(),
|
|
25
|
+
],
|
|
26
|
+
declarations: [
|
|
27
|
+
JobProgressionIcon,
|
|
28
|
+
JobProgressionList
|
|
29
|
+
],
|
|
30
|
+
exports: [
|
|
31
|
+
JobProgressionIcon
|
|
32
|
+
]
|
|
33
|
+
}]
|
|
34
|
+
}] });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc29jaWFsL2pvYi9qb2IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQWdCeEUsTUFBTSxPQUFPLFNBQVM7O3NHQUFULFNBQVM7dUdBQVQsU0FBUyxpQkFQbEIsa0JBQWtCO1FBQ2xCLGtCQUFrQixhQU5sQixZQUFZO1FBQ1osWUFBWSxpQ0FRWixrQkFBa0I7dUdBR1QsU0FBUyxZQVpsQixZQUFZO1FBQ1osWUFBWTtRQUNaLGVBQWUsQ0FBQyxRQUFRLEVBQUU7MkZBVWpCLFNBQVM7a0JBZHJCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixlQUFlLENBQUMsUUFBUSxFQUFFO3FCQUMzQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3dCQUNsQixrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRTt3QkFDUCxrQkFBa0I7cUJBQ25CO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcbmltcG9ydCB7IEpvYlByb2dyZXNzaW9uSWNvbiB9IGZyb20gJy4vcHJvZ3Jlc3Npb24vam9iLXByb2dyZXNzaW9uLmljb24nO1xuaW1wb3J0IHsgSm9iUHJvZ3Jlc3Npb25MaXN0IH0gZnJvbSAnLi9wcm9ncmVzc2lvbi9qb2ItcHJvZ3Jlc3Npb24ubGlzdCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2hhcmVkTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBKb2JQcm9ncmVzc2lvbkljb24sXG4gICAgSm9iUHJvZ3Jlc3Npb25MaXN0XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBKb2JQcm9ncmVzc2lvbkljb25cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBKb2JNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
|
|
2
|
+
import { JobProgression } from './job.model';
|
|
3
|
+
import { BaseGraphqlService } from '../../core/services/base-graphql-service.class';
|
|
4
|
+
import { ENVIRONMENT } from '../../../environments/environment.class';
|
|
5
|
+
import { of } from 'rxjs';
|
|
6
|
+
import { gql } from '@apollo/client/core';
|
|
7
|
+
import { isNil, toNumber } from '../../shared/functions';
|
|
8
|
+
import { map } from 'rxjs/operators';
|
|
9
|
+
import { SocialErrorCodes } from '../social.errors';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "../../core/graphql/graphql.service";
|
|
12
|
+
import * as i2 from "../../../environments/environment.class";
|
|
13
|
+
export const APP_JOB_PROGRESSION_SERVICE = new InjectionToken('JobProgressionService');
|
|
14
|
+
const QUERIES = {
|
|
15
|
+
listenChanges: gql `subscription UpdateJobProgression($id: Int!, $interval: Int){
|
|
16
|
+
data: updateJobProgression(id: $id, interval: $interval) {
|
|
17
|
+
id
|
|
18
|
+
name
|
|
19
|
+
message
|
|
20
|
+
current
|
|
21
|
+
total
|
|
22
|
+
}
|
|
23
|
+
}`
|
|
24
|
+
};
|
|
25
|
+
export class JobProgressionService extends BaseGraphqlService {
|
|
26
|
+
constructor(graphql, environment) {
|
|
27
|
+
super(graphql, environment);
|
|
28
|
+
this.graphql = graphql;
|
|
29
|
+
this.environment = environment;
|
|
30
|
+
this._logPrefix = '[job-progression-service] ';
|
|
31
|
+
// For DEV only
|
|
32
|
+
this._debug = environment && !environment.production;
|
|
33
|
+
}
|
|
34
|
+
watchAll(options) {
|
|
35
|
+
return of([]); // TODO
|
|
36
|
+
}
|
|
37
|
+
addJob(id, job) {
|
|
38
|
+
throw new Error('no implemented');
|
|
39
|
+
}
|
|
40
|
+
removeJob(id) {
|
|
41
|
+
throw new Error('no implemented');
|
|
42
|
+
}
|
|
43
|
+
listenChanges(id, options) {
|
|
44
|
+
if (isNil(id))
|
|
45
|
+
throw new Error(`${this._logPrefix}Missing argument 'id'`);
|
|
46
|
+
if (this._debug)
|
|
47
|
+
console.debug(`${this._logPrefix}[WS] Listening changes for job progression {${id}}...`);
|
|
48
|
+
return this.graphql.subscribe({
|
|
49
|
+
query: QUERIES.listenChanges,
|
|
50
|
+
fetchPolicy: options?.fetchPolicy,
|
|
51
|
+
variables: { id, interval: toNumber(options?.interval, 10) },
|
|
52
|
+
error: { code: SocialErrorCodes.SUBSCRIBE_JOB_PROGRESSION_ERROR, message: 'SOCIAL.ERROR.SUBSCRIBE_JOB_PROGRESSION_ERROR' }
|
|
53
|
+
}).pipe(map(({ data }) => {
|
|
54
|
+
const progression = data && JobProgression.fromObject(data);
|
|
55
|
+
if (progression && this._debug)
|
|
56
|
+
console.debug(`${this._logPrefix}Job progression ${id} updated on server`, progression);
|
|
57
|
+
return progression;
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
JobProgressionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: JobProgressionService, deps: [{ token: i1.GraphqlService }, { token: ENVIRONMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
62
|
+
JobProgressionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: JobProgressionService });
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: JobProgressionService, decorators: [{
|
|
64
|
+
type: Injectable
|
|
65
|
+
}], ctorParameters: function () { return [{ type: i1.GraphqlService }, { type: i2.Environment, decorators: [{
|
|
66
|
+
type: Optional
|
|
67
|
+
}, {
|
|
68
|
+
type: Inject,
|
|
69
|
+
args: [ENVIRONMENT]
|
|
70
|
+
}] }]; } });
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC9qb2Ivam9iLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRXBGLE9BQU8sRUFBZSxXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQWEsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBYyxHQUFHLEVBQXdCLE1BQU0scUJBQXFCLENBQUM7QUFDNUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFHcEQsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsSUFBSSxjQUFjLENBQXdCLHVCQUF1QixDQUFDLENBQUM7QUFFOUcsTUFBTSxPQUFPLEdBQUc7SUFDZCxhQUFhLEVBQUUsR0FBRyxDQUFBOzs7Ozs7OztJQVFoQjtDQUNILENBQUE7QUFVRCxNQUFNLE9BQU8scUJBQ1gsU0FBUSxrQkFBa0M7SUFHMUMsWUFDWSxPQUF1QixFQUNVLFdBQXdCO1FBRW5FLEtBQUssQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFIbEIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUduRSxJQUFJLENBQUMsVUFBVSxHQUFHLDRCQUE0QixDQUFDO1FBQy9DLGVBQWU7UUFDZixJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7SUFDdkQsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUVSO1FBQ0MsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPO0lBQ3hCLENBQUM7SUFFRCxNQUFNLENBQUMsRUFBVSxFQUFFLEdBQW9CO1FBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsU0FBUyxDQUFDLEVBQVU7UUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxhQUFhLENBQUMsRUFBVSxFQUFFLE9BR3pCO1FBRUMsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLHVCQUF1QixDQUFDLENBQUM7UUFDMUUsSUFBSSxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSwrQ0FBK0MsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUxRyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFnQjtZQUMzQyxLQUFLLEVBQUUsT0FBTyxDQUFDLGFBQWE7WUFDNUIsV0FBVyxFQUFFLE9BQU8sRUFBRSxXQUFXO1lBQ2pDLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUM7WUFDM0QsS0FBSyxFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLCtCQUErQixFQUFFLE9BQU8sRUFBRSw4Q0FBOEMsRUFBQztTQUN6SCxDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLEVBQUUsRUFBRTtZQUNiLE1BQU0sV0FBVyxHQUFHLElBQUksSUFBSSxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVELElBQUksV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUN4SCxPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBRUosQ0FBQzs7a0hBakRVLHFCQUFxQixnREFNVixXQUFXO3NIQU50QixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVTs7MEJBT04sUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEpvYlByb2dyZXNzaW9uIH0gZnJvbSAnLi9qb2IubW9kZWwnO1xuaW1wb3J0IHsgQmFzZUdyYXBocWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9iYXNlLWdyYXBocWwtc2VydmljZS5jbGFzcyc7XG5pbXBvcnQgeyBHcmFwaHFsU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvZ3JhcGhxbC9ncmFwaHFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnQsIEVOVklST05NRU5UIH0gZnJvbSAnLi4vLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LmNsYXNzJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtGZXRjaFBvbGljeSwgZ3FsLCBXYXRjaFF1ZXJ5RmV0Y2hQb2xpY3l9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NvcmUnO1xuaW1wb3J0IHsgaXNOaWwsIHRvTnVtYmVyIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTb2NpYWxFcnJvckNvZGVzIH0gZnJvbSAnLi4vc29jaWFsLmVycm9ycyc7XG5pbXBvcnQge0Jhc2VFbnRpdHlHcmFwaHFsUXVlcmllc30gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9iYXNlLWVudGl0eS1zZXJ2aWNlLmNsYXNzJztcblxuZXhwb3J0IGNvbnN0IEFQUF9KT0JfUFJPR1JFU1NJT05fU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxKb2JQcm9ncmVzc2lvblNlcnZpY2U+KCdKb2JQcm9ncmVzc2lvblNlcnZpY2UnKTtcblxuY29uc3QgUVVFUklFUyA9IHtcbiAgbGlzdGVuQ2hhbmdlczogZ3FsYHN1YnNjcmlwdGlvbiBVcGRhdGVKb2JQcm9ncmVzc2lvbigkaWQ6IEludCEsICRpbnRlcnZhbDogSW50KXtcbiAgICBkYXRhOiB1cGRhdGVKb2JQcm9ncmVzc2lvbihpZDogJGlkLCBpbnRlcnZhbDogJGludGVydmFsKSB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgbWVzc2FnZVxuICAgICAgY3VycmVudFxuICAgICAgdG90YWxcbiAgICB9XG4gIH1gXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUpvYlByb2dyZXNzaW9uU2VydmljZSB7XG4gIHdhdGNoQWxsKCk6IE9ic2VydmFibGU8Sm9iUHJvZ3Jlc3Npb25bXT47XG4gIGFkZEpvYihpZDogbnVtYmVyLCBqb2I/OiBKb2JQcm9ncmVzc2lvbik7XG4gIHJlbW92ZUpvYihpZDogbnVtYmVyKTtcbiAgbGlzdGVuQ2hhbmdlcyhpZDogbnVtYmVyLCBvcHRpb25zPzogeyBpbnRlcnZhbD86IG51bWJlcjsgZmV0Y2hQb2xpY3k/OiBGZXRjaFBvbGljeSB9KTogT2JzZXJ2YWJsZTxKb2JQcm9ncmVzc2lvbj47XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBKb2JQcm9ncmVzc2lvblNlcnZpY2VcbiAgZXh0ZW5kcyBCYXNlR3JhcGhxbFNlcnZpY2U8Sm9iUHJvZ3Jlc3Npb24+XG4gIGltcGxlbWVudHMgSUpvYlByb2dyZXNzaW9uU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGdyYXBocWw6IEdyYXBocWxTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRU5WSVJPTk1FTlQpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogRW52aXJvbm1lbnRcbiAgKSB7XG4gICAgc3VwZXIoZ3JhcGhxbCwgZW52aXJvbm1lbnQpO1xuICAgIHRoaXMuX2xvZ1ByZWZpeCA9ICdbam9iLXByb2dyZXNzaW9uLXNlcnZpY2VdICc7XG4gICAgLy8gRm9yIERFViBvbmx5XG4gICAgdGhpcy5fZGVidWcgPSBlbnZpcm9ubWVudCAmJiAhZW52aXJvbm1lbnQucHJvZHVjdGlvbjtcbiAgfVxuXG4gIHdhdGNoQWxsKG9wdGlvbnM/OiB7XG4gICAgZmV0Y2hQb2xpY3k/OiBXYXRjaFF1ZXJ5RmV0Y2hQb2xpY3lcbiAgfSk6IE9ic2VydmFibGU8Sm9iUHJvZ3Jlc3Npb25bXT4ge1xuICAgIHJldHVybiBvZihbXSk7IC8vIFRPRE9cbiAgfVxuXG4gIGFkZEpvYihpZDogbnVtYmVyLCBqb2I/OiBKb2JQcm9ncmVzc2lvbikge1xuICAgIHRocm93IG5ldyBFcnJvcignbm8gaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIHJlbW92ZUpvYihpZDogbnVtYmVyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdubyBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgbGlzdGVuQ2hhbmdlcyhpZDogbnVtYmVyLCBvcHRpb25zPzoge1xuICAgIGludGVydmFsPzogbnVtYmVyO1xuICAgIGZldGNoUG9saWN5PzogRmV0Y2hQb2xpY3lcbiAgfSk6IE9ic2VydmFibGU8Sm9iUHJvZ3Jlc3Npb24+IHtcblxuICAgIGlmIChpc05pbChpZCkpIHRocm93IG5ldyBFcnJvcihgJHt0aGlzLl9sb2dQcmVmaXh9TWlzc2luZyBhcmd1bWVudCAnaWQnYCk7XG4gICAgaWYgKHRoaXMuX2RlYnVnKSBjb25zb2xlLmRlYnVnKGAke3RoaXMuX2xvZ1ByZWZpeH1bV1NdIExpc3RlbmluZyBjaGFuZ2VzIGZvciBqb2IgcHJvZ3Jlc3Npb24geyR7aWR9fS4uLmApO1xuXG4gICAgcmV0dXJuIHRoaXMuZ3JhcGhxbC5zdWJzY3JpYmU8eyBkYXRhOiBhbnkgfT4oe1xuICAgICAgcXVlcnk6IFFVRVJJRVMubGlzdGVuQ2hhbmdlcyxcbiAgICAgIGZldGNoUG9saWN5OiBvcHRpb25zPy5mZXRjaFBvbGljeSxcbiAgICAgIHZhcmlhYmxlczogeyBpZCwgaW50ZXJ2YWw6IHRvTnVtYmVyKG9wdGlvbnM/LmludGVydmFsLCAxMCl9LFxuICAgICAgZXJyb3I6IHtjb2RlOiBTb2NpYWxFcnJvckNvZGVzLlNVQlNDUklCRV9KT0JfUFJPR1JFU1NJT05fRVJST1IsIG1lc3NhZ2U6ICdTT0NJQUwuRVJST1IuU1VCU0NSSUJFX0pPQl9QUk9HUkVTU0lPTl9FUlJPUid9XG4gICAgfSkucGlwZShcbiAgICAgIG1hcCgoe2RhdGF9KSA9PiB7XG4gICAgICAgIGNvbnN0IHByb2dyZXNzaW9uID0gZGF0YSAmJiBKb2JQcm9ncmVzc2lvbi5mcm9tT2JqZWN0KGRhdGEpO1xuICAgICAgICBpZiAocHJvZ3Jlc3Npb24gJiYgdGhpcy5fZGVidWcpIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5fbG9nUHJlZml4fUpvYiBwcm9ncmVzc2lvbiAke2lkfSB1cGRhdGVkIG9uIHNlcnZlcmAsIHByb2dyZXNzaW9uKTtcbiAgICAgICAgcmV0dXJuIHByb2dyZXNzaW9uO1xuICAgICAgfSlcbiAgICApO1xuXG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Optional, Output } from '@angular/core';
|
|
2
|
+
import { APP_JOB_PROGRESSION_SERVICE } from '../job.service';
|
|
3
|
+
import { JobProgression } from '../job.model';
|
|
4
|
+
import { Subscription } from 'rxjs';
|
|
5
|
+
import { arraySize, isNil, toBoolean, toNumber } from '../../../shared/functions';
|
|
6
|
+
import { filter, map } from 'rxjs/operators';
|
|
7
|
+
import { JobProgressionList } from './job-progression.list';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@ionic/angular";
|
|
10
|
+
import * as i2 from "@angular/common";
|
|
11
|
+
import * as i3 from "@angular/material/icon";
|
|
12
|
+
import * as i4 from "@angular/material/button";
|
|
13
|
+
import * as i5 from "@angular/material/progress-spinner";
|
|
14
|
+
import * as i6 from "@angular/material/badge";
|
|
15
|
+
import * as i7 from "@ngx-translate/core";
|
|
16
|
+
export class JobProgressionIcon {
|
|
17
|
+
constructor(jobProgressionService, popoverController, cd) {
|
|
18
|
+
this.jobProgressionService = jobProgressionService;
|
|
19
|
+
this.popoverController = popoverController;
|
|
20
|
+
this.cd = cd;
|
|
21
|
+
this.debug = false;
|
|
22
|
+
this.titleI18n = 'SOCIAL.JOB.PROGRESSION.TITLE';
|
|
23
|
+
this.jobFinished = new EventEmitter();
|
|
24
|
+
this.disabled = true;
|
|
25
|
+
this.color = 'accent';
|
|
26
|
+
this.mode = 'determinate';
|
|
27
|
+
this.value = 0;
|
|
28
|
+
this.jobProgressions = [];
|
|
29
|
+
this._subscriptions = new Subscription();
|
|
30
|
+
this._subscriptionsById = {};
|
|
31
|
+
this._logPrefix = '[job-progression] ';
|
|
32
|
+
}
|
|
33
|
+
ngOnInit() {
|
|
34
|
+
if (isNil(this.jobProgressionService)) {
|
|
35
|
+
console.warn(`${this._logPrefix}No service injected`);
|
|
36
|
+
}
|
|
37
|
+
// parse options
|
|
38
|
+
this.autoHide = toBoolean(this.autoHide, this.options?.autoHide || false);
|
|
39
|
+
this.visible = !this.autoHide;
|
|
40
|
+
this.autoHideDelay = toNumber(this.options?.autoHideDelay, 1000);
|
|
41
|
+
this.autoRemove = toBoolean(this.options?.autoRemove, true);
|
|
42
|
+
this.autoRemoveDelay = toNumber(this.options?.autoRemoveDelay, 1000);
|
|
43
|
+
this._subscriptions.add(this.jobProgressionService.watchAll()
|
|
44
|
+
.subscribe(items => {
|
|
45
|
+
(items || []).forEach(item => this.addJob(item.id, item));
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
addJob(id, job) {
|
|
49
|
+
if (isNil(this.jobProgressionService)) {
|
|
50
|
+
console.warn(`${this._logPrefix}No service injected. Can't add a job`);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
if (!!this.getProgression(id)) {
|
|
54
|
+
console.warn(`${this._logPrefix}Job (id=${id}) already present`);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
if (this.debug) {
|
|
58
|
+
console.debug(`${this._logPrefix}Add job id=${id}`);
|
|
59
|
+
}
|
|
60
|
+
// Adding empty job progression
|
|
61
|
+
let progression = this.getProgression(id);
|
|
62
|
+
if (!progression) {
|
|
63
|
+
progression = job || new JobProgression(id);
|
|
64
|
+
this.jobProgressions.push(progression);
|
|
65
|
+
}
|
|
66
|
+
this.disabled = false;
|
|
67
|
+
const sub = this.jobProgressionService.listenChanges(id)
|
|
68
|
+
.pipe(filter(progression => {
|
|
69
|
+
if (id !== progression.id) {
|
|
70
|
+
console.error(`${this._logPrefix}Job progression (id=${progression.id}) doesn't match expected job (id=${id})`);
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
return true;
|
|
74
|
+
}), map(progression => {
|
|
75
|
+
// Ensure visible
|
|
76
|
+
this.visible = true;
|
|
77
|
+
// Get current progression object
|
|
78
|
+
const currentProgression = this.getProgression(id);
|
|
79
|
+
if (!currentProgression) {
|
|
80
|
+
// add it if absent
|
|
81
|
+
this.jobProgressions.push(progression);
|
|
82
|
+
if (this.debug) {
|
|
83
|
+
console.debug(`${this._logPrefix}Progression added id=${id}`, progression);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
// update current
|
|
88
|
+
Object.assign(currentProgression, progression);
|
|
89
|
+
if (this.debug) {
|
|
90
|
+
console.debug(`${this._logPrefix}Progression updated id=${id}`, progression);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return progression;
|
|
94
|
+
}))
|
|
95
|
+
.subscribe(progression => {
|
|
96
|
+
// update value
|
|
97
|
+
this.updateValue();
|
|
98
|
+
// job finished
|
|
99
|
+
if (progression.total > 0 && progression.current == progression.total) {
|
|
100
|
+
if (this.debug) {
|
|
101
|
+
console.debug(`${this._logPrefix}Finished job id=${progression.id}`);
|
|
102
|
+
}
|
|
103
|
+
// emit event
|
|
104
|
+
this.jobFinished.emit(progression.id);
|
|
105
|
+
if (this.autoRemove) {
|
|
106
|
+
setTimeout(() => {
|
|
107
|
+
this.removeJob(progression.id);
|
|
108
|
+
// If last job
|
|
109
|
+
if (this.autoHide && !this.jobProgressions?.length) {
|
|
110
|
+
setTimeout(async () => {
|
|
111
|
+
this._listPopover?.dismiss();
|
|
112
|
+
this.visible = false;
|
|
113
|
+
this.markForCheck();
|
|
114
|
+
}, this.autoHideDelay);
|
|
115
|
+
}
|
|
116
|
+
}, this.autoRemoveDelay);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
this._subscriptionsById[id] = sub;
|
|
121
|
+
this._subscriptions.add(sub);
|
|
122
|
+
}
|
|
123
|
+
removeJob(id) {
|
|
124
|
+
if (this.debug) {
|
|
125
|
+
console.debug(`${this._logPrefix}Remove job id=${id}`);
|
|
126
|
+
}
|
|
127
|
+
const sub = this._subscriptionsById[id];
|
|
128
|
+
if (sub) {
|
|
129
|
+
this._subscriptions.remove(sub);
|
|
130
|
+
sub.unsubscribe();
|
|
131
|
+
}
|
|
132
|
+
const progression = this.getProgression(id);
|
|
133
|
+
if (progression) {
|
|
134
|
+
this.jobProgressions.splice(this.jobProgressions.indexOf(progression), 1);
|
|
135
|
+
}
|
|
136
|
+
this.updateValue();
|
|
137
|
+
}
|
|
138
|
+
getProgression(id) {
|
|
139
|
+
return this.jobProgressions.find(progression => progression.id === id);
|
|
140
|
+
}
|
|
141
|
+
updateValue() {
|
|
142
|
+
if (this.debug) {
|
|
143
|
+
console.debug(`${this._logPrefix}Updating value`);
|
|
144
|
+
}
|
|
145
|
+
let value = 0;
|
|
146
|
+
const nbProgression = arraySize(this.jobProgressions);
|
|
147
|
+
let allIndeterminate = nbProgression > 0;
|
|
148
|
+
this.jobProgressions.forEach(progression => {
|
|
149
|
+
const indeterminate = progression.total === 0;
|
|
150
|
+
allIndeterminate = allIndeterminate && indeterminate;
|
|
151
|
+
if (!indeterminate) {
|
|
152
|
+
value = value + progression.current * 100 / progression.total;
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
this.value = nbProgression > 0 ? value / nbProgression : 0;
|
|
156
|
+
this.mode = allIndeterminate ? 'indeterminate' : 'determinate';
|
|
157
|
+
if (this.debug) {
|
|
158
|
+
console.debug(`${this._logPrefix}Setting value=${this.value}, mode=${this.mode}`);
|
|
159
|
+
}
|
|
160
|
+
this.markForCheck();
|
|
161
|
+
}
|
|
162
|
+
async showList(event) {
|
|
163
|
+
this._listPopover = await this.popoverController.create({
|
|
164
|
+
component: JobProgressionList,
|
|
165
|
+
componentProps: {
|
|
166
|
+
titleI18n: this.titleI18n,
|
|
167
|
+
jobProgressions: this.jobProgressions
|
|
168
|
+
},
|
|
169
|
+
backdropDismiss: true,
|
|
170
|
+
keyboardClose: true,
|
|
171
|
+
event,
|
|
172
|
+
translucent: true,
|
|
173
|
+
cssClass: 'popover-large'
|
|
174
|
+
});
|
|
175
|
+
await this._listPopover.present();
|
|
176
|
+
await this._listPopover.onDidDismiss();
|
|
177
|
+
this._listPopover = undefined;
|
|
178
|
+
}
|
|
179
|
+
markForCheck() {
|
|
180
|
+
this.cd.markForCheck();
|
|
181
|
+
}
|
|
182
|
+
ngOnDestroy() {
|
|
183
|
+
if (this.debug) {
|
|
184
|
+
console.debug(`${this._logPrefix}Destroying`);
|
|
185
|
+
}
|
|
186
|
+
this._subscriptions.unsubscribe();
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
JobProgressionIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: JobProgressionIcon, deps: [{ token: APP_JOB_PROGRESSION_SERVICE, optional: true }, { token: i1.PopoverController }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
190
|
+
JobProgressionIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.6", type: JobProgressionIcon, selector: "app-job-progression-icon", inputs: { debug: "debug", titleI18n: "titleI18n", options: "options", autoHide: "autoHide" }, outputs: { jobFinished: "jobFinished" }, ngImport: i0, template: "<button\n #button\n mat-icon-button\n [title]=\"titleI18n | translate\"\n [disabled]=\"disabled\"\n *ngIf=\"visible\"\n (click)=\"showList($event)\"\n>\n <mat-icon\n [matBadge]=\"jobProgressions?.length\"\n [matBadgeHidden]=\"!jobProgressions?.length\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n matBadgePosition=\"above after\"\n >{{ disabled || jobProgressions?.length ? 'schedule' : 'task_alt' }}\n </mat-icon>\n <mat-spinner\n #spinner\n *ngIf=\"jobProgressions?.length\"\n class=\"floating-spinner\"\n [color]=\"color\"\n [mode]=\"mode\"\n [value]=\"value\"\n diameter=\"30\"\n strokeWidth=\"3\"\n ></mat-spinner>\n</button>\n\n", styles: [".floating-spinner{position:absolute;top:6px;left:5px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i6.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
191
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: JobProgressionIcon, decorators: [{
|
|
192
|
+
type: Component,
|
|
193
|
+
args: [{ selector: 'app-job-progression-icon', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n #button\n mat-icon-button\n [title]=\"titleI18n | translate\"\n [disabled]=\"disabled\"\n *ngIf=\"visible\"\n (click)=\"showList($event)\"\n>\n <mat-icon\n [matBadge]=\"jobProgressions?.length\"\n [matBadgeHidden]=\"!jobProgressions?.length\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n matBadgePosition=\"above after\"\n >{{ disabled || jobProgressions?.length ? 'schedule' : 'task_alt' }}\n </mat-icon>\n <mat-spinner\n #spinner\n *ngIf=\"jobProgressions?.length\"\n class=\"floating-spinner\"\n [color]=\"color\"\n [mode]=\"mode\"\n [value]=\"value\"\n diameter=\"30\"\n strokeWidth=\"3\"\n ></mat-spinner>\n</button>\n\n", styles: [".floating-spinner{position:absolute;top:6px;left:5px}\n"] }]
|
|
194
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
195
|
+
type: Optional
|
|
196
|
+
}, {
|
|
197
|
+
type: Inject,
|
|
198
|
+
args: [APP_JOB_PROGRESSION_SERVICE]
|
|
199
|
+
}] }, { type: i1.PopoverController }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { debug: [{
|
|
200
|
+
type: Input
|
|
201
|
+
}], titleI18n: [{
|
|
202
|
+
type: Input
|
|
203
|
+
}], options: [{
|
|
204
|
+
type: Input
|
|
205
|
+
}], autoHide: [{
|
|
206
|
+
type: Input
|
|
207
|
+
}], jobFinished: [{
|
|
208
|
+
type: Output
|
|
209
|
+
}] } });
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLXByb2dyZXNzaW9uLmljb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC9qb2IvcHJvZ3Jlc3Npb24vam9iLXByb2dyZXNzaW9uLmljb24udHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC9qb2IvcHJvZ3Jlc3Npb24vam9iLXByb2dyZXNzaW9uLmljb24uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4SixPQUFPLEVBQTBCLDJCQUEyQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRixPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBNkIsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7O0FBZ0J2RixNQUFNLE9BQU8sa0JBQWtCO0lBd0I3QixZQUM2RCxxQkFBNkMsRUFDOUYsaUJBQW9DLEVBQ3BDLEVBQXFCO1FBRjRCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBd0I7UUFDOUYsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQXpCeEIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNkLGNBQVMsR0FBRyw4QkFBOEIsQ0FBQztRQUcxQyxnQkFBVyxHQUFHLElB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LE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztJQUNoQyxDQUFDO0lBRVMsWUFBWTtRQUNwQixJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLFlBQVksQ0FBQyxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDOzsrR0E5TVUsa0JBQWtCLGtCQXlCUCwyQkFBMkI7bUdBekJ0QyxrQkFBa0IsdU1DMUIvQix3ckJBNEJBOzJGREZhLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSwwQkFBMEIsbUJBR25CLHVCQUF1QixDQUFDLE1BQU07OzBCQTJCNUMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQywyQkFBMkI7NEdBdkJ4QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NTcGlubmVyTW9kZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuaW1wb3J0IHsgSUpvYlByb2dyZXNzaW9uU2VydmljZSwgQVBQX0pPQl9QUk9HUkVTU0lPTl9TRVJWSUNFIH0gZnJvbSAnLi4vam9iLnNlcnZpY2UnO1xuaW1wb3J0IHsgSm9iUHJvZ3Jlc3Npb24gfSBmcm9tICcuLi9qb2IubW9kZWwnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPYmplY3RNYXAgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdHlwZXMnO1xuaW1wb3J0IHsgYXJyYXlTaXplLCBpc05pbCwgdG9Cb29sZWFuLCB0b051bWJlciB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQb3BvdmVyQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEpvYlByb2dyZXNzaW9uTGlzdCwgSm9iUHJvZ3Jlc3Npb25MaXN0T3B0aW9ucyB9IGZyb20gJy4vam9iLXByb2dyZXNzaW9uLmxpc3QnO1xuaW1wb3J0IHtVc2VyRXZlbnROb3RpZmljYXRpb25JY29ufSBmcm9tICcuLi8uLi91c2VyLWV2ZW50L25vdGlmaWNhdGlvbi91c2VyLWV2ZW50LW5vdGlmaWNhdGlvbi5pY29uJztcblxuZXhwb3J0IGludGVyZmFjZSBKb2JQcm9ncmVzc2lvbk9wdGlvbnMge1xuICBhdXRvSGlkZTogYm9vbGVhbjtcbiAgYXV0b0hpZGVEZWxheTogbnVtYmVyO1xuICBhdXRvUmVtb3ZlOiBib29sZWFuO1xuICBhdXRvUmVtb3ZlRGVsYXk6IG51bWJlcjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWpvYi1wcm9ncmVzc2lvbi1pY29uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2pvYi1wcm9ncmVzc2lvbi5pY29uLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9qb2ItcHJvZ3Jlc3Npb24uaWNvbi5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEpvYlByb2dyZXNzaW9uSWNvbiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBkZWJ1ZyA9IGZhbHNlO1xuICBASW5wdXQoKSB0aXRsZUkxOG4gPSAnU09DSUFMLkpPQi5QUk9HUkVTU0lPTi5USVRMRSc7XG4gIEBJbnB1dCgpIG9wdGlvbnM6IEpvYlByb2dyZXNzaW9uT3B0aW9ucztcbiAgQElucHV0KCkgYXV0b0hpZGU6IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBqb2JGaW5pc2hlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHZpc2libGU6IGJvb2xlYW47XG4gIGRpc2FibGVkID0gdHJ1ZTtcbiAgY29sb3I6IFRoZW1lUGFsZXR0ZSA9ICdhY2NlbnQnO1xuICBtb2RlOiBQcm9ncmVzc1NwaW5uZXJNb2RlID0gJ2RldGVybWluYXRlJztcbiAgdmFsdWUgPSAwO1xuICBqb2JQcm9ncmVzc2lvbnM6IEpvYlByb2dyZXNzaW9uW10gPSBbXTtcblxuICBwcm90ZWN0ZWQgYXV0b0hpZGVEZWxheTogbnVtYmVyO1xuICBwcm90ZWN0ZWQgYXV0b1JlbW92ZTogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIGF1dG9SZW1vdmVEZWxheTogbnVtYmVyO1xuXG4gIHByaXZhdGUgX2xpc3RQb3BvdmVyOiBIVE1MSW9uUG9wb3ZlckVsZW1lbnQ7XG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnNCeUlkOiBPYmplY3RNYXA8U3Vic2NyaXB0aW9uPiA9IHt9O1xuICBwcml2YXRlIF9sb2dQcmVmaXggPSAnW2pvYi1wcm9ncmVzc2lvbl0gJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFQUF9KT0JfUFJPR1JFU1NJT05fU0VSVklDRSkgcHJvdGVjdGVkIGpvYlByb2dyZXNzaW9uU2VydmljZTogSUpvYlByb2dyZXNzaW9uU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcG9wb3ZlckNvbnRyb2xsZXI6IFBvcG92ZXJDb250cm9sbGVyLFxuICAgIHByb3RlY3RlZCBjZDogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG5cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmIChpc05pbCh0aGlzLmpvYlByb2dyZXNzaW9uU2VydmljZSkpIHtcbiAgICAgIGNvbnNvbGUud2FybihgJHt0aGlzLl9sb2dQcmVmaXh9Tm8gc2VydmljZSBpbmplY3RlZGApO1xuICAgIH1cbiAgICAvLyBwYXJzZSBvcHRpb25zXG4gICAgdGhpcy5hdXRvSGlkZSA9IHRvQm9vbGVhbih0aGlzLmF1dG9IaWRlLCB0aGlzLm9wdGlvbnM/LmF1dG9IaWRlIHx8IGZhbHNlKTtcbiAgICB0aGlzLnZpc2libGUgPSAhdGhpcy5hdXRvSGlkZTtcbiAgICB0aGlzLmF1dG9IaWRlRGVsYXkgPSB0b051bWJlcih0aGlzLm9wdGlvbnM/LmF1dG9IaWRlRGVsYXksIDEwMDApO1xuICAgIHRoaXMuYXV0b1JlbW92ZSA9IHRvQm9vbGVhbih0aGlzLm9wdGlvbnM/LmF1dG9SZW1vdmUsIHRydWUpO1xuICAgIHRoaXMuYXV0b1JlbW92ZURlbGF5ID0gdG9OdW1iZXIodGhpcy5vcHRpb25zPy5hdXRvUmVtb3ZlRGVsYXksIDEwMDApO1xuXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLmpvYlByb2dyZXNzaW9uU2VydmljZS53YXRjaEFsbCgpXG4gICAgICAgIC5zdWJzY3JpYmUoaXRlbXMgPT4ge1xuICAgICAgICAgIChpdGVtcyB8fCBbXSkuZm9yRWFjaChpdGVtID0+IHRoaXMuYWRkSm9iKGl0ZW0uaWQsIGl0ZW0pKTtcbiAgICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgYWRkSm9iKGlkOiBudW1iZXIsIGpvYj86IEpvYlByb2dyZXNzaW9uKSB7XG4gICAgaWYgKGlzTmlsKHRoaXMuam9iUHJvZ3Jlc3Npb25TZXJ2aWNlKSkge1xuICAgICAgY29uc29sZS53YXJuKGAke3RoaXMuX2xvZ1ByZWZpeH1ObyBzZXJ2aWNlIGluamVjdGVkLiBDYW4ndCBhZGQgYSBqb2JgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoISF0aGlzLmdldFByb2dyZXNzaW9uKGlkKSkge1xuICAgICAgY29uc29sZS53YXJuKGAke3RoaXMuX2xvZ1ByZWZpeH1Kb2IgKGlkPSR7aWR9KSBhbHJlYWR5IHByZXNlbnRgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5fbG9nUHJlZml4fUFkZCBqb2IgaWQ9JHtpZH1gKTtcbiAgICB9XG4gICAgLy8gQWRkaW5nIGVtcHR5IGpvYiBwcm9ncmVzc2lvblxuICAgIGxldCBwcm9ncmVzc2lvbiA9IHRoaXMuZ2V0UHJvZ3Jlc3Npb24oaWQpO1xuICAgIGlmICghcHJvZ3Jlc3Npb24pIHtcbiAgICAgIHByb2dyZXNzaW9uID0gam9iIHx8IG5ldyBKb2JQcm9ncmVzc2lvbihpZCk7XG4gICAgICB0aGlzLmpvYlByb2dyZXNzaW9ucy5wdXNoKHByb2dyZXNzaW9uKTtcbiAgICB9XG5cbiAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBzdWIgPSB0aGlzLmpvYlByb2dyZXNzaW9uU2VydmljZS5saXN0ZW5DaGFuZ2VzKGlkKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcihwcm9ncmVzc2lvbiA9PiB7XG4gICAgICAgICAgaWYgKGlkICE9PSBwcm9ncmVzc2lvbi5pZCkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgJHt0aGlzLl9sb2dQcmVmaXh9Sm9iIHByb2dyZXNzaW9uIChpZD0ke3Byb2dyZXNzaW9uLmlkfSkgZG9lc24ndCBtYXRjaCBleHBlY3RlZCBqb2IgKGlkPSR7aWR9KWApO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSksXG4gICAgICAgIG1hcChwcm9ncmVzc2lvbiA9PiB7XG4gICAgICAgICAgLy8gRW5zdXJlIHZpc2libGVcbiAgICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgICAgICAgIC8vIEdldCBjdXJyZW50IHByb2dyZXNzaW9uIG9iamVjdFxuICAgICAgICAgIGNvbnN0IGN1cnJlbnRQcm9ncmVzc2lvbiA9IHRoaXMuZ2V0UHJvZ3Jlc3Npb24oaWQpO1xuICAgICAgICAgIGlmICghY3VycmVudFByb2dyZXNzaW9uKSB7XG4gICAgICAgICAgICAvLyBhZGQgaXQgaWYgYWJzZW50XG4gICAgICAgICAgICB0aGlzLmpvYlByb2dyZXNzaW9ucy5wdXNoKHByb2dyZXNzaW9uKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5fbG9nUHJlZml4fVByb2dyZXNzaW9uIGFkZGVkIGlkPSR7aWR9YCwgcHJvZ3Jlc3Npb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyB1cGRhdGUgY3VycmVudFxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihjdXJyZW50UHJvZ3Jlc3Npb24sIHByb2dyZXNzaW9uKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5fbG9nUHJlZml4fVByb2dyZXNzaW9uIHVwZGF0ZWQgaWQ9JHtpZH1gLCBwcm9ncmVzc2lvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBwcm9ncmVzc2lvbjtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUocHJvZ3Jlc3Npb24gPT4ge1xuICAgICAgICAvLyB1cGRhdGUgdmFsdWVcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSgpO1xuXG4gICAgICAgIC8vIGpvYiBmaW5pc2hlZFxuICAgICAgICBpZiAocHJvZ3Jlc3Npb24udG90YWwgPiAwICYmIHByb2dyZXNzaW9uLmN1cnJlbnQgPT0gcHJvZ3Jlc3Npb24udG90YWwpIHtcbiAgICAgICAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgICAgICAgY29uc29sZS5kZWJ1ZyhgJHt0aGlzLl9sb2dQcmVmaXh9RmluaXNoZWQgam9iIGlkPSR7cHJvZ3Jlc3Npb24uaWR9YCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIGVtaXQgZXZlbnRcbiAgICAgICAgICB0aGlzLmpvYkZpbmlzaGVkLmVtaXQocHJvZ3Jlc3Npb24uaWQpO1xuICAgICAgICAgIGlmICh0aGlzLmF1dG9SZW1vdmUpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnJlbW92ZUpvYihwcm9ncmVzc2lvbi5pZCk7XG4gICAgICAgICAgICAgIC8vIElmIGxhc3Qgam9iXG4gICAgICAgICAgICAgIGlmICh0aGlzLmF1dG9IaWRlICYmICF0aGlzLmpvYlByb2dyZXNzaW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICB0aGlzLl9saXN0UG9wb3Zlcj8uZGlzbWlzcygpO1xuICAgICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgIH0sIHRoaXMuYXV0b0hpZGVEZWxheSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHRoaXMuYXV0b1JlbW92ZURlbGF5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uc0J5SWRbaWRdID0gc3ViO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKHN1Yik7XG4gIH1cblxuICByZW1vdmVKb2IoaWQ6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKGAke3RoaXMuX2xvZ1ByZWZpeH1SZW1vdmUgam9iIGlkPSR7aWR9YCk7XG4gICAgfVxuICAgIGNvbnN0IHN1YiA9IHRoaXMuX3N1YnNjcmlwdGlvbnNCeUlkW2lkXTtcbiAgICBpZiAoc3ViKSB7XG4gICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnJlbW92ZShzdWIpO1xuICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGNvbnN0IHByb2dyZXNzaW9uID0gdGhpcy5nZXRQcm9ncmVzc2lvbihpZCk7XG4gICAgaWYgKHByb2dyZXNzaW9uKSB7XG4gICAgICB0aGlzLmpvYlByb2dyZXNzaW9ucy5zcGxpY2UodGhpcy5qb2JQcm9ncmVzc2lvbnMuaW5kZXhPZihwcm9ncmVzc2lvbiksIDEpO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZVZhbHVlKCk7XG4gIH1cblxuICBnZXRQcm9ncmVzc2lvbihpZDogbnVtYmVyKTogSm9iUHJvZ3Jlc3Npb24gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmpvYlByb2dyZXNzaW9ucy5maW5kKHByb2dyZXNzaW9uID0+IHByb2dyZXNzaW9uLmlkID09PSBpZCk7XG4gIH1cblxuICB1cGRhdGVWYWx1ZSgpIHtcbiAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgY29uc29sZS5kZWJ1ZyhgJHt0aGlzLl9sb2dQcmVmaXh9VXBkYXRpbmcgdmFsdWVgKTtcbiAgICB9XG4gICAgbGV0IHZhbHVlID0gMDtcbiAgICBjb25zdCBuYlByb2dyZXNzaW9uID0gYXJyYXlTaXplKHRoaXMuam9iUHJvZ3Jlc3Npb25zKTtcbiAgICBsZXQgYWxsSW5kZXRlcm1pbmF0ZSA9IG5iUHJvZ3Jlc3Npb24gPiAwO1xuXG4gICAgdGhpcy5qb2JQcm9ncmVzc2lvbnMuZm9yRWFjaChwcm9ncmVzc2lvbiA9PiB7XG4gICAgICBjb25zdCBpbmRldGVybWluYXRlID0gcHJvZ3Jlc3Npb24udG90YWwgPT09IDA7XG4gICAgICBhbGxJbmRldGVybWluYXRlID0gYWxsSW5kZXRlcm1pbmF0ZSAmJiBpbmRldGVybWluYXRlO1xuICAgICAgaWYgKCFpbmRldGVybWluYXRlKSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWUgKyBwcm9ncmVzc2lvbi5jdXJyZW50ICogMTAwIC8gcHJvZ3Jlc3Npb24udG90YWw7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnZhbHVlID0gbmJQcm9ncmVzc2lvbiA+IDAgPyB2YWx1ZSAvIG5iUHJvZ3Jlc3Npb24gOiAwO1xuICAgIHRoaXMubW9kZSA9IGFsbEluZGV0ZXJtaW5hdGUgPyAnaW5kZXRlcm1pbmF0ZScgOiAnZGV0ZXJtaW5hdGUnO1xuICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKGAke3RoaXMuX2xvZ1ByZWZpeH1TZXR0aW5nIHZhbHVlPSR7dGhpcy52YWx1ZX0sIG1vZGU9JHt0aGlzLm1vZGV9YCk7XG4gICAgfVxuXG4gICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGFzeW5jIHNob3dMaXN0KGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuX2xpc3RQb3BvdmVyID0gYXdhaXQgdGhpcy5wb3BvdmVyQ29udHJvbGxlci5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBKb2JQcm9ncmVzc2lvbkxpc3QsXG4gICAgICBjb21wb25lbnRQcm9wczogPEpvYlByb2dyZXNzaW9uTGlzdE9wdGlvbnM+e1xuICAgICAgICB0aXRsZUkxOG46IHRoaXMudGl0bGVJMThuLFxuICAgICAgICBqb2JQcm9ncmVzc2lvbnM6IHRoaXMuam9iUHJvZ3Jlc3Npb25zXG4gICAgICB9LFxuICAgICAgYmFja2Ryb3BEaXNtaXNzOiB0cnVlLFxuICAgICAga2V5Ym9hcmRDbG9zZTogdHJ1ZSxcbiAgICAgIGV2ZW50LFxuICAgICAgdHJhbnNsdWNlbnQ6IHRydWUsXG4gICAgICBjc3NDbGFzczogJ3BvcG92ZXItbGFyZ2UnXG4gICAgfSk7XG4gICAgYXdhaXQgdGhpcy5fbGlzdFBvcG92ZXIucHJlc2VudCgpO1xuICAgIGF3YWl0IHRoaXMuX2xpc3RQb3BvdmVyLm9uRGlkRGlzbWlzcygpO1xuICAgIHRoaXMuX2xpc3RQb3BvdmVyID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJvdGVjdGVkIG1hcmtGb3JDaGVjaygpIHtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoYCR7dGhpcy5fbG9nUHJlZml4fURlc3Ryb3lpbmdgKTtcbiAgICB9XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8YnV0dG9uXG4gICNidXR0b25cbiAgbWF0LWljb24tYnV0dG9uXG4gIFt0aXRsZV09XCJ0aXRsZUkxOG4gfCB0cmFuc2xhdGVcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAqbmdJZj1cInZpc2libGVcIlxuICAoY2xpY2spPVwic2hvd0xpc3QoJGV2ZW50KVwiXG4+XG4gIDxtYXQtaWNvblxuICAgIFttYXRCYWRnZV09XCJqb2JQcm9ncmVzc2lvbnM/Lmxlbmd0aFwiXG4gICAgW21hdEJhZGdlSGlkZGVuXT1cIiFqb2JQcm9ncmVzc2lvbnM/Lmxlbmd0aFwiXG4gICAgbWF0QmFkZ2VDb2xvcj1cImFjY2VudFwiXG4gICAgbWF0QmFkZ2VTaXplPVwic21hbGxcIlxuICAgIG1hdEJhZGdlUG9zaXRpb249XCJhYm92ZSBhZnRlclwiXG4gID57eyBkaXNhYmxlZCB8fCBqb2JQcm9ncmVzc2lvbnM/Lmxlbmd0aCA/ICdzY2hlZHVsZScgOiAndGFza19hbHQnIH19XG4gIDwvbWF0LWljb24+XG4gIDxtYXQtc3Bpbm5lclxuICAgICNzcGlubmVyXG4gICAgKm5nSWY9XCJqb2JQcm9ncmVzc2lvbnM/Lmxlbmd0aFwiXG4gICAgY2xhc3M9XCJmbG9hdGluZy1zcGlubmVyXCJcbiAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgIFttb2RlXT1cIm1vZGVcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgZGlhbWV0ZXI9XCIzMFwiXG4gICAgc3Ryb2tlV2lkdGg9XCIzXCJcbiAgPjwvbWF0LXNwaW5uZXI+XG48L2J1dHRvbj5cblxuIl19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "@ionic/angular";
|
|
5
|
+
import * as i3 from "@ngx-translate/core";
|
|
6
|
+
export class JobProgressionList {
|
|
7
|
+
constructor() {
|
|
8
|
+
}
|
|
9
|
+
ngOnInit() {
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
JobProgressionList.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: JobProgressionList, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
13
|
+
JobProgressionList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.6", type: JobProgressionList, selector: "app-job-progression-list", inputs: { titleI18n: "titleI18n", jobProgressions: "jobProgressions" }, ngImport: i0, template: "<ion-list class=\"ion-list-popover\">\n\n <ion-row class=\"ion-list-header column\">\n <ion-col>\n <ion-label>{{titleI18n | translate}}</ion-label>\n </ion-col>\n </ion-row>\n\n <ion-item *ngIf=\"!jobProgressions?.length\">\n {{'SOCIAL.JOB.PROGRESSION.EMPTY' | translate}}\n </ion-item>\n <ion-item *ngFor=\"let jobProgression of jobProgressions\" class=\"ion-item-job-progression\">\n <ion-grid class=\"ion-no-margin\">\n <ion-row class=\"name\">\n <ion-col>\n {{jobProgression.name}}\n </ion-col>\n </ion-row>\n <ion-row class=\"message\">\n <ion-col>\n {{jobProgression.message}}\n </ion-col>\n </ion-row>\n <ion-row class=\"progress-bar\">\n <ion-col>\n <ion-progress-bar\n [value]=\"jobProgression.total > 0 ? jobProgression.current / jobProgression.total : undefined\"\n [type]=\"jobProgression.total > 0 ? 'determinate' : 'indeterminate'\">\n </ion-progress-bar>\n </ion-col>\n </ion-row>\n </ion-grid>\n </ion-item>\n\n</ion-list>\n", styles: [":host(.popover-viewport){overflow-y:auto;-webkit-user-select:none;user-select:none}.ion-item-job-progression{font-size:.9em}.ion-item-job-progression .message{font-style:italic}.ion-item-job-progression .progress-bar{margin-top:5px;margin-bottom:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i2.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i2.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i2.IonProgressBar, selector: "ion-progress-bar", inputs: ["buffer", "color", "mode", "reversed", "type", "value"] }, { kind: "component", type: i2.IonRow, selector: "ion-row" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: JobProgressionList, decorators: [{
|
|
15
|
+
type: Component,
|
|
16
|
+
args: [{ selector: 'app-job-progression-list', template: "<ion-list class=\"ion-list-popover\">\n\n <ion-row class=\"ion-list-header column\">\n <ion-col>\n <ion-label>{{titleI18n | translate}}</ion-label>\n </ion-col>\n </ion-row>\n\n <ion-item *ngIf=\"!jobProgressions?.length\">\n {{'SOCIAL.JOB.PROGRESSION.EMPTY' | translate}}\n </ion-item>\n <ion-item *ngFor=\"let jobProgression of jobProgressions\" class=\"ion-item-job-progression\">\n <ion-grid class=\"ion-no-margin\">\n <ion-row class=\"name\">\n <ion-col>\n {{jobProgression.name}}\n </ion-col>\n </ion-row>\n <ion-row class=\"message\">\n <ion-col>\n {{jobProgression.message}}\n </ion-col>\n </ion-row>\n <ion-row class=\"progress-bar\">\n <ion-col>\n <ion-progress-bar\n [value]=\"jobProgression.total > 0 ? jobProgression.current / jobProgression.total : undefined\"\n [type]=\"jobProgression.total > 0 ? 'determinate' : 'indeterminate'\">\n </ion-progress-bar>\n </ion-col>\n </ion-row>\n </ion-grid>\n </ion-item>\n\n</ion-list>\n", styles: [":host(.popover-viewport){overflow-y:auto;-webkit-user-select:none;user-select:none}.ion-item-job-progression{font-size:.9em}.ion-item-job-progression .message{font-style:italic}.ion-item-job-progression .progress-bar{margin-top:5px;margin-bottom:5px}\n"] }]
|
|
17
|
+
}], ctorParameters: function () { return []; }, propDecorators: { titleI18n: [{
|
|
18
|
+
type: Input
|
|
19
|
+
}], jobProgressions: [{
|
|
20
|
+
type: Input
|
|
21
|
+
}] } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLXByb2dyZXNzaW9uLmxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC9qb2IvcHJvZ3Jlc3Npb24vam9iLXByb2dyZXNzaW9uLmxpc3QudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC9qb2IvcHJvZ3Jlc3Npb24vam9iLXByb2dyZXNzaW9uLmxpc3QuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFhekQsTUFBTSxPQUFPLGtCQUFrQjtJQUs3QjtJQUNBLENBQUM7SUFFRCxRQUFRO0lBQ1IsQ0FBQzs7K0dBVFUsa0JBQWtCO21HQUFsQixrQkFBa0Isd0lDYi9CLDBrQ0FtQ0E7MkZEdEJhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSwwQkFBMEI7MEVBTTNCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSm9iUHJvZ3Jlc3Npb24gfSBmcm9tICcuLi9qb2IubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEpvYlByb2dyZXNzaW9uTGlzdE9wdGlvbnMge1xuICB0aXRsZUkxOG4/OiBzdHJpbmc7XG4gIGpvYlByb2dyZXNzaW9ucz86IEpvYlByb2dyZXNzaW9uW107XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1qb2ItcHJvZ3Jlc3Npb24tbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9qb2ItcHJvZ3Jlc3Npb24ubGlzdC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vam9iLXByb2dyZXNzaW9uLmxpc3Quc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBKb2JQcm9ncmVzc2lvbkxpc3QgaW1wbGVtZW50cyBPbkluaXQsIEpvYlByb2dyZXNzaW9uTGlzdE9wdGlvbnMge1xuXG4gIEBJbnB1dCgpIHRpdGxlSTE4bjogc3RyaW5nO1xuICBASW5wdXQoKSBqb2JQcm9ncmVzc2lvbnM6IEpvYlByb2dyZXNzaW9uW107XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG59XG4iLCI8aW9uLWxpc3QgY2xhc3M9XCJpb24tbGlzdC1wb3BvdmVyXCI+XG5cbiAgPGlvbi1yb3cgY2xhc3M9XCJpb24tbGlzdC1oZWFkZXIgY29sdW1uXCI+XG4gICAgPGlvbi1jb2w+XG4gICAgICA8aW9uLWxhYmVsPnt7dGl0bGVJMThuIHwgdHJhbnNsYXRlfX08L2lvbi1sYWJlbD5cbiAgICA8L2lvbi1jb2w+XG4gIDwvaW9uLXJvdz5cblxuICA8aW9uLWl0ZW0gKm5nSWY9XCIham9iUHJvZ3Jlc3Npb25zPy5sZW5ndGhcIj5cbiAgICB7eydTT0NJQUwuSk9CLlBST0dSRVNTSU9OLkVNUFRZJyB8IHRyYW5zbGF0ZX19XG4gIDwvaW9uLWl0ZW0+XG4gIDxpb24taXRlbSAqbmdGb3I9XCJsZXQgam9iUHJvZ3Jlc3Npb24gb2Ygam9iUHJvZ3Jlc3Npb25zXCIgY2xhc3M9XCJpb24taXRlbS1qb2ItcHJvZ3Jlc3Npb25cIj5cbiAgICA8aW9uLWdyaWQgY2xhc3M9XCJpb24tbm8tbWFyZ2luXCI+XG4gICAgICA8aW9uLXJvdyBjbGFzcz1cIm5hbWVcIj5cbiAgICAgICAgPGlvbi1jb2w+XG4gICAgICAgICAge3tqb2JQcm9ncmVzc2lvbi5uYW1lfX1cbiAgICAgICAgPC9pb24tY29sPlxuICAgICAgPC9pb24tcm93PlxuICAgICAgPGlvbi1yb3cgY2xhc3M9XCJtZXNzYWdlXCI+XG4gICAgICAgIDxpb24tY29sPlxuICAgICAgICAgIHt7am9iUHJvZ3Jlc3Npb24ubWVzc2FnZX19XG4gICAgICAgIDwvaW9uLWNvbD5cbiAgICAgIDwvaW9uLXJvdz5cbiAgICAgIDxpb24tcm93IGNsYXNzPVwicHJvZ3Jlc3MtYmFyXCI+XG4gICAgICAgIDxpb24tY29sPlxuICAgICAgICAgIDxpb24tcHJvZ3Jlc3MtYmFyXG4gICAgICAgICAgICBbdmFsdWVdPVwiam9iUHJvZ3Jlc3Npb24udG90YWwgPiAwID8gam9iUHJvZ3Jlc3Npb24uY3VycmVudCAvIGpvYlByb2dyZXNzaW9uLnRvdGFsIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICAgIFt0eXBlXT1cImpvYlByb2dyZXNzaW9uLnRvdGFsID4gMCA/ICdkZXRlcm1pbmF0ZScgOiAnaW5kZXRlcm1pbmF0ZSdcIj5cbiAgICAgICAgICA8L2lvbi1wcm9ncmVzcy1iYXI+XG4gICAgICAgIDwvaW9uLWNvbD5cbiAgICAgIDwvaW9uLXJvdz5cbiAgICA8L2lvbi1ncmlkPlxuICA8L2lvbi1pdGVtPlxuXG48L2lvbi1saXN0PlxuIl19
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Component, Inject, ViewChild } from '@angular/core';
|
|
2
|
+
import { JobProgression } from '../job.model';
|
|
3
|
+
import { APP_JOB_PROGRESSION_SERVICE } from '../job.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@ionic/angular";
|
|
6
|
+
import * as i2 from "../progression/job-progression.icon";
|
|
7
|
+
import * as i3 from "../job.service";
|
|
8
|
+
export class JobProgressionTestingPage {
|
|
9
|
+
constructor(jobProgressionService) {
|
|
10
|
+
this.jobProgressionService = jobProgressionService;
|
|
11
|
+
this.jobId = 0;
|
|
12
|
+
this.job = null;
|
|
13
|
+
this.options = {
|
|
14
|
+
autoHide: true
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
incrementJob(value) {
|
|
18
|
+
this.job = this.job || this.createJob();
|
|
19
|
+
this.job.current += value || 0;
|
|
20
|
+
this.job.message = `Fake progression (very long message very long message very long message very long message) ${this.job.current}/100`;
|
|
21
|
+
if (this.job.current > this.job.total) {
|
|
22
|
+
this.jobProgressionService.removeJob(this.job.id);
|
|
23
|
+
this.job.current = 0;
|
|
24
|
+
this.job = null; // Forget the job
|
|
25
|
+
}
|
|
26
|
+
this.jobProgressionIcon.updateValue();
|
|
27
|
+
}
|
|
28
|
+
addJob() {
|
|
29
|
+
this.job = this.createJob();
|
|
30
|
+
}
|
|
31
|
+
createJob() {
|
|
32
|
+
const job = new JobProgression();
|
|
33
|
+
job.id = ++this.jobId;
|
|
34
|
+
job.name = 'test';
|
|
35
|
+
job.current = 0;
|
|
36
|
+
job.total = 100;
|
|
37
|
+
this.jobProgressionService.addJob(job.id, job);
|
|
38
|
+
return job;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
JobProgressionTestingPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: JobProgressionTestingPage, deps: [{ token: APP_JOB_PROGRESSION_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
+
JobProgressionTestingPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.6", type: JobProgressionTestingPage, selector: "job-progression-testing", viewQueries: [{ propertyName: "jobProgressionIcon", first: true, predicate: ["icon"], descendants: true }], ngImport: i0, template: "<ion-toolbar color=\"primary\">\n <ion-title>Job progression</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n\n <app-job-progression-icon #icon [debug]=\"true\" [options]=\"options\" ></app-job-progression-icon>\n\n <p>\n <ion-button (click)=\"incrementJob(10)\">\n +10\n </ion-button>\n <ion-button (click)=\"incrementJob(-10)\">\n -10\n </ion-button>\n </p>\n <p>\n <ion-button (click)=\"addJob()\">Add Job</ion-button>\n </p>\n</ion-content>\n", dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i2.JobProgressionIcon, selector: "app-job-progression-icon", inputs: ["debug", "titleI18n", "options", "autoHide"], outputs: ["jobFinished"] }] });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: JobProgressionTestingPage, decorators: [{
|
|
44
|
+
type: Component,
|
|
45
|
+
args: [{ selector: 'job-progression-testing', template: "<ion-toolbar color=\"primary\">\n <ion-title>Job progression</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n\n <app-job-progression-icon #icon [debug]=\"true\" [options]=\"options\" ></app-job-progression-icon>\n\n <p>\n <ion-button (click)=\"incrementJob(10)\">\n +10\n </ion-button>\n <ion-button (click)=\"incrementJob(-10)\">\n -10\n </ion-button>\n </p>\n <p>\n <ion-button (click)=\"addJob()\">Add Job</ion-button>\n </p>\n</ion-content>\n" }]
|
|
46
|
+
}], ctorParameters: function () { return [{ type: i3.JobProgressionService, decorators: [{
|
|
47
|
+
type: Inject,
|
|
48
|
+
args: [APP_JOB_PROGRESSION_SERVICE]
|
|
49
|
+
}] }]; }, propDecorators: { jobProgressionIcon: [{
|
|
50
|
+
type: ViewChild,
|
|
51
|
+
args: ['icon']
|
|
52
|
+
}] } });
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLXByb2dyZXNzaW9uLnRlc3RpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC9qb2IvdGVzdGluZy9qb2ItcHJvZ3Jlc3Npb24udGVzdGluZy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc29jaWFsL2pvYi90ZXN0aW5nL2pvYi1wcm9ncmVzc2lvbi50ZXN0aW5nLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTNELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFDLDJCQUEyQixFQUF3QixNQUFNLGdCQUFnQixDQUFDOzs7OztBQU1sRixNQUFNLE9BQU8seUJBQXlCO0lBVXBDLFlBQ2lELHFCQUE0QztRQUE1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBUDdGLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDVixRQUFHLEdBQW1CLElBQUksQ0FBQztRQUMzQixZQUFPLEdBQTBCO1lBQy9CLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztJQUlGLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN4QixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsOEZBQThGLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxNQUFNLENBQUE7UUFFdkksSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRTtZQUNyQyxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsaUJBQWlCO1NBQ25DO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEdBQUcsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ2pDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3RCLEdBQUcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1FBQ2xCLEdBQUcsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLEdBQUcsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMvQyxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7O3NIQXZDVSx5QkFBeUIsa0JBVzFCLDJCQUEyQjswR0FYMUIseUJBQXlCLDJLQ1R0QyxtZkFvQkE7MkZEWGEseUJBQXlCO2tCQUpyQyxTQUFTOytCQUNFLHlCQUF5Qjs7MEJBY2hDLE1BQU07MkJBQUMsMkJBQTJCOzRDQVRsQixrQkFBa0I7c0JBQXBDLFNBQVM7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0pvYlByb2dyZXNzaW9uSWNvbiwgSm9iUHJvZ3Jlc3Npb25PcHRpb25zfSBmcm9tICcuLi9wcm9ncmVzc2lvbi9qb2ItcHJvZ3Jlc3Npb24uaWNvbic7XG5pbXBvcnQge0pvYlByb2dyZXNzaW9ufSBmcm9tICcuLi9qb2IubW9kZWwnO1xuaW1wb3J0IHtBUFBfSk9CX1BST0dSRVNTSU9OX1NFUlZJQ0UsIEpvYlByb2dyZXNzaW9uU2VydmljZX0gZnJvbSAnLi4vam9iLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdqb2ItcHJvZ3Jlc3Npb24tdGVzdGluZycsXG4gIHRlbXBsYXRlVXJsOiAnam9iLXByb2dyZXNzaW9uLnRlc3RpbmcuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSm9iUHJvZ3Jlc3Npb25UZXN0aW5nUGFnZSB7XG5cbiAgQFZpZXdDaGlsZCgnaWNvbicpIGpvYlByb2dyZXNzaW9uSWNvbjogSm9iUHJvZ3Jlc3Npb25JY29uO1xuXG4gIGpvYklkID0gMDtcbiAgam9iOiBKb2JQcm9ncmVzc2lvbiA9IG51bGw7XG4gIG9wdGlvbnMgPSA8Sm9iUHJvZ3Jlc3Npb25PcHRpb25zPntcbiAgICBhdXRvSGlkZTogdHJ1ZVxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoQVBQX0pPQl9QUk9HUkVTU0lPTl9TRVJWSUNFKSBwcm90ZWN0ZWQgam9iUHJvZ3Jlc3Npb25TZXJ2aWNlOiBKb2JQcm9ncmVzc2lvblNlcnZpY2UpIHtcbiAgfVxuXG4gIGluY3JlbWVudEpvYih2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5qb2IgPSB0aGlzLmpvYiB8fCB0aGlzLmNyZWF0ZUpvYigpO1xuICAgIHRoaXMuam9iLmN1cnJlbnQgKz0gdmFsdWUgfHwgMDtcbiAgICB0aGlzLmpvYi5tZXNzYWdlID0gYEZha2UgcHJvZ3Jlc3Npb24gKHZlcnkgbG9uZyBtZXNzYWdlIHZlcnkgbG9uZyBtZXNzYWdlIHZlcnkgbG9uZyBtZXNzYWdlIHZlcnkgbG9uZyBtZXNzYWdlKSAke3RoaXMuam9iLmN1cnJlbnR9LzEwMGBcblxuICAgIGlmICh0aGlzLmpvYi5jdXJyZW50ID4gdGhpcy5qb2IudG90YWwpIHtcbiAgICAgIHRoaXMuam9iUHJvZ3Jlc3Npb25TZXJ2aWNlLnJlbW92ZUpvYih0aGlzLmpvYi5pZCk7XG4gICAgICB0aGlzLmpvYi5jdXJyZW50ID0gMDtcbiAgICAgIHRoaXMuam9iID0gbnVsbDsgLy8gRm9yZ2V0IHRoZSBqb2JcbiAgICB9XG4gICAgdGhpcy5qb2JQcm9ncmVzc2lvbkljb24udXBkYXRlVmFsdWUoKTtcbiAgfVxuXG4gIGFkZEpvYigpIHtcbiAgICB0aGlzLmpvYiA9IHRoaXMuY3JlYXRlSm9iKCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUpvYigpOiBKb2JQcm9ncmVzc2lvbiB7XG4gICAgY29uc3Qgam9iID0gbmV3IEpvYlByb2dyZXNzaW9uKCk7XG4gICAgam9iLmlkID0gKyt0aGlzLmpvYklkO1xuICAgIGpvYi5uYW1lID0gJ3Rlc3QnO1xuICAgIGpvYi5jdXJyZW50ID0gMDtcbiAgICBqb2IudG90YWwgPSAxMDA7XG4gICAgdGhpcy5qb2JQcm9ncmVzc2lvblNlcnZpY2UuYWRkSm9iKGpvYi5pZCwgam9iKTtcbiAgICByZXR1cm4gam9iO1xuICB9XG59XG5cbiIsIjxpb24tdG9vbGJhciBjb2xvcj1cInByaW1hcnlcIj5cbiAgPGlvbi10aXRsZT5Kb2IgcHJvZ3Jlc3Npb248L2lvbi10aXRsZT5cbjwvaW9uLXRvb2xiYXI+XG5cbjxpb24tY29udGVudCBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XG5cbiAgPGFwcC1qb2ItcHJvZ3Jlc3Npb24taWNvbiAjaWNvbiBbZGVidWddPVwidHJ1ZVwiIFtvcHRpb25zXT1cIm9wdGlvbnNcIiA+PC9hcHAtam9iLXByb2dyZXNzaW9uLWljb24+XG5cbiAgPHA+XG4gICAgPGlvbi1idXR0b24gKGNsaWNrKT1cImluY3JlbWVudEpvYigxMClcIj5cbiAgICAgICsxMFxuICAgIDwvaW9uLWJ1dHRvbj5cbiAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiaW5jcmVtZW50Sm9iKC0xMClcIj5cbiAgICAgIC0xMFxuICAgIDwvaW9uLWJ1dHRvbj5cbiAgPC9wPlxuICA8cD5cbiAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiYWRkSm9iKClcIj5BZGQgSm9iPC9pb24tYnV0dG9uPlxuICA8L3A+XG48L2lvbi1jb250ZW50PlxuIl19
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, interval } from 'rxjs';
|
|
3
|
+
import { JobProgression } from '../job.model';
|
|
4
|
+
import { map, take } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class JobProgressionTestService {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.jobsSubject = new BehaviorSubject([]);
|
|
9
|
+
}
|
|
10
|
+
addJob(id, job) {
|
|
11
|
+
const exists = this.jobsSubject.value.some(j => j.id === id);
|
|
12
|
+
if (!exists) {
|
|
13
|
+
job = job || new JobProgression(id);
|
|
14
|
+
this.jobsSubject.next([...this.jobsSubject.value, job]);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
removeJob(id) {
|
|
18
|
+
const jobs = this.jobsSubject.value;
|
|
19
|
+
const index = jobs.findIndex(j => j.id === id);
|
|
20
|
+
if (index !== -1) {
|
|
21
|
+
jobs.splice(index, 1);
|
|
22
|
+
this.jobsSubject.next(jobs);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
watchAll() {
|
|
26
|
+
return this.jobsSubject.asObservable();
|
|
27
|
+
}
|
|
28
|
+
listenChanges(id, options) {
|
|
29
|
+
return interval(100).pipe(take(111), map(value => {
|
|
30
|
+
if (value <= 10) {
|
|
31
|
+
return {
|
|
32
|
+
id: id,
|
|
33
|
+
name: `Job #${id}`,
|
|
34
|
+
current: 0,
|
|
35
|
+
total: 0,
|
|
36
|
+
message: `Progression pending`
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
value = value - 10;
|
|
40
|
+
return {
|
|
41
|
+
id: id,
|
|
42
|
+
name: `Job #${id}`,
|
|
43
|
+
current: value,
|
|
44
|
+
total: 100,
|
|
45
|
+
message: `Progression ${value}/100`
|
|
46
|
+
};
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
JobProgressionTestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: JobProgressionTestService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
51
|
+
JobProgressionTestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: JobProgressionTestService });
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: JobProgressionTestService, decorators: [{
|
|
53
|
+
type: Injectable
|
|
54
|
+
}] });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLXByb2dyZXNzaW9uLnRlc3Rpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc29jaWFsL2pvYi90ZXN0aW5nL2pvYi1wcm9ncmVzc2lvbi50ZXN0aW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd6QyxPQUFPLEVBQUMsZUFBZSxFQUFFLFFBQVEsRUFBaUIsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQUd6QyxNQUFNLE9BQU8seUJBQXlCO0lBRHRDO1FBR1UsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBbUIsRUFBRSxDQUFDLENBQUM7S0FpRGpFO0lBL0NDLE1BQU0sQ0FBQyxFQUFVLEVBQUUsR0FBb0I7UUFDckMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsR0FBRyxHQUFHLEdBQUcsSUFBSSxJQUFJLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN6RDtJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsRUFBVTtRQUNsQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMvQyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxhQUFhLENBQUMsRUFBVSxFQUFFLE9BQTBEO1FBRWxGLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUNULEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNWLElBQUksS0FBSyxJQUFJLEVBQUUsRUFBRTtnQkFDZixPQUF1QjtvQkFDckIsRUFBRSxFQUFFLEVBQUU7b0JBQ04sSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFO29CQUNsQixPQUFPLEVBQUUsQ0FBQztvQkFDVixLQUFLLEVBQUUsQ0FBQztvQkFDUixPQUFPLEVBQUUscUJBQXFCO2lCQUMvQixDQUFDO2FBQ0g7WUFDRCxLQUFLLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNuQixPQUF1QjtnQkFDckIsRUFBRSxFQUFFLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFO2dCQUNsQixPQUFPLEVBQUUsS0FBSztnQkFDZCxLQUFLLEVBQUUsR0FBRztnQkFDVixPQUFPLEVBQUUsZUFBZSxLQUFLLE1BQU07YUFDcEMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOztzSEFqRFUseUJBQXlCOzBIQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lKb2JQcm9ncmVzc2lvblNlcnZpY2V9IGZyb20gJy4uL2pvYi5zZXJ2aWNlJztcbmltcG9ydCB7RmV0Y2hQb2xpY3l9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGludGVydmFsLCBPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0pvYlByb2dyZXNzaW9ufSBmcm9tICcuLi9qb2IubW9kZWwnO1xuaW1wb3J0IHttYXAsIHRha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEpvYlByb2dyZXNzaW9uVGVzdFNlcnZpY2UgaW1wbGVtZW50cyBJSm9iUHJvZ3Jlc3Npb25TZXJ2aWNlIHtcblxuICBwcml2YXRlIGpvYnNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxKb2JQcm9ncmVzc2lvbltdPihbXSk7XG5cbiAgYWRkSm9iKGlkOiBudW1iZXIsIGpvYj86IEpvYlByb2dyZXNzaW9uKSB7XG4gICAgY29uc3QgZXhpc3RzID0gdGhpcy5qb2JzU3ViamVjdC52YWx1ZS5zb21lKGogPT4gai5pZCA9PT0gaWQpO1xuICAgIGlmICghZXhpc3RzKSB7XG4gICAgICBqb2IgPSBqb2IgfHwgbmV3IEpvYlByb2dyZXNzaW9uKGlkKTtcbiAgICAgIHRoaXMuam9ic1N1YmplY3QubmV4dChbLi4udGhpcy5qb2JzU3ViamVjdC52YWx1ZSwgam9iXSk7XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlSm9iKGlkOiBudW1iZXIpIHtcbiAgICBjb25zdCBqb2JzID0gdGhpcy5qb2JzU3ViamVjdC52YWx1ZTtcbiAgICBjb25zdCBpbmRleCA9IGpvYnMuZmluZEluZGV4KGogPT4gai5pZCA9PT0gaWQpO1xuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIGpvYnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIHRoaXMuam9ic1N1YmplY3QubmV4dChqb2JzKTtcbiAgICB9XG4gIH1cblxuICB3YXRjaEFsbCgpOiBPYnNlcnZhYmxlPEpvYlByb2dyZXNzaW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5qb2JzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGxpc3RlbkNoYW5nZXMoaWQ6IG51bWJlciwgb3B0aW9ucz86IHsgaW50ZXJ2YWw/OiBudW1iZXI7IGZldGNoUG9saWN5PzogRmV0Y2hQb2xpY3kgfSk6IE9ic2VydmFibGU8Sm9iUHJvZ3Jlc3Npb24+IHtcblxuICAgIHJldHVybiBpbnRlcnZhbCgxMDApLnBpcGUoXG4gICAgICB0YWtlKDExMSksXG4gICAgICBtYXAodmFsdWUgPT4ge1xuICAgICAgICBpZiAodmFsdWUgPD0gMTApIHtcbiAgICAgICAgICByZXR1cm4gPEpvYlByb2dyZXNzaW9uPntcbiAgICAgICAgICAgIGlkOiBpZCxcbiAgICAgICAgICAgIG5hbWU6IGBKb2IgIyR7aWR9YCxcbiAgICAgICAgICAgIGN1cnJlbnQ6IDAsXG4gICAgICAgICAgICB0b3RhbDogMCxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGBQcm9ncmVzc2lvbiBwZW5kaW5nYFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgdmFsdWUgPSB2YWx1ZSAtIDEwO1xuICAgICAgICByZXR1cm4gPEpvYlByb2dyZXNzaW9uPntcbiAgICAgICAgICBpZDogaWQsXG4gICAgICAgICAgbmFtZTogYEpvYiAjJHtpZH1gLFxuICAgICAgICAgIGN1cnJlbnQ6IHZhbHVlLFxuICAgICAgICAgIHRvdGFsOiAxMDAsXG4gICAgICAgICAgbWVzc2FnZTogYFByb2dyZXNzaW9uICR7dmFsdWV9LzEwMGBcbiAgICAgICAgfTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
+
import { JobProgressionTestingPage } from './job-progression.testing';
|
|
5
|
+
import { SharedModule } from '../../../shared/shared.module';
|
|
6
|
+
import { JobModule } from '../job.module';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@ngx-translate/core";
|
|
9
|
+
export class JobTestingModule {
|
|
10
|
+
}
|
|
11
|
+
JobTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: JobTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
JobTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: JobTestingModule, declarations: [JobProgressionTestingPage], imports: [CommonModule, i1.TranslateModule, SharedModule,
|
|
13
|
+
JobModule], exports: [JobProgressionTestingPage] });
|
|
14
|
+
JobTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: JobTestingModule, imports: [CommonModule,
|
|
15
|
+
TranslateModule.forChild(),
|
|
16
|
+
SharedModule,
|
|
17
|
+
JobModule] });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: JobTestingModule, decorators: [{
|
|
19
|
+
type: NgModule,
|
|
20
|
+
args: [{
|
|
21
|
+
imports: [
|
|
22
|
+
CommonModule,
|
|
23
|
+
TranslateModule.forChild(),
|
|
24
|
+
SharedModule,
|
|
25
|
+
JobModule
|
|
26
|
+
],
|
|
27
|
+
declarations: [
|
|
28
|
+
JobProgressionTestingPage
|
|
29
|
+
],
|
|
30
|
+
exports: [
|
|
31
|
+
JobProgressionTestingPage
|
|
32
|
+
]
|
|
33
|
+
}]
|
|
34
|
+
}] });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLnRlc3RpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zb2NpYWwvam9iL3Rlc3Rpbmcvam9iLnRlc3RpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBZ0IxQyxNQUFNLE9BQU8sZ0JBQWdCOzs2R0FBaEIsZ0JBQWdCOzhHQUFoQixnQkFBZ0IsaUJBTnpCLHlCQUF5QixhQU56QixZQUFZLHNCQUVaLFlBQVk7UUFDWixTQUFTLGFBTVQseUJBQXlCOzhHQUdoQixnQkFBZ0IsWUFaekIsWUFBWTtRQUNaLGVBQWUsQ0FBQyxRQUFRLEVBQUU7UUFDMUIsWUFBWTtRQUNaLFNBQVM7MkZBU0EsZ0JBQWdCO2tCQWQ1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWUsQ0FBQyxRQUFRLEVBQUU7d0JBQzFCLFlBQVk7d0JBQ1osU0FBUztxQkFDVjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1oseUJBQXlCO3FCQUMxQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AseUJBQXlCO3FCQUMxQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBKb2JQcm9ncmVzc2lvblRlc3RpbmdQYWdlIH0gZnJvbSAnLi9qb2ItcHJvZ3Jlc3Npb24udGVzdGluZyc7XG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XG5pbXBvcnQgeyBKb2JNb2R1bGUgfSBmcm9tICcuLi9qb2IubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBTaGFyZWRNb2R1bGUsXG4gICAgSm9iTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEpvYlByb2dyZXNzaW9uVGVzdGluZ1BhZ2VcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEpvYlByb2dyZXNzaW9uVGVzdGluZ1BhZ2VcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBKb2JUZXN0aW5nTW9kdWxlIHt9XG4iXX0=
|