@geode/opengeodeweb-front 2.1.0 → 3.0.0
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.
package/components/Launcher.vue
CHANGED
|
@@ -22,11 +22,7 @@ const websocket_store = use_websocket_store()
|
|
|
22
22
|
const cloud_store = use_cloud_store()
|
|
23
23
|
const { is_cloud_running, is_captcha_validated, is_connexion_launched } = storeToRefs(cloud_store)
|
|
24
24
|
|
|
25
|
-
const
|
|
26
|
-
site_key: { type: String, required: true }
|
|
27
|
-
})
|
|
28
|
-
|
|
29
|
-
const { site_key } = toRefs(props)
|
|
25
|
+
const site_key = useRuntimeConfig().public.RECAPTCHA_SITE_KEY
|
|
30
26
|
|
|
31
27
|
watch(is_captcha_validated, async (value) => {
|
|
32
28
|
if (value === true && process.client) {
|
|
@@ -44,7 +40,7 @@ onMounted(() => {
|
|
|
44
40
|
}
|
|
45
41
|
})
|
|
46
42
|
|
|
47
|
-
async function submit_recaptcha(token) {
|
|
43
|
+
async function submit_recaptcha (token) {
|
|
48
44
|
try {
|
|
49
45
|
const response = await $fetch.raw(`/.netlify/functions/recaptcha?token=${token}`)
|
|
50
46
|
cloud_store.$patch({ is_captcha_validated: response.status == 200 })
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div style="position: relative; ">
|
|
2
|
+
<div style="position: relative; width: 100%; height: 100%;">
|
|
3
3
|
<view-toolbar />
|
|
4
4
|
<v-col style="overflow: hidden; position: relative; z-index: 0; height: 100%; width: 100%" ref="viewer"
|
|
5
5
|
@click="get_x_y" @keydown.esc="app_store.toggle_picking_mode(false)" class="pa-0">
|
|
@@ -1,30 +1,34 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
<v-row dense :class="[$style.floatToolbar, 'flex-column']">
|
|
3
|
+
<v-col>
|
|
4
|
+
<v-tooltip location="left">
|
|
5
|
+
Reset camera
|
|
6
|
+
<template #activator="{ props }">
|
|
7
|
+
<v-btn @click.stop=reset_camera density="comfortable" v-bind="props" icon>
|
|
8
|
+
<v-icon size="32">
|
|
9
|
+
mdi-cube-scan
|
|
10
|
+
</v-icon>
|
|
11
|
+
</v-btn>
|
|
12
|
+
</template>
|
|
13
|
+
</v-tooltip>
|
|
14
|
+
</v-col>
|
|
15
|
+
</v-row>
|
|
12
16
|
</template>
|
|
13
17
|
|
|
14
18
|
<script setup>
|
|
15
19
|
const viewer_store = use_viewer_store()
|
|
16
|
-
function reset_camera() {
|
|
17
|
-
|
|
20
|
+
function reset_camera () {
|
|
21
|
+
viewer_store.reset_camera()
|
|
18
22
|
}
|
|
19
23
|
</script>
|
|
20
24
|
|
|
21
25
|
<style module>
|
|
22
26
|
.floatToolbar {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
position: absolute;
|
|
28
|
+
z-index: 2;
|
|
29
|
+
right: 20px;
|
|
30
|
+
top: 20px;
|
|
31
|
+
background-color: rgba(0, 0, 0, 0.4);
|
|
32
|
+
border-radius: 16px;
|
|
29
33
|
}
|
|
30
34
|
</style>
|
package/components/Wrapper.vue
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<Header :tool_name="tool_name" :cards_list="cards_list" />
|
|
6
6
|
</v-col>
|
|
7
7
|
<v-col v-if="!is_cloud_running">
|
|
8
|
-
<Launcher
|
|
8
|
+
<Launcher />
|
|
9
9
|
</v-col>
|
|
10
10
|
<v-col v-if="is_cloud_running">
|
|
11
11
|
<Stepper />
|
|
@@ -23,9 +23,8 @@ const { is_cloud_running } = storeToRefs(cloud_store)
|
|
|
23
23
|
|
|
24
24
|
const props = defineProps({
|
|
25
25
|
cards_list: { type: Array, required: true },
|
|
26
|
-
site_key: { type: String, required: true }
|
|
27
26
|
})
|
|
28
|
-
const { cards_list
|
|
27
|
+
const { cards_list } = props
|
|
29
28
|
|
|
30
29
|
const stepper_tree = inject('stepper_tree')
|
|
31
30
|
const { tool_name, route_prefix } = stepper_tree
|
package/package.json
CHANGED
package/stores/cloud.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { defineStore } from 'pinia'
|
|
2
|
+
import { useStorage } from '@vueuse/core'
|
|
2
3
|
|
|
3
4
|
export const use_cloud_store = defineStore('cloud', {
|
|
4
5
|
state: () => ({
|
|
5
|
-
ID: '',
|
|
6
|
+
ID: useStorage('ID', ''),
|
|
6
7
|
is_captcha_validated: false,
|
|
7
8
|
is_cloud_running: false,
|
|
8
9
|
is_connexion_launched: false,
|
|
@@ -31,14 +32,12 @@ export const use_cloud_store = defineStore('cloud', {
|
|
|
31
32
|
async create_connexion () {
|
|
32
33
|
if (this.is_connexion_launched) { return }
|
|
33
34
|
this.is_connexion_launched = true
|
|
34
|
-
|
|
35
|
-
if (ID === null || typeof ID === 'undefined') {
|
|
35
|
+
if (this.ID === '' || this.ID === null || typeof this.ID === 'undefined') {
|
|
36
36
|
return this.create_backend()
|
|
37
37
|
} else {
|
|
38
38
|
const { data, error } = await useFetch(`${this.geode_url}/ping`, { method: 'POST' })
|
|
39
39
|
console.log("error", error)
|
|
40
40
|
if (data.value !== null) {
|
|
41
|
-
this.ID = ID
|
|
42
41
|
this.is_cloud_running = true
|
|
43
42
|
return this.ping_task()
|
|
44
43
|
} else {
|
|
@@ -50,7 +49,7 @@ export const use_cloud_store = defineStore('cloud', {
|
|
|
50
49
|
const errors_store = use_errors_store()
|
|
51
50
|
const config = useRuntimeConfig()
|
|
52
51
|
const public_runtime_config = config.public
|
|
53
|
-
const { data, error } = await useFetch(`${public_runtime_config.GEODE_PROTOCOL}://${public_runtime_config.API_URL}:${public_runtime_config.GEODE_PORT}${public_runtime_config.SITE_BRANCH}
|
|
52
|
+
const { data, error } = await useFetch(`${public_runtime_config.GEODE_PROTOCOL}://${public_runtime_config.API_URL}:${public_runtime_config.GEODE_PORT}${public_runtime_config.SITE_BRANCH}/${public_runtime_config.PROJECT}/createbackend`, { method: 'POST' })
|
|
54
53
|
if (data.value !== null) {
|
|
55
54
|
this.ID = data.value.ID
|
|
56
55
|
localStorage.setItem('ID', data.value.ID)
|
package/stores/viewer.js
CHANGED
|
@@ -10,7 +10,7 @@ export const use_viewer_store = defineStore('viewer', {
|
|
|
10
10
|
this.picking_mode = value
|
|
11
11
|
},
|
|
12
12
|
async set_picked_point (x, y) {
|
|
13
|
-
const response = await get_point_position({ x, y })
|
|
13
|
+
const response = await this.get_point_position({ x, y })
|
|
14
14
|
const { x: world_x, y: world_y } = response
|
|
15
15
|
this.picked_point.x = world_x
|
|
16
16
|
this.picked_point.y = world_y
|