bitwarden-desktop/src/app/send/add-edit.component.html

176 lines
9.9 KiB
HTML
Raw Normal View History

<form #form (ngSubmit)="submit()" [appApiAction]="formPromise">
2021-02-16 17:52:23 +01:00
<div class="content">
<div class="inner-content" *ngIf="send">
2021-02-18 19:03:20 +01:00
<div class="box">
<app-callout *ngIf="disableSend">
<span>{{'sendDisabledWarning' | i18n}}</span>
</app-callout>
2021-03-25 06:29:49 +01:00
<app-callout type="info" *ngIf="disableHideEmail && !disableSend">
{{'sendOptionsPolicyInEffect' | i18n}}
</app-callout>
2021-02-18 19:03:20 +01:00
</div>
2021-02-16 17:52:23 +01:00
<div class="box">
<div class="box-header">
{{title}}
</div>
<div class="box-content">
<div class="box-content-row" appBoxRow>
<label for="name">{{'name' | i18n}}</label>
2021-02-18 19:03:20 +01:00
<input id="name" type="text" name="Name" [(ngModel)]="send.name" appAutofocus [readOnly]="disableSend">
2021-02-10 20:15:10 +01:00
</div>
<div class="box-content-row box-content-row-radio" *ngIf="!editMode">
<label class="radio-header">{{'whatTypeOfSend' | i18n}}</label>
<div class="item" *ngFor="let o of typeOptions">
<input type="radio" class="radio" [(ngModel)]="send.type" name="Type_{{o.value}}"
id="type_{{o.value}}" [value]="o.value" (change)="typeChanged(o)"
[checked]="send.type === o.value" [disabled]="disableSend">
<label class="unstyled" for="type_{{o.value}}">
{{o.name}}
</label>
</div>
</div>
<div class="box-content-row" appBowRow *ngIf="!editMode && send.type === sendType.File">
<label for="file">{{'file' | i18n}}</label>
<input type="file" id="file" class="form-control-file" name="file" required [disabled]="disableSend">
</div>
<div class="box-content-row" appBowRow *ngIf="editMode && send.type === sendType.File">
<label for="file">{{'file' | i18n}}</label>
<div class="row-main">{{send.file.fileName}} ({{send.file.sizeName}})</div>
</div>
<div class="box-content-row" appBoxRow *ngIf="send.type === sendType.Text">
<label for="text">{{'text' | i18n}}</label>
<textarea id="text" name="text" [(ngModel)]="send.text.text" rows="6" [readOnly]="disableSend"></textarea>
</div>
</div>
<div class="box-footer" *ngIf="!editMode && send.type === sendType.File">
{{'sendFileDesc' | i18n}} {{'maxFileSize' | i18n}}
</div>
<div class="box-footer" *ngIf="send.type === sendType.Text">
{{'sendTextDesc' | i18n}}
2021-02-16 17:52:23 +01:00
</div>
</div>
<div class="box" *ngIf="send.type === sendType.Text">
2021-02-16 17:52:23 +01:00
<div class="box-content">
<div class="box-content-row box-content-row-checkbox" appBoxRow>
<label for="hideText">{{'textHiddenByDefault' | i18n}}</label>
<input id="hideText" name="hideText" type="checkbox" [(ngModel)]="send.text.hidden" [disabled]="disableSend">
</div>
2021-02-16 17:52:23 +01:00
</div>
</div>
<div class="box">
<div class="box-header">
{{'options' | i18n}}
2021-02-18 19:03:20 +01:00
<a class="toggle" href="#" appStopClick appBlurClick role="button" (click)="toggleOptions()">
<i class="fa fa-lg" aria-hidden="true" [ngClass]="{'fa-chevron-down': !showOptions, 'fa-chevron-up': showOptions}"></i>
</a>
2021-02-09 21:57:10 +01:00
</div>
2021-02-18 19:03:20 +01:00
</div>
<div [hidden]="!showOptions">
<app-send-efflux-dates
[initialDeletionDate]="send.deletionDate" [initialExpirationDate]="send.expirationDate"
[editMode]="editMode" [disabled]="disableSend" (datesChanged)="setDates($event)">
</app-send-efflux-dates>
2021-02-18 19:03:20 +01:00
<div class="box">
<div class="box-content">
<div class="box-content-row" appBoxRow>
<label for="maxAccessCount">{{'maxAccessCount' | i18n}}</label>
<input id="maxAccessCount" type="number" name="maxAccessCount" [(ngModel)]="send.maxAccessCount" [readOnly]="disableSend">
</div>
2021-02-10 20:15:10 +01:00
</div>
<div class="box-footer" *ngIf="!editMode">
{{'maxAccessCountDesc' | i18n}}
</div>
<div class="box-footer" *ngIf="editMode">
<p>{{'maxAccessCountDesc' | i18n}}</p>
{{'currentAccessCount' | i18n}}: <strong>{{send.accessCount}}</strong>
</div>
2021-02-18 19:03:20 +01:00
</div>
<div class="box">
<div class="box-content">
<div class="box-content-row box-content-row-flex" appBoxRow>
<div class="row-main">
<label for="password">{{(hasPassword ? 'newPassword' : 'password') | i18n}}</label>
<input id="password" name="password" type="{{showPassword ? 'text' : 'password'}}" [(ngModel)]="password" [readOnly]="disableSend">
</div>
<div class="action-buttons">
<a class="row-btn" href="#" appStopClick appBlurClick role="button"
appA11yTitle="{{'toggleVisibility' | i18n}}" (click)="togglePasswordVisible()" [disabled]="disableSend">
<i class="fa fa-lg" aria-hidden="true"
[ngClass]="{'fa-eye': !showPassword, 'fa-eye-slash': showPassword}"></i>
</a>
</div>
</div>
2021-02-10 20:15:10 +01:00
</div>
<div class="box-footer">
{{'sendPasswordDesc' | i18n}}
</div>
2021-02-09 21:57:10 +01:00
</div>
2021-02-18 19:03:20 +01:00
<div class="box">
<div class="box-header">
{{'notes' | i18n}}
2021-02-10 20:15:10 +01:00
</div>
2021-02-18 19:03:20 +01:00
<div class="box-content">
<div class="box-content-row" appBoxRow>
<textarea id="notes" name="notes" [(ngModel)]="send.notes" rows="6" [readOnly]="disableSend"></textarea>
</div>
2021-02-10 20:15:10 +01:00
</div>
<div class="box-footer">
{{'sendNotesDesc' | i18n}}
</div>
2021-02-09 21:57:10 +01:00
</div>
2021-03-25 06:29:49 +01:00
<div class="box">
<div class="box-content">
<div class="box-content-row box-content-row-checkbox" appBoxRow>
<label for="hideEmail">{{'hideEmail' | i18n}}</label>
<input id="hideEmail" type="checkbox" name="HideEmail" [(ngModel)]="send.hideEmail"
[disabled]="(disableHideEmail && !send.hideEmail) || disableSend">
</div>
</div>
</div>
2021-02-18 19:03:20 +01:00
<div class="box">
<div class="box-content">
<div class="box-content-row box-content-row-checkbox" appBoxRow>
<label for="disabled">{{'disableSend' | i18n}}</label>
<input id="disabled" type="checkbox" name="disabled" [(ngModel)]="send.disabled" [disabled]="disableSend">
</div>
2021-02-16 17:52:23 +01:00
</div>
</div>
</div>
<div class="box">
<div class="box-header">
2021-02-18 19:03:20 +01:00
{{'share' | i18n}}
2021-02-16 17:52:23 +01:00
</div>
<div class="box-content">
2021-02-18 19:03:20 +01:00
<div class="box-content-row" appBoxRow *ngIf="editMode">
<label for="link">{{'sendLinkLabel' | i18n}}</label>
<input id="link" name="link" [ngModel]="link" readonly>
2021-02-10 20:15:10 +01:00
</div>
2021-02-16 17:52:23 +01:00
<div class="box-content-row box-content-row-checkbox" appBoxRow>
2021-02-18 19:03:20 +01:00
<label for="copyLink">{{'copySendLinkOnSave' | i18n}}</label>
2021-02-23 16:40:44 +01:00
<input id="copyLink" name="copyLink" [(ngModel)]="copyLink" type="checkbox" [disabled]="disableSend">
2021-02-10 20:15:10 +01:00
</div>
2021-02-09 21:57:10 +01:00
</div>
</div>
</div>
2021-02-16 17:52:23 +01:00
</div>
<div class="footer">
<button appBlurClick type="submit" class="primary btn-submit" appA11yTitle="{{'save' | i18n}}" [disabled]="form.loading" *ngIf="!disableSend">
<i class="fa fa-spinner fa-spin" title="{{'loading' | i18n}}" aria-hidden="true"></i>
<span><i class="fa fa-save fa-lg fa-fw" aria-hidden="true"></i></span>
2021-02-16 17:52:23 +01:00
</button>
<button appBlurClick type="button" (click)="cancel()" [disabled]="form.loading">
2021-02-16 17:52:23 +01:00
{{'cancel' | i18n}}
</button>
<div class="right">
2021-02-18 19:03:20 +01:00
<button appBlurClick type="button" (click)="copyLinkToClipboard(link)" appA11yTitle="{{'copySendLinkToClipboard' | i18n}}" *ngIf="editMode">
<i class="fa fa-copy fa-lg fa-fw" aria-hidden="true"></i>
</button>
2021-02-16 17:52:23 +01:00
<button #deleteBtn appBlurClick type="button" (click)="delete()" class="danger"
2021-03-08 21:19:08 +01:00
appA11yTitle="{{'delete' | i18n}}" *ngIf="editMode">
2021-02-16 17:52:23 +01:00
<i class="fa fa-trash-o fa-lg fa-fw" [hidden]="deleteBtn.loading" aria-hidden="true"></i>
<i class="fa fa-spinner fa-spin fa-lg fa-fw" [hidden]="!deleteBtn.loading" aria-hidden="true"></i>
2021-02-10 20:15:10 +01:00
</button>
2021-02-03 22:24:49 +01:00
</div>
2021-02-16 17:52:23 +01:00
</div>
</form>