| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- div(
- class="category-node"
- :class="{ 'category-node--expanded': isExpanded, 'category-node--dragging': isDragging }"
- :style="{ paddingLeft: (level * 20) + 'px' }"
- )
- div(class="category-node__header")
- button(
- v-if="hasChildren"
- @click="toggleExpanded"
- class="category-node__toggle"
- :title="isExpanded ? 'Свернуть' : 'Развернуть'"
- ) {{ isExpanded ? '−' : '+' }}
- span(v-else class="category-node__spacer") •
-
- span(class="category-node__name") {{ category.name || 'Без названия' }}
-
- span(v-if="category.children" class="category-node__badge") {{ category.children.length }}
- span(v-else class="category-node__badge") 0
-
- div(class="category-node__meta")
- span(v-if="category._id" class="category-node__id") {{ category._id.substring(0, 8) }}
- span(v-if="category.active === false" class="category-node__inactive") неактивна
-
- div(class="category-node__actions")
- ui-button(
- @click="$emit('edit', category)"
- size="small"
- type="outline"
- ) ✏️
- ui-button(
- @click="$emit('delete', category)"
- size="small"
- type="danger"
- ) 🗑️
-
- div(v-if="isExpanded && hasChildren" class="category-node__children")
- category-node(
- v-for="child in category.children"
- :key="child._id"
- :category="child"
- :level="level + 1"
- @edit="$emit('edit', $event)"
- @delete="$emit('delete', $event)"
- @move="$emit('move', $event)"
- )
|