diff --git a/frontend/src/map/line-info/line-info.ts b/frontend/src/map/line-info/line-info.ts index 05ef65bf..90f85c91 100644 --- a/frontend/src/map/line-info/line-info.ts +++ b/frontend/src/map/line-info/line-info.ts @@ -29,7 +29,7 @@ export default class LineInfo extends Vue { @Prop({ type: IdType, required: true }) lineId!: ID; - isSaving = false; + isDeleting = false; showElevationPlot = false; isMoving = false; @@ -43,13 +43,13 @@ export default class LineInfo extends Vue { if (!this.line || !await this.$bvModal.msgBoxConfirm(`Do you really want to remove the line “${this.line.name}”?`)) return; - this.isSaving = true; + this.isDeleting = true; try { await this.client.deleteLine({ id: this.lineId }); } catch (err) { showErrorToast(this, "fm-line-info-delete", "Error deleting line", err); } finally { - this.isSaving = false; + this.isDeleting = false; } } diff --git a/frontend/src/map/line-info/line-info.vue b/frontend/src/map/line-info/line-info.vue index ac068c78..8c81cba2 100644 --- a/frontend/src/map/line-info/line-info.vue +++ b/frontend/src/map/line-info/line-info.vue @@ -46,11 +46,14 @@ >Export as GPX route - Edit data + Edit data - Edit waypoints + Edit waypoints - Remove + + + Remove + diff --git a/frontend/src/map/marker-info/marker-info.ts b/frontend/src/map/marker-info/marker-info.ts index 71e3d171..c0743ae7 100644 --- a/frontend/src/map/marker-info/marker-info.ts +++ b/frontend/src/map/marker-info/marker-info.ts @@ -26,7 +26,7 @@ export default class MarkerInfo extends Vue { @Prop({ type: IdType, required: true }) markerId!: ID; - isSaving = false; + isDeleting = false; get marker(): Marker | undefined { return this.client.markers[this.markerId]; @@ -46,13 +46,13 @@ export default class MarkerInfo extends Vue { if (!this.marker || !await this.$bvModal.msgBoxConfirm(`Do you really want to remove the marker “${this.marker.name}”?`)) return; - this.isSaving = true; + this.isDeleting = true; try { await this.client.deleteMarker({ id: this.markerId }); } catch (err) { showErrorToast(this, "fm-marker-info-delete", "Error deleting marker", err); } finally { - this.isSaving = false; + this.isDeleting = false; } } diff --git a/frontend/src/map/marker-info/marker-info.vue b/frontend/src/map/marker-info/marker-info.vue index 4f3474e6..de74d86b 100644 --- a/frontend/src/map/marker-info/marker-info.vue +++ b/frontend/src/map/marker-info/marker-info.vue @@ -24,9 +24,12 @@ Route destination - Edit data - Move - Remove + Edit data + Move + + + Remove + diff --git a/frontend/src/map/search-result-info/search-result-info.ts b/frontend/src/map/search-result-info/search-result-info.ts index 18ca11a0..8aa23557 100644 --- a/frontend/src/map/search-result-info/search-result-info.ts +++ b/frontend/src/map/search-result-info/search-result-info.ts @@ -24,6 +24,7 @@ export default class SearchResultInfo extends Vue { @Prop({ type: Object, required: true }) result!: SearchResult | FileResult; @Prop({ type: Boolean, default: false }) showBackButton!: boolean; + @Prop({ type: Boolean, default: false }) isAdding!: boolean; renderOsmTag = renderOsmTag; diff --git a/frontend/src/map/search-result-info/search-result-info.vue b/frontend/src/map/search-result-info/search-result-info.vue index 78a2dbdd..14b03a08 100644 --- a/frontend/src/map/search-result-info/search-result-info.vue +++ b/frontend/src/map/search-result-info/search-result-info.vue @@ -25,10 +25,17 @@ - + + {{type.name}} - Add to map + + + Add to map + Route start diff --git a/frontend/src/map/search-results/search-results.ts b/frontend/src/map/search-results/search-results.ts index d0cf13c2..a4ffb178 100644 --- a/frontend/src/map/search-results/search-results.ts +++ b/frontend/src/map/search-results/search-results.ts @@ -39,6 +39,7 @@ export default class SearchResults extends Vue { @Prop({ type: Object, default: () => ({}) }) customTypes!: FileResultObject["types"]; activeTab = 0; + isAdding = false; get isNarrow(): boolean { return context.isNarrow; @@ -166,6 +167,7 @@ export default class SearchResults extends Vue { async _addToMap(data: Array<{ result: SearchResult | FileResult; type: Type }>): Promise { this.$bvToast.hide("fm-search-result-info-add-error"); + this.isAdding = true; try { const selection: SelectedItem[] = []; @@ -223,6 +225,8 @@ export default class SearchResults extends Vue { } catch (err) { showErrorToast(this, "fm-search-result-info-add-error", "Error adding to map", err); return false; + } finally { + this.isAdding = false; } } diff --git a/frontend/src/map/search-results/search-results.vue b/frontend/src/map/search-results/search-results.vue index 217c2842..86be553e 100644 --- a/frontend/src/map/search-results/search-results.vue +++ b/frontend/src/map/search-results/search-results.vue @@ -38,7 +38,11 @@ Select all - + + @@ -58,6 +62,7 @@ v-if="openResult" :result="openResult" show-back-button + :is-adding="isAdding" @back="closeResult()" @add-to-map="addToMap([openResult], $event)" @use-as-from="useAsFrom(openResult)"