annotate client/src/components/sections/Sections.vue @ 4193:dc435fbb2d7a

Client: Use importer backend to add a delete job for sections.
author Raimund Renkert <raimund@renkert.org>
date Mon, 12 Aug 2019 15:02:19 +0200
parents 3ada3d0347bd
children 01b846f4eb1e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3290
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
1 <template>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
2 <div class="d-flex flex-column">
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
3 <UIBoxHeader icon="road" :title="title" :closeCallback="$parent.close" />
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
4 <div class="position-relative">
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
5 <UISpinnerOverlay v-if="loading" />
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
6 <SectionForm v-if="showForm" :editSection="editSection" />
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
7 <div v-else>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
8 <UITableHeader
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
9 :columns="[
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
10 { id: 'properties.name', title: `${nameLabel}`, class: 'col-4' },
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
11 {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
12 id: 'properties.date_info',
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
13 title: `${dateLabel}`,
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
14 class: 'col-2'
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
15 },
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
16 {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
17 id: 'properties.source_organization',
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
18 title: `${sourceorganizationLabel}`,
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
19 class: 'col-3'
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
20 }
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
21 ]"
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
22 />
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
23 <UITableBody
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
24 :data="filteredSections() | sortTable(sortColumn, sortDirection)"
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
25 >
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
26 <template v-slot:row="{ item: section }">
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
27 <div class="py-1 px-2 col-4">
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
28 <a @click="moveMapToSection(section)" href="#">
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
29 {{ section.properties.name }}
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
30 </a>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
31 </div>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
32 <div class="py-1 px-2 col-2">
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
33 {{ section.properties.date_info | surveyDate }}
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
34 </div>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
35 <div class="py-1 px-2 col-3">
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
36 {{ section.properties.source_organization }}
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
37 </div>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
38 <div class="py-1 px-2 col text-right">
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
39 <button
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
40 v-if="isInStaging(section.properties.name)"
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
41 @click="gotoStaging(section.properties.name)"
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
42 class="btn btn-xs btn-danger mr-1"
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
43 >
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
44 <font-awesome-icon
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
45 icon="exclamation-triangle"
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
46 fixed-width
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
47 v-tooltip="reviewTooltip"
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
48 />
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
49 </button>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
50 <button
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
51 class="btn btn-xs btn-dark mr-1"
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
52 @click="
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
53 showForm = true;
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
54 editSection = section;
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
55 "
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
56 >
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
57 <font-awesome-icon icon="pencil-alt" fixed-width />
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
58 </button>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
59 <button
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
60 class="btn btn-xs btn-dark"
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
61 @click="deleteSection(section)"
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
62 >
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
63 <font-awesome-icon icon="trash" fixed-width />
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
64 </button>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
65 </div>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
66 </template>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
67 </UITableBody>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
68 <div class="text-right p-2 border-top">
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
69 <button
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
70 @click="
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
71 showForm = true;
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
72 editSection = null;
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
73 "
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
74 class="btn btn-sm btn-info"
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
75 >
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
76 <translate>New section</translate>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
77 </button>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
78 </div>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
79 </div>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
80 </div>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
81 </div>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
82 </template>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
83
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
84 <style lang="sass" scoped>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
85 .input-button
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
86 border-top-left-radius: 0
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
87 border-bottom-left-radius: 0
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
88 right: 0
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
89 height: 31px
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
90 </style>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
91
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
92 <script>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
93 /* This is Free Software under GNU Affero General Public License v >= 3.0
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
94 * without warranty, see README.md and license for details.
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
95 *
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
96 * SPDX-License-Identifier: AGPL-3.0-or-later
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
97 * License-Filename: LICENSES/AGPL-3.0.txt
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
98 *
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
99 * Copyright (C) 2018, 2019 by via donau
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
100 * – Österreichische Wasserstraßen-Gesellschaft mbH
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
101 * Software engineering by Intevation GmbH
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
102 *
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
103 * Author(s):
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
104 * Thomas Junk <thomas.junk@intevation.de>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
105 * Tom Gottfried <tom.gottfried@intevation.de>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
106 */
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
107 import { mapState, mapGetters } from "vuex";
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
108 import { displayError, displayInfo } from "@/lib/errors";
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
109 import { HTTP } from "@/lib/http";
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
110 import { sortTable } from "@/lib/mixins";
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
111
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
112 export default {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
113 mixins: [sortTable],
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
114 components: {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
115 SectionForm: () => import("./SectionForm")
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
116 },
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
117 data() {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
118 return {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
119 staging: [],
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
120 loading: false,
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
121 showForm: false,
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
122 editSection: null
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
123 };
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
124 },
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
125 computed: {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
126 ...mapState("application", ["searchQuery"]),
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
127 ...mapGetters("map", ["openLayersMap"]),
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
128 ...mapState("imports", ["sections"]),
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
129 title() {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
130 return this.$gettext("Define Sections");
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
131 },
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
132 nameLabel() {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
133 return this.$gettext("Name");
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
134 },
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
135 dateLabel() {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
136 return this.$gettext("Date");
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
137 },
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
138 sourceorganizationLabel() {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
139 return this.$gettext("Source organization");
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
140 },
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
141 reviewTooltip() {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
142 return this.$gettext("Review pending import");
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
143 }
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
144 },
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
145 methods: {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
146 filteredSections() {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
147 return this.sections.filter(s => {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
148 return (s.properties.name + s.properties.source_organization)
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
149 .toLowerCase()
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
150 .includes(this.searchQuery.toLowerCase());
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
151 });
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
152 },
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
153 gotoStaging(sectionName) {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
154 let pendingImport = this.staging.find(s => s.name === sectionName);
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
155 if (pendingImport)
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
156 this.$router.push("/imports/overview/" + pendingImport.id);
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
157 },
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
158 isInStaging(sectionName) {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
159 return !!this.staging.find(s => s.name === sectionName);
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
160 },
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
161 loadStagingData() {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
162 HTTP.get("/imports?states=pending&kinds=sec", {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
163 headers: { "X-Gemma-Auth": localStorage.getItem("token") }
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
164 })
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
165 .then(response => {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
166 response.data.imports.forEach(i => {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
167 HTTP.get("/imports/" + i.id, {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
168 headers: { "X-Gemma-Auth": localStorage.getItem("token") }
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
169 })
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
170 .then(response => {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
171 this.staging.push({
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
172 id: i.id,
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
173 name: response.data.summary.section
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
174 });
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
175 })
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
176 .catch(error => {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
177 const { status, data } = error.response;
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
178 displayError({
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
179 title: this.$gettext("Backend Error"),
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
180 message: `${status}: ${data.message || data}`
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
181 });
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
182 })
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
183 .finally(() => (this.loading = false));
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
184 });
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
185 })
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
186 .catch(error => {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
187 const { status, data } = error.response;
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
188 displayError({
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
189 title: this.$gettext("Backend Error"),
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
190 message: `${status}: ${data.message || data}`
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
191 });
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
192 });
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
193 },
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
194 deleteSection(section) {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
195 this.$store.commit("application/popup", {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
196 icon: "trash",
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
197 title: this.$gettext("Delete Section"),
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
198 content:
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
199 this.$gettext("Do you really want to delete this section:") +
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
200 `<br>
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
201 <b>${section.properties.name}, ${
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
202 section.properties.source_organization
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
203 } (${section.properties.countries})</b>`,
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
204 confirm: {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
205 label: this.$gettext("Delete"),
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
206 icon: "trash",
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
207 callback: () => {
4193
dc435fbb2d7a Client: Use importer backend to add a delete job for sections.
Raimund Renkert <raimund@renkert.org>
parents: 3290
diff changeset
208 HTTP.post("/imports/dsec",
dc435fbb2d7a Client: Use importer backend to add a delete job for sections.
Raimund Renkert <raimund@renkert.org>
parents: 3290
diff changeset
209 {
dc435fbb2d7a Client: Use importer backend to add a delete job for sections.
Raimund Renkert <raimund@renkert.org>
parents: 3290
diff changeset
210 id: section.id.split(".")[1]*1
dc435fbb2d7a Client: Use importer backend to add a delete job for sections.
Raimund Renkert <raimund@renkert.org>
parents: 3290
diff changeset
211 },
dc435fbb2d7a Client: Use importer backend to add a delete job for sections.
Raimund Renkert <raimund@renkert.org>
parents: 3290
diff changeset
212 {
dc435fbb2d7a Client: Use importer backend to add a delete job for sections.
Raimund Renkert <raimund@renkert.org>
parents: 3290
diff changeset
213 headers: { "X-Gemma-Auth": localStorage.getItem("token") }
dc435fbb2d7a Client: Use importer backend to add a delete job for sections.
Raimund Renkert <raimund@renkert.org>
parents: 3290
diff changeset
214 }
dc435fbb2d7a Client: Use importer backend to add a delete job for sections.
Raimund Renkert <raimund@renkert.org>
parents: 3290
diff changeset
215 )
dc435fbb2d7a Client: Use importer backend to add a delete job for sections.
Raimund Renkert <raimund@renkert.org>
parents: 3290
diff changeset
216 .then(response => {
dc435fbb2d7a Client: Use importer backend to add a delete job for sections.
Raimund Renkert <raimund@renkert.org>
parents: 3290
diff changeset
217
dc435fbb2d7a Client: Use importer backend to add a delete job for sections.
Raimund Renkert <raimund@renkert.org>
parents: 3290
diff changeset
218 displayInfo({
dc435fbb2d7a Client: Use importer backend to add a delete job for sections.
Raimund Renkert <raimund@renkert.org>
parents: 3290
diff changeset
219 title: this.$gettext("Staging Area"),
dc435fbb2d7a Client: Use importer backend to add a delete job for sections.
Raimund Renkert <raimund@renkert.org>
parents: 3290
diff changeset
220 message: this.$gettext("Deleting ") + section.properties.objnam
dc435fbb2d7a Client: Use importer backend to add a delete job for sections.
Raimund Renkert <raimund@renkert.org>
parents: 3290
diff changeset
221 });
dc435fbb2d7a Client: Use importer backend to add a delete job for sections.
Raimund Renkert <raimund@renkert.org>
parents: 3290
diff changeset
222 })
3290
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
223 }
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
224 },
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
225 cancel: {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
226 label: this.$gettext("Cancel"),
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
227 icon: "times"
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
228 }
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
229 });
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
230 },
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
231 moveMapToSection(section) {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
232 this.$store.commit("imports/selectedSectionId", section.id);
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
233 this.$store.commit("fairwayavailability/type", "sections");
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
234 this.$store.commit("application/showFairwayDepth", true);
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
235 this.openLayersMap()
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
236 .getLayer("SECTIONS")
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
237 .setVisible(true);
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
238 this.$store.dispatch("map/moveToFeauture", {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
239 feature: section,
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
240 zoom: 17,
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
241 preventZoomOut: true
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
242 });
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
243 }
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
244 },
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
245 mounted() {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
246 this.loading = true;
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
247 this.$store
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
248 .dispatch("imports/loadSections")
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
249 .catch(error => {
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
250 const { status, data } = error.response;
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
251 displayError({
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
252 title: this.$gettext("Backend Error"),
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
253 message: `${status}: ${data.message || data}`
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
254 });
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
255 })
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
256 .finally(() => (this.loading = false));
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
257 this.loadStagingData();
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
258 }
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
259 };
3ada3d0347bd client: define sections: duplicated and adjusted code from stretches
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
260 </script>