@sumaris-net/ngx-components 4.0.0-rc8 → 18.0.0-rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -3
- package/doc/changelog.md +522 -280
- package/esm2022/public_api.mjs +38 -19
- package/esm2022/src/app/admin/admin-routing.module.mjs +10 -17
- package/esm2022/src/app/admin/admin.module.mjs +7 -9
- package/esm2022/src/app/admin/services/filter/person.filter.mjs +3 -3
- package/esm2022/src/app/admin/services/person.service.mjs +31 -31
- package/esm2022/src/app/admin/services/validator/person.validator.mjs +10 -10
- package/esm2022/src/app/admin/users/users.mjs +22 -19
- package/esm2022/src/app/admin/users/users.module.mjs +8 -10
- package/esm2022/src/app/core/about/about.modal.mjs +7 -7
- package/esm2022/src/app/core/about/about.module.mjs +8 -21
- package/esm2022/src/app/core/account/account.module.mjs +28 -18
- package/esm2022/src/app/core/account/account.page.mjs +19 -5
- package/esm2022/src/app/core/account/new-token.form.mjs +106 -0
- package/esm2022/src/app/core/account/new-token.modal.mjs +27 -86
- package/esm2022/src/app/core/account/password/change-password.form.mjs +60 -0
- package/esm2022/src/app/core/account/password/change-password.module.mjs +22 -0
- package/esm2022/src/app/core/account/password/change-password.page.mjs +144 -0
- package/esm2022/src/app/core/account/token.table.mjs +47 -35
- package/esm2022/src/app/core/auth/auth.form.mjs +47 -28
- package/esm2022/src/app/core/auth/auth.modal.mjs +6 -6
- package/esm2022/src/app/core/auth/auth.module.mjs +22 -13
- package/esm2022/src/app/core/auth/reset-password.modal.mjs +77 -0
- package/esm2022/src/app/core/core.module.mjs +28 -61
- package/esm2022/src/app/core/core.testing.module.mjs +34 -20
- package/esm2022/src/app/core/form/array/form-array.mjs +325 -0
- package/esm2022/src/app/core/form/array/testing/form-array-test.module.mjs +23 -0
- package/esm2022/src/app/core/form/array/testing/form-array.test.mjs +94 -0
- package/esm2022/src/app/core/form/buttons/form-buttons-bar.component.mjs +24 -25
- package/esm2022/src/app/core/form/buttons/form-buttons-bar.module.mjs +9 -13
- package/esm2022/src/app/core/form/entity/editor.class.mjs +64 -517
- package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +26 -42
- package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +42 -41
- package/esm2022/src/app/core/form/entity/entity-metadata.component.mjs +5 -5
- package/esm2022/src/app/core/form/entity/entity.module.mjs +8 -14
- package/esm2022/src/app/core/form/entity/tab-editor.class.mjs +194 -0
- package/esm2022/src/app/core/form/form-container.class.mjs +327 -0
- package/esm2022/src/app/core/form/form.class.mjs +39 -56
- package/esm2022/src/app/core/form/form.module.mjs +14 -10
- package/esm2022/src/app/core/form/form.utils.mjs +23 -306
- package/esm2022/src/app/core/form/list/list.form.mjs +16 -14
- package/esm2022/src/app/core/form/list/list.module.mjs +8 -12
- package/esm2022/src/app/core/form/properties/properties.form.mjs +139 -57
- package/esm2022/src/app/core/form/properties/properties.module.mjs +9 -15
- package/esm2022/src/app/core/form/properties/properties.table.mjs +27 -28
- package/esm2022/src/app/core/form/properties/properties.utils.mjs +60 -0
- package/esm2022/src/app/core/form/properties/property.validator.mjs +23 -9
- package/esm2022/src/app/core/form/properties/testing/properties-form.test.mjs +18 -18
- package/esm2022/src/app/core/form/properties/testing/properties-form.testing.module.mjs +8 -24
- package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.mjs +15 -15
- package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +10 -25
- package/esm2022/src/app/core/form/text-popover/text-popover.component.mjs +7 -7
- package/esm2022/src/app/core/form/text-popover/text-popover.module.mjs +9 -13
- package/esm2022/src/app/core/form/username/username.form.mjs +52 -0
- package/esm2022/src/app/core/form/username/username.module.mjs +20 -0
- package/esm2022/src/app/core/graphql/graphql.module.mjs +8 -16
- package/esm2022/src/app/core/graphql/graphql.service.mjs +101 -109
- package/esm2022/src/app/core/graphql/graphql.utils.mjs +12 -11
- package/esm2022/src/app/core/home/home.mjs +81 -52
- package/esm2022/src/app/core/home/home.module.mjs +10 -19
- package/esm2022/src/app/core/icon/icon.component.mjs +5 -5
- package/esm2022/src/app/core/icon/icon.module.mjs +8 -17
- package/esm2022/src/app/core/install/install-upgrade-card.component.mjs +33 -37
- package/esm2022/src/app/core/install/install-upgrade-card.module.mjs +9 -13
- package/esm2022/src/app/core/menu/menu.component.mjs +5 -6
- package/esm2022/src/app/core/menu/menu.model.mjs +21 -18
- package/esm2022/src/app/core/menu/menu.module.mjs +7 -12
- package/esm2022/src/app/core/menu/menu.service.mjs +44 -60
- package/esm2022/src/app/core/menu/sub-menu-tab.directive.mjs +4 -4
- package/esm2022/src/app/core/menu/testing/menu-other.testing.mjs +7 -6
- package/esm2022/src/app/core/menu/testing/menu.testing.mjs +43 -8
- package/esm2022/src/app/core/menu/testing/menu.testing.module.mjs +8 -27
- package/esm2022/src/app/core/offline/update-offline-mode-card.component.mjs +6 -7
- package/esm2022/src/app/core/offline/update-offline-mode-card.module.mjs +9 -13
- package/esm2022/src/app/core/peer/select-peer.modal.mjs +31 -21
- package/esm2022/src/app/core/peer/select-peer.module.mjs +11 -23
- package/esm2022/src/app/core/register/register-confirm.page.mjs +18 -16
- package/esm2022/src/app/core/register/register.form.mjs +7 -7
- package/esm2022/src/app/core/register/register.modal.mjs +6 -6
- package/esm2022/src/app/core/register/register.module.mjs +8 -29
- package/esm2022/src/app/core/services/account.service.mjs +272 -170
- package/esm2022/src/app/core/services/auth-guard.service.mjs +13 -15
- package/esm2022/src/app/core/services/base-entity-service.class.mjs +55 -64
- package/esm2022/src/app/core/services/base-graphql-service.class.mjs +39 -33
- package/esm2022/src/app/core/services/base58.mjs +8 -4
- package/esm2022/src/app/core/services/config/core.config.mjs +88 -37
- package/esm2022/src/app/core/services/config.service.mjs +81 -62
- package/esm2022/src/app/core/services/crypto.service.mjs +11 -11
- package/esm2022/src/app/core/services/errors.mjs +6 -5
- package/esm2022/src/app/core/services/local-settings.service.mjs +58 -44
- package/esm2022/src/app/core/services/model/account.model.mjs +12 -17
- package/esm2022/src/app/core/services/model/config.model.mjs +7 -7
- package/esm2022/src/app/core/services/model/department.model.mjs +3 -2
- package/esm2022/src/app/core/services/model/entity.decorators.mjs +6 -6
- package/esm2022/src/app/core/services/model/entity.model.mjs +27 -31
- package/esm2022/src/app/core/services/model/filter.model.mjs +12 -15
- package/esm2022/src/app/core/services/model/history.model.mjs +1 -1
- package/esm2022/src/app/core/services/model/model.enum.mjs +2 -2
- package/esm2022/src/app/core/services/model/peer.model.mjs +19 -9
- package/esm2022/src/app/core/services/model/person.model.mjs +26 -22
- package/esm2022/src/app/core/services/model/referential.model.mjs +36 -23
- package/esm2022/src/app/core/services/model/settings.model.mjs +2 -1
- package/esm2022/src/app/core/services/model/token.model.mjs +7 -3
- package/esm2022/src/app/core/services/model/tree-item-entity.model.mjs +3 -7
- package/esm2022/src/app/core/services/network.service.mjs +99 -76
- package/esm2022/src/app/core/services/network.types.mjs +1 -1
- package/esm2022/src/app/core/services/network.utils.mjs +3 -3
- package/esm2022/src/app/core/services/pipes/account.pipes.mjs +11 -11
- package/esm2022/src/app/core/services/pipes/department-to-string.pipe.mjs +6 -6
- package/esm2022/src/app/core/services/pipes/person-to-string.pipe.mjs +9 -9
- package/esm2022/src/app/core/services/pipes/pipes.module.mjs +54 -0
- package/esm2022/src/app/core/services/pipes/referential-to-string.pipe.mjs +21 -0
- package/esm2022/src/app/core/services/pipes/usage-mode.pipes.mjs +11 -11
- package/esm2022/src/app/core/services/platform.service.mjs +102 -69
- package/esm2022/src/app/core/services/storage/entities-storage.service.mjs +32 -39
- package/esm2022/src/app/core/services/storage/entity-store.class.mjs +36 -45
- package/esm2022/src/app/core/services/testing/referential-filter.model.mjs +1 -1
- package/esm2022/src/app/core/services/testing/referential.validator.mjs +14 -14
- package/esm2022/src/app/core/services/validator/account.validator.mjs +5 -5
- package/esm2022/src/app/core/services/validator/base.validator.class.mjs +5 -5
- package/esm2022/src/app/core/services/validator/local-settings.validator.mjs +34 -20
- package/esm2022/src/app/core/services/validator/user-settings.validator.mjs +5 -5
- package/esm2022/src/app/core/services/validator/user-token.validator.mjs +12 -9
- package/esm2022/src/app/core/settings/settings.module.mjs +9 -21
- package/esm2022/src/app/core/settings/settings.page.mjs +76 -63
- package/esm2022/src/app/core/table/async-table.class.mjs +219 -201
- package/esm2022/src/app/core/table/column/actions-column.component.mjs +127 -0
- package/esm2022/src/app/core/table/column/nav-actions-column.component.mjs +117 -0
- package/esm2022/src/app/core/table/column/row-field.component.mjs +116 -0
- package/esm2022/src/app/core/table/entities-async-table-datasource.class.mjs +31 -33
- package/esm2022/src/app/core/table/entities-table-datasource.class.mjs +36 -36
- package/esm2022/src/app/core/table/memory-table.class.mjs +5 -5
- package/esm2022/src/app/core/table/table-select-columns.component.mjs +8 -8
- package/esm2022/src/app/core/table/table.class.mjs +193 -152
- package/esm2022/src/app/core/table/table.model.mjs +1 -1
- package/esm2022/src/app/core/table/table.module.mjs +35 -24
- package/esm2022/src/app/core/table/table.pipes.mjs +77 -0
- package/esm2022/src/app/core/table/table.utils.mjs +2 -4
- package/esm2022/src/app/core/table/testing/table-validator.service.mjs +9 -5
- package/esm2022/src/app/core/table/testing/table.testing.mjs +116 -78
- package/esm2022/src/app/core/table/testing/table.testing.module.mjs +8 -33
- package/esm2022/src/app/core/table/testing/table2-validator.service.mjs +4 -4
- package/esm2022/src/app/core/table/testing/table2.testing.mjs +68 -45
- package/esm2022/src/app/shared/alerts.mjs +49 -45
- package/esm2022/src/app/shared/audio/audio.mjs +25 -27
- package/esm2022/src/app/shared/audio/audio.testing.mjs +5 -5
- package/esm2022/src/app/shared/audio/audio.testing.module.mjs +10 -25
- package/esm2022/src/app/shared/capacitor/keyboard.mjs +5 -5
- package/esm2022/src/app/shared/capacitor/plugins.mjs +1 -1
- package/esm2022/src/app/shared/constants.mjs +9 -4
- package/esm2022/src/app/shared/dates.mjs +18 -16
- package/esm2022/src/app/shared/debug/debug-service.class.mjs +1 -1
- package/esm2022/src/app/shared/debug/debug.component.mjs +5 -5
- package/esm2022/src/app/shared/debug/debug.module.mjs +8 -29
- package/esm2022/src/app/shared/directives/autofocus.directive.mjs +8 -15
- package/esm2022/src/app/shared/directives/autotitle.directive.mjs +4 -4
- package/esm2022/src/app/shared/directives/directives.module.mjs +8 -29
- package/esm2022/src/app/shared/directives/drag-and-drop.directive.mjs +4 -4
- package/esm2022/src/app/shared/directives/ng-var.directive.mjs +4 -4
- package/esm2022/src/app/shared/directives/resizable/resizable.component.mjs +4 -4
- package/esm2022/src/app/shared/directives/resizable/resizable.directive.mjs +4 -4
- package/esm2022/src/app/shared/directives/resizable/resizable.module.mjs +4 -4
- package/esm2022/src/app/shared/events.mjs +6 -8
- package/esm2022/src/app/shared/file/csv.utils.mjs +38 -18
- package/esm2022/src/app/shared/file/file.service.mjs +11 -15
- package/esm2022/src/app/shared/file/file.utils.mjs +13 -11
- package/esm2022/src/app/shared/file/images.utils.mjs +29 -4
- package/esm2022/src/app/shared/file/json.utils.mjs +11 -4
- package/esm2022/src/app/shared/file/uri.utils.mjs +1 -1
- package/esm2022/src/app/shared/focusable.mjs +1 -1
- package/esm2022/src/app/shared/form/field.component.mjs +69 -43
- package/esm2022/src/app/shared/form/field.model.mjs +4 -4
- package/esm2022/src/app/shared/form/loading-spinner.mjs +5 -5
- package/esm2022/src/app/shared/forms.mjs +116 -43
- package/esm2022/src/app/shared/functions.mjs +139 -71
- package/esm2022/src/app/shared/geolocation/geolocation.utils.mjs +14 -14
- package/esm2022/src/app/shared/gesture/gesture-config.mjs +10 -10
- package/esm2022/src/app/shared/gesture/hammer.utils.mjs +1 -1
- package/esm2022/src/app/shared/graph/colors.utils.mjs +14 -18
- package/esm2022/src/app/shared/graph/graph-colors.mjs +23 -29
- package/esm2022/src/app/shared/guard/component-dirty.guard.mjs +4 -4
- package/esm2022/src/app/shared/help/help.modal.mjs +6 -6
- package/esm2022/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +5 -5
- package/esm2022/src/app/shared/hotkeys/hotkeys.service.mjs +44 -17
- package/esm2022/src/app/shared/hotkeys/shared-hotkeys.module.mjs +9 -27
- package/esm2022/src/app/shared/http/http.utils.mjs +15 -11
- package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +27 -27
- package/esm2022/src/app/shared/image/gallery/image-gallery.module.mjs +13 -10
- package/esm2022/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +1 -1
- package/esm2022/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +14 -17
- package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.mjs +9 -13
- package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +14 -11
- package/esm2022/src/app/shared/image/image.model.mjs +1 -1
- package/esm2022/src/app/shared/image/image.module.mjs +8 -13
- package/esm2022/src/app/shared/image/image.service.mjs +14 -12
- package/esm2022/src/app/shared/inputs.mjs +52 -20
- package/esm2022/src/app/shared/interceptors/progess.interceptor.mjs +2 -3
- package/esm2022/src/app/shared/logging/log-level.model.mjs +1 -1
- package/esm2022/src/app/shared/logging/logger.model.mjs +2 -2
- package/esm2022/src/app/shared/logging/logging-service.class.mjs +17 -20
- package/esm2022/src/app/shared/logging/logging-service.module.mjs +6 -6
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +7 -10
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +348 -238
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +13 -16
- package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +5 -4
- package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +51 -37
- package/esm2022/src/app/shared/material/badge/badge.directive.mjs +99 -57
- package/esm2022/src/app/shared/material/badge/badge.module.mjs +8 -20
- package/esm2022/src/app/shared/material/badge/badge.test.mjs +5 -5
- package/esm2022/src/app/shared/material/boolean/boolean.module.mjs +19 -20
- package/esm2022/src/app/shared/material/boolean/material.boolean.mjs +209 -104
- package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +15 -8
- package/esm2022/src/app/shared/material/chips/chips.module.mjs +12 -13
- package/esm2022/src/app/shared/material/chips/material.chips.mjs +228 -168
- package/esm2022/src/app/shared/material/chips/testing/chips.test.mjs +20 -21
- package/esm2022/src/app/shared/material/datetime/datetime.module.mjs +12 -27
- package/esm2022/src/app/shared/material/datetime/material.date.mjs +167 -92
- package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +128 -77
- package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +297 -165
- package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +34 -30
- package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +31 -27
- package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +26 -23
- package/esm2022/src/app/shared/material/duration/duration.module.mjs +11 -16
- package/esm2022/src/app/shared/material/duration/duration.utils.mjs +3 -6
- package/esm2022/src/app/shared/material/duration/material.duration.mjs +35 -34
- package/esm2022/src/app/shared/material/duration/testing/mat-duration.test.mjs +23 -22
- package/esm2022/src/app/shared/material/latlong/latlong.utils.mjs +217 -170
- package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +182 -241
- package/esm2022/src/app/shared/material/latlong/material.latlong.module.mjs +10 -15
- package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +19 -14
- package/esm2022/src/app/shared/material/material.animations.mjs +22 -22
- package/esm2022/src/app/shared/material/material.config.mjs +3 -0
- package/esm2022/src/app/shared/material/material.module.mjs +16 -16
- package/esm2022/src/app/shared/material/material.testing.module.mjs +50 -37
- package/esm2022/src/app/shared/material/paginator/material.paginator-i18n.mjs +12 -9
- package/esm2022/src/app/shared/material/stepper/material.stepper-i18n.mjs +4 -4
- package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +26 -19
- package/esm2022/src/app/shared/material/swipe/swipe.module.mjs +7 -11
- package/esm2022/src/app/shared/material/swipe/testing/swipe.test.mjs +8 -8
- package/esm2022/src/app/shared/material/testing/common.test.mjs +30 -24
- package/esm2022/src/app/shared/material/text/testing/text-form.testing.mjs +30 -19
- package/esm2022/src/app/shared/material/text/text-form.component.mjs +128 -21
- package/esm2022/src/app/shared/material/text/text-form.module.mjs +8 -8
- package/esm2022/src/app/shared/modules.mjs +1 -1
- package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +118 -37
- package/esm2022/src/app/shared/named-filter/named-filter.model.mjs +1 -1
- package/esm2022/src/app/shared/named-filter/named-filter.module.mjs +5 -5
- package/esm2022/src/app/shared/named-filter/named-filter.service.mjs +8 -8
- package/esm2022/src/app/shared/named-filter/testing/named-filter-selector.testing.mjs +74 -0
- package/esm2022/src/app/shared/named-filter/testing/named-filter.testing.module.mjs +28 -0
- package/esm2022/src/app/shared/observables.mjs +14 -18
- package/esm2022/src/app/shared/pipes/arrays.pipe.mjs +53 -38
- package/esm2022/src/app/shared/pipes/badge.pipes.mjs +24 -0
- package/esm2022/src/app/shared/pipes/colors.pipe.mjs +8 -6
- package/esm2022/src/app/shared/pipes/date-diff-duration.pipe.mjs +8 -10
- package/esm2022/src/app/shared/pipes/date-format.pipe.mjs +15 -15
- package/esm2022/src/app/shared/pipes/date-from-now.pipe.mjs +6 -6
- package/esm2022/src/app/shared/pipes/duration.pipe.mjs +6 -6
- package/esm2022/src/app/shared/pipes/file-size.pipe.mjs +6 -13
- package/esm2022/src/app/shared/pipes/form.pipes.mjs +72 -47
- package/esm2022/src/app/shared/pipes/highlight.pipe.mjs +15 -15
- package/esm2022/src/app/shared/pipes/html.pipes.mjs +52 -0
- package/esm2022/src/app/shared/pipes/latlong-format.pipe.mjs +14 -14
- package/esm2022/src/app/shared/pipes/maps.pipe.mjs +17 -17
- package/esm2022/src/app/shared/pipes/maskito.pipe.mjs +37 -88
- package/esm2022/src/app/shared/pipes/math.pipes.mjs +16 -16
- package/esm2022/src/app/shared/pipes/ng-init.pipe.mjs +5 -5
- package/esm2022/src/app/shared/pipes/number-format.pipe.mjs +6 -6
- package/esm2022/src/app/shared/pipes/pipes.module.mjs +117 -137
- package/esm2022/src/app/shared/pipes/property.pipes.mjs +86 -47
- package/esm2022/src/app/shared/pipes/selection.pipes.mjs +179 -0
- package/esm2022/src/app/shared/pipes/string.pipes.mjs +50 -49
- package/esm2022/src/app/shared/pipes/translate-context.pipe.mjs +11 -11
- package/esm2022/src/app/shared/pipes/types.pipes.mjs +33 -17
- package/esm2022/src/app/shared/platforms.mjs +7 -5
- package/esm2022/src/app/shared/rx-state.module.mjs +7 -11
- package/esm2022/src/app/shared/services/entity-service.class.mjs +2 -2
- package/esm2022/src/app/shared/services/job.utils.mjs +7 -7
- package/esm2022/src/app/shared/services/memory-entity-service.class.mjs +43 -41
- package/esm2022/src/app/shared/services/progress-bar.service.mjs +4 -4
- package/esm2022/src/app/shared/services/startable-observable-service.class.mjs +11 -14
- package/esm2022/src/app/shared/services/startable-service.class.mjs +11 -17
- package/esm2022/src/app/shared/services/translate-context.service.mjs +18 -15
- package/esm2022/src/app/shared/services/validator-service.class.mjs +1 -1
- package/esm2022/src/app/shared/services.mjs +12 -12
- package/esm2022/src/app/shared/shared-routing.module.mjs +19 -18
- package/esm2022/src/app/shared/shared.module.mjs +29 -28
- package/esm2022/src/app/shared/shared.testing.module.mjs +18 -10
- package/esm2022/src/app/shared/storage/storage-explorer.component.mjs +39 -46
- package/esm2022/src/app/shared/storage/storage-explorer.module.mjs +8 -12
- package/esm2022/src/app/shared/storage/storage-explorer.testing-routing.module.mjs +9 -17
- package/esm2022/src/app/shared/storage/storage-explorer.testing.module.mjs +10 -18
- package/esm2022/src/app/shared/storage/storage.service.mjs +4 -4
- package/esm2022/src/app/shared/storage/storage.utils.mjs +2 -2
- package/esm2022/src/app/shared/testing/maskito.test.mjs +41 -0
- package/esm2022/src/app/shared/testing/observable.test.mjs +11 -13
- package/esm2022/src/app/shared/testing/tests.page.mjs +6 -6
- package/esm2022/src/app/shared/toast/toast.testing.mjs +11 -11
- package/esm2022/src/app/shared/toast/toast.testing.module.mjs +10 -25
- package/esm2022/src/app/shared/toast/toasts.mjs +9 -9
- package/esm2022/src/app/shared/toolbar/modal-toolbar.mjs +10 -8
- package/esm2022/src/app/shared/toolbar/toolbar.mjs +31 -32
- package/esm2022/src/app/shared/toolbar/toolbar.module.mjs +8 -39
- package/esm2022/src/app/shared/types.mjs +1 -1
- package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.mjs +12 -12
- package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +10 -25
- package/esm2022/src/app/shared/upload-file/upload-file-popover.component.mjs +7 -8
- package/esm2022/src/app/shared/upload-file/upload-file.component.mjs +21 -19
- package/esm2022/src/app/shared/upload-file/upload-file.model.mjs +2 -3
- package/esm2022/src/app/shared/validator/form-error-adapter.class.mjs +64 -56
- package/esm2022/src/app/shared/validator/validators.mjs +60 -39
- package/esm2022/src/app/shared/version/versions.mjs +2 -2
- package/esm2022/src/app/social/job/job.module.mjs +8 -27
- package/esm2022/src/app/social/job/progression/job-progression.component.mjs +9 -9
- package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +49 -46
- package/esm2022/src/app/social/job/progression/job-progression.list.mjs +10 -13
- package/esm2022/src/app/social/job/progression/job-progression.model.mjs +1 -1
- package/esm2022/src/app/social/job/progression/job-progression.service.mjs +39 -21
- package/esm2022/src/app/social/job/testing/job-progression.testing.mjs +6 -11
- package/esm2022/src/app/social/job/testing/job-progression.testing.service.mjs +11 -30
- package/esm2022/src/app/social/job/testing/job.testing.module.mjs +8 -21
- package/esm2022/src/app/social/message/message.form.mjs +5 -5
- package/esm2022/src/app/social/message/message.modal.mjs +8 -8
- package/esm2022/src/app/social/message/message.model.mjs +8 -8
- package/esm2022/src/app/social/message/message.module.mjs +4 -4
- package/esm2022/src/app/social/message/message.service.mjs +7 -7
- package/esm2022/src/app/social/social.errors.mjs +2 -2
- package/esm2022/src/app/social/social.module.mjs +7 -32
- package/esm2022/src/app/social/social.testing.module.mjs +9 -20
- package/esm2022/src/app/social/user-event/notification/user-event-notification.icon.mjs +27 -23
- package/esm2022/src/app/social/user-event/notification/user-event-notification.list.mjs +19 -22
- package/esm2022/src/app/social/user-event/testing/user-event.testing.mjs +47 -23
- package/esm2022/src/app/social/user-event/testing/user-event.testing.model.mjs +8 -8
- package/esm2022/src/app/social/user-event/testing/user-event.testing.module.mjs +8 -21
- package/esm2022/src/app/social/user-event/testing/user-event.testing.service.mjs +27 -15
- package/esm2022/src/app/social/user-event/user-event.model.mjs +1 -1
- package/esm2022/src/app/social/user-event/user-event.module.mjs +8 -28
- package/esm2022/src/app/social/user-event/user-event.service.mjs +61 -64
- package/esm2022/src/environments/environment.class.mjs +9 -1
- package/esm2022/src/environments/environment.loader.mjs +5 -11
- package/esm2022/src/environments/environment.mjs +19 -11
- package/fesm2022/sumaris-net.ngx-components.mjs +16117 -14592
- package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +36 -18
- package/public_api.d.ts +30 -22
- package/src/app/admin/services/filter/person.filter.d.ts +1 -1
- package/src/app/admin/users/users.d.ts +5 -6
- package/src/app/core/account/account.module.d.ts +10 -8
- package/src/app/core/account/account.page.d.ts +25 -15
- package/src/app/core/account/new-token.form.d.ts +29 -0
- package/src/app/core/account/new-token.modal.d.ts +9 -21
- package/src/app/core/account/password/change-password.form.d.ts +19 -0
- package/src/app/core/account/password/change-password.module.d.ts +11 -0
- package/src/app/core/account/password/change-password.page.d.ts +36 -0
- package/src/app/core/account/token.table.d.ts +7 -5
- package/src/app/core/auth/auth.form.d.ts +11 -9
- package/src/app/core/auth/auth.module.d.ts +6 -4
- package/src/app/core/auth/reset-password.modal.d.ts +26 -0
- package/src/app/core/core.module.d.ts +21 -24
- package/src/app/core/core.testing.module.d.ts +2 -1
- package/src/app/core/form/array/form-array.d.ts +136 -0
- package/src/app/core/form/array/testing/form-array-test.module.d.ts +12 -0
- package/src/app/core/form/array/testing/form-array.test.d.ts +26 -0
- package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +2 -3
- package/src/app/core/form/entity/editor.class.d.ts +19 -179
- package/src/app/core/form/entity/entity-editor-modal.class.d.ts +10 -13
- package/src/app/core/form/entity/entity-editor.class.d.ts +12 -17
- package/src/app/core/form/entity/entity-metadata.component.d.ts +1 -1
- package/src/app/core/form/entity/tab-editor.class.d.ts +70 -0
- package/src/app/core/form/form-container.class.d.ts +126 -0
- package/src/app/core/form/form.class.d.ts +13 -26
- package/src/app/core/form/form.module.d.ts +2 -1
- package/src/app/core/form/form.utils.d.ts +60 -145
- package/src/app/core/form/list/list.form.d.ts +2 -2
- package/src/app/core/form/properties/properties.form.d.ts +34 -12
- package/src/app/core/form/properties/properties.table.d.ts +2 -2
- package/src/app/core/form/properties/properties.utils.d.ts +27 -0
- package/src/app/core/form/properties/property.validator.d.ts +9 -3
- package/src/app/core/form/text-popover/testing/text-popover.testing.d.ts +3 -1
- package/src/app/core/form/username/username.form.d.ts +19 -0
- package/src/app/core/form/username/username.module.d.ts +9 -0
- package/src/app/core/graphql/graphql.module.d.ts +1 -2
- package/src/app/core/graphql/graphql.service.d.ts +2 -4
- package/src/app/core/home/home.d.ts +26 -6
- package/src/app/core/menu/testing/menu-other.testing.d.ts +1 -1
- package/src/app/core/menu/testing/menu.testing.d.ts +11 -3
- package/src/app/core/peer/select-peer.modal.d.ts +13 -7
- package/src/app/core/peer/select-peer.module.d.ts +3 -4
- package/src/app/core/services/account.service.d.ts +9 -0
- package/src/app/core/services/base-entity-service.class.d.ts +1 -1
- package/src/app/core/services/config/core.config.d.ts +12 -1
- package/src/app/core/services/config.service.d.ts +4 -3
- package/src/app/core/services/errors.d.ts +11 -0
- package/src/app/core/services/local-settings.service.d.ts +8 -4
- package/src/app/core/services/model/entity.model.d.ts +6 -5
- package/src/app/core/services/model/filter.model.d.ts +1 -1
- package/src/app/core/services/model/peer.model.d.ts +1 -0
- package/src/app/core/services/model/person.model.d.ts +6 -2
- package/src/app/core/services/model/referential.model.d.ts +8 -3
- package/src/app/core/services/model/settings.model.d.ts +4 -2
- package/src/app/core/services/model/token.model.d.ts +1 -0
- package/src/app/core/services/model/tree-item-entity.model.d.ts +1 -1
- package/src/app/core/services/network.service.d.ts +11 -7
- package/src/app/core/services/pipes/department-to-string.pipe.d.ts +1 -1
- package/src/app/core/services/pipes/person-to-string.pipe.d.ts +3 -1
- package/src/app/core/services/pipes/pipes.module.d.ts +11 -0
- package/src/app/core/services/pipes/referential-to-string.pipe.d.ts +13 -0
- package/src/app/core/services/platform.service.d.ts +8 -3
- package/src/app/core/services/testing/referential-filter.model.d.ts +1 -1
- package/src/app/core/services/validator/local-settings.validator.d.ts +6 -2
- package/src/app/core/settings/settings.module.d.ts +2 -1
- package/src/app/core/settings/settings.page.d.ts +34 -21
- package/src/app/core/table/async-table.class.d.ts +22 -17
- package/src/app/core/table/column/actions-column.component.d.ts +59 -0
- package/src/app/core/table/column/nav-actions-column.component.d.ts +46 -0
- package/src/app/core/table/column/row-field.component.d.ts +40 -0
- package/src/app/core/table/entities-async-table-datasource.class.d.ts +1 -0
- package/src/app/core/table/entities-table-datasource.class.d.ts +1 -0
- package/src/app/core/table/table.class.d.ts +14 -11
- package/src/app/core/table/table.module.d.ts +8 -4
- package/src/app/core/table/table.pipes.d.ts +28 -0
- package/src/app/core/table/testing/table.testing.d.ts +12 -13
- package/src/app/core/table/testing/table2.testing.d.ts +13 -10
- package/src/app/shared/alerts.d.ts +4 -2
- package/src/app/shared/constants.d.ts +5 -0
- package/src/app/shared/dates.d.ts +12 -5
- package/src/app/shared/directives/autofocus.directive.d.ts +0 -1
- package/src/app/shared/events.d.ts +1 -1
- package/src/app/shared/file/csv.utils.d.ts +5 -0
- package/src/app/shared/file/images.utils.d.ts +17 -0
- package/src/app/shared/file/json.utils.d.ts +3 -0
- package/src/app/shared/form/field.component.d.ts +6 -3
- package/src/app/shared/forms.d.ts +32 -0
- package/src/app/shared/functions.d.ts +27 -8
- package/src/app/shared/graph/graph-colors.d.ts +1 -1
- package/src/app/shared/guard/component-dirty.guard.d.ts +1 -6
- package/src/app/shared/hotkeys/hotkeys.service.d.ts +17 -3
- package/src/app/shared/http/http.utils.d.ts +1 -0
- package/src/app/shared/image/gallery/image-gallery.component.d.ts +10 -10
- package/src/app/shared/image/gallery/image-gallery.module.d.ts +2 -1
- package/src/app/shared/image/gallery/testing/gallery.service.testing.d.ts +2 -2
- package/src/app/shared/image/gallery/testing/gallery.testing.module.d.ts +2 -1
- package/src/app/shared/inputs.d.ts +8 -6
- package/src/app/shared/material/autocomplete/material.autocomplete.config.d.ts +20 -1
- package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +56 -16
- package/src/app/shared/material/autocomplete/material.autocomplete.module.d.ts +1 -1
- package/src/app/shared/material/autocomplete/material.autocomplete.utils.d.ts +2 -1
- package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +3 -2
- package/src/app/shared/material/badge/badge.directive.d.ts +10 -4
- package/src/app/shared/material/boolean/boolean.module.d.ts +15 -14
- package/src/app/shared/material/boolean/material.boolean.d.ts +51 -25
- package/src/app/shared/material/boolean/testing/boolean.test.page.d.ts +1 -0
- package/src/app/shared/material/chips/chips.module.d.ts +2 -1
- package/src/app/shared/material/chips/material.chips.d.ts +46 -21
- package/src/app/shared/material/chips/testing/chips.test.d.ts +1 -0
- package/src/app/shared/material/datetime/datetime.module.d.ts +1 -1
- package/src/app/shared/material/datetime/material.date.d.ts +33 -18
- package/src/app/shared/material/datetime/material.dateshort.d.ts +29 -16
- package/src/app/shared/material/datetime/material.datetime.d.ts +41 -28
- package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +3 -3
- package/src/app/shared/material/duration/duration.module.d.ts +1 -1
- package/src/app/shared/material/duration/material.duration.d.ts +1 -1
- package/src/app/shared/material/latlong/latlong.utils.d.ts +9 -1
- package/src/app/shared/material/latlong/material.latlong.d.ts +29 -32
- package/src/app/shared/material/latlong/material.latlong.module.d.ts +1 -1
- package/src/app/shared/material/latlong/testing/latlong.test.d.ts +5 -1
- package/src/app/shared/material/material.config.d.ts +3 -0
- package/src/app/shared/material/material.module.d.ts +5 -6
- package/src/app/shared/material/material.testing.module.d.ts +8 -7
- package/src/app/shared/material/swipe/material.swipe.d.ts +4 -3
- package/src/app/shared/material/text/testing/text-form.testing.d.ts +10 -4
- package/src/app/shared/material/text/text-form.component.d.ts +42 -8
- package/src/app/shared/named-filter/named-filter-selector.component.d.ts +30 -14
- package/src/app/shared/named-filter/named-filter.service.d.ts +12 -6
- package/src/app/shared/named-filter/testing/named-filter-selector.testing.d.ts +34 -0
- package/src/app/shared/named-filter/testing/named-filter.testing.module.d.ts +10 -0
- package/src/app/shared/pipes/arrays.pipe.d.ts +5 -0
- package/src/app/shared/pipes/badge.pipes.d.ts +7 -0
- package/src/app/shared/pipes/date-format.pipe.d.ts +3 -2
- package/src/app/shared/pipes/form.pipes.d.ts +18 -8
- package/src/app/shared/pipes/html.pipes.d.ts +15 -0
- package/src/app/shared/pipes/maps.pipe.d.ts +4 -4
- package/src/app/shared/pipes/maskito.pipe.d.ts +7 -9
- package/src/app/shared/pipes/pipes.module.d.ts +7 -4
- package/src/app/shared/pipes/property.pipes.d.ts +24 -3
- package/src/app/shared/pipes/selection.pipes.d.ts +62 -0
- package/src/app/shared/pipes/string.pipes.d.ts +6 -6
- package/src/app/shared/pipes/types.pipes.d.ts +6 -1
- package/src/app/shared/services/entity-service.class.d.ts +0 -2
- package/src/app/shared/services/memory-entity-service.class.d.ts +6 -3
- package/src/app/shared/services.d.ts +1 -0
- package/src/app/shared/shared.testing.module.d.ts +2 -1
- package/src/app/shared/storage/storage-explorer.component.d.ts +4 -3
- package/src/app/shared/testing/maskito.test.d.ts +10 -0
- package/src/app/shared/toolbar/toolbar.d.ts +7 -2
- package/src/app/shared/types.d.ts +5 -0
- package/src/app/shared/upload-file/upload-file.component.d.ts +1 -0
- package/src/app/shared/validator/form-error-adapter.class.d.ts +17 -11
- package/src/app/shared/validator/validators.d.ts +20 -9
- package/src/app/social/job/progression/job-progression.icon.d.ts +4 -5
- package/src/app/social/job/progression/job-progression.list.d.ts +1 -3
- package/src/app/social/job/progression/job-progression.service.d.ts +3 -4
- package/src/app/social/job/testing/job-progression.testing.d.ts +0 -1
- package/src/app/social/job/testing/job-progression.testing.service.d.ts +3 -11
- package/src/app/social/message/message.modal.d.ts +2 -2
- package/src/app/social/message/message.model.d.ts +1 -1
- package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +4 -4
- package/src/app/social/user-event/testing/user-event.testing.d.ts +1 -0
- package/src/app/social/user-event/testing/user-event.testing.model.d.ts +2 -3
- package/src/app/social/user-event/testing/user-event.testing.service.d.ts +1 -0
- package/src/assets/i18n/en-US.json +48 -19
- package/src/assets/i18n/en.json +48 -20
- package/src/assets/i18n/fr.json +50 -20
- package/src/assets/manifest.json +1 -1
- package/src/environments/environment.class.d.ts +10 -0
- package/src/environments/environment.d.ts +0 -1
- package/src/environments/environment.loader.d.ts +0 -2
- package/src/theme/_functions.scss +15 -0
- package/src/theme/_icons.scss +1 -1
- package/src/theme/_ionic.globals.scss +8 -2
- package/src/theme/_ionic.scss +10 -10
- package/src/theme/_material.globals.scss +16 -43
- package/src/theme/_material.scss +45 -32
- package/src/theme/_mixins.scss +99 -18
- package/src/theme/_ngx-components.forms.scss +354 -0
- package/src/theme/_ngx-components.globals.scss +20 -10
- package/src/theme/_ngx-components.scss +194 -400
- package/src/theme/_ngx-components.table.scss +200 -207
- package/src/theme/_ngx-components.tabs.scss +54 -0
- package/src/theme/_responsive.scss +0 -31
- package/src/theme/_theme.scss +2 -0
- package/src/theme/_theme.variables.scss +172 -0
- package/esm2022/src/app/core/table/actions-column.component.mjs +0 -115
- package/esm2022/src/app/shared/material/boolean/material-boolean2.mjs +0 -266
- package/esm2022/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +0 -104
- package/esm2022/src/app/shared/material/numpad/numpad.component.mjs +0 -83
- package/esm2022/src/app/shared/material/numpad/numpad.container.mjs +0 -203
- package/esm2022/src/app/shared/material/numpad/numpad.content.mjs +0 -19
- package/esm2022/src/app/shared/material/numpad/numpad.directive.mjs +0 -168
- package/esm2022/src/app/shared/material/numpad/numpad.dom-service.mjs +0 -36
- package/esm2022/src/app/shared/material/numpad/numpad.model.mjs +0 -16
- package/esm2022/src/app/shared/material/numpad/numpad.module.mjs +0 -60
- package/esm2022/src/app/shared/material/numpad/testing/numpad.test.mjs +0 -48
- package/src/app/core/table/actions-column.component.d.ts +0 -48
- package/src/app/shared/material/boolean/material-boolean2.d.ts +0 -66
- package/src/app/shared/material/numpad/numpad.append-to-input.directive.d.ts +0 -22
- package/src/app/shared/material/numpad/numpad.component.d.ts +0 -26
- package/src/app/shared/material/numpad/numpad.container.d.ts +0 -40
- package/src/app/shared/material/numpad/numpad.content.d.ts +0 -7
- package/src/app/shared/material/numpad/numpad.directive.d.ts +0 -35
- package/src/app/shared/material/numpad/numpad.dom-service.d.ts +0 -16
- package/src/app/shared/material/numpad/numpad.model.d.ts +0 -30
- package/src/app/shared/material/numpad/numpad.module.d.ts +0 -16
- package/src/app/shared/material/numpad/testing/numpad.test.d.ts +0 -13
package/doc/changelog.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## 0.1.7
|
|
4
4
|
|
|
5
|
-
-
|
|
5
|
+
- enh: Menu: Allow dynamic insertion, using a new config options (see 'CORE_CONFIG_OPTIONS.MENU_ITEMS')
|
|
6
6
|
* Example:
|
|
7
7
|
```js
|
|
8
8
|
const options = [
|
|
@@ -18,654 +18,896 @@
|
|
|
18
18
|
|
|
19
19
|
## 0.3.3
|
|
20
20
|
|
|
21
|
-
-
|
|
21
|
+
- enh: CSS `.filter-panel` should be used with `.filter-panel-floating` to enable floating position
|
|
22
22
|
|
|
23
23
|
## 0.3.4
|
|
24
24
|
|
|
25
|
-
-
|
|
25
|
+
- fix: Users table: use floating filter panel
|
|
26
26
|
|
|
27
27
|
## 0.3.5
|
|
28
28
|
|
|
29
|
-
-
|
|
29
|
+
- enh: Add new pipe `arrayFilter` to be able to filter an array, in HTML templates
|
|
30
30
|
|
|
31
31
|
## 0.4.0
|
|
32
32
|
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
33
|
+
- enh: CSS: change style of error row (use warning color)
|
|
34
|
+
- enh: CSS: new class '.visible-dirty' (e.g. `<ion-icon name="star" class="visible-dirty"></ion-icon>` in the `actions` column)
|
|
35
|
+
- enh: ValidatorService: add function getI18nErrors(control)
|
|
36
|
+
- enh: AppTable: add outputs 'onDirty', 'onError'
|
|
37
|
+
- enh: AppTable:
|
|
38
38
|
|
|
39
39
|
## 0.4.1
|
|
40
40
|
|
|
41
|
-
-
|
|
41
|
+
- enh: Add new component 'app-actions-columns'
|
|
42
42
|
|
|
43
43
|
## 0.4.2
|
|
44
44
|
|
|
45
|
-
-
|
|
46
|
-
-
|
|
45
|
+
- enh: LoadResult class: Add a `fetchMore()` function
|
|
46
|
+
- enh: Autocomplete field: Add infinite scroll, using `LoadResult.fetchMore()`
|
|
47
47
|
|
|
48
48
|
## 0.4.3
|
|
49
49
|
|
|
50
|
-
-
|
|
50
|
+
- enh: AppTable: add `options` (with property `interactive`) in `deleteRow()` and `deleteRows()`
|
|
51
51
|
Used to avoid user confirmation, when deletion has been confirmed elsewhere
|
|
52
52
|
|
|
53
53
|
## 0.4.4
|
|
54
54
|
|
|
55
|
-
-
|
|
56
|
-
-
|
|
55
|
+
- enh: Rename `<form-buttons-bar>` into `<app-form-buttons-bar>`
|
|
56
|
+
- enh: Export more CSS variables: `--app-paginator-height`, `app-form-buttons-bar-height`
|
|
57
57
|
|
|
58
58
|
## 0.5.0
|
|
59
59
|
|
|
60
|
-
-
|
|
60
|
+
- enh: Table: allow keyboard navigation, using `<app-actions-column>` and function `table.confirmAndBackward()` and `table.confirmAndForward()`
|
|
61
61
|
|
|
62
62
|
## 0.7.10
|
|
63
63
|
|
|
64
|
-
-
|
|
64
|
+
- enh: Table: no more border-left, on dirty rows (because of sticky columns nightmare !)
|
|
65
65
|
|
|
66
66
|
## 0.9.0
|
|
67
67
|
|
|
68
|
-
-
|
|
69
|
-
-
|
|
68
|
+
- enh: Autocomplete field: add config option `suggestLengthThreshold` to suggest after typing more than x characters
|
|
69
|
+
- enh: Autocomplete field: add config option `debounceTime`
|
|
70
70
|
|
|
71
71
|
## 0.10.0
|
|
72
72
|
|
|
73
|
-
-
|
|
73
|
+
- enh: Add EntityClasses class: use it to get an entity class by name (need to use @EntityClass decorator on the class)
|
|
74
74
|
|
|
75
75
|
## 0.11.4
|
|
76
76
|
|
|
77
|
-
-
|
|
77
|
+
- fix: Autocomplete field: when focus out, move caret to start (fix firefox bug, when `input[type=text]` content is too long)
|
|
78
78
|
|
|
79
79
|
## 0.11.5
|
|
80
80
|
|
|
81
|
-
-
|
|
81
|
+
- enh: Decorator @Entity now generate the static class function `asObject(source: any, opts?: any): any`
|
|
82
82
|
|
|
83
83
|
## 0.15.0
|
|
84
84
|
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
85
|
+
- enh: Add IAppForm.loading (optional)
|
|
86
|
+
- enh: Add AppForm.waitIdle()
|
|
87
|
+
- enh: IAppForm, AppForm, AppTabEditor: Add markAsLoading() and markAsLoaded()
|
|
88
88
|
|
|
89
89
|
## 0.18.0
|
|
90
90
|
|
|
91
|
-
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
94
|
-
-
|
|
91
|
+
- enh: Add AppTable.updateView(): Promise
|
|
92
|
+
- enh: Add AppTableDatasource: rename $busy into loadingSubject
|
|
93
|
+
- fix: Fix InMemoryTable setValue
|
|
94
|
+
- fix: AppTable: after save, refactor code to select previously edited row
|
|
95
95
|
|
|
96
96
|
## 0.19.0
|
|
97
97
|
|
|
98
|
-
-
|
|
99
|
-
-
|
|
98
|
+
- fix: refactor AppFormUtils.copyEntityToForm() for multiple values (split on the character '|' )
|
|
99
|
+
- fix: remove AppFormUtils.copyForm2Entity() - same a form.value
|
|
100
100
|
|
|
101
101
|
## 0.20.0
|
|
102
102
|
|
|
103
|
-
-
|
|
104
|
-
-
|
|
105
|
-
-
|
|
106
|
-
-
|
|
107
|
-
-
|
|
108
|
-
-
|
|
109
|
-
-
|
|
103
|
+
- fix: remove functions `isArray()` (please use `Array.isArray()` instead)
|
|
104
|
+
- enh: Add `AccountService.onChange: Subject` to listen account settings changes
|
|
105
|
+
- fix: Account model: use minify option to serialize as a POD object
|
|
106
|
+
- fix: AccountService: change some internal function's visibility, to protected
|
|
107
|
+
- fix: InMemoryService: fix equals() default implementation (avoid infinite loop)
|
|
108
|
+
- fix: SCSS: Set mat-select-column to width: 50px, to make it compatible with sticky <mat-table>
|
|
109
|
+
- enh: Add ComponentDirtyGuard to public API
|
|
110
110
|
|
|
111
111
|
## 0.20.0
|
|
112
112
|
|
|
113
|
-
-
|
|
114
|
-
-
|
|
113
|
+
- fix: AppEntityEditor: remove confirmation before backClick (use ComponentDirtyGuard instead)
|
|
114
|
+
- fix: AppEntityEditor: cancel() will not ask a confirmation, because called by dirty guard).
|
|
115
115
|
|
|
116
116
|
## 0.23.0
|
|
117
|
-
-
|
|
118
|
-
-
|
|
117
|
+
- fix: MatAutocompleteField: when escape event, close the panel and stop event's propagation
|
|
118
|
+
- fix: AppFormButtonsBar: when escape event, make sure preventDefault!=false before emit a back event
|
|
119
119
|
|
|
120
120
|
## 0.24.0
|
|
121
121
|
|
|
122
|
-
-
|
|
122
|
+
- fix: AppInstallUpgradeCard: use Cordova Downloader plugin, to download APK file correctly
|
|
123
123
|
|
|
124
124
|
## 0.25.0
|
|
125
125
|
|
|
126
|
-
-
|
|
127
|
-
-
|
|
126
|
+
- enh: Add FormErrorAdapter service, configurable using an injection token APP_FORM_ERROR_I18N_KEYS
|
|
127
|
+
- enh: Add pipe 'translateFormError' to translate form error in HTML template
|
|
128
128
|
|
|
129
129
|
|
|
130
130
|
## 0.26.0
|
|
131
131
|
|
|
132
|
-
-
|
|
133
|
-
-
|
|
134
|
-
-
|
|
132
|
+
- enh: Rename FormErrorAdapter into FormErrorTranslator
|
|
133
|
+
- enh: Add FormErrorTranslator to AppForm
|
|
134
|
+
- enh: Add directives [matBadgeIcon] and [ionBadgeIcon] to use icon within a matBadge
|
|
135
135
|
|
|
136
136
|
## 0.27.0
|
|
137
137
|
|
|
138
|
-
-
|
|
139
|
-
-
|
|
140
|
-
-
|
|
141
|
-
-
|
|
142
|
-
-
|
|
138
|
+
- enh: Split `AppTabEditor` into `AppEditor` and `AppTabEditor`
|
|
139
|
+
- enh: Add `markAsReady()` to base components (`IAppForm`, `AppForm`, `AppTable`, `AppEditor`)
|
|
140
|
+
- enh: Add `ready() => Promise` to base components (`IAppForm`, `AppForm`, `AppTable`, `AppEditor`)
|
|
141
|
+
- enh: `AppEntityEditor`: wait components is ready, before calling `setValue()`
|
|
142
|
+
- enh: `waitFor()` now return a `Promise<void>` (instead of a `Promise<any>`)
|
|
143
143
|
|
|
144
144
|
## 1.0.0
|
|
145
145
|
|
|
146
|
-
-
|
|
147
|
-
-
|
|
148
|
-
-
|
|
146
|
+
- enh: Store local settings remotely
|
|
147
|
+
- fix: Fix suggestFromArray when items is null
|
|
148
|
+
- fix: Fix parsing error, in GraphQL service (e.g error from Oracle database)
|
|
149
149
|
|
|
150
150
|
## 1.2.5
|
|
151
151
|
|
|
152
|
-
-
|
|
152
|
+
- fix: Install/Upgrade component: can now download file, on Android devices
|
|
153
153
|
|
|
154
154
|
## 1.5.1
|
|
155
155
|
|
|
156
|
-
-
|
|
157
|
-
-
|
|
158
|
-
-
|
|
159
|
-
-
|
|
156
|
+
- enh: MatAutocompleteField: set header position has sticky, in CSS
|
|
157
|
+
- enh: MatAutocompleteField: if mobile, set autocomplete panel's position to 'above' (instead of 'auto') because keyboard should open at the bottom
|
|
158
|
+
- fix: AppForm: add method 'unregisterSubscription()'
|
|
159
|
+
- fix: Account: disable form when offline
|
|
160
160
|
|
|
161
161
|
# 1.5.6
|
|
162
162
|
|
|
163
|
-
-
|
|
164
|
-
-
|
|
165
|
-
-
|
|
163
|
+
- enh: Add observables.waitForTrue() function
|
|
164
|
+
- enh: Editor: apply ready() opts (timeout, dueTime)
|
|
165
|
+
- fix: suggestFromArray: fix sorting
|
|
166
166
|
|
|
167
167
|
# 1.5.8
|
|
168
168
|
|
|
169
|
-
|
|
169
|
+
fix: When deleting rows selection, make sure to confirm edited row first
|
|
170
170
|
|
|
171
171
|
# 1.6.4
|
|
172
172
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
173
|
+
enh: EntitiesTableDateSource: Add 'fetchMore()' function (usable when dataService fill LoadResult.fetchMore)
|
|
174
|
+
fix: Auth modal: show error (e.g. when bad credentials)
|
|
175
|
+
fix: MatChipsField: rename 'compareWith' in 'equals'
|
|
176
|
+
enh: MatChipsField: Allow setup chips color
|
|
177
|
+
fix: MatSwipeField: rename 'compareWith' in 'equals'
|
|
178
178
|
|
|
179
179
|
# 1.6.5
|
|
180
180
|
|
|
181
|
-
|
|
182
|
-
|
|
181
|
+
fix: MatChipsField: Fix 'focusOut' then 'focusIn' behavior
|
|
182
|
+
fix: MatAutocompleteField: Fix 'focusOut' then 'focusIn' behavior
|
|
183
183
|
|
|
184
184
|
# 1.6.18
|
|
185
|
-
|
|
185
|
+
fix: MatDateTimeField: Fix when no Keyboard plugin
|
|
186
186
|
|
|
187
187
|
# 1.7.0
|
|
188
188
|
|
|
189
|
-
|
|
189
|
+
enh: Add directive `*ngVar` - see https://stackoverflow.com/questions/38582293/how-to-declare-a-variable-in-a-template-in-angular
|
|
190
190
|
|
|
191
191
|
# 1.8.1
|
|
192
192
|
|
|
193
|
-
|
|
194
|
-
|
|
193
|
+
enh: IEntityService: add new function `canUserWrite()`
|
|
194
|
+
enh: AppEntityEditor: add a default implementation of `canUserWrite()`
|
|
195
195
|
|
|
196
196
|
# 1.9.5
|
|
197
197
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
198
|
+
enh: AppTable: Add injector in constructor
|
|
199
|
+
fix: Platform: detect window touchscreen as NOT mobile
|
|
200
|
+
fix: AppEntityEditor: make sure to unsubscribe listen remote changes, when destroy
|
|
201
|
+
fix: Home: fix layout, of card close button, in history items
|
|
202
|
+
fix: Make sure to use LocalSettingsServicesettings.mobile instead of PlatformService.mobile
|
|
203
|
+
enh: Account: auto start listen changes on pod, during the user session
|
|
204
204
|
|
|
205
205
|
# 1.10.1
|
|
206
206
|
|
|
207
|
-
|
|
207
|
+
fix: AppTable: Fix table row deletion, when editedRow is invalid and not saved yet - fix issue IMAGINE-669
|
|
208
208
|
|
|
209
209
|
# 1.10.9
|
|
210
210
|
|
|
211
|
-
|
|
211
|
+
fix: AppTable: Fix table when calling save with options : `keepEditing=false`
|
|
212
212
|
|
|
213
213
|
# 1.11.0
|
|
214
214
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
215
|
+
enh: Add component UploadFilePopover
|
|
216
|
+
enh: Add component TextPopover
|
|
217
|
+
enh: Upgrade to @apollo/client 3.5.10
|
|
218
218
|
|
|
219
219
|
# 1.12.1
|
|
220
220
|
|
|
221
|
-
|
|
222
|
-
|
|
221
|
+
fix: searchTextFilter: escape special characters to avoid RegExp parse exception
|
|
222
|
+
enh: Autocomplete: Move result count in footer
|
|
223
223
|
|
|
224
224
|
# 1.12.4
|
|
225
225
|
|
|
226
|
-
|
|
226
|
+
fix: AppTable: Avoid deleting a row twice, when deleting an invalid row BUT not editing
|
|
227
227
|
|
|
228
228
|
# 1.12.13
|
|
229
|
-
|
|
230
|
-
|
|
229
|
+
enh: Add pipes formGet, formGetControl and formGetArray, to get a form controls
|
|
230
|
+
enh: Add pipe strIncludes
|
|
231
231
|
|
|
232
232
|
# 1.13.0
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
233
|
+
enh: Add utility class SharedAsyncValidators
|
|
234
|
+
enh: Add SharedAsyncValidators.registerAsyncValidator() to add long during validation job
|
|
235
|
+
fix: BaseEntityService: listenChanges() now return an empty observable, when not implemented, instead of error
|
|
236
|
+
fix: InstallUpgradeCard: do not show install link, on Windows touch screen
|
|
237
237
|
|
|
238
238
|
# 1.14.0
|
|
239
|
-
|
|
239
|
+
enh: Platform: auto reload web browser's page, if a new version is detected at startup
|
|
240
240
|
# 1.14.2
|
|
241
|
-
|
|
241
|
+
enh: Add DateUtils.resetTime(date, tz?: string)
|
|
242
242
|
|
|
243
243
|
# 1.15.0
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
244
|
+
fix: MateDateField: make sure to display errors
|
|
245
|
+
fix: MateDateField: Allow to show matPrefix (e.g. icon)
|
|
246
|
+
fix: MateDateField: Better management of mat-error
|
|
247
|
+
fix: MateDateTimeField: Add error for dateIsBefore
|
|
248
|
+
enh: SharedValidators: add new validator 'dateIsBefore'
|
|
249
249
|
|
|
250
250
|
# 1.15.1
|
|
251
|
-
|
|
251
|
+
fix: MateDateField: Add a timezone to serialize/deserialize date value
|
|
252
252
|
|
|
253
253
|
# 1.15.4
|
|
254
|
-
|
|
255
|
-
|
|
254
|
+
enh: MateDateField: Add an input 'datePickerFiler' to filter dates in picker
|
|
255
|
+
enh: MateDateTimeField: Add an input 'datePickerFiler' to filter dates in picker
|
|
256
256
|
|
|
257
257
|
# 1.15.9
|
|
258
|
-
|
|
258
|
+
fix: Editor listenChanges() should not update the cache, but call reload() when changes detected.
|
|
259
259
|
This will allow fetching partial graph in subscriptions
|
|
260
|
-
|
|
261
|
-
|
|
260
|
+
enh: Editor: show a toast when remote changes are detected
|
|
261
|
+
fix: Cache: minor fix
|
|
262
262
|
|
|
263
263
|
# 1.15.13
|
|
264
|
-
|
|
265
|
-
|
|
264
|
+
fix: File upload component: fix file/event management
|
|
265
|
+
enh: Add new pipe 'formGetGroup:<name>'
|
|
266
266
|
|
|
267
267
|
# 1.16.0
|
|
268
|
-
|
|
268
|
+
enh: Refactor JobUtils functions: 'progression' is now optional, and hold by options
|
|
269
269
|
|
|
270
270
|
# 1.17.0
|
|
271
|
-
|
|
271
|
+
fix: GraphQL: set NetworkStatus.error on error object in order to throw corresponding exception
|
|
272
272
|
|
|
273
273
|
# 1.17.1
|
|
274
|
-
|
|
274
|
+
fix: Hotkeys: Prevent global hotkeys when popover component exists
|
|
275
275
|
|
|
276
276
|
# 1.18.0
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
277
|
+
enh: Autocomplete field: Add search bar on mobile
|
|
278
|
+
fix: Autocomplete field: Fix style when multiple=true
|
|
279
|
+
fix: Autocomplete field: Fix default displayWith when multiple=true (manage array value)
|
|
280
|
+
fix: Exclude Windows from the platform mobile detection
|
|
281
281
|
|
|
282
282
|
# 1.18.4
|
|
283
|
-
|
|
284
|
-
|
|
283
|
+
fix: Autocomplete: fix search in mobile searchbar
|
|
284
|
+
enh: Material field components: allow to set 'required' as empty tag, and not only '[required]=true'
|
|
285
285
|
|
|
286
286
|
# 1.18.4
|
|
287
|
-
|
|
287
|
+
fix: Autocomplete: fix panel width, on small screens
|
|
288
288
|
|
|
289
289
|
# 1.18.7
|
|
290
|
-
|
|
290
|
+
fix: fix DateUtils.min() and DateUtils.max()
|
|
291
291
|
|
|
292
292
|
# 1.19.0
|
|
293
|
-
|
|
294
|
-
|
|
293
|
+
enh: Add a MessageModal, to compose message to users (internal or email messages)
|
|
294
|
+
fix: MatDateField: if not required, manually set a date will not apply the value to formControl
|
|
295
295
|
|
|
296
296
|
# 1.19.1
|
|
297
|
-
|
|
297
|
+
fix: Platform detection failed (infinite loop) on MacBook
|
|
298
298
|
|
|
299
299
|
# 1.19.2
|
|
300
|
-
|
|
300
|
+
fix: Platform detection cache
|
|
301
301
|
|
|
302
302
|
# 1.19.3
|
|
303
|
-
|
|
303
|
+
enh: AppForm now wait form not pending, before emitting onSubmit event
|
|
304
304
|
|
|
305
305
|
# 1.19.6
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
306
|
+
fix: Fix toolbar back button
|
|
307
|
+
fix: Autocomplete: Fix multiple values (displayValue was no shown)
|
|
308
|
+
fix: Autocomplete: avoid to many call to suggest, on mobile
|
|
309
|
+
fix: Autocomplete: use mat-option for searchbar, to have selected option is visible
|
|
310
|
+
fix: Install APK: make sure to have '.apk' at end of filename
|
|
311
|
+
fix: Auth modal: keep modal into loading, when waiting server response
|
|
312
|
+
enh: Create a specific card for offline mode update
|
|
313
|
+
fix: Entity storage: do NOT set skipIfPristine to false, when storage keep non local entities (e.g. OperationVO)
|
|
314
|
+
enh: Entity storage: persist() has a new option skipIfPristine, to be able to force all data to be stored, even if not dirty
|
|
315
315
|
|
|
316
316
|
# 1.19.7
|
|
317
|
-
|
|
317
|
+
enh: Add pipe 'formGetValue' that will listen value changes (from a form or a control)
|
|
318
318
|
|
|
319
319
|
# 1.19.16
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
320
|
+
fix: Date and Date Short field: optimize <mat-error> with a switch/case
|
|
321
|
+
fix: Lat/Long pipes: remove provider in root (not need on a pipe)
|
|
322
|
+
fix: SharedValidators: rename 'double' validator into 'decimal'. Now return an error 'decimal' when opts.maxDecimals is nil
|
|
323
323
|
|
|
324
324
|
# 1.19.18
|
|
325
|
-
|
|
326
|
-
|
|
325
|
+
fix: Add a workaround to patch <html> class to 'plt-desktop', on Windows touch screen (fix sumaris-app issue #346)
|
|
326
|
+
enh: EntitiesStorage: detect platform pause, to force saving the storage
|
|
327
327
|
|
|
328
328
|
# 1.19.23
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
329
|
+
fix: Menu: avoid to many call of onLogin() function (add a distinctUntilChanged() filter)
|
|
330
|
+
fix: MateDateTime: set required validator using template, and no more by overriding formControl.validator (allow to change the required value)
|
|
331
|
+
fix: EntityEditor: wait end of saving, in waitIdle() function
|
|
332
|
+
fix: EntityEditor: add debug log when changing/updating route
|
|
333
|
+
fix: EntityEditor.load(): rename the unused options 'updateTabAndRoute' into 'updateRoute'
|
|
334
|
+
fix: EntityEditor.load(): allow to reset to the first tab (e.g. when load another entity into an existing editor)
|
|
335
335
|
|
|
336
336
|
# 1.19.23
|
|
337
|
-
|
|
337
|
+
fix: Editor: allow to skip page history (computePageHistory can return 'undefined')
|
|
338
338
|
|
|
339
339
|
# 1.19.25
|
|
340
|
-
|
|
340
|
+
fix: Home: translate 'Loading...' message
|
|
341
341
|
|
|
342
342
|
# 1.19.28
|
|
343
|
-
|
|
343
|
+
enh: Add function escapeRegExp() to escape all special regexp characters
|
|
344
344
|
|
|
345
345
|
# 1.19.30
|
|
346
|
-
|
|
346
|
+
enh: Add argument to pipe 'formGetValue' to listen status change (e.g. to force update, when emitEvent: false)
|
|
347
347
|
|
|
348
348
|
# 1.20.0
|
|
349
349
|
|
|
350
|
-
|
|
351
|
-
|
|
350
|
+
enh: Menu: allow to enable/disable menu
|
|
351
|
+
enh: Menu: rename MenuService.menuVisible$ into MenuService.splitPaneWhen
|
|
352
352
|
|
|
353
353
|
# 1.20.2
|
|
354
354
|
|
|
355
|
-
|
|
355
|
+
enh: Material fields: add @Input() appearance
|
|
356
356
|
|
|
357
357
|
# 1.20.3
|
|
358
|
-
|
|
358
|
+
enh: css-variables-to-root-mobile() will expose variables '--mat-tab-link-height' and '--mat-tab-bar-height'
|
|
359
359
|
|
|
360
360
|
# 1.20.4
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
361
|
+
enh: Add helper class CsvUtils
|
|
362
|
+
enh: Add pipe formatProperty
|
|
363
|
+
enh: Add directive [appAutoTitle] for <ion-label> or <mat-label>
|
|
364
364
|
|
|
365
365
|
# 1.20.5
|
|
366
|
-
|
|
366
|
+
enh: formatProperty pipe: when type is 'boolean', display a translated Yes/No
|
|
367
367
|
|
|
368
368
|
# 1.20.7
|
|
369
|
-
|
|
369
|
+
enh: add function FileUtils.writeTextToFile()
|
|
370
370
|
|
|
371
371
|
# 1.20.11
|
|
372
|
-
|
|
372
|
+
enh: add function FileUtils.downloadUri()
|
|
373
373
|
|
|
374
374
|
# 1.20.13
|
|
375
|
-
|
|
375
|
+
fix: fix SharedValidators.decimal() when maxDecimals = 3 (cached regexp was wrong)
|
|
376
376
|
|
|
377
377
|
# 1.20.14
|
|
378
|
-
|
|
378
|
+
fix: Menu: Force menu update when config changed
|
|
379
379
|
|
|
380
380
|
# 1.20.16
|
|
381
|
-
|
|
381
|
+
fix: MatChipsField: fix chip height
|
|
382
382
|
|
|
383
383
|
# 1.20.17
|
|
384
|
-
|
|
384
|
+
fix: Add module ResizableModule, for MatTable column resize
|
|
385
385
|
|
|
386
386
|
# 1.20.18
|
|
387
|
-
|
|
387
|
+
fix: PlatformService.download() now useFileUtils.download(), that create a temp download (not need browser permission to open popup)
|
|
388
388
|
|
|
389
389
|
# 1.20.19
|
|
390
|
-
|
|
390
|
+
enh: Add new abstract class AppEntityEditorModal, that can managed many forms and tables
|
|
391
391
|
|
|
392
392
|
# 1.20.20
|
|
393
|
-
|
|
393
|
+
fix: SCSS: remove `user-select: text !important` applied on body, because of modals ViewEncapsulation.None (e.g. physical gear modal) where Tab label were becomes focusable
|
|
394
394
|
|
|
395
395
|
# 1.20.21
|
|
396
|
-
|
|
396
|
+
fix: Fix mat latlong field: was broken since v1.19.13
|
|
397
397
|
|
|
398
398
|
# 1.20.21
|
|
399
|
-
|
|
399
|
+
fix: Fix MatDateField mat-error display (was too large)
|
|
400
400
|
|
|
401
401
|
# 1.20.24
|
|
402
|
-
|
|
402
|
+
fix: Revert change on LatLongField (SCSS file was removed ??)
|
|
403
403
|
|
|
404
404
|
# 1.20.25
|
|
405
|
-
|
|
405
|
+
fix: MatBooleanField: set indeterminate=true, when value is null
|
|
406
406
|
|
|
407
407
|
# 1.20.27
|
|
408
408
|
|
|
409
|
-
|
|
409
|
+
fix: Mat***Field: add `@Input() appearance`
|
|
410
410
|
|
|
411
411
|
# 1.20.30
|
|
412
|
-
|
|
412
|
+
fix: Add InMemoryDataService.hiddenCount
|
|
413
413
|
|
|
414
414
|
# 1.20.33
|
|
415
|
-
|
|
415
|
+
fix: MatAutocompleteField: reload items when cleaning text, and no suggestLengthThreshold
|
|
416
416
|
|
|
417
417
|
# 1.20.34
|
|
418
|
-
|
|
418
|
+
fix: AppTable: remove 'opts.skipIfLoading' on delete functions, to use only 'opts.interactive' to force deletion when table is busy.
|
|
419
419
|
|
|
420
420
|
# 1.21.0
|
|
421
|
-
|
|
421
|
+
enh: AppForm: use public behavior subjects: readySubject, loadingSubject, errorSubject
|
|
422
422
|
|
|
423
423
|
# 1.22.0
|
|
424
|
-
|
|
424
|
+
enh: Add social components: UserEventNotification and JobProgression
|
|
425
425
|
|
|
426
426
|
# 1.22.1
|
|
427
|
-
|
|
427
|
+
enh: Menu: add APP_MENU_OPTIONS token, to configure menu (e.g. show notification icon in the left menu header)
|
|
428
428
|
|
|
429
429
|
# 1.22.9
|
|
430
|
-
|
|
430
|
+
enh: Remove <app-user-events-table> (move to specific sub projects that use ngx-components)
|
|
431
431
|
|
|
432
432
|
# 1.22.11
|
|
433
|
-
|
|
433
|
+
enh: Rename <app-user-event-notification-component> into <app-user-event-notification-icon>
|
|
434
434
|
|
|
435
435
|
# 1.22.12
|
|
436
|
-
|
|
436
|
+
enh: Can mark a Moment without time, allowing empty time field in MatDateTime
|
|
437
437
|
|
|
438
438
|
# 1.23.6
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
439
|
+
fix: Many fix in table. Upgrade to ngx-material-table 0.12.0
|
|
440
|
+
enh: Table, Form and Editor: Add a destroySubject
|
|
441
|
+
enh: Observables functions first***Promise() : add more options (timeout or stop notifier)
|
|
442
442
|
|
|
443
443
|
# 1.23.10
|
|
444
|
-
|
|
444
|
+
enh: Autocomplete: add a 'title' property on each option, on desktop screen
|
|
445
445
|
|
|
446
446
|
# 1.23.11
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
447
|
+
fix: Memory Data service: now implement IStartableService
|
|
448
|
+
enh: StartableService: use a stopSubject, to stop waitFor promise
|
|
449
|
+
enh: remove unused class EntitiesService. Use IEntitiesService instead
|
|
450
450
|
|
|
451
451
|
# 1.23.26
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
452
|
+
enh: Add new pipe 'arrayJoin'
|
|
453
|
+
enh: 'arrayPluck' pipe: allow to use string[] for path
|
|
454
|
+
enh: getPropertyByPath() function now allow to use string[] as path
|
|
455
455
|
|
|
456
456
|
# 1.23.29
|
|
457
|
-
|
|
457
|
+
enh: FormArrayHelper: add setValue() to resize the FormArray, then set value
|
|
458
458
|
|
|
459
459
|
# 1.23.30
|
|
460
|
-
|
|
460
|
+
fix: InMemoryDataService: do NOT apply default sortReplacement id -> rankOrder
|
|
461
461
|
|
|
462
462
|
# 1.23.31
|
|
463
|
-
|
|
463
|
+
fix: InMemoryDataService: change 'dirtySubject' as public property
|
|
464
464
|
|
|
465
465
|
# 1.23.39
|
|
466
|
-
|
|
467
|
-
|
|
466
|
+
enh: Add FormArrayHelper.patchValue() : clear array, then push each value
|
|
467
|
+
fix: StartableService: avoid to log error when stopped
|
|
468
468
|
|
|
469
469
|
# 1.23.41
|
|
470
|
-
|
|
470
|
+
enh: AppEditor: Add 'loaded' getter
|
|
471
471
|
|
|
472
472
|
# 1.23.44
|
|
473
|
-
|
|
473
|
+
enh: Referential model: add a 'icon' property (IconRef)
|
|
474
474
|
|
|
475
475
|
# 1.23.46
|
|
476
|
-
|
|
477
|
-
|
|
476
|
+
enh: Add `ColorScale.getValueColor(): Color`
|
|
477
|
+
enh: EntityEditorModal: rename input `isNewData` into `isNew`
|
|
478
478
|
|
|
479
479
|
# 1.23.51
|
|
480
480
|
Observables: function `waitFor()`, `waitForTrue()`, `watForFalse()`, `firstNotNilPromise()`
|
|
481
|
-
-
|
|
482
|
-
-
|
|
483
|
-
-
|
|
481
|
+
- fix: Make sure `takeUntil` is always the last operator (avoid memory leak)
|
|
482
|
+
- enh: Observables: Allow set option.stopError with custom error message
|
|
483
|
+
- enh: Observables: Create the Error outside the observable, to keep the original stack trace readable
|
|
484
484
|
|
|
485
485
|
# 1.23.61
|
|
486
|
-
-
|
|
486
|
+
- fix: Boolean field: fix button layout
|
|
487
487
|
|
|
488
488
|
# 1.23.65
|
|
489
|
-
-
|
|
489
|
+
- enh: Add pipes: isNotNil and isNotNilOrNaN
|
|
490
490
|
|
|
491
491
|
# 1.23.67
|
|
492
|
-
-
|
|
493
|
-
-
|
|
492
|
+
- fix: Rename DateFormatPipe into DateFormatService (DateFormatPipe is no more a provider)
|
|
493
|
+
- fix: Fix patterns in DateFormatPipe/Service : add a fallback when translate service is not started - fix issue sar-app #28
|
|
494
494
|
|
|
495
495
|
# 2.0.0
|
|
496
|
-
-
|
|
496
|
+
- enh: Migration to
|
|
497
497
|
- Angular 14.2
|
|
498
498
|
- Ionic 6.2
|
|
499
499
|
- Angular Material Table 0.14.4 (allow to use async validator for rows)
|
|
500
500
|
- Apollo 3, graph-ws 5
|
|
501
|
-
-
|
|
501
|
+
- enh: Add <app-debug> component
|
|
502
502
|
|
|
503
503
|
# 2.1.0
|
|
504
|
-
-
|
|
504
|
+
- enh: Add new class AppFormArray with all functions of FormArrayHelper
|
|
505
505
|
|
|
506
506
|
# 2.2.1
|
|
507
|
-
-
|
|
508
|
-
-
|
|
509
|
-
-
|
|
507
|
+
- fix: FormArrayHelper and AppFormArray: Apply the parent disabled state, in added controls, when calling resize() or patchValue()
|
|
508
|
+
- fix: FormArrayHelper.getOrCreateArray(): Apply the parent form disabled state, in added FormArray
|
|
509
|
+
- fix: MatChipsField: fix loading spinner freeze
|
|
510
510
|
|
|
511
511
|
# 2.2.3
|
|
512
|
-
-
|
|
512
|
+
- enh: Test Geolocation.getCurrentPosition() in the lat/long field test page
|
|
513
513
|
|
|
514
514
|
# 2.2.4
|
|
515
|
-
-
|
|
516
|
-
-
|
|
515
|
+
- fix: Fix DateUtils.isSame(), when first argument is nil, but the second not
|
|
516
|
+
- enh: AppTable: allow to call deleteSelection with opts (e.g `{interactive: false}`)
|
|
517
517
|
|
|
518
518
|
# 2.2.6
|
|
519
|
-
-
|
|
519
|
+
- fix: Refresh menu on any account changes (login changes - eg. when account updated)
|
|
520
520
|
|
|
521
521
|
# 2.2.8
|
|
522
|
-
-
|
|
522
|
+
- fix: Table actions column: add CSS variable to set column width, min-width and max-width
|
|
523
523
|
|
|
524
524
|
# 2.3.7
|
|
525
|
-
-
|
|
526
|
-
-
|
|
525
|
+
- fix: Mat form field: use inherit font size (do not force font-size, in the theme)
|
|
526
|
+
- fix: MatDateShort: fix behaviour for Angular 14
|
|
527
527
|
|
|
528
528
|
# 2.4.0
|
|
529
529
|
- Breaking change: ProgressBarService and HTTP_INTERCEPTORS no longer provided in SharedModule (see: AppModule)
|
|
530
|
-
-
|
|
531
|
-
-
|
|
530
|
+
- enh: Make ProgressBarService fully optional (InjectionToken: APP_PROGRESS_BAR_SERVICE)
|
|
531
|
+
- enh: Settings: the settings object is now stored in json format
|
|
532
532
|
|
|
533
533
|
# 2.4.1
|
|
534
|
-
-
|
|
535
|
-
-
|
|
534
|
+
- fix: AppFormArray: do not resize the array when patchValue() receive `undefined` value (e.g. useful when called by parent, recursively, without value)
|
|
535
|
+
- fix: AppAsyncTable: optimize markAsUntouched()
|
|
536
536
|
|
|
537
537
|
# 2.4.2
|
|
538
|
-
-
|
|
538
|
+
- enh: Graphql service: add new token `APP_GRAPHQL_FRAGMENTS` to register fragments, and avoid redeclaration in queries (see https://github.com/apollographql/apollo-client/pull/9764#issuecomment-1329857853)
|
|
539
539
|
|
|
540
540
|
# 2.4.3
|
|
541
|
-
-
|
|
541
|
+
- fix: AppFormArray: do not resize the array when patchValue() receive `null` or `undefined` value (same behavior as official `FormArray.patchValue()`)
|
|
542
542
|
|
|
543
543
|
# 2.4.4
|
|
544
|
-
-
|
|
544
|
+
- fix: Applying environment defaultLocale, when settings data has no locale (merge some code from lpecquot, that was in a branch)
|
|
545
545
|
|
|
546
546
|
# 2.4.9
|
|
547
|
-
-
|
|
547
|
+
- fix: Settings: allow to store settings as string (like < 2.4.0) using an injection token
|
|
548
548
|
|
|
549
549
|
# 2.4.10
|
|
550
|
-
-
|
|
550
|
+
- fix: When detecting a app update, stop the check timer to avoid to many toast to be displayed
|
|
551
551
|
|
|
552
552
|
# 2.4.14
|
|
553
|
-
-
|
|
554
|
-
-
|
|
553
|
+
- enh: add function `setPropertyByPath()`
|
|
554
|
+
- fix: Implement `EntityUtils.getPropertyByPath()` using generic shared function `getPropertyByPath()`
|
|
555
555
|
|
|
556
556
|
# 2.4.15
|
|
557
|
-
-
|
|
557
|
+
- fix: Fix pipes formGetControl, formGetValue, formGetGroup : when using a path, return nil if control not found, and NOT the form itself
|
|
558
558
|
|
|
559
559
|
# 2.4.16
|
|
560
|
-
-
|
|
560
|
+
- fix: `SharedModule.forRoot()`: make environment optional, to be defined it in the `app.module.ts` (need by Quadrige App)
|
|
561
561
|
|
|
562
562
|
# 2.4.17
|
|
563
|
-
-
|
|
563
|
+
- fix: MatLatLongField: remove strict character regexp, in degrees part, to be able to set only one digit (e.g. `9°`)
|
|
564
564
|
|
|
565
565
|
# 2.4.18
|
|
566
|
-
-
|
|
566
|
+
- fix: MatDateShortField: fix control validation, in desktop mode
|
|
567
567
|
|
|
568
568
|
# 2.4.19
|
|
569
|
-
-
|
|
569
|
+
- fix: MatAutocompleteField: revert the cdk overlay position, when closing the mat-select panel
|
|
570
570
|
|
|
571
571
|
# 2.4.23
|
|
572
|
-
-
|
|
573
|
-
-
|
|
574
|
-
-
|
|
575
|
-
-
|
|
572
|
+
- enh: Add DateUtils.markTime(), to reset the 'no time' marker
|
|
573
|
+
- enh: Add DateUtilsEntityEditor: simplify updateTabAndRoute()
|
|
574
|
+
- enh: Add DateUtilsEntityEditor: updateRoute() now manage queryParams change, before /new to /:id transition
|
|
575
|
+
- enh: Toolbar: goBack() return a boolean
|
|
576
576
|
|
|
577
577
|
# 2.4.25
|
|
578
|
-
-
|
|
579
|
-
-
|
|
580
|
-
-
|
|
578
|
+
- enh: Environment: add a boolean option 'sameUrlPeer', to force network to start on peer at the same URL
|
|
579
|
+
- enh: EntityEditor: allow to listen changes on local entity
|
|
580
|
+
- enh: add functions collectByProperty() to split an array in a map of array
|
|
581
581
|
|
|
582
582
|
# 2.4.26
|
|
583
|
-
-
|
|
583
|
+
- fix: Rename pipe 'isNotOnField' by 'isOnDesk'
|
|
584
584
|
|
|
585
585
|
# 2.4.28
|
|
586
|
-
-
|
|
587
|
-
-
|
|
586
|
+
- enh: TranslateContext: allow to translate many keys (string[])
|
|
587
|
+
- fix: Force ngx-quicklink to 0.3.0
|
|
588
588
|
|
|
589
589
|
# 2.4.31
|
|
590
|
-
-
|
|
590
|
+
- enh: Add JsonUtils.parseFile()
|
|
591
591
|
|
|
592
592
|
# 2.4.33
|
|
593
|
-
-
|
|
593
|
+
- enh: Add AppPropertiesForm.length
|
|
594
594
|
|
|
595
595
|
# 2.4.48
|
|
596
|
-
-
|
|
596
|
+
- fix: Fix highlight pipe (used by autocomplete field)
|
|
597
597
|
|
|
598
598
|
# 2.4.50
|
|
599
|
-
-
|
|
599
|
+
- enh: Add type 'enums' for AppFormField
|
|
600
600
|
|
|
601
601
|
# 2.4.54
|
|
602
|
-
-
|
|
602
|
+
- enh: Use NavController by default, instead of Angular router. This will use the default animation style of the OS
|
|
603
603
|
|
|
604
604
|
# 2.4.55
|
|
605
|
-
-
|
|
605
|
+
- fix: Editor: Disable animation, when reloading same page after saving
|
|
606
606
|
|
|
607
607
|
# 2.4.58
|
|
608
|
-
-
|
|
609
|
-
-
|
|
610
|
-
-
|
|
608
|
+
- enh: Add storage explorer (with log preview)
|
|
609
|
+
- enh: Add debug service (to send debug data to server)
|
|
610
|
+
- enh: Add logging service
|
|
611
611
|
|
|
612
612
|
# 2.4.61
|
|
613
|
-
-
|
|
613
|
+
- enh: Add logger on network service
|
|
614
614
|
|
|
615
615
|
# 2.4.67
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
616
|
+
fix: Minor fix (add missing i18n)
|
|
617
|
+
fix: GeolocationUtils: add many useful functions, and detect Capacitor errors (from message)
|
|
618
|
+
fix: Fix some issues in storage explorer
|
|
619
619
|
|
|
620
620
|
# 2.4.74
|
|
621
|
-
|
|
621
|
+
enh: LocalSettingsService: save changes in local storage, when calling setProperty()
|
|
622
622
|
|
|
623
623
|
# 2.4.75
|
|
624
|
-
|
|
624
|
+
enh: SharedValidator: add a precision validator
|
|
625
625
|
|
|
626
626
|
# 2.4.79
|
|
627
|
-
|
|
627
|
+
fix: ImageGallery: fix add button icon (center alignement)
|
|
628
628
|
|
|
629
629
|
|
|
630
630
|
# 2.4.81
|
|
631
|
-
|
|
631
|
+
fix: AppToolbar: allow to use ion-segment in app-toolbar
|
|
632
632
|
|
|
633
633
|
# 2.4.82
|
|
634
|
-
|
|
635
|
-
|
|
634
|
+
enh: Migrate to Ionic 7
|
|
635
|
+
fix: Form field: show the clear button, when clearable=true, on types 'integer', 'double', 'string', 'date' and 'date-time'
|
|
636
636
|
|
|
637
637
|
# 2.4.82
|
|
638
|
-
|
|
638
|
+
enh: AppEntityEditor: add get/set for autoOpenNextTab
|
|
639
639
|
|
|
640
640
|
# 2.4.87
|
|
641
|
-
|
|
641
|
+
fix: AppEntityEditor: When reload the editor, force the fetch policy to 'network-only'
|
|
642
642
|
|
|
643
643
|
# 2.4.88
|
|
644
|
-
|
|
644
|
+
fix: AppInstallUpgradeCard: Installation APK link are not visible - fix issue [sumaris-app#445](https://gitlab.ifremer.fr/sih-public/sumaris/sumaris-app/-/issues/445)
|
|
645
645
|
|
|
646
646
|
# 2.4.88
|
|
647
|
-
|
|
647
|
+
enh: Add protected BaseEntityService.getLoadQueryNames()
|
|
648
648
|
|
|
649
649
|
# 2.4.89
|
|
650
|
-
|
|
650
|
+
fix: Fix Autocomplete searchbar value trigger, after ionic 7 update
|
|
651
651
|
|
|
652
652
|
# 2.4.90
|
|
653
|
-
|
|
653
|
+
fix: AppEntityEditor: when catch error in save(), set the selectedTabIndex=0 before calling setError()
|
|
654
654
|
This will allow subclasses to override the default selectedTabIndex after an error occur, inside the overridden setError()
|
|
655
655
|
|
|
656
656
|
# 2.4.91
|
|
657
|
-
|
|
657
|
+
enh: functions: allow to use sort(array) without the 'attribute' argument (e.g. allow to sort a string[])
|
|
658
658
|
|
|
659
659
|
# 2.4.95
|
|
660
|
-
|
|
661
|
-
|
|
660
|
+
fix: Platform: avoid error at startup, because of StatusBar in web mode
|
|
661
|
+
enh: MatBooleanField: display value when disabled, instead of 'empty'
|
|
662
662
|
|
|
663
663
|
# 2.4.112
|
|
664
|
-
|
|
664
|
+
enh: AppBadge: allow to set a text or number content
|
|
665
665
|
|
|
666
666
|
# 2.4.114
|
|
667
|
-
|
|
667
|
+
enh: Menu: allow to add sub menu item
|
|
668
|
+
|
|
669
|
+
# 2.4.158
|
|
670
|
+
enh: Environment: add useHash property to configure Angular router to use hash URL (need by web-ext)
|
|
668
671
|
|
|
669
672
|
# 2.5.0
|
|
670
|
-
-
|
|
671
|
-
-
|
|
673
|
+
- enh: Add token APP_USER_SETTINGS_OPTIONS of type UserSettingsOptions to add user properties table in AccountPage
|
|
674
|
+
- fix: MatBooleanField: in checkbox style, the placeholder can be shown as expected
|
|
675
|
+
|
|
676
|
+
# 2.6.0
|
|
677
|
+
- enh: Account: Add User tokens (table and modal)
|
|
678
|
+
|
|
679
|
+
# 2.6.23
|
|
680
|
+
- fix: Fix Configuration.getPropertyAsNumbers() when no value (avoid to get an array with an unique NaN value)
|
|
681
|
+
|
|
682
|
+
# 2.6.25
|
|
683
|
+
- enh: Upgrade to nodejs 18
|
|
684
|
+
- fix: Menu: hide spacer divider ion-label (hide the skeleton)
|
|
685
|
+
|
|
686
|
+
# 2.6.28
|
|
687
|
+
- fix: ImageGallery: Change image's title background color
|
|
688
|
+
|
|
689
|
+
# 2.6.31
|
|
690
|
+
- fix: ImageGallery: Add output event when after editing title
|
|
691
|
+
|
|
692
|
+
# 2.6.32
|
|
693
|
+
- fix: AppFormArray: Avoid an infinite loop, when calling resize(0) if options.allowEmptyArray=false
|
|
694
|
+
- fix: Table, Form, Editor: fix error when markAsLoaded() on closed BehaviorSubject
|
|
695
|
+
- fix: Table, Form, Editor: Make sure waitIdle() will stop, when component is destroyed (force default opts)
|
|
696
|
+
|
|
697
|
+
# 2.6.34
|
|
698
|
+
- enh: functions: add a static function `underscoreToChangeCase()`
|
|
699
|
+
|
|
700
|
+
# 2.6.35
|
|
701
|
+
- fix: Settings: Add type for property `OfflineFeature.filter`, then use it to in `LocalSettingsService.getOfflineFeatures()`
|
|
702
|
+
|
|
703
|
+
# 2.6.38
|
|
704
|
+
- fix: Fix mapGet pipe, when key is zero (0)
|
|
705
|
+
|
|
706
|
+
# 2.6.39
|
|
707
|
+
- enh: table: Add an input `style: 'table'|mat-table` into `<app-actions-column>`, to be usable inside a `<table mat-table>` (using `<td>`) or `<mat-table>` (using `<mat-cell>`)
|
|
708
|
+
|
|
709
|
+
# 2.8.0
|
|
710
|
+
- enh: `IAppForm<T>` : add a type `<T=any>`
|
|
711
|
+
- enh: `IAppForm` : add optional functions `setValue()`, `patchValue()`, `resetValue()` and `getValue()`
|
|
712
|
+
- fix: `AppForm` and `AppEditor`: Remove unused and deprecated properties `_loading`, `_$ready`, `_$loading`
|
|
713
|
+
- fix: `AppForm` : rename `_enable` as `enabled` to avoid confusion with `enable()`
|
|
714
|
+
- enh: Add abstract class `AppFormContainer` to manage many `IAppForm` - and use it as a super class of `AppEditor`
|
|
715
|
+
- enh: Add new pipes for SelectionModel :
|
|
716
|
+
- `isSelected`: e.g. `selection | isSelected: row`,
|
|
717
|
+
- `isEmptySelection`: e.g. `selection | isEmptySelection`
|
|
718
|
+
- `isNotEmptySelection`: e.g. `selection | isNotEmptySelection`
|
|
719
|
+
- `selectionLength`: e.g. `selection | selectionLength`,
|
|
720
|
+
- `isMultipleSelection`: e.g. `selection | isMultipleSelection`,
|
|
721
|
+
- enh: Add new pipes for table :
|
|
722
|
+
- `isAllSelected`: e.g. `table | isAllSelected`,
|
|
723
|
+
- `isNotAllSelected`: e.g. `table | isNotAllSelected`
|
|
724
|
+
|
|
725
|
+
# 2.8.1
|
|
726
|
+
- enh: Add a pipe `badgeNumber` to limit badge content when > `99` (will display `99+`)
|
|
727
|
+
- enh: function setPropertyByPath() now return the input obj
|
|
728
|
+
- fix: Referential: fix `asObject()`
|
|
729
|
+
- enh: Add options:
|
|
730
|
+
- `sumaris.defaultLatLongFormat.enabled` to show/hide default Lat/Lon setting in account page (default is true)
|
|
731
|
+
- `sumaris.auth.api.token.scope.enabled` to show/hide scopes in API token table (default is false)
|
|
732
|
+
- `sumaris.auth.api.token.scope.default` set the default scope for new API token, mandatory if `sumaris.auth.api.token.scope.enabled` if false (default is 'read_api')
|
|
733
|
+
- enh: Add AppRowField component: wrap an AppFormField into a table column
|
|
734
|
+
- enh: Add pipe `valueFormat` to format a value with a FormFieldDefinition (equivalent to pipe `propertyFormat`)
|
|
735
|
+
- fix: `UploadFileComponent` Refactored
|
|
736
|
+
- enh: Add new config options to override the form field background color (active, focus or disabled)
|
|
737
|
+
- enh: Add new pipe `booleanFormat`
|
|
738
|
+
- enh: Update pipe `propertyFormat` to use complex path (using `getPropertyByPath()`)
|
|
739
|
+
- enh: Add static functions `CsvUtils.getLocalizedEncoding()` and `CsvUtils.getLocalizedSeparator()`
|
|
740
|
+
- enh: Add static function `JsonUtils.getLocalizedEncoding()`
|
|
741
|
+
|
|
742
|
+
# 2.8.2
|
|
743
|
+
- enh: Function `getPropertyByPath` now handles the optional chaining operator `(?.)`
|
|
744
|
+
- enh: Add `AccountService.onWillLogout` emitter
|
|
745
|
+
- fix: Table: Call `emitRefresh()` instead of `onRefresh.emit()` to safely emit to an opened Observable
|
|
746
|
+
|
|
747
|
+
# 2.8.3
|
|
748
|
+
- enh: Add support of `<mat-hint>` in MatDateTime, MatDate, MatDateShort, MatAutocompleteField and MatLatLongField
|
|
749
|
+
- enh: Add `DateUtils.compare` to be able to sort dates (using Array `sort()`)
|
|
750
|
+
- enh: Add function `resizeArray(T[], size): T[]`
|
|
751
|
+
- fix: NamedFilter: Abort import if callback returns null or undefined
|
|
752
|
+
- fix: DataSource: Allow to refresh datasource (using `watchAll()`) when having dirty row
|
|
753
|
+
|
|
754
|
+
# 2.8.4
|
|
755
|
+
- enh: MatBooleanField: add `@Input() clearable` (default to `false`)
|
|
756
|
+
- fix: MatBooleanField: when resetting value, hide radio buttons
|
|
757
|
+
|
|
758
|
+
# 2.8.11
|
|
759
|
+
- fix: MatBooleanField: hide checkbox's placeholder when floatLabel=never
|
|
760
|
+
|
|
761
|
+
# 2.8.12
|
|
762
|
+
- enh: Pipe `referentialToString`: add new option `propertySeparator` to override the default ' - ' separator
|
|
763
|
+
|
|
764
|
+
# 2.8.13
|
|
765
|
+
- enh: AsyncTable: make `setFilter()` async
|
|
766
|
+
|
|
767
|
+
# 2.8.14
|
|
768
|
+
- enh: Upgrade to ngx-material-table 17.2.1 (add options to TableElement `delete()`, `cancelOrDelete()` and `confirmEditCreate()`)
|
|
769
|
+
|
|
770
|
+
# 2.9.0
|
|
771
|
+
- enh: Upgrade to Angular 17.3
|
|
772
|
+
- fix: Replace zone.js `setTimeout()`, by rx-angular zone-less
|
|
773
|
+
- fix: IFormControlPathTranslator : Rename interface IFormControlPathTranslator into IFormPathTranslator, and rename property `controlPathTranslator` into `pathTranslator`
|
|
774
|
+
- fix: Remove deprecated validator `SharedValidators.double` (was renamed into `SharedValidators.decimal`)
|
|
775
|
+
- fix: AppAsyncTable: re add `@Input() get filter`
|
|
776
|
+
- fix: AppTable: clear selection when opening a row (like AppAsyncTable)
|
|
777
|
+
- fix: MatAutocompleteField: Add `@Input() panelClass` (same as `class`)
|
|
778
|
+
- fix: MatAutocompleteField: Allow boolean inputs from string (using `@Input({transform: booleanAttribute})`)
|
|
779
|
+
- fix: MatAutocompleteField: add `panelWidth` and `panelClass` to `MatAutocompleteFieldConfig`
|
|
780
|
+
|
|
781
|
+
# 2.9.1
|
|
782
|
+
- fix: MatAutocompleteField: revert `applyImplicitValue` default value `true`
|
|
783
|
+
- fix: MatChipsField: fix usage of `suggestLengthThreshold`
|
|
784
|
+
- enh: MatChipsField: add `applyImplicitValue` (default: false)
|
|
785
|
+
|
|
786
|
+
# 2.9.2
|
|
787
|
+
- fix: Notification list: add an ion-text-wrap to the notification message
|
|
788
|
+
|
|
789
|
+
# 2.9.3
|
|
790
|
+
- fix: Home: Add a call to `markForCheck()` after removing a page history item
|
|
791
|
+
|
|
792
|
+
# 2.9.4
|
|
793
|
+
- fix: Form: reduce line height of row label (form-container > ion-row > ion-col > ion-label)
|
|
794
|
+
|
|
795
|
+
# 2.9.6
|
|
796
|
+
- fix: MatAutocompleteField: Remove animation in searchbar (bad icon position in iOS)
|
|
797
|
+
|
|
798
|
+
# 2.9.7
|
|
799
|
+
- fix: Form: fix field label position (form-container > ion-row > ion-col > ion-label)
|
|
800
|
+
|
|
801
|
+
# 2.9.8
|
|
802
|
+
- enh: Add AppFormUtils.filterErrorsByPrefix() and AppFormUtils.filterErrors()
|
|
803
|
+
|
|
804
|
+
# 2.9.13
|
|
805
|
+
- fix: Home: when removing a page history, force settings to update
|
|
806
|
+
|
|
807
|
+
# 2.9.17
|
|
808
|
+
- fix: MatSelectPanel: add `--min-width: fit-content` to class `mat-select-panel-fit-content`
|
|
809
|
+
|
|
810
|
+
# 2.9.20
|
|
811
|
+
- enh: NamedFilterSelector: add `filterCleared` event
|
|
812
|
+
|
|
813
|
+
# 2.9.22
|
|
814
|
+
- enh(deps): Minor update to Angular 17.3.12
|
|
815
|
+
- enh(theme): Dark theme: Move dark theme toggle into the settings form
|
|
816
|
+
- enh(theme): Dark theme: Fix toggle field style, in dark theme
|
|
817
|
+
- enh(settings): Add icons on each form fields
|
|
818
|
+
- fix(config): When saving the remote config, do not return to the editor config's inherited properties
|
|
819
|
+
|
|
820
|
+
# 2.9.23
|
|
821
|
+
- fix(boolean-field): fix click on radio button 'no', when field has no value
|
|
822
|
+
|
|
823
|
+
# 2.11.1
|
|
824
|
+
- enh(deps): Upgrade to apollo-angular 7.1.2 and apollo 3.11 (+ fix breaking changes in graphql.service.ts)
|
|
825
|
+
- fix(css): Dark theme: fix checkbox style, and autocomplete panel
|
|
826
|
+
|
|
827
|
+
# 2.11.2
|
|
828
|
+
- enh(app-text-form): Add new inputs `appearance` and `subscriptSizing`
|
|
829
|
+
- fix(css): Dark theme: fix style for outline field
|
|
830
|
+
|
|
831
|
+
# 2.11.3
|
|
832
|
+
- fix(app-text-form): Input `autoHeight` is now deprecated (use `autoSize` instead)
|
|
833
|
+
- enh(app-text-form): Add new inputs `autoSizeMinRows` and `autoSizeMaxRows`
|
|
834
|
+
|
|
835
|
+
# 2.11.7
|
|
836
|
+
- fix(css): Dark theme: fix style
|
|
837
|
+
|
|
838
|
+
# 2.11.8
|
|
839
|
+
- enh(form-error): Add options to `IFormPathTranslator.translateFormPath()`
|
|
840
|
+
|
|
841
|
+
# 2.12.0
|
|
842
|
+
- enh(form-error): Remove deprecated interface `IFormControlPathTranslator`
|
|
843
|
+
|
|
844
|
+
# 2.12.4
|
|
845
|
+
- fix(date): Update formControl (and datePicker) when textControl value changes, and clean text input by regexp
|
|
846
|
+
- fix(date-time): Keep control as invalid is time is empty
|
|
847
|
+
- enh(date-time): Add new `@Input() allowNoTime` to make time optional
|
|
848
|
+
- fix(lat-long): Fix deletion, when press delete key
|
|
849
|
+
|
|
850
|
+
# 2.12.7
|
|
851
|
+
- fix: addShortcut handler use `KeyboardEvent` instead of a simple 'EVent'
|
|
852
|
+
|
|
853
|
+
# 2.12.8
|
|
854
|
+
- enh: function `toNumber()` will now return the default value, when input is `NaN`
|
|
855
|
+
|
|
856
|
+
# 2.12.9
|
|
857
|
+
- fix(paginator): Fix paginator style on mobile screen (align to the left, and hide page size, like before the Angular 17 migration)
|
|
858
|
+
|
|
859
|
+
# 2.12.10
|
|
860
|
+
- fix(autocomplete): Compute the panel width if not set (in mobile) - workaround for an issue in mat-select panel
|
|
861
|
+
|
|
862
|
+
# 2.12.12
|
|
863
|
+
- fix(theme): add all dark colors from material theme
|
|
864
|
+
- fix(autocomplete): in mobile device, add a text-wrap and a max-height in mat-option
|
|
865
|
+
|
|
866
|
+
# 2.12.13
|
|
867
|
+
- fix(config): New option `sumaris.account.latLongFormat.enable` to replace the deprecated option `sumaris.defaultLatLongFormat.enabled` (key was not well named)
|
|
868
|
+
|
|
869
|
+
# 2.12.16
|
|
870
|
+
- fix(autocomplete): Reload items when `showAllOnFocus = true`
|
|
871
|
+
- fix(autocomplete): Use `??` operator, instead of `toBoolean()`, `toNumber()` etc.
|
|
872
|
+
- enh(autocomplete): Add option `applyImplicitValue` to config
|
|
873
|
+
- enh(pipe): add a `asBoolean` pipe, with an optional predicate function as option (e.g. to test any value)
|
|
874
|
+
- enh(account): Allow to change password, if auth token is `token` (will update the pubkey)
|
|
875
|
+
- fix(lat-long): Refactor component (remove maskito placeholder use)
|
|
876
|
+
- enh(table): Add new component `<nav-actions-column>`
|
|
877
|
+
|
|
878
|
+
# 2.12.19
|
|
879
|
+
- fix(nav-actions-column): Fix when inside a `AppAsyncTable`
|
|
880
|
+
|
|
881
|
+
# 2.12.26
|
|
882
|
+
- enh(app-async-table): declare property `readonly cd: ChangeDetectorRef`
|
|
883
|
+
- enh(app-async-table): implement `markForCheck()` and `detectCHanges()`
|
|
884
|
+
- enh(app-table): declare property `readonly cd: ChangeDetectorRef`
|
|
885
|
+
- fix(app-table): call `detectChanges()` inside `editRow()`, `addRowToTable()` and `toggleSelectRow()` - need by SUMARiS (e.g. samples tables)
|
|
886
|
+
- fix(app-table): `toggleSelectRow()` should not call `event.preventDefault()` otherwise checkbox will not be checked
|
|
887
|
+
|
|
888
|
+
# 2.12.27
|
|
889
|
+
- enh(app-table): implement `markForCheck()` and `detectChanges()`
|
|
890
|
+
|
|
891
|
+
# 2.12.29
|
|
892
|
+
- fix(new-token-modal): Add a full form and fix save issue
|
|
893
|
+
|
|
894
|
+
# 2.12.30
|
|
895
|
+
- enh(platform): Add copy to clipboard return state
|
|
896
|
+
|
|
897
|
+
# 2.12.29
|
|
898
|
+
- fix(new-token-modal): Add a full form and fix save issue
|
|
899
|
+
|
|
900
|
+
# 18.0.0
|
|
901
|
+
- enh(deps) Upgrade to Angular 18.2.8 and Ionic 8.3
|
|
902
|
+
- enh(deps) Remove zone.js (enable experimental zoneless config)
|
|
903
|
+
- enh(properties-form): Use an autocomplete field to select an option, instead of a simple mat-select
|
|
904
|
+
- enh(properties-form): Add `@Input() showHintKey: boolean` to show option key (has a hint)
|
|
905
|
+
- enh(network-service): Avoid to restart the service if peer has not changed
|
|
906
|
+
- enh(AppFormArray): allow to use AppFormArray on any type (and not only Entity has before)
|
|
907
|
+
- enh(AppFormUtils) add useful static functions to enable/disable control(s)
|
|
908
|
+
- enh(autocomplete): add option `selectInputContentOnFocus` to option, to select the input content on focus in
|
|
909
|
+
- enh(app-named-filter-selector): Add `@Input() buttonsPosition: 'matSuffix'|'after'` to let user defined button position (inside the field, or after)
|
|
910
|
+
- fix(AppForm and AppFormContainer) log error using the child path (if defined using `addForm()`)
|
|
911
|
+
- fix(graphql) Fix pod error in JSON format, before parsing it (e.g. Oracle can return error on multiple lines)
|
|
912
|
+
- fix(nav-actions-column): Use `OnPush` changeDetection
|
|
913
|
+
- fix(form-field): Emit `(keyup.enter)` event, when field's type is `double`
|