package Ġb aa ah s . app . ui . editor . layout Ċ Ċ import Ġb aa ah s . app . ui . app Context Ċ import Ġb aa ah s . getB ang Ċ import Ġb aa ah s . show . mutable . Mutable Layouts Ċ import Ġb aa ah s . show . mutable . Mutable Tab Ċ import Ġb aa ah s . ui . unary Plus Ċ import Ġb aa ah s . ui . value Ċ import Ġb aa ah s . ui . with Select Event Ċ import Ġb aa ah s . ui . x Component Ċ import Ġm ui . material .* Ċ import Ġreact . Props Ċ import Ġreact . R Builder Ċ import Ġreact . R Handler Ċ import Ġreact . dom . div Ċ import Ġreact . dom . events . Form Event Ċ import Ġreact . use Context Ċ Ċ val ĠLayout Area Cell Ġ= Ġx Component < Layout Area Cell Props >(" Layout Area Cell ") Ġ{ Ġprops Ġ-> ĊĠĠĠ Ġval Ġapp Context Ġ= ĠuseContext ( app Context ) ĊĠĠĠ Ġval Ġstyles Ġ= Ġapp Context . all Styles . layout Editor ĊĊĠĠĠ Ġval Ġhandle Panel Area Change Ġby Ġform EventHandler () Ġ{ Ġevent : ĠForm Event < *> Ġ-> ĊĠĠĠĠĠĠĠ Ġval Ġpanel Ġ= Ġprops . layouts . panels . getB ang ( event . target . value , Ġ" panel ") ĊĠĠĠĠĠĠĠ Ġprops . tab . areas [ props . rowIndex Ġ* Ġprops . tab . columns . size Ġ+ Ġprops . column Index ] Ġ= Ġpanel ĊĠĠĠĠĠĠĠ Ġprops . onChange () ĊĠĠĠĠĠĠĠ Ġforce Render () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdiv (+ styles . grid Area Editor ) Ġ{ ĊĠĠĠĠĠĠĠ ĠSelect < Select Props < String >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattrs . size Ġ= ĠSize . small ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattrs . margin Ġ= ĠInput Base Margin . dense ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurrent Panel Ġ= Ġprops . tab . areas [ props . rowIndex Ġ* Ġprops . tab . columns . size Ġ+ Ġprops . column Index ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpanel Id Ġ= Ġprops . layouts . panels . entries . find Ġ{ Ġ(_, Ġpanel ) Ġ-> Ġpanel Ġ== Ġcurrent Panel Ġ} !!. key ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattrs . value Ġ= Ġpanel Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattrs . onChange Ġ= Ġhandle Panel Area Change . with Select Event () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġprops . layouts . panels . entries . sorted By Ġ{ Ġ(_, Ġv ) Ġ-> Ġv . title Ġ}. forEach Ġ{ Ġ( panel Id , Ġpanel ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMenuItem Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattrs . value Ġ= Ġpanel Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠListItem Text Ġ{ Ġ+ panel . title Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ external Ġinterface ĠLayout Area Cell Props Ġ: ĠProps Ġ{ ĊĠĠĠ Ġvar Ġlayouts : ĠMutable Layouts ĊĠĠĠ Ġvar Ġtab : ĠMutable Tab ĊĠĠĠ Ġvar ĠcolumnIndex : ĠInt ĊĠĠĠ Ġvar ĠrowIndex : ĠInt ĊĠĠĠ Ġvar ĠonChange : Ġ() Ġ-> ĠUnit Ċ } Ċ Ċ fun ĠR Builder . layout Area Cell ( handler : ĠR Handler < Layout Area Cell Props >) Ġ= ĊĠĠĠ Ġchild ( Layout Area Cell , Ġhandler Ġ= Ġhandler )