ChatThreadInputConfig constructor

const ChatThreadInputConfig({
  1. required ChatThreadController controller,
  2. required ChatThreadSnapshot snapshot,
  3. required Widget? placeholder,
  4. required bool sendEnabled,
  5. required String? sendDisabledReason,
  6. required bool readOnly,
  7. required Future<void> onSend(
    1. String,
    2. List<FileAttachment>
    ),
  8. void onChanged(
    1. String,
    2. List<FileAttachment>
    )?,
  9. VoidCallback? onClear,
  10. VoidCallback? onInterrupt,
  11. VoidCallback? onCancelSend,
  12. String? sendPendingText,
  13. Widget attachmentBuilder(
    1. BuildContext context,
    2. FileAttachment upload
    )?,
  14. ValueChanged<FileAttachment>? onAttachmentOpen,
  15. ValueChanged<FileAttachment>? onAttachmentRemoved,
  16. Future<void> onFileDrop(
    1. String name,
    2. Stream<Uint8List> dataStream,
    3. int size
    )?,
  17. Widget? leading,
  18. Widget? trailing,
  19. Widget? header,
  20. Widget? footer,
  21. bool audioInputEnabled = false,
  22. bool automaticAudioTurnDetection = false,
  23. Future<void> onAudioRecordingStart()?,
  24. Future<void> onExternalAudioRecordingStart()?,
  25. Future<void> onExternalAudioRecordingStop()?,
  26. Future<void> onAudioChunk(
    1. Uint8List chunk, {
    2. required bool finalChunk,
    })?,
  27. EditableTextContextMenuBuilder? contextMenuBuilder,
  28. TapRegionCallback? onPressedOutside,
  29. Object? tapRegionGroupId,
  30. RoomClient? room,
})

Implementation

const ChatThreadInputConfig({
  required this.controller,
  required this.snapshot,
  required this.placeholder,
  required this.sendEnabled,
  required this.sendDisabledReason,
  required this.readOnly,
  required this.onSend,
  this.onChanged,
  this.onClear,
  this.onInterrupt,
  this.onCancelSend,
  this.sendPendingText,
  this.attachmentBuilder,
  this.onAttachmentOpen,
  this.onAttachmentRemoved,
  this.onFileDrop,
  this.leading,
  this.trailing,
  this.header,
  this.footer,
  this.audioInputEnabled = false,
  this.automaticAudioTurnDetection = false,
  this.onAudioRecordingStart,
  this.onExternalAudioRecordingStart,
  this.onExternalAudioRecordingStop,
  this.onAudioChunk,
  this.contextMenuBuilder,
  this.onPressedOutside,
  this.tapRegionGroupId,
  this.room,
});