2024-12-06 16:02:29 +00:00
|
|
|
import { computed } from "@ember/object";
|
2024-11-29 10:11:21 +00:00
|
|
|
import { classNames } from "@ember-decorators/component";
|
2024-01-15 12:24:24 +01:00
|
|
|
import { makeArray } from "discourse-common/lib/helpers";
|
|
|
|
import MultiSelectComponent from "select-kit/components/multi-select";
|
2019-04-18 17:52:59 -04:00
|
|
|
|
2024-11-29 10:11:21 +00:00
|
|
|
@classNames("house-ads-chooser")
|
|
|
|
export default class HouseAdsChooser extends MultiSelectComponent {
|
|
|
|
filterable = true;
|
|
|
|
filterPlaceholder = "admin.adplugin.house_ads.filter_placeholder";
|
|
|
|
tokenSeparator = "|";
|
|
|
|
allowCreate = false;
|
|
|
|
allowAny = false;
|
|
|
|
settingValue = "";
|
|
|
|
valueAttribute = null;
|
|
|
|
nameProperty = null;
|
2019-04-18 17:52:59 -04:00
|
|
|
|
2024-11-29 10:11:21 +00:00
|
|
|
@computed("settingValue")
|
|
|
|
get value() {
|
2020-02-07 10:34:58 +01:00
|
|
|
return this.settingValue
|
|
|
|
.toString()
|
|
|
|
.split(this.tokenSeparator)
|
|
|
|
.filter(Boolean);
|
2024-11-29 10:11:21 +00:00
|
|
|
}
|
2019-04-18 17:52:59 -04:00
|
|
|
|
|
|
|
computeValues() {
|
2020-02-07 10:34:58 +01:00
|
|
|
return this.settingValue.split(this.tokenSeparator).filter(Boolean);
|
2024-11-29 10:11:21 +00:00
|
|
|
}
|
2020-02-07 10:34:58 +01:00
|
|
|
|
2024-11-29 10:11:21 +00:00
|
|
|
@computed("choices")
|
|
|
|
get content() {
|
2020-02-07 10:34:58 +01:00
|
|
|
return makeArray(this.choices);
|
2024-11-29 10:11:21 +00:00
|
|
|
}
|
|
|
|
}
|