package Ġorg . dh is 2 . form . data Ċ Ċ import Ġorg . dh is 2 . form . model . ActionType Ċ import Ġorg . dh is 2 . form . model . Field Ui Model Ċ import Ġorg . dh is 2 . form . model . Row Action Ċ import Ġorg . dh is 2 . form . model . Store Result Ċ import Ġorg . dh is 2 . form . model . Value Store Result Ċ Ċ class ĠForm Repository Non Persistence Impl Ġ: ĠForm Repository Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġitem List : ĠList < Field Ui Model > Ġ= Ġempty List () ĊĊĠĠĠ Ġoverride Ġfun Ġprocess User Action ( action : ĠRow Action ): ĠStore Result Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( action . type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction Type . ON _ SAVE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Value On List ( action . id , Ġaction . value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStore Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuid Ġ= Ġaction . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Store Result Ġ= ĠValue Store Result . VALUE _ CHANGED ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction Type . ON _ TEXT _ CHANGE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Value On List ( action . id , Ġaction . value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStore Result ( action . id , ĠValue Store Result . VALUE _ HAS _ NOT _ CHANGED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStore Result ( action . id , ĠValue Store Result . VALUE _ HAS _ NOT _ CHANGED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcompose List ( list : ĠList < Field Ui Model >? ): ĠList < Field Ui Model > Ġ{ ĊĠĠĠĠĠĠĠ Ġlist ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem List Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġitem List ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Value On List ( uid : ĠString , Ġvalue : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġitem List . let Ġ{ Ġlist Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . find Ġ{ Ġitem Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . uid Ġ== Ġuid ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ?. let Ġ{ Ġitem Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem List Ġ= Ġlist . updated ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . indexOf ( item ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . setValue ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ