Skip to content
Snippets Groups Projects
datatable.component.html 6.11 KiB
Newer Older
  • Learn to ignore specific revisions
  • François Agneray's avatar
    François Agneray committed
    <accordion>
    
    François Agneray's avatar
    François Agneray committed
        <accordion-group (isOpenChange)="initDatatable()" #ag [panelClass]="'custom-accordion'" class="my-2">
    
    François Agneray's avatar
    François Agneray committed
            <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>
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
            <div *ngIf="!searchMeta" class="text-center">
                <i class="fas fa-circle-notch fa-spin fa-3x"></i>
                <span class="sr-only">Loading...</span>
            </div>
    
    François Agneray's avatar
    François Agneray committed
            <div *ngIf="searchMeta">
    
    François Agneray's avatar
    François Agneray committed
                <div class="table-responsive">
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
                    <table class="table table-striped table-bordered">
    
    François Agneray's avatar
    François Agneray committed
                        <thead>
                            <tr>
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
                                <th *ngFor="let attribute of searchMeta.attributes_selected" scope="col">
                                    {{ attribute.label }}</th>
    
    François Agneray's avatar
    François Agneray committed
                            </tr>
                        </thead>
                        <tbody>
                            <tr *ngFor="let datum of searchData">
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
                                <td *ngFor="let attribute of searchMeta.attributes_selected">
    
                                    <div *ngIf="datum[attribute.label]" [ngSwitch]="getAttributeRenderer(attribute.name)">
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
                                        <div *ngSwitchCase="'img'">
    
                                            <img [src]="getAttributeUriAction(attribute.name, datum[attribute.label])">
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
                                        </div>
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
                                        <div *ngSwitchCase="'thumbnail'">
                                            <button class="btn btn-link"
    
                                                (click)="openModal('thumbnail', attribute.name, datum[attribute.label])">
                                                <img [src]="getAttributeUriAction(attribute.name, datum[attribute.label])"
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
                                                    class="img-fluid">
                                            </button>
                                        </div>
    
                                        <div *ngSwitchCase="'ext-link'">
                                            <a [href]="getAttributeUriAction(attribute.name, datum[attribute.label])"
                                                target="_blank">
                                                {{ datum[attribute.name] }}</a>
                                        </div>
                                        <div *ngSwitchCase="'int-link'">
    
                                            <!-- <a [routerLink]="getAttributeUriAction(attribute.name, datum[attribute.label])">
                                                {{ datum[attribute.name] }}</a> -->
                                            <a routerLink="/search/result/{{ datasetName }}/{{ datum[attribute.label] }}"
                                                [queryParams]="queryParams">
                                                {{ datum[attribute.label] }}
                                            </a>
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
                                        </div>
    
                                        <div *ngSwitchCase="'ext-btn'">
                                            <a [href]="getAttributeUriAction(attribute.name, datum[attribute.label])"
    
                                                target="_blank" class="btn btn-outline-primary btn-sm">
    
                                                {{ datum[attribute.label] }}</a>
                                        </div>
                                        <div *ngSwitchCase="'int-btn'">
    
                                            <a routerLink="/search/result/{{ datasetName }}/{{ datum[attribute.label] }}"
                                                [queryParams]="queryParams" class="btn btn-outline-primary btn-sm">
                                                {{ datum[attribute.label] }}
                                            </a>
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
                                        </div>
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
                                        <div *ngSwitchCase="'fancybox'">
                                            <button class="btn btn-outline-primary btn-sm"
    
                                                (click)="openModal('fancybox', attribute.name, datum[attribute.label])">
                                                {{ datum[attribute.label] }}
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
                                            </button>
                                        </div>
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
                                        <div *ngSwitchCase="'download'">
    
                                            <a [href]="getAttributeUriAction(attribute.name, datum[attribute.label])"
    
                                                target="_blank" class="btn btn-outline-primary btn-sm">
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
                                                <i class="fa fa-download" aria-hidden="true"></i>
                                            </a>
                                        </div>
    
                                        <div *ngSwitchCase="'json'" class="text-center">
                                            <button class="btn btn-outline-primary btn-sm"
                                                (click)="openModal('json', attribute.name, datum[attribute.label])">
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
                                                JSON
    
                                            </button>
                                        </div>
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
                                        <div *ngSwitchDefault>
    
                                            {{ datum[attribute.label] }}
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
                                        </div>
                                    </div>
                                </td>
    
    François Agneray's avatar
    François Agneray committed
                            </tr>
                        </tbody>
                    </table>
                </div>
    
    François Agneray's avatar
    François Agneray committed
                <div class="mt-3">
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
                    <p>Total items {{ searchMeta.total_items }}</p>
    
    François Agneray's avatar
    François Agneray committed
                </div>
                <div class="mt-3">
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
                    <pagination [totalItems]="searchMeta.total_items" [boundaryLinks]="true" [rotate]="true" [maxSize]="5"
                        (pageChanged)="getSearchData.emit($event.page)"></pagination>
    
    François Agneray's avatar
    François Agneray committed
                </div>
    
    François Agneray's avatar
    François Agneray committed
            </div>
        </accordion-group>
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
    </accordion>
    
    
    <app-modal *ngIf="modalData.isOpen" [bsModalRef]="bsModalRef" [type]="modalData.type" [data]="modalData.data"
    
    Tifenn Guillas's avatar
    Tifenn Guillas committed
        (closeEvent)="closeModal($event)">
    </app-modal>