base_list_provider.dart
978 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import 'package:flutter/material.dart';
import 'package:one_poem/widgets/state_layout.dart';
class BaseListProvider<T> extends ChangeNotifier {
final List<T> _list = <T>[];
List<T> get list => _list;
bool hasMore = true;
StateType stateType = StateType.loading;
void setStateType(StateType stateType) {
this.stateType = stateType;
notifyListeners();
}
void add(T data) {
_list.add(data);
notifyListeners();
}
void addAll(List<T> data) {
_list.addAll(data);
notifyListeners();
}
void insert(int i, T data) {
_list.insert(i, data);
notifyListeners();
}
void insertAll(int i, List<T> data) {
_list.insertAll(i, data);
notifyListeners();
}
void remove(T data) {
_list.remove(data);
notifyListeners();
}
void removeAt(int i) {
_list.removeAt(i);
notifyListeners();
}
void clear() {
_list.clear();
notifyListeners();
}
void refresh() {
notifyListeners();
}
}