package Ġnet . y ested . bootstrap . smart grid Ċ Ċ import Ġnet . y ested . Component Ċ import Ġnet . y ested . bootstrap . Input Size Ċ import Ġnet . y ested . bootstrap . String Input Field Ċ import Ġnet . y ested . with Ċ Ċ class ĠText Input Filter Factory < TYPE >( val Ġfilter Function Factory Ġ: ĠFunction 1 < String , ĠFunction 1 < TYPE , ĠBoolean >>) Ġ: ĠFilter Factory < TYPE > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Filter Element ( new Filter Handler : Ġ( Filter < TYPE > ?) Ġ-> ĠUnit , Ġfilter Config : ĠString ?): ĠComponent Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠString Input Field ( input Size Ġ= ĠInput Size . SMALL ) Ġwith Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd OnChange Live Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this . data Ġ!= Ġ"") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Filter Handler ( Filter ( filter Function Factory ( this . data ), Ġfilter Config Ġ= Ġthis . data ) Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Filter Handler ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( filter Config Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . data Ġ= Ġfilter Config ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Filter Handler ( Filter ( filter Function Factory ( this . data ), Ġfilter Config Ġ= Ġthis . data ) Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . element . focus () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } ĊĊ