syncfusion / flutter-widgets

Syncfusion Flutter widgets libraries include high quality UI widgets and file-format packages to help you create rich, high-quality applications for iOS, Android, and web from a single code base.
1.6k stars 785 forks source link

dateFormat not working for Arabic in DateRangePickerMonthViewSettings #2116

Open AgnelSelvan opened 1 month ago

AgnelSelvan commented 1 month ago

Bug description

In SfDateRangePicker widget, under DateRangePickerMonthViewSettings, the dateFormat parameter is not working for the Arabic locale.

Tried to change from the default value to dayFormat: "EEE" and dayFormat: "EEEE" for the English locale it's working but for the Arabic Locale. It's not working.

Steps to reproduce

  1. Setup internationalization in your Flutter App
  2. Install syncfusion_flutter_datepicker: ^27.1.52 latest SyncFusion datepicker.
  3. In monthViewSettings, change dateFormat parameter to 'EEE' or 'EEEE' or 'EE'. In English its working but on Arabic its not.

Code sample

Code sample ```dart SfDateRangePicker( selectionMode: DateRangePickerSelectionMode.range, initialSelectedRange: selectedPickerDateRange, minDate: DateTime.now(), onSelectionChanged: (dateRangePickerSelectionChangedArgs) {}, ) ```

Screenshots or Video

Screenshots / Video demonstration https://github.com/user-attachments/assets/dff319b5-d16c-416a-bcbf-29219b216d46

Stack Traces

Stack Traces ```dart No Stack trace available ```

On which target platforms have you observed this bug?

iOS, Web, Web (Android browser), Web (iOS browser), Windows, macOS, Linux

Flutter Doctor output

Doctor output ```console [✓] Flutter (Channel stable, 3.24.3, on macOS 15.0.1 24A348 darwin-arm64, locale en-GB) • Flutter version 3.24.3 on channel stable at /Users/a.selvan/Documents/tools/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 2663184aa7 (4 weeks ago), 2024-09-11 16:27:48 -0500 • Engine revision 36335019a8 • Dart version 3.5.3 • DevTools version 2.37.3 [✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0) • Android SDK at /Users/a.selvan/Library/Android/sdk • Platform android-34, build-tools 34.0.0 • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11572160) • All Android licenses accepted. [✓] Xcode - develop for iOS and macOS (Xcode 16.0) • Xcode at /Applications/Xcode.app/Contents/Developer • Build 16A242d • CocoaPods version 1.15.2 [✓] Chrome - develop for the web • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome [✓] Android Studio (version 2023.3) • Android Studio at /Applications/Android Studio.app/Contents • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11572160) [✓] VS Code (version 1.94.0) • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension version 3.98.0 [✓] VS Code (version 1.89.1) • VS Code at /Users/a.selvan/Downloads/Visual Studio Code.app/Contents • Flutter extension version 3.98.0 [✓] Connected device (6 available) • sdk gphone64 arm64 (mobile) • emulator-5554 • android-arm64 • Android 14 (API 34) (emulator) • Mr.Useless iPhone (mobile) • 00008030-000959562233402E • ios • iOS 18.1 22B5045g • iPhone 15 Pro (mobile) • 071246CF-083C-4D40-8218-F5BA3818E8B5 • ios • com.apple.CoreSimulator.SimRuntime.iOS-17-5 (simulator) • macOS (desktop) • macos • darwin-arm64 • macOS 15.0.1 24A348 darwin-arm64 • Mac Designed for iPad (desktop) • mac-designed-for-ipad • darwin • macOS 15.0.1 24A348 darwin-arm64 • Chrome (web) • chrome • web-javascript • Google Chrome 129.0.6668.90 [✓] Network resources • All expected network resources are available. • No issues found! ```
ghost commented 1 month ago

Hi @AgnelSelvan,

We have validated your query, and you can achieve the month header in Arabic localization with a custom widget. We have prepared a simple sample with a custom widget by referring to the shared KB below for your reference.

KB link : How to replace view header with custom widget in Flutter Date Range Picker? (syncfusion.com)

Please let us know if you need any further assistance.

Sample : gh_2116.zip

Regards, Thilip Chandru.

AgnelSelvan commented 4 weeks ago

Hello @ThilipChandru, but here we are using Header as well from SfDateRangePicker, to show Months and navigating to next or previous month

Screenshot 2024-10-28 at 1 30 10 pm

In this case the stack solution with custom datetime didn't worked here. Below attached screenshot for your reference

image
Ibrahim-Soar commented 2 weeks ago

Hi @ThilipChandru

If it is possible to add a "dayBuilder" argument like the "cellBuilder" argument to modify the day to be shown that would be the best option