import { Component, ReactNode} from "react"; import { useStatusWithEvent, IMixinStatusProps } from "@Context/Status"; import { Behavior } from "@Model/Behavior"; import { Message } from "@Component/Message/Message"; import { AttrInput } from "@Component/AttrInput/AttrInput"; import { ColorInput } from "@Component/ColorInput/ColorInput"; import { TogglesInput } from "@Component/TogglesInput/TogglesInput"; import { ConfirmPopup } from "@Component/ConfirmPopup/ConfirmPopup"; import "./BehaviorDetails.scss"; interface IBehaviorDetailsProps {} @useStatusWithEvent("focusBehaviorChange", "behaviorAttrChange") class BehaviorDetails extends Component { private renderFrom(behavior: Behavior): ReactNode { return <> { this.props.status?.changeBehaviorAttrib(behavior.id, "name", val); }} /> { this.props.status?.changeBehaviorAttrib(behavior.id, "color", color); }} /> { if (this.props.status) { const status = this.props.status; status.popup.showPopup(ConfirmPopup, { infoI18n: "Popup.Delete.Behavior.Confirm", titleI18N: "Popup.Action.Objects.Confirm.Title", yesI18n: "Popup.Action.Objects.Confirm.Delete", red: "yes", yes: () => { status.model.deleteBehavior(behavior); status.setBehaviorObject(); } }) } }} /> ; } public render(): ReactNode { if (this.props.status) { if (this.props.status.focusBehavior) { return this.renderFrom(this.props.status.focusBehavior); } } return ; } } export { BehaviorDetails };