bitwarden-estensione-browser/src/app/vault/ciphers.component.html

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

193 lines
7.1 KiB
HTML
Raw Normal View History

2019-03-19 17:44:22 +01:00
<ng-container *ngIf="isPaging() ? pagedCiphers : ciphers as filteredCiphers">
<table
class="table table-hover table-list table-ciphers"
*ngIf="filteredCiphers.length"
infiniteScroll
[infiniteScrollDistance]="1"
[infiniteScrollDisabled]="!isPaging()"
(scrolled)="loadMore()"
>
2018-06-06 23:25:57 +02:00
<tbody>
2019-03-19 17:44:22 +01:00
<tr *ngFor="let c of filteredCiphers">
<td (click)="checkCipher(c)" class="table-list-checkbox">
2018-09-24 23:45:35 +02:00
<input type="checkbox" [(ngModel)]="c.checked" appStopProp />
2018-06-07 05:00:57 +02:00
</td>
2018-06-08 18:45:31 +02:00
<td (click)="checkCipher(c)" class="table-list-icon">
2018-06-07 05:00:57 +02:00
<app-vault-icon [cipher]="c"></app-vault-icon>
</td>
<td (click)="checkCipher(c)" class="reduced-lh wrap">
2019-02-21 22:50:37 +01:00
<a
appStopProp
[routerLink]="[]"
[queryParams]="{ cipherId: c.id }"
queryParamsHandling="merge"
2019-02-21 22:50:37 +01:00
title="{{ 'editItem' | i18n }}"
>{{ c.name }}</a
>
<ng-container *ngIf="!organization && c.organizationId">
<i
class="bwi bwi-collection"
appStopProp
title="{{ 'shared' | i18n }}"
aria-hidden="true"
></i>
2019-10-10 17:42:05 +02:00
<span class="sr-only">{{ "shared" | i18n }}</span>
</ng-container>
<ng-container *ngIf="c.hasAttachments">
2019-10-10 17:42:05 +02:00
<i
class="bwi bwi-paperclip"
2019-10-10 17:42:05 +02:00
appStopProp
title="{{ 'attachments' | i18n }}"
aria-hidden="true"
></i>
<span class="sr-only">{{ "attachments" | i18n }}</span>
<ng-container *ngIf="showFixOldAttachments(c)">
<i
class="bwi bwi-exclamation-triangle text-warning"
2019-10-10 17:42:05 +02:00
appStopProp
title="{{ 'attachmentsNeedFix' | i18n }}"
aria-hidden="true"
></i>
<span class="sr-only">{{ "attachmentsNeedFix" | i18n }}</span>
</ng-container>
2018-06-07 23:12:11 +02:00
</ng-container>
<br />
<small appStopProp>{{ c.subTitle }}</small>
2018-06-07 05:00:57 +02:00
</td>
2018-06-08 18:04:03 +02:00
<td class="table-list-options">
2018-06-07 05:00:57 +02:00
<div class="dropdown" appListDropdown>
2019-02-21 22:50:37 +01:00
<button
class="btn btn-outline-secondary dropdown-toggle"
type="button"
id="dropdownMenuButton"
2019-10-11 17:22:21 +02:00
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
appA11yTitle="{{ 'options' | i18n }}"
>
<i class="bwi bwi-cog bwi-lg" aria-hidden="true"></i>
2018-06-06 23:25:57 +02:00
</button>
2018-06-07 05:00:57 +02:00
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownMenuButton">
<ng-container *ngIf="c.type === cipherType.Login && !c.isDeleted">
<a
class="dropdown-item"
href="#"
appStopClick
(click)="copy(c, c.login.username, 'username', 'Username')"
>
<i class="bwi bwi-fw bwi-clone" aria-hidden="true"></i>
{{ "copyUsername" | i18n }}
</a>
2019-04-26 15:12:37 +02:00
<a
class="dropdown-item"
href="#"
appStopClick
(click)="copy(c, c.login.password, 'password', 'Password')"
*ngIf="c.viewPassword"
>
<i class="bwi bwi-fw bwi-clone" aria-hidden="true"></i>
2019-04-26 15:12:37 +02:00
{{ "copyPassword" | i18n }}
</a>
<a
class="dropdown-item"
href="#"
appStopClick
(click)="copy(c, c.login.totp, 'verificationCodeTotp', 'TOTP')"
*ngIf="displayTotpCopyButton(c)"
>
<i class="bwi bwi-fw bwi-clone" aria-hidden="true"></i>
{{ "copyVerificationCode" | i18n }}
</a>
2019-04-26 15:12:37 +02:00
<a
class="dropdown-item"
href="#"
appStopClick
*ngIf="c.login.canLaunch"
(click)="launch(c.login.launchUri)"
>
<i class="bwi bwi-fw bwi-share-square" aria-hidden="true"></i>
2019-04-26 15:12:37 +02:00
{{ "launch" | i18n }}
</a>
</ng-container>
2018-06-08 18:04:03 +02:00
<a class="dropdown-item" href="#" appStopClick (click)="attachments(c)">
<i class="bwi bwi-fw bwi-paperclip" aria-hidden="true"></i>
2018-06-07 23:12:11 +02:00
{{ "attachments" | i18n }}
</a>
<a
class="dropdown-item"
href="#"
appStopClick
*ngIf="((!organization && !c.organizationId) || organization) && !c.isDeleted"
(click)="clone(c)"
>
<i class="bwi bwi-fw bwi-files" aria-hidden="true"></i>
{{ "clone" | i18n }}
</a>
<a
class="dropdown-item"
href="#"
appStopClick
*ngIf="!organization && !c.organizationId && !c.isDeleted"
(click)="share(c)"
>
<i class="bwi bwi-fw bwi-arrow-circle-right" aria-hidden="true"></i>
{{ "moveToOrganization" | i18n }}
2018-06-07 23:12:11 +02:00
</a>
<a
class="dropdown-item"
href="#"
appStopClick
*ngIf="c.organizationId && !c.isDeleted"
2019-02-21 22:50:37 +01:00
(click)="collections(c)"
>
<i class="bwi bwi-fw bwi-collection" aria-hidden="true"></i>
2018-06-07 23:12:11 +02:00
{{ "collections" | i18n }}
</a>
2019-02-21 22:50:37 +01:00
<a
class="dropdown-item"
href="#"
appStopClick
*ngIf="c.organizationId && accessEvents"
(click)="events(c)"
>
<i class="bwi bwi-fw bwi-file-text" aria-hidden="true"></i>
{{ "eventLogs" | i18n }}
</a>
<a
class="dropdown-item"
href="#"
appStopClick
(click)="restore(c)"
*ngIf="c.isDeleted"
>
<i class="bwi bwi-fw bwi-undo" aria-hidden="true"></i>
{{ "restore" | i18n }}
</a>
2018-06-08 18:04:03 +02:00
<a class="dropdown-item text-danger" href="#" appStopClick (click)="delete(c)">
<i class="bwi bwi-fw bwi-trash" aria-hidden="true"></i>
{{ (c.isDeleted ? "permanentlyDelete" : "delete") | i18n }}
2018-06-07 23:12:11 +02:00
</a>
2018-06-06 23:25:57 +02:00
</div>
2021-12-17 15:57:11 +01:00
</div>
2018-06-06 23:25:57 +02:00
</td>
</tr>
</tbody>
</table>
2019-03-19 17:44:22 +01:00
<div class="no-items" *ngIf="!filteredCiphers.length">
2019-10-11 16:35:24 +02:00
<ng-container *ngIf="!loaded">
<i
class="bwi bwi-spinner bwi-spin text-muted"
2019-10-11 16:35:24 +02:00
title="{{ 'loading' | i18n }}"
aria-hidden="true"
></i>
<span class="sr-only">{{ "loading" | i18n }}</span>
</ng-container>
2018-06-06 23:25:57 +02:00
<ng-container *ngIf="loaded">
<p>{{ "noItemsInList" | i18n }}</p>
<button (click)="addCipher()" class="btn btn-outline-primary" *ngIf="showAddNew">
<i class="bwi bwi-plus bwi-fw"></i>{{ "addItem" | i18n }}
2018-06-29 22:55:54 +02:00
</button>
2018-06-06 23:25:57 +02:00
</ng-container>
</div>
</ng-container>