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
2 changes: 1 addition & 1 deletion .eslintrc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ module.exports = {
"plugin:vuetify/recommended",
"plugin:nuxt/recommended",
],
}
};
25 changes: 3 additions & 22 deletions .oxlintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,22 +25,7 @@
"eslint/id-length": [
"error",
{
"exceptions": [
"x",
"y",
"z",
"i",
"j",
"k",
"r",
"g",
"b",
"id",
"ID",
"fs",
"os",
"_"
],
"exceptions": ["x", "y", "z", "i", "j", "k", "r", "g", "b", "id", "ID", "fs", "os", "_"],
"min": 3
}
],
Expand Down Expand Up @@ -78,6 +63,7 @@
"max-lines": [
"error",
{
"max": 310,
"skipBlankLines": true,
"skipComments": true
}
Expand Down Expand Up @@ -121,12 +107,7 @@
}
},
{
"files": [
"app/plugins/**",
"node_scripts/**",
"server/**",
"*.config.js"
],
"files": ["app/plugins/**", "node_scripts/**", "server/**", "*.config.js"],
"rules": {
"import/no-default-export": "off"
}
Expand Down
52 changes: 26 additions & 26 deletions app/assets/geode_objects.js
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
import BRep from "@ogw_front/assets/img/geode_objects/BRep.svg"
import CrossSection from "@ogw_front/assets/img/geode_objects/CrossSection.svg"
import EdgedCurve2D from "@ogw_front/assets/img/geode_objects/EdgedCurve2D.svg"
import EdgedCurve3D from "@ogw_front/assets/img/geode_objects/EdgedCurve3D.svg"
import Graph from "@ogw_front/assets/img/geode_objects/Graph.svg"
import HybridSolid3D from "@ogw_front/assets/img/geode_objects/HybridSolid3D.svg"
import ImplicitCrossSection from "@ogw_front/assets/img/geode_objects/ImplicitCrossSection.svg"
import ImplicitStructuralModel from "@ogw_front/assets/img/geode_objects/ImplicitStructuralModel.svg"
import LightRegularGrid2D from "@ogw_front/assets/img/geode_objects/LightRegularGrid2D.svg"
import LightRegularGrid3D from "@ogw_front/assets/img/geode_objects/LightRegularGrid3D.svg"
import PointSet2D from "@ogw_front/assets/img/geode_objects/PointSet2D.svg"
import PointSet3D from "@ogw_front/assets/img/geode_objects/PointSet3D.svg"
import PolygonalSurface2D from "@ogw_front/assets/img/geode_objects/PolygonalSurface2D.svg"
import PolygonalSurface3D from "@ogw_front/assets/img/geode_objects/PolygonalSurface3D.svg"
import PolyhedralSolid3D from "@ogw_front/assets/img/geode_objects/PolyhedralSolid3D.svg"
import RasterImage2D from "@ogw_front/assets/img/geode_objects/RasterImage2D.svg"
import RasterImage3D from "@ogw_front/assets/img/geode_objects/RasterImage3D.svg"
import RegularGrid2D from "@ogw_front/assets/img/geode_objects/RegularGrid2D.svg"
import RegularGrid3D from "@ogw_front/assets/img/geode_objects/RegularGrid3D.svg"
import Section from "@ogw_front/assets/img/geode_objects/Section.svg"
import StructuralModel from "@ogw_front/assets/img/geode_objects/StructuralModel.svg"
import TetrahedralSolid3D from "@ogw_front/assets/img/geode_objects/TetrahedralSolid3D.svg"
import TriangulatedSurface2D from "@ogw_front/assets/img/geode_objects/TriangulatedSurface2D.svg"
import TriangulatedSurface3D from "@ogw_front/assets/img/geode_objects/TriangulatedSurface3D.svg"
import VertexSet from "@ogw_front/assets/img/geode_objects/VertexSet.svg"
import BRep from "@ogw_front/assets/img/geode_objects/BRep.svg";
import CrossSection from "@ogw_front/assets/img/geode_objects/CrossSection.svg";
import EdgedCurve2D from "@ogw_front/assets/img/geode_objects/EdgedCurve2D.svg";
import EdgedCurve3D from "@ogw_front/assets/img/geode_objects/EdgedCurve3D.svg";
import Graph from "@ogw_front/assets/img/geode_objects/Graph.svg";
import HybridSolid3D from "@ogw_front/assets/img/geode_objects/HybridSolid3D.svg";
import ImplicitCrossSection from "@ogw_front/assets/img/geode_objects/ImplicitCrossSection.svg";
import ImplicitStructuralModel from "@ogw_front/assets/img/geode_objects/ImplicitStructuralModel.svg";
import LightRegularGrid2D from "@ogw_front/assets/img/geode_objects/LightRegularGrid2D.svg";
import LightRegularGrid3D from "@ogw_front/assets/img/geode_objects/LightRegularGrid3D.svg";
import PointSet2D from "@ogw_front/assets/img/geode_objects/PointSet2D.svg";
import PointSet3D from "@ogw_front/assets/img/geode_objects/PointSet3D.svg";
import PolygonalSurface2D from "@ogw_front/assets/img/geode_objects/PolygonalSurface2D.svg";
import PolygonalSurface3D from "@ogw_front/assets/img/geode_objects/PolygonalSurface3D.svg";
import PolyhedralSolid3D from "@ogw_front/assets/img/geode_objects/PolyhedralSolid3D.svg";
import RasterImage2D from "@ogw_front/assets/img/geode_objects/RasterImage2D.svg";
import RasterImage3D from "@ogw_front/assets/img/geode_objects/RasterImage3D.svg";
import RegularGrid2D from "@ogw_front/assets/img/geode_objects/RegularGrid2D.svg";
import RegularGrid3D from "@ogw_front/assets/img/geode_objects/RegularGrid3D.svg";
import Section from "@ogw_front/assets/img/geode_objects/Section.svg";
import StructuralModel from "@ogw_front/assets/img/geode_objects/StructuralModel.svg";
import TetrahedralSolid3D from "@ogw_front/assets/img/geode_objects/TetrahedralSolid3D.svg";
import TriangulatedSurface2D from "@ogw_front/assets/img/geode_objects/TriangulatedSurface2D.svg";
import TriangulatedSurface3D from "@ogw_front/assets/img/geode_objects/TriangulatedSurface3D.svg";
import VertexSet from "@ogw_front/assets/img/geode_objects/VertexSet.svg";

export const geode_objects = {
BRep: {
Expand Down Expand Up @@ -125,4 +125,4 @@ export const geode_objects = {
tooltip: "VertexSet",
image: VertexSet,
},
}
};
128 changes: 62 additions & 66 deletions app/components/Carousel.vue
Original file line number Diff line number Diff line change
@@ -1,58 +1,54 @@
<script setup>
// oxlint-disable-next-line import/no-unassigned-import
import "vue3-carousel/dist/carousel.css"
import { Carousel, Navigation, Pagination, Slide } from "vue3-carousel"
import { useDisplay } from "vuetify"
// oxlint-disable-next-line import/no-unassigned-import
import "vue3-carousel/dist/carousel.css";
import { Carousel, Navigation, Pagination, Slide } from "vue3-carousel";
import { useDisplay } from "vuetify";

const NB_ITEMS_TO_DISPLAY = 3
const NB_ITEMS_TO_DISPLAY = 3;

const { items } = defineProps({
items: { type: Array, required: true },
})
const { items } = defineProps({
items: { type: Array, required: true },
});

const { name } = useDisplay()
const nb_items_to_display = ref(NB_ITEMS_TO_DISPLAY)
watch(
name,
(value) => {
switch (value) {
case "xs": {
nb_items_to_display.value = 1
break
}
case "sm": {
nb_items_to_display.value = 2
break
}
default: {
nb_items_to_display.value = 3
break
}
const { name } = useDisplay();
const nb_items_to_display = ref(NB_ITEMS_TO_DISPLAY);
watch(
name,
(value) => {
switch (value) {
case "xs": {
nb_items_to_display.value = 1;
break;
}
},
{
immediate: true,
},
)
case "sm": {
nb_items_to_display.value = 2;
break;
}
default: {
nb_items_to_display.value = 3;
break;
}
}
},
{
immediate: true,
},
);

const carrousel_settings = reactive({
autoplay: 2000,
itemsToShow: nb_items_to_display.value,
itemsToScroll: 1,
pauseAutoplayOnHover: true,
transition: 1000,
wrapAround: true,
})
const carrousel_settings = reactive({
autoplay: 2000,
itemsToShow: nb_items_to_display.value,
itemsToScroll: 1,
pauseAutoplayOnHover: true,
transition: 1000,
wrapAround: true,
});
</script>

<template>
<ClientOnly>
<Carousel :settings="carrousel_settings">
<Slide
v-for="(item, index) in items"
:key="index"
class="carousel__slide"
>
<Slide v-for="(item, index) in items" :key="index" class="carousel__slide">
<a :href="item.url" target="_blank">
<img :src="item.logo" class="carousel__item" />
</a>
Expand All @@ -66,28 +62,28 @@
</template>

<style scoped>
.carousel__item {
min-height: 200px;
width: 100%;
background-color: var(--vc-clr-white);
color: var(--vc-clr-white);
font-size: 20px;
border-radius: 10px;
display: flex;
justify-content: center;
align-items: center;
}
.carousel__item {
min-height: 200px;
width: 100%;
background-color: var(--vc-clr-white);
color: var(--vc-clr-white);
font-size: 20px;
border-radius: 10px;
display: flex;
justify-content: center;
align-items: center;
}

.carousel__slide {
display: flex;
padding: 15px;
align-items: center;
justify-content: center;
}
.carousel__slide {
display: flex;
padding: 15px;
align-items: center;
justify-content: center;
}

.carousel__prev,
.carousel__next {
box-sizing: content-box;
border: 5px solid red;
}
.carousel__prev,
.carousel__next {
box-sizing: content-box;
border: 5px solid red;
}
</style>
100 changes: 48 additions & 52 deletions app/components/CrsSelector.vue
Original file line number Diff line number Diff line change
@@ -1,67 +1,63 @@
<script setup>
import schemas from "@geode/opengeodeweb-back/opengeodeweb_back_schemas.json"
import { useGeodeStore } from "@ogw_front/stores/geode"
import schemas from "@geode/opengeodeweb-back/opengeodeweb_back_schemas.json";
import { useGeodeStore } from "@ogw_front/stores/geode";

const schema = schemas.opengeodeweb_back.geographic_coordinate_systems
const schema = schemas.opengeodeweb_back.geographic_coordinate_systems;

const emit = defineEmits([
"update_values",
"increment_step",
"decrement_step",
])
const emit = defineEmits(["update_values", "increment_step", "decrement_step"]);

const { geode_object_type, key_to_update } = defineProps({
geode_object_type: { type: String, required: true },
key_to_update: { type: String, required: true },
})
const { geode_object_type, key_to_update } = defineProps({
geode_object_type: { type: String, required: true },
key_to_update: { type: String, required: true },
});

const search = ref("")
const data_table_loading = ref(false)
const crs_list = ref([])
const selected_crs = ref([])
const toggle_loading = useToggle(data_table_loading)
const geodeStore = useGeodeStore()
const search = ref("");
const data_table_loading = ref(false);
const crs_list = ref([]);
const selected_crs = ref([]);
const toggle_loading = useToggle(data_table_loading);
const geodeStore = useGeodeStore();

watch(selected_crs, (new_value) => {
const crs = get_selected_crs(new_value[0])
const keys_values_object = {
[key_to_update]: crs,
}
emit("update_values", keys_values_object)
emit("increment_step")
})
watch(selected_crs, (new_value) => {
const crs = get_selected_crs(new_value[0]);
const keys_values_object = {
[key_to_update]: crs,
};
emit("update_values", keys_values_object);
emit("increment_step");
});

function get_selected_crs(crs_code) {
for (let i = 0; i <= crs_list.value.length; i += 1) {
if (crs_list.value[i]["code"] === crs_code) {
return crs_list.value[i]
}
function get_selected_crs(crs_code) {
for (let i = 0; i <= crs_list.value.length; i += 1) {
if (crs_list.value[i]["code"] === crs_code) {
return crs_list.value[i];
}
}
}

async function get_crs_table() {
const params = { geode_object_type }
toggle_loading()
await geodeStore.request(schema, params, {
response_function: (response) => {
crs_list.value = response.crs_list
},
})
toggle_loading()
}

const headers = [
{
title: "Authority",
align: "start",
sortable: true,
key: "authority",
async function get_crs_table() {
const params = { geode_object_type };
toggle_loading();
await geodeStore.request(schema, params, {
response_function: (response) => {
crs_list.value = response.crs_list;
},
{ title: "Code", align: "end", key: "code" },
{ title: "Name", align: "end", key: "name" },
]
});
toggle_loading();
}

const headers = [
{
title: "Authority",
align: "start",
sortable: true,
key: "authority",
},
{ title: "Code", align: "end", key: "code" },
{ title: "Name", align: "end", key: "name" },
];

await get_crs_table()
await get_crs_table();
</script>

<template>
Expand Down
Loading
Loading