package Ġcom . max im mak ar ov . comparator . presentation . items . list Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . Transform ations Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġcom . max im mak ar ov . comparator . data . model . Item Ċ import Ġcom . max im mak ar ov . comparator . data . model . Template Ċ import Ġcom . max im mak ar ov . comparator . domain . inter actor . I Item Interactor Ċ import Ġcom . max im mak ar ov . comparator . domain . inter actor . IT emplate Interactor Ċ import Ġorg . k oin . standalone . K oin Component ĊĊ Ċ class ĠItems ViewModel ( private Ġval Ġinter actor : ĠI Item Interactor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġtemplate Interactor : ĠI Template Interactor ) Ġ: ĠViewModel (), ĠK oin Component Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġinput Data : ĠMutable LiveData < Template > Ġ= ĠMutable LiveData () ĊĠĠĠ Ġprivate Ġvar Ġtemplate : ĠTemplate ? Ġ= Ġnull ĊĠĠĠ Ġval Ġitems Data : ĠLive Data < List < Item >> Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTransform ations . switch Map ( input Data ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinter actor . getItems ( it . id !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Args ( template Arg : ĠTemplate ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( template Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate Ġ= Ġtemplate Arg ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Data . value Ġ= Ġtemplate ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsave Changes ( name : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtemplate Interactor . update Template ( template !!. id !! , Ġname ) ĊĠĠĠ Ġ} Ċ } Ċ