Rename uploadFileCallback to onImagePickCallback

pull/37/head^2
singerdmx 4 years ago
parent 2d81b70226
commit 4f044e2b09
  1. 4
      README.md
  2. 3
      app/lib/pages/home_page.dart
  3. 4
      app/pubspec.lock
  4. 2
      example/main.dart
  5. 2
      lib/widgets/text_line.dart
  6. 20
      lib/widgets/toolbar.dart

@ -26,7 +26,7 @@ and then embed the toolbar and the editor, within your app. For example:
Column( Column(
children: [ children: [
QuillToolbar.basic( QuillToolbar.basic(
controller: _controller, uploadFileCallback: _uploadImageCallBack), controller: _controller, onImageTapCallBack: _uploadImageCallBack),
Expanded( Expanded(
child: Container( child: Container(
child: QuillEditor.basic( child: QuillEditor.basic(
@ -65,7 +65,7 @@ _controller = QuillController(
## Configuration ## Configuration
The `QuillToolbar` class lets you customise which formating options are available. To prevent the image uploading widget from appearing, set `uploadFileCallback` to null. The `QuillToolbar` class lets you customise which formatting options are available. To prevent the image uploading widget from appearing, set `onImageTapCallBack` to null.
## Web ## Web

@ -125,12 +125,13 @@ class _HomePageState extends State<HomePage> {
Container( Container(
child: QuillToolbar.basic( child: QuillToolbar.basic(
controller: _controller, controller: _controller,
uploadFileCallback: _fakeUploadImageCallBack), onImageTapCallBack: _fakeUploadImageCallBack),
) )
], ],
); );
} }
/// Upload the image file to AWS s3 when image is picked
Future<String> _fakeUploadImageCallBack(File file) async { Future<String> _fakeUploadImageCallBack(File file) async {
print(file); print(file);
var completer = new Completer<String>(); var completer = new Completer<String>();

@ -103,7 +103,7 @@ packages:
path: ".." path: ".."
relative: true relative: true
source: path source: path
version: "0.2.9" version: "0.2.12"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@ -141,7 +141,7 @@ packages:
name: image_picker name: image_picker
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.6.7+17" version: "0.6.7+22"
image_picker_platform_interface: image_picker_platform_interface:
dependency: transitive dependency: transitive
description: description:

@ -20,7 +20,7 @@ class _HomePageState extends State<HomePage> {
body: Column( body: Column(
children: [ children: [
QuillToolbar.basic( QuillToolbar.basic(
controller: _controller, uploadFileCallback: _uploadImageCallBack), controller: _controller, onImageTapCallBack: _uploadImageCallBack),
Expanded( Expanded(
child: Container( child: Container(
child: QuillEditor.basic( child: QuillEditor.basic(

@ -48,7 +48,7 @@ class TextLine extends StatelessWidget {
StrutStyle.fromTextStyle(textSpan.style, forceStrutHeight: true); StrutStyle.fromTextStyle(textSpan.style, forceStrutHeight: true);
final textAlign = _getTextAlign(); final textAlign = _getTextAlign();
RichText child = RichText( RichText child = RichText(
text: textSpan, text: TextSpan(children: [textSpan]),
textAlign: textAlign, textAlign: textAlign,
textDirection: textDirection, textDirection: textDirection,
strutStyle: strutStyle, strutStyle: strutStyle,

@ -14,7 +14,7 @@ import 'controller.dart';
double iconSize = 18.0; double iconSize = 18.0;
double kToolbarHeight = iconSize * 2; double kToolbarHeight = iconSize * 2;
typedef UploadFileCallback = Future<String> Function(File file); typedef OnImagePickCallback = Future<String> Function(File file);
class InsertEmbedButton extends StatelessWidget { class InsertEmbedButton extends StatelessWidget {
final QuillController controller; final QuillController controller;
@ -490,7 +490,7 @@ class ImageButton extends StatefulWidget {
final QuillController controller; final QuillController controller;
final UploadFileCallback uploadFileCallback; final OnImagePickCallback onImagePickCallback;
final ImageSource imageSource; final ImageSource imageSource;
@ -499,7 +499,7 @@ class ImageButton extends StatefulWidget {
@required this.icon, @required this.icon,
@required this.controller, @required this.controller,
@required this.imageSource, @required this.imageSource,
this.uploadFileCallback}) this.onImagePickCallback})
: assert(icon != null), : assert(icon != null),
assert(controller != null), assert(controller != null),
super(key: key); super(key: key);
@ -515,10 +515,10 @@ class _ImageButtonState extends State<ImageButton> {
final PickedFile pickedFile = await _picker.getImage(source: source); final PickedFile pickedFile = await _picker.getImage(source: source);
final File file = File(pickedFile.path); final File file = File(pickedFile.path);
if (file == null || widget.uploadFileCallback == null) return null; if (file == null || widget.onImagePickCallback == null) return null;
// We simply return the absolute path to selected file. // We simply return the absolute path to selected file.
try { try {
String url = await widget.uploadFileCallback(file); String url = await widget.onImagePickCallback(file);
print('Image uploaded and its url is $url'); print('Image uploaded and its url is $url');
return url; return url;
} catch (error) { } catch (error) {
@ -891,7 +891,7 @@ class QuillToolbar extends StatefulWidget implements PreferredSizeWidget {
bool showLink = true, bool showLink = true,
bool showHistory = true, bool showHistory = true,
bool showHorizontalRule = false, bool showHorizontalRule = false,
UploadFileCallback uploadFileCallback}) { OnImagePickCallback onImageTapCallBack}) {
iconSize = toolbarIconSize; iconSize = toolbarIconSize;
return QuillToolbar(key: key, children: [ return QuillToolbar(key: key, children: [
Visibility( Visibility(
@ -974,22 +974,22 @@ class QuillToolbar extends StatefulWidget implements PreferredSizeWidget {
), ),
SizedBox(width: 0.6), SizedBox(width: 0.6),
Visibility( Visibility(
visible: uploadFileCallback != null, visible: onImageTapCallBack != null,
child: ImageButton( child: ImageButton(
icon: Icons.image, icon: Icons.image,
controller: controller, controller: controller,
imageSource: ImageSource.gallery, imageSource: ImageSource.gallery,
uploadFileCallback: uploadFileCallback, onImagePickCallback: onImageTapCallBack,
), ),
), ),
SizedBox(width: 0.6), SizedBox(width: 0.6),
Visibility( Visibility(
visible: uploadFileCallback != null, visible: onImageTapCallBack != null,
child: ImageButton( child: ImageButton(
icon: Icons.photo_camera, icon: Icons.photo_camera,
controller: controller, controller: controller,
imageSource: ImageSource.camera, imageSource: ImageSource.camera,
uploadFileCallback: uploadFileCallback, onImagePickCallback: onImageTapCallBack,
), ),
), ),
Visibility( Visibility(

Loading…
Cancel
Save