<accordion> <accordion-group (isOpenChange)="initDatatable()" #ag [panelClass]="'custom-accordion'" class="my-2"> <button class="btn btn-link btn-block clearfix" accordion-heading> <div class="pull-left float-left"> Datatable <span *ngIf="ag.isOpen"><i class="fas fa-chevron-up"></i></span> <span *ngIf="!ag.isOpen"><i class="fas fa-chevron-down"></i></span> </div> </button> <div *ngIf="!searchMeta" class="text-center"> <i class="fas fa-circle-notch fa-spin fa-3x"></i> <span class="sr-only">Loading...</span> </div> <div *ngIf="searchMeta"> <div class="table-responsive"> <table class="table table-striped table-bordered"> <thead> <tr> <th *ngFor="let attribute of searchMeta.attributes_selected" scope="col"> {{ attribute.label }}</th> </tr> </thead> <tbody> <tr *ngFor="let datum of searchData"> <td *ngFor="let attribute of searchMeta.attributes_selected"> <div *ngIf="datum[attribute.label]" [ngSwitch]="getAttributeRenderer(attribute.name)"> <div *ngSwitchCase="'img'"> <app-img [src]="getAttributeUriAction(attribute.name, datum[attribute.label])"> </app-img> </div> <div *ngSwitchCase="'thumbnail'"> <app-thumbnail [attributeName]="attribute.name" [src]="getAttributeUriAction(attribute.name, datum[attribute.label])"> </app-thumbnail> </div> <div *ngSwitchCase="'link'"> <app-link [href]="getAttributeUriAction(attribute.name, datum[attribute.label])" [data]="datum[attribute.name]"></app-link> </div> <div *ngSwitchCase="'btn'"> <app-btn [href]="getAttributeUriAction(attribute.name, datum[attribute.label])" [data]="datum[attribute.name]"></app-btn> </div> <div *ngSwitchCase="'detail-link'"> <app-detail-link [datasetName]="datasetName" [data]="datum[attribute.label]"> </app-detail-link> </div> <div *ngSwitchCase="'detail-btn'"> <app-detail-btn [datasetName]="datasetName" [data]="datum[attribute.label]"> </app-detail-btn> </div> <div *ngSwitchCase="'download'"> <app-download [href]="getAttributeUriAction(attribute.name, datum[attribute.label])"> </app-download> </div> <div *ngSwitchCase="'json'" class="text-center"> <app-json-renderer [attributeName]="attribute.name" [json]="datum[attribute.label]"> </app-json-renderer> </div> <div *ngSwitchDefault> {{ datum[attribute.label] }} </div> </div> </td> </tr> </tbody> </table> </div> <div class="mt-3"> <p>Total items {{ searchMeta.total_items }}</p> </div> <div class="mt-3"> <pagination [totalItems]="searchMeta.total_items" [boundaryLinks]="true" [rotate]="true" [maxSize]="5" (pageChanged)="getSearchData.emit($event.page)"></pagination> </div> </div> </accordion-group> </accordion>