packages/ilios-common/addon/components/selectable-terms-list-item.js
import Component from '@glimmer/component';
import { action } from '@ember/object';
import { tracked } from '@glimmer/tracking';
export default class SelectableTermsListItem extends Component {
@tracked isHovering;
@tracked theElement;
get isSelected() {
const term = this.args.term;
const selectedTerms = this.args.selectedTerms;
return selectedTerms.includes(term);
}
get level() {
return this.args.level ?? 0;
}
get showTooltip() {
return this.args?.term.description?.length && this.theElement && this.isHovering;
}
@action
click() {
if (this.isSelected) {
this.args.remove(this.args.term);
} else {
this.args.add(this.args.term);
}
}
}