|
|
|
|
@ -11,6 +11,7 @@ import net.pokeranalytics.android.ui.view.RowViewType |
|
|
|
|
import net.pokeranalytics.android.ui.view.rowrepresentable.FilterCategoryRow |
|
|
|
|
import net.pokeranalytics.android.ui.view.rowrepresentable.FilterItemRow |
|
|
|
|
import net.pokeranalytics.android.util.NULL_TEXT |
|
|
|
|
import timber.log.Timber |
|
|
|
|
|
|
|
|
|
class FilterDetailsViewModelFactory(var filter: Filter, var categoryRow: FilterCategoryRow): ViewModelProvider.Factory { |
|
|
|
|
|
|
|
|
|
@ -79,25 +80,20 @@ class FilterDetailsViewModel(categoryRow: FilterCategoryRow, var filter: Filter) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private fun defineSelectedItems() { |
|
|
|
|
|
|
|
|
|
this.rows.filterIsInstance<FilterItemRow>().forEach { item -> |
|
|
|
|
|
|
|
|
|
val condition = item.rawCondition |
|
|
|
|
if (this.filter.contains(condition)) { |
|
|
|
|
Timber.d("condition id: ${condition.id}") |
|
|
|
|
|
|
|
|
|
// Load items with appropriate value |
|
|
|
|
this.filter.filterConditions.firstOrNull { |
|
|
|
|
it.queryCondition.id == condition.id |
|
|
|
|
}?.let { |
|
|
|
|
this.filter.filterCondition(condition)?.let { |
|
|
|
|
item.updateValue(it) |
|
|
|
|
// item.queryCondition?.updateValueBy(it) |
|
|
|
|
this.selectedRows.add(item) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fun updateRowsSelection(adapter: RowRepresentableAdapter, row: RowRepresentable, forceDeselection: Boolean = false) { |
|
|
|
|
|
|
|
|
|
if (this.selectedRows.contains(row) || forceDeselection) { |
|
|
|
|
|