From 2fde68096ebfcc0cde21a6e0376351ff25184845 Mon Sep 17 00:00:00 2001 From: udcode Date: Sun, 8 May 2022 21:06:56 +0300 Subject: [PATCH 1/4] fix: suggestions box now visible in WEB --- lib/src/chips_input.dart | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/src/chips_input.dart b/lib/src/chips_input.dart index 366cad7f..b7bb43d8 100644 --- a/lib/src/chips_input.dart +++ b/lib/src/chips_input.dart @@ -4,7 +4,7 @@ import 'dart:math'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; - +import 'package:flutter/foundation.dart'; import 'suggestions_box_controller.dart'; import 'text_cursor.dart'; @@ -337,6 +337,9 @@ class ChipsInputState extends State> } _updateTextInputState(putText: putText); } else { + if (kIsWeb) { + _onSearchChanged(_value.normalCharactersText); + } _updateTextInputState(); } _onSearchChanged(_value.normalCharactersText); @@ -354,7 +357,7 @@ class ChipsInputState extends State> _value = _value.copyWith( text: updatedText, selection: TextSelection.collapsed(offset: textLength), - composing: (Platform.isIOS || replacedLength == textLength) + composing: (!kIsWeb && Platform.isIOS || replacedLength == textLength) ? TextRange.empty : TextRange( start: replacedLength, From c4a15468ba8a55c6aa795883323dad3fa404ff45 Mon Sep 17 00:00:00 2001 From: TheKikeros Date: Thu, 19 May 2022 12:20:40 +0300 Subject: [PATCH 2/4] flutter 3 --- lib/src/chips_input.dart | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/src/chips_input.dart b/lib/src/chips_input.dart index b7bb43d8..56f9540a 100644 --- a/lib/src/chips_input.dart +++ b/lib/src/chips_input.dart @@ -489,4 +489,19 @@ class ChipsInputState extends State> ), ); } + + @override + void insertTextPlaceholder(Size size) { + // TODO: implement insertTextPlaceholder + } + + @override + void removeTextPlaceholder() { + // TODO: implement removeTextPlaceholder + } + + @override + void showToolbar() { + // TODO: implement showToolbar + } } From 1726916b694e953b38341bcf6c779b0b09351c79 Mon Sep 17 00:00:00 2001 From: TheKikeros Date: Wed, 15 Feb 2023 17:03:24 +0200 Subject: [PATCH 3/4] flutter 3.7 --- example/lib/main.dart | 2 +- lib/src/chips_input.dart | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index e85b0fb1..5bf3aa94 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -199,7 +199,7 @@ class _MyHomePageState extends State { ); }, ),*/ - RaisedButton( + ElevatedButton( child: Text('Add Chip'), onPressed: () { _chipKey.currentState.selectSuggestion(AppProfile( diff --git a/lib/src/chips_input.dart b/lib/src/chips_input.dart index 56f9540a..15bbd791 100644 --- a/lib/src/chips_input.dart +++ b/lib/src/chips_input.dart @@ -352,7 +352,7 @@ class ChipsInputState extends State> "${replaceText ? '' : _value.normalCharactersText}" + putText; setState(() { - final textLength = updatedText.characters.length; + final textLength = updatedText.length; final replacedLength = _chips.length; _value = _value.copyWith( text: updatedText, @@ -504,4 +504,13 @@ class ChipsInputState extends State> void showToolbar() { // TODO: implement showToolbar } + + @override + void didChangeInputControl( + TextInputControl? oldControl, TextInputControl? newControl) {} + + @override + void performSelector(String selectorName) { + // TODO: implement performSelector + } } From a5a11b065159da87598ab8f89e99a4bac003abd9 Mon Sep 17 00:00:00 2001 From: TheKikeros Date: Fri, 19 May 2023 18:40:02 +0300 Subject: [PATCH 4/4] upgrading to support flutter 3.10 --- example/lib/main.dart | 1 - lib/src/chips_input.dart | 15 ++++++++++----- lib/src/suggestions_box_controller.dart | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index 5bf3aa94..c6ec906c 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:flutter/rendering.dart'; import 'package:flutter_chips_input/flutter_chips_input.dart'; void main() => runApp(MyApp()); diff --git a/lib/src/chips_input.dart b/lib/src/chips_input.dart index 15bbd791..3aef539f 100644 --- a/lib/src/chips_input.dart +++ b/lib/src/chips_input.dart @@ -133,7 +133,7 @@ class ChipsInputState extends State> _focusNode.addListener(_handleFocusChanged); _nodeAttachment = _focusNode.attach(context); - WidgetsBinding.instance?.addPostFrameCallback((_) async { + WidgetsBinding.instance.addPostFrameCallback((_) async { _initOverlayEntry(); if (mounted && widget.autofocus) { FocusScope.of(context).autofocus(_focusNode); @@ -292,9 +292,9 @@ class ChipsInputState extends State> void _scrollToVisible() { Future.delayed(const Duration(milliseconds: 300), () { - WidgetsBinding.instance?.addPostFrameCallback((_) async { + WidgetsBinding.instance.addPostFrameCallback((_) async { final renderBox = context.findRenderObject() as RenderBox; - await Scrollable.of(context)?.position.ensureVisible(renderBox); + await Scrollable.of(context).position.ensureVisible(renderBox); }); }); } @@ -441,7 +441,7 @@ class ChipsInputState extends State> maxLines: 1, overflow: widget.textOverflow, style: widget.textStyle ?? - theme.textTheme.subtitle1?.copyWith(height: 1.5), + theme.textTheme.titleMedium?.copyWith(height: 1.5), ), ), Flexible( @@ -455,7 +455,7 @@ class ChipsInputState extends State> return NotificationListener( onNotification: (SizeChangedLayoutNotification val) { - WidgetsBinding.instance?.addPostFrameCallback((_) async { + WidgetsBinding.instance.addPostFrameCallback((_) async { _suggestionsBoxController.overlayEntry?.markNeedsBuild(); }); return true; @@ -513,4 +513,9 @@ class ChipsInputState extends State> void performSelector(String selectorName) { // TODO: implement performSelector } + + @override + void insertContent(KeyboardInsertedContent content) { + // TODO: implement insertContent + } } diff --git a/lib/src/suggestions_box_controller.dart b/lib/src/suggestions_box_controller.dart index df9586e0..157d55eb 100644 --- a/lib/src/suggestions_box_controller.dart +++ b/lib/src/suggestions_box_controller.dart @@ -14,7 +14,7 @@ class SuggestionsBoxController { void open() { if (_isOpened) return; assert(overlayEntry != null); - Overlay.of(context)?.insert(overlayEntry!); + Overlay.of(context).insert(overlayEntry!); _isOpened = true; }