2018-01-24 04:21:14 +01:00
|
|
|
<div class="header header-search">
|
|
|
|
<div class="search">
|
2018-01-30 03:54:39 +01:00
|
|
|
<input type="search" placeholder="{{searchPlaceholder || ('searchVault' | i18n)}}" id="search"
|
2019-11-25 14:20:44 +01:00
|
|
|
[(ngModel)]="searchText" (input)="search(200)" autocomplete="off" appAutofocus>
|
2019-04-02 05:08:54 +02:00
|
|
|
<i class="fa fa-search" aria-hidden="true"></i>
|
2018-01-24 04:21:14 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="content">
|
2019-03-19 16:34:56 +01:00
|
|
|
<ng-container *ngIf="(isPaging() ? pagedCiphers : ciphers) as filteredCiphers">
|
|
|
|
<div class="list" *ngIf="filteredCiphers.length" infiniteScroll [infiniteScrollDistance]="1"
|
|
|
|
[infiniteScrollContainer]="'#items .content'" [fromRoot]="true" [infiniteScrollDisabled]="!isPaging()"
|
|
|
|
(scrolled)="loadMore()">
|
|
|
|
<a *ngFor="let c of filteredCiphers" appStopClick (click)="selectCipher(c)"
|
|
|
|
(contextmenu)="rightClickCipher(c)" href="#" title="{{'viewItem' | i18n}}"
|
2021-05-01 17:55:49 +02:00
|
|
|
[ngClass]="{'active': c.id === activeCipherId}" class="flex-list-item">
|
2018-01-31 23:58:06 +01:00
|
|
|
<app-vault-icon [cipher]="c"></app-vault-icon>
|
2021-05-03 17:31:45 +02:00
|
|
|
<div class="flex-cipher-list-item">
|
2021-05-01 17:55:49 +02:00
|
|
|
<span class="text">
|
|
|
|
{{c.name}}
|
|
|
|
<ng-container *ngIf="c.organizationId">
|
2021-06-22 02:26:37 +02:00
|
|
|
<i class="fa fa-cube text-muted" title="{{'shared' | i18n}}" aria-hidden="true"></i>
|
2021-05-01 17:55:49 +02:00
|
|
|
<span class="sr-only">{{'shared' | i18n}}</span>
|
|
|
|
</ng-container>
|
|
|
|
<ng-container *ngIf="c.hasAttachments">
|
|
|
|
<i class="fa fa-paperclip text-muted" title="{{'attachments' | i18n}}" aria-hidden="true"></i>
|
|
|
|
<span class="sr-only">{{'attachments' | i18n}}</span>
|
|
|
|
</ng-container>
|
|
|
|
</span>
|
|
|
|
<span *ngIf="c.subTitle" class="detail">{{c.subTitle}}</span>
|
2021-05-03 17:31:45 +02:00
|
|
|
</div>
|
2018-01-31 23:58:06 +01:00
|
|
|
</a>
|
|
|
|
</div>
|
2019-03-19 16:34:56 +01:00
|
|
|
<div class="no-items" *ngIf="!filteredCiphers.length">
|
2019-04-02 05:08:54 +02:00
|
|
|
<i class="fa fa-spinner fa-spin fa-3x" *ngIf="!loaded" aria-hidden="true"></i>
|
2018-02-09 17:18:37 +01:00
|
|
|
<ng-container *ngIf="loaded">
|
2019-04-02 05:08:54 +02:00
|
|
|
<i class="fa fa-frown-o fa-4x" aria-hidden="true"></i>
|
2018-02-09 17:18:37 +01:00
|
|
|
<p>{{'noItemsInList' | i18n}}</p>
|
|
|
|
<button (click)="addCipher()" class="btn block primary link">{{'addItem' | i18n}}</button>
|
|
|
|
</ng-container>
|
2018-01-31 23:58:06 +01:00
|
|
|
</div>
|
|
|
|
</ng-container>
|
2018-01-24 04:21:14 +01:00
|
|
|
</div>
|
|
|
|
<div class="footer">
|
2020-04-13 21:29:15 +02:00
|
|
|
<button appBlurClick (click)="addCipher()" (contextmenu)="addCipherOptions()"
|
2020-04-13 21:13:10 +02:00
|
|
|
class="block primary" appA11yTitle="{{'addItem' | i18n}}" [disabled]="deleted">
|
2019-04-02 04:56:28 +02:00
|
|
|
<i class="fa fa-plus fa-lg" aria-hidden="true"></i>
|
2018-01-26 00:00:03 +01:00
|
|
|
</button>
|
2018-01-24 04:21:14 +01:00
|
|
|
</div>
|