flutter_datetime_picker icon indicating copy to clipboard operation
flutter_datetime_picker copied to clipboard

flutter 3.10

Open Meterwhite opened this issue 2 years ago • 9 comments

Please support flutter 3.10.0 .

Meterwhite avatar May 11 '23 04:05 Meterwhite

@ryojiro did the work, in pubspec.yaml change the line flutter_datetime_picker: ^1.5.1 for those lines: flutter_datetime_picker: git: url: https://github.com/ryojiro/flutter_datetime_picker.git ref: 32ea47240c10469ad31db0084f5d9b7a12d16e01

PeterMX avatar May 11 '23 05:05 PeterMX

There are some bugs with this library ( flutter_datetime_picker )

/../../../.pub-cache/hosted/pub.dev/flutter_datetime_picker-1.5.1/lib/flutter_datetime_picker.dart:6:1: Error: 'DatePickerTheme' is imported from both 'package:flutter/src/material/date_picker_theme.dart' and 'package:flutter_datetime_picker/src/datetime_picker_theme.dart'. import 'package:flutter_datetime_picker/src/datetime_picker_theme.dart';

'DatePickerTheme' is imported from both

is telling us two classes imported into the current file from different packages have the same name.

Dart cannot tell which to use, hence the error. Two common solutions

  1. hide (don't import) one of the classes

Apply a prefix to one of the packages Hide Here's an example of hiding a single class from being imported from a package:

import 'package:text_widgets/text_widgets.dart' hide TextThemeExt; Above the class named TextThemeExt won't be imported and won't clash with an identically named class in the current file.

  1. Prefix

import 'dart:math' as math;

This is a very common prefix applied to the math library in dart. (So people reading the code understand these are symbols from the math library and not some short variable name in the current file.)

Any symbol within the math library now must be prefixed with math to be used.

For example:

Matrix4.rotationX(math.pi) Without the prefix in the import statement the above would be:

Matrix4.rotationX(pi)

library flutter_datetime_picker;

import 'dart:async'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_datetime_picker/src/datetime_picker_theme.dart'; import 'package:flutter_datetime_picker/src/date_model.dart'; import 'package:flutter_datetime_picker/src/i18n_model.dart';

export 'package:flutter_datetime_picker/src/datetime_picker_theme.dart'; export 'package:flutter_datetime_picker/src/date_model.dart'; export 'package:flutter_datetime_picker/src/i18n_model.dart';

jhandaya avatar May 11 '23 10:05 jhandaya

You can use my forked version (I just migrate it to flutter v3.10)

  flutter_datetime_picker:
    git: 
      url: https://github.com/HasanAlqaisi/flutter_datetime_picker.git

HasanAlqaisi avatar May 11 '23 13:05 HasanAlqaisi

Apply a prefix to one of the packages Hide Here's an example of hiding a single class from being imported from a package:

import 'package:text_widgets/text_widgets.dart' hide TextThemeExt; Above the class named TextThemeExt won't be imported and won't clash with an identically named class in the current file.

There are some bugs with this library ( flutter_datetime_picker )

/../../../.pub-cache/hosted/pub.dev/flutter_datetime_picker-1.5.1/lib/flutter_datetime_picker.dart:6:1: Error: 'DatePickerTheme' is imported from both 'package:flutter/src/material/date_picker_theme.dart' and 'package:flutter_datetime_picker/src/datetime_picker_theme.dart'. import 'package:flutter_datetime_picker/src/datetime_picker_theme.dart';

'DatePickerTheme' is imported from both

is telling us two classes imported into the current file from different packages have the same name.

Dart cannot tell which to use, hence the error. Two common solutions

  1. hide (don't import) one of the classes

Apply a prefix to one of the packages Hide Here's an example of hiding a single class from being imported from a package:

import 'package:text_widgets/text_widgets.dart' hide TextThemeExt; Above the class named TextThemeExt won't be imported and won't clash with an identically named class in the current file.

  1. Prefix

import 'dart:math' as math;

This is a very common prefix applied to the math library in dart. (So people reading the code understand these are symbols from the math library and not some short variable name in the current file.)

Any symbol within the math library now must be prefixed with math to be used.

For example:

Matrix4.rotationX(math.pi) Without the prefix in the import statement the above would be:

Matrix4.rotationX(pi)

library flutter_datetime_picker;

import 'dart:async'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_datetime_picker/src/datetime_picker_theme.dart'; import 'package:flutter_datetime_picker/src/date_model.dart'; import 'package:flutter_datetime_picker/src/i18n_model.dart';

export 'package:flutter_datetime_picker/src/datetime_picker_theme.dart'; export 'package:flutter_datetime_picker/src/date_model.dart'; export 'package:flutter_datetime_picker/src/i18n_model.dart';

I did all you said but I am facing the following problem for android emulator: : Error: The parameter 'details' of the method '_TextFieldSelectionGestureDetectorBuilder.onSingleTapUp' has type 'TapUpDetails', which does not match the corresponding type, 'TapDragUpDetails', in the overridden method, 'TextSelectionGestureDetectorBuilder.onSingleTapUp'. text_field.dart:108

  • 'TapUpDetails' is from 'package:flutter/src/gestures/tap.dart' ('../../../../dev/flutter/packages/flutter/lib/src/gestures/tap.dart'). tap.dart:1

  • 'TapDragUpDetails' is from 'package:flutter/src/widgets/tap_and_drag_gestures.dart' ('../../../../dev/flutter/packages/flutter/lib/src/widgets/tap_and_drag_gestures.dart'). tap_and_drag_gestures.dart:1 Change to a supertype of 'TapDragUpDetails', or, for a covariant parameter, a subtype. void onSingleTapUp(TapUpDetails details) { ^ : Context: This is the overridden method ('onSingleTapUp'). text_selection.dart:2161 void onSingleTapUp(TapDragUpDetails details) { ^ : Error: The parameter 'details' of the method '_TextFieldSelectionGestureDetectorBuilder.onDragSelectionEnd' has type 'DragEndDetails', which does not match the corresponding type, 'TapDragEndDetails', in the overridden method, 'TextSelectionGestureDetectorBuilder.onDragSelectionEnd'. text_field.dart:130

  • 'DragEndDetails' is from 'package:flutter/src/gestures/drag_details.dart' ('../../../../dev/flutter/packages/flutter/lib/src/gestures/drag_details.dart'). drag_details.dart:1

  • 'TapDragEndDetails' is from 'package:flutter/src/widgets/tap_and_drag_gestures.dart' ('../../../../dev/flutter/packages/flutter/lib/src/widgets/tap_and_drag_gestures.dart'). tap_and_drag_gestures.dart:1 Change to a supertype of 'TapDragEndDetails', or, for a covariant parameter, a subtype. void onDragSelectionEnd(DragEndDetails details) { ^ : Context: This is the overridden method ('onDragSelectionEnd'). text_selection.dart:2839

    void onDragSelectionEnd(TapDragEndDetails details) { ^ Target kernel_snapshot failed: Exception

for iOS simulator: Error (Xcode): ../../../../.pub-cache/hosted/pub.dev/macos_ui-1.12.2/lib/src/fields/text_field.dart:108:35: Error: The parameter 'details' of the method '_TextFieldSelectionGestureDetectorBuilder.onSingleTapUp' has type 'TapUpDetails', which does not match the corresponding type, 'TapDragUpDetails', in the overridden method, 'TextSelectionGestureDetectorBuilder.onSingleTapUp'.

akaanuzman avatar May 11 '23 18:05 akaanuzman

I found new project, forked this https://pub.dev/packages/flutter_datetime_picker_plus

8thgencore avatar May 11 '23 18:05 8thgencore

We have a fork up and running that's compatible with flutter 3.10 https://github.com/Bdaya-Dev/flutter_datetime_picker https://pub.dev/packages/flutter_datetime_picker_bdaya

ahmednfwela avatar May 12 '23 11:05 ahmednfwela

@ahmednfwela thanks for your work but please do not just repost other's lib directly to pub by change the lib name.

You will force others change their code too, you can just fork and tell how to use it in git.

lucasjinreal avatar Nov 19 '23 02:11 lucasjinreal

@lucasjinreal if pub allowed to publish packages that contain git dependencies, I wouldn't need to do this.

there's a lot of form packages that depend on this package.

ahmednfwela avatar Nov 19 '23 10:11 ahmednfwela

This is because of a conflict where we use flutter_datetime_picker: ^1.5.1 (since it has an analysis issue as well). See https://pub.dev/packages/flutter_datetime_picker/versions Remove flutter_datetime_picker:^1.5.1 from your pubspec.yaml and use Flutter builti-n DateTime Package which is given below. showTimePicker(context: context, initialTime: TimeOfDay.now(),);

Please Support Flutter

AnasYounus avatar May 24 '24 14:05 AnasYounus