feat: replis hiérarchie composants et sections type

This commit is contained in:
Matthieu
2025-09-16 17:14:42 +02:00
parent c33a04b68e
commit 95da7c72db
7 changed files with 290 additions and 1879 deletions

View File

@@ -221,12 +221,33 @@
<div class="card-body">
<div class="flex justify-between items-center mb-4">
<h2 class="card-title">Composants</h2>
<button
type="button"
class="btn btn-ghost btn-sm gap-2"
@click="toggleAllComponents"
:title="componentsCollapsed ? 'Déplier tous les composants' : 'Replier tous les composants'"
>
<svg
class="w-5 h-5 transition-transform"
:class="componentsCollapsed ? 'rotate-0' : 'rotate-90'"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" />
</svg>
<span class="text-sm">
{{ componentsCollapsed ? 'Tout déplier' : 'Tout replier' }}
</span>
</button>
</div>
<!-- Components Tree -->
<ComponentHierarchy
:components="components"
:is-edit-mode="isEditMode"
:collapse-all="componentsCollapsed"
:toggle-token="collapseToggleToken"
@update="updateComponent"
@edit-piece="updatePieceFromComponent"
/>
@@ -322,6 +343,20 @@ const machineCustomFieldValues = reactive({})
const isEditMode = ref(false)
const debug = ref(false) // Ajout de debug pour afficher les infos de debug
// Gestion du pliage global des composants
const componentsCollapsed = ref(true)
const collapseToggleToken = ref(0)
const toggleAllComponents = () => {
componentsCollapsed.value = !componentsCollapsed.value
collapseToggleToken.value += 1
}
const collapseAllComponents = () => {
componentsCollapsed.value = true
collapseToggleToken.value += 1
}
// Méthodes pour initialiser les champs
const initMachineFields = () => {
if (machine.value) {
@@ -456,6 +491,7 @@ const loadMachineData = async () => {
components.value = transformComponentCustomFields(componentsResult.data)
console.log('Composants chargés:', components.value.length)
console.log('Composants transformés:', components.value)
collapseAllComponents()
// Debug: afficher la hiérarchie
console.log('=== HIÉRARCHIE DES COMPOSANTS ===')
@@ -643,4 +679,4 @@ onMounted(() => {
console.log('Mode édition activé depuis l\'URL')
}
})
</script>
</script>

View File

@@ -76,12 +76,6 @@
Supprimer
</button>
<NuxtLink :to="`/type/${type.id}`" class="btn btn-sm btn-outline">Voir détails</NuxtLink>
<NuxtLink :to="`/type/edit/${type.id}`" class="btn btn-sm btn-secondary">
<svg class="w-4 h-4 mr-1" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"></path>
</svg>
Modifier
</NuxtLink>
<button class="btn btn-sm btn-primary">Utiliser</button>
</div>
</div>