ChatMessagesController constructor

ChatMessagesController({
  1. List<ChatMessage>? initialMessages,
  2. PaginationConfig paginationConfig = const PaginationConfig(),
  3. Future<List<ChatMessage>> onLoadMoreMessages(
    1. ChatMessage? lastMessage
    )?,
  4. bool showWelcomeMessage = false,
  5. ScrollBehaviorConfig? scrollBehaviorConfig,
})

Creates a new chat messages controller.

initialMessages - Optional list of messages to initialize the chat with. paginationConfig - Configuration for pagination behavior. onLoadMoreMessages - Callback for loading more messages (for backward compatibility). showWelcomeMessage - Whether to show the welcome message.

Implementation

ChatMessagesController({
  final List<ChatMessage>? initialMessages,
  this.paginationConfig = const PaginationConfig(),
  final Future<List<ChatMessage>> Function(ChatMessage? lastMessage)? onLoadMoreMessages,
  bool showWelcomeMessage = false,
  ScrollBehaviorConfig? scrollBehaviorConfig,
}) {
  _scrollBehaviorConfig = scrollBehaviorConfig;

  if (initialMessages != null && initialMessages.isNotEmpty) {
    _messages = List.from(initialMessages);
    _messageCache = {for (var m in _messages) _getMessageId(m): m};
    _showWelcomeMessage = false;
  } else {
    _showWelcomeMessage = showWelcomeMessage;
  }

  // Store the callback for backward compatibility
  _onLoadMoreMessagesCallback = onLoadMoreMessages;
}