From 2292357e382d9d43ffd1547fdcc55074e6ecc3ff Mon Sep 17 00:00:00 2001 From: zjuwjf <> Date: Fri, 8 Nov 2019 15:38:51 +0800 Subject: [PATCH] Use SourceFlowAdapter instead of DynamicFlowAdapter in example --- .../todo_list_page/list_adapter/adapter.dart | 36 +------------------ example/lib/todo_list_page/state.dart | 15 +++++++- 2 files changed, 15 insertions(+), 36 deletions(-) diff --git a/example/lib/todo_list_page/list_adapter/adapter.dart b/example/lib/todo_list_page/list_adapter/adapter.dart index 2e36c88..05fbe72 100644 --- a/example/lib/todo_list_page/list_adapter/adapter.dart +++ b/example/lib/todo_list_page/list_adapter/adapter.dart @@ -4,46 +4,12 @@ import '../state.dart'; import '../todo_component/component.dart'; import 'reducer.dart'; -class ToDoListAdapter extends DynamicFlowAdapter { +class ToDoListAdapter extends SourceFlowAdapter { ToDoListAdapter() : super( pool: >{ 'toDo': ToDoComponent(), }, - connector: _ToDoListConnector(), reducer: buildReducer(), ); } - -class _ToDoListConnector extends ConnOp> - - /// [https://github.com/alibaba/fish-redux/issues/482] #482 - with - ReselectMixin> { - @override - void set(PageState state, List toDos) { - if (toDos?.isNotEmpty == true) { - state.toDos = List.from( - toDos.map((ItemBean bean) => bean.data).toList()); - } else { - state.toDos = []; - } - } - - @override - List computed(PageState state) { - if (state.toDos?.isNotEmpty == true) { - return state.toDos - .map((ToDoState data) => ItemBean('toDo', data)) - .toList(growable: true); - } else { - return []; - } - } - - /// watched factors - @override - List factors(PageState state) { - return [state.toDos]; - } -} diff --git a/example/lib/todo_list_page/state.dart b/example/lib/todo_list_page/state.dart index 27798fb..9b15ce9 100644 --- a/example/lib/todo_list_page/state.dart +++ b/example/lib/todo_list_page/state.dart @@ -5,7 +5,8 @@ import '../global_store/state.dart'; import 'report_component/component.dart'; import 'todo_component/component.dart'; -class PageState implements GlobalBaseState, Cloneable { +class PageState extends MutableSource + implements GlobalBaseState, Cloneable { List toDos; @override @@ -17,6 +18,18 @@ class PageState implements GlobalBaseState, Cloneable { ..toDos = toDos ..themeColor = themeColor; } + + @override + Object getData(int index) => toDos[index]; + + @override + String getType(int index) => 'toDo'; + + @override + int get itemCount => toDos?.length ?? 0; + + @override + void setData(int index, Object data) => toDos[index] = data; } PageState initState(Map args) {