MessageFieldController class

Controller of a MessageFieldView.

Inheritance

Constructors

MessageFieldController(ChatService? _chatService, UserService? _userService, AbstractSettingsRepository? _settingsRepository, {void onSubmit()?, void onChanged()?, void onCall(bool)?, String? text, List<ChatItemQuoteInput> quotes = const [], List<Attachment> attachments = const []})

Properties

attachments RxList<MapEntry<GlobalKey<State<StatefulWidget>>, Attachment>>
Attachments to be attached to a message.
latefinal
buttons RxList<ChatButton>
ChatButtons displayed (pinned) in the text field.
latefinal
canPin RxBool
Indicator whether any more ChatButton can be added to the buttons.
final
edited Rx<ChatMessage?>
ChatItem being edited.
final
field TextFieldState
TextFieldState for a ChatMessageText.
latefinal
fieldKey GlobalKey<State<StatefulWidget>>
GlobalKey of the text field itself.
final
forwarding RxBool
Indicator whether forwarding mode is enabled.
final
hashCode int
The hash code for this object.
no setterinherited
hasListeners bool
no setterinherited
hoveredAttachment Rx<Attachment?>
Attachment being hovered.
final
hoveredReply Rx<ChatItem?>
Replied ChatItem being hovered.
final
inCall RxBool
Sets the reactive inCall indicator, determining whether AudioCallButton and VideoCallButton buttons should be enabled or not.
no getter
initialized bool
Checks whether the controller has already been initialized.
no setterinherited
isClosed bool
Checks whether the controller has already been closed.
no setterinherited
listeners int
no setterinherited
me UserId?
Returns MyUser's UserId.
no setter
moreOpened RxBool
Indicator whether the more panel is opened.
final
onCall → void Function(bool)?
Callback, called when make OngoingCall action is triggered.
final
onChanged → void Function()?
Callback, called on the field, attachments, replied, edited changes.
final
onDelete InternalFinalCallback<void>
Internal callback that starts the cycle of this controller.
finalinherited
onStart InternalFinalCallback<void>
Called at the exact moment the widget is allocated in memory. It uses an internal "callable" type, to avoid any @overrides in subclases. This method should be internal and is required to define the lifetime cycle of the subclass.
finalinherited
onSubmit → void Function()?
Callback, called when this MessageFieldController is submitted.
final
panel RxList<ChatButton>
ChatButtons displayed in the more panel.
latefinal
quotes RxList<ChatItemQuoteInput>
ChatItemQuoteInputs to be forwarded.
latefinal
replied RxList<Rx<ChatItem>>
ChatItem being quoted to reply onto.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scrollController ScrollController
ScrollController to pass to a Scrollbar.
final

Methods

$configureLifeCycle() → void
inherited
addListener(GetStateUpdate listener) Disposer
Register a closure to be called when the object notifies its listeners.
inherited
addListenerId(Object? key, GetStateUpdate listener) Disposer
inherited
addPlatformAttachment(PlatformFile platformFile) Future<void>
Constructs a NativeFile from the specified PlatformFile and adds it to the attachments.
clear({bool unfocus = true}) → void
Resets the replied, attachments and field.
dispose() → void
inherited
disposeId(Object id) → void
To dispose an id from future updates(), this ids are registered by GetBuilder() or similar, so is a way to unlink the state change with the Widget from the Controller.
inherited
getUser(UserId id) FutureOr<RxUser?>
Returns an User from UserService by the provided id.
handlePaste() Future<void>
Reads the SystemClipboard and pastes any content contained in it.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyChildrens() → void
inherited
onClose() → void
Called before onDelete method. onClose might be used to dispose resources used by the controller. Like closing events, or streams before the controller is destroyed. Or dispose objects that can potentially create some memory leaks, like TextEditingControllers, AnimationControllers. Might be useful as well to persist some data on disk.
override
onInit() → void
Called immediately after the widget is allocated in memory. You might use this to initialize something for the controller.
override
onReady() Future<void>
Called 1 frame after onInit(). It is the perfect place to enter navigation events, like snackbar, dialogs, or a new route, or async request.
override
pickFile() Future<void>
Opens a file choose popup and adds the selected files to the attachments.
pickImageFromCamera() Future<void>
Opens the camera app and adds the captured image to the attachments.
pickMedia() Future<void>
Opens a media choose popup and adds the selected files to the attachments.
pickVideoFromCamera() Future<void>
Opens the camera app and adds the captured video to the attachments.
refresh() → void
inherited
refreshGroup(Object id) → void
inherited
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that the object notifies.
inherited
removeListenerId(Object id, VoidCallback listener) → void
inherited
toggleMore() → void
Toggles the moreOpened and populates the _moreEntry.
toString() String
A string representation of this object.
inherited
update([List<Object>? ids, bool condition = true]) → void
Rebuilds GetBuilder each time you call update(); Can take a List of ids, that will only update the matching GetBuilder( id: ), ids can be reused among GetBuilders like group tags. The update will only notify the Widgets, if condition is true.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

handleNewLines(KeyEvent e, TextFieldState field) KeyEventResult
Handles the new lines for the provided KeyEvent in the field.

Constants

maxAttachmentSize → const int
Maximum allowed NativeFile.size of an Attachment.