@kalisio/kdk 1.5.0 → 1.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/.nyc_output/02a7a308-a8d7-4cc6-8e61-6066a0055a96.json +1 -0
- package/.nyc_output/1900d596-5e87-433a-8fd6-fb7f7ded35ec.json +1 -0
- package/.nyc_output/{058fc679-d60a-4501-ac04-71171e5200b8.json → 27401f21-8ccf-42fa-8230-4232189d86b3.json} +0 -0
- package/.nyc_output/{8b1830fa-932e-4a61-9837-4a5b18f83ea9.json → 52278ef5-c337-4724-97be-e2e4416847c5.json} +0 -0
- package/.nyc_output/{afd2d144-3570-4858-b94a-b523dbd023dd.json → 5dd49b8a-4c84-42f9-a3d5-712247a84775.json} +0 -0
- package/.nyc_output/612b4859-9645-45c1-a41e-1fae420518c4.json +1 -0
- package/.nyc_output/bab87fe9-d99a-4759-99e6-3fc4622eeca0.json +1 -0
- package/.nyc_output/processinfo/02a7a308-a8d7-4cc6-8e61-6066a0055a96.json +1 -0
- package/.nyc_output/processinfo/1900d596-5e87-433a-8fd6-fb7f7ded35ec.json +1 -0
- package/.nyc_output/processinfo/27401f21-8ccf-42fa-8230-4232189d86b3.json +1 -0
- package/.nyc_output/processinfo/52278ef5-c337-4724-97be-e2e4416847c5.json +1 -0
- package/.nyc_output/processinfo/5dd49b8a-4c84-42f9-a3d5-712247a84775.json +1 -0
- package/.nyc_output/processinfo/612b4859-9645-45c1-a41e-1fae420518c4.json +1 -0
- package/.nyc_output/processinfo/bab87fe9-d99a-4759-99e6-3fc4622eeca0.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -1
- package/.travis.test.sh +1 -1
- package/CHANGELOG.md +107 -11
- package/coverage/core/api/application.js.html +323 -245
- package/coverage/core/api/authentication.js.html +1 -1
- package/coverage/core/api/db.js.html +108 -108
- package/coverage/core/api/hooks/hooks.account.js.html +1 -1
- package/coverage/core/api/hooks/hooks.authentication.js.html +1 -1
- package/coverage/core/api/hooks/hooks.authorisations.js.html +21 -6
- package/coverage/core/api/hooks/hooks.devices.js.html +1 -1
- package/coverage/core/api/hooks/hooks.groups.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.organisations.js.html +1 -1
- package/coverage/core/api/hooks/hooks.pusher.js.html +1 -1
- package/coverage/core/api/hooks/hooks.query.js.html +114 -48
- 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 +1 -1
- package/coverage/core/api/hooks/index.html +12 -12
- package/coverage/core/api/hooks/index.js.html +1 -1
- package/coverage/core/api/index.html +34 -34
- package/coverage/core/api/index.js.html +26 -26
- package/coverage/core/api/marshall.js.html +1 -1
- package/coverage/core/api/models/groups.model.mongodb.js.html +1 -1
- package/coverage/core/api/models/index.html +1 -1
- package/coverage/core/api/models/organisations.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/oauth2-handler.js.html +1 -1
- package/coverage/core/api/oauth2-verifier.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 +31 -7
- package/coverage/core/api/services/authorisations/index.html +9 -9
- 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/devices/devices.hooks.js.html +1 -1
- package/coverage/core/api/services/devices/devices.service.js.html +1 -1
- package/coverage/core/api/services/devices/index.html +1 -1
- package/coverage/core/api/services/groups/groups.hooks.js.html +1 -1
- package/coverage/core/api/services/groups/index.html +1 -1
- package/coverage/core/api/services/index.html +11 -11
- package/coverage/core/api/services/index.js.html +66 -66
- 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/organisations/index.html +1 -1
- package/coverage/core/api/services/organisations/organisations.hooks.js.html +1 -1
- package/coverage/core/api/services/organisations/organisations.service.js.html +1 -1
- package/coverage/core/api/services/pusher/index.html +1 -1
- package/coverage/core/api/services/pusher/pusher.channels.js.html +1 -1
- package/coverage/core/api/services/pusher/pusher.hooks.js.html +1 -1
- package/coverage/core/api/services/pusher/pusher.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/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/common/errors.js.html +1 -1
- package/coverage/core/common/index.html +7 -7
- package/coverage/core/common/index.js.html +1 -1
- package/coverage/core/common/permissions.js.html +81 -51
- package/coverage/index.html +39 -39
- package/coverage/lcov-report/core/api/application.js.html +323 -245
- package/coverage/lcov-report/core/api/authentication.js.html +1 -1
- package/coverage/lcov-report/core/api/db.js.html +108 -108
- package/coverage/lcov-report/core/api/hooks/hooks.account.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 +21 -6
- package/coverage/lcov-report/core/api/hooks/hooks.devices.js.html +1 -1
- package/coverage/lcov-report/core/api/hooks/hooks.groups.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.organisations.js.html +1 -1
- package/coverage/lcov-report/core/api/hooks/hooks.pusher.js.html +1 -1
- package/coverage/lcov-report/core/api/hooks/hooks.query.js.html +114 -48
- 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 +1 -1
- package/coverage/lcov-report/core/api/hooks/index.html +12 -12
- package/coverage/lcov-report/core/api/hooks/index.js.html +1 -1
- package/coverage/lcov-report/core/api/index.html +34 -34
- package/coverage/lcov-report/core/api/index.js.html +26 -26
- package/coverage/lcov-report/core/api/marshall.js.html +1 -1
- package/coverage/lcov-report/core/api/models/groups.model.mongodb.js.html +1 -1
- package/coverage/lcov-report/core/api/models/index.html +1 -1
- package/coverage/lcov-report/core/api/models/organisations.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/oauth2-handler.js.html +1 -1
- package/coverage/lcov-report/core/api/oauth2-verifier.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 +31 -7
- package/coverage/lcov-report/core/api/services/authorisations/index.html +9 -9
- 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/devices/devices.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/devices/devices.service.js.html +1 -1
- package/coverage/lcov-report/core/api/services/devices/index.html +1 -1
- package/coverage/lcov-report/core/api/services/groups/groups.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/groups/index.html +1 -1
- package/coverage/lcov-report/core/api/services/index.html +11 -11
- package/coverage/lcov-report/core/api/services/index.js.html +66 -66
- 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/organisations/index.html +1 -1
- package/coverage/lcov-report/core/api/services/organisations/organisations.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/organisations/organisations.service.js.html +1 -1
- package/coverage/lcov-report/core/api/services/pusher/index.html +1 -1
- package/coverage/lcov-report/core/api/services/pusher/pusher.channels.js.html +1 -1
- package/coverage/lcov-report/core/api/services/pusher/pusher.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/pusher/pusher.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/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/common/errors.js.html +1 -1
- package/coverage/lcov-report/core/common/index.html +7 -7
- package/coverage/lcov-report/core/common/index.js.html +1 -1
- package/coverage/lcov-report/core/common/permissions.js.html +81 -51
- package/coverage/lcov-report/index.html +39 -39
- package/coverage/lcov-report/map/api/hooks/hooks.catalog.js.html +1 -1
- package/coverage/lcov-report/map/api/hooks/hooks.query.js.html +1 -1
- package/coverage/lcov-report/map/api/hooks/index.html +1 -1
- 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 +14 -5
- package/coverage/lcov-report/map/api/models/index.html +7 -7
- 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/index.html +1 -1
- package/coverage/lcov-report/map/api/services/geocoder/geocoder.hooks.js.html +1 -1
- package/coverage/lcov-report/map/api/services/geocoder/geocoder.service.js.html +1 -1
- package/coverage/lcov-report/map/api/services/geocoder/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/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 +948 -769
- package/coverage/map/api/hooks/hooks.catalog.js.html +1 -1
- package/coverage/map/api/hooks/hooks.query.js.html +1 -1
- package/coverage/map/api/hooks/index.html +1 -1
- 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 +14 -5
- package/coverage/map/api/models/index.html +7 -7
- 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/index.html +1 -1
- package/coverage/map/api/services/geocoder/geocoder.hooks.js.html +1 -1
- package/coverage/map/api/services/geocoder/geocoder.service.js.html +1 -1
- package/coverage/map/api/services/geocoder/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/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/extras/tours/map/catalog-panel.js +61 -10
- package/extras/tours/map/create-view.js +25 -0
- package/extras/tours/map/fab.js +10 -1
- package/extras/tours/map/navigation-bar.js +56 -10
- package/lib/core/api/application.js +44 -10
- package/lib/core/api/application.js.map +1 -1
- package/lib/core/api/hooks/hooks.authorisations.js +8 -1
- package/lib/core/api/hooks/hooks.authorisations.js.map +1 -1
- package/lib/core/api/hooks/hooks.query.js +135 -100
- package/lib/core/api/hooks/hooks.query.js.map +1 -1
- package/lib/core/api/services/authorisations/authorisations.service.js +13 -1
- package/lib/core/api/services/authorisations/authorisations.service.js.map +1 -1
- package/lib/core/api/services/pusher/pusher.service.js +40 -16
- package/lib/core/api/services/pusher/pusher.service.js.map +1 -1
- package/lib/core/client/components/chart/KChart.vue +115 -0
- package/lib/core/client/components/chart/KStatsChart.vue +76 -0
- package/lib/core/client/components/chart/index.js +20 -0
- package/lib/core/client/components/chart/index.js.map +1 -0
- package/lib/core/client/components/collection/KColumn.vue +29 -28
- package/lib/core/client/components/collection/KFilter.vue +103 -72
- package/lib/core/client/components/collection/KHistoryEntry.vue +1 -1
- package/lib/core/client/components/collection/KItem.vue +4 -4
- package/lib/core/client/components/editor/KModalEditor.vue +3 -4
- package/lib/core/client/components/editor/KSettingsEditor.vue +6 -2
- package/lib/core/client/components/form/KChipsField.vue +4 -4
- package/lib/core/client/components/form/KFileField.vue +13 -6
- package/lib/core/client/components/form/KRoleField.vue +5 -2
- package/lib/core/client/components/form/KTextField.vue +12 -2
- package/lib/core/client/components/form/KUnitField.vue +57 -0
- package/lib/core/client/components/form/KUrlField.vue +1 -1
- package/lib/core/client/components/form/KView.vue +1 -1
- package/lib/core/client/components/frame/KAction.vue +41 -7
- package/lib/core/client/components/frame/KBlock.vue +7 -7
- package/lib/core/client/components/frame/KContent.vue +1 -1
- package/lib/core/client/components/frame/KModal.vue +66 -20
- package/lib/core/client/components/frame/KOpener.vue +1 -1
- package/lib/core/client/components/frame/KPanel.vue +8 -7
- package/lib/core/client/components/frame/KPopupAction.vue +6 -0
- package/lib/core/client/components/frame/KScreen.vue +1 -1
- package/lib/core/client/components/frame/KScrollArea.vue +65 -0
- package/lib/core/client/components/frame/KStamp.vue +4 -2
- package/lib/core/client/components/frame/index.js +6 -6
- package/lib/core/client/components/frame/index.js.map +1 -1
- package/lib/core/client/components/input/KColorChooser.vue +3 -5
- package/lib/core/client/components/input/KIconChooser.vue +41 -40
- package/lib/core/client/components/input/KPalette.vue +1 -1
- package/lib/core/client/components/input/index.js +14 -4
- package/lib/core/client/components/input/index.js.map +1 -1
- package/lib/core/client/components/layout/KAbout.vue +47 -49
- package/lib/core/client/components/layout/KFab.vue +1 -1
- package/lib/core/client/components/layout/KLayout.vue +10 -2
- package/lib/core/client/components/layout/KPage.vue +19 -18
- package/lib/core/client/components/layout/KTour.vue +5 -3
- package/lib/core/client/components/layout/KWindow.vue +211 -59
- package/lib/core/client/components/media/KMediaBrowser.vue +6 -6
- package/lib/core/client/components/menu/KMenu.vue +13 -5
- package/lib/core/client/components/menu/KRadialFab.vue +22 -24
- package/lib/core/client/components/menu/KRadialFabItem.vue +17 -18
- package/lib/core/client/components/team/KAddMember.vue +1 -1
- package/lib/core/client/components/team/KChangeRole.vue +11 -14
- package/lib/core/client/components/team/KGroupCard.vue +12 -5
- package/lib/core/client/components/team/KJoinGroup.vue +22 -22
- package/lib/core/client/components/team/KMemberCard.vue +19 -4
- package/lib/core/client/components/time/KAbsoluteTimeRange.vue +190 -0
- package/lib/core/client/components/time/KRelativeTimeRanges.vue +192 -0
- package/lib/core/client/components/time/index.js +20 -0
- package/lib/core/client/components/time/index.js.map +1 -0
- package/lib/core/client/components/viewer/KModalViewer.vue +10 -9
- package/lib/core/client/i18n/core_en.json +99 -17
- package/lib/core/client/i18n/core_fr.json +94 -18
- package/lib/core/client/index.js +16 -3
- package/lib/core/client/index.js.map +1 -1
- package/lib/core/client/mixins/mixin.base-collection.js +11 -1
- package/lib/core/client/mixins/mixin.base-collection.js.map +1 -1
- package/lib/core/client/mixins/mixin.base-widget.js +26 -12
- package/lib/core/client/mixins/mixin.base-widget.js.map +1 -1
- package/lib/core/client/reader.js +46 -15
- package/lib/core/client/reader.js.map +1 -1
- package/lib/core/client/readers/reader.csv.js +33 -22
- package/lib/core/client/readers/reader.csv.js.map +1 -1
- package/lib/core/client/readers/reader.json.js +31 -20
- package/lib/core/client/readers/reader.json.js.map +1 -1
- package/lib/core/client/services/index.js +16 -4
- package/lib/core/client/services/index.js.map +1 -1
- package/lib/core/client/services/local-settings.service.js +10 -4
- package/lib/core/client/services/local-settings.service.js.map +1 -1
- package/lib/core/client/time.js +29 -18
- package/lib/core/client/time.js.map +1 -1
- package/lib/core/client/units.js +207 -0
- package/lib/core/client/units.js.map +1 -0
- package/lib/core/client/utils.js +11 -0
- package/lib/core/client/utils.js.map +1 -1
- package/lib/core/common/permissions.js +44 -34
- package/lib/core/common/permissions.js.map +1 -1
- package/lib/core/common/schemas/settings.update.json +86 -4
- package/lib/map/api/hooks/hooks.catalog.js +20 -0
- package/lib/map/api/hooks/hooks.catalog.js.map +1 -1
- package/lib/map/api/models/catalog.model.mongodb.js +6 -1
- package/lib/map/api/models/catalog.model.mongodb.js.map +1 -1
- package/lib/map/api/models/features.model.mongodb.js +8 -0
- package/lib/map/api/models/features.model.mongodb.js.map +1 -1
- package/lib/map/api/services/catalog/catalog.hooks.js +3 -1
- package/lib/map/api/services/catalog/catalog.hooks.js.map +1 -1
- package/lib/map/client/components/KCaptureToolbar.vue +2 -7
- package/lib/map/client/components/KColorLegend.vue +38 -25
- package/lib/map/client/components/KFeaturesChart.vue +84 -114
- package/lib/map/client/components/KFeaturesFilter.vue +37 -38
- package/lib/map/client/components/KFeaturesTable.vue +15 -16
- package/lib/map/client/components/KLayerStyleEditor.vue +1 -1
- package/lib/map/client/components/KLayerStyleForm.vue +123 -51
- package/lib/map/client/components/KLevelSlider.vue +30 -29
- package/lib/map/client/components/KLocationMap.vue +2 -2
- package/lib/map/client/components/KMeasureTool.vue +49 -28
- package/lib/map/client/components/KPositionIndicator.vue +4 -4
- package/lib/map/client/components/KTimeline.vue +30 -35
- package/lib/map/client/components/KTimezoneMap.vue +156 -0
- package/lib/map/client/components/KUrlLegend.vue +11 -10
- package/lib/map/client/components/catalog/KAddLayer.vue +3 -2
- package/lib/map/client/components/catalog/KBaseLayersSelector.vue +1 -1
- package/lib/map/client/components/catalog/KCatalogLayersPanel.vue +56 -0
- package/lib/map/client/components/catalog/KCreateView.vue +91 -0
- package/lib/map/client/components/catalog/KLayerCategories.vue +5 -3
- package/lib/map/client/components/catalog/{KCatalog.vue → KLayersPanel.vue} +23 -22
- package/lib/map/client/components/catalog/KLayersSelector.vue +3 -3
- package/lib/map/client/components/catalog/KUserLayersPanel.vue +40 -0
- package/lib/map/client/components/catalog/KViewSelector.vue +46 -0
- package/lib/map/client/components/catalog/KViewsPanel.vue +110 -0
- package/lib/map/client/components/catalog/KWeatherLayersSelector.vue +5 -14
- package/lib/map/client/components/form/KTimezoneField.vue +135 -0
- package/lib/map/client/components/widget/KElevationProfile.vue +488 -0
- package/lib/map/client/components/widget/KInformationBox.vue +53 -37
- package/lib/map/client/components/widget/KMapillaryViewer.vue +26 -16
- package/lib/map/client/components/widget/KTimeSeries.vue +283 -358
- package/lib/map/client/i18n/map_en.json +73 -56
- package/lib/map/client/i18n/map_fr.json +75 -58
- package/lib/map/client/init.js +4 -3
- package/lib/map/client/init.js.map +1 -1
- package/lib/map/client/leaflet/GradientPath.js +40 -19
- package/lib/map/client/leaflet/GradientPath.js.map +1 -1
- package/lib/map/client/leaflet/TiledFeatureLayer.js +527 -93
- package/lib/map/client/leaflet/TiledFeatureLayer.js.map +1 -1
- package/lib/map/client/leaflet/TiledMeshLayer.js +58 -35
- package/lib/map/client/leaflet/TiledMeshLayer.js.map +1 -1
- package/lib/map/client/leaflet/utils.js +44 -3
- package/lib/map/client/leaflet/utils.js.map +1 -1
- package/lib/map/client/mixins/globe/mixin.base-globe.js +16 -1
- package/lib/map/client/mixins/globe/mixin.base-globe.js.map +1 -1
- package/lib/map/client/mixins/globe/mixin.file-layers.js +12 -2
- package/lib/map/client/mixins/globe/mixin.file-layers.js.map +1 -1
- package/lib/map/client/mixins/globe/mixin.geojson-layers.js +23 -27
- package/lib/map/client/mixins/globe/mixin.geojson-layers.js.map +1 -1
- package/lib/map/client/mixins/globe/mixin.popup.js +7 -3
- package/lib/map/client/mixins/globe/mixin.popup.js.map +1 -1
- package/lib/map/client/mixins/globe/mixin.style.js +8 -4
- package/lib/map/client/mixins/globe/mixin.style.js.map +1 -1
- package/lib/map/client/mixins/globe/mixin.tooltip.js +7 -3
- package/lib/map/client/mixins/globe/mixin.tooltip.js.map +1 -1
- package/lib/map/client/mixins/index.js +23 -18
- package/lib/map/client/mixins/index.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.base-map.js +32 -8
- package/lib/map/client/mixins/map/mixin.base-map.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.edit-layers.js +8 -4
- package/lib/map/client/mixins/map/mixin.edit-layers.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.file-layers.js +13 -5
- package/lib/map/client/mixins/map/mixin.file-layers.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.geojson-layers.js +65 -14
- package/lib/map/client/mixins/map/mixin.geojson-layers.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.heatmap-layers.js +6 -1
- package/lib/map/client/mixins/map/mixin.heatmap-layers.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.popup.js +4 -2
- package/lib/map/client/mixins/map/mixin.popup.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.style.js +9 -5
- package/lib/map/client/mixins/map/mixin.style.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.tiled-mesh-layers.js +4 -11
- package/lib/map/client/mixins/map/mixin.tiled-mesh-layers.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.tiled-wind-layers.js +0 -11
- package/lib/map/client/mixins/map/mixin.tiled-wind-layers.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.tooltip.js +4 -2
- package/lib/map/client/mixins/map/mixin.tooltip.js.map +1 -1
- package/lib/map/client/mixins/mixin.activity.js +150 -150
- package/lib/map/client/mixins/mixin.activity.js.map +1 -1
- package/lib/map/client/mixins/mixin.catalog-panel.js +36 -0
- package/lib/map/client/mixins/mixin.catalog-panel.js.map +1 -0
- package/lib/map/client/mixins/mixin.feature-selection.js +17 -8
- package/lib/map/client/mixins/mixin.feature-selection.js.map +1 -1
- package/lib/map/client/mixins/mixin.feature-service.js +36 -16
- package/lib/map/client/mixins/mixin.feature-service.js.map +1 -1
- package/lib/map/client/mixins/mixin.infobox.js +1 -1
- package/lib/map/client/mixins/mixin.infobox.js.map +1 -1
- package/lib/map/client/mixins/mixin.levels.js +26 -12
- package/lib/map/client/mixins/mixin.levels.js.map +1 -1
- package/lib/map/client/mixins/mixin.style.js +1 -0
- package/lib/map/client/mixins/mixin.style.js.map +1 -1
- package/lib/map/client/mixins/mixin.weacast.js +22 -28
- package/lib/map/client/mixins/mixin.weacast.js.map +1 -1
- package/lib/map/client/pixi-utils.js +8 -177
- package/lib/map/client/pixi-utils.js.map +1 -1
- package/lib/map/client/readers/index.js +12 -0
- package/lib/map/client/readers/index.js.map +1 -1
- package/lib/map/client/readers/reader.geojson.js +62 -34
- package/lib/map/client/readers/reader.geojson.js.map +1 -1
- package/lib/map/client/readers/reader.gpx.js +32 -21
- package/lib/map/client/readers/reader.gpx.js.map +1 -1
- package/lib/map/client/readers/reader.kml.js +32 -21
- package/lib/map/client/readers/reader.kml.js.map +1 -1
- package/lib/map/client/readers/reader.shp.js +116 -0
- package/lib/map/client/readers/reader.shp.js.map +1 -0
- package/lib/map/client/utils.js +1 -8
- package/lib/map/client/utils.js.map +1 -1
- package/lib/map/common/grid.js +131 -0
- package/lib/map/common/grid.js.map +1 -1
- package/lib/map/common/index.js +22 -11
- package/lib/map/common/index.js.map +1 -1
- package/lib/map/common/meteo-model-grid-source.js +5 -2
- package/lib/map/common/meteo-model-grid-source.js.map +1 -1
- package/lib/map/common/time-based-grid-source.js +5 -2
- package/lib/map/common/time-based-grid-source.js.map +1 -1
- package/lib/test/client/core/account.js +1 -1
- package/lib/test/client/core/account.js.map +1 -1
- package/lib/test/client/core/collection.js +31 -13
- package/lib/test/client/core/collection.js.map +1 -1
- package/lib/test/client/core/layout.js +137 -49
- package/lib/test/client/core/layout.js.map +1 -1
- package/lib/test/client/core/screens.js +1 -1
- package/lib/test/client/core/screens.js.map +1 -1
- package/lib/test/client/core/utils.js +89 -22
- package/lib/test/client/core/utils.js.map +1 -1
- package/lib/test/client/map/catalog.js +134 -41
- package/lib/test/client/map/catalog.js.map +1 -1
- package/lib/test/client/map/controls.js +7 -4
- package/lib/test/client/map/controls.js.map +1 -1
- package/lib/test/client/map/index.js +12 -0
- package/lib/test/client/map/index.js.map +1 -1
- package/lib/test/client/map/utils.js +67 -0
- package/lib/test/client/map/utils.js.map +1 -0
- package/package.json +5 -6
- package/.nyc_output/2226bcce-9d22-4dad-b9fa-46564b5565c7.json +0 -1
- package/.nyc_output/6dc4b140-1a8a-4d69-b91c-89c557883d6e.json +0 -1
- package/.nyc_output/processinfo/058fc679-d60a-4501-ac04-71171e5200b8.json +0 -1
- package/.nyc_output/processinfo/2226bcce-9d22-4dad-b9fa-46564b5565c7.json +0 -1
- package/.nyc_output/processinfo/6dc4b140-1a8a-4d69-b91c-89c557883d6e.json +0 -1
- package/.nyc_output/processinfo/8b1830fa-932e-4a61-9837-4a5b18f83ea9.json +0 -1
- package/.nyc_output/processinfo/afd2d144-3570-4858-b94a-b523dbd023dd.json +0 -1
- package/extras/tours/map/favorite-views.js +0 -53
- package/lib/core/client/components/frame/KChart.vue +0 -60
- package/lib/core/client/components/input/KCodeInput.vue +0 -50
- package/lib/core/client/components/input/KTimeRangeChooser.vue +0 -109
- package/lib/core/client/components/time/KTimeRange.vue +0 -144
- package/lib/map/client/components/KFavoriteViews.vue +0 -217
|
@@ -4,13 +4,21 @@
|
|
|
4
4
|
Header
|
|
5
5
|
-->
|
|
6
6
|
<q-header v-if="header.content" v-model="isHeaderVisible" v-bind="config.header" bordered>
|
|
7
|
-
<k-panel
|
|
7
|
+
<k-panel
|
|
8
|
+
id="header"
|
|
9
|
+
:content="header.content"
|
|
10
|
+
:mode="header.mode"
|
|
11
|
+
:filter="header.filter" />
|
|
8
12
|
</q-header>
|
|
9
13
|
<!--
|
|
10
14
|
Footer
|
|
11
15
|
-->
|
|
12
16
|
<q-footer v-if="footer.content" v-model="isFooterVisible" v-bind="config.footer" bordered>
|
|
13
|
-
<k-panel
|
|
17
|
+
<k-panel
|
|
18
|
+
id="footer"
|
|
19
|
+
:content="footer.content"
|
|
20
|
+
:mode="footer.mode"
|
|
21
|
+
:filter="footer.filter" />
|
|
14
22
|
</q-footer>
|
|
15
23
|
<!--
|
|
16
24
|
Page container
|
|
@@ -73,8 +73,8 @@
|
|
|
73
73
|
<k-fab />
|
|
74
74
|
</q-page-sticky>
|
|
75
75
|
<!-- window -->
|
|
76
|
-
<q-page-sticky position="top" :offset="
|
|
77
|
-
<k-window id="window"
|
|
76
|
+
<q-page-sticky position="top-left" :offset="window.position">
|
|
77
|
+
<k-window id="window" :style="`max-width: ${window.size[0]}px; max-height: ${window.size[1]};px`" />
|
|
78
78
|
</q-page-sticky>
|
|
79
79
|
<!-- left -->
|
|
80
80
|
<q-page-sticky position="left">
|
|
@@ -181,6 +181,7 @@ export default {
|
|
|
181
181
|
rightPane: this.$store.get('rightPane'),
|
|
182
182
|
bottomPane: this.$store.get('bottomPane'),
|
|
183
183
|
page: this.$store.get('page'),
|
|
184
|
+
window: this.$store.get('window'),
|
|
184
185
|
hasLeftPaneOpener: false,
|
|
185
186
|
hasTopPaneOpener: false,
|
|
186
187
|
hasRightPaneOpener: false,
|
|
@@ -190,7 +191,6 @@ export default {
|
|
|
190
191
|
leftPadding: 0,
|
|
191
192
|
bottomPadding: 0,
|
|
192
193
|
rightPadding: 0,
|
|
193
|
-
widgetOffset: [0, 0],
|
|
194
194
|
fabOffset: [16, 16]
|
|
195
195
|
}
|
|
196
196
|
},
|
|
@@ -280,19 +280,20 @@ export default {
|
|
|
280
280
|
}
|
|
281
281
|
</script>
|
|
282
282
|
|
|
283
|
-
<style lang="
|
|
284
|
-
body {
|
|
285
|
-
|
|
286
|
-
}
|
|
287
|
-
.k-pane, .k-left-pane {
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
283
|
+
<style lang="scss">
|
|
284
|
+
body {
|
|
285
|
+
background-color: #EFEFEF;
|
|
286
|
+
}
|
|
287
|
+
.k-pane, .k-left-pane {
|
|
288
|
+
background-color: #FFFFFF;
|
|
289
|
+
border: solid 1px lightgrey;
|
|
290
|
+
border-radius: 3px;
|
|
291
|
+
}
|
|
292
|
+
.k-pane:hover, .k-left-pane:hover {
|
|
293
|
+
border: solid 1px var(--q-color-primary);
|
|
294
|
+
}
|
|
295
|
+
.k-left-pane {
|
|
296
|
+
height: 100vh;
|
|
297
|
+
width: 300px;
|
|
298
|
+
}
|
|
298
299
|
</style>
|
|
@@ -429,10 +429,12 @@ export default {
|
|
|
429
429
|
}
|
|
430
430
|
</script>
|
|
431
431
|
|
|
432
|
-
<style lang="
|
|
433
|
-
.v-step
|
|
432
|
+
<style lang="scss" scoped>
|
|
433
|
+
.v-step {
|
|
434
434
|
background: var(--q-color-accent);
|
|
435
435
|
z-index: 10000;
|
|
436
|
-
|
|
436
|
+
}
|
|
437
|
+
.v-tour__target--highlighted {
|
|
437
438
|
box-shadow: 0 0 0 99999px rgba(0,0,0,.4);
|
|
439
|
+
}
|
|
438
440
|
</style>
|
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div v-if="widget" class="k-window
|
|
2
|
+
<div v-if="widget" class="k-window fit column">
|
|
3
3
|
<!--
|
|
4
|
-
Window
|
|
4
|
+
Window header
|
|
5
5
|
-->
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
active-color="primary"
|
|
12
|
-
align="left"
|
|
13
|
-
narrow-indicator
|
|
14
|
-
>
|
|
15
|
-
<template v-for="(widget,index) in widgets">
|
|
16
|
-
<q-tab :key="index" :name="widget.id" :icon="widget.icon" />
|
|
17
|
-
</template>
|
|
18
|
-
</q-tabs>
|
|
19
|
-
<!-- Window actions -->
|
|
20
|
-
<k-panel id="widget-actions" :content="actions" color="primary" />
|
|
6
|
+
<div
|
|
7
|
+
id="window-header"
|
|
8
|
+
class="k-window-header full-width"
|
|
9
|
+
v-touch-pan.prevent.mouse="onMoved">
|
|
10
|
+
<k-panel id="window-actions" :content="actions" />
|
|
21
11
|
</div>
|
|
22
12
|
<!--
|
|
23
13
|
Window content
|
|
24
14
|
-->
|
|
25
|
-
<
|
|
26
|
-
<
|
|
27
|
-
<
|
|
28
|
-
<
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
15
|
+
<div class="fit">
|
|
16
|
+
<q-tab-panels v-model="widget" animated>
|
|
17
|
+
<template v-for="(widget, index) in widgets">
|
|
18
|
+
<q-tab-panel :key="index" :name="widget.id" class="no-padding no-scroll">
|
|
19
|
+
<component :is="widget.componentKey" :mode="mode" v-bind="widget.props" style="z-index: 1;" />
|
|
20
|
+
</q-tab-panel>
|
|
21
|
+
</template>>
|
|
22
|
+
</q-tab-panels>
|
|
23
|
+
</div>
|
|
24
|
+
<!--
|
|
25
|
+
Window footer
|
|
26
|
+
-->
|
|
27
|
+
<div
|
|
28
|
+
id="window-footer"
|
|
29
|
+
class="k-window-footer full-width row justify-end">
|
|
30
|
+
<q-icon v-if="mode !== 'maximized'" class="k-window-grip" name="las la-slash" size="10px" v-touch-pan.prevent.mouse="onResized" />
|
|
31
|
+
</div>
|
|
32
32
|
</div>
|
|
33
33
|
</template>
|
|
34
34
|
|
|
@@ -48,22 +48,6 @@ export default {
|
|
|
48
48
|
this.$store.set('window.current', value)
|
|
49
49
|
}
|
|
50
50
|
},
|
|
51
|
-
actions () {
|
|
52
|
-
return [
|
|
53
|
-
{
|
|
54
|
-
id: 'change-mode',
|
|
55
|
-
icon: this.mode === 'minimized' ? 'las la-expand' : 'las la-compress',
|
|
56
|
-
tooltip: this.mode === 'minimized' ? 'KWindow.MAXIMIZE_ACTION' : 'KWindow.MINIMIZE_ACTION',
|
|
57
|
-
handler: this.onModeChanged
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
id: 'close-action',
|
|
61
|
-
icon: 'las la-times',
|
|
62
|
-
tooltip: this.$t('KWindow.CLOSE_ACTION'),
|
|
63
|
-
handler: this.onClosed
|
|
64
|
-
}
|
|
65
|
-
]
|
|
66
|
-
},
|
|
67
51
|
widgets () {
|
|
68
52
|
let widgets = this.window.widgets
|
|
69
53
|
// Apply filtering
|
|
@@ -78,43 +62,211 @@ export default {
|
|
|
78
62
|
})
|
|
79
63
|
return widgets
|
|
80
64
|
},
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
:
|
|
86
|
-
|
|
65
|
+
actions () {
|
|
66
|
+
const widgetMenuItems = []
|
|
67
|
+
_.forEach(this.widgets, widget => {
|
|
68
|
+
widgetMenuItems.push({
|
|
69
|
+
id: widget.id,
|
|
70
|
+
label: widget.label,
|
|
71
|
+
icon: widget.icon,
|
|
72
|
+
handler: () => { this.widget = widget.id }
|
|
73
|
+
})
|
|
74
|
+
})
|
|
75
|
+
const widgetMenu = [{
|
|
76
|
+
id: 'widgets-menu-items',
|
|
77
|
+
component: 'menu/KMenu',
|
|
78
|
+
icon: 'las la-cube',
|
|
79
|
+
tooltip: 'Widgets',
|
|
80
|
+
size: 'sm',
|
|
81
|
+
actionRenderer: 'item',
|
|
82
|
+
content: widgetMenuItems
|
|
83
|
+
}]
|
|
84
|
+
const windowControls = [
|
|
85
|
+
{
|
|
86
|
+
id: 'pin-action',
|
|
87
|
+
icon: 'las la-angle-up',
|
|
88
|
+
tooltip: 'KWindow.PIN_ACTION',
|
|
89
|
+
size: 'sm',
|
|
90
|
+
visible: this.mode === 'floating',
|
|
91
|
+
handler: this.onPinned
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
id: 'maximize-action',
|
|
95
|
+
icon: 'las la-expand',
|
|
96
|
+
tooltip: 'KWindow.MAXIMIZE_ACTION',
|
|
97
|
+
size: 'sm',
|
|
98
|
+
visible: this.mode !== 'maximized',
|
|
99
|
+
handler: this.onMaximized
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
id: 'restore-action',
|
|
103
|
+
icon: 'las la-compress',
|
|
104
|
+
tooltip: 'KWindow.RESTORE_ACTION',
|
|
105
|
+
size: 'sm',
|
|
106
|
+
visible: this.mode === 'maximized',
|
|
107
|
+
handler: this.onRestored
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
id: 'close-action',
|
|
111
|
+
icon: 'las la-times',
|
|
112
|
+
tooltip: this.$t('KWindow.CLOSE_ACTION'),
|
|
113
|
+
size: 'sm',
|
|
114
|
+
handler: this.onClosed
|
|
115
|
+
}
|
|
116
|
+
]
|
|
117
|
+
return _.concat(widgetMenu, this.window.widgetActions, [{ component: 'QSpace' }], windowControls)
|
|
87
118
|
}
|
|
88
119
|
},
|
|
89
120
|
data () {
|
|
90
121
|
return {
|
|
91
122
|
window: this.$store.get('window'),
|
|
92
|
-
mode: '
|
|
123
|
+
mode: 'pinned'
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
watch: {
|
|
127
|
+
'$q.screen.width': {
|
|
128
|
+
handler () {
|
|
129
|
+
this.onScreenResized()
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
'$q.screen.height': {
|
|
133
|
+
handler () {
|
|
134
|
+
this.onScreenResized()
|
|
135
|
+
}
|
|
93
136
|
}
|
|
94
137
|
},
|
|
95
138
|
methods: {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
139
|
+
getGeometryKey () {
|
|
140
|
+
return this.$config('appName').toLowerCase() + '-window-geometry'
|
|
141
|
+
},
|
|
142
|
+
storeGeometry (position, size) {
|
|
143
|
+
window.localStorage.setItem(this.getGeometryKey(), JSON.stringify({ position, size }))
|
|
144
|
+
},
|
|
145
|
+
onPinned () {
|
|
146
|
+
window.localStorage.removeItem(this.getGeometryKey())
|
|
147
|
+
this.mode = 'pinned'
|
|
148
|
+
this.onScreenResized()
|
|
149
|
+
},
|
|
150
|
+
onMaximized () {
|
|
151
|
+
this.backupPosition = this.window.position
|
|
152
|
+
this.backupSize = this.window.size
|
|
153
|
+
this.backupMode = this.mode
|
|
154
|
+
this.mode = 'maximized'
|
|
155
|
+
this.onScreenResized()
|
|
156
|
+
},
|
|
157
|
+
onRestored () {
|
|
158
|
+
this.$store.patch('window', { position: this.backupPosition, size: this.backupSize })
|
|
159
|
+
this.mode = this.backupMode
|
|
99
160
|
},
|
|
100
161
|
onClosed () {
|
|
101
162
|
const widgets = this.$store.get('window.widgets')
|
|
102
163
|
this.$store.patch('window', { current: '', widgets })
|
|
164
|
+
},
|
|
165
|
+
onMoved (event) {
|
|
166
|
+
if (!event) return
|
|
167
|
+
if (this.mode !== 'maximized') {
|
|
168
|
+
this.mode = 'floating'
|
|
169
|
+
const xMax = this.$q.screen.width - this.window.size[0]
|
|
170
|
+
const yMax = this.$q.screen.height - this.window.size[1]
|
|
171
|
+
const newPosition = [
|
|
172
|
+
Math.max(Math.min(Math.floor(this.window.position[0] + event.delta.x), xMax), 0),
|
|
173
|
+
Math.min(Math.max(Math.floor(this.window.position[1] + event.delta.y), 0), yMax)
|
|
174
|
+
]
|
|
175
|
+
this.$store.patch('window', { position: newPosition })
|
|
176
|
+
if (event.isFinal) this.storeGeometry(newPosition, this.window.size)
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
onResized (event) {
|
|
180
|
+
if (!event) return
|
|
181
|
+
// Handle the pinned and floating mode
|
|
182
|
+
if (this.mode !== 'maximized') {
|
|
183
|
+
this.mode = 'floating'
|
|
184
|
+
const wMax = this.$q.screen.width - this.window.position[0]
|
|
185
|
+
const hMax = this.$q.screen.height - this.window.position[1]
|
|
186
|
+
const newSize = [
|
|
187
|
+
Math.min(this.window.size[0] + event.delta.x, wMax),
|
|
188
|
+
Math.min(this.window.size[1] + event.delta.y, hMax)
|
|
189
|
+
]
|
|
190
|
+
this.$store.patch('window', { size: newSize })
|
|
191
|
+
if (event.isFinal) this.storeGeometry(this.window.position, newSize)
|
|
192
|
+
}
|
|
193
|
+
},
|
|
194
|
+
onScreenResized () {
|
|
195
|
+
if (this.mode === 'pinned') {
|
|
196
|
+
// Pinned mode
|
|
197
|
+
let w = this.$q.screen.width
|
|
198
|
+
if (this.$q.screen.gt.lg) w *= 0.7
|
|
199
|
+
if (this.$q.screen.gt.md) w *= 0.8
|
|
200
|
+
if (this.$q.screen.gt.sm) w *= 0.9
|
|
201
|
+
const h = this.$q.screen.height * 0.3
|
|
202
|
+
const x = this.$q.screen.width / 2 - w / 2
|
|
203
|
+
this.$store.patch('window', { position: [x, 0], size: [w, h] })
|
|
204
|
+
} else if (this.mode === 'floating') {
|
|
205
|
+
// Floating mode
|
|
206
|
+
if (this.window.position && this.window.size) {
|
|
207
|
+
let x = this.window.position[0]
|
|
208
|
+
let y = this.window.position[1]
|
|
209
|
+
let w = this.window.size[0]
|
|
210
|
+
let h = this.window.size[1]
|
|
211
|
+
let constrained = false
|
|
212
|
+
if ((x + w) > this.$q.screen.width) {
|
|
213
|
+
x = Math.max(this.$q.screen.width - w, 0)
|
|
214
|
+
if (x === 0) w = this.$q.screen.width
|
|
215
|
+
constrained = true
|
|
216
|
+
}
|
|
217
|
+
if ((y + h) > this.$q.screen.height) {
|
|
218
|
+
y = Math.max(this.$q.screen.height - h, 0)
|
|
219
|
+
if (y === 0) h = this.$q.screen.height
|
|
220
|
+
constrained = true
|
|
221
|
+
}
|
|
222
|
+
if (constrained) {
|
|
223
|
+
this.$store.patch('window', { position: [x, y], size: [w, h] })
|
|
224
|
+
this.storeGeometry([x, y], [w, h])
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
} else {
|
|
228
|
+
// Maximized mode
|
|
229
|
+
this.$store.patch('window', { position: [0, 0], size: [this.$q.screen.width, this.$q.screen.height] })
|
|
230
|
+
}
|
|
103
231
|
}
|
|
104
232
|
},
|
|
105
|
-
|
|
233
|
+
beforeCreate () {
|
|
106
234
|
// Load the required components
|
|
107
235
|
this.$options.components['k-panel'] = this.$load('frame/KPanel')
|
|
236
|
+
},
|
|
237
|
+
created () {
|
|
238
|
+
const geometry = window.localStorage.getItem(this.getGeometryKey())
|
|
239
|
+
if (geometry) {
|
|
240
|
+
const geometryObject = JSON.parse(geometry)
|
|
241
|
+
this.$store.patch('window', { position: geometryObject.position, size: geometryObject.size })
|
|
242
|
+
this.mode = 'floating'
|
|
243
|
+
} else {
|
|
244
|
+
this.onPinned()
|
|
245
|
+
}
|
|
108
246
|
}
|
|
109
247
|
}
|
|
110
248
|
</script>
|
|
111
249
|
|
|
112
|
-
<style lang="
|
|
113
|
-
.k-window
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
.k-window:hover
|
|
119
|
-
|
|
250
|
+
<style lang="scss">
|
|
251
|
+
.k-window {
|
|
252
|
+
border: solid 1px lightgrey;
|
|
253
|
+
border-radius: 5px;
|
|
254
|
+
background: #ffffff;
|
|
255
|
+
}
|
|
256
|
+
.k-window:hover {
|
|
257
|
+
border: solid 1px var(--q-color-primary);
|
|
258
|
+
}
|
|
259
|
+
.k-window-header {
|
|
260
|
+
border-radius: 5px;
|
|
261
|
+
cursor: move
|
|
262
|
+
}
|
|
263
|
+
.k-window-header:hover {
|
|
264
|
+
background: #eeeeee
|
|
265
|
+
}
|
|
266
|
+
.k-window-footer {
|
|
267
|
+
border-radius: 5px;
|
|
268
|
+
}
|
|
269
|
+
.k-window-grip:hover {
|
|
270
|
+
cursor: nwse-resize
|
|
271
|
+
}
|
|
120
272
|
</style>
|
|
@@ -178,11 +178,11 @@ export default {
|
|
|
178
178
|
}
|
|
179
179
|
</script>
|
|
180
180
|
|
|
181
|
-
<style lang="
|
|
182
|
-
|
|
183
|
-
background: transparent
|
|
184
|
-
max-width: 85
|
|
185
|
-
max-height: 85
|
|
186
|
-
overflow: hidden
|
|
181
|
+
<style lang="scss">
|
|
182
|
+
.k-media-browser-slide {
|
|
183
|
+
background: transparent;
|
|
184
|
+
max-width: 85%;
|
|
185
|
+
max-height: 85%;
|
|
186
|
+
overflow: hidden;
|
|
187
187
|
}
|
|
188
188
|
</style>
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
menu-self="top left"
|
|
15
15
|
flat
|
|
16
16
|
no-caps
|
|
17
|
-
fab-mini
|
|
17
|
+
fab-mini
|
|
18
|
+
@click="onClicked(arguments[0])">
|
|
18
19
|
<k-panel
|
|
19
20
|
id="menu-entries"
|
|
20
21
|
:content="content"
|
|
@@ -28,11 +29,13 @@
|
|
|
28
29
|
<script>
|
|
29
30
|
import _ from 'lodash'
|
|
30
31
|
import { QBtnDropdown } from 'quasar'
|
|
32
|
+
import KPanel from '../frame/KPanel.vue'
|
|
31
33
|
|
|
32
34
|
export default {
|
|
33
35
|
name: 'k-menu',
|
|
34
36
|
components: {
|
|
35
|
-
QBtnDropdown
|
|
37
|
+
QBtnDropdown,
|
|
38
|
+
KPanel
|
|
36
39
|
},
|
|
37
40
|
props: {
|
|
38
41
|
id: {
|
|
@@ -75,6 +78,10 @@ export default {
|
|
|
75
78
|
type: String,
|
|
76
79
|
default: undefined
|
|
77
80
|
},
|
|
81
|
+
propagate: {
|
|
82
|
+
type: Boolean,
|
|
83
|
+
default: true
|
|
84
|
+
},
|
|
78
85
|
context: {
|
|
79
86
|
type: Object,
|
|
80
87
|
default: () => null
|
|
@@ -95,9 +102,10 @@ export default {
|
|
|
95
102
|
return !_.isEmpty(this.content)
|
|
96
103
|
}
|
|
97
104
|
},
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
105
|
+
methods: {
|
|
106
|
+
onClicked (event) {
|
|
107
|
+
if (!this.propagate) event.stopPropagation()
|
|
108
|
+
}
|
|
101
109
|
}
|
|
102
110
|
}
|
|
103
111
|
</script>
|
|
@@ -74,28 +74,26 @@ export default {
|
|
|
74
74
|
}
|
|
75
75
|
</script>
|
|
76
76
|
|
|
77
|
-
<style>
|
|
78
|
-
.vue-radial-menu-wrapper {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
transform: rotateZ(45deg);
|
|
100
|
-
}
|
|
77
|
+
<style lang="scss">
|
|
78
|
+
.vue-radial-menu-wrapper {
|
|
79
|
+
position: relative;
|
|
80
|
+
user-select: none;
|
|
81
|
+
border-radius: 50%;
|
|
82
|
+
font-size: 32px;
|
|
83
|
+
font-weight: bold;
|
|
84
|
+
border-radius: 50%;
|
|
85
|
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.24), 0 0 0 rgba(0, 0, 0, 0.16);
|
|
86
|
+
}
|
|
87
|
+
.vue-radial-menu-container {
|
|
88
|
+
display: flex;
|
|
89
|
+
justify-content: center;
|
|
90
|
+
align-items: center;
|
|
91
|
+
border-radius: 50%;
|
|
92
|
+
transition: all 0.2s ease;
|
|
93
|
+
position: relative;
|
|
94
|
+
z-index: 6;
|
|
95
|
+
}
|
|
96
|
+
.vue-radial-menu-container.open {
|
|
97
|
+
transform: rotateZ(45deg);
|
|
98
|
+
}
|
|
101
99
|
</style>
|
|
@@ -34,22 +34,21 @@ export default {
|
|
|
34
34
|
}
|
|
35
35
|
</script>
|
|
36
36
|
|
|
37
|
-
<style>
|
|
38
|
-
.vue-radial-menu-item {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.radial-vue-radial-menu-item-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
37
|
+
<style lang="scss">
|
|
38
|
+
.vue-radial-menu-item {
|
|
39
|
+
position: absolute;
|
|
40
|
+
display: flex;
|
|
41
|
+
justify-content: center;
|
|
42
|
+
align-items: center;
|
|
43
|
+
transition: all 0.2s ease;
|
|
44
|
+
transform: none;
|
|
45
|
+
user-select: none;
|
|
46
|
+
}
|
|
47
|
+
.radial-vue-radial-menu-item-enter,
|
|
48
|
+
.radial-vue-radial-menu-item-leave-to {
|
|
49
|
+
top: 50% !important;
|
|
50
|
+
left: 50% !important;
|
|
51
|
+
transform: translate(-50%, -50%);
|
|
52
|
+
opacity: 0;
|
|
53
|
+
}
|
|
55
54
|
</style>
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
v-model="isModalOpened"
|
|
6
6
|
@opened="$emit('opened')"
|
|
7
7
|
@closed="$emit('closed')">
|
|
8
|
-
<div
|
|
8
|
+
<div>
|
|
9
9
|
<q-tabs align="justify" v-model="mode" inverted>
|
|
10
10
|
<q-tab id="unique-tab" name="unique" icon="las la-user" />
|
|
11
11
|
<q-tab id="multiple-tab" name="multiple" icon="las la-user-friends" />
|
|
@@ -5,10 +5,9 @@
|
|
|
5
5
|
:buttons="getButtons()"
|
|
6
6
|
v-model="isModalOpened"
|
|
7
7
|
@opened="$emit('opened')"
|
|
8
|
-
@closed="$emit('closed')"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
</div>
|
|
8
|
+
@closed="$emit('closed')"
|
|
9
|
+
>
|
|
10
|
+
<k-form v-if="member" ref="form" :schema="getSchema()" />
|
|
12
11
|
</k-modal>
|
|
13
12
|
</template>
|
|
14
13
|
|
|
@@ -61,12 +60,8 @@ export default {
|
|
|
61
60
|
const scope = this.getScope()
|
|
62
61
|
const resourceId = this.getResourceId()
|
|
63
62
|
const currentRole = _.get(_.find(this.member[scope], { _id: resourceId }), 'permissions')
|
|
64
|
-
const roles = [
|
|
65
|
-
|
|
66
|
-
{ label: this.$t('KChangeRole.MANAGER_LABEL'), value: 'manager' },
|
|
67
|
-
{ label: this.$t('KChangeRole.OWNER_LABEL'), value: 'owner' }
|
|
68
|
-
]
|
|
69
|
-
_.remove(roles, role => { return role.value === currentRole })
|
|
63
|
+
const roles = ['member', 'manager']
|
|
64
|
+
if (this.getScope() === 'organisations') roles.push('owner')
|
|
70
65
|
return {
|
|
71
66
|
$schema: 'http://json-schema.org/draft-06/schema#',
|
|
72
67
|
$id: 'http://kalisio.xyz/schemas/change-role#',
|
|
@@ -74,11 +69,11 @@ export default {
|
|
|
74
69
|
properties: {
|
|
75
70
|
role: {
|
|
76
71
|
type: 'string',
|
|
72
|
+
default: currentRole,
|
|
77
73
|
field: {
|
|
78
|
-
component: 'form/
|
|
74
|
+
component: 'form/KRoleField',
|
|
79
75
|
label: 'KChangeRole.ROLE_FIELD_LABEL',
|
|
80
|
-
|
|
81
|
-
options: roles
|
|
76
|
+
roles
|
|
82
77
|
}
|
|
83
78
|
}
|
|
84
79
|
},
|
|
@@ -110,10 +105,12 @@ export default {
|
|
|
110
105
|
}
|
|
111
106
|
}
|
|
112
107
|
},
|
|
113
|
-
|
|
108
|
+
beforeCreate () {
|
|
114
109
|
// Load the required components
|
|
115
110
|
this.$options.components['k-modal'] = this.$load('frame/KModal')
|
|
116
111
|
this.$options.components['k-form'] = this.$load('form/KForm')
|
|
112
|
+
},
|
|
113
|
+
async created () {
|
|
117
114
|
// Load the member
|
|
118
115
|
this.member = await this.loadObject()
|
|
119
116
|
}
|