<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
                &nbsp;
                <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 [ngSwitch]="getAttributeRenderer(attribute.name)">
                                    <div *ngSwitchCase="'img'">
                                        <img [src]="getAttributeUriAction(attribute.name, datum[attribute.name])">
                                    </div>
                                    <div *ngSwitchCase="'thumbnail'">
                                        <button class="btn btn-link"
                                            (click)="openThumbnail(datum[attribute.name], getAttributeUriAction(attribute.name, datum[attribute.name]))">
                                            <img [src]="getAttributeUriAction(attribute.name, datum[attribute.name])"
                                                class="img-fluid">
                                        </button>
                                    </div>
                                    <div *ngSwitchCase="'href'">
                                        <a [href]="getAttributeUriAction(attribute.name, datum[attribute.name])">
                                            {{ datum[attribute.name] }}</a>
                                    </div>
                                    <div *ngSwitchCase="'btn'">
                                        <a [href]="getAttributeUriAction(attribute.name, datum[attribute.name])"
                                            class="btn btn-outline-primary btn-sm">
                                            {{ datum[attribute.name] }}</a>
                                    </div>
                                    <!-- <div *ngSwitchCase="'fancybox'">
                                            <img [src]="getAttributeUriAction(attribute.name, datum[attribute.name])" class="img-fluid">
                                        </div> -->
                                    <div *ngSwitchCase="'download'">
                                        <a [href]="getAttributeUriAction(attribute.name, datum[attribute.name])"
                                            class="btn btn-outline-primary btn-sm">
                                            <i class="fa fa-download" aria-hidden="true"></i>
                                        </a>
                                    </div>
                                    <div *ngSwitchDefault>
                                        {{ datum[attribute.name] }}
                                    </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>

<app-thumbnail *ngIf="thumbnailData.isOpen"
    [bsModalRef]="bsModalRef"
    [title]="thumbnailData.title"
    [srcImage]="thumbnailData.srcImage"
    (closeEvent)="closeThumbnail($event)">
</app-thumbnail>