Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 20 additions & 20 deletions app/components/Carousel.vue
Original file line number Diff line number Diff line change
@@ -1,23 +1,3 @@
<template>
<ClientOnly>
<Carousel :settings="carrousel_settings">
<Slide
v-for="(item, index) in props.items"
:key="index"
class="carousel__slide"
>
<a :href="item.url" target="_blank">
<img :src="item.logo" class="carousel__item" />
</a>
</Slide>
<template #addons>
<Navigation />
<Pagination />
</template>
</Carousel>
</ClientOnly>
</template>

<script setup>
import "vue3-carousel/dist/carousel.css"
import { Carousel, Slide, Navigation, Pagination } from "vue3-carousel"
Expand Down Expand Up @@ -62,6 +42,26 @@
})
</script>

<template>
<ClientOnly>
<Carousel :settings="carrousel_settings">
<Slide
v-for="(item, index) in props.items"
:key="index"
class="carousel__slide"
>
<a :href="item.url" target="_blank">
<img :src="item.logo" class="carousel__item" />
</a>
</Slide>
<template #addons>
<Navigation />
<Pagination />
</template>
</Carousel>
</ClientOnly>
</template>

<style scoped>
.carousel__item {
min-height: 200px;
Expand Down
50 changes: 25 additions & 25 deletions app/components/CrsSelector.vue
Original file line number Diff line number Diff line change
@@ -1,28 +1,3 @@
<template>
<v-text-field
v-model="search"
append-icon="mdi-magnify"
label="Search"
single-line
hide-details
></v-text-field>
<v-data-table
v-model="selected_crs"
:v-model:items-per-page="10"
:headers="headers"
:items="crs_list"
item-value="code"
class="elevation-1"
density="compact"
fixed-header
select-strategy="single"
show-select
:search="search"
:loading="data_table_loading"
loading-text="Loading... Please wait"
></v-data-table>
</template>

<script setup>
import schemas from "@geode/opengeodeweb-back/opengeodeweb_back_schemas.json"
const schema = schemas.opengeodeweb_back.geographic_coordinate_systems
Expand Down Expand Up @@ -89,3 +64,28 @@

await get_crs_table()
</script>

<template>
<v-text-field
v-model="search"
append-icon="mdi-magnify"
label="Search"
single-line
hide-details
></v-text-field>
<v-data-table
v-model="selected_crs"
:v-model:items-per-page="10"
:headers="headers"
:items="crs_list"
item-value="code"
class="elevation-1"
density="compact"
fixed-header
select-strategy="single"
show-select
:search="search"
:loading="data_table_loading"
loading-text="Loading... Please wait"
></v-data-table>
</template>
62 changes: 31 additions & 31 deletions app/components/DragAndDrop.vue
Original file line number Diff line number Diff line change
@@ -1,3 +1,34 @@
<script setup>
const props = defineProps({
multiple: { type: Boolean, default: false },
accept: { type: String, default: "" },
loading: { type: Boolean, default: false },
showExtensions: { type: Boolean, default: true },
idleText: { type: String, default: "Click or Drag & Drop files" },
dropText: { type: String, default: "Drop to upload" },
loadingText: { type: String, default: "Uploading..." },
})

const emit = defineEmits(["files-selected"])

const isDragging = ref(false)
const fileInput = ref(null)

const triggerFileDialog = () => fileInput.value?.click()

function handleDrop(e) {
isDragging.value = false
const files = Array.from(e.dataTransfer.files)
emit("files-selected", files)
}

function handleFileSelect(e) {
const files = Array.from(e.target.files)
emit("files-selected", files)
e.target.value = ""
}
</script>

<template>
<v-hover v-slot="{ isHovering, props: hoverProps }">
<v-card
Expand Down Expand Up @@ -73,37 +104,6 @@
</v-hover>
</template>

<script setup>
const props = defineProps({
multiple: { type: Boolean, default: false },
accept: { type: String, default: "" },
loading: { type: Boolean, default: false },
showExtensions: { type: Boolean, default: true },
idleText: { type: String, default: "Click or Drag & Drop files" },
dropText: { type: String, default: "Drop to upload" },
loadingText: { type: String, default: "Uploading..." },
})

const emit = defineEmits(["files-selected"])

const isDragging = ref(false)
const fileInput = ref(null)

const triggerFileDialog = () => fileInput.value?.click()

function handleDrop(e) {
isDragging.value = false
const files = Array.from(e.dataTransfer.files)
emit("files-selected", files)
}

function handleFileSelect(e) {
const files = Array.from(e.target.files)
emit("files-selected", files)
e.target.value = ""
}
</script>

<style scoped>
.rotating {
animation: rotate 1s linear infinite;
Expand Down
112 changes: 56 additions & 56 deletions app/components/ExtensionSelector.vue
Original file line number Diff line number Diff line change
@@ -1,59 +1,3 @@
<template>
<FetchingData v-if="loading" />
<v-row v-else class="justify-left">
<v-col
v-for="(
output_extensions, output_geode_object
) in geode_objects_and_output_extensions"
:key="output_geode_object"
class="justify-left"
>
<v-card class="card ma-2 pa-2" width="100%">
<v-card-title
v-tooltip:bottom="`Export as a ${output_geode_object}`"
v-bind="props"
>
{{ output_geode_object }}
</v-card-title>
<v-card-text>
<v-row>
<v-col
v-for="(extension, output_extension) in output_extensions"
:key="output_extension"
cols="auto"
class="pa-0"
>
<v-tooltip
:disabled="extension.is_saveable"
text="Data not saveable with this file extension"
location="bottom"
>
<template v-slot:activator="{ props }">
<span v-bind="props">
<v-card
class="card ma-2"
:color="extension.is_saveable ? 'primary' : 'grey'"
hover
@click="
update_values(output_geode_object, output_extension)
"
:disabled="!extension.is_saveable"
>
<v-card-title align="center">
{{ output_extension }}
</v-card-title>
</v-card>
</span>
</template>
</v-tooltip>
</v-col>
</v-row>
</v-card-text>
</v-card>
</v-col>
</v-row>
</template>

<script setup>
import schemas from "@geode/opengeodeweb-back/opengeodeweb_back_schemas.json"

Expand Down Expand Up @@ -128,3 +72,59 @@

await get_output_file_extensions()
</script>

<template>
<FetchingData v-if="loading" />
<v-row v-else class="justify-left">
<v-col
v-for="(
output_extensions, output_geode_object
) in geode_objects_and_output_extensions"
:key="output_geode_object"
class="justify-left"
>
<v-card class="card ma-2 pa-2" width="100%">
<v-card-title
v-tooltip:bottom="`Export as a ${output_geode_object}`"
v-bind="props"
>
{{ output_geode_object }}
</v-card-title>
<v-card-text>
<v-row>
<v-col
v-for="(extension, output_extension) in output_extensions"
:key="output_extension"
cols="auto"
class="pa-0"
>
<v-tooltip
:disabled="extension.is_saveable"
text="Data not saveable with this file extension"
location="bottom"
>
<template v-slot:activator="{ props }">
<span v-bind="props">
<v-card
class="card ma-2"
:color="extension.is_saveable ? 'primary' : 'grey'"
hover
@click="
update_values(output_geode_object, output_extension)
"
:disabled="!extension.is_saveable"
>
<v-card-title align="center">
{{ output_extension }}
</v-card-title>
</v-card>
</span>
</template>
</v-tooltip>
</v-col>
</v-row>
</v-card-text>
</v-card>
</v-col>
</v-row>
</template>
18 changes: 9 additions & 9 deletions app/components/FeedBack/ErrorBanner.vue
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
<script setup>
import { useFeedbackStore } from "@ogw_front/stores/feedback"
const feedbackStore = useFeedbackStore()

function reload() {
window.location.reload()
}
</script>

<template>
<v-banner
v-if="feedbackStore.server_error"
Expand Down Expand Up @@ -41,12 +50,3 @@
</v-row>
</v-banner>
</template>

<script setup>
import { useFeedbackStore } from "@ogw_front/stores/feedback"
const feedbackStore = useFeedbackStore()

function reload() {
window.location.reload()
}
</script>
22 changes: 11 additions & 11 deletions app/components/FeedBack/Snackers.vue
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
<script setup>
import { useFeedbackStore } from "@ogw_front/stores/feedback"

const feedbackStore = useFeedbackStore()
const show = ref(true)

function calc_margin(index) {
return index * 60 + 8 + "px"
}
</script>

<template>
<v-snackbar
v-for="(feedback, index) in feedbackStore.feedbacks"
Expand Down Expand Up @@ -60,17 +71,6 @@
</v-snackbar>
</template>

<script setup>
import { useFeedbackStore } from "@ogw_front/stores/feedback"

const feedbackStore = useFeedbackStore()
const show = ref(true)

function calc_margin(index) {
return index * 60 + 8 + "px"
}
</script>

<style scoped>
.v-snackbar :deep(.v-snackbar__content) {
width: 100%;
Expand Down
18 changes: 9 additions & 9 deletions app/components/FileSelector.vue
Original file line number Diff line number Diff line change
@@ -1,12 +1,3 @@
<template>
<FetchingData v-if="loading" />
<FileUploader
v-else
v-bind="{ multiple, accept, files: internal_files, auto_upload }"
@files_uploaded="files_uploaded_event"
/>
</template>

<script setup>
import schemas from "@geode/opengeodeweb-back/opengeodeweb_back_schemas.json"

Expand Down Expand Up @@ -62,3 +53,12 @@

await get_allowed_files()
</script>

<template>
<FetchingData v-if="loading" />
<FileUploader
v-else
v-bind="{ multiple, accept, files: internal_files, auto_upload }"
@files_uploaded="files_uploaded_event"
/>
</template>
Loading
Loading