discourse/app/assets/javascripts/select-kit/addon/components/period-chooser.js
David Taylor d1cc60c435
DEV: Convert select-kit components to native class syntax (#28489)
Changes made using the ember-native-class-codemod, plus some manual tweaks
2024-08-23 12:17:07 +01:00

39 lines
1.1 KiB
JavaScript

import { action } from "@ember/object";
import { oneWay, readOnly } from "@ember/object/computed";
import { classNameBindings, classNames } from "@ember-decorators/component";
import I18n from "discourse-i18n";
import DropdownSelectBoxComponent from "select-kit/components/dropdown-select-box";
import { selectKitOptions } from "select-kit/components/select-kit";
@classNames("period-chooser")
@classNameBindings("showPeriods::hidden")
@selectKitOptions({
filterable: false,
autoFilterable: false,
fullDay: "fullDay",
customStyle: true,
headerComponent: "period-chooser/period-chooser-header",
headerAriaLabel: I18n.t("period_chooser.aria_label"),
})
export default class PeriodChooser extends DropdownSelectBoxComponent {
@oneWay("site.periods") content;
@readOnly("period") value;
valueProperty = null;
nameProperty = null;
showPeriods = true;
modifyComponentForRow() {
return "period-chooser/period-chooser-row";
}
@action
_onChange(value) {
if (this.action) {
this.action(value);
} else {
this.onChange?.(value);
}
}
}