feat: replis hiérarchie composants et sections type
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user