feat: ajout de la gestion des jobs avec création, récupération, suppression et filtrage via l'API, incluant des entités, des composants Vue.js et des mises à jour de la documentation API

This commit is contained in:
ext.jeremy.guillot@maxicoffee.domains
2025-03-30 16:14:17 +02:00
parent 4d1d5b9f21
commit fd2d3cd640
21 changed files with 1538 additions and 184 deletions

View File

@@ -1,47 +1,26 @@
<template>
<div :class="['bg-white shadow-sm px-4 py-2', $attrs.class]">
<div class="container mx-auto flex justify-between items-center">
<!-- Left section -->
<div class="flex items-center space-x-2">
<button
v-for="(item, index) in config.leftSection"
:key="index"
@click="item.onClick"
:class="[
'p-2 rounded-lg transition-colors',
item.active
? 'bg-green-100 text-green-600'
: 'hover:bg-gray-100'
]"
>
<component :is="item.icon" class="h-5 w-5" />
<span v-if="item.label" class="ml-2">{{ item.label }}</span>
</button>
</div>
<div :class="['bg-gray-800 p-3 min-h-14', $attrs.class]">
<div class="flex flex-row items-center justify-between">
<!-- Left section -->
<ToolbarSection :items="config.leftSection" />
<!-- Right section -->
<div class="flex items-center space-x-2">
<button
v-for="(item, index) in config.rightSection"
:key="index"
@click="item.onClick"
class="p-2 rounded-lg hover:bg-gray-100 transition-colors"
>
<component :is="item.icon" class="h-5 w-5" />
</button>
</div>
<!-- Right section -->
<ToolbarSection :items="config.rightSection" />
</div>
</div>
</div>
</template>
<script setup>
defineProps({
config: {
type: Object,
required: true,
validator: (value) => {
return value.leftSection && value.rightSection;
}
}
});
</script>
import ToolbarSection from './ToolbarSection.vue';
defineProps({
config: {
type: Object,
required: true,
validator: value => {
// Vérifie que leftSection et rightSection sont des tableaux
return Array.isArray(value.leftSection) && Array.isArray(value.rightSection);
}
}
});
</script>