index.coffee 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. # Добавление стилей компонента
  2. if globalThis.stylFns and globalThis.stylFns['app/components/Admin/CategoryNode/index.styl']
  3. styleElement = document.createElement('style')
  4. styleElement.type = 'text/css'
  5. styleElement.textContent = globalThis.stylFns['app/components/Admin/CategoryNode/index.styl']
  6. document.head.appendChild(styleElement)
  7. else
  8. log '⚠️ Стили CategoryNode не найдены'
  9. module.exports = {
  10. name: 'category-node'
  11. props:
  12. category:
  13. type: Object
  14. required: true
  15. level:
  16. type: Number
  17. default: 0
  18. data: ->
  19. {
  20. isExpanded: false
  21. isDragging: false
  22. }
  23. computed:
  24. hasChildren: ->
  25. @category.children and @category.children.length > 0
  26. methods:
  27. toggleExpanded: ->
  28. @isExpanded = not @isExpanded
  29. mounted: ->
  30. # Автоматически раскрываем первые два уровня
  31. if @level < 2
  32. @isExpanded = true
  33. render: (new Function '_ctx', '_cache', globalThis.renderFns['app/components/Admin/CategoryNode/index.pug'])()
  34. }