Skip to content

Commit 0102b6c

Browse files
committed
update
1 parent f26fe76 commit 0102b6c

23 files changed

+1918
-2068
lines changed

components/CrsSelector.vue

Lines changed: 83 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,79 +1,100 @@
11
<template>
2-
<v-text-field v-model="search" append-icon="mdi-magnify" label="Search" single-line hide-details></v-text-field>
3-
<v-data-table v-model="selected_crs" :v-model:items-per-page="10" :headers="headers" :items="crs_list" item-value="code"
4-
class="elevation-1" density='compact' fixed-header select-strategy='single' show-select :search="search"
5-
:loading="data_table_loading" loading-text="Loading... Please wait"></v-data-table>
2+
<v-text-field
3+
v-model="search"
4+
append-icon="mdi-magnify"
5+
label="Search"
6+
single-line
7+
hide-details
8+
></v-text-field>
9+
<v-data-table
10+
v-model="selected_crs"
11+
:v-model:items-per-page="10"
12+
:headers="headers"
13+
:items="crs_list"
14+
item-value="code"
15+
class="elevation-1"
16+
density="compact"
17+
fixed-header
18+
select-strategy="single"
19+
show-select
20+
:search="search"
21+
:loading="data_table_loading"
22+
loading-text="Loading... Please wait"
23+
></v-data-table>
624
</template>
725

826
<script setup>
9-
import { useToggle } from '@vueuse/core'
27+
import { useToggle } from "@vueuse/core"
1028
11-
const stepper_tree = inject('stepper_tree')
12-
const { geode_object, route_prefix } = stepper_tree
29+
const stepper_tree = inject("stepper_tree")
30+
const { geode_object, route_prefix } = stepper_tree
1331
14-
const props = defineProps({
15-
variable_to_update: { type: String, required: true },
16-
variable_to_increment: { type: String, required: true },
17-
})
32+
const props = defineProps({
33+
variable_to_update: { type: String, required: true },
34+
variable_to_increment: { type: String, required: true },
35+
schema: { type: Object, required: true },
36+
})
1837
19-
const { variable_to_update, variable_to_increment } = props
38+
const { variable_to_update, variable_to_increment, schema } = props
2039
21-
const search = ref('')
22-
const data_table_loading = ref(false)
23-
const crs_list = ref([])
24-
const selected_crs = ref([])
25-
const toggle_loading = useToggle(data_table_loading)
40+
const search = ref("")
41+
const data_table_loading = ref(false)
42+
const crs_list = ref([])
43+
const selected_crs = ref([])
44+
const toggle_loading = useToggle(data_table_loading)
2645
27-
watch(selected_crs, (new_value) => {
28-
const crs = get_selected_crs(new_value[0])
29-
set_crs(crs)
30-
})
46+
watch(selected_crs, (new_value) => {
47+
const crs = get_selected_crs(new_value[0])
48+
set_crs(crs)
49+
})
3150
32-
function set_crs(crs_value) {
33-
stepper_tree[variable_to_update] = crs_value
34-
stepper_tree[variable_to_increment]++
35-
}
51+
function set_crs(crs_value) {
52+
stepper_tree[variable_to_update] = crs_value
53+
stepper_tree[variable_to_increment]++
54+
}
3655
37-
function get_selected_crs(crs_code) {
38-
for (let i = 0; i <= crs_list.value.length; i++) {
39-
if (crs_list.value[i]['code'] == crs_code) {
40-
return crs_list.value[i]
56+
function get_selected_crs(crs_code) {
57+
for (let i = 0; i <= crs_list.value.length; i++) {
58+
if (crs_list.value[i]["code"] == crs_code) {
59+
return crs_list.value[i]
60+
}
4161
}
4262
}
43-
}
4463
45-
async function get_crs_table() {
46-
let params = {
47-
'geode_object': geode_object
48-
}
49-
toggle_loading()
50-
await api_fetch(CrsSelector_json.id, params,
51-
{
52-
'request_error_function': () => { toggle_loading() },
53-
'response_function': (response) => {
54-
toggle_loading()
55-
crs_list.value = response._data.crs_list
56-
},
57-
'response_error_function': () => { toggle_loading() }
64+
async function get_crs_table() {
65+
let params = {
66+
geode_object: geode_object,
5867
}
59-
)
60-
}
61-
62-
const headers = [
63-
{
64-
title: 'Authority',
65-
align: 'start',
66-
sortable: true,
67-
key: 'authority',
68-
69-
},
70-
{ title: 'Code', align: 'end', key: 'code' },
71-
{ title: 'Name', align: 'end', key: 'name' }
72-
]
73-
68+
toggle_loading()
69+
await api_fetch(
70+
{ schema, params },
71+
{
72+
request_error_function: () => {
73+
toggle_loading()
74+
},
75+
response_function: (response) => {
76+
toggle_loading()
77+
crs_list.value = response._data.crs_list
78+
},
79+
response_error_function: () => {
80+
toggle_loading()
81+
},
82+
},
83+
)
84+
}
7485
75-
onMounted(() => {
76-
get_crs_table()
77-
})
86+
const headers = [
87+
{
88+
title: "Authority",
89+
align: "start",
90+
sortable: true,
91+
key: "authority",
92+
},
93+
{ title: "Code", align: "end", key: "code" },
94+
{ title: "Name", align: "end", key: "name" },
95+
]
7896
79-
</script>
97+
onMounted(() => {
98+
get_crs_table()
99+
})
100+
</script>

components/ExtensionSelector.json

Lines changed: 0 additions & 13 deletions
This file was deleted.

components/ExtensionSelector.vue

Lines changed: 44 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,16 @@
11
<template>
22
<v-row class="justify-left">
3-
<v-col v-for="file_extension in file_extensions" :key="file_extension" cols="2">
4-
<v-card class="card ma-2" hover elevation="5" @click="set_output_extension(file_extension)">
3+
<v-col
4+
v-for="file_extension in file_extensions"
5+
:key="file_extension"
6+
cols="2"
7+
>
8+
<v-card
9+
class="card ma-2"
10+
hover
11+
elevation="5"
12+
@click="set_output_extension(file_extension)"
13+
>
514
<v-card-title align="center">
615
{{ file_extension }}
716
</v-card-title>
@@ -11,44 +20,42 @@
1120
</template>
1221

1322
<script setup>
14-
const stepper_tree = inject('stepper_tree')
15-
const { geode_object, route_prefix } = stepper_tree
16-
17-
const props = defineProps({
18-
variable_to_update: { type: String, required: true },
19-
variable_to_increment: { type: String, required: true },
20-
})
21-
const { variable_to_update, variable_to_increment } = props
22-
23-
const file_extensions = ref([])
24-
25-
26-
async function get_output_file_extensions () {
27-
const params = {
28-
'geode_object': geode_object
29-
}
30-
await api_fetch(ExtensionSelector_json.id, params,
31-
{
32-
'response_function': (response) => {
33-
file_extensions.value = response._data.output_file_extensions
23+
const stepper_tree = inject("stepper_tree")
24+
const { geode_object, route_prefix } = stepper_tree
25+
26+
const props = defineProps({
27+
variable_to_update: { type: String, required: true },
28+
variable_to_increment: { type: String, required: true },
29+
schema: { type: Object, required: true },
30+
})
31+
const { variable_to_update, variable_to_increment, schema } = props
32+
33+
const file_extensions = ref([])
34+
35+
async function get_output_file_extensions() {
36+
const params = { geode_object: geode_object }
37+
await api_fetch(
38+
{ schema, params },
39+
{
40+
response_function: (response) => {
41+
file_extensions.value = response._data.output_file_extensions
42+
},
3443
},
35-
}
36-
)
37-
}
38-
39-
function set_output_extension (extension) {
40-
stepper_tree[variable_to_update] = extension
41-
stepper_tree[variable_to_increment]++
42-
}
44+
)
45+
}
4346
44-
onMounted(() => {
45-
get_output_file_extensions()
46-
})
47+
function set_output_extension(extension) {
48+
stepper_tree[variable_to_update] = extension
49+
stepper_tree[variable_to_increment]++
50+
}
4751
52+
onMounted(() => {
53+
get_output_file_extensions()
54+
})
4855
</script>
4956

5057
<style scoped>
51-
.card {
52-
border-radius: 15px;
53-
}
54-
</style>
58+
.card {
59+
border-radius: 15px;
60+
}
61+
</style>

components/FileSelector.json

Lines changed: 0 additions & 16 deletions
This file was deleted.

components/FileSelector.vue

Lines changed: 54 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,58 @@
11
<template>
2-
<v-file-input v-model="files" :multiple="multiple" :label="label" :accept="accept"
3-
:rules="[(value) => !!value || 'The file is mandatory']" color="primary" chips counter show-size
4-
@click:clear="stepper_tree.files = []" />
2+
<v-file-input
3+
v-model="files"
4+
:multiple="multiple"
5+
:label="label"
6+
:accept="accept"
7+
:rules="[(value) => !!value || 'The file is mandatory']"
8+
color="primary"
9+
chips
10+
counter
11+
show-size
12+
@click:clear="stepper_tree.files = []"
13+
/>
514
</template>
615

716
<script setup>
8-
const stepper_tree = inject('stepper_tree')
9-
const { route_prefix } = stepper_tree
10-
11-
const props = defineProps({
12-
multiple: { type: Boolean, required: true },
13-
label: { type: String, required: true },
14-
variable_to_update: { type: String, required: true },
15-
variable_to_increment: { type: String, required: true },
16-
})
17-
const { multiple, label, variable_to_update, variable_to_increment } = props
18-
19-
const accept = ref('')
20-
const files = ref([])
21-
22-
watch(files, (value) => {
23-
stepper_tree[variable_to_update] = value
24-
stepper_tree[variable_to_increment]++
25-
})
26-
27-
function fill_extensions (response) {
28-
const extensions = response._data.extensions.map((extension) => '.' + extension).join(',')
29-
accept.value = extensions
30-
}
31-
32-
async function get_allowed_files () {
33-
const route = `${route_prefix}/allowed_files`
34-
await api_fetch(FileSelector_json.id, params,
35-
{
36-
'response_function': (response) => {
37-
fill_extensions(response)
38-
}
39-
})
40-
}
41-
42-
onMounted(async () => {
43-
await get_allowed_files()
44-
})
45-
46-
</script>
17+
const stepper_tree = inject("stepper_tree")
18+
19+
const props = defineProps({
20+
multiple: { type: Boolean, required: true },
21+
label: { type: String, required: true },
22+
variable_to_update: { type: String, required: true },
23+
variable_to_increment: { type: String, required: true },
24+
schema: { type: Object, required: true },
25+
})
26+
const { multiple, label, variable_to_update, variable_to_increment, schema } =
27+
props
28+
29+
const accept = ref("")
30+
const files = ref([])
31+
32+
watch(files, (value) => {
33+
stepper_tree[variable_to_update] = value
34+
stepper_tree[variable_to_increment]++
35+
})
36+
37+
function fill_extensions(response) {
38+
const extensions = response._data.extensions
39+
.map((extension) => "." + extension)
40+
.join(",")
41+
accept.value = extensions
42+
}
43+
44+
async function get_allowed_files() {
45+
await api_fetch(
46+
{ schema },
47+
{
48+
response_function: (response) => {
49+
fill_extensions(response)
50+
},
51+
},
52+
)
53+
}
54+
55+
onMounted(async () => {
56+
await get_allowed_files()
57+
})
58+
</script>

0 commit comments

Comments
 (0)