* updating checkbox to handle tap
* updating checkbox to handle long press and using UniqueKey() to avoid weird side effects
* removed useless doc
Co-authored-by: Kevin Despoulains <kevin.despoulains@scriptandgo.com>
Annotating types for function expression parameters is usually
unnecessary because the parameter types can almost always be
inferred from the context, thus making the practice redundant.
Declaring variables as final when possible is a good practice
because it helps avoid accidental reassignments and allows the
compiler to do optimizations.
* Rebuild editor when keyboard is already open
If the keyboard is already open, but the editor thinks that the
keyboard is not open, the text will not be updated when writing.
This can easily happen if one has a `TabBarView` with two children,
each with an `QuillEditor`, see the code for an example:
<details><summary>Example</summary>
```dart
import 'package:flutter/material.dart';
import 'package:flutter_quill/widgets/controller.dart';
import 'package:flutter_quill/widgets/editor.dart';
void main() => runApp(MyApp());
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
late QuillController _controller1;
late QuillController _controller2;
@override
void initState() {
_controller1 = QuillController.basic();
_controller2 = QuillController.basic();
super.initState();
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: DefaultTabController(
length: 2,
child: Scaffold(
appBar: AppBar(
title: Text('Flutter Quill tabs demo'),
bottom: TabBar(
tabs: [
Tab(text: 'First'),
Tab(text: 'Second'),
],
),
),
body: TabBarView(
children: [
QuillEditor.basic(controller: _controller1, readOnly: false),
QuillEditor.basic(controller: _controller2, readOnly: false),
],
),
),
),
);
}
}
</details>
<details><summary>Video</summary>
</details>
* Add documentation comment for getOffsetToRevealCursor
* Set initial keyboard visibility
If it's ok, I would spend the day enabling linter rules so that the
codebase is more compliant with [Effective Dart](https://dart.dev/guides/language/effective-dart)
and thus more readable for new developers.
* Remove base64 header from image url
* change removeBase64Header to _standardizeImageUrl and format code
Co-authored-by: Yahia <yahiaibrahim300@gmail.com>
* Upgrade upgradable packages
* Apply default null-safety migrations
* Remove hashnode as a dependency and localize its functionality to the package.
Maintenance was done long time ago hence no need to wait for the update
* Localize ui package to reduce maintenance burdens
* Replace universal html with dart:html
* Remove unnecessary checks
* Fix formatting
* Migrate app to null safety
* Enable methods to be nullable
* Fix non-nullable issue with node methods
* Cast as Node
* Use universal html
* Use universal html package to bring in the ImageElement class
* Remove unused imports
* Fix imports on the editor file
* Add key to quill editor
* Remove final from the GlobalKey
* Remove final on GlobalKey
* Remove custom util implementation in favor of quiver
* Fix issue with null on token attrivute
* Remove final hashcode that is replaced by quiver functionality
* Fix merge request
* Fix hit test position in text_line.dart
* Fix null safety errors on text_selection.dart
* Fix sound null safe errors in toolbar.dart
* Import null safe file picker
* Fix issue with basic text editing and editor display
* Fix issues with basic widget rendering and editing
* Upgrade upgradable packages
* Apply default null-safety migrations
* Remove hashnode as a dependency and localize its functionality to the package.
Maintenance was done long time ago hence no need to wait for the update
* Localize ui package to reduce maintenance burdens
* Replace universal html with dart:html
* Remove unnecessary checks
* Fix formatting
* Migrate app to null safety
* Enable methods to be nullable
* Fix non-nullable issue with node methods
* Cast as Node
* Use universal html
* Use universal html package to bring in the ImageElement class
* Remove unused imports
* Fix imports on the editor file
* Add key to quill editor
* Remove final from the GlobalKey
* Remove final on GlobalKey
* Remove custom util implementation in favor of quiver
* Fix issue with null on token attrivute
* Remove final hashcode that is replaced by quiver functionality
* Fix merge request
* Fix hit test position in text_line.dart
* Fix null safety errors on text_selection.dart
* Fix sound null safe errors in toolbar.dart
* Import null safe file picker