package Ġcom . example . application . views . person Ċ Ċ import Ġcom . example . application . Person Record Ċ import Ġcom . example . application . Person Table Ċ import Ġcom . example . application . Person Table . to Record Ċ import Ġcom . example . application . person Db Tx Ċ import Ġcom . example . application . views . Main Layout Ċ import Ġcom . vaadin . flow . component . button . Button Ċ import Ġcom . vaadin . flow . component . grid . Grid Ċ import Ġcom . vaadin . flow . component . icon . V aad in Icon Ċ import Ġcom . vaadin . flow . component . ordered layout . Vertical Layout Ċ import Ġcom . vaadin . flow . router . Route Ċ import Ġorg . jetbrains . ex posed . sql . selectAll Ċ Ċ @ Route ("/ person List ", Ġlayout Ġ= ĠMain Layout :: class ) Ċ class ĠPerson View Ġ: ĠVertical Layout () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġgrid : ĠGrid < Person Record > Ġ= ĠGrid < Person Record >() ĊĠĠĠ Ġprivate Ġval Ġupdate Data Button Ġ= ĠButton ( V aad in Icon . REFRESH . create ()). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġadd ClickListener Ġ{ Ġupdate () Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// ĠConfigure ĠGrid ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġis Margin Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġgrid . setup () ĊĊĠĠĠĠĠĠĠ Ġadd ( update Data Button , Ġgrid ) ĊĠĠĠĠĠĠĠ Ġupdate () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġperson List : ĠList < Person Record > Ġ= Ġload Person List () ĊĠĠĠĠĠĠĠ Ġgrid . set Items ( person List ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġload Person List (): ĠList < Person Record > Ġ= ĊĠĠĠĠĠĠĠ Ġperson Db Tx Ġ{ ĠPerson Table . selectAll (). map Ġ{ Ġit . to Record () Ġ} Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġfun ĠGrid < Person Record >. setup () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremove All Columns () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Column ( Person Record :: firstName ). setup (" Ðĺ Ð¼ Ñı ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Column ( Person Record :: lastName ). setup (" Ð¤ Ð°Ð¼Ð¸ Ð»Ð¸ Ñı ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Column ( Person Record :: email ). setup (" Email ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Column ( Person Record :: phone ). setup (" Ð¢ ÐµÐ» Ðµ ÑĦ Ð¾Ð½ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Column ( Person Record :: birth ). setup (" ÐĶ ÐµÐ½ÑĮ ĠÑĢ Ð¾Ð¶ Ð´ ÐµÐ½Ð¸Ñı ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Column ( Person Record :: occup ation ). setup (" ÐŁ ÑĢÐ¾ ÑĦ ÐµÑģ Ñģ Ð¸Ñı ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Column ( Person Record :: Ġmiddle Name ). setup (" Ðŀ ÑĤ Ñĩ ÐµÑģÑĤÐ²Ð¾ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Column ( Person Record :: ab ode ). setup (" Ð ĸ Ð¸Ð² ÐµÑĤ ĠÐ» Ð¸ ĠÑĩ ÐµÐ» Ð¾Ð² ÐµÐº ĠÐ² ĠÐł Ð¾Ñģ Ñģ Ð¸Ð¸ ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġ< T > ĠGrid . Column < T >. setup ( name : ĠString , Ġis Sortable : ĠBoolean Ġ= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Header ( name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . is Sortable Ġ= Ġis Sortable ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠTODO Ċ Ġ* ĠÐº Ð°Ð¶Ð´ ÑĥÑİ ĠÐ·Ð°Ð´ Ð°Ñĩ ÐºÑĥ ĠÑģ Ð½Ð¸ Ð· Ñĥ ĠÐºÐ¾Ð¼ Ð¼ Ð¸ÑĤ Ð¸ÑĤÑĮ ĠÐ¸ ĠÐ¿ Ñĥ ÑĪ Ð¸ÑĤÑĮ Ċ Ġ* Ċ Ġ* ĠÐ´Ð¾Ð±Ð°Ð² Ð¸ÑĤÑĮ ĠÐ¿Ð¾Ð» Ðµ Ġ" Ð¾ÑĤ Ñĩ ÐµÑģÑĤÐ²Ð¾ " ĠÐ¸ Ġboolean ĠÐ² Ġdb Ċ Ġ* ĠÑģÐ¾Ð·Ð´ Ð°ÑĤÑĮ ĠÐº Ð½ Ð¾Ð¿ ÐºÑĥ Ġedit Ċ Ġ* ĠÑģÐ¾Ð·Ð´ Ð°ÑĤÑĮ ĠÐº Ð½ Ð¾Ð¿ ÐºÑĥ ĠÑĥ Ð´Ð°Ð» ÐµÐ½Ð¸Ñı ĠÑĩÑĤÐ¾Ð±Ñĭ ĠÐ²Ñĭ ÑģÐº Ð°Ð² Ð¸Ð² Ð°Ð» Ð¾ ĠÐ¾ Ðº Ð½Ð¾ ĠÑģ ĠÐ¿Ð¾Ð´ ÑĤ Ð² ÐµÑĢÐ¶ Ð´ ÐµÐ½Ð¸ ÐµÐ¼ Ċ Ġ* Ċ Ġ* ĠÐµ Ñī Ðµ ĠÐ¾Ð´ Ð½Ð° ĠÐºÐ¾Ð» Ð¾Ð½ ÐºÐ° ĠÑģ ĠÐ ¤ Ðĺ Ðŀ Ġ( Ð¸Ð½ Ð¸ ÑĨÐ¸ Ð°Ð» Ñĭ ) Ċ Ġ* Ġ*/