mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-04-20 19:14:42 +08:00
tweaks (#1780)
* opt: sized * fix: self send * feat: ctrl enter to send * opt: checked * opt: download notifier * opt: Future.syncValue * mod: account * mod: loading state * opt: DebounceStreamMixin * opt: report * opt: enum map * opt: file handler * opt: dyn color * opt: Uint8List subview * opt: FileExt * opt: computeLuminance * opt: isNullOrEmpty * opt: Get context * update [skip ci] Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me> * opt dynamicColor [skip ci] Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me> * fixes [skip ci] * update Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me> * update Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me> --------- Signed-off-by: My-Responsitories <107370289+My-Responsitories@users.noreply.github.com> Co-authored-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
committed by
GitHub
parent
02e0d34127
commit
ce5e85e64b
@@ -3,10 +3,10 @@ import 'package:PiliPlus/pages/common/common_list_controller.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
mixin MultiSelectData {
|
||||
bool? checked;
|
||||
bool checked = false;
|
||||
}
|
||||
|
||||
mixin MultiSelectBase<T extends MultiSelectData> {
|
||||
abstract interface class MultiSelectBase<T extends MultiSelectData> {
|
||||
RxBool get enableMultiSelect;
|
||||
|
||||
int get checkedCount;
|
||||
@@ -28,7 +28,7 @@ mixin BaseMultiSelectMixin<T extends MultiSelectData>
|
||||
RxObjectMixin get state;
|
||||
List<T> get list;
|
||||
|
||||
Iterable<T> get allChecked => list.where((v) => v.checked == true);
|
||||
Iterable<T> get allChecked => list.where((v) => v.checked);
|
||||
|
||||
@override
|
||||
void handleSelect({bool checked = false, bool disableSelect = true}) {
|
||||
@@ -44,8 +44,8 @@ mixin BaseMultiSelectMixin<T extends MultiSelectData>
|
||||
|
||||
@override
|
||||
void onSelect(T item) {
|
||||
item.checked = !(item.checked ?? false);
|
||||
if (item.checked!) {
|
||||
item.checked = !item.checked;
|
||||
if (item.checked) {
|
||||
rxCount.value++;
|
||||
} else {
|
||||
rxCount.value--;
|
||||
@@ -70,13 +70,13 @@ mixin CommonMultiSelectMixin<T extends MultiSelectData>
|
||||
int get checkedCount => rxCount.value;
|
||||
|
||||
Iterable<T> get allChecked =>
|
||||
loadingState.value.data!.where((v) => v.checked == true);
|
||||
loadingState.value.data!.where((v) => v.checked);
|
||||
|
||||
@override
|
||||
void onSelect(T item) {
|
||||
List<T> list = loadingState.value.data!;
|
||||
item.checked = !(item.checked ?? false);
|
||||
if (item.checked!) {
|
||||
item.checked = !item.checked;
|
||||
if (item.checked) {
|
||||
rxCount.value++;
|
||||
} else {
|
||||
rxCount.value--;
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import 'package:PiliPlus/pages/common/common_list_controller.dart';
|
||||
import 'package:PiliPlus/pages/common/multi_select/base.dart';
|
||||
|
||||
abstract class MultiSelectController<R, T extends MultiSelectData>
|
||||
extends CommonListController<R, T>
|
||||
with CommonMultiSelectMixin<T>, DeleteItemMixin {}
|
||||
abstract class MultiSelectController<
|
||||
R,
|
||||
T extends MultiSelectData
|
||||
> = CommonListController<R, T>
|
||||
with CommonMultiSelectMixin<T>, DeleteItemMixin;
|
||||
|
||||
Reference in New Issue
Block a user