// ĠCopyright Ġ 2 0 0 0 - 2 0 2 0 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ package Ġcom . intellij . space . chat . ui Ċ Ċ import Ġcirc let . m 2 . channel . M 2 Channel Vm Ċ import Ġcom . intellij . openapi . application . run Write Action Ċ import Ġcom . intellij . space . messages . Space Bundle Ċ import Ġcom . intellij . ui . components . labels . Link Label Ċ import Ġcom . intellij . util . ui . coder e view . Single Value Model Impl Ċ import Ġcom . intellij . util . ui . coder e view . Toggle able Container Ċ import Ġcom . intellij . util . ui . coder e view . timeline . comment . Submit table TextField Ċ import Ġcom . intellij . util . ui . coder e view . timeline . comment . Submit table TextField Model Base Ċ import Ġjavax . swing . J Component Ċ Ċ internal Ġfun Ġcreate Reply Component ( chat VM : ĠM 2 Channel Vm ): ĠJ Component Ġ{ ĊĠ Ġval Ġnew MessageState Model Ġ= ĠSingle Value Model Impl ( false ) ĊĠ Ġval Ġreply Action Supplier : Ġ() Ġ-> ĠJ Component Ġ= Ġ{ ĊĠĠĠ ĠLink Label < Any >( Space Bundle . message (" chat . reply . action "), Ġnull ) Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠ Ġnew MessageState Model . value Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĠ Ġreturn ĠToggle able Container . create ( ĊĠĠĠ Ġnew MessageState Model , ĊĠĠĠ Ġmain Component Supplier Ġ= Ġreply Action Supplier , ĊĠĠĠ Ġtoggle able Component Supplier Ġ= Ġ{ ĊĠĠĠĠĠ Ġcreate New Message Field ( chat VM , Ġon Cancel Ġ= Ġ{ Ġnew MessageState Model . value Ġ= Ġfalse Ġ}) ĊĠĠĠ Ġ} ĊĠ Ġ) Ċ } Ċ Ċ internal Ġfun Ġcreate New Message Field ( ĊĠ Ġchat VM : ĠM 2 Channel Vm , ĊĠ Ġon Cancel : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull Ċ ): ĠJ Component Ġ{ ĊĠ Ġval Ġsubmit table Model Ġ= Ġobject Ġ: ĠSubmit table TextField Model Base ("") Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġsubmit () Ġ{ ĊĠĠĠĠĠ Ġchat VM . sendMessage ( document . text ) ĊĠĠĠĠĠ Ġrun Write Action Ġ{ ĊĠĠĠĠĠĠĠ Ġdocument . setText ("") ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġreturn ĠSubmit table TextField ( Space Bundle . message (" chat . comment . action . text "), Ġsubmit table Model , Ġon Cancel Ġ= Ġon Cancel ) Ċ }