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 >
0 commit comments