@kalisio/kdk 2.6.3 → 2.7.0
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/core/api/application.js +2 -4
- package/core/api/authentication.js +2 -3
- package/core/api/db.js +10 -2
- package/core/api/hooks/hooks.authorisations.js +4 -2
- package/core/api/hooks/hooks.push.js +6 -2
- package/core/api/hooks/hooks.query.js +29 -12
- package/core/api/hooks/hooks.users.js +30 -17
- package/core/api/models/configurations.model.mongodb.js +4 -0
- package/core/api/services/authorisations/authorisations.service.js +1 -1
- package/core/api/services/configurations/configurations.hooks.js +33 -0
- package/core/api/services/index.js +41 -7
- package/core/api/services/messages/messages.hooks.js +9 -3
- package/core/client/api.js +14 -1
- package/core/client/capabilities.js +1 -6
- package/core/client/components/KAvatar.vue +24 -20
- package/core/client/components/account/KProfile.vue +10 -71
- package/core/client/components/account/index.js +0 -2
- package/core/client/components/app/KSettings.vue +1 -0
- package/core/client/components/collection/KBoard.vue +4 -3
- package/core/client/components/collection/KCardSection.vue +1 -0
- package/core/client/components/collection/KGrid.vue +2 -0
- package/core/client/components/collection/KTable.vue +5 -1
- package/core/client/components/collection/KTimeLine.vue +9 -1
- package/core/client/components/collection/index.js +0 -2
- package/core/client/components/form/KChipsField.vue +2 -1
- package/core/client/components/form/KEmailField.vue +1 -0
- package/core/client/components/form/KFileField.vue +22 -1
- package/core/client/components/form/KForm.vue +2 -0
- package/core/client/components/form/KItemField.vue +1 -0
- package/core/client/components/form/KNumberField.vue +1 -0
- package/core/client/components/form/KPasswordField.vue +1 -0
- package/core/client/components/form/KPhoneField.vue +1 -0
- package/core/client/components/form/KPropertyItemField.vue +1 -0
- package/core/client/components/form/KResolutionField.vue +1 -0
- package/core/client/components/form/KSelectField.vue +31 -0
- package/core/client/components/form/KTagField.vue +1 -0
- package/core/client/components/form/KTextField.vue +1 -0
- package/core/client/components/form/KTokenField.vue +1 -0
- package/core/client/components/form/KUnitField.vue +1 -0
- package/core/client/components/form/KUrlField.vue +1 -0
- package/core/client/components/graphics/KIcon.vue +3 -4
- package/core/client/components/layout/KPage.vue +1 -0
- package/core/client/components/layout/KWindow.vue +6 -3
- package/core/client/components/messages/KMessageComposer.vue +2 -1
- package/core/client/components/messages/KMessagesTimeLine.vue +1 -1
- package/core/client/components/time/KDate.vue +1 -2
- package/core/client/components/time/KDateTime.vue +11 -11
- package/core/client/components/time/KTime.vue +1 -1
- package/core/client/composables/collection.js +33 -8
- package/core/client/composables/errors.js +1 -1
- package/core/client/composables/layout.js +9 -9
- package/core/client/configurations.js +50 -0
- package/core/client/exporter.js +1 -1
- package/core/client/i18n/core_en.json +6 -39
- package/core/client/i18n/core_fr.json +6 -39
- package/core/client/index.js +2 -0
- package/core/client/layout.js +8 -8
- package/core/client/mixins/mixin.base-activity.js +5 -2
- package/core/client/mixins/mixin.base-field.js +3 -3
- package/core/client/search.js +2 -1
- package/core/client/utils/utils.collection.js +8 -8
- package/core/client/utils/utils.items.js +4 -0
- package/core/client/utils/utils.push.js +3 -3
- package/core/client/utils/utils.session.js +7 -5
- package/core/client/utils/utils.shapes.js +38 -7
- package/core/client/utils/utils.time.js +21 -22
- package/core/common/schemas/users.update-profile.json +3 -2
- package/coverage/core/api/application.js.html +1 -1
- package/coverage/core/api/authentication.js.html +1 -1
- package/coverage/core/api/db.js.html +1 -1
- package/coverage/core/api/hooks/hooks.authentication.js.html +1 -1
- package/coverage/core/api/hooks/hooks.authorisations.js.html +1 -1
- package/coverage/core/api/hooks/hooks.logger.js.html +1 -1
- package/coverage/core/api/hooks/hooks.model.js.html +1 -1
- package/coverage/core/api/hooks/hooks.push.js.html +22 -10
- package/coverage/core/api/hooks/hooks.query.js.html +33 -6
- package/coverage/core/api/hooks/hooks.schemas.js.html +1 -1
- package/coverage/core/api/hooks/hooks.service.js.html +1 -1
- package/coverage/core/api/hooks/hooks.storage.js.html +1 -1
- package/coverage/core/api/hooks/hooks.tags.js.html +1 -1
- package/coverage/core/api/hooks/hooks.users.js.html +4 -4
- package/coverage/core/api/hooks/index.html +23 -23
- package/coverage/core/api/hooks/index.js.html +1 -1
- package/coverage/core/api/index.html +1 -1
- package/coverage/core/api/index.js.html +1 -1
- package/coverage/core/api/marshall.js.html +1 -1
- package/coverage/core/api/models/configurations.model.mongodb.js.html +1 -1
- package/coverage/core/api/models/index.html +1 -1
- package/coverage/core/api/models/messages.model.mongodb.js.html +1 -1
- package/coverage/core/api/models/tags.model.mongodb.js.html +1 -1
- package/coverage/core/api/models/users.model.mongodb.js.html +1 -1
- package/coverage/core/api/services/account/account.hooks.js.html +1 -1
- package/coverage/core/api/services/account/account.service.js.html +1 -1
- package/coverage/core/api/services/account/index.html +1 -1
- package/coverage/core/api/services/authorisations/authorisations.hooks.js.html +1 -1
- package/coverage/core/api/services/authorisations/authorisations.service.js.html +1 -1
- package/coverage/core/api/services/authorisations/index.html +1 -1
- package/coverage/core/api/services/configurations/configurations.hooks.js.html +1 -1
- package/coverage/core/api/services/configurations/index.html +1 -1
- package/coverage/core/api/services/databases/databases.hooks.js.html +1 -1
- package/coverage/core/api/services/databases/databases.service.js.html +1 -1
- package/coverage/core/api/services/databases/index.html +1 -1
- package/coverage/core/api/services/import-export/import-export.hooks.js.html +1 -1
- package/coverage/core/api/services/import-export/import-export.service.js.html +1 -1
- package/coverage/core/api/services/import-export/index.html +1 -1
- package/coverage/core/api/services/index.html +1 -1
- package/coverage/core/api/services/index.js.html +1 -1
- package/coverage/core/api/services/mailer/index.html +1 -1
- package/coverage/core/api/services/mailer/mailer.hooks.js.html +1 -1
- package/coverage/core/api/services/mailer/mailer.service.js.html +1 -1
- package/coverage/core/api/services/messages/index.html +1 -1
- package/coverage/core/api/services/messages/messages.hooks.js.html +1 -1
- package/coverage/core/api/services/push/index.html +1 -1
- package/coverage/core/api/services/push/push.hooks.js.html +1 -1
- package/coverage/core/api/services/push/push.service.js.html +1 -1
- package/coverage/core/api/services/storage/index.html +1 -1
- package/coverage/core/api/services/storage/storage.hooks.js.html +1 -1
- package/coverage/core/api/services/storage/storage.service.js.html +1 -1
- package/coverage/core/api/services/tags/index.html +1 -1
- package/coverage/core/api/services/tags/tags.hooks.js.html +1 -1
- package/coverage/core/api/services/users/index.html +1 -1
- package/coverage/core/api/services/users/users.hooks.js.html +1 -1
- package/coverage/core/api/services/users/users.service.js.html +1 -1
- package/coverage/core/common/errors.js.html +1 -1
- package/coverage/core/common/index.html +1 -1
- package/coverage/core/common/index.js.html +1 -1
- package/coverage/core/common/permissions.js.html +1 -1
- package/coverage/core/common/schema.js.html +1 -1
- package/coverage/core/common/utils.js.html +1 -1
- package/coverage/core/common/utils.offline.js.html +1 -1
- package/coverage/index.html +17 -17
- package/coverage/lcov-report/core/api/application.js.html +1 -1
- package/coverage/lcov-report/core/api/authentication.js.html +1 -1
- package/coverage/lcov-report/core/api/db.js.html +1 -1
- package/coverage/lcov-report/core/api/hooks/hooks.authentication.js.html +1 -1
- package/coverage/lcov-report/core/api/hooks/hooks.authorisations.js.html +1 -1
- package/coverage/lcov-report/core/api/hooks/hooks.logger.js.html +1 -1
- package/coverage/lcov-report/core/api/hooks/hooks.model.js.html +1 -1
- package/coverage/lcov-report/core/api/hooks/hooks.push.js.html +22 -10
- package/coverage/lcov-report/core/api/hooks/hooks.query.js.html +33 -6
- package/coverage/lcov-report/core/api/hooks/hooks.schemas.js.html +1 -1
- package/coverage/lcov-report/core/api/hooks/hooks.service.js.html +1 -1
- package/coverage/lcov-report/core/api/hooks/hooks.storage.js.html +1 -1
- package/coverage/lcov-report/core/api/hooks/hooks.tags.js.html +1 -1
- package/coverage/lcov-report/core/api/hooks/hooks.users.js.html +4 -4
- package/coverage/lcov-report/core/api/hooks/index.html +23 -23
- package/coverage/lcov-report/core/api/hooks/index.js.html +1 -1
- package/coverage/lcov-report/core/api/index.html +1 -1
- package/coverage/lcov-report/core/api/index.js.html +1 -1
- package/coverage/lcov-report/core/api/marshall.js.html +1 -1
- package/coverage/lcov-report/core/api/models/configurations.model.mongodb.js.html +1 -1
- package/coverage/lcov-report/core/api/models/index.html +1 -1
- package/coverage/lcov-report/core/api/models/messages.model.mongodb.js.html +1 -1
- package/coverage/lcov-report/core/api/models/tags.model.mongodb.js.html +1 -1
- package/coverage/lcov-report/core/api/models/users.model.mongodb.js.html +1 -1
- package/coverage/lcov-report/core/api/services/account/account.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/account/account.service.js.html +1 -1
- package/coverage/lcov-report/core/api/services/account/index.html +1 -1
- package/coverage/lcov-report/core/api/services/authorisations/authorisations.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/authorisations/authorisations.service.js.html +1 -1
- package/coverage/lcov-report/core/api/services/authorisations/index.html +1 -1
- package/coverage/lcov-report/core/api/services/configurations/configurations.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/configurations/index.html +1 -1
- package/coverage/lcov-report/core/api/services/databases/databases.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/databases/databases.service.js.html +1 -1
- package/coverage/lcov-report/core/api/services/databases/index.html +1 -1
- package/coverage/lcov-report/core/api/services/import-export/import-export.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/import-export/import-export.service.js.html +1 -1
- package/coverage/lcov-report/core/api/services/import-export/index.html +1 -1
- package/coverage/lcov-report/core/api/services/index.html +1 -1
- package/coverage/lcov-report/core/api/services/index.js.html +1 -1
- package/coverage/lcov-report/core/api/services/mailer/index.html +1 -1
- package/coverage/lcov-report/core/api/services/mailer/mailer.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/mailer/mailer.service.js.html +1 -1
- package/coverage/lcov-report/core/api/services/messages/index.html +1 -1
- package/coverage/lcov-report/core/api/services/messages/messages.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/push/index.html +1 -1
- package/coverage/lcov-report/core/api/services/push/push.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/push/push.service.js.html +1 -1
- package/coverage/lcov-report/core/api/services/storage/index.html +1 -1
- package/coverage/lcov-report/core/api/services/storage/storage.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/storage/storage.service.js.html +1 -1
- package/coverage/lcov-report/core/api/services/tags/index.html +1 -1
- package/coverage/lcov-report/core/api/services/tags/tags.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/users/index.html +1 -1
- package/coverage/lcov-report/core/api/services/users/users.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/users/users.service.js.html +1 -1
- package/coverage/lcov-report/core/common/errors.js.html +1 -1
- package/coverage/lcov-report/core/common/index.html +1 -1
- package/coverage/lcov-report/core/common/index.js.html +1 -1
- package/coverage/lcov-report/core/common/permissions.js.html +1 -1
- package/coverage/lcov-report/core/common/schema.js.html +1 -1
- package/coverage/lcov-report/core/common/utils.js.html +1 -1
- package/coverage/lcov-report/core/common/utils.offline.js.html +1 -1
- package/coverage/lcov-report/index.html +17 -17
- package/coverage/lcov-report/map/api/hooks/hooks.catalog.js.html +1 -1
- package/coverage/lcov-report/map/api/hooks/hooks.features.js.html +1 -1
- package/coverage/lcov-report/map/api/hooks/hooks.query.js.html +184 -4
- package/coverage/lcov-report/map/api/hooks/index.html +5 -5
- package/coverage/lcov-report/map/api/hooks/index.js.html +1 -1
- package/coverage/lcov-report/map/api/index.html +1 -1
- package/coverage/lcov-report/map/api/index.js.html +1 -1
- package/coverage/lcov-report/map/api/marshall.js.html +1 -1
- package/coverage/lcov-report/map/api/models/alerts.model.mongodb.js.html +1 -1
- package/coverage/lcov-report/map/api/models/catalog.model.mongodb.js.html +1 -1
- package/coverage/lcov-report/map/api/models/features.model.mongodb.js.html +1 -1
- package/coverage/lcov-report/map/api/models/index.html +1 -1
- package/coverage/lcov-report/map/api/models/projects.model.mongodb.js.html +1 -1
- package/coverage/lcov-report/map/api/models/styles.model.mongodb.js.html +1 -1
- package/coverage/lcov-report/map/api/services/alerts/alerts.hooks.js.html +1 -1
- package/coverage/lcov-report/map/api/services/alerts/alerts.service.js.html +1 -1
- package/coverage/lcov-report/map/api/services/alerts/index.html +1 -1
- package/coverage/lcov-report/map/api/services/catalog/catalog.hooks.js.html +1 -1
- package/coverage/lcov-report/map/api/services/catalog/index.html +1 -1
- package/coverage/lcov-report/map/api/services/daptiles/daptiles.service.js.html +1 -1
- package/coverage/lcov-report/map/api/services/daptiles/index.html +1 -1
- package/coverage/lcov-report/map/api/services/features/features.hooks.js.html +1 -1
- package/coverage/lcov-report/map/api/services/features/features.service.js.html +1 -1
- package/coverage/lcov-report/map/api/services/features/index.html +1 -1
- package/coverage/lcov-report/map/api/services/index.html +1 -1
- package/coverage/lcov-report/map/api/services/index.js.html +1 -1
- package/coverage/lcov-report/map/api/services/projects/index.html +1 -1
- package/coverage/lcov-report/map/api/services/projects/projects.hooks.js.html +1 -1
- package/coverage/lcov-report/map/api/services/styles/index.html +1 -1
- package/coverage/lcov-report/map/api/services/styles/styles.hooks.js.html +1 -1
- package/coverage/lcov-report/map/common/dynamic-grid-source.js.html +1 -1
- package/coverage/lcov-report/map/common/errors.js.html +1 -1
- package/coverage/lcov-report/map/common/geotiff-grid-source.js.html +1 -1
- package/coverage/lcov-report/map/common/grid.js.html +1 -1
- package/coverage/lcov-report/map/common/index.html +1 -1
- package/coverage/lcov-report/map/common/index.js.html +1 -1
- package/coverage/lcov-report/map/common/meteo-model-grid-source.js.html +1 -1
- package/coverage/lcov-report/map/common/moment-utils.js.html +1 -1
- package/coverage/lcov-report/map/common/opendap-grid-source.js.html +1 -1
- package/coverage/lcov-report/map/common/opendap-utils.js.html +1 -1
- package/coverage/lcov-report/map/common/permissions.js.html +1 -1
- package/coverage/lcov-report/map/common/time-based-grid-source.js.html +1 -1
- package/coverage/lcov-report/map/common/tms-utils.js.html +1 -1
- package/coverage/lcov-report/map/common/wcs-grid-source.js.html +1 -1
- package/coverage/lcov-report/map/common/wcs-utils.js.html +1 -1
- package/coverage/lcov-report/map/common/weacast-grid-source.js.html +1 -1
- package/coverage/lcov-report/map/common/wfs-utils.js.html +1 -1
- package/coverage/lcov-report/map/common/wms-utils.js.html +1 -1
- package/coverage/lcov-report/map/common/wmts-utils.js.html +1 -1
- package/coverage/lcov.info +358 -280
- package/coverage/map/api/hooks/hooks.catalog.js.html +1 -1
- package/coverage/map/api/hooks/hooks.features.js.html +1 -1
- package/coverage/map/api/hooks/hooks.query.js.html +184 -4
- package/coverage/map/api/hooks/index.html +5 -5
- package/coverage/map/api/hooks/index.js.html +1 -1
- package/coverage/map/api/index.html +1 -1
- package/coverage/map/api/index.js.html +1 -1
- package/coverage/map/api/marshall.js.html +1 -1
- package/coverage/map/api/models/alerts.model.mongodb.js.html +1 -1
- package/coverage/map/api/models/catalog.model.mongodb.js.html +1 -1
- package/coverage/map/api/models/features.model.mongodb.js.html +1 -1
- package/coverage/map/api/models/index.html +1 -1
- package/coverage/map/api/models/projects.model.mongodb.js.html +1 -1
- package/coverage/map/api/models/styles.model.mongodb.js.html +1 -1
- package/coverage/map/api/services/alerts/alerts.hooks.js.html +1 -1
- package/coverage/map/api/services/alerts/alerts.service.js.html +1 -1
- package/coverage/map/api/services/alerts/index.html +1 -1
- package/coverage/map/api/services/catalog/catalog.hooks.js.html +1 -1
- package/coverage/map/api/services/catalog/index.html +1 -1
- package/coverage/map/api/services/daptiles/daptiles.service.js.html +1 -1
- package/coverage/map/api/services/daptiles/index.html +1 -1
- package/coverage/map/api/services/features/features.hooks.js.html +1 -1
- package/coverage/map/api/services/features/features.service.js.html +1 -1
- package/coverage/map/api/services/features/index.html +1 -1
- package/coverage/map/api/services/index.html +1 -1
- package/coverage/map/api/services/index.js.html +1 -1
- package/coverage/map/api/services/projects/index.html +1 -1
- package/coverage/map/api/services/projects/projects.hooks.js.html +1 -1
- package/coverage/map/api/services/styles/index.html +1 -1
- package/coverage/map/api/services/styles/styles.hooks.js.html +1 -1
- package/coverage/map/common/dynamic-grid-source.js.html +1 -1
- package/coverage/map/common/errors.js.html +1 -1
- package/coverage/map/common/geotiff-grid-source.js.html +1 -1
- package/coverage/map/common/grid.js.html +1 -1
- package/coverage/map/common/index.html +1 -1
- package/coverage/map/common/index.js.html +1 -1
- package/coverage/map/common/meteo-model-grid-source.js.html +1 -1
- package/coverage/map/common/moment-utils.js.html +1 -1
- package/coverage/map/common/opendap-grid-source.js.html +1 -1
- package/coverage/map/common/opendap-utils.js.html +1 -1
- package/coverage/map/common/permissions.js.html +1 -1
- package/coverage/map/common/time-based-grid-source.js.html +1 -1
- package/coverage/map/common/tms-utils.js.html +1 -1
- package/coverage/map/common/wcs-grid-source.js.html +1 -1
- package/coverage/map/common/wcs-utils.js.html +1 -1
- package/coverage/map/common/weacast-grid-source.js.html +1 -1
- package/coverage/map/common/wfs-utils.js.html +1 -1
- package/coverage/map/common/wms-utils.js.html +1 -1
- package/coverage/map/common/wmts-utils.js.html +1 -1
- package/coverage/tmp/coverage-1028514-1773134124472-0.json +1 -0
- package/coverage/tmp/coverage-1028526-1773134124448-0.json +1 -0
- package/coverage/tmp/coverage-1028537-1773134124431-0.json +1 -0
- package/coverage/tmp/coverage-1028549-1773134124401-0.json +1 -0
- package/coverage/tmp/{coverage-222566-1765963609278-0.json → coverage-1028556-1773134124353-0.json} +1 -1
- package/extras/configs/widgets.top.js +3 -3
- package/extras/tests/core/collection.mjs +2 -9
- package/map/api/hooks/hooks.catalog.js +18 -4
- package/map/api/services/catalog/catalog.hooks.js +3 -0
- package/map/api/services/features/features.hooks.js +3 -1
- package/map/api/services/index.js +2 -6
- package/map/api/services/styles/styles.hooks.js +6 -1
- package/map/client/components/KFeatureActionButton.vue +9 -3
- package/map/client/components/KFeaturesFilterManager.vue +5 -5
- package/map/client/components/KFilterCondition.vue +17 -10
- package/map/client/components/KLayerEditor.vue +49 -39
- package/map/client/components/KMeasureTool.vue +7 -1
- package/map/client/components/KTimezoneMap.vue +29 -9
- package/map/client/components/catalog/KLayersPanel.vue +26 -16
- package/map/client/components/catalog/KLayersSelector.vue +13 -2
- package/map/client/components/catalog/KViewsPanel.vue +5 -4
- package/map/client/components/form/KSelectLayersField.vue +28 -17
- package/map/client/components/form/KSelectViewsField.vue +18 -9
- package/map/client/components/form/KTimezoneField.vue +1 -2
- package/map/client/components/legend/KVariablesLegend.vue +10 -1
- package/map/client/components/location/KLocationCardSection.vue +7 -2
- package/map/client/components/location/KLocationMap.vue +31 -7
- package/map/client/components/selection/KSelectedLayerFeatures.vue +2 -2
- package/map/client/components/stickies/KZoomControl.vue +1 -1
- package/map/client/components/styles/KStyleManager.vue +4 -1
- package/map/client/components/widget/KTimeSeries.vue +174 -497
- package/map/client/components/widget/KTimeSeriesSelector.vue +72 -0
- package/map/client/components/widget/KTimeSeriesToolbar.vue +83 -0
- package/map/client/composables/catalog.js +6 -10
- package/map/client/composables/highlight.js +12 -9
- package/map/client/composables/project.js +1 -1
- package/map/client/composables/selection.js +8 -7
- package/map/client/composables/weather.js +9 -2
- package/map/client/geolocation.js +8 -5
- package/map/client/i18n/map_en.json +10 -8
- package/map/client/i18n/map_fr.json +9 -7
- package/map/client/leaflet/TiledFeatureLayer.js +85 -82
- package/map/client/leaflet/utils/utils.geojson.js +3 -3
- package/map/client/mixins/globe/mixin.base-globe.js +15 -6
- package/map/client/mixins/globe/mixin.geojson-layers.js +27 -18
- package/map/client/mixins/map/mixin.edit-layers.js +9 -1
- package/map/client/mixins/map/mixin.pmtiles-layers.js +118 -29
- package/map/client/mixins/map/mixin.tiled-mesh-layers.js +12 -5
- package/map/client/mixins/map/mixin.tiled-wind-layers.js +19 -10
- package/map/client/mixins/mixin.activity.js +23 -30
- package/map/client/mixins/mixin.feature-selection.js +41 -5
- package/map/client/planets.js +1 -1
- package/map/client/readers/reader.kml.js +2 -3
- package/map/client/utils/utils.catalog.js +36 -10
- package/map/client/utils/utils.layers.js +39 -8
- package/map/client/utils/utils.project.js +4 -0
- package/map/client/utils/utils.style.js +37 -7
- package/map/client/utils/utils.time-series.js +215 -6
- package/map/common/schemas/catalog.update.json +1 -1
- package/map/common/weacast-grid-source.js +1 -1
- package/package.json +3 -3
- package/scripts/kash/CHANGELOG.md +0 -4
- package/scripts/kash/README.md +0 -9
- package/scripts/kash/kash.sh +45 -40
- package/scripts/kash/scripts/run_tests.sh +1 -4
- package/test/api/core/authentication.test.js +9 -4
- package/test/api/core/config/default.cjs +1 -0
- package/test/api/core/hooks.test.js +6 -0
- package/test/api/core/index.test.js +43 -18
- package/test/api/core/push.test.js +8 -8
- package/test/api/core/test-log-2026-03-10.log +60 -0
- package/test/api/core/users.test.js +384 -0
- package/test/api/map/grid-sources.test.js +1 -1
- package/test/api/map/test-log-2026-03-10.log +56 -0
- package/vite/package.json +11 -2
- package/vite/test/core/composables.test.js +77 -0
- package/vite/vitest.config.js +13 -0
- package/vite/yarn.lock +1096 -18
- package/client/css/core.variables.scss +0 -72
- package/client/i18n/core_en.json +0 -744
- package/client/i18n/core_fr.json +0 -744
- package/client/i18n/map_en.json +0 -800
- package/client/i18n/map_fr.json +0 -800
- package/client/kdk.client.css +0 -47
- package/client/kdk.client.js +0 -41097
- package/client/kdk.client.map.css +0 -47
- package/client/kdk.client.map.js +0 -38182
- package/client/kdk.client.map.min.css +0 -1
- package/client/kdk.client.map.min.js +0 -27032
- package/client/kdk.client.min.css +0 -1
- package/client/kdk.client.min.js +0 -29074
- package/client/schemas/capture.create.json +0 -132
- package/client/schemas/catalog.update.json +0 -44
- package/client/schemas/messages.update.json +0 -16
- package/client/schemas/projects.create.json +0 -52
- package/client/schemas/projects.update.json +0 -52
- package/client/schemas/settings.update.json +0 -286
- package/client/schemas/tags.update.json +0 -35
- package/client/schemas/users.update-profile.json +0 -34
- package/core/client/components/account/KAccount.vue +0 -68
- package/core/client/components/account/KDeleteAccountManager.vue +0 -62
- package/core/client/components/account/KEmailManager.vue +0 -128
- package/core/client/components/account/KPasswordManager.vue +0 -90
- package/core/client/components/account/KVerifyEmailManager.vue +0 -105
- package/core/client/components/collection/KColumn.vue +0 -227
- package/core/client/components/collection/KHistory.vue +0 -113
- package/core/client/components/collection/KHistoryEntry.vue +0 -109
- package/coverage/tmp/coverage-222524-1765963609350-0.json +0 -1
- package/coverage/tmp/coverage-222536-1765963609335-0.json +0 -1
- package/coverage/tmp/coverage-222547-1765963609324-0.json +0 -1
- package/coverage/tmp/coverage-222559-1765963609309-0.json +0 -1
- package/scripts/kash/LICENSE +0 -21
- package/test/api/core/test-log-2025-07-31.log +0 -15
- package/test/api/core/test-log-2025-10-03.log +0 -18
- package/test/api/core/test-log-2025-11-10.log +0 -0
- package/test/api/core/test-log-2025-11-12.log +0 -117
- package/test/api/core/test-log-2025-11-27.log +0 -0
- package/test/api/core/test-log-2025-11-28.log +0 -17
- package/test/api/core/test-log-2025-12-09.log +0 -148
- package/test/api/core/test-log-2025-12-17.log +0 -58
- package/test/api/core/test-log-2026-01-29.log +0 -17
- package/test/api/map/test-log-2025-07-23.log +0 -1
- package/test/api/map/test-log-2025-11-28.log +0 -33
- package/test/api/map/test-log-2025-12-10.log +0 -2
- package/test/api/map/test-log-2026-01-06.log +0 -26
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
|
|
41
41
|
<script>
|
|
42
42
|
import _ from 'lodash'
|
|
43
|
-
import {
|
|
43
|
+
import { Context, api, mixins as kCoreMixins } from '../../../../core/client'
|
|
44
44
|
import { useCatalog } from '../../composables'
|
|
45
45
|
|
|
46
46
|
export default {
|
|
@@ -123,7 +123,7 @@ export default {
|
|
|
123
123
|
mounted () {
|
|
124
124
|
this.getLayers()
|
|
125
125
|
this.getCategories()
|
|
126
|
-
if (
|
|
126
|
+
if (typeof this.getContextLayers === 'function') {
|
|
127
127
|
this.getContextLayers()
|
|
128
128
|
this.getContextCategories()
|
|
129
129
|
}
|
|
@@ -132,28 +132,39 @@ export default {
|
|
|
132
132
|
// Use global catalog
|
|
133
133
|
const { layers, getLayers, categories, getCategories, layersByCategory, orphanLayers } =
|
|
134
134
|
useCatalog({ context: 'global' })
|
|
135
|
-
// Use local catalog if any
|
|
136
|
-
const {
|
|
137
|
-
layers: contextLayers, getLayers: getContextLayers, categories: contextCategories, getCategories: getContextCategories,
|
|
138
|
-
layersByCategory: contextLayersByCategory, orphanLayers: orphanContextLayers
|
|
139
|
-
} =
|
|
140
|
-
useCatalog({ context: Store.get('context') })
|
|
141
|
-
|
|
142
135
|
// Expose
|
|
143
|
-
|
|
136
|
+
const expose = {
|
|
144
137
|
layersByCategory,
|
|
145
138
|
orphanLayers,
|
|
146
139
|
layers,
|
|
147
140
|
getLayers,
|
|
148
141
|
categories,
|
|
149
|
-
getCategories
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
142
|
+
getCategories
|
|
143
|
+
}
|
|
144
|
+
// Use local catalog if any
|
|
145
|
+
if (Context.get() && api.hasService('catalog', Context.get())) {
|
|
146
|
+
const {
|
|
147
|
+
layers: contextLayers, getLayers: getContextLayers, categories: contextCategories, getCategories: getContextCategories,
|
|
148
|
+
layersByCategory: contextLayersByCategory, orphanLayers: orphanContextLayers
|
|
149
|
+
} = useCatalog({ context: Context.get() })
|
|
150
|
+
Object.assign(expose, {
|
|
151
|
+
contextLayersByCategory,
|
|
152
|
+
orphanContextLayers,
|
|
153
|
+
contextLayers,
|
|
154
|
+
getContextLayers,
|
|
155
|
+
contextCategories,
|
|
156
|
+
getContextCategories
|
|
157
|
+
})
|
|
158
|
+
} else {
|
|
159
|
+
Object.assign(expose, {
|
|
160
|
+
contextLayersByCategory: {},
|
|
161
|
+
orphanContextLayers: [],
|
|
162
|
+
contextLayers: [],
|
|
163
|
+
contextCategories: []
|
|
164
|
+
})
|
|
156
165
|
}
|
|
166
|
+
|
|
167
|
+
return expose
|
|
157
168
|
}
|
|
158
169
|
}
|
|
159
170
|
</script>
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
|
|
50
50
|
<script>
|
|
51
51
|
import _ from 'lodash'
|
|
52
|
-
import {
|
|
52
|
+
import { Context, api, mixins as kCoreMixins } from '../../../../core/client'
|
|
53
53
|
import { useCatalog } from '../../composables'
|
|
54
54
|
|
|
55
55
|
export default {
|
|
@@ -99,23 +99,32 @@ export default {
|
|
|
99
99
|
},
|
|
100
100
|
mounted () {
|
|
101
101
|
this.getViews()
|
|
102
|
-
if (
|
|
102
|
+
if (typeof this.getContextViews === 'function') {
|
|
103
103
|
this.getContextViews()
|
|
104
104
|
}
|
|
105
105
|
},
|
|
106
106
|
setup (props) {
|
|
107
107
|
// Use global catalog
|
|
108
108
|
const { views, getViews } = useCatalog({ context: 'global' })
|
|
109
|
-
// Use local catalog
|
|
110
|
-
const { views: contextViews, getViews: getContextViews } = useCatalog({ context: Store.get('context') })
|
|
111
|
-
|
|
112
109
|
// Expose
|
|
113
|
-
|
|
110
|
+
const expose = {
|
|
114
111
|
views,
|
|
115
|
-
getViews
|
|
116
|
-
contextViews,
|
|
117
|
-
getContextViews
|
|
112
|
+
getViews
|
|
118
113
|
}
|
|
114
|
+
// Use local catalog if any
|
|
115
|
+
if (Context.get() && api.hasService('catalog', Context.get())) {
|
|
116
|
+
const { views: contextViews, getViews: getContextViews } = useCatalog({ context: Context.get() })
|
|
117
|
+
Object.assign(expose, {
|
|
118
|
+
contextViews,
|
|
119
|
+
getContextViews
|
|
120
|
+
})
|
|
121
|
+
} else {
|
|
122
|
+
Object.assign(expose, {
|
|
123
|
+
contextViews: []
|
|
124
|
+
})
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
return expose
|
|
119
128
|
}
|
|
120
129
|
}
|
|
121
130
|
</script>
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
v-model="model"
|
|
11
11
|
:label="label"
|
|
12
12
|
:options="options"
|
|
13
|
+
clearable
|
|
13
14
|
use-input
|
|
14
15
|
hide-dropdown-icon
|
|
15
16
|
@update:model-value='onChanged'
|
|
@@ -116,8 +117,6 @@ export default {
|
|
|
116
117
|
this.$refs.timezoneMapModal.close()
|
|
117
118
|
if (fill) {
|
|
118
119
|
this.fill(this.mapTimezone)
|
|
119
|
-
// Seems to be required to correctly update the label in the q-select
|
|
120
|
-
await this.$nextTick()
|
|
121
120
|
}
|
|
122
121
|
},
|
|
123
122
|
onAutocomplete (value, update) {
|
|
@@ -22,6 +22,7 @@ import logger from 'loglevel'
|
|
|
22
22
|
import { computed } from 'vue'
|
|
23
23
|
import { i18n } from '../../../../core/client'
|
|
24
24
|
import { Units } from '../../../../core/client/units'
|
|
25
|
+
import { useCurrentActivity } from '../../composables'
|
|
25
26
|
import { KColorScale } from '../../../../core/client/components'
|
|
26
27
|
import KLegendRenderer from './KLegendRenderer.vue'
|
|
27
28
|
|
|
@@ -41,6 +42,9 @@ const props = defineProps({
|
|
|
41
42
|
}
|
|
42
43
|
})
|
|
43
44
|
|
|
45
|
+
// Data
|
|
46
|
+
const { CurrentActivity } = useCurrentActivity({ selection: false, probe: false })
|
|
47
|
+
|
|
44
48
|
// Computed
|
|
45
49
|
const variables = computed(() => {
|
|
46
50
|
const regexp = new RegExp(props.content)
|
|
@@ -54,9 +58,14 @@ const variables = computed(() => {
|
|
|
54
58
|
.map(variable => {
|
|
55
59
|
// Pick useful properties
|
|
56
60
|
let { name, label, chromajs, unit } = _.pick(variable, ['name', 'label', 'chromajs', 'unit'])
|
|
61
|
+
// We allow variable name to be customized based on level information
|
|
62
|
+
label = _.template(i18n.tie(label))({
|
|
63
|
+
level: (CurrentActivity.value ? CurrentActivity.value.selectedLevel : null),
|
|
64
|
+
levelUnit: (CurrentActivity.value && CurrentActivity.value.selectableLevels ? CurrentActivity.value.selectableLevels.unit : '')
|
|
65
|
+
})
|
|
57
66
|
// Avoid mutating layer data
|
|
58
67
|
const colorScale = _.cloneDeep(chromajs)
|
|
59
|
-
label = `${
|
|
68
|
+
label = `${label} (${Units.getTargetUnitSymbol(unit)})`
|
|
60
69
|
// Rename required properties for backward compatibility
|
|
61
70
|
if (colorScale.scale) {
|
|
62
71
|
colorScale.colors = colorScale.scale
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<div v-if="feature" class="full-width column">
|
|
10
10
|
<!-- Description -->
|
|
11
11
|
<KTextArea
|
|
12
|
-
:text="
|
|
12
|
+
:text="locationName"
|
|
13
13
|
:minHeight="24"
|
|
14
14
|
:maxHeight="204"
|
|
15
15
|
:dense="true"
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
|
|
41
41
|
<script setup>
|
|
42
42
|
import _ from 'lodash'
|
|
43
|
-
import { ref, watch } from 'vue'
|
|
43
|
+
import { ref, watch, computed } from 'vue'
|
|
44
44
|
import { utils as coreUtils } from '../../../../core.client'
|
|
45
45
|
import KLocationMap from './KLocationMap.vue'
|
|
46
46
|
import KLocationTip from './KLocationTip.vue'
|
|
@@ -68,6 +68,11 @@ const props = defineProps({
|
|
|
68
68
|
// Data
|
|
69
69
|
const feature = ref(null)
|
|
70
70
|
|
|
71
|
+
// Computed
|
|
72
|
+
const locationName = computed(() => {
|
|
73
|
+
return _.get(feature.value, `properties.${props.namePath}`)
|
|
74
|
+
})
|
|
75
|
+
|
|
71
76
|
// Watch
|
|
72
77
|
watch(() => [props.item, props.locationPath], () => {
|
|
73
78
|
if (_.get(props.item, 'type') === 'Feature') feature.value = _.cloneDeep(props.item)
|
|
@@ -17,10 +17,12 @@ import _ from 'lodash'
|
|
|
17
17
|
import logger from 'loglevel'
|
|
18
18
|
import L from 'leaflet'
|
|
19
19
|
import config from 'config'
|
|
20
|
+
import sift from 'sift'
|
|
20
21
|
import centroid from '@turf/centroid'
|
|
21
22
|
import { KPanel } from '../../../../core/client/components'
|
|
22
23
|
import { api } from '../../../../core/client/api.js'
|
|
23
24
|
import { Store } from '../../../../core/client/store.js'
|
|
25
|
+
import { Context } from '../../../../core/client/context.js'
|
|
24
26
|
import * as mapMixins from '../../mixins/map'
|
|
25
27
|
import { Geolocation } from '../../geolocation.js'
|
|
26
28
|
import { useCatalog, useCurrentActivity } from '../../composables'
|
|
@@ -253,16 +255,26 @@ export default {
|
|
|
253
255
|
async mapRefCreated (container) {
|
|
254
256
|
if (container) {
|
|
255
257
|
if (!this.mapReady) {
|
|
256
|
-
//
|
|
258
|
+
// Setup the map
|
|
257
259
|
logger.debug('[KDK] Create location map with viewer options', this.engineOptions.viewer)
|
|
258
260
|
this.setupMap(container, this.engineOptions.viewer)
|
|
259
261
|
this.mapReady = true
|
|
260
262
|
// setup base layer
|
|
261
|
-
|
|
263
|
+
// We get layers coming from global catalog first if any
|
|
264
|
+
let baseLayers = await this.getLayers()
|
|
265
|
+
// Then we get layers coming from contextual catalog if any
|
|
266
|
+
if (typeof this.getContextLayers === 'function') baseLayers = baseLayers.concat(await this.getContextLayers())
|
|
262
267
|
// [!] remember Vue won’t wait for async: use mapReady as a guard to
|
|
263
268
|
// prevent executing the process after the component is destroyed
|
|
264
269
|
// https://github.com/kalisio/kdk/issues/1291
|
|
265
|
-
if (this.mapReady && baseLayers.length > 0)
|
|
270
|
+
if (this.mapReady && (baseLayers.length > 0)) {
|
|
271
|
+
const defaultLayer = _.find(baseLayers, sift({ 'leaflet.isVisible': true }))
|
|
272
|
+
// If no default layer defined use the first one
|
|
273
|
+
const baseLayer = (defaultLayer || baseLayers[0])
|
|
274
|
+
await this.addLayer(baseLayer)
|
|
275
|
+
// Ensure it is visible if not by default
|
|
276
|
+
await this.showLayer(baseLayer.name)
|
|
277
|
+
}
|
|
266
278
|
// setup location
|
|
267
279
|
if (this.mapReady) this.refresh()
|
|
268
280
|
}
|
|
@@ -291,16 +303,28 @@ export default {
|
|
|
291
303
|
const project = getActivityProject()
|
|
292
304
|
// We expect the project object to expose the underlying API
|
|
293
305
|
const planetApi = project && typeof project.getPlanetApi === 'function' ? project.getPlanetApi() : api
|
|
294
|
-
// Use target catalog according to project and filtering options to get base layer
|
|
306
|
+
// Use target catalog(s) according to project and filtering options to get base layer
|
|
307
|
+
// Use global catalog
|
|
295
308
|
const { getLayers } = useCatalog({
|
|
296
309
|
project,
|
|
297
|
-
layers: { type: 'BaseLayer'
|
|
298
|
-
|
|
310
|
+
layers: { type: 'BaseLayer' },
|
|
311
|
+
context: 'global'
|
|
299
312
|
})
|
|
300
313
|
// expose
|
|
301
|
-
|
|
314
|
+
const expose = {
|
|
302
315
|
getLayers
|
|
303
316
|
}
|
|
317
|
+
// Use local catalog if any
|
|
318
|
+
if (Context.get() && planetApi.hasService('catalog', Context.get())) {
|
|
319
|
+
const { getLayers: getContextLayers } = useCatalog({
|
|
320
|
+
project,
|
|
321
|
+
layers: { type: 'BaseLayer' },
|
|
322
|
+
context: Context.get()
|
|
323
|
+
})
|
|
324
|
+
Object.assign(expose, { getContextLayers })
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
return expose
|
|
304
328
|
}
|
|
305
329
|
}
|
|
306
330
|
</script>
|
|
@@ -61,7 +61,7 @@ import { Dialog } from 'quasar'
|
|
|
61
61
|
import { ref, computed } from 'vue'
|
|
62
62
|
import { useRoute, useRouter } from 'vue-router'
|
|
63
63
|
import bbox from '@turf/bbox'
|
|
64
|
-
import {
|
|
64
|
+
import { Context, i18n } from '../../../../core/client'
|
|
65
65
|
import { KView } from '../../../../core/client/components'
|
|
66
66
|
import KLayerItem from '../catalog/KLayerItem.vue'
|
|
67
67
|
import KStyleEditor from '../styles/KStyleEditor.vue'
|
|
@@ -282,7 +282,7 @@ function editSelectedFeatureProperties (feature) {
|
|
|
282
282
|
layerId: props.item.layer._id,
|
|
283
283
|
layerName: props.item.layer.name,
|
|
284
284
|
featureId: feature._id,
|
|
285
|
-
contextId:
|
|
285
|
+
contextId: Context.get()
|
|
286
286
|
})
|
|
287
287
|
})
|
|
288
288
|
}
|
|
@@ -58,6 +58,7 @@ import { useCurrentActivity } from '../../composables/activity.js'
|
|
|
58
58
|
import { isLayerStyleEditable, editLayerStyle, updateLayerWithFiltersStyle } from '../../utils/utils.layers.js'
|
|
59
59
|
import { editFeaturesStyle } from '../../utils/utils.features.js'
|
|
60
60
|
import { getTagsFilterOptions } from '../../../../core/client/utils/utils.tags.js'
|
|
61
|
+
import { kmlStyleSpecialProperties } from '../../utils/utils.style.js'
|
|
61
62
|
import KGrid from '../../../../core/client/components/collection/KGrid.vue'
|
|
62
63
|
import KFollower from '../../../../core/client/components/KFollower.vue'
|
|
63
64
|
import KTagSelection from '../../../../core/client/components/tags/KTagSelection.vue'
|
|
@@ -216,7 +217,9 @@ function applyToSelection (styleToApply) {
|
|
|
216
217
|
if (_.has(f, 'properties.entityStyle.wall')) geometryType = 'Polygon'
|
|
217
218
|
else if (_.has(f, 'properties.entityStyle.corridor')) geometryType = 'Polygon'
|
|
218
219
|
}
|
|
219
|
-
|
|
220
|
+
const styleToKeep = _.pick(f.style, kmlStyleSpecialProperties)
|
|
221
|
+
const styleForGeometry = _.get(styleToApply, ['item', _.get(type, geometryType, 'point')], {})
|
|
222
|
+
_.set(f, 'style', _.merge({}, styleForGeometry, styleToKeep))
|
|
220
223
|
})
|
|
221
224
|
if (CurrentActivity.value.isInMemoryLayer(layer.layer)) {
|
|
222
225
|
CurrentActivity.value.resetLayer(layer.layer)
|