/* Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 2 0 - 2 0 2 1 , ĠSimp lex ion , ĠH ung ary Ġand Ġcontributors . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense . Ċ Ġ*/ Ċ package Ġz ak ad ab ar . core . browser . layout Ċ Ċ import Ġkotlinx . browser . window Ċ import Ġz ak ad ab ar . core . browser . Zk Element Ċ import Ġz ak ad ab ar . core . browser . Zk Element State Ċ import Ġz ak ad ab ar . core . browser . application . Zk App Layout Ċ import Ġz ak ad ab ar . core . browser . application . application Ċ import Ġz ak ad ab ar . core . browser . title bar . Zk App Title Ċ import Ġz ak ad ab ar . core . browser . title bar . Zk App Title Bar Ċ import Ġz ak ad ab ar . core . browser . util . minus Assign Ċ import Ġz ak ad ab ar . core . browser . util . plus Assign Ċ Ċ /** Ċ Ġ* ĠDefault Ġlayout Ġwith Ġapp Ġhandle , Ġtitle Ġbar , Ġsidebar Ġand Ġcontent . Ċ Ġ* Ċ Ġ* Ġ@ property Ġ Ġspan Header Ġ ĠWhen Ġtrue , Ġthe Ġapp Ġhandle Ġand Ġthe Ġtitle Ġbar Ġis Ġin Ġa Ġdiv Ġand Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthat Ġdiv Ġspans Ġthe Ġtwo Ġcolumns Ġof Ġthe Ġfirst Ġrow . ĠThis Ġhas Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeffect Ġonly Ġon Ġlarge Ġscreens . Ċ Ġ*/ Ċ open Ġclass ĠZ k Default Layout ( ĊĠĠĠ Ġopen Ġval Ġspan Header : ĠBoolean Ġ= Ġfalse Ċ ) Ġ: ĠZ k App Layout (" default ") Ġ{ ĊĊĠĠĠ Ġopen Ġvar Ġapp Handle Ġ= ĠZ k Element () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Handle Container Ġ-= Ġfield ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Handle Container Ġ+= Ġfield ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġvar Ġside Bar Ġ= ĠZ k Element () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġside Bar Container Ġ-= Ġfield ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġside Bar Container Ġ+= Ġfield ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġvar Ġtitle Bar Ġ= ĠZ k App Title Bar () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Bar Container Ġ-= Ġfield ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Bar Container Ġ+= Ġfield ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġenum Ġclass ĠMedia Size Ġ{ ĊĠĠĠĠĠĠĠ ĠUn initialized , ĊĠĠĠĠĠĠĠ ĠSmall , ĊĠĠĠĠĠĠĠ ĠLarge ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġactive Media Size Ġ= ĠMedia Size . Un initialized ĊĊĠĠĠ Ġprotected Ġvar Ġapp Handle Container Ġ= ĠZ k Element () ĊĠĠĠ Ġprotected Ġvar Ġside Bar Container Ġ= ĠZ k Element () ĊĠĠĠ Ġprotected Ġvar Ġtitle Bar Container Ġ= ĠZ k Element () ĊĊĠĠĠ Ġprotected Ġvar Ġspan Header Container Ġ= ĠZ k Element () ĊĠĠĠ Ġprotected Ġvar Ġpopup Sidebar Container Ġ= ĠZ k Element () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate () ĊĊĠĠĠĠĠĠĠ Ġapp Handle Container Ġbuild Ġ{ Ġ+ Ġapp Handle Ġ} ĊĊĠĠĠĠĠĠĠ Ġside Bar Container Ġcss Ġzk Default Layout Styles . side Bar Container Ġbuild Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġside Bar ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtitle Bar Container Ġbuild Ġ{ Ġ+ Ġtitle Bar Ġ} ĊĊĠĠĠĠĠĠĠ Ġpopup Sidebar Container Ġcss Ġzk Default Layout Styles . popup Side Bar Container ĊĊĠĠĠĠĠĠĠ Ġon ( window , Ġ" resize ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( life Cycle State Ġ!= ĠZ k Element State . Res umed ) Ġreturn @ on ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmedia Size Ġ= Ġif Ġ( window . innerWidth Ġ< Ġ 8 0 0 ) ĠMedia Size . Small Ġelse ĠMedia Size . Large ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( media Size Ġ!= Ġactive Media Size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Resume () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġapplication . on Title Change Ġ= Ġ:: on Title Change ĊĠĠĠĠĠĠĠ Ġtitle Bar . title Ġ= Ġapplication . title ĊĠĠĠĠĠĠĠ Ġpopup Sidebar Container . hide () ĊĊĠĠĠĠĠĠĠ Ġval Ġmedia Size Ġ= Ġif Ġ( window . innerWidth Ġ< Ġ 8 0 0 ) ĠMedia Size . Small Ġelse ĠMedia Size . Large ĊĊĠĠĠĠĠĠĠ Ġif Ġ( media Size Ġ== Ġactive Media Size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( active Media Size Ġ!= ĠMedia Size . Un initialized ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclass List Ġ-= Ġzk Default Layout Styles . default Layout Large ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclass List Ġ-= Ġzk Default Layout Styles . default Layout Small ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Container . classList Ġ-= Ġzk Default Layout Styles . content Container Small ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Container . classList Ġ-= Ġzk Default Layout Styles . content Container Large ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġ-= Ġapp Handle Container ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġ-= Ġside Bar Container ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġ-= Ġtitle Bar Container ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġ-= Ġcontent Container ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġ-= Ġpopup Sidebar Container ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpopup Sidebar Container Ġ-= Ġapp Handle Container ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpopup Sidebar Container Ġ-= Ġside Bar Container ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( span Header ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġ-= Ġspan Header Container ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspan Header Container Ġ-= Ġapp Handle Container ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspan Header Container Ġ-= Ġtitle Bar Container ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġactive Media Size Ġ= Ġmedia Size ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( media Size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMedia Size . Small Ġ-> Ġresume Small () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMedia Size . Large Ġ-> Ġresume Large () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMedia Size . Un initialized Ġ-> Ġthrow ĠIllegalStateException () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġresume Small () Ġ{ ĊĠĠĠĠĠĠĠ Ġclass List Ġ+= Ġzk Default Layout Styles . default Layout Small ĊĠĠĠĠĠĠĠ Ġcontent Container . classList Ġ+= Ġzk Default Layout Styles . content Container Small ĊĊĠĠĠĠĠĠĠ Ġ+ Ġtitle Bar Container ĊĠĠĠĠĠĠĠ Ġ+ Ġcontent Container ĊĊĠĠĠĠĠĠĠ Ġ+ Ġpopup Sidebar Container Ġbuild Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġapp Handle Container ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġside Bar Container ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpopup Sidebar Container . hide () ĊĠĠĠĠĠĠĠ Ġtitle Bar . handle Container . show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġresume Large () Ġ{ ĊĠĠĠĠĠĠĠ Ġclass List Ġ+= Ġzk Default Layout Styles . default Layout Large ĊĠĠĠĠĠĠĠ Ġcontent Container . classList Ġ+= Ġzk Default Layout Styles . content Container Large ĊĊĠĠĠĠĠĠĠ Ġif Ġ( span Header ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġspan Header Container Ġcss Ġzk Layout Styles . row Ġbuild Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġapp Handle Container ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġtitle Bar Container Ġcss Ġzk Layout Styles . grow ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġgrid Column Ġ" 1 Ġ/ Ġspan Ġ 2 " ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġapp Handle Container Ġgrid Row Ġ 1 Ġgrid Column Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġtitle Bar Container Ġgrid Row Ġ 1 Ġgrid Column Ġ 2 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ+ Ġside Bar Container Ġgrid Row Ġ 2 Ġgrid Column Ġ 1 ĊĠĠĠĠĠĠĠ Ġ+ Ġcontent Container Ġgrid Row Ġ 2 Ġgrid Column Ġ 2 ĊĊĠĠĠĠĠĠĠ Ġapp Handle Container . show () ĊĠĠĠĠĠĠĠ Ġside Bar Container . show () ĊĠĠĠĠĠĠĠ Ġtitle Bar . handle Container . hide () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġtitle Bar . title Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġon Title Change ( new Title : ĠZ k App Title ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . title Bar . title Ġ= Ġnew Title ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġon Toggle Side Bar () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( active Media Size Ġ== ĠMedia Size . Large ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Handle Container . toggle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġside Bar Container . toggle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Bar . handle Container . toggle () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpopup Sidebar Container . toggle () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }