feat(ui): add possibility to limit attachments in MessageInput
Signed-off-by: xsahil03x <[email protected]>
This commit is contained in:
@@ -340,3 +340,51 @@ Widget wrapAttachmentWidget(
|
||||
type: MaterialType.transparency,
|
||||
child: attachmentWidget,
|
||||
);
|
||||
|
||||
/// Represents a 2-tuple, or pair.
|
||||
class Tuple2<T1, T2> {
|
||||
/// Creates a new tuple value with the specified items.
|
||||
const Tuple2(this.item1, this.item2);
|
||||
|
||||
/// Create a new tuple value with the specified list [items].
|
||||
factory Tuple2.fromList(List items) {
|
||||
if (items.length != 2) {
|
||||
throw ArgumentError('items must have length 2');
|
||||
}
|
||||
|
||||
return Tuple2<T1, T2>(items[0] as T1, items[1] as T2);
|
||||
}
|
||||
|
||||
/// Returns the first item of the tuple
|
||||
final T1 item1;
|
||||
|
||||
/// Returns the second item of the tuple
|
||||
final T2 item2;
|
||||
|
||||
/// Returns a tuple with the first item set to the specified value.
|
||||
Tuple2<T1, T2> withItem1(T1 v) => Tuple2<T1, T2>(v, item2);
|
||||
|
||||
/// Returns a tuple with the second item set to the specified value.
|
||||
Tuple2<T1, T2> withItem2(T2 v) => Tuple2<T1, T2>(item1, v);
|
||||
|
||||
/// Creates a [List] containing the items of this [Tuple2].
|
||||
///
|
||||
/// The elements are in item order. The list is variable-length
|
||||
/// if [growable] is true.
|
||||
List toList({bool growable = false}) =>
|
||||
List.from([item1, item2], growable: growable);
|
||||
|
||||
@override
|
||||
String toString() => '[$item1, $item2]';
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is Tuple2 &&
|
||||
runtimeType == other.runtimeType &&
|
||||
item1 == other.item1 &&
|
||||
item2 == other.item2;
|
||||
|
||||
@override
|
||||
int get hashCode => item1.hashCode ^ item2.hashCode;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user