|
|
|
@ -6,7 +6,7 @@
|
|
|
|
</sidebar>
|
|
|
|
</sidebar>
|
|
|
|
<div class="main-view">
|
|
|
|
<div class="main-view">
|
|
|
|
<va-input v-model="searchQuery"></va-input>
|
|
|
|
<va-input v-model="searchQuery"></va-input>
|
|
|
|
<overview-screen :items="filteredAndSearchedItems" @mapClick="applyFilters" />
|
|
|
|
<overview-screen :items="filteredAndSearchedItems" :columns="filteredColumns" @mapClick="applyFilters" />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
@ -23,6 +23,7 @@ export default {
|
|
|
|
data() {
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
return {
|
|
|
|
items: [],
|
|
|
|
items: [],
|
|
|
|
|
|
|
|
columns: [],
|
|
|
|
currentFilters: {},
|
|
|
|
currentFilters: {},
|
|
|
|
searchQuery: '',
|
|
|
|
searchQuery: '',
|
|
|
|
searchColumns: [
|
|
|
|
searchColumns: [
|
|
|
|
@ -37,10 +38,19 @@ export default {
|
|
|
|
"datalist",
|
|
|
|
"datalist",
|
|
|
|
"resolution",
|
|
|
|
"resolution",
|
|
|
|
],
|
|
|
|
],
|
|
|
|
|
|
|
|
showColumns: [
|
|
|
|
|
|
|
|
"basin",
|
|
|
|
|
|
|
|
"category",
|
|
|
|
|
|
|
|
"description",
|
|
|
|
|
|
|
|
"deposit",
|
|
|
|
|
|
|
|
"well",
|
|
|
|
|
|
|
|
"stratum",
|
|
|
|
|
|
|
|
"org",
|
|
|
|
|
|
|
|
],
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
methods: {
|
|
|
|
fetchAllItems() {
|
|
|
|
async fetchAllItems() {
|
|
|
|
const baseURL = "http://localhost:8080/api/v1";
|
|
|
|
const baseURL = "http://localhost:8080/api/v1";
|
|
|
|
|
|
|
|
|
|
|
|
fetch(`${baseURL}/items/?limit=10000`)
|
|
|
|
fetch(`${baseURL}/items/?limit=10000`)
|
|
|
|
@ -49,6 +59,16 @@ export default {
|
|
|
|
.catch((e) => console.log(e))
|
|
|
|
.catch((e) => console.log(e))
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async fetchColumns(){
|
|
|
|
|
|
|
|
const baseURL = "http://localhost:8080/api/v1";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fetch(`${baseURL}/headers/`)
|
|
|
|
|
|
|
|
.then(res => res.json())
|
|
|
|
|
|
|
|
.then(data => this.columns = data)
|
|
|
|
|
|
|
|
.catch((e) => console.log(e))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
applyFilters(filter) {
|
|
|
|
applyFilters(filter) {
|
|
|
|
for (let key in filter) {
|
|
|
|
for (let key in filter) {
|
|
|
|
if (Array.isArray(filter[key]) && filter[key].length) {
|
|
|
|
if (Array.isArray(filter[key]) && filter[key].length) {
|
|
|
|
@ -60,7 +80,8 @@ export default {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
mounted () {
|
|
|
|
mounted () {
|
|
|
|
this.fetchAllItems()
|
|
|
|
this.fetchAllItems();
|
|
|
|
|
|
|
|
this.fetchColumns();
|
|
|
|
},
|
|
|
|
},
|
|
|
|
computed: {
|
|
|
|
computed: {
|
|
|
|
filteredItems() {
|
|
|
|
filteredItems() {
|
|
|
|
@ -96,6 +117,18 @@ export default {
|
|
|
|
return result;
|
|
|
|
return result;
|
|
|
|
})
|
|
|
|
})
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
filteredColumns(){
|
|
|
|
|
|
|
|
return this.columns
|
|
|
|
|
|
|
|
.filter(header => this.showColumns.includes(header.database))
|
|
|
|
|
|
|
|
.map(header => {
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
|
|
|
key: header.database,
|
|
|
|
|
|
|
|
label: header.spreadsheet,
|
|
|
|
|
|
|
|
sortable: true,
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|