package Ġpl . j ug . view . impl Ċ Ċ import Ġkotlinx . html .* Ċ import Ġkotlinx . html . dom . append Ċ import Ġkotlinx . html . js . div Ċ import Ġkotlinx . html . stream . create HTML Ċ import Ġpl . j ug . html .* Ċ import Ġpl . j ug . lib .* Ċ import Ġpl . j ug . model . Winner Ċ import Ġpl . j ug . view . Lot tery View Ċ import Ġkotlin . browser . document Ċ import Ġkotlin . collections . set Ċ Ċ class ĠL ot tery View Impl Ġ: ĠL ot tery View () Ġ{ ĊĊĠĠĠ Ġoverride Ġvar Ġpri zes Field : ĠList < String > Ġby ĠList Text area Delegate () ĊĠĠĠ Ġoverride Ġvar Ġrandom Candidate Button : ĠAsync Action Ġby ĠAsync Button Catch ing Delegate () ĊĠĠĠ Ġoverride Ġvar Ġrefresh Candidates Button : ĠAsync Action Ġby ĠAsync Button Catch ing Delegate () ĊĠĠĠ Ġoverride Ġvar Ġcurrent Candidate Field : ĠW inner ? Ġby ĠHtml Delegate ( Winner :: to Html ) ĊĊĠĠĠ Ġoverride Ġvar Ġconfirm Candidate Button : ĠAsync Action Ġby ĠAsync Button Catch ing Delegate () ĊĠĠĠ Ġoverride Ġvar Ġskip Candidate Button : ĠAsync Action Ġby ĠAsync Button Catch ing Delegate () ĊĠĠĠ Ġoverride Ġval Ġwin ners : ĠList Element < Winner > Ġby ĠHtml List Delegate ( Winner :: to TableRow ) ĊĊĠĠĠ Ġoverride Ġvar Ġlink Me et up : ĠAction Ġby ĠButton Delegate () ĊĠĠĠ Ġoverride Ġvar Ġlink Me et up Local : ĠAction Ġby ĠButton Delegate () ĊĊĠĠĠ Ġoverride Ġfun Ġrender () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġself Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġdocument . body !!. append Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdiv ( classes Ġ= Ġ" container ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspan Ġ{ Ġ+" ĠN ag ro dy :" Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbr () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Area ( self :: pri zes Field , Ġ" Lista Ġn agr Ã³d ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbr () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton ( self :: random Candidate Button , Ġ" Los uj ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdiv ( self :: current Candidate Field ) Ġ{ Ġ+" K andy dat " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton ( self :: confirm Candidate Button , Ġ" T ak ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton ( self :: skip Candidate Button , Ġ" N ie ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtable ( self :: win ners ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ fun ĠList < String >. to Html () Ġ= Ġjoin ToString ( line Separator ()) Ċ Ċ fun ĠW inner . to Html () Ġ= Ġcreate HTML (). div Ġ{ ĊĠĠĠ Ġdiv ( classes Ġ= Ġ" m - 1 ") Ġ{ Ġhr () Ġ} ĊĠĠĠ Ġimg ( alt Ġ= Ġat tendee . name , Ġsrc Ġ= Ġat tendee . photoUrl , Ġclasses Ġ= Ġ" avatar Ġimg - thumbnail Ġrounded - circle Ġm - 1 ") ĊĠĠĠ Ġa ( href Ġ= Ġat tendee . profile Url , Ġtarget Ġ= Ġ"_ blank ", Ġclasses Ġ= Ġ" m - 1 ") Ġ{ Ġ+ at tendee . name Ġ} ĊĊĠĠĠ Ġdiv ( classes Ġ= Ġ" alert Ġalert - primary ") Ġ{ ĊĠĠĠĠĠĠĠ Ġattributes [" role "] Ġ= Ġ" alert " ĊĠĠĠĠĠĠĠ Ġ+ "$ prize Ġ" ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠW inner . to TableRow () Ġ= Ġcreate HTML (). tr Ġ{ ĊĠĠĠ Ġtd Ġ{ ĊĠĠĠĠĠĠĠ Ġimg ( alt Ġ= Ġat tendee . name , Ġsrc Ġ= Ġat tendee . photoUrl , Ġclasses Ġ= Ġ" avatar Ġimg - thumbnail Ġrounded - circle ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtd Ġ{ ĊĠĠĠĠĠĠĠ Ġa ( href Ġ= Ġat tendee . profile Url , Ġtarget Ġ= Ġ"_ blank ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ+ at tendee . name ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtd Ġ{ ĊĠĠĠĠĠĠĠ Ġb Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ+ prize ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }