discourse/app/assets/javascripts/select-kit/addon/components/flair-chooser.js
Sérgio Saquetim 5b031945f7
DEV: Replace the use of Ember's .findBy for native methods on arrays (#34557)
Use the native array `.find` instead of Ember's `.findBy` which was deprecated.
2025-09-24 15:32:13 -03:00

33 lines
935 B
JavaScript
Vendored

import { computed } from "@ember/object";
import { classNames } from "@ember-decorators/component";
import ComboBoxComponent from "select-kit/components/combo-box";
import {
pluginApiIdentifiers,
selectKitOptions,
} from "select-kit/components/select-kit";
import FlairRow from "./flair-row";
import SelectedFlair from "./selected-flair";
@classNames("flair-chooser")
@selectKitOptions({
selectedNameComponent: SelectedFlair,
})
@pluginApiIdentifiers(["flair-chooser"])
export default class FlairChooser extends ComboBoxComponent {
modifyComponentForRow() {
return FlairRow;
}
@computed("value", "content.[]", "selectKit.noneItem")
get selectedContent() {
const content = (this.content || []).find(
(value) => value[this.selectKit.valueProperty] === this.value
);
if (content) {
return this.selectKit.modifySelection(content);
} else {
return this.selectKit.noneItem;
}
}
}