From 2634461d5c02a7c4eba66d4f6054c9d1d1194858 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Poussard?= <tpoussard@neogeo.fr> Date: Fri, 17 Dec 2021 15:03:17 +0100 Subject: [PATCH] change leaflet-draw button order for mobile display on feature_edit --- src/views/feature/Feature_edit.vue | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/src/views/feature/Feature_edit.vue b/src/views/feature/Feature_edit.vue index 183929cb..12342f42 100644 --- a/src/views/feature/Feature_edit.vue +++ b/src/views/feature/Feature_edit.vue @@ -181,11 +181,6 @@ /> <div class="ui tab active map-container" data-tab="map"> <div id="map" ref="map"></div> - <!-- // todo: ajouter v-if --> - <!-- {% if serialized_base_maps|length > 0 %} {% include - "geocontrib/map-layers/sidebar-layers.html" with - basemaps=serialized_base_maps layers=serialized_layers - project=project.slug%} {% endif %} --> <SidebarLayers v-if="basemaps && map" /> </div> </div> @@ -850,7 +845,10 @@ export default { if (this.currentRouteName === "editer-signalement") { this.map.addControl(this.drawControlEditOnly); - } else this.map.addControl(this.drawControlFull); + } else { + this.map.addControl(this.drawControlFull); + } + this.changeMobileBtnOrder(); this.map.on( "draw:created", @@ -984,6 +982,24 @@ export default { } }, + changeMobileBtnOrder() { //* move large toolbar for polygon creation, cutting map in the middle + function changeDisplay() { + let buttons = document.querySelector(".leaflet-draw-actions.leaflet-draw-actions-top.leaflet-draw-actions-bottom") + if (buttons && buttons.style) { + buttons.style.display = "flex" + buttons.style["flex-direction"] = "column" + } + } + if (window.screen.availWidth < 767) { //* change button order all the time to keep homogeinity on mobile + let wrapper = document.querySelector(".leaflet-top.leaflet-right"); + if (wrapper) wrapper.appendChild(wrapper.children[0]); + if (this.feature_type.geom_type === "polygon") { //* if it's a polygon, change tools direction to vertical + let polygonBtn = document.querySelector(".leaflet-draw-draw-polygon"); //* since elements are generated + if (polygonBtn) polygonBtn.addEventListener("click", changeDisplay) //* it should be done at each click + } + } + }, + getFeatureAttachments() { featureAPI .getFeatureAttachments(this.$route.params.slug_signal) -- GitLab