Add TransactionRow class

feature/top10
Aurelien Hubert 7 years ago
parent 41e7532ef1
commit b9a5fc5ba6
  1. 88
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/TransactionRow.kt

@ -0,0 +1,88 @@
package net.pokeranalytics.android.ui.view.rowrepresentable
import android.text.InputType
import io.realm.RealmResults
import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.fragment.components.bottomsheet.BottomSheetType
import net.pokeranalytics.android.ui.view.DefaultEditable
import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.RowRepresentableEditDescriptor
import net.pokeranalytics.android.ui.view.RowViewType
import timber.log.Timber
enum class TransactionRow : RowRepresentable, DefaultEditable {
BANKROLL,
TYPE,
AMOUNT,
COMMENT,
DATE;
override val resId: Int?
get() {
return when (this) {
BANKROLL -> R.string.bankroll
TYPE -> R.string.type
AMOUNT -> R.string.amount
COMMENT -> R.string.comment
DATE -> R.string.date
}
}
override val viewType: Int
get() {
return when (this) {
BANKROLL -> RowViewType.TITLE_VALUE.ordinal
TYPE -> RowViewType.TITLE_VALUE.ordinal
AMOUNT -> RowViewType.TITLE_VALUE.ordinal
COMMENT -> RowViewType.TITLE_VALUE.ordinal
DATE -> RowViewType.TITLE_VALUE.ordinal
}
}
override val bottomSheetType: BottomSheetType
get() {
return when (this) {
BANKROLL -> BottomSheetType.LIST
TYPE -> BottomSheetType.LIST
AMOUNT -> BottomSheetType.EDIT_TEXT
COMMENT -> BottomSheetType.EDIT_TEXT_MULTI_LINES
DATE -> BottomSheetType.NONE
}
}
override fun editingDescriptors(map: Map<String, Any?>): ArrayList<RowRepresentableEditDescriptor>? {
Timber.d("editingDescriptors")
return when (this) {
BANKROLL -> {
val defaultValue : Any? by map
val data : RealmResults<*>? by map
arrayListOf(
RowRepresentableEditDescriptor(defaultValue, data = data)
)
}
TYPE -> {
val defaultValue : Any? by map
val data : RealmResults<*>? by map
arrayListOf(
RowRepresentableEditDescriptor(defaultValue, data = data)
)
}
AMOUNT -> {
val defaultValue: String? by map
arrayListOf(
RowRepresentableEditDescriptor(
defaultValue,
inputType = InputType.TYPE_CLASS_NUMBER
or InputType.TYPE_NUMBER_FLAG_DECIMAL
or InputType.TYPE_NUMBER_FLAG_SIGNED
))
}
COMMENT -> {
val defaultValue : String? by map
arrayListOf(RowRepresentableEditDescriptor(defaultValue, R.string.comment))
}
else -> super<RowRepresentable>.editingDescriptors(map)
}
}
}
Loading…
Cancel
Save