import discourseComputed, { afterRender, } from "discourse-common/utils/decorators"; import Component from "@ember/component"; import I18n from "I18n"; import { equal } from "@ember/object/computed"; const ACTIONS = ["delete", "delete_replies", "edit", "none"]; export default Component.extend({ postId: null, postAction: null, postEdit: null, @discourseComputed penaltyActions() { return ACTIONS.map((id) => { return { id, name: I18n.t(`admin.user.penalty_post_${id}`) }; }); }, editing: equal("postAction", "edit"), actions: { penaltyChanged(postAction) { this.set("postAction", postAction); // If we switch to edit mode, jump to the edit textarea if (postAction === "edit") { this._focusEditTextarea(); } }, }, @afterRender _focusEditTextarea() { const elem = this.element; const body = elem.closest(".modal-body"); body.scrollTo(0, body.clientHeight); elem.querySelector(".post-editor").focus(); }, });