From 729ab4f20b81d7e465d7570c51cdb67d3cc49e6f Mon Sep 17 00:00:00 2001 From: Addison Beck Date: Wed, 3 Mar 2021 15:02:05 -0500 Subject: [PATCH] fixed up the send date fallbacks again (#293) * fixed up the send date fallbacks again * gave localizations string a better name * added fallback values to clear expiration --- .../components/send/add-edit.component.ts | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/angular/components/send/add-edit.component.ts b/src/angular/components/send/add-edit.component.ts index be49e176dac..bd307a4542e 100644 --- a/src/angular/components/send/add-edit.component.ts +++ b/src/angular/components/send/add-edit.component.ts @@ -114,7 +114,9 @@ export class AddEditComponent implements OnInit { } get expirationDateTimeFallback() { - return `${this.expirationDateFallback}T${this.expirationTimeFallback}`; + return this.nullOrWhiteSpaceCount([this.expirationDateFallback, this.expirationTimeFallback]) > 0 ? + null : + `${this.expirationDateFallback}T${this.expirationTimeFallback}`; } get deletionDateTimeFallback() { @@ -175,7 +177,12 @@ export class AddEditComponent implements OnInit { async submit(): Promise { if (!this.isDateTimeLocalSupported) { this.deletionDate = this.deletionDateTimeFallback; - if ((this.editMode && this.expirationDateFallback != null) || this.expirationDateSelect === 0) { + if (this.nullOrWhiteSpaceCount([this.expirationDateFallback, this.expirationTimeFallback]) === 1) { + this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), + this.i18nService.t('expirationDateAndTimeRequired')); + return; + } + if (this.editMode || this.expirationDateSelect === 0) { this.expirationDate = this.expirationDateTimeFallback; } } @@ -252,6 +259,8 @@ export class AddEditComponent implements OnInit { clearExpiration() { this.expirationDate = null; + this.expirationDateFallback = null; + this.expirationTimeFallback = null; } copyLinkToClipboard(link: string) { @@ -333,4 +342,8 @@ export class AddEditComponent implements OnInit { this.showPassword = !this.showPassword; document.getElementById('password').focus(); } + + protected nullOrWhiteSpaceCount(strarray: string[]): number { + return strarray.filter(str => str == null || str.trim() === '').length; + } }