opt: select (#937)

This commit is contained in:
My-Responsitories
2025-08-05 13:41:37 +08:00
committed by GitHub
parent afb09e8a0a
commit 01552801f2
20 changed files with 425 additions and 595 deletions

View File

@@ -6,9 +6,9 @@ mixin MultiSelectData {
bool? checked;
}
mixin MultiSelectMixin<T> {
late final RxBool enableMultiSelect = false.obs;
late final allSelected = false.obs;
abstract class MultiSelectBase<T> {
RxBool get enableMultiSelect;
RxBool get allSelected;
int get checkedCount;
@@ -19,9 +19,15 @@ mixin MultiSelectMixin<T> {
abstract class MultiSelectController<R, T extends MultiSelectData>
extends CommonListController<R, T>
with MultiSelectMixin<T>, CommonMultiSelectMixin, DeleteItemMixin {}
with CommonMultiSelectMixin<T>, DeleteItemMixin {}
mixin CommonMultiSelectMixin<T extends MultiSelectData>
implements MultiSelectBase<T> {
@override
late final RxBool enableMultiSelect = false.obs;
@override
late final allSelected = false.obs;
mixin CommonMultiSelectMixin<T extends MultiSelectData> on MultiSelectMixin<T> {
Rx<LoadingState<List<T>?>> get loadingState;
late final RxInt rxCount = 0.obs;