1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-11-06 09:20:43 +01:00

Merge pull request #1656 from bitwarden/DateTimeFallback

implemented date & time fallbacks for safari and FF
This commit is contained in:
Addison Beck 2021-03-04 12:53:49 -05:00 committed by GitHub
commit 7a9ad3dc32
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 54 additions and 15 deletions

2
jslib

@ -1 +1 @@
Subproject commit 3942868cf488ed8c1983ffadab2c8900b8c78410 Subproject commit 729ab4f20b81d7e465d7570c51cdb67d3cc49e6f

View File

@ -96,6 +96,7 @@
"big-integer": "1.6.36", "big-integer": "1.6.36",
"browser-hrtime": "^1.1.8", "browser-hrtime": "^1.1.8",
"core-js": "2.6.2", "core-js": "2.6.2",
"date-input-polyfill": "^2.14.0",
"duo_web_sdk": "git+https://github.com/duosecurity/duo_web_sdk.git", "duo_web_sdk": "git+https://github.com/duosecurity/duo_web_sdk.git",
"font-awesome": "4.7.0", "font-awesome": "4.7.0",
"lunr": "2.3.3", "lunr": "2.3.3",

View File

@ -315,3 +315,13 @@ app-vault-icon {
input[type="password"]::-ms-reveal { input[type="password"]::-ms-reveal {
display: none; display: none;
} }
.flex {
display: flex;
&.flex-grow {
> * {
flex: 1;
}
}
}

View File

@ -116,6 +116,20 @@
<!-- Deletion Date --> <!-- Deletion Date -->
<div class="box"> <div class="box">
<div class="box-content"> <div class="box-content">
<ng-template #deletionDateCustom>
<ng-container *ngIf="isDateTimeLocalSupported">
<input id="deletionDateCustom" type="datetime-local" name="DeletionDate"
[(ngModel)]="deletionDate" required placeholder="MM/DD/YYYY HH:MM AM/PM">
</ng-container>
<div class="flex flex-grow" *ngIf="!isDateTimeLocalSupported">
<input id="deletionDateCustomFallback" type="date"
name="DeletionDateFallback" [(ngModel)]="deletionDateFallback" required
placeholder="MM/DD/YYYY" [readOnly]="disableSend">
<input id="deletionTimeCustomFallback" type="time"
name="DeletionTimeDate" [(ngModel)]="deletionTimeFallback" required
placeholder="HH:MM AM/PM" [readOnly]="disableSend">
</div>
</ng-template>
<div class="box-content-row" *ngIf="!editMode"> <div class="box-content-row" *ngIf="!editMode">
<label for="deletionDate">{{'deletionDate' | i18n}}</label> <label for="deletionDate">{{'deletionDate' | i18n}}</label>
<select id="deletionDate" name="DeletionDateSelect" [(ngModel)]="deletionDateSelect" required> <select id="deletionDate" name="DeletionDateSelect" [(ngModel)]="deletionDateSelect" required>
@ -123,16 +137,17 @@
</option> </option>
</select> </select>
</div> </div>
<div class="box-content-row" *ngIf="deletionDateSelect === 0 && !editMode"> <ng-container *ngIf="deletionDateSelect === 0 && !editMode">
<input id="deletionDateCustom" type="datetime-local" name="DeletionDate" <div class="box-content-row">
[(ngModel)]="deletionDate" required placeholder="MM/DD/YYYY HH:MM AM/PM"> <ng-container *ngTemplateOutlet="deletionDateCustom"></ng-container>
</div> </div>
<div class="box-content-row" *ngIf="editMode" appBoxRow> </ng-container>
<label for="editDeletionDate">{{'deletionDate' | i18n}}</label> <ng-container *ngIf="editMode" appBoxRow>
<input id="editDeletionDate" type="datetime-local" name="EditDeletionDate" <div class="box-content-row">
[(ngModel)]="deletionDate" required placeholder="MM/DD/YYYY HH:MM AM/PM" <label for="editDeletionDate">{{'deletionDate' | i18n}}</label>
[readonly]="disableSend"> <ng-container *ngTemplateOutlet="deletionDateCustom"></ng-container>
</div> </div>
</ng-container>
</div> </div>
<div class="box-footer"> <div class="box-footer">
{{'deletionDateDesc' | i18n}} {{'deletionDateDesc' | i18n}}
@ -141,6 +156,21 @@
<!-- Expiration Date --> <!-- Expiration Date -->
<div class="box"> <div class="box">
<div class="box-content"> <div class="box-content">
<ng-template #expirationDateCustom>
<ng-container *ngIf="isDateTimeLocalSupported">
<input id="expirationDateCustom" type="datetime-local"
name="ExpirationDate" [(ngModel)]="expirationDate" required
placeholder="MM/DD/YYYY HH:MM AM/PM" [readOnly]="disableSend">
</ng-container>
<div class="flex flex-grow" *ngIf="!isDateTimeLocalSupported">
<input id="expirationDateCustomFallback" type="date"
name="ExpirationDateFallback" [(ngModel)]="expirationDateFallback" [required]="!editMode"
placeholder="MM/DD/YYYY" [readOnly]="disableSend">
<input id="expirationTimeCustomFallback" type="time"
name="ExpirationTimeFallback" [(ngModel)]="expirationTimeFallback" [required]="!editMode"
placeholder="HH:MM AM/PM" [readOnly]="disableSend">
</div>
</ng-template>
<div class="box-content-row" *ngIf="!editMode"> <div class="box-content-row" *ngIf="!editMode">
<label for="expirationDate">{{'expirationDate' | i18n}}</label> <label for="expirationDate">{{'expirationDate' | i18n}}</label>
<select id="expirationDate" name="ExpirationDateSelect" [(ngModel)]="expirationDateSelect" <select id="expirationDate" name="ExpirationDateSelect" [(ngModel)]="expirationDateSelect"
@ -150,8 +180,7 @@
</select> </select>
</div> </div>
<div class="box-content-row" *ngIf="expirationDateSelect === 0 && !editMode"> <div class="box-content-row" *ngIf="expirationDateSelect === 0 && !editMode">
<input id="expirationDateCustom" type="datetime-local" name="ExpirationDate" <ng-container *ngTemplateOutlet="expirationDateCustom"></ng-container>
[(ngModel)]="expirationDate" required placeholder="MM/DD/YYYY HH:MM AM/PM">
</div> </div>
<div class="box-content-row" *ngIf="editMode" appBoxRow> <div class="box-content-row" *ngIf="editMode" appBoxRow>
<div class="flex-label"> <div class="flex-label">
@ -160,8 +189,7 @@
{{'clear' | i18n}} {{'clear' | i18n}}
</a> </a>
</div> </div>
<input id="editExpirationDate" type="datetime-local" name="EditExpirationDate" <ng-container *ngTemplateOutlet="expirationDateCustom"></ng-container>
[(ngModel)]="expirationDate" placeholder="MM/DD/YYYY HH:MM AM/PM" [readonly]="disableSend">
</div> </div>
</div> </div>
<div class="box-footer"> <div class="box-footer">