Merge pull request #4596 from NicKoehler/multiline-fix
fix empty messages
This commit is contained in:
		
						commit
						0968780d7a
					
				| @ -89,25 +89,24 @@ class ChatModel with ChangeNotifier { | |||||||
|   ChatModel(this.parent) { |   ChatModel(this.parent) { | ||||||
|     sessionId = parent.target!.sessionId; |     sessionId = parent.target!.sessionId; | ||||||
|     inputNode = FocusNode( |     inputNode = FocusNode( | ||||||
|       onKey: (node, event) { |       onKey: (_, event) { | ||||||
|         bool isShiftPressed = event.isKeyPressed(LogicalKeyboardKey.shiftLeft); |         bool isShiftPressed = event.isKeyPressed(LogicalKeyboardKey.shiftLeft); | ||||||
|         bool isEnterPressed = event.isKeyPressed(LogicalKeyboardKey.enter); |         bool isEnterPressed = event.isKeyPressed(LogicalKeyboardKey.enter); | ||||||
| 
 | 
 | ||||||
|         String trimmedText = textController.text.trim(); |         // don't send empty messages | ||||||
| 
 |         if (isEnterPressed && isEnterPressed && textController.text.isEmpty) { | ||||||
|         // don't send empty message |           return KeyEventResult.handled; | ||||||
|         if (trimmedText.isEmpty) { |  | ||||||
|           textController.text = trimmedText; |  | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         if (isEnterPressed && !isShiftPressed) { |         if (isEnterPressed && !isShiftPressed) { | ||||||
|           final ChatMessage message = ChatMessage( |           final ChatMessage message = ChatMessage( | ||||||
|             text: trimmedText, |             text: textController.text, | ||||||
|             user: me, |             user: me, | ||||||
|             createdAt: DateTime.now(), |             createdAt: DateTime.now(), | ||||||
|           ); |           ); | ||||||
|           send(message); |           send(message); | ||||||
|           textController.text = ""; |           textController.clear(); | ||||||
|  |           return KeyEventResult.handled; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         return KeyEventResult.ignored; |         return KeyEventResult.ignored; | ||||||
| @ -335,16 +334,18 @@ class ChatModel with ChangeNotifier { | |||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   send(ChatMessage message) { |   send(ChatMessage message) { | ||||||
|     if (message.text.isNotEmpty) { |     String trimmedText = message.text.trim(); | ||||||
|       _messages[_currentID]?.insert(message); |     if (trimmedText.isEmpty) { | ||||||
|       if (_currentID == clientModeID) { |       return; | ||||||
|         if (parent.target != null) { |  | ||||||
|           bind.sessionSendChat(sessionId: sessionId, text: message.text); |  | ||||||
|     } |     } | ||||||
|  |     message.text = trimmedText; | ||||||
|  |     _messages[_currentID]?.insert(message); | ||||||
|  |     if (_currentID == clientModeID && parent.target != null) { | ||||||
|  |       bind.sessionSendChat(sessionId: sessionId, text: message.text); | ||||||
|     } else { |     } else { | ||||||
|       bind.cmSendChat(connId: _currentID, msg: message.text); |       bind.cmSendChat(connId: _currentID, msg: message.text); | ||||||
|     } |     } | ||||||
|     } | 
 | ||||||
|     notifyListeners(); |     notifyListeners(); | ||||||
|     inputNode.requestFocus(); |     inputNode.requestFocus(); | ||||||
|   } |   } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user