Skip to content

Commit f501df4

Browse files
authoredAug 28, 2019
refactor(ui5-multi-combobox): Replace validate-input with allow-custom-values (#749)
BREAKING CHANGE: - validate-input property is removed - allow-custom-values not replaces validate-input and built in validation is enabled by default
1 parent 43dceff commit f501df4

File tree

4 files changed

+18
-18
lines changed

4 files changed

+18
-18
lines changed
 

‎packages/main/src/MultiComboBox.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ const metadata = {
7777
* @defaultvalue false
7878
* @public
7979
*/
80-
validateInput: {
80+
allowCustomValues: {
8181
type: Boolean,
8282
},
8383

@@ -256,7 +256,7 @@ class MultiComboBox extends UI5Element {
256256
const filteredItems = this._filterItems(value);
257257
const oldValueState = this.valueState;
258258

259-
if (!filteredItems.length && value && this.validateInput) {
259+
if (!filteredItems.length && value && !this.allowCustomValues) {
260260
input.value = this._inputLastValue;
261261
input.valueState = "Error";
262262

‎packages/main/test/sap/ui/webcomponents/main/pages/MultiComboBox.html

+12-12
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
<span>Predefined value</span>
7878

7979
<br>
80-
<ui5-multi-combobox id="multi1" style="width: 560px;" value="Hello World">
80+
<ui5-multi-combobox allow-custom-values id="multi1" style="width: 560px;" value="Hello World">
8181
<ui5-li style="display: none" selected type="Active">Cosy</ui5-li>
8282
<ui5-li style="display: none" type="Active">Compact</ui5-li>
8383
<ui5-li style="display: none" selected type="Active">Condensed</ui5-li>
@@ -88,7 +88,7 @@
8888
<span>Validating input and predefined value</span>
8989

9090
<br>
91-
<ui5-multi-combobox style="width: 560px" value="com" validate-input>
91+
<ui5-multi-combobox style="width: 560px" value="com">
9292
<ui5-li selected type="Active">Cosy</ui5-li>
9393
<ui5-li type="Active">Compact</ui5-li>
9494
<ui5-li selected type="Active">Condensed</ui5-li>
@@ -99,7 +99,7 @@
9999
<span>Validating input and placeholder </span>
100100

101101
<br>
102-
<ui5-multi-combobox style="width: 560px" placeholder="Some initial text" validate-input>
102+
<ui5-multi-combobox style="width: 560px" placeholder="Some initial text">
103103
<ui5-li selected type="Active">Cosy</ui5-li>
104104
<ui5-li type="Active">Compact</ui5-li>
105105
<ui5-li selected type="Active">Condensed</ui5-li>
@@ -110,7 +110,7 @@
110110
<span>disabled and placeholder </span>
111111

112112
<br>
113-
<ui5-multi-combobox style="width: 560px" placeholder="Some initial text" disabled>
113+
<ui5-multi-combobox allow-custom-valuesstyle="width: 560px" placeholder="Some initial text" disabled>
114114
<ui5-li selected type="Active">Cosy</ui5-li>
115115
<ui5-li type="Active">Compact</ui5-li>
116116
<ui5-li selected type="Active">Condensed</ui5-li>
@@ -121,7 +121,7 @@
121121
<span>value state success </span>
122122

123123
<br>
124-
<ui5-multi-combobox style="width: 560px" placeholder="Some initial text" value-state="Success">
124+
<ui5-multi-combobox allow-custom-values style="width: 560px" placeholder="Some initial text" value-state="Success">
125125
<ui5-li selected type="Active">Cosy</ui5-li>
126126
<ui5-li type="Active">Compact</ui5-li>
127127
<ui5-li selected type="Active">Condensed</ui5-li>
@@ -132,7 +132,7 @@
132132
<span>value state warning </span>
133133

134134
<br>
135-
<ui5-multi-combobox style="width: 560px" placeholder="Some initial text" value-state="Warning">
135+
<ui5-multi-combobox allow-custom-values style="width: 560px" placeholder="Some initial text" value-state="Warning">
136136
<ui5-li selected type="Active">Cosy</ui5-li>
137137
<ui5-li type="Active">Compact</ui5-li>
138138
<ui5-li selected type="Active">Condensed</ui5-li>
@@ -143,7 +143,7 @@
143143
<span>value state error </span>
144144

145145
<br>
146-
<ui5-multi-combobox style="width: 560px" placeholder="Some initial text" value-state="Error">
146+
<ui5-multi-combobox allow-custom-values style="width: 560px" placeholder="Some initial text" value-state="Error">
147147
<ui5-li selected type="Active">Cosy</ui5-li>
148148
<ui5-li type="Active">Compact</ui5-li>
149149
<ui5-li selected type="Active">Condensed</ui5-li>
@@ -154,7 +154,7 @@
154154
<span>readonly </span>
155155

156156
<br>
157-
<ui5-multi-combobox style="width: 560px" placeholder="Some initial text" readonly>
157+
<ui5-multi-combobox allow-custom-values style="width: 560px" placeholder="Some initial text" readonly>
158158
<ui5-li selected type="Active">Cosy</ui5-li>
159159
<ui5-li type="Active">Compact</ui5-li>
160160
<ui5-li selected type="Active">Condensed</ui5-li>
@@ -166,15 +166,15 @@
166166
<span>MultiComboBox with items</span>
167167

168168
<br>
169-
<ui5-multi-combobox style="width: 560px" placeholder="Some initial text" id="mcb">
169+
<ui5-multi-combobox allow-custom-values style="width: 560px" placeholder="Some initial text" id="mcb">
170170
<ui5-li type="Active" id="first-item">Cosy</ui5-li>
171171
<ui5-li type="Active">Compact</ui5-li>
172172
<ui5-li type="Active">Condensed</ui5-li>
173173
<ui5-li type="Active">Longest word in the world</ui5-li>
174174
</ui5-multi-combobox>
175175
</div>
176176

177-
<div class="demo-section">
177+
<div class="demo-section" allow-custom-values>
178178
<span>MultiComboBox n more</span> </br>
179179

180180
<ui5-multi-combobox style="width: 320px" placeholder="Some initial text" id="more-mcb">
@@ -186,10 +186,10 @@
186186
</div>
187187

188188
<div class="demo-section">
189-
<span>MultiComboBox with validate-input</span>
189+
<span>MultiComboBox with validation</span>
190190

191191
<br>
192-
<ui5-multi-combobox style="width: 560px" placeholder="Some initial text" id="mcb-validation" validate-input>
192+
<ui5-multi-combobox style="width: 560px" placeholder="Some initial text" id="mcb-validation">
193193
<ui5-li type="Active">Cosy</ui5-li>
194194
<ui5-li type="Active">Compact</ui5-li>
195195
<ui5-li type="Active">Condensed</ui5-li>

‎packages/main/test/sap/ui/webcomponents/main/samples/MultiComboBox.sample.html

+3-3
Original file line numberDiff line numberDiff line change
@@ -114,9 +114,9 @@ <h3>MultiComboBox with items</h3>
114114
</section>
115115

116116
<section>
117-
<h3>MultiComboBox with items and build-in user input validation</h3>
117+
<h3>MultiComboBox with free text input</h3>
118118
<div class="snippet">
119-
<ui5-multi-combobox style="width: 100%" validate-input placeholder="Choose your countries">
119+
<ui5-multi-combobox style="width: 100%" placeholder="Choose your countries" allow-custom-values>
120120
<ui5-li>Argentina</ui5-li>
121121
<ui5-li selected>Bulgaria</ui5-li>
122122
<ui5-li>Denmark</ui5-li>
@@ -131,7 +131,7 @@ <h3>MultiComboBox with items and build-in user input validation</h3>
131131
</div>
132132
<div class="snippet">
133133
<pre class="prettyprint lang-html"><xmp>
134-
<ui5-multi-combobox validate-input placeholder="Choose your countries">
134+
<ui5-multi-combobox placeholder="Choose your countries">
135135
<ui5-li>Argentina</ui5-li>
136136
<ui5-li selected>Bulgaria</ui5-li>
137137
<ui5-li>Denmark</ui5-li>

‎packages/main/test/specs/MultiComboBox.spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ describe("MultiComboBox general interaction", () => {
7777
assert.strictEqual(list.getProperty("items").length, 3, "1 items should be shown");
7878
});
7979

80-
it("tests validate-input by typing a non existing option", () => {
80+
it("tests built in validation by typing a non existing option", () => {
8181
const mcb = $("#mcb-validation");
8282
const input = browser.$("#mcb-validation").shadow$("#ui5-multi-combobox-input");
8383
const innerInput = browser.$("#mcb-validation").shadow$("#ui5-multi-combobox-input").shadow$("input");

0 commit comments

Comments
 (0)