mirror of
https://github.com/bitwarden/browser.git
synced 2024-10-01 04:37:40 +02:00
Make all item fields (except linked fields) draggable (#3321)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
This commit is contained in:
parent
acf332b689
commit
06e88a38e0
@ -5,7 +5,14 @@
|
|||||||
<div class="box-content">
|
<div class="box-content">
|
||||||
<div class="box-content-row box-content-row-flex" *ngFor="let field of cipher.fields">
|
<div class="box-content-row box-content-row-flex" *ngFor="let field of cipher.fields">
|
||||||
<div class="row-main">
|
<div class="row-main">
|
||||||
<span class="row-label">{{ field.name }}</span>
|
<span
|
||||||
|
*ngIf="field.type != fieldType.Linked"
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, field.value)"
|
||||||
|
>{{ field.name }}</span
|
||||||
|
>
|
||||||
|
<span *ngIf="field.type === fieldType.Linked" class="row-label">{{ field.name }}</span>
|
||||||
<div *ngIf="field.type === fieldType.Text">
|
<div *ngIf="field.type === fieldType.Text">
|
||||||
{{ field.value || " " }}
|
{{ field.value || " " }}
|
||||||
</div>
|
</div>
|
||||||
|
@ -18,7 +18,13 @@
|
|||||||
</h2>
|
</h2>
|
||||||
<div class="box-content">
|
<div class="box-content">
|
||||||
<div class="box-content-row">
|
<div class="box-content-row">
|
||||||
<label for="name">{{ "name" | i18n }}</label>
|
<label
|
||||||
|
for="name"
|
||||||
|
class="draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.name)"
|
||||||
|
>{{ "name" | i18n }}</label
|
||||||
|
>
|
||||||
<input id="name" type="text" [value]="cipher.name" readonly aria-readonly="true" />
|
<input id="name" type="text" [value]="cipher.name" readonly aria-readonly="true" />
|
||||||
</div>
|
</div>
|
||||||
<!-- Login -->
|
<!-- Login -->
|
||||||
@ -192,12 +198,22 @@
|
|||||||
<!-- Card -->
|
<!-- Card -->
|
||||||
<div *ngIf="cipher.card">
|
<div *ngIf="cipher.card">
|
||||||
<div class="box-content-row" *ngIf="cipher.card.cardholderName">
|
<div class="box-content-row" *ngIf="cipher.card.cardholderName">
|
||||||
<span class="row-label">{{ "cardholderName" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.card.cardholderName)"
|
||||||
|
>{{ "cardholderName" | i18n }}</span
|
||||||
|
>
|
||||||
{{ cipher.card.cardholderName }}
|
{{ cipher.card.cardholderName }}
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-row box-content-row-flex" *ngIf="cipher.card.number">
|
<div class="box-content-row box-content-row-flex" *ngIf="cipher.card.number">
|
||||||
<div class="row-main">
|
<div class="row-main">
|
||||||
<span class="row-label">{{ "number" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.card.number)"
|
||||||
|
>{{ "number" | i18n }}</span
|
||||||
|
>
|
||||||
<span [hidden]="showCardNumber" class="monospaced">{{
|
<span [hidden]="showCardNumber" class="monospaced">{{
|
||||||
cipher.card.maskedNumber | creditCardNumber: cipher.card.brand
|
cipher.card.maskedNumber | creditCardNumber: cipher.card.brand
|
||||||
}}</span>
|
}}</span>
|
||||||
@ -233,16 +249,31 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-row" *ngIf="cipher.card.brand">
|
<div class="box-content-row" *ngIf="cipher.card.brand">
|
||||||
<span class="row-label">{{ "brand" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.card.brand)"
|
||||||
|
>{{ "brand" | i18n }}</span
|
||||||
|
>
|
||||||
{{ cipher.card.brand }}
|
{{ cipher.card.brand }}
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-row" *ngIf="cipher.card.expiration">
|
<div class="box-content-row" *ngIf="cipher.card.expiration">
|
||||||
<span class="row-label">{{ "expiration" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.card.expiration)"
|
||||||
|
>{{ "expiration" | i18n }}</span
|
||||||
|
>
|
||||||
{{ cipher.card.expiration }}
|
{{ cipher.card.expiration }}
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-row box-content-row-flex" *ngIf="cipher.card.code">
|
<div class="box-content-row box-content-row-flex" *ngIf="cipher.card.code">
|
||||||
<div class="row-main">
|
<div class="row-main">
|
||||||
<span class="row-label">{{ "securityCode" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.card.code)"
|
||||||
|
>{{ "securityCode" | i18n }}</span
|
||||||
|
>
|
||||||
<span [hidden]="showCardCode" class="monospaced">{{ cipher.card.maskedCode }}</span>
|
<span [hidden]="showCardCode" class="monospaced">{{ cipher.card.maskedCode }}</span>
|
||||||
<span [hidden]="!showCardCode" class="monospaced">{{ cipher.card.code }}</span>
|
<span [hidden]="!showCardCode" class="monospaced">{{ cipher.card.code }}</span>
|
||||||
</div>
|
</div>
|
||||||
@ -277,42 +308,98 @@
|
|||||||
<!-- Identity -->
|
<!-- Identity -->
|
||||||
<div *ngIf="cipher.identity">
|
<div *ngIf="cipher.identity">
|
||||||
<div class="box-content-row" *ngIf="cipher.identity.fullName">
|
<div class="box-content-row" *ngIf="cipher.identity.fullName">
|
||||||
<span class="row-label">{{ "identityName" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.identity.fullName)"
|
||||||
|
>{{ "identityName" | i18n }}</span
|
||||||
|
>
|
||||||
{{ cipher.identity.fullName }}
|
{{ cipher.identity.fullName }}
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-row" *ngIf="cipher.identity.username">
|
<div class="box-content-row" *ngIf="cipher.identity.username">
|
||||||
<span class="row-label">{{ "username" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.identity.username)"
|
||||||
|
>{{ "username" | i18n }}</span
|
||||||
|
>
|
||||||
{{ cipher.identity.username }}
|
{{ cipher.identity.username }}
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-row" *ngIf="cipher.identity.company">
|
<div class="box-content-row" *ngIf="cipher.identity.company">
|
||||||
<span class="row-label">{{ "company" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.identity.company)"
|
||||||
|
>{{ "company" | i18n }}</span
|
||||||
|
>
|
||||||
{{ cipher.identity.company }}
|
{{ cipher.identity.company }}
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-row" *ngIf="cipher.identity.ssn">
|
<div class="box-content-row" *ngIf="cipher.identity.ssn">
|
||||||
<span class="row-label">{{ "ssn" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.identity.ssn)"
|
||||||
|
>{{ "ssn" | i18n }}</span
|
||||||
|
>
|
||||||
{{ cipher.identity.ssn }}
|
{{ cipher.identity.ssn }}
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-row" *ngIf="cipher.identity.passportNumber">
|
<div class="box-content-row" *ngIf="cipher.identity.passportNumber">
|
||||||
<span class="row-label">{{ "passportNumber" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.identity.passportNumber)"
|
||||||
|
>{{ "passportNumber" | i18n }}</span
|
||||||
|
>
|
||||||
{{ cipher.identity.passportNumber }}
|
{{ cipher.identity.passportNumber }}
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-row" *ngIf="cipher.identity.licenseNumber">
|
<div class="box-content-row" *ngIf="cipher.identity.licenseNumber">
|
||||||
<span class="row-label">{{ "licenseNumber" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.identity.licenseNumber)"
|
||||||
|
>{{ "licenseNumber" | i18n }}</span
|
||||||
|
>
|
||||||
{{ cipher.identity.licenseNumber }}
|
{{ cipher.identity.licenseNumber }}
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-row" *ngIf="cipher.identity.email">
|
<div class="box-content-row" *ngIf="cipher.identity.email">
|
||||||
<span class="row-label">{{ "email" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.identity.email)"
|
||||||
|
>{{ "email" | i18n }}</span
|
||||||
|
>
|
||||||
{{ cipher.identity.email }}
|
{{ cipher.identity.email }}
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-row" *ngIf="cipher.identity.phone">
|
<div class="box-content-row" *ngIf="cipher.identity.phone">
|
||||||
<span class="row-label">{{ "phone" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.identity.phone)"
|
||||||
|
>{{ "phone" | i18n }}</span
|
||||||
|
>
|
||||||
{{ cipher.identity.phone }}
|
{{ cipher.identity.phone }}
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="box-content-row"
|
class="box-content-row"
|
||||||
*ngIf="cipher.identity.address1 || cipher.identity.city || cipher.identity.country"
|
*ngIf="cipher.identity.address1 || cipher.identity.city || cipher.identity.country"
|
||||||
>
|
>
|
||||||
<span class="row-label">{{ "address" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="
|
||||||
|
setTextDataOnDrag(
|
||||||
|
$event,
|
||||||
|
(cipher.identity.address1 ? cipher.identity.address1 + '\n' : '') +
|
||||||
|
(cipher.identity.address2 ? cipher.identity.address2 + '\n' : '') +
|
||||||
|
(cipher.identity.address3 ? cipher.identity.address3 + '\n' : '') +
|
||||||
|
(cipher.identity.fullAddressPart2
|
||||||
|
? cipher.identity.fullAddressPart2 + '\n'
|
||||||
|
: '') +
|
||||||
|
(cipher.identity.country ? cipher.identity.country : '')
|
||||||
|
)
|
||||||
|
"
|
||||||
|
>{{ "address" | i18n }}</span
|
||||||
|
>
|
||||||
<div *ngIf="cipher.identity.address1">{{ cipher.identity.address1 }}</div>
|
<div *ngIf="cipher.identity.address1">{{ cipher.identity.address1 }}</div>
|
||||||
<div *ngIf="cipher.identity.address2">{{ cipher.identity.address2 }}</div>
|
<div *ngIf="cipher.identity.address2">{{ cipher.identity.address2 }}</div>
|
||||||
<div *ngIf="cipher.identity.address3">{{ cipher.identity.address3 }}</div>
|
<div *ngIf="cipher.identity.address3">{{ cipher.identity.address3 }}</div>
|
||||||
@ -329,12 +416,22 @@
|
|||||||
*ngFor="let u of cipher.login.uris; let i = index"
|
*ngFor="let u of cipher.login.uris; let i = index"
|
||||||
>
|
>
|
||||||
<div class="row-main">
|
<div class="row-main">
|
||||||
<label for="hostOrUri{{ i }}" class="row-label" *ngIf="!u.isWebsite">{{
|
<label
|
||||||
"uri" | i18n
|
for="hostOrUri{{ i }}"
|
||||||
}}</label>
|
class="row-label draggable"
|
||||||
<label for="hostOrUri{{ i }}" class="row-label" *ngIf="u.isWebsite">{{
|
draggable="true"
|
||||||
"website" | i18n
|
(dragstart)="setTextDataOnDrag($event, u.uri)"
|
||||||
}}</label>
|
*ngIf="!u.isWebsite"
|
||||||
|
>{{ "uri" | i18n }}</label
|
||||||
|
>
|
||||||
|
<label
|
||||||
|
for="hostOrUri{{ i }}"
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, u.uri)"
|
||||||
|
*ngIf="u.isWebsite"
|
||||||
|
>{{ "website" | i18n }}</label
|
||||||
|
>
|
||||||
<span title="{{ u.uri }}">
|
<span title="{{ u.uri }}">
|
||||||
<input
|
<input
|
||||||
id="hostOrUri{{ i }}"
|
id="hostOrUri{{ i }}"
|
||||||
@ -373,7 +470,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="box" *ngIf="cipher.notes">
|
<div class="box" *ngIf="cipher.notes">
|
||||||
<h2 class="box-header">
|
<h2 class="box-header">
|
||||||
<label for="notes">{{ "notes" | i18n }}</label>
|
<label
|
||||||
|
for="notes"
|
||||||
|
class="draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.notes)"
|
||||||
|
>{{ "notes" | i18n }}</label
|
||||||
|
>
|
||||||
</h2>
|
</h2>
|
||||||
<div class="box-content">
|
<div class="box-content">
|
||||||
<div class="box-content-row">
|
<div class="box-content-row">
|
||||||
|
@ -5,7 +5,14 @@
|
|||||||
<div class="box-content">
|
<div class="box-content">
|
||||||
<div class="box-content-row box-content-row-flex" *ngFor="let field of cipher.fields">
|
<div class="box-content-row box-content-row-flex" *ngFor="let field of cipher.fields">
|
||||||
<div class="row-main">
|
<div class="row-main">
|
||||||
<span class="row-label">{{ field.name }}</span>
|
<span
|
||||||
|
*ngIf="field.type != fieldType.Linked"
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, field.value)"
|
||||||
|
>{{ field.name }}</span
|
||||||
|
>
|
||||||
|
<span *ngIf="field.type === fieldType.Linked" class="row-label">{{ field.name }}</span>
|
||||||
<div *ngIf="field.type === fieldType.Text">
|
<div *ngIf="field.type === fieldType.Text">
|
||||||
{{ field.value || " " }}
|
{{ field.value || " " }}
|
||||||
</div>
|
</div>
|
||||||
|
@ -6,7 +6,12 @@
|
|||||||
</h2>
|
</h2>
|
||||||
<div class="box-content">
|
<div class="box-content">
|
||||||
<div class="box-content-row">
|
<div class="box-content-row">
|
||||||
<span class="row-label">{{ "name" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.name)"
|
||||||
|
>{{ "name" | i18n }}</span
|
||||||
|
>
|
||||||
{{ cipher.name }}
|
{{ cipher.name }}
|
||||||
</div>
|
</div>
|
||||||
<!-- Login -->
|
<!-- Login -->
|
||||||
@ -152,12 +157,22 @@
|
|||||||
<!-- Card -->
|
<!-- Card -->
|
||||||
<div *ngIf="cipher.card">
|
<div *ngIf="cipher.card">
|
||||||
<div class="box-content-row" *ngIf="cipher.card.cardholderName">
|
<div class="box-content-row" *ngIf="cipher.card.cardholderName">
|
||||||
<span class="row-label">{{ "cardholderName" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.card.cardholderName)"
|
||||||
|
>{{ "cardholderName" | i18n }}</span
|
||||||
|
>
|
||||||
{{ cipher.card.cardholderName }}
|
{{ cipher.card.cardholderName }}
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-row box-content-row-flex" *ngIf="cipher.card.number">
|
<div class="box-content-row box-content-row-flex" *ngIf="cipher.card.number">
|
||||||
<div class="row-main">
|
<div class="row-main">
|
||||||
<span class="row-label">{{ "number" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.card.number)"
|
||||||
|
>{{ "number" | i18n }}</span
|
||||||
|
>
|
||||||
<span *ngIf="!showCardNumber" class="monospaced">{{
|
<span *ngIf="!showCardNumber" class="monospaced">{{
|
||||||
cipher.card.maskedNumber | creditCardNumber: cipher.card.brand
|
cipher.card.maskedNumber | creditCardNumber: cipher.card.brand
|
||||||
}}</span>
|
}}</span>
|
||||||
@ -192,16 +207,31 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-row" *ngIf="cipher.card.brand">
|
<div class="box-content-row" *ngIf="cipher.card.brand">
|
||||||
<span class="row-label">{{ "brand" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.card.brand)"
|
||||||
|
>{{ "brand" | i18n }}</span
|
||||||
|
>
|
||||||
{{ cipher.card.brand }}
|
{{ cipher.card.brand }}
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-row" *ngIf="cipher.card.expiration">
|
<div class="box-content-row" *ngIf="cipher.card.expiration">
|
||||||
<span class="row-label">{{ "expiration" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.card.expiration)"
|
||||||
|
>{{ "expiration" | i18n }}</span
|
||||||
|
>
|
||||||
{{ cipher.card.expiration }}
|
{{ cipher.card.expiration }}
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-row box-content-row-flex" *ngIf="cipher.card.code">
|
<div class="box-content-row box-content-row-flex" *ngIf="cipher.card.code">
|
||||||
<div class="row-main">
|
<div class="row-main">
|
||||||
<span class="row-label">{{ "securityCode" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.card.code)"
|
||||||
|
>{{ "securityCode" | i18n }}</span
|
||||||
|
>
|
||||||
<span *ngIf="!showCardCode" class="monospaced">{{ cipher.card.maskedCode }}</span>
|
<span *ngIf="!showCardCode" class="monospaced">{{ cipher.card.maskedCode }}</span>
|
||||||
<span *ngIf="showCardCode" class="monospaced">{{ cipher.card.code }}</span>
|
<span *ngIf="showCardCode" class="monospaced">{{ cipher.card.code }}</span>
|
||||||
</div>
|
</div>
|
||||||
@ -235,42 +265,98 @@
|
|||||||
<!-- Identity -->
|
<!-- Identity -->
|
||||||
<div *ngIf="cipher.identity">
|
<div *ngIf="cipher.identity">
|
||||||
<div class="box-content-row" *ngIf="cipher.identity.fullName">
|
<div class="box-content-row" *ngIf="cipher.identity.fullName">
|
||||||
<span class="row-label">{{ "identityName" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.identity.fullName)"
|
||||||
|
>{{ "identityName" | i18n }}</span
|
||||||
|
>
|
||||||
{{ cipher.identity.fullName }}
|
{{ cipher.identity.fullName }}
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-row" *ngIf="cipher.identity.username">
|
<div class="box-content-row" *ngIf="cipher.identity.username">
|
||||||
<span class="row-label">{{ "username" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.identity.username)"
|
||||||
|
>{{ "username" | i18n }}</span
|
||||||
|
>
|
||||||
{{ cipher.identity.username }}
|
{{ cipher.identity.username }}
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-row" *ngIf="cipher.identity.company">
|
<div class="box-content-row" *ngIf="cipher.identity.company">
|
||||||
<span class="row-label">{{ "company" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.identity.company)"
|
||||||
|
>{{ "company" | i18n }}</span
|
||||||
|
>
|
||||||
{{ cipher.identity.company }}
|
{{ cipher.identity.company }}
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-row" *ngIf="cipher.identity.ssn">
|
<div class="box-content-row" *ngIf="cipher.identity.ssn">
|
||||||
<span class="row-label">{{ "ssn" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.identity.ssn)"
|
||||||
|
>{{ "ssn" | i18n }}</span
|
||||||
|
>
|
||||||
{{ cipher.identity.ssn }}
|
{{ cipher.identity.ssn }}
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-row" *ngIf="cipher.identity.passportNumber">
|
<div class="box-content-row" *ngIf="cipher.identity.passportNumber">
|
||||||
<span class="row-label">{{ "passportNumber" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.identity.passportNumber)"
|
||||||
|
>{{ "passportNumber" | i18n }}</span
|
||||||
|
>
|
||||||
{{ cipher.identity.passportNumber }}
|
{{ cipher.identity.passportNumber }}
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-row" *ngIf="cipher.identity.licenseNumber">
|
<div class="box-content-row" *ngIf="cipher.identity.licenseNumber">
|
||||||
<span class="row-label">{{ "licenseNumber" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.identity.licenseNumber)"
|
||||||
|
>{{ "licenseNumber" | i18n }}</span
|
||||||
|
>
|
||||||
{{ cipher.identity.licenseNumber }}
|
{{ cipher.identity.licenseNumber }}
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-row" *ngIf="cipher.identity.email">
|
<div class="box-content-row" *ngIf="cipher.identity.email">
|
||||||
<span class="row-label">{{ "email" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.identity.email)"
|
||||||
|
>{{ "email" | i18n }}</span
|
||||||
|
>
|
||||||
{{ cipher.identity.email }}
|
{{ cipher.identity.email }}
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-row" *ngIf="cipher.identity.phone">
|
<div class="box-content-row" *ngIf="cipher.identity.phone">
|
||||||
<span class="row-label">{{ "phone" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.identity.phone)"
|
||||||
|
>{{ "phone" | i18n }}</span
|
||||||
|
>
|
||||||
{{ cipher.identity.phone }}
|
{{ cipher.identity.phone }}
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="box-content-row"
|
class="box-content-row"
|
||||||
*ngIf="cipher.identity.address1 || cipher.identity.city || cipher.identity.country"
|
*ngIf="cipher.identity.address1 || cipher.identity.city || cipher.identity.country"
|
||||||
>
|
>
|
||||||
<span class="row-label">{{ "address" | i18n }}</span>
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="
|
||||||
|
setTextDataOnDrag(
|
||||||
|
$event,
|
||||||
|
(cipher.identity.address1 ? cipher.identity.address1 + '\n' : '') +
|
||||||
|
(cipher.identity.address2 ? cipher.identity.address2 + '\n' : '') +
|
||||||
|
(cipher.identity.address3 ? cipher.identity.address3 + '\n' : '') +
|
||||||
|
(cipher.identity.fullAddressPart2
|
||||||
|
? cipher.identity.fullAddressPart2 + '\n'
|
||||||
|
: '') +
|
||||||
|
(cipher.identity.country ? cipher.identity.country : '')
|
||||||
|
)
|
||||||
|
"
|
||||||
|
>{{ "address" | i18n }}</span
|
||||||
|
>
|
||||||
<div *ngIf="cipher.identity.address1">{{ cipher.identity.address1 }}</div>
|
<div *ngIf="cipher.identity.address1">{{ cipher.identity.address1 }}</div>
|
||||||
<div *ngIf="cipher.identity.address2">{{ cipher.identity.address2 }}</div>
|
<div *ngIf="cipher.identity.address2">{{ cipher.identity.address2 }}</div>
|
||||||
<div *ngIf="cipher.identity.address3">{{ cipher.identity.address3 }}</div>
|
<div *ngIf="cipher.identity.address3">{{ cipher.identity.address3 }}</div>
|
||||||
@ -289,8 +375,20 @@
|
|||||||
*ngFor="let u of cipher.login.uris; let i = index"
|
*ngFor="let u of cipher.login.uris; let i = index"
|
||||||
>
|
>
|
||||||
<div class="row-main">
|
<div class="row-main">
|
||||||
<span class="row-label" *ngIf="!u.isWebsite">{{ "uri" | i18n }}</span>
|
<span
|
||||||
<span class="row-label" *ngIf="u.isWebsite">{{ "website" | i18n }}</span>
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, u.uri)"
|
||||||
|
*ngIf="!u.isWebsite"
|
||||||
|
>{{ "uri" | i18n }}</span
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
class="row-label draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, u.uri)"
|
||||||
|
*ngIf="u.isWebsite"
|
||||||
|
>{{ "website" | i18n }}</span
|
||||||
|
>
|
||||||
<span title="{{ u.uri }}">{{ u.hostOrUri }}</span>
|
<span title="{{ u.uri }}">{{ u.hostOrUri }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="action-buttons">
|
<div class="action-buttons">
|
||||||
@ -319,7 +417,12 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="box" *ngIf="cipher.notes">
|
<div class="box" *ngIf="cipher.notes">
|
||||||
<h2 class="box-header">
|
<h2 class="box-header">
|
||||||
{{ "notes" | i18n }}
|
<span
|
||||||
|
class="draggable"
|
||||||
|
draggable="true"
|
||||||
|
(dragstart)="setTextDataOnDrag($event, cipher.notes)"
|
||||||
|
>{{ "notes" | i18n }}</span
|
||||||
|
>
|
||||||
</h2>
|
</h2>
|
||||||
<div class="box-content">
|
<div class="box-content">
|
||||||
<div class="box-content-row pre-wrap">{{ cipher.notes }}</div>
|
<div class="box-content-row pre-wrap">{{ cipher.notes }}</div>
|
||||||
|
@ -36,4 +36,8 @@ export class ViewCustomFieldsComponent {
|
|||||||
|
|
||||||
field.showCount = !field.showCount;
|
field.showCount = !field.showCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setTextDataOnDrag(event: DragEvent, data: string) {
|
||||||
|
event.dataTransfer.setData("text", data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user