mirror of
https://github.com/discourse/discourse.git
synced 2024-12-15 23:33:57 +08:00
0431942f3d
This new iteration of select-kit focuses on following best principales and disallowing mutations inside select-kit components. A best effort has been made to avoid breaking changes, however if you content was a flat array, eg: ["foo", "bar"] You will need to set valueProperty=null and nameProperty=null on the component. Also almost every component should have an `onChange` handler now to decide what to do with the updated data. **select-kit will not mutate your data by itself anymore**
22 lines
784 B
JavaScript
22 lines
784 B
JavaScript
import { reads, and } from "@ember/object/computed";
|
|
import SingleSelectHeaderComponent from "select-kit/components/select-kit/single-select-header";
|
|
import { computed } from "@ember/object";
|
|
|
|
export default SingleSelectHeaderComponent.extend({
|
|
layoutName: "select-kit/templates/components/combo-box/combo-box-header",
|
|
classNames: ["combo-box-header"],
|
|
clearable: reads("selectKit.options.clearable"),
|
|
caretUpIcon: reads("selectKit.options.caretUpIcon"),
|
|
caretDownIcon: reads("selectKit.options.caretDownIcon"),
|
|
shouldDisplayClearableButton: and("clearable", "value"),
|
|
|
|
caretIcon: computed(
|
|
"selectKit.isExpanded",
|
|
"caretUpIcon",
|
|
"caretDownIcon",
|
|
function() {
|
|
return this.selectKit.isExpanded ? this.caretUpIcon : this.caretDownIcon;
|
|
}
|
|
)
|
|
});
|