package Ġorg . fl ax o . frontend . component Ċ Ċ import Ġkotlinx . html . InputType Ċ import Ġkotlinx . html . id Ċ import Ġkotlinx . html . js . onChange Function Ċ import Ġkotlinx . html . js . onClick Function Ċ import Ġorg . fl ax o . common . data . DateTime Ċ import Ġorg . fl ax o . common . data . Task Ċ import Ġorg . fl ax o . frontend . clear Input Value Ċ import Ġorg . w 3 c . dom . HTML InputElement Ċ import Ġreact . R Builder Ċ import Ġreact . R Component Ċ import Ġreact . R Props Ċ import Ġreact . dom . a Ċ import Ġreact . dom . defaultValue Ċ import Ġreact . dom . div Ċ import Ġreact . dom . input Ċ import Ġreact . dom . small Ċ Ċ /** Ċ Ġ* ĠAdds Ġdeadline Ġconfigurations . Ċ Ġ*/ Ċ fun ĠR Builder . deadline Rule ( task : ĠTask , Ġon Deadline Change : Ġ( DateTime ?) Ġ-> ĠUnit ) Ġ= ĊĠĠĠĠĠĠĠ Ġchild ( Deadline Rule :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattrs Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . task Ġ= Ġtask ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . on Deadline Change Ġ= Ġon Deadline Change ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ private Ġclass ĠDead line Rule Props ( var Ġtask : ĠTask , Ġvar Ġon Deadline Change : Ġ( DateTime ?) Ġ-> ĠUnit ) Ġ: ĠR Props Ċ Ċ private Ġclass ĠDead line Rule ( props : ĠDead line Rule Props ) Ġ: ĠR Component < Deadline Rule Props , ĠEmpty State >( props ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġdeadline Rule Input Id Ġ= Ġ" deadline Rule -" Ġ+ Ġprops . task . branch ĊĠĠĠ Ġprivate Ġval Ġdeadline Rule Help Id Ġ= Ġ" deadline Rule Help -" Ġ+ Ġprops . task . branch ĊĊĠĠĠ Ġoverride Ġfun ĠR Builder . render () Ġ{ ĊĠĠĠĠĠĠĠ Ġdiv Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdiv ( classes Ġ= Ġ" form - group ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlabel (" Deadline ", Ġfor Input Ġ= Ġdeadline Rule Input Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput ( classes Ġ= Ġ" form - control ", Ġtype Ġ= ĠInput Type . date ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattrs Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġdeadline Rule Input Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠdefaultValue Ġ= Ġprops . task . deadline ?. toDate String () Ġ?: Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonChange Function Ġ= Ġ{ Ġevent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġevent . target Ġas ĠHTML InputElement ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprops . on Deadline Change ( DateTime . from DateTime String ( target . value )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattributes [" aria - describedby "] Ġ= Ġdeadline Rule Help Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsmall ( classes Ġ= Ġ" form - text Ġtext - muted ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattrs . id Ġ= Ġdeadline Rule Help Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( props . task . deadline Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+" All Ġsolutions Ġthat Ġwill Ġbe Ġreceived Ġafter Ġthe Ġdeadline Ġwill Ġbe Ġf ined . Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+" Other wise Ġyou Ġcan Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa ( href Ġ= Ġ"# ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+" remove Ġthe Ġdeadline ." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattrs Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Function Ġ= Ġ{ Ġevent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent . preventDefault () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclear Input Value ( deadline Rule Input Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprops . on Deadline Change ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+" You Ġcan Ġspecify Ġa Ġsoft Ġdeadline Ġfor Ġthe Ġtask . Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+" All Ġsolutions Ġthat Ġwill Ġbe Ġreceived Ġafter Ġthe Ġdeadline Ġwill Ġbe Ġf ined ." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ