fix node editing
Serhii committed
Mar 30, 2023 at 18:39 UTC
1ff4b9bf88a37481de37c6ebee7ba9d41f0858a9
2 files changed
+12
-8
lib/src/screens/nodes/widgets/node_form.dart
+2
-2
@@ -22,8 +22,8 @@ class NodeForm extends StatelessWidget {
22
nodeViewModel
23
..setAddress((editingNode!.uri.host.toString()))
24
..setPort((editingNode!.uri.port.toString()))
25
- ..setPassword((editingNode!.password.toString()))
26
- ..setLogin((editingNode!.login.toString()))
25
+ ..setPassword((editingNode?.password ?? ''))
26
+ ..setLogin((editingNode?.login ?? ''))
27
..setSSL((editingNode!.isSSL))
28
..setTrusted((editingNode!.trusted));
29
}
lib/view_model/node_list/node_create_or_edit_view_model.dart
+10
-6
@@ -98,16 +98,20 @@ abstract class NodeCreateOrEditViewModelBase with Store {
98
99
@action
100
Future<void> save({Node? editingNode, bool saveAsCurrent = false}) async {
101
+ final node = Node(
102
+ uri: uri,
103
+ type: _walletType,
104
+ login: login,
105
+ password: password,
106
+ useSSL: useSSL,
107
+ trusted: trusted);
108
try {
109
state = IsExecutingState();
110
if (editingNode != null) {
104
- await _nodeSource.delete(editingNode.key);
111
+ await _nodeSource.put(editingNode.key, node);
112
+ } else {
113
+ await _nodeSource.add(node);
114
}
106
- final node =
107
- Node(uri: uri, type: _walletType, login: login, password: password,
108
- useSSL: useSSL, trusted: trusted);
109
- await _nodeSource.add(node);
110
-
115
if (saveAsCurrent) {
116
_settingsStore.nodes[_walletType] = node;
117
}