collection-tree-node.component.html 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <div
  2. cdkDropList
  3. class="tree-node"
  4. #dropList
  5. [cdkDropListData]="collectionTree"
  6. [cdkDropListDisabled]="true"
  7. (cdkDropListDropped)="drop($event)"
  8. >
  9. <div
  10. class="collection"
  11. *ngFor="let collection of collectionTree.children; index as i"
  12. cdkDrag
  13. [cdkDragData]="collection"
  14. >
  15. <div
  16. class="collection-detail"
  17. [ngClass]="'depth-' + depth"
  18. [class.active]="collection.id === activeCollectionId"
  19. >
  20. <div class="name">
  21. <clr-icon shape="folder"></clr-icon>
  22. {{ collection.name }}
  23. </div>
  24. <div class="flex-spacer"></div>
  25. <vdr-chip *ngIf="collection.isPrivate">{{ 'catalog.private' | translate }}</vdr-chip>
  26. <a class="btn btn-link btn-sm" [routerLink]="['./', { contents: collection.id }]">
  27. <clr-icon shape="view-list"></clr-icon>
  28. {{ 'catalog.view-contents' | translate }}
  29. </a>
  30. <a class="btn btn-link btn-sm" [routerLink]="['/catalog/collections/', collection.id]">
  31. <clr-icon shape="edit"></clr-icon>
  32. {{ 'common.edit' | translate }}
  33. </a>
  34. <!--
  35. TODO: reenable once it is possible to drop into nested lists. See https://github.com/angular/material2/issues/14093
  36. <div class="drag-handle" cdkDragHandle>
  37. <clr-icon shape="drag-handle" size="24"></clr-icon>
  38. </div>
  39. -->
  40. <clr-dropdown>
  41. <span class="trigger" clrDropdownTrigger>
  42. <clr-icon shape="ellipsis-vertical"></clr-icon>
  43. </span>
  44. <clr-dropdown-menu clrPosition="bottom-right" *clrIfOpen>
  45. <button
  46. type="button"
  47. class="dropdown-item"
  48. [disabled]="i === 0"
  49. (click)="moveUp(collection, i)"
  50. >
  51. <clr-icon shape="caret up"></clr-icon>
  52. {{ 'catalog.move-up' | translate }}
  53. </button>
  54. <button
  55. type="button"
  56. class="dropdown-item"
  57. [disabled]="i === collectionTree.children.length - 1"
  58. (click)="moveDown(collection, i)"
  59. >
  60. <clr-icon shape="caret down"></clr-icon>
  61. {{ 'catalog.move-down' | translate }}
  62. </button>
  63. <h4 class="dropdown-header">{{ 'catalog.move-to' | translate }}</h4>
  64. <button
  65. type="button"
  66. class="dropdown-item"
  67. *ngFor="let item of getMoveListItems(collection)"
  68. (click)="move(collection, item.id)"
  69. >
  70. <clr-icon shape="child-arrow"></clr-icon>
  71. {{ item.path }}
  72. </button>
  73. </clr-dropdown-menu>
  74. </clr-dropdown>
  75. </div>
  76. <vdr-collection-tree-node
  77. [collectionTree]="collection"
  78. [activeCollectionId]="activeCollectionId"
  79. ></vdr-collection-tree-node>
  80. </div>
  81. </div>