From 3eca6020c540435d73e19fe640b9fd2dbad664bd Mon Sep 17 00:00:00 2001 From: Vladislav Tasev Date: Fri, 29 Nov 2019 09:34:25 +0200 Subject: [PATCH] fix(ui5-datepicker): it is now possible to set an empty placeholder (#997) --- packages/base/src/UI5Element.js | 4 ++-- packages/main/src/DatePicker.js | 7 +++++-- packages/main/test/pages/DatePicker.html | 3 +++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/base/src/UI5Element.js b/packages/base/src/UI5Element.js index db3cdc09e8c2..156acdc3a0c8 100644 --- a/packages/base/src/UI5Element.js +++ b/packages/base/src/UI5Element.js @@ -636,7 +636,7 @@ class UI5Element extends HTMLElement { } else if (propType === Object) { defaultState[propName] = "defaultValue" in props[propName] ? props[propName].defaultValue : {}; } else if (propType === String) { - defaultState[propName] = propDefaultValue || ""; + defaultState[propName] = "defaultValue" in props[propName] ? props[propName].defaultValue : ""; } else { defaultState[propName] = propDefaultValue; } @@ -678,7 +678,7 @@ class UI5Element extends HTMLElement { if (propData.type === Boolean) { return false; } else if (propData.type === String) { // eslint-disable-line - return propDefaultValue || ""; + return propDefaultValue; } else if (propData.multiple) { // eslint-disable-line return []; } else { diff --git a/packages/main/src/DatePicker.js b/packages/main/src/DatePicker.js index 007c4436b360..0ec17bcdfc76 100644 --- a/packages/main/src/DatePicker.js +++ b/packages/main/src/DatePicker.js @@ -112,12 +112,15 @@ const metadata = { * ui5-datepicker has no value. * * Note: When no placeholder is set, the format pattern is displayed as a placeholder. + * Passing an empty string as the value of this property will make the ui5-datepicker appear empty - without placeholder or format pattern. + * * @type {string} - * @defaultvalue "" + * @defaultvalue undefined * @public */ placeholder: { type: String, + defaultValue: undefined, }, /** @@ -391,7 +394,7 @@ class DatePicker extends UI5Element { } get _placeholder() { - return this.placeholder || this._displayFormat; + return this.placeholder !== undefined ? this.placeholder : this._displayFormat; } getFormat() { diff --git a/packages/main/test/pages/DatePicker.html b/packages/main/test/pages/DatePicker.html index 2d226a7bfccb..e0baca353bb6 100644 --- a/packages/main/test/pages/DatePicker.html +++ b/packages/main/test/pages/DatePicker.html @@ -78,6 +78,9 @@

buddhist calendar type

japanese calendar type

+ +

explicitly set empty placeholder

+