MessageInputExtensionPlugin class

Describes one item in the MessageInput extension panel.

Constructors

MessageInputExtensionPlugin({required String id, required String? title, required IconData icon, MessageInputExtensionPluginType type = MessageInputExtensionPluginType.custom, bool enabled = true, String? tooltip, String? unavailableText, MessageInputExtensionPluginTap? onTap, MessageInputPermissionRequest? permissionRequest, MessageInputMediaPathResolver? mediaPathResolver, MessageInputMediaDraftResolver? mediaDraftResolver, MessageInputLocationDraftResolver? locationResolver, MessageInputExtensionPluginBuilder? builder, String? assetName})
const
MessageInputExtensionPlugin.camera({String id = 'camera', String? title, IconData icon = Icons.photo_camera_outlined, bool? enabled, String? tooltip, String? unavailableText, MessageInputExtensionPluginTap? onTap, MessageInputPermissionRequest? permissionRequest, MessageInputMediaPathResolver? mediaPathResolver, MessageInputMediaDraftResolver? mediaDraftResolver, MessageInputLocationDraftResolver? locationResolver, MessageInputExtensionPluginBuilder? builder, String? assetName = 'NexconnLightIcon/Camera.png'})
const
MessageInputExtensionPlugin.file({String id = 'file', String? title, IconData icon = Icons.insert_drive_file_outlined, bool? enabled, String? tooltip, String? unavailableText, MessageInputExtensionPluginTap? onTap, MessageInputPermissionRequest? permissionRequest, MessageInputMediaPathResolver? mediaPathResolver, MessageInputMediaDraftResolver? mediaDraftResolver, MessageInputLocationDraftResolver? locationResolver, MessageInputExtensionPluginBuilder? builder, String? assetName = 'NexconnLightIcon/Document.png'})
const
MessageInputExtensionPlugin.filming({String id = 'filming', String? title, IconData icon = Icons.videocam_outlined, bool? enabled, String? tooltip, String? unavailableText, MessageInputExtensionPluginTap? onTap, MessageInputPermissionRequest? permissionRequest, MessageInputMediaPathResolver? mediaPathResolver, MessageInputMediaDraftResolver? mediaDraftResolver, MessageInputLocationDraftResolver? locationResolver, MessageInputExtensionPluginBuilder? builder, String? assetName = 'NexconnLightIcon/filming.png'})
const
MessageInputExtensionPlugin.location({String id = 'location', String? title, IconData icon = Icons.location_on_outlined, bool? enabled, String? tooltip, String? unavailableText, MessageInputExtensionPluginTap? onTap, MessageInputPermissionRequest? permissionRequest, MessageInputMediaPathResolver? mediaPathResolver, MessageInputMediaDraftResolver? mediaDraftResolver, MessageInputLocationDraftResolver? locationResolver, MessageInputExtensionPluginBuilder? builder, String? assetName = 'NexconnLightIcon/Local.png'})
const
MessageInputExtensionPlugin.photo({String id = 'photo', String? title, IconData icon = Icons.photo_outlined, bool? enabled, String? tooltip, String? unavailableText, MessageInputExtensionPluginTap? onTap, MessageInputPermissionRequest? permissionRequest, MessageInputMediaPathResolver? mediaPathResolver, MessageInputMediaDraftResolver? mediaDraftResolver, MessageInputLocationDraftResolver? locationResolver, MessageInputExtensionPluginBuilder? builder, String? assetName = 'NexconnLightIcon/Gallery.png'})
const
MessageInputExtensionPlugin.video({String id = 'video', String? title, IconData icon = Icons.play_circle_outline, bool? enabled, String? tooltip, String? unavailableText, MessageInputExtensionPluginTap? onTap, MessageInputPermissionRequest? permissionRequest, MessageInputMediaPathResolver? mediaPathResolver, MessageInputMediaDraftResolver? mediaDraftResolver, MessageInputLocationDraftResolver? locationResolver, MessageInputExtensionPluginBuilder? builder, String? assetName = 'NexconnLightIcon/play_video.png'})
const

Properties

assetName → String?
Optional packaged asset used by the default grid item.
final
builder → MessageInputExtensionPluginBuilder?
Custom grid item builder for this plugin.
final
enabled → bool
Whether the plugin can be tapped.
final
hasAction → bool
Whether this plugin has a runnable action or default media behavior.
no setter
hashCode → int
The hash code for this object.
no setterinherited
icon → IconData
Material icon used when no custom asset or builder is provided.
final
id → String
Stable plugin id used by callbacks and custom builders.
final
locationResolver → MessageInputLocationDraftResolver?
Location resolver used by the location plugin.
final
mediaDraftResolver → MessageInputMediaDraftResolver?
Media draft resolver for photo, video, camera, filming, and file plugins.
final
mediaPathResolver → MessageInputMediaPathResolver?
Simple path resolver for media plugins.
final
onTap → MessageInputExtensionPluginTap?
Custom tap handler; when set it takes ownership of the action.
final
permissionRequest → MessageInputPermissionRequest?
Permission hook scoped to this plugin.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
title → String?
Display title; localization supplies a default when null for built-ins.
final
tooltip → String?
Optional tooltip for accessibility and desktop hover.
final
type → MessageInputExtensionPluginType
Built-in plugin behavior type.
final
unavailableText → String?
Text shown when the plugin is unavailable.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

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