index.pug 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. div(
  2. class="category-node"
  3. :class="{ 'category-node--expanded': isExpanded, 'category-node--dragging': isDragging }"
  4. :style="{ paddingLeft: (level * 20) + 'px' }"
  5. )
  6. div(class="category-node__header")
  7. button(
  8. v-if="hasChildren"
  9. @click="toggleExpanded"
  10. class="category-node__toggle"
  11. :title="isExpanded ? 'Свернуть' : 'Развернуть'"
  12. ) {{ isExpanded ? '−' : '+' }}
  13. span(v-else class="category-node__spacer") •
  14. span(class="category-node__name") {{ category.name }}
  15. span(class="category-node__badge") {{ category.children ? category.children.length : 0 }}
  16. div(class="category-node__actions")
  17. ui-button(
  18. @click="$emit('edit', category)"
  19. size="small"
  20. type="outline"
  21. ) ✏️
  22. ui-button(
  23. @click="$emit('delete', category)"
  24. size="small"
  25. type="danger"
  26. ) 🗑️
  27. div(v-if="isExpanded && hasChildren" class="category-node__children")
  28. category-node(
  29. v-for="child in category.children"
  30. :key="child._id"
  31. :category="child"
  32. :level="level + 1"
  33. @edit="$emit('edit', $event)"
  34. @delete="$emit('delete', $event)"
  35. @move="$emit('move', $event)"
  36. )