Skip to content

Commit ccf4476

Browse files
committed
ComboBox support for matcher for customized search.
1 parent 2b50f6c commit ccf4476

File tree

4 files changed

+37
-0
lines changed

4 files changed

+37
-0
lines changed

src/main/java/gwt/material/design/addins/client/combobox/MaterialComboBox.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@
3535
import gwt.material.design.addins.client.combobox.js.JsComboBox;
3636
import gwt.material.design.addins.client.combobox.js.JsComboBoxOptions;
3737
import gwt.material.design.addins.client.combobox.js.LanguageOptions;
38+
import gwt.material.design.addins.client.combobox.js.options.Data;
39+
import gwt.material.design.addins.client.combobox.js.options.Params;
3840
import gwt.material.design.client.MaterialDesignBase;
3941
import gwt.material.design.client.base.*;
4042
import gwt.material.design.client.base.mixin.EnabledMixin;
@@ -47,6 +49,7 @@
4749
import gwt.material.design.client.ui.html.Label;
4850
import gwt.material.design.client.ui.html.OptGroup;
4951
import gwt.material.design.client.ui.html.Option;
52+
import gwt.material.design.jquery.client.api.Functions;
5053
import gwt.material.design.jquery.client.api.JQueryElement;
5154

5255
import java.util.*;
@@ -450,6 +453,10 @@ public void setMultiple(boolean multiple) {
450453
}
451454
}
452455

456+
public void setMatcher(Functions.FuncRet2<Params, Data> matcher) {
457+
options.matcher = matcher;
458+
}
459+
453460
public void setAcceptableValues(Collection<T> values) {
454461
setItems(values);
455462
}

src/main/java/gwt/material/design/addins/client/combobox/js/JsComboBoxOptions.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919
*/
2020
package gwt.material.design.addins.client.combobox.js;
2121

22+
import gwt.material.design.addins.client.combobox.js.options.Data;
23+
import gwt.material.design.addins.client.combobox.js.options.Params;
24+
import gwt.material.design.jquery.client.api.Functions;
2225
import gwt.material.design.jquery.client.api.JQueryElement;
2326
import jsinterop.annotations.JsOverlay;
2427
import jsinterop.annotations.JsPackage;
@@ -66,6 +69,9 @@ public static final JsComboBoxOptions create() {
6669
@JsProperty
6770
public boolean tags;
6871

72+
@JsProperty
73+
public Functions.FuncRet2<Params, Data> matcher;
74+
6975
@JsProperty
7076
public LanguageOptions language;
7177
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package gwt.material.design.addins.client.combobox.js.options;
2+
3+
import jsinterop.annotations.JsPackage;
4+
import jsinterop.annotations.JsProperty;
5+
import jsinterop.annotations.JsType;
6+
7+
@JsType(isNative = true, name = "Object", namespace = JsPackage.GLOBAL)
8+
public class Data {
9+
10+
@JsProperty
11+
public String text;
12+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package gwt.material.design.addins.client.combobox.js.options;
2+
3+
import jsinterop.annotations.JsPackage;
4+
import jsinterop.annotations.JsProperty;
5+
import jsinterop.annotations.JsType;
6+
7+
@JsType(isNative = true, name = "Object", namespace = JsPackage.GLOBAL)
8+
public class Params {
9+
10+
@JsProperty
11+
public String term;
12+
}

0 commit comments

Comments
 (0)