1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- import 'dart:collection';
- import 'package:get/get.dart';
- import 'package:vitalapp/architecture/defines.dart';
- import 'package:vitalapp/global.dart';
- mixin PagedStateMixin<T> {
- final RxString _searchString = RxString("");
- final RxInt _pageIndex = RxInt(0);
- final RxInt _pageSize = RxInt(20);
- final RxInt _totalCount = RxInt(0);
- final RxList<T> _dataList = RxList<T>();
- final RxBool _isOnline = RxBool(kIsOnline);
-
- bool get isOnline => _isOnline.value;
- set isOnline(bool val) => _isOnline.updateValue(val);
-
- String get searchString => _searchString.value;
- set searchString(String val) => _searchString.updateValue(val);
-
- int get pageIndex => _pageIndex.value;
- set pageIndex(int val) => _pageIndex.updateValue(val);
-
- int get pageSize => _pageSize.value;
- set pageSize(int val) => _pageSize.updateValue(val);
-
- int get totalCount => _totalCount.value;
- set totalCount(int val) => _totalCount.updateValue(val);
-
- bool get hasNextPage => _totalCount > pageIndex * pageSize;
-
- List<T> get dataList => UnmodifiableListView(_dataList.toList());
- set dataList(List<T> val) => _dataList.value = val;
-
- void appendDataList(List<T> arr) {
- List<T> newArray = List<T>.from(_dataList);
- newArray.addAll(arr);
- _dataList.value = newArray;
- }
- }
|