@geode/opengeodeweb-front 10.13.0 → 10.13.1-rc.2
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.
|
@@ -1,12 +1,46 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
const DEFAULT_SIZE = 22;
|
|
3
|
+
const DEFAULT_WIDTH = 3;
|
|
4
|
+
|
|
5
|
+
const {
|
|
6
|
+
text = "Fetching data...",
|
|
7
|
+
size = DEFAULT_SIZE,
|
|
8
|
+
width = DEFAULT_WIDTH,
|
|
9
|
+
} = defineProps({
|
|
10
|
+
text: {
|
|
11
|
+
type: String,
|
|
12
|
+
},
|
|
13
|
+
size: {
|
|
14
|
+
type: [Number, String],
|
|
15
|
+
},
|
|
16
|
+
width: {
|
|
17
|
+
type: [Number, String],
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
</script>
|
|
21
|
+
|
|
1
22
|
<template>
|
|
2
|
-
<Transition name="slide-fade"
|
|
3
|
-
<v-row align="center" class="pa-0">
|
|
4
|
-
<v-col cols="auto" class="pa-0">
|
|
5
|
-
<v-progress-circular
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
23
|
+
<Transition name="slide-fade">
|
|
24
|
+
<v-row align="center" justify="center" class="pa-0 ma-0 fill-height">
|
|
25
|
+
<v-col cols="auto" class="pa-0 d-flex flex-column align-center">
|
|
26
|
+
<v-progress-circular
|
|
27
|
+
:size="size"
|
|
28
|
+
:width="width"
|
|
29
|
+
color="primary"
|
|
30
|
+
indeterminate
|
|
31
|
+
class="ma-2"
|
|
32
|
+
/>
|
|
33
|
+
<p v-if="text" class="text-body-2 text-medium-emphasis">
|
|
34
|
+
{{ text }}
|
|
35
|
+
</p>
|
|
9
36
|
</v-col>
|
|
10
37
|
</v-row>
|
|
11
38
|
</Transition>
|
|
12
39
|
</template>
|
|
40
|
+
|
|
41
|
+
<style scoped>
|
|
42
|
+
.fill-height {
|
|
43
|
+
height: 100%;
|
|
44
|
+
min-height: 100px;
|
|
45
|
+
}
|
|
46
|
+
</style>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
+
import FetchingData from "@ogw_front/components/FetchingData.vue";
|
|
2
3
|
import ObjectTreeControls from "@ogw_front/components/Viewer/ObjectTree/Base/Controls.vue";
|
|
3
4
|
import ObjectTreeItemLabel from "@ogw_front/components/Viewer/ObjectTree/Base/ItemLabel.vue";
|
|
4
5
|
import { compareSelections } from "@ogw_front/utils/treeview";
|
|
@@ -63,7 +64,10 @@ async function onSelectionChange(current) {
|
|
|
63
64
|
@toggle-sort="toggleSort"
|
|
64
65
|
/>
|
|
65
66
|
|
|
67
|
+
<FetchingData v-if="items === undefined" :size="48" :width="4" text="" />
|
|
68
|
+
|
|
66
69
|
<v-treeview
|
|
70
|
+
v-else
|
|
67
71
|
:selected="mesh_components_selection"
|
|
68
72
|
v-model:opened="opened"
|
|
69
73
|
:items="processedItems"
|
|
@@ -33,9 +33,12 @@ function useTreeFilter(rawItems, options = {}) {
|
|
|
33
33
|
const sortType = ref(options.defaultSort || "name");
|
|
34
34
|
const filterOptions = ref(options.defaultFilters || {});
|
|
35
35
|
|
|
36
|
-
const availableFilterOptions = computed(() =>
|
|
37
|
-
rawItems.value
|
|
38
|
-
|
|
36
|
+
const availableFilterOptions = computed(() => {
|
|
37
|
+
if (!rawItems.value) {
|
|
38
|
+
return [];
|
|
39
|
+
}
|
|
40
|
+
return rawItems.value.map((category) => category.title || category.id);
|
|
41
|
+
});
|
|
39
42
|
|
|
40
43
|
watch(
|
|
41
44
|
availableFilterOptions,
|
|
@@ -49,15 +52,18 @@ function useTreeFilter(rawItems, options = {}) {
|
|
|
49
52
|
{ immediate: true },
|
|
50
53
|
);
|
|
51
54
|
|
|
52
|
-
const processedItems = computed(() =>
|
|
53
|
-
|
|
55
|
+
const processedItems = computed(() => {
|
|
56
|
+
if (!rawItems.value) {
|
|
57
|
+
return [];
|
|
58
|
+
}
|
|
59
|
+
return sortAndFormatItems(
|
|
54
60
|
rawItems.value.filter((category) => {
|
|
55
61
|
const key = category.title || category.id;
|
|
56
62
|
return filterOptions.value[key] !== false;
|
|
57
63
|
}),
|
|
58
64
|
sortType.value,
|
|
59
|
-
)
|
|
60
|
-
);
|
|
65
|
+
);
|
|
66
|
+
});
|
|
61
67
|
|
|
62
68
|
function toggleSort() {
|
|
63
69
|
sortType.value = sortType.value === "name" ? "id" : "name";
|
package/app/stores/data.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BaseDatabase } from "./base_database";
|
|
2
|
+
import { Dexie } from "dexie";
|
|
2
3
|
import { ExtendedDatabase } from "./extended_database";
|
|
3
4
|
|
|
4
5
|
class Database extends BaseDatabase {
|
|
@@ -51,6 +52,7 @@ class Database extends BaseDatabase {
|
|
|
51
52
|
}
|
|
52
53
|
}
|
|
53
54
|
|
|
55
|
+
await Dexie.delete("Database");
|
|
54
56
|
const databaseContainer = { instance: new Database() };
|
|
55
57
|
|
|
56
58
|
const database = new Proxy(
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@geode/opengeodeweb-front",
|
|
3
|
-
"version": "10.13.
|
|
3
|
+
"version": "10.13.1-rc.2",
|
|
4
4
|
"description": "OpenSource Vue/Nuxt/Pinia/Vuetify framework for web applications",
|
|
5
5
|
"homepage": "https://github.com/Geode-solutions/OpenGeodeWeb-Front",
|
|
6
6
|
"bugs": {
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"build": ""
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@geode/opengeodeweb-back": "
|
|
38
|
-
"@geode/opengeodeweb-viewer": "
|
|
37
|
+
"@geode/opengeodeweb-back": "next",
|
|
38
|
+
"@geode/opengeodeweb-viewer": "next",
|
|
39
39
|
"@google-cloud/run": "3.2.0",
|
|
40
40
|
"@kitware/vtk.js": "33.3.0",
|
|
41
41
|
"@mdi/font": "7.4.47",
|