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 }