package Ġcom . github . sg dan . webview redux Ċ Ċ import Ġjavafx . application . Application Ċ import Ġjavafx . scene . Scene Ċ import Ġjavafx . scene . web . WebView Ċ import Ġjavafx . stage . Stage Ċ import Ġkotlinx . html .* Ċ import Ġkotlinx . html . dom . create Ċ import Ġorg . w 3 c . dom . Node Ċ Ċ class ĠCounter Example Ġ: ĠApplication () Ġ{ ĊĠĠĠ Ġenum Ġclass ĠCounter Action Ġ{ ĊĠĠĠĠĠĠĠ ĠIN CRE MENT , ĠDE CRE MENT ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġcss Ġ= Ġthis :: class . java . class Loader . getResource (" Counter Example . css ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. to URI (). to URL (). to External Form () ĊĊĠĠĠ Ġfun Ġview ( state : ĠInt ): ĠNode Ġ= Ġcreate Doc (). create . html Ġ{ ĊĠĠĠĠĠĠĠ Ġhead Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle (" Title ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlink Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrel Ġ= Ġ" stylesheet " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhref Ġ= Ġcss ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscript Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġ" text / javascript " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsrc Ġ= Ġ" https :// get fire bug . com / fire bug - lite . js # start Opened " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbody Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġh 1 Ġ{ Ġ+" Counter " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ+" Current Ġvalue : Ġ$ state " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbr ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" inc " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+" Increment " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ" perform Action (' INCREMENT '); " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" dec " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+" De crement " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ" perform Action (' DECRE MENT '); " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate ( action : ĠAction , Ġstate : ĠInt ): ĠInt Ġ= Ġwhen Ġ( action . to < Counter Action >()) Ġ{ ĊĠĠĠĠĠĠĠ ĠCounter Action . INCREMENT Ġ-> Ġstate Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠ ĠCounter Action . DECRE MENT Ġ-> Ġstate Ġ- Ġ 1 ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠException (" Unexpected Ġaction : Ġ$ action ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstart ( stage : ĠStage ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInitial ise Ġthe Ġview Ġand Ġredux Ġobject ĊĠĠĠĠĠĠĠ Ġval Ġweb view Ġ= ĠWebView () ĊĠĠĠĠĠĠĠ ĠRedux ( webview , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , Ġ// Ġinitial Ġstate ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ:: view , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ:: update ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠShow Ġthe Ġview ĊĠĠĠĠĠĠĠ Ġstage . scene Ġ= ĠScene ( webview ) ĊĠĠĠĠĠĠĠ Ġstage . show () ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġmain ( var arg Ġargs : ĠString ) Ġ{ ĊĠĠĠ ĠApplication . launch ( Counter Example :: class . java ) Ċ }