Newer
Older
<ion-header [translucent]="true">
<ion-toolbar color="primary">
<ion-buttons slot="start">
<ion-menu-button menu="left-menu"></ion-menu-button>
</ion-buttons>
<ion-title class="ion-text-center">{{'lang.search' | translate}}</ion-title>
<ion-label slot="end" color="secondary">{{count}} {{'lang.results' | translate}}</ion-label>
<ion-buttons slot="end">
<ion-menu-button menu="right-menu">
<ion-icon name="funnel-outline"></ion-icon>
</ion-menu-button>
</ion-buttons>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-list class="no-result" *ngIf="ressources.length === 0">
<ion-item lines="none">
<ion-label class="no-result-label" color="medium">{{'lang.noResult' | translate}}</ion-label>
</ion-item>
</ion-list>
<ion-list *ngIf="ressources.length > 0">
<ion-virtual-scroll [items]="ressources" approxItemHeight="165px">
<ion-item *virtualItem="let element">
<ion-label>
<ion-toolbar color="light">
<ion-title size="small">
<p
style="display: flex;align-items: center;white-space: pre;overflow-x: auto;overflow-y: hidden;">
<ng-container *ngFor="let itemW of element.workflow;let i=index;">
<ion-icon *ngIf="i>0" name="chevron-forward-outline"></ion-icon>
<span class="workflow-item success" [class.success]="itemW.processDate!==null && itemW.status!=='STOP'"
[class.typist-interrupt]="itemW.status==='REF'"
[class.interrupt]="(itemW.processDate===null && itemW.status === 'END') || itemW.status === 'STOP'"
[class.no-visa]="itemW.processDate===null && itemW.status===null && !itemW.current">{{itemW.userDisplay}}
<ion-icon *ngIf="itemW.processDate!==null && itemW.status!=='REF' && itemW.status!=='STOP'"
name="thumbs-up-outline"></ion-icon>
<ion-icon *ngIf="itemW.processDate!==null && itemW.status==='REF'"
name="thumbs-down-outline"></ion-icon>
<ion-badge
*ngIf="itemW.processDate===null && (itemW.status===null || ['END','STOP'].indexOf(itemW.status) > -1)"
color="medium">{{'lang.' + itemW.mode + 'User' | translate}}</ion-badge>
</p>
</ion-title>
</ion-toolbar>
<ion-item-sliding #slidingItem (ionDrag)="onSliding($event, element.id)">
<ion-item lines="none">
<ion-icon *ngIf="element.state == 'PROG'" color="primary" slot="start"
name="hourglass-outline">
<ion-icon *ngIf="element.state == 'STOP'" color="danger" slot="start"
name="hand-left-outline">
<ion-icon *ngIf="element.state == 'VAL'" color="success" slot="start"
<ion-icon *ngIf="element.state == 'REF'" color="danger" slot="start"
<ion-label (click)="goTo(element.id)" [title]="'lang.accessDocument' | translate" style="cursor: pointer;">
<p>{{element.reference}}</p>
<h2>{{element.title}}</h2>
<p *ngIf="element.reason.length > 0" class="primary">
<ng-container *ngFor="let note of element.reason">
<ion-icon name="chatbox-outline"></ion-icon> {{note}}
</ng-container>
</ion-label>
<ion-buttons slot="end">
<ion-button *ngIf="openedLine===element.id" slot="icon-only" fill="clear" shape="round"
(click)="$event.stopPropagation();toggleSlide(slidingItem, element.id)">
<ion-icon color="medium" slot="icon-only" name="arrow-forward-outline"></ion-icon>
</ion-button>
<ion-button *ngIf="openedLine!==element.id" slot="icon-only" fill="clear" shape="round"
(click)="$event.stopPropagation();toggleSlide(slidingItem, element.id)">
<ion-icon color="medium" slot="icon-only" name="arrow-back-outline"></ion-icon>
</ion-button>
</ion-buttons>
</ion-item>
<ion-item-options>
<ion-item-option *ngIf="element.state !== 'PROG'" color="primary" (click)="openPromptProof(element)">
<ion-icon slot="bottom" name="ribbon-sharp"></ion-icon>

Florian Azizian
committed
{{'lang.download' | translate}}
</ion-item-option>
<ion-item-option color="primary" (click)="openActions(element)">
<ion-icon slot="bottom" name="settings-sharp"></ion-icon>
{{'lang.actions' | translate}}
</ion-item-option>
</ion-item-options>
</ion-item-sliding>
</ion-label>
</ion-item>
</ion-virtual-scroll>
</ion-list>

Alex ORLUC
committed
<ion-infinite-scroll threshold="100px" (ionInfinite)="loadData($event)">
<ion-infinite-scroll-content loadingSpinner="bubbles" loadingText="Loading more data...">
</ion-infinite-scroll-content>
</ion-infinite-scroll>
</ion-content>
<ng-template #rightContent>
<ion-header [translucent]="true">
<ion-toolbar color="primary">
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
</ion-buttons>
<ion-title class="ion-text-center">Filtre(s)</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-list *ngFor="let filter of filters">
<ng-container *ngIf="filter.type === 'text'">
<ion-item>
<ion-label color="secondary" position="floating">{{'lang.' + filter.id + 'Search' | translate}}
</ion-label>
<ion-input [(ngModel)]="filter.val"></ion-input>
</ion-item>
</ng-container>
<ng-container *ngIf="filter.type === 'checkbox'">
<ion-list-header>
<ion-label color="secondary">{{'lang.' + filter.id + 'Search' | translate}}</ion-label>
</ion-list-header>
<ion-item *ngFor="let val of filter.values;let i=index;">
<ion-label>{{val.label | translate}}</ion-label>
<ion-checkbox (ionChange)="toggleItem(filter, val, $event.detail.checked)"
[checked]="filter.val.indexOf(val.id) > -1" slot="end"></ion-checkbox>
</ion-item>
</ng-container>
<ng-container *ngIf="filter.type === 'autocompleteUsers'">
<ion-list-header>
<ion-label color="secondary">{{'lang.' + filter.id + 'Search' | translate}}</ion-label>
</ion-list-header>
<plugin-autocomplete [currentItems]="filter.val"></plugin-autocomplete>
</ng-container>
</ion-content>
<ion-footer class="ion-no-border">
<div class="ion-text-center" style="background: white;">
<ion-button color="primary" shape="round" size="large" fill="outline" (click)="onSubmit()">
<ion-label style="font-size: 13px;">{{'lang.search' | translate}}</ion-label>
</ion-button>
</div>
</ion-footer>
</ng-template>