specific-lists.component.html 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <div class="row h-100 m-0">
  2. <div class="bg-light col-3 p-0 border-right">
  3. <ng-template ngFor let-list [ngForOf]="lists$ | async">
  4. <ng-template [ngTemplateOutlet]="listTemplate"
  5. [ngTemplateOutletContext]="{ list: list, last: false }">
  6. </ng-template>
  7. </ng-template>
  8. <div class="list-item border-bottom border-top" *ngIf="(relations$ | async).length > 0"
  9. (click)="openRelations()">
  10. <span class="list-item-main p-2 w-100 d-block edition-font">
  11. <evt-icon [iconInfo]="{icon: 'network-wired', additionalClasses: 'mr-1'}"></evt-icon>
  12. {{ 'relations' | translate }}
  13. <span class="badge badge-pill badge-info ui-font">{{ (relations$ | async).length }}</span>
  14. </span>
  15. </div>
  16. </div>
  17. <div class="col-9 p-0">
  18. <ng-container [ngSwitch]="showRelations">
  19. <ng-container *ngSwitchCase="true">
  20. <evt-content-viewer *ngFor="let relation of relations$ | async"
  21. [content]="relation"></evt-content-viewer> <!-- TODO: create component for relation list -->
  22. </ng-container>
  23. <ng-container *ngSwitchDefault>
  24. <evt-content-viewer *ngIf="selectedList" [content]="selectedList"></evt-content-viewer>
  25. </ng-container>
  26. </ng-container>
  27. </div>
  28. </div>
  29. <ng-template #listTemplate let-list="list" let-last="last">
  30. <div class="list-item border-bottom" (click)="openList($event, list)" [ngClass]="{
  31. hidden: list.content?.length === 0,
  32. 'bg-dark': selectedList === list,
  33. 'text-light': selectedList === list,
  34. 'border-bottom': !last
  35. }">
  36. <span class="list-item-main p-2 w-100 d-block edition-font">
  37. <evt-icon *ngIf="list.icon" [iconInfo]="{icon: list.icon, additionalClasses: 'mr-1'}"></evt-icon>
  38. {{list.label | translate}}
  39. <span class="badge badge-pill badge-info ui-font" *ngIf="list.content?.length > 0">{{ list.content?.length }}</span>
  40. </span>
  41. <div class="sub-list ml-3 border-left" *ngIf="list.sublists.length > 0">
  42. <ng-template ngFor let-sublist let-last [ngForOf]="list.sublists">
  43. <ng-template [ngTemplateOutlet]="listTemplate"
  44. [ngTemplateOutletContext]="{ list: sublist, last: last }">
  45. </ng-template>
  46. </ng-template>
  47. </div>
  48. </div>
  49. </ng-template>