package jackall.overlaymulticounter.viewmodel
import android.databinding.BaseObservable
import android.databinding.ObservableField
import android.view.View
import io.realm.RealmChangeListener
import jackall.overlaymulticounter.contract.CounterContract
import jackall.overlaymulticounter.vo.Counter
/**
* Created by matsumoto_k on 2017/11/08.
*/
class CounterItemViewModel(val counter: Counter, val counterContract: CounterContract) : BaseObservable() {
val id = counter.id
val title = ObservableField<String>(counter.title)
val count = ObservableField<String>(counter.count.toString())
val realmChangeListener = RealmChangeListener<Counter> {
title.set(it.title)
count.set(it.count.toString())
}
init {
counter.addChangeListener(realmChangeListener)
}
fun onClickPlus(view: View) {
counterContract.plus(id)
}
fun onClickMinus(view: View) {
counterContract.minus(id)
}
fun onClickReset(view: View) {
counterContract.reset(id)
}
}