named-entity.component.html 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <div class="card ne-container {{ data.namedEntityType }}" (click)="tabSelected($event)" [ngClass]="{
  2. inList: inList,
  3. contentOpened: contentOpened
  4. }" *ngIf="data" [evtHtmlAttributes]="data?.attributes">
  5. <div class="card-header ne-header" (click)="toggleContent()">
  6. <evt-icon *ngIf="inList && contentOpened"
  7. [iconInfo]="{ icon: 'caret-down', additionalClasses: 'icon toggler mr-2'}">
  8. </evt-icon>
  9. <evt-icon *ngIf="inList && !contentOpened"
  10. [iconInfo]="{icon: 'caret-right', additionalClasses: 'icon toggler mr-2'}"></evt-icon>
  11. <evt-icon *ngIf="data.namedEntityType === 'person'"
  12. [iconInfo]="{icon: 'user', additionalClasses: 'icon mr-1'}"></evt-icon>
  13. <evt-icon *ngIf="data.namedEntityType === 'place'"
  14. [iconInfo]="{icon: 'map-marker', additionalClasses: 'icon mr-1'}">
  15. </evt-icon>
  16. {{ data.label }}
  17. <evt-pinner [item]="data" renderer="NamedEntity" pinType="NamedEntities"></evt-pinner>
  18. </div>
  19. <div class="card-body ne-content" *ngIf="contentOpened">
  20. <ul ngbNav #entityDetails="ngbNav" class="entity-details" [activeId]="selectedSection">
  21. <li [ngbNavItem]="'info_'+data.id" [disabled]="data.content.length === 0">
  22. <a ngbNavLink class="ui-font">{{'Info' | translate}}</a>
  23. <ng-template ngbNavContent>
  24. <div class="ne-detail-content">
  25. <evt-content-viewer *ngFor="let detail of data.content" [content]="detail">
  26. </evt-content-viewer>
  27. </div>
  28. </ng-template>
  29. </li>
  30. <li [ngbNavItem]="'occurrences_'+data.id">
  31. <a ngbNavLink class="ui-font">{{'Occorrenze' | translate}}</a>
  32. <ng-template ngbNavContent>
  33. <div class="ne-detail-content ui-font" *ngIf="occurrences$ | async as occurrences">
  34. <span *ngIf="occurrences.length === 0">{{'noOccurrences' | translate}}</span>
  35. <evt-named-entity-occurrence *ngFor="let occurrence of occurrences" [occurrence]="occurrence" [entityId]="data.id"></evt-named-entity-occurrence>
  36. </div>
  37. </ng-template>
  38. </li>
  39. <li [ngbNavItem]="'relations_'+data.id">
  40. <a ngbNavLink class="ui-font">{{'Relazioni' | translate}}</a>
  41. <ng-template ngbNavContent>
  42. <div class="ne-detail-content" *ngIf="relations$ | async as relations">
  43. <span *ngIf="relations.length === 0" class="ui-font">{{'noRelations' | translate}}</span>
  44. <evt-named-entity-relation *ngFor="let relation of relations"
  45. [data]="relation" [inEntity]="true"></evt-named-entity-relation>
  46. </div>
  47. </ng-template>
  48. </li>
  49. <li [ngbNavItem]="'xml_'+data.id">
  50. <a ngbNavLink class="ui-font">{{'XMLSource' | translate}}</a>
  51. <ng-template ngbNavContent>
  52. <div class="ne-detail-content no-padding">
  53. <evt-original-encoding-viewer [originalEncoding]="data.originalEncoding">
  54. </evt-original-encoding-viewer>
  55. </div>
  56. </ng-template>
  57. </li>
  58. </ul>
  59. <div [ngbNavOutlet]="entityDetails"></div>
  60. </div>
  61. </div>