From 0fce924e87c44934be7d0bf5b659d5a0770941df Mon Sep 17 00:00:00 2001 From: Hari Hara Sudhan Date: Wed, 21 Dec 2022 19:10:30 +0530 Subject: [PATCH 1/2] FLUT-7164-[feature]: Moved changes from release to master --- .../syncfusion_flutter_barcodes/CHANGELOG.md | 7 +- .../syncfusion_flutter_barcodes/README.md | 7 +- .../flutter/generated_plugin_registrant.cc | 2 + .../flutter/generated_plugin_registrant.h | 2 + .../linux/flutter/generated_plugins.cmake | 8 + .../example/pubspec.yaml | 2 +- .../windows/flutter/generated_plugins.cmake | 8 + .../error_correction_codewords.dart | 5 +- .../syncfusion_flutter_barcodes/pubspec.yaml | 9 +- .../syncfusion_flutter_calendar/CHANGELOG.md | 8 + .../syncfusion_flutter_calendar/README.md | 13 +- .../flutter/generated_plugin_registrant.cc | 2 + .../flutter/generated_plugin_registrant.h | 2 + .../linux/flutter/generated_plugins.cmake | 8 + .../example/pubspec.yaml | 6 +- .../flutter/generated_plugin_registrant.cc | 2 + .../flutter/generated_plugin_registrant.h | 2 + .../windows/flutter/generated_plugins.cmake | 8 + .../appointment_engine/appointment.dart | 11 +- .../appointment_engine/recurrence_helper.dart | 14 +- .../recurrence_properties.dart | 5 +- .../agenda_view_layout.dart | 63 +- .../allday_appointment_layout.dart | 7 +- .../appointment_layout.dart | 20 +- .../calendar/common/calendar_view_helper.dart | 24 +- .../resource_view/calendar_resource.dart | 2 +- .../settings/drag_and_drop_settings.dart | 2 +- .../src/calendar/settings/header_style.dart | 2 +- .../settings/month_view_settings.dart | 44 +- .../settings/resource_view_settings.dart | 2 +- .../settings/schedule_view_settings.dart | 46 +- .../src/calendar/settings/time_region.dart | 11 +- .../settings/time_slot_view_settings.dart | 4 +- .../calendar/settings/view_header_style.dart | 2 +- .../calendar/settings/week_number_style.dart | 2 +- .../lib/src/calendar/sfcalendar.dart | 143 +- .../lib/src/calendar/views/calendar_view.dart | 244 +- .../syncfusion_flutter_calendar/pubspec.yaml | 22 +- .../syncfusion_flutter_charts/CHANGELOG.md | 69 + packages/syncfusion_flutter_charts/README.md | 11 +- .../example/pubspec.lock | 91 +- .../example/pubspec.yaml | 7 +- .../chart/annotation/annotation_settings.dart | 4 +- .../lib/src/chart/axis/axis.dart | 14 +- .../lib/src/chart/axis/category_axis.dart | 4 +- .../lib/src/chart/axis/datetime_axis.dart | 4 +- .../chart/axis/datetime_category_axis.dart | 4 +- .../lib/src/chart/axis/logarithmic_axis.dart | 4 +- .../lib/src/chart/axis/numeric_axis.dart | 4 +- .../lib/src/chart/axis/plotband.dart | 33 +- .../lib/src/chart/base/chart_base.dart | 49 +- .../lib/src/chart/base/series_base.dart | 43 +- .../src/chart/chart_series/area_series.dart | 2 +- .../src/chart/chart_series/bar_series.dart | 2 +- .../chart_series/box_and_whisker_series.dart | 2 +- .../src/chart/chart_series/bubble_series.dart | 2 +- .../src/chart/chart_series/candle_series.dart | 2 +- .../src/chart/chart_series/column_series.dart | 2 +- .../chart/chart_series/error_bar_series.dart | 2 +- .../chart/chart_series/fastline_series.dart | 2 +- .../src/chart/chart_series/hilo_series.dart | 2 +- .../chart_series/hiloopenclose_series.dart | 2 +- .../chart/chart_series/histogram_series.dart | 2 +- .../src/chart/chart_series/line_series.dart | 2 +- .../chart/chart_series/range_area_series.dart | 2 +- .../chart_series/range_column_series.dart | 2 +- .../chart/chart_series/scatter_series.dart | 2 +- .../lib/src/chart/chart_series/series.dart | 6 + .../series_renderer_properties.dart | 22 +- .../chart_series/spline_area_series.dart | 2 +- .../spline_range_area_series.dart | 2 +- .../src/chart/chart_series/spline_series.dart | 2 +- .../chart_series/stacked_area_series.dart | 2 +- .../chart_series/stacked_bar_series.dart | 2 +- .../chart_series/stacked_column_series.dart | 2 +- .../chart_series/stacked_line_series.dart | 2 +- .../chart_series/stackedarea100_series.dart | 2 +- .../chart_series/stackedbar100_series.dart | 2 +- .../chart_series/stackedcolumn100_series.dart | 2 +- .../chart_series/stackedline100_series.dart | 2 +- .../chart/chart_series/step_area_series.dart | 2 +- .../chart/chart_series/stepline_series.dart | 2 +- .../chart/chart_series/waterfall_series.dart | 2 +- .../chart/chart_series/xy_data_series.dart | 4 +- .../common/cartesian_state_properties.dart | 7 +- .../lib/src/chart/common/data_label.dart | 2 +- .../src/chart/common/data_label_renderer.dart | 57 +- .../src/chart/common/interactive_tooltip.dart | 2 +- .../lib/src/chart/common/marker.dart | 2 +- .../common/trackball_marker_settings.dart | 4 +- .../src/chart/series_painter/bar_painter.dart | 7 +- .../chart/series_painter/bubble_painter.dart | 8 +- .../chart/series_painter/candle_painter.dart | 82 +- .../chart/series_painter/column_painter.dart | 7 +- .../series_painter/error_bar_painter.dart | 8 +- .../series_painter/fastline_painter.dart | 41 +- .../chart/series_painter/hilo_painter.dart | 25 +- .../series_painter/hiloopenclose_painter.dart | 33 +- .../series_painter/histogram_painter.dart | 7 +- .../chart/series_painter/line_painter.dart | 24 +- .../series_painter/range_column_painter.dart | 10 +- .../chart/series_painter/scatter_painter.dart | 8 +- .../chart/series_painter/spline_painter.dart | 4 +- .../series_painter/stacked_area_painter.dart | 6 +- .../series_painter/stacked_bar_painter.dart | 7 +- .../stacked_column_painter.dart | 7 +- .../series_painter/stacked_line_painter.dart | 28 +- .../series_painter/stepline_painter.dart | 24 +- .../accumulation_distribution_indicator.dart | 2 +- .../technical_indicators/atr_indicator.dart | 2 +- .../bollinger_bands_indicator.dart | 2 +- .../technical_indicators/ema_indicator.dart | 2 +- .../technical_indicators/macd_indicator.dart | 2 +- .../momentum_indicator.dart | 2 +- .../technical_indicators/rsi_indicator.dart | 2 +- .../technical_indicators/sma_indicator.dart | 2 +- .../stochastic_indicator.dart | 2 +- .../technical_indicator.dart | 18 +- .../technical_indicators/tma_indicator.dart | 2 +- .../lib/src/chart/trendlines/trendlines.dart | 2 +- .../src/chart/user_interaction/crosshair.dart | 2 +- .../src/chart/user_interaction/trackball.dart | 19 +- .../user_interaction/zooming_panning.dart | 2 +- .../lib/src/chart/utils/helper.dart | 69 +- .../circular_chart/base/circular_area.dart | 75 +- .../circular_chart/base/circular_base.dart | 1 + .../base/circular_state_properties.dart | 3 + .../renderer/circular_chart_annotation.dart | 4 +- .../renderer/data_label_renderer.dart | 695 +- .../renderer/doughnut_series.dart | 2 +- .../circular_chart/renderer/pie_series.dart | 2 +- .../renderer/radial_bar_series.dart | 2 +- .../lib/src/circular_chart/utils/helper.dart | 37 +- .../lib/src/common/common.dart | 8 +- .../lib/src/common/legend/legend.dart | 22 +- .../lib/src/common/template/rendering.dart | 199 +- .../user_interaction/selection_behavior.dart | 2 +- .../src/common/user_interaction/tooltip.dart | 9 +- .../tooltip_rendering_details.dart | 6 +- .../lib/src/common/utils/helper.dart | 45 +- .../src/funnel_chart/base/funnel_base.dart | 1 + .../funnel_chart/base/funnel_plot_area.dart | 8 +- .../base/funnel_state_properties.dart | 3 + .../funnel_chart/renderer/funnel_series.dart | 2 +- .../src/pyramid_chart/base/pyramid_base.dart | 1 + .../pyramid_chart/base/pyramid_plot_area.dart | 8 +- .../base/pyramid_state_properties.dart | 3 + .../renderer/pyramid_series.dart | 2 +- .../lib/src/pyramid_chart/utils/helper.dart | 37 +- .../lib/src/sparkline/marker.dart | 2 +- .../lib/src/sparkline/plot_band.dart | 2 +- .../sparkline/renderers/renderer_base.dart | 26 +- .../trackball/spark_chart_trackball.dart | 2 +- .../syncfusion_flutter_charts/pubspec.lock | 41 +- .../syncfusion_flutter_charts/pubspec.yaml | 9 +- packages/syncfusion_flutter_core/README.md | 11 +- .../flutter/generated_plugin_registrant.cc | 2 + .../flutter/generated_plugin_registrant.h | 2 + .../linux/flutter/generated_plugins.cmake | 8 + .../example/pubspec.yaml | 2 +- .../flutter/generated_plugin_registrant.cc | 2 + .../flutter/generated_plugin_registrant.h | 2 + .../windows/flutter/generated_plugins.cmake | 8 + .../lib/src/calendar/hijri_date_time.dart | 2 +- .../localizations/global_localizations.dart | 285 + .../lib/src/theme/barcodes_theme.dart | 2 +- .../lib/src/theme/calendar_theme.dart | 2 +- .../lib/src/theme/charts_theme.dart | 2 +- .../lib/src/theme/datagrid_theme.dart | 205 +- .../lib/src/theme/datapager_theme.dart | 2 +- .../lib/src/theme/daterangepicker_theme.dart | 2 +- .../lib/src/theme/gauges_theme.dart | 2 +- .../lib/src/theme/maps_theme.dart | 2 +- .../lib/src/theme/pdfviewer_theme.dart | 14 +- .../lib/src/theme/range_selector_theme.dart | 2 +- .../lib/src/theme/range_slider_theme.dart | 2 +- .../lib/src/theme/slider_theme.dart | 2 +- .../lib/src/theme/theme_widget.dart | 2 +- packages/syncfusion_flutter_core/pubspec.yaml | 2 +- .../syncfusion_flutter_datagrid/CHANGELOG.md | 83 + .../syncfusion_flutter_datagrid/README.md | 11 +- .../flutter/generated_plugin_registrant.cc | 2 + .../flutter/generated_plugin_registrant.h | 2 + .../linux/flutter/generated_plugins.cmake | 8 + .../example/pubspec.yaml | 2 +- .../flutter/generated_plugin_registrant.cc | 2 + .../flutter/generated_plugin_registrant.h | 2 + .../windows/flutter/generated_plugins.cmake | 8 + .../lib/datagrid.dart | 17 +- .../datagrid_widget/helper/callbackargs.dart | 21 + .../helper/datagrid_configuration.dart | 22 + .../helper/datagrid_helper.dart | 272 +- .../lib/src/datagrid_widget/helper/enums.dart | 100 + .../runtime/cell_renderers.dart | 2 + .../src/datagrid_widget/runtime/column.dart | 1217 +- .../datagrid_widget/runtime/generator.dart | 2 +- .../selection/selection_manager.dart | 117 +- .../lib/src/datagrid_widget/sfdatagrid.dart | 458 +- .../datagrid_widget/widgets/cell_widget.dart | 1511 ++- .../widgets/rendering_widget.dart | 40 +- .../widgets/scrollview_widget.dart | 42 +- .../lib/src/datapager/sfdatapager.dart | 145 +- .../lib/src/grid_common/line_size_host.dart | 16 +- .../lib/src/grid_common/utility_helper.dart | 21 +- .../syncfusion_flutter_datagrid/pubspec.yaml | 21 +- .../CHANGELOG.md | 2 +- .../README.md | 11 +- .../flutter/generated_plugin_registrant.cc | 2 + .../flutter/generated_plugin_registrant.h | 2 + .../linux/flutter/generated_plugins.cmake | 8 + .../example/pubspec.yaml | 2 +- .../flutter/generated_plugin_registrant.cc | 2 + .../flutter/generated_plugin_registrant.h | 2 + .../windows/flutter/generated_plugins.cmake | 8 + .../pubspec.yaml | 25 +- .../syncfusion_flutter_datepicker/README.md | 11 +- .../linux/flutter/generated_plugins.cmake | 8 + .../Flutter/GeneratedPluginRegistrant.swift | 2 - .../example/pubspec.yaml | 2 +- .../windows/flutter/generated_plugins.cmake | 8 + .../lib/src/date_picker/date_picker.dart | 41 +- .../src/date_picker/date_picker_manager.dart | 21 +- .../hijri_date_picker_manager.dart | 15 +- .../pubspec.yaml | 11 +- .../syncfusion_flutter_gauges/CHANGELOG.md | 2 +- packages/syncfusion_flutter_gauges/README.md | 11 +- .../flutter/generated_plugin_registrant.cc | 2 + .../flutter/generated_plugin_registrant.h | 2 + .../linux/flutter/generated_plugins.cmake | 8 + .../example/pubspec.yaml | 2 +- .../flutter/generated_plugin_registrant.cc | 2 + .../flutter/generated_plugin_registrant.h | 2 + .../windows/flutter/generated_plugins.cmake | 8 + .../linear_gauge/axis/linear_axis_label.dart | 2 +- .../axis/linear_axis_track_style.dart | 2 +- .../linear_gauge/axis/linear_tick_style.dart | 2 +- .../gauge/linear_gauge_render_widget.dart | 14 +- .../axis/radial_axis_parent_widget.dart | 10 +- .../styles/radial_knob_style.dart | 2 +- .../styles/radial_tail_style.dart | 2 +- .../styles/radial_text_style.dart | 2 +- .../styles/radial_tick_style.dart | 4 +- .../src/radial_gauge/title/radial_title.dart | 2 +- .../syncfusion_flutter_gauges/pubspec.yaml | 11 +- packages/syncfusion_flutter_maps/CHANGELOG.md | 7 +- packages/syncfusion_flutter_maps/README.md | 11 +- .../flutter/generated_plugin_registrant.cc | 2 + .../flutter/generated_plugin_registrant.h | 2 + .../linux/flutter/generated_plugins.cmake | 8 + .../example/pubspec.yaml | 4 +- .../flutter/generated_plugin_registrant.cc | 2 + .../flutter/generated_plugin_registrant.h | 2 + .../windows/flutter/generated_plugins.cmake | 8 + .../syncfusion_flutter_maps/lib/maps.dart | 4 +- .../lib/src/controller/map_provider.dart | 6 +- .../lib/src/elements/legend.dart | 2 +- .../lib/src/elements/marker.dart | 67 +- .../lib/src/layer/shape_layer.dart | 100 +- .../lib/src/layer/tile_layer.dart | 2 +- .../lib/src/settings.dart | 10 +- .../lib/src/utils.dart | 45 + packages/syncfusion_flutter_maps/pubspec.yaml | 13 +- packages/syncfusion_flutter_pdf/CHANGELOG.md | 28 +- packages/syncfusion_flutter_pdf/README.md | 14 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../example/lib/main.dart | 4 +- .../linux/flutter/generated_plugins.cmake | 8 + .../example/pubspec.yaml | 2 +- .../windows/flutter/generated_plugins.cmake | 8 + .../annotations/pdf_annotation.dart | 3 + .../pdf_annotation_collection.dart | 6 +- .../pdf_text_extractor/font_structure.dart | 4 +- .../page_resource_loader.dart | 7 +- .../pdf_text_extractor.dart | 2 +- .../pdf/implementation/forms/pdf_field.dart | 3 +- .../graphics/brushes/pdf_brush.dart | 3 +- .../pdf/implementation/graphics/pdf_pens.dart | 2 +- .../pdf/implementation/pages/pdf_page.dart | 63 +- .../implementation/primitives/pdf_stream.dart | 2 +- .../digital_signature/pdf_signature.dart | 19 +- .../pdf_signature_dictionary.dart | 5 +- .../lib/src/test/cross_reference_stream.dart | 70 +- .../lib/src/test/digital_signature.dart | 55 + .../lib/src/test/find_text.dart | 89 + .../lib/src/test/hyper_link.dart | 20 + .../lib/src/test/pdf_issues.dart | 52 +- packages/syncfusion_flutter_pdf/pubspec.lock | 39 +- packages/syncfusion_flutter_pdf/pubspec.yaml | 11 +- .../syncfusion_flutter_pdfviewer/CHANGELOG.md | 57 +- .../syncfusion_flutter_pdfviewer/README.md | 145 +- .../SyncfusionFlutterPdfViewerPlugin.java | 1 + .../example/pubspec.yaml | 2 +- .../lib/src/bookmark/bookmark_toolbar.dart | 2 +- .../lib/src/common/pdf_provider.dart | 1 - .../lib/src/common/pdfviewer_plugin.dart | 1 - .../lib/src/control/pdf_page_view.dart | 18 +- .../lib/src/control/pdf_scrollable.dart | 41 +- .../lib/src/control/pdfviewer_canvas.dart | 341 +- .../lib/src/control/scroll_head_overlay.dart | 10 +- .../lib/src/control/single_page_view.dart | 502 +- .../lib/src/pdfviewer.dart | 625 +- .../lib/src/test/textsearch.dart | 14 +- .../syncfusion_flutter_pdfviewer/pubspec.yaml | 48 +- .../syncfusion_flutter_signaturepad/README.md | 11 +- .../flutter/generated_plugin_registrant.cc | 2 + .../flutter/generated_plugin_registrant.h | 2 + .../linux/flutter/generated_plugins.cmake | 8 + .../example/pubspec.yaml | 2 +- .../flutter/generated_plugin_registrant.cc | 2 + .../flutter/generated_plugin_registrant.h | 2 + .../windows/flutter/generated_plugins.cmake | 8 + .../pubspec.yaml | 11 +- .../syncfusion_flutter_sliders/CHANGELOG.md | 41 + packages/syncfusion_flutter_sliders/README.md | 11 +- .../example/ios/Flutter/Debug.xcconfig | 1 - .../flutter/generated_plugin_registrant.cc | 2 + .../flutter/generated_plugin_registrant.h | 2 + .../linux/flutter/generated_plugins.cmake | 8 + .../example/pubspec.yaml | 2 +- .../flutter/generated_plugin_registrant.cc | 2 + .../flutter/generated_plugin_registrant.h | 2 + .../windows/flutter/generated_plugins.cmake | 8 + .../lib/src/range_selector.dart | 6 +- .../lib/src/range_slider.dart | 77 +- .../lib/src/range_slider_base.dart | 25 +- .../lib/src/slider.dart | 18 +- .../syncfusion_flutter_sliders/pubspec.yaml | 11 +- .../syncfusion_flutter_treemap/CHANGELOG.md | 2 +- packages/syncfusion_flutter_treemap/README.md | 11 +- .../flutter/generated_plugin_registrant.cc | 2 + .../flutter/generated_plugin_registrant.h | 2 + .../linux/flutter/generated_plugins.cmake | 8 + .../example/pubspec.yaml | 4 +- .../flutter/generated_plugin_registrant.cc | 2 + .../flutter/generated_plugin_registrant.h | 2 + .../windows/flutter/generated_plugins.cmake | 8 + .../lib/src/legend.dart | 2 +- .../lib/treemap.dart | 6 +- .../syncfusion_flutter_treemap/pubspec.yaml | 9 +- packages/syncfusion_flutter_xlsio/README.md | 11 +- .../example/lib/main.dart | 4 +- .../linux/flutter/generated_plugins.cmake | 8 + .../Flutter/GeneratedPluginRegistrant.swift | 2 - .../example/pubspec.yaml | 2 +- .../windows/flutter/generated_plugins.cmake | 8 + .../lib/src/test/autofilters.dart | 5 +- .../lib/src/test/autofit.dart | 5 +- .../lib/src/test/build_in_style.dart | 5 +- .../lib/src/test/cell_style.dart | 46 +- .../lib/src/test/conditional_formatting.dart | 6 +- .../lib/src/test/culture.dart | 5 +- .../lib/src/test/datavalidation.dart | 5 +- .../lib/src/test/date_time.dart | 5 +- .../lib/src/test/delete_column.dart | 5 +- .../lib/src/test/delete_row.dart | 5 +- .../lib/src/test/display_text.dart | 5 +- .../lib/src/test/formulas.dart | 79 +- .../lib/src/test/hyperlink.dart | 5 +- .../lib/src/test/image.dart | 5 +- .../lib/src/test/image_hyperlink.dart | 5 +- .../lib/src/test/images.dart | 43 +- .../lib/src/test/import_data.dart | 26 +- .../lib/src/test/insert_column.dart | 5 +- .../lib/src/test/insert_row.dart | 5 +- .../lib/src/test/merge_un_merge_cell.dart | 5 +- .../lib/src/test/number.dart | 5 +- .../lib/src/test/number_format.dart | 5 +- .../lib/src/test/sample_browser_samples.dart | 15 +- .../lib/src/test/table.dart | 5 +- .../lib/src/test/text.dart | 5 +- .../lib/src/test/workbook_protection.dart | 5 +- .../lib/src/test/worksheet_protection.dart | 5 +- .../lib/src/test/xlsio_workbook.dart | 4 +- .../lib/src/test/xlsio_worksheet.dart | 799 +- .../xlsio/autoFilters/autofilter_impl.dart | 805 +- .../autoFilters/autofiltercollection.dart | 102 +- .../lib/src/xlsio/cell_styles/borders.dart | 2 +- .../lib/src/xlsio/cell_styles/cell_style.dart | 2 +- .../lib/src/xlsio/general/enums.dart | 311 +- .../src/xlsio/general/serialize_workbook.dart | 569 +- .../lib/src/xlsio/general/workbook.dart | 59 + .../lib/src/xlsio/range/range.dart | 27 + .../lib/src/xlsio/worksheet/worksheet.dart | 97 +- .../xlsio/worksheet/worksheet_collection.dart | 46 + .../syncfusion_flutter_xlsio/lib/xlsio.dart | 37 +- .../syncfusion_flutter_xlsio/pubspec.yaml | 13 +- packages/syncfusion_localizations/README.md | 11 +- .../flutter/generated_plugin_registrant.cc | 2 + .../flutter/generated_plugin_registrant.h | 2 + .../linux/flutter/generated_plugins.cmake | 8 + .../example/pubspec.yaml | 2 +- .../flutter/generated_plugin_registrant.cc | 4 +- .../flutter/generated_plugin_registrant.h | 4 +- .../windows/flutter/generated_plugins.cmake | 8 + .../generated_syncfusion_localizations.dart | 10992 +++++++++++++++- .../lib/src/l10n/syncfusion_af.arb | 42 +- .../lib/src/l10n/syncfusion_am.arb | 48 +- .../lib/src/l10n/syncfusion_ar.arb | 48 +- .../lib/src/l10n/syncfusion_az.arb | 44 +- .../lib/src/l10n/syncfusion_be.arb | 106 +- .../lib/src/l10n/syncfusion_bg.arb | 80 +- .../lib/src/l10n/syncfusion_bn.arb | 46 +- .../lib/src/l10n/syncfusion_bs.arb | 44 +- .../lib/src/l10n/syncfusion_ca.arb | 42 +- .../lib/src/l10n/syncfusion_cs.arb | 42 +- .../lib/src/l10n/syncfusion_da.arb | 44 +- .../lib/src/l10n/syncfusion_de.arb | 54 +- .../lib/src/l10n/syncfusion_el.arb | 46 +- .../lib/src/l10n/syncfusion_en.arb | 239 + .../lib/src/l10n/syncfusion_en.json | 42 +- .../lib/src/l10n/syncfusion_es.arb | 50 +- .../lib/src/l10n/syncfusion_et.arb | 46 +- .../lib/src/l10n/syncfusion_eu.arb | 42 +- .../lib/src/l10n/syncfusion_fa.arb | 44 +- .../lib/src/l10n/syncfusion_fi.arb | 44 +- .../lib/src/l10n/syncfusion_fil.arb | 42 +- .../lib/src/l10n/syncfusion_fr.arb | 56 +- .../lib/src/l10n/syncfusion_gl.arb | 44 +- .../lib/src/l10n/syncfusion_gu.arb | 46 +- .../lib/src/l10n/syncfusion_he.arb | 52 +- .../lib/src/l10n/syncfusion_hi.arb | 80 +- .../lib/src/l10n/syncfusion_hr.arb | 74 +- .../lib/src/l10n/syncfusion_hu.arb | 46 +- .../lib/src/l10n/syncfusion_hy.arb | 50 +- .../lib/src/l10n/syncfusion_id.arb | 74 +- .../lib/src/l10n/syncfusion_is.arb | 44 +- .../lib/src/l10n/syncfusion_it.arb | 66 +- .../lib/src/l10n/syncfusion_ja.arb | 90 +- .../lib/src/l10n/syncfusion_ka.arb | 50 +- .../lib/src/l10n/syncfusion_kk.arb | 54 +- .../lib/src/l10n/syncfusion_km.arb | 48 +- .../lib/src/l10n/syncfusion_kn.arb | 48 +- .../lib/src/l10n/syncfusion_ko.arb | 80 +- .../lib/src/l10n/syncfusion_ky.arb | 50 +- .../lib/src/l10n/syncfusion_lo.arb | 46 +- .../lib/src/l10n/syncfusion_lt.arb | 44 +- .../lib/src/l10n/syncfusion_lv.arb | 44 +- .../lib/src/l10n/syncfusion_mk.arb | 56 +- .../lib/src/l10n/syncfusion_ml.arb | 42 +- .../lib/src/l10n/syncfusion_mn.arb | 46 +- .../lib/src/l10n/syncfusion_mr.arb | 50 +- .../lib/src/l10n/syncfusion_ms.arb | 42 +- .../lib/src/l10n/syncfusion_my.arb | 50 +- .../lib/src/l10n/syncfusion_nb.arb | 42 +- .../lib/src/l10n/syncfusion_ne.arb | 42 +- .../lib/src/l10n/syncfusion_nl.arb | 72 +- .../lib/src/l10n/syncfusion_no.arb | 42 +- .../lib/src/l10n/syncfusion_or.arb | 50 +- .../lib/src/l10n/syncfusion_pa.arb | 44 +- .../lib/src/l10n/syncfusion_pl.arb | 82 +- .../lib/src/l10n/syncfusion_ps.arb | 56 +- .../lib/src/l10n/syncfusion_pt.arb | 64 +- .../lib/src/l10n/syncfusion_pt_PT.arb | 78 +- .../lib/src/l10n/syncfusion_ro.arb | 46 +- .../lib/src/l10n/syncfusion_ru.arb | 56 +- .../lib/src/l10n/syncfusion_si.arb | 48 +- .../lib/src/l10n/syncfusion_sk.arb | 48 +- .../lib/src/l10n/syncfusion_sl.arb | 64 +- .../lib/src/l10n/syncfusion_sq.arb | 52 +- .../lib/src/l10n/syncfusion_sr.arb | 44 +- .../lib/src/l10n/syncfusion_sv.arb | 52 +- .../lib/src/l10n/syncfusion_sw.arb | 44 +- .../lib/src/l10n/syncfusion_ta.arb | 48 +- .../lib/src/l10n/syncfusion_te.arb | 44 +- .../lib/src/l10n/syncfusion_th.arb | 88 +- .../lib/src/l10n/syncfusion_tl.arb | 42 +- .../lib/src/l10n/syncfusion_tr.arb | 86 +- .../lib/src/l10n/syncfusion_uk.arb | 86 +- .../lib/src/l10n/syncfusion_ur.arb | 50 +- .../lib/src/l10n/syncfusion_uz.arb | 42 +- .../lib/src/l10n/syncfusion_vi.arb | 74 +- .../lib/src/l10n/syncfusion_zh.arb | 86 +- .../lib/src/l10n/syncfusion_zh_HK.arb | 88 +- .../lib/src/l10n/syncfusion_zh_TW.arb | 88 +- .../lib/src/l10n/syncfusion_zu.arb | 42 +- .../syncfusion_localizations/pubspec.yaml | 9 +- packages/syncfusion_officechart/README.md | 18 +- .../example/lib/main.dart | 4 +- .../linux/flutter/generated_plugins.cmake | 8 + .../Flutter/GeneratedPluginRegistrant.swift | 2 - .../example/pubspec.yaml | 2 +- .../windows/flutter/generated_plugins.cmake | 8 + .../lib/officechart.dart | 11 +- .../lib/src/chart/chart_enum.dart | 95 +- .../lib/src/chart/chart_impl.dart | 299 +- .../lib/src/chart/chart_serialization.dart | 660 +- .../lib/src/chart/chart_serie.dart | 8 + .../lib/src/test/chart.dart | 1538 ++- .../lib/src/test/images.dart | 3 +- .../lib/src/test/sample_browser_samples.dart | 6 +- packages/syncfusion_officechart/pubspec.yaml | 11 +- packages/syncfusion_officecore/README.md | 11 +- .../example/lib/helper/save_file_mobile.dart | 1 + .../example/lib/main.dart | 9 +- .../linux/flutter/generated_plugins.cmake | 8 + .../Flutter/GeneratedPluginRegistrant.swift | 2 - .../example/pubspec.yaml | 4 +- .../windows/flutter/generated_plugins.cmake | 8 + packages/syncfusion_officecore/pubspec.yaml | 13 +- .../syncfusion_pdfviewer_macos/CHANGELOG.md | 24 +- packages/syncfusion_pdfviewer_macos/LICENSE | 10 +- packages/syncfusion_pdfviewer_macos/README.md | 275 +- .../analysis_options.yaml | 7 +- .../example/README.md | 17 +- .../example/lib/main.dart | 96 +- .../flutter/generated_plugin_registrant.cc | 6 + .../flutter/generated_plugin_registrant.h | 2 + .../linux/flutter/generated_plugins.cmake | 9 + .../macos/Flutter/Flutter-Debug.xcconfig | 1 + .../macos/Flutter/Flutter-Release.xcconfig | 1 + .../Flutter/GeneratedPluginRegistrant.swift | 4 + .../macos/Runner.xcodeproj/project.pbxproj | 62 +- .../contents.xcworkspacedata | 3 + .../macos/Runner/DebugProfile.entitlements | 2 + .../example/pubspec.yaml | 52 +- .../flutter/generated_plugin_registrant.cc | 8 + .../flutter/generated_plugin_registrant.h | 2 + .../windows/flutter/generated_plugins.cmake | 10 + .../syncfusion_pdfviewer_macos/pubspec.yaml | 24 +- .../example/pubspec.yaml | 8 +- .../flutter/generated_plugin_registrant.cc | 3 + .../windows/flutter/generated_plugins.cmake | 9 + .../lib/src/method_channel_pdfviewer.dart | 1 - .../pubspec.yaml | 4 +- packages/syncfusion_pdfviewer_web/README.md | 2 +- .../example/pubspec.yaml | 10 +- .../syncfusion_pdfviewer_web/pubspec.yaml | 11 +- .../syncfusion_pdfviewer_windows/README.md | 2 +- .../syncfusion_pdfviewer_windows/pubspec.yaml | 4 +- 529 files changed, 28176 insertions(+), 5024 deletions(-) diff --git a/packages/syncfusion_flutter_barcodes/CHANGELOG.md b/packages/syncfusion_flutter_barcodes/CHANGELOG.md index 97fa8292d..f05e00385 100644 --- a/packages/syncfusion_flutter_barcodes/CHANGELOG.md +++ b/packages/syncfusion_flutter_barcodes/CHANGELOG.md @@ -1,3 +1,8 @@ +## [20.3.50] - 10/18/2022 + +**Bugs** +* #FB38178 - Now, the QR code generated for the input string contains spaces with `medium` [errorCorrectionLevel](https://pub.dev/documentation/syncfusion_flutter_barcodes/latest/barcodes/QRCode/errorCorrectionLevel.html) and `07` [codeVersion](https://pub.dev/documentation/syncfusion_flutter_barcodes/latest/barcodes/QRCode/codeVersion.html) will be scannable. + ## [18.3.35] - 10/01/2020 No changes. @@ -99,4 +104,4 @@ Initial release. * **One-dimensional barcodes** - Barcode Generator supports different one-dimensional barcode symbologies such as Code128, EAN8, EAN13, UPA-C, UPA-E, Code39, Code39 Extended, Code93 and Codabar. * **Two-dimensional barcode** - Barcode Generator supports popular QR Code and Data Matrix. * **Barcode customization** - Customize the visual appearance of barcodes using the backgroundColor and barColor properties, and adjust the size of smallest line or dot of the code using the module property. -* **Text customization** -Configure to display the barcode value and customize the position and style of the barcode text. \ No newline at end of file +* **Text customization** -Configure to display the barcode value and customize the position and style of the barcode text. diff --git a/packages/syncfusion_flutter_barcodes/README.md b/packages/syncfusion_flutter_barcodes/README.md index 0a6ae4f48..2ed755483 100644 --- a/packages/syncfusion_flutter_barcodes/README.md +++ b/packages/syncfusion_flutter_barcodes/README.md @@ -36,9 +36,6 @@ Explore the full capabilities of our Flutter widgets on your device by installin

- -

-

@@ -127,11 +124,11 @@ The following screenshot illustrates the result of the previous code sample. ### Support and feedback -* For any other queries, reach our [Syncfusion support team](https://www.syncfusion.com/support/directtrac/incidents/newincident) or post the queries through the [Community forums](https://www.syncfusion.com/forums) and submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter). +* For any other queries, reach our [Syncfusion support team](https://support.syncfusion.com/support/tickets/create) or post the queries through the [Community forums](https://www.syncfusion.com/forums) and submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter). * To renew the subscription, click [renew](https://www.syncfusion.com/sales/products) or contact our sales team at sales@syncfusion.com | Toll Free: 1-888-9 DOTNET. ### About Syncfusion Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 20,000 customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies. -Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls) and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to- deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file +Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), [Flutter](https://www.syncfusion.com/flutter-widgets), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([Flutter](https://www.syncfusion.com/flutter-widgets), [WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to- deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file diff --git a/packages/syncfusion_flutter_barcodes/example/linux/flutter/generated_plugin_registrant.cc b/packages/syncfusion_flutter_barcodes/example/linux/flutter/generated_plugin_registrant.cc index d38195aa0..e71a16d23 100644 --- a/packages/syncfusion_flutter_barcodes/example/linux/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_flutter_barcodes/example/linux/flutter/generated_plugin_registrant.cc @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" diff --git a/packages/syncfusion_flutter_barcodes/example/linux/flutter/generated_plugin_registrant.h b/packages/syncfusion_flutter_barcodes/example/linux/flutter/generated_plugin_registrant.h index 9bf747894..e0f0a47bc 100644 --- a/packages/syncfusion_flutter_barcodes/example/linux/flutter/generated_plugin_registrant.h +++ b/packages/syncfusion_flutter_barcodes/example/linux/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/syncfusion_flutter_barcodes/example/linux/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_barcodes/example/linux/flutter/generated_plugins.cmake index 51436ae8c..2e1de87a7 100644 --- a/packages/syncfusion_flutter_barcodes/example/linux/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_barcodes/example/linux/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_barcodes/example/pubspec.yaml b/packages/syncfusion_flutter_barcodes/example/pubspec.yaml index f9456b13a..8ee2a082f 100644 --- a/packages/syncfusion_flutter_barcodes/example/pubspec.yaml +++ b/packages/syncfusion_flutter_barcodes/example/pubspec.yaml @@ -14,7 +14,7 @@ description: A new Flutter project. version: 1.0.0 environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: diff --git a/packages/syncfusion_flutter_barcodes/example/windows/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_barcodes/example/windows/flutter/generated_plugins.cmake index 4d10c2518..b93c4c30c 100644 --- a/packages/syncfusion_flutter_barcodes/example/windows/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_barcodes/example/windows/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_barcodes/lib/src/barcode_generator/renderers/two_dimensional/error_correction_codewords.dart b/packages/syncfusion_flutter_barcodes/lib/src/barcode_generator/renderers/two_dimensional/error_correction_codewords.dart index a2d8ee406..3e61dc94c 100644 --- a/packages/syncfusion_flutter_barcodes/lib/src/barcode_generator/renderers/two_dimensional/error_correction_codewords.dart +++ b/packages/syncfusion_flutter_barcodes/lib/src/barcode_generator/renderers/two_dimensional/error_correction_codewords.dart @@ -1616,7 +1616,7 @@ class ErrorCorrectionCodeWords { /// Converts decimal to binary value List _convertDecimalToBinary(List decimalRepresentation) { final List toBinary = []; - for (int i = 0; i < eccw; i++) { + for (int i = 0; i < decimalRepresentation.length; i++) { final String temp = decimalRepresentation[i].toRadixString(2); String text = ''; @@ -1679,7 +1679,8 @@ class ErrorCorrectionCodeWords { } } - eccw = leadTermSource.length; + // QR code is not scannable when the input string contains spaces. + // eccw = leadTermSource.length; final List returnValue = []; for (int i = 0; i < leadTermSource.length; i++) { returnValue.add(leadTermSource.entries.elementAt(i).value); diff --git a/packages/syncfusion_flutter_barcodes/pubspec.yaml b/packages/syncfusion_flutter_barcodes/pubspec.yaml index 5da01d92d..bc9ec6ddd 100644 --- a/packages/syncfusion_flutter_barcodes/pubspec.yaml +++ b/packages/syncfusion_flutter_barcodes/pubspec.yaml @@ -4,12 +4,17 @@ version: 20.2.36 homepage: https://github.com/syncfusion/flutter-widgets/tree/master/packages/syncfusion_flutter_barcodes environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: sdk: flutter - syncfusion_flutter_core: ^20.2.36 + syncfusion_flutter_core: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-core + path: syncfusion_flutter_core + branch: release/20.4.0.1 + ref: release/20.4.0.1 dev_dependencies: flutter_test: diff --git a/packages/syncfusion_flutter_calendar/CHANGELOG.md b/packages/syncfusion_flutter_calendar/CHANGELOG.md index 00479a04d..66f408a75 100644 --- a/packages/syncfusion_flutter_calendar/CHANGELOG.md +++ b/packages/syncfusion_flutter_calendar/CHANGELOG.md @@ -1,3 +1,11 @@ +## [20.3.56] +**Features** +* Provided text style customization support for the text in the placeholder (`No events` and `No selected date`) in the month agenda view and (`No events`) in the schedule view of the flutter event calendar. + +## [20.2.43] +**Enhancements** +* Now, we have improved the behavior of the `appointmentBuilder` details `date` value to hold the start date of the appointment view in the Flutter event calendar. + ## [20.2.36] **Features** * Now, we have improved the behavior of the month header of ScheduleView with a minimum date in the Flutter event calendar. diff --git a/packages/syncfusion_flutter_calendar/README.md b/packages/syncfusion_flutter_calendar/README.md index f38a450c8..a4bf4656c 100644 --- a/packages/syncfusion_flutter_calendar/README.md +++ b/packages/syncfusion_flutter_calendar/README.md @@ -91,7 +91,7 @@ The Flutter Calendar widget has built-in configurable views such as day, week, w * **Week numbers** - Display the week numbers of the year in the month, week, and work week views of the Calendar. -![week_numbers](https://cdn.syncfusion.com/content/images/FTControl/Calendar/calendar_weeknumber.png) +![week_numbers](https://cdn.syncfusion.com/content/images/FTControl/Calendar/calendar-weeknumber.png) * **Quick view navigation** - Navigate among calendar views easily using the header date picker views button in the calendar header and clicking month cell and view headers. @@ -133,15 +133,12 @@ Explore the full capabilities of our Flutter widgets on your device by installin

- - + +

- -

-

@@ -316,11 +313,11 @@ class Meeting { ## Support and Feedback -* For any other queries, reach our [Syncfusion support team](https://www.syncfusion.com/support/directtrac/incidents/newincident) or post the queries through the [Community forums](https://www.syncfusion.com/forums) and submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter). +* For any other queries, reach our [Syncfusion support team](https://support.syncfusion.com/support/tickets/create) or post the queries through the [Community forums](https://www.syncfusion.com/forums) and submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter). * To renew the subscription, click [renew](https://www.syncfusion.com/sales/products) or contact our sales team at salessupport@syncfusion.com | Toll Free: 1-888-9 DOTNET. ## About Syncfusion Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 20,000 customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies. -Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), and [Blazor](https://www.syncfusion.com/blazor-components), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls) and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. +Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), [Flutter](https://www.syncfusion.com/flutter-widgets), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([Flutter](https://www.syncfusion.com/flutter-widgets), [WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file diff --git a/packages/syncfusion_flutter_calendar/example/linux/flutter/generated_plugin_registrant.cc b/packages/syncfusion_flutter_calendar/example/linux/flutter/generated_plugin_registrant.cc index d38195aa0..e71a16d23 100644 --- a/packages/syncfusion_flutter_calendar/example/linux/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_flutter_calendar/example/linux/flutter/generated_plugin_registrant.cc @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" diff --git a/packages/syncfusion_flutter_calendar/example/linux/flutter/generated_plugin_registrant.h b/packages/syncfusion_flutter_calendar/example/linux/flutter/generated_plugin_registrant.h index 9bf747894..e0f0a47bc 100644 --- a/packages/syncfusion_flutter_calendar/example/linux/flutter/generated_plugin_registrant.h +++ b/packages/syncfusion_flutter_calendar/example/linux/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/syncfusion_flutter_calendar/example/linux/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_calendar/example/linux/flutter/generated_plugins.cmake index 51436ae8c..2e1de87a7 100644 --- a/packages/syncfusion_flutter_calendar/example/linux/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_calendar/example/linux/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_calendar/example/pubspec.yaml b/packages/syncfusion_flutter_calendar/example/pubspec.yaml index 2ce47036f..110702420 100644 --- a/packages/syncfusion_flutter_calendar/example/pubspec.yaml +++ b/packages/syncfusion_flutter_calendar/example/pubspec.yaml @@ -3,7 +3,7 @@ description: Syncfusion calendar example. version: 1.0.0+1 environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: @@ -11,7 +11,7 @@ dependencies: cupertino_icons: ^1.0.2 syncfusion_flutter_calendar: - path: ../../syncfusion_flutter_calendar + path: ../ dev_dependencies: flutter_test: @@ -19,4 +19,4 @@ dev_dependencies: flutter: - uses-material-design: true \ No newline at end of file + uses-material-design: true diff --git a/packages/syncfusion_flutter_calendar/example/windows/flutter/generated_plugin_registrant.cc b/packages/syncfusion_flutter_calendar/example/windows/flutter/generated_plugin_registrant.cc index 4bfa0f3a3..8b6d4680a 100644 --- a/packages/syncfusion_flutter_calendar/example/windows/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_flutter_calendar/example/windows/flutter/generated_plugin_registrant.cc @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" diff --git a/packages/syncfusion_flutter_calendar/example/windows/flutter/generated_plugin_registrant.h b/packages/syncfusion_flutter_calendar/example/windows/flutter/generated_plugin_registrant.h index 9846246b4..dc139d85a 100644 --- a/packages/syncfusion_flutter_calendar/example/windows/flutter/generated_plugin_registrant.h +++ b/packages/syncfusion_flutter_calendar/example/windows/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/syncfusion_flutter_calendar/example/windows/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_calendar/example/windows/flutter/generated_plugins.cmake index 4d10c2518..b93c4c30c 100644 --- a/packages/syncfusion_flutter_calendar/example/windows/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_calendar/example/windows/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_engine/appointment.dart b/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_engine/appointment.dart index 8de70c329..11c013eb6 100644 --- a/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_engine/appointment.dart +++ b/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_engine/appointment.dart @@ -980,14 +980,17 @@ class Appointment with Diagnosticable { @override // ignore: avoid_equals_and_hash_code_on_mutable_classes int get hashCode { - return hashValues( + return Object.hash( startTimeZone, endTimeZone, recurrenceRule, isAllDay, notes, location, - hashList(resourceIds), + + /// Below condition is referred from text style class + /// https://api.flutter.dev/flutter/painting/TextStyle/hashCode.html + resourceIds == null ? null : Object.hashAll(resourceIds!), recurrenceId, id, appointmentType, @@ -995,7 +998,9 @@ class Appointment with Diagnosticable { endTime, subject, color, - hashList(recurrenceExceptionDates), + recurrenceExceptionDates == null + ? null + : Object.hashAll(recurrenceExceptionDates!), ); } diff --git a/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_engine/recurrence_helper.dart b/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_engine/recurrence_helper.dart index eb699f9a9..0bc8a0ebe 100644 --- a/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_engine/recurrence_helper.dart +++ b/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_engine/recurrence_helper.dart @@ -743,7 +743,7 @@ class RecurrenceHelper { final int nthWeekDay = _getWeekDay(byDayValue) % DateTime.daysPerWeek; final int bySetPosValue = int.parse(bySetPosCount); - void _updateValidDate() { + void updateValidDate() { final DateTime monthStart = DateTime(addDate.year, addDate.month, 1, recurrenceStartHour, recurrenceStartMinute, recurrenceStartSecond); final int monthStartWeekday = monthStart.weekday % DateTime.daysPerWeek; @@ -771,11 +771,11 @@ class RecurrenceHelper { } } - _updateValidDate(); + updateValidDate(); if (addDate.isBefore(recurrenceStartDate)) { addDate = DateTime(addDate.year, addDate.month + monthlyMonthGap, 1, recurrenceStartHour, recurrenceStartMinute, recurrenceStartSecond); - _updateValidDate(); + updateValidDate(); } while (tempCount < recCount || @@ -796,7 +796,7 @@ class RecurrenceHelper { addDate = DateTime(addDate.year, addDate.month + monthlyMonthGap, 1, recurrenceStartHour, recurrenceStartMinute, recurrenceStartSecond); - _updateValidDate(); + updateValidDate(); tempCount++; } } @@ -968,7 +968,7 @@ class RecurrenceHelper { final int bySetPosValue = int.parse(bySetPosCount); final int nthWeekDay = _getWeekDay(byDayValue) % DateTime.daysPerWeek; - void _updateValidNextDate() { + void updateValidNextDate() { while (true) { DateTime monthStart = DateTime( addDate.year, @@ -1019,7 +1019,7 @@ class RecurrenceHelper { } } - _updateValidNextDate(); + updateValidNextDate(); while (tempCount < recCount || (endDate != null && (addDate.isBefore(endDate) || addDate == endDate))) { @@ -1045,7 +1045,7 @@ class RecurrenceHelper { recurrenceStartSecond); tempCount++; - _updateValidNextDate(); + updateValidNextDate(); } } diff --git a/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_engine/recurrence_properties.dart b/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_engine/recurrence_properties.dart index d805255fc..412938573 100644 --- a/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_engine/recurrence_properties.dart +++ b/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_engine/recurrence_properties.dart @@ -1,5 +1,4 @@ import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; import 'package:syncfusion_flutter_datepicker/datepicker.dart' show IterableDiagnostics; @@ -718,14 +717,14 @@ class RecurrenceProperties with Diagnosticable { @override // ignore: avoid_equals_and_hash_code_on_mutable_classes int get hashCode { - return hashValues( + return Object.hash( recurrenceType, recurrenceCount, startDate, endDate, interval, recurrenceRange, - hashList(weekDays), + Object.hashAll(weekDays), week, dayOfMonth, dayOfWeek, diff --git a/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_layout/agenda_view_layout.dart b/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_layout/agenda_view_layout.dart index 227086d90..f8d0144b3 100644 --- a/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_layout/agenda_view_layout.dart +++ b/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_layout/agenda_view_layout.dart @@ -30,6 +30,7 @@ class AgendaViewLayout extends StatefulWidget { this.appointmentBuilder, this.width, this.height, + this.placeholderTextStyle, this.calendar); /// Defines the month view customization details. @@ -84,6 +85,9 @@ class AgendaViewLayout extends StatefulWidget { /// Defines the calendar widget. final SfCalendar calendar; + /// Defines the text style of the no events and no selected date. + final TextStyle placeholderTextStyle; + @override // ignore: library_private_types_in_public_api _AgendaViewLayoutState createState() => _AgendaViewLayoutState(); @@ -159,6 +163,7 @@ class _AgendaViewLayoutState extends State { _appointmentCollection, widget.width, widget.height, + widget.placeholderTextStyle, widgets: _children); } @@ -254,6 +259,7 @@ class _AgendaViewRenderWidget extends MultiChildRenderObjectWidget { this.appointmentCollection, this.width, this.height, + this.placeholderTextStyle, {List widgets = const []}) : super(children: widgets); @@ -273,26 +279,29 @@ class _AgendaViewRenderWidget extends MultiChildRenderObjectWidget { final List appointmentCollection; final double width; final double height; + final TextStyle placeholderTextStyle; @override _AgendaViewRenderObject createRenderObject(BuildContext context) { return _AgendaViewRenderObject( - monthViewSettings, - scheduleViewSettings, - selectedDate, - appointments, - isRTL, - locale, - localizations, - calendarTheme, - agendaViewNotifier, - appointmentTimeTextFormat, - timeLabelWidth, - textScaleFactor, - isMobilePlatform, - appointmentCollection, - width, - height); + monthViewSettings, + scheduleViewSettings, + selectedDate, + appointments, + isRTL, + locale, + localizations, + calendarTheme, + agendaViewNotifier, + appointmentTimeTextFormat, + timeLabelWidth, + textScaleFactor, + isMobilePlatform, + appointmentCollection, + width, + height, + placeholderTextStyle, + ); } @override @@ -313,7 +322,8 @@ class _AgendaViewRenderWidget extends MultiChildRenderObjectWidget { ..textScaleFactor = textScaleFactor ..appointmentCollection = appointmentCollection ..width = width - ..height = height; + ..height = height + ..placeholderTextStyle = placeholderTextStyle; } } @@ -334,7 +344,8 @@ class _AgendaViewRenderObject extends CustomCalendarRenderObject { this.isMobilePlatform, this._appointmentCollection, this._width, - this._height); + this._height, + this._placeholderTextStyle); final bool isMobilePlatform; @@ -351,6 +362,19 @@ class _AgendaViewRenderObject extends CustomCalendarRenderObject { markNeedsLayout(); } + TextStyle _placeholderTextStyle; + + TextStyle get placeholderTextStyle => _placeholderTextStyle; + + set placeholderTextStyle(TextStyle value) { + if (_placeholderTextStyle == value) { + return; + } + + _placeholderTextStyle = value; + markNeedsPaint(); + } + double _width; double get width => _width; @@ -1172,8 +1196,7 @@ class _AgendaViewRenderObject extends CustomCalendarRenderObject { text: selectedDate == null ? localizations.noSelectedDateCalendarLabel : localizations.noEventsCalendarLabel, - style: const TextStyle( - color: Colors.grey, fontSize: 15, fontFamily: 'Roboto'), + style: placeholderTextStyle, ); _updateTextPainterProperties(span); diff --git a/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_layout/allday_appointment_layout.dart b/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_layout/allday_appointment_layout.dart index d33226773..f73708124 100644 --- a/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_layout/allday_appointment_layout.dart +++ b/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_layout/allday_appointment_layout.dart @@ -145,6 +145,7 @@ class _AllDayAppointmentLayoutState extends State { Widget build(BuildContext context) { /// Create the widgets when appointment builder is not null. if (_children.isEmpty && widget.calendar.appointmentBuilder != null) { + final DateTime initialVisibleDate = widget.visibleDates[0]; for (int i = 0; i < _appointmentCollection.length; i++) { final AppointmentView appointmentView = _appointmentCollection[i]; @@ -156,10 +157,14 @@ class _AllDayAppointmentLayoutState extends State { continue; } - final DateTime date = DateTime( + final DateTime appStartTime = DateTime( appointmentView.appointment!.actualStartTime.year, appointmentView.appointment!.actualStartTime.month, appointmentView.appointment!.actualStartTime.day); + final DateTime date = appStartTime.isBefore(initialVisibleDate) + ? initialVisibleDate + : appStartTime; + final Widget child = widget.calendar.appointmentBuilder!( context, CalendarAppointmentDetails( diff --git a/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_layout/appointment_layout.dart b/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_layout/appointment_layout.dart index 98c124519..c9598f0a1 100644 --- a/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_layout/appointment_layout.dart +++ b/packages/syncfusion_flutter_calendar/lib/src/calendar/appointment_layout/appointment_layout.dart @@ -198,6 +198,7 @@ class _AppointmentLayoutState extends State { Widget build(BuildContext context) { /// Create the widgets when appointment builder is not null. if (_children.isEmpty && widget.calendar.appointmentBuilder != null) { + final DateTime initialVisibleDate = widget.visibleDates[0]; for (int i = 0; i < _appointmentCollection.length; i++) { final AppointmentView appointmentView = _appointmentCollection[i]; @@ -208,10 +209,16 @@ class _AppointmentLayoutState extends State { continue; } - final DateTime date = DateTime( + final DateTime appStartTime = DateTime( appointmentView.appointment!.actualStartTime.year, appointmentView.appointment!.actualStartTime.month, appointmentView.appointment!.actualStartTime.day); + final DateTime date = appointmentView.startIndex != -1 + ? widget.visibleDates[appointmentView.startIndex] + : appStartTime.isBefore(initialVisibleDate) + ? initialVisibleDate + : appStartTime; + final Widget child = widget.calendar.appointmentBuilder!( context, CalendarAppointmentDetails( @@ -723,6 +730,17 @@ class _AppointmentLayoutState extends State { /// 8 PM to 9 PM and the calendar end time is 6 PM then skip the /// rendering). continue; + } + + if (yPosition < 0 && yPosition + height > widget.height) { + /// Change the start position and height when appointment start time + /// before the calendar start time and appointment end time after the + /// calendar end time.(Eg., appointment start and end date as 6 AM to + /// 9 PM and the calendar start time is 8 AM and end time is 6 PM then + /// calculate the new size from 8 AM to 6 MM, if we does not calculate + /// the new size then the appointment text drawn on hidden place). + height = widget.height; + yPosition = 0; } else if (yPosition + height > widget.height) { /// Change the height when appointment end time greater than calendar /// time slot end time(Eg., calendar end time is 4 PM and appointment diff --git a/packages/syncfusion_flutter_calendar/lib/src/calendar/common/calendar_view_helper.dart b/packages/syncfusion_flutter_calendar/lib/src/calendar/common/calendar_view_helper.dart index 95fb43e14..a7edf467c 100644 --- a/packages/syncfusion_flutter_calendar/lib/src/calendar/common/calendar_view_helper.dart +++ b/packages/syncfusion_flutter_calendar/lib/src/calendar/common/calendar_view_helper.dart @@ -1031,7 +1031,7 @@ class CalendarAppointment { otherAppointment.isAllDay == isAllDay && otherAppointment.notes == notes && otherAppointment.location == location && - !CalendarViewHelper.isCollectionEqual( + CalendarViewHelper.isCollectionEqual( otherAppointment.resourceIds, resourceIds) && otherAppointment.recurrenceId == recurrenceId && otherAppointment.id == id && @@ -1047,14 +1047,17 @@ class CalendarAppointment { @override // ignore: avoid_equals_and_hash_code_on_mutable_classes int get hashCode { - return hashValues( + return Object.hash( startTimeZone, endTimeZone, recurrenceRule, isAllDay = false, notes, location, - hashList(resourceIds), + + /// Below condition is referred from text style class + /// https://api.flutter.dev/flutter/painting/TextStyle/hashCode.html + resourceIds == null ? null : Object.hashAll(resourceIds!), recurrenceId, id, data, @@ -1062,7 +1065,9 @@ class CalendarAppointment { endTime, subject, color, - hashList(recurrenceExceptionDates), + recurrenceExceptionDates == null + ? null + : Object.hashAll(recurrenceExceptionDates!), ); } } @@ -1203,15 +1208,20 @@ class CalendarTimeRegion { @override // ignore: avoid_equals_and_hash_code_on_mutable_classes int get hashCode { - return hashValues( + return Object.hash( startTime, endTime, color, recurrenceRule, textStyle, enablePointerInteraction, - hashList(recurrenceExceptionDates), - hashList(resourceIds), + + /// Below condition is referred from text style class + /// https://api.flutter.dev/flutter/painting/TextStyle/hashCode.html + recurrenceExceptionDates == null + ? null + : Object.hashAll(recurrenceExceptionDates!), + resourceIds == null ? null : Object.hashAll(resourceIds!), text, iconData, timeZone); diff --git a/packages/syncfusion_flutter_calendar/lib/src/calendar/resource_view/calendar_resource.dart b/packages/syncfusion_flutter_calendar/lib/src/calendar/resource_view/calendar_resource.dart index 350daf335..5f6c5085b 100644 --- a/packages/syncfusion_flutter_calendar/lib/src/calendar/resource_view/calendar_resource.dart +++ b/packages/syncfusion_flutter_calendar/lib/src/calendar/resource_view/calendar_resource.dart @@ -263,7 +263,7 @@ class CalendarResource with Diagnosticable { @override int get hashCode { - return hashValues(displayName, id, image, color); + return Object.hash(displayName, id, image, color); } @override diff --git a/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/drag_and_drop_settings.dart b/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/drag_and_drop_settings.dart index edf8ac267..7ed094732 100644 --- a/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/drag_and_drop_settings.dart +++ b/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/drag_and_drop_settings.dart @@ -251,7 +251,7 @@ class DragAndDropSettings with Diagnosticable { @override int get hashCode { - return hashValues(allowNavigation, allowScroll, showTimeIndicator, + return Object.hash(allowNavigation, allowScroll, showTimeIndicator, timeIndicatorStyle, indicatorTimeFormat, autoNavigateDelay); } } diff --git a/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/header_style.dart b/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/header_style.dart index 864e28fcc..2c78b4057 100644 --- a/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/header_style.dart +++ b/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/header_style.dart @@ -142,6 +142,6 @@ class CalendarHeaderStyle with Diagnosticable { @override int get hashCode { - return hashValues(textStyle, textAlign, backgroundColor); + return Object.hash(textStyle, textAlign, backgroundColor); } } diff --git a/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/month_view_settings.dart b/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/month_view_settings.dart index b26aa318b..e5c241510 100644 --- a/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/month_view_settings.dart +++ b/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/month_view_settings.dart @@ -665,7 +665,7 @@ class MonthViewSettings with Diagnosticable { @override int get hashCode { - return hashValues( + return Object.hash( dayFormat, monthCellStyle, agendaStyle, @@ -743,7 +743,9 @@ class AgendaStyle with Diagnosticable { {this.appointmentTextStyle, this.dayTextStyle, this.dateTextStyle, - this.backgroundColor}); + this.backgroundColor, + this.placeholderTextStyle = const TextStyle( + color: Colors.grey, fontSize: 15, fontFamily: 'Roboto')}); /// The text style for the text in the [Appointment] view in [SfCalendar] /// month agenda view. @@ -798,6 +800,34 @@ class AgendaStyle with Diagnosticable { /// ``` final TextStyle? appointmentTextStyle; + /// The text style for the text in the placeholder (no event text and + /// no selected date text) of the [SfCalendar] month agenda view. + /// + /// See also: + /// * [MonthViewSettings], to customize the month view of the calendar. + /// * [ScheduleViewSettings], to customize the schedule view of the calendar. + /// * [AgendaStyle], to customize the month agenda view of the calendar. + /// + /// ``` dart + /// + /// Widget build(BuildContext context) { + /// return Container( + /// child: SfCalendar( + /// view: CalendarView.month, + /// monthViewSettings: const MonthViewSettings(showAgenda: true, + /// agendaStyle: AgendaStyle( + /// placeholderTextStyle:TextStyle( + /// color: Colors.white, + /// fontSize: 20, + /// backgroundColor: + /// Colors.red),)), + /// ), + /// ); + /// } + /// + /// + final TextStyle placeholderTextStyle; + /// The text style for the text in the day text of [SfCalendar] month agenda /// view. /// @@ -967,7 +997,8 @@ class AgendaStyle with Diagnosticable { return otherStyle.appointmentTextStyle == appointmentTextStyle && otherStyle.dayTextStyle == dayTextStyle && otherStyle.dateTextStyle == dateTextStyle && - otherStyle.backgroundColor == backgroundColor; + otherStyle.backgroundColor == backgroundColor && + otherStyle.placeholderTextStyle == placeholderTextStyle; } @override @@ -980,15 +1011,18 @@ class AgendaStyle with Diagnosticable { properties .add(DiagnosticsProperty('dayTextStyle', dayTextStyle)); properties.add(ColorProperty('backgroundColor', backgroundColor)); + properties.add(DiagnosticsProperty( + 'placeholderTextStyle', placeholderTextStyle)); } @override int get hashCode { - return hashValues( + return Object.hash( appointmentTextStyle, dayTextStyle, dateTextStyle, backgroundColor, + placeholderTextStyle, ); } } @@ -1558,7 +1592,7 @@ class MonthCellStyle with Diagnosticable { @override int get hashCode { - return hashValues( + return Object.hash( textStyle, trailingDatesTextStyle, leadingDatesTextStyle, diff --git a/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/resource_view_settings.dart b/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/resource_view_settings.dart index b75e601bb..f52e7d9e1 100644 --- a/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/resource_view_settings.dart +++ b/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/resource_view_settings.dart @@ -252,7 +252,7 @@ class ResourceViewSettings with Diagnosticable { @override int get hashCode { - return hashValues( + return Object.hash( size, visibleResourceCount, showAvatar, displayNameTextStyle); } } diff --git a/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/schedule_view_settings.dart b/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/schedule_view_settings.dart index 8567b733c..32ee8a5c1 100644 --- a/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/schedule_view_settings.dart +++ b/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/schedule_view_settings.dart @@ -52,7 +52,9 @@ class ScheduleViewSettings with Diagnosticable { this.hideEmptyScheduleWeek = false, this.monthHeaderSettings = const MonthHeaderSettings(), this.weekHeaderSettings = const WeekHeaderSettings(), - this.dayHeaderSettings = const DayHeaderSettings()}) + this.dayHeaderSettings = const DayHeaderSettings(), + this.placeholderTextStyle = const TextStyle( + color: Colors.grey, fontSize: 15, fontFamily: 'Roboto')}) : assert(appointmentItemHeight >= -1); /// Sets the style to customize month label in [SfCalendar] schedule view. @@ -223,6 +225,32 @@ class ScheduleViewSettings with Diagnosticable { /// ``` final TextStyle? appointmentTextStyle; + /// The text style for the text in the placeholder (no event + /// text) of the [SfCalendar] schedule view. + /// + /// See also: + /// * [MonthViewSettings], to customize the month view of the calendar. + /// * [ScheduleViewSettings], to customize the schedule view of the calendar. + /// * [AgendaStyle], to customize the month agenda view of the calendar. + /// + /// ``` dart + /// + /// Widget build(BuildContext context) { + /// return Container( + /// child: SfCalendar( + /// view: CalendarView.schedule, + /// scheduleViewSettings: const ScheduleViewSettings( + /// placeholderTextStyle: TextStyle( + /// color: Colors.white, + /// fontSize: 20, + /// backgroundColor: Colors.red)), + /// ), + /// ); + /// } + /// + /// + final TextStyle placeholderTextStyle; + /// The height for each appointment view to layout within this in schedule /// view of [SfCalendar],. /// @@ -304,7 +332,8 @@ class ScheduleViewSettings with Diagnosticable { otherStyle.hideEmptyScheduleWeek == hideEmptyScheduleWeek && otherStyle.monthHeaderSettings == monthHeaderSettings && otherStyle.weekHeaderSettings == weekHeaderSettings && - otherStyle.dayHeaderSettings == dayHeaderSettings; + otherStyle.dayHeaderSettings == dayHeaderSettings && + otherStyle.placeholderTextStyle == placeholderTextStyle; } @override @@ -322,17 +351,20 @@ class ScheduleViewSettings with Diagnosticable { .add(DoubleProperty('appointmentItemHeight', appointmentItemHeight)); properties.add(DiagnosticsProperty( 'hideEmptyScheduleWeek', hideEmptyScheduleWeek)); + properties.add(DiagnosticsProperty( + 'placeholderTextStyle', placeholderTextStyle)); } @override int get hashCode { - return hashValues( + return Object.hash( appointmentTextStyle, appointmentItemHeight, hideEmptyScheduleWeek, monthHeaderSettings, weekHeaderSettings, - dayHeaderSettings); + dayHeaderSettings, + placeholderTextStyle); } } @@ -597,7 +629,7 @@ class MonthHeaderSettings with Diagnosticable { @override int get hashCode { - return hashValues( + return Object.hash( monthFormat, height, textAlign, backgroundColor, monthTextStyle); } } @@ -917,7 +949,7 @@ class WeekHeaderSettings with Diagnosticable { @override int get hashCode { - return hashValues(startDateFormat, endDateFormat, height, textAlign, + return Object.hash(startDateFormat, endDateFormat, height, textAlign, backgroundColor, weekTextStyle); } } @@ -1151,6 +1183,6 @@ class DayHeaderSettings with Diagnosticable { @override int get hashCode { - return hashValues(dayFormat, width, dayTextStyle, dateTextStyle); + return Object.hash(dayFormat, width, dayTextStyle, dateTextStyle); } } diff --git a/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/time_region.dart b/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/time_region.dart index 5bbc766f2..b4d126104 100644 --- a/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/time_region.dart +++ b/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/time_region.dart @@ -598,15 +598,20 @@ class TimeRegion with Diagnosticable { @override int get hashCode { - return hashValues( + return Object.hash( startTime, endTime, color, recurrenceRule, textStyle, enablePointerInteraction, - hashList(recurrenceExceptionDates), - hashList(resourceIds), + + /// Below condition is referred from text style class + /// https://api.flutter.dev/flutter/painting/TextStyle/hashCode.html + recurrenceExceptionDates == null + ? null + : Object.hashAll(recurrenceExceptionDates!), + resourceIds == null ? null : Object.hashAll(resourceIds!), text, iconData, timeZone); diff --git a/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/time_slot_view_settings.dart b/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/time_slot_view_settings.dart index ce62d247a..46303fa87 100644 --- a/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/time_slot_view_settings.dart +++ b/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/time_slot_view_settings.dart @@ -744,10 +744,10 @@ class TimeSlotViewSettings with Diagnosticable { @override int get hashCode { - return hashValues( + return Object.hash( startHour, endHour, - hashList(nonWorkingDays), + Object.hashAll(nonWorkingDays), timeInterval, timeIntervalHeight, timeIntervalWidth, diff --git a/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/view_header_style.dart b/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/view_header_style.dart index 0c13a6dc8..b3b30836d 100644 --- a/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/view_header_style.dart +++ b/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/view_header_style.dart @@ -161,7 +161,7 @@ class ViewHeaderStyle with Diagnosticable { @override int get hashCode { - return hashValues( + return Object.hash( backgroundColor, dayTextStyle, dateTextStyle, diff --git a/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/week_number_style.dart b/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/week_number_style.dart index c2a6196d1..6cae76fa5 100644 --- a/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/week_number_style.dart +++ b/packages/syncfusion_flutter_calendar/lib/src/calendar/settings/week_number_style.dart @@ -106,7 +106,7 @@ class WeekNumberStyle with Diagnosticable { @override int get hashCode { - return hashValues( + return Object.hash( backgroundColor, textStyle, ); diff --git a/packages/syncfusion_flutter_calendar/lib/src/calendar/sfcalendar.dart b/packages/syncfusion_flutter_calendar/lib/src/calendar/sfcalendar.dart index 572ef676c..35485b580 100644 --- a/packages/syncfusion_flutter_calendar/lib/src/calendar/sfcalendar.dart +++ b/packages/syncfusion_flutter_calendar/lib/src/calendar/sfcalendar.dart @@ -3444,7 +3444,7 @@ class _SfCalendarState extends State /// current date view added or not. bool isCurrentDateHighlightAdded = !isNeedCurrentDateHighlight; - CalendarDetails _triggerDisplayDateDetails(DateTime date) { + CalendarDetails triggerDisplayDateDetails(DateTime date) { if ((!_isRTL && viewPadding >= position.dx) || (_isRTL && _minWidth - viewPadding < position.dx)) { /// Return calendar details while the [getCalendarDetailsAtOffset] @@ -3491,7 +3491,7 @@ class _SfCalendarState extends State appointmentViewHeaderHeight + dividerHeight; if (topPosition <= yPosition && topPosition + displayDateHeight > yPosition) { - return _triggerDisplayDateDetails(scheduleDisplayDate); + return triggerDisplayDateDetails(scheduleDisplayDate); } topPosition += displayDateHeight; @@ -3514,7 +3514,7 @@ class _SfCalendarState extends State /// because display date view height as single appointment view height final double todayHeight = appointmentViewHeaderHeight + dividerHeight; if (topPosition <= yPosition && topPosition + todayHeight > yPosition) { - return _triggerDisplayDateDetails(scheduleCurrentDate); + return triggerDisplayDateDetails(scheduleCurrentDate); } topPosition += todayHeight; @@ -3557,7 +3557,7 @@ class _SfCalendarState extends State appointmentViewHeaderHeight + dividerHeight; if (topPosition <= yPosition && topPosition + displayDateHeight > yPosition) { - return _triggerDisplayDateDetails(scheduleDisplayDate); + return triggerDisplayDateDetails(scheduleDisplayDate); } topPosition += displayDateHeight; @@ -3575,7 +3575,7 @@ class _SfCalendarState extends State appointmentViewHeaderHeight + dividerHeight; if (topPosition <= yPosition && topPosition + currentDateHeight > yPosition) { - return _triggerDisplayDateDetails(scheduleCurrentDate); + return triggerDisplayDateDetails(scheduleCurrentDate); } topPosition += currentDateHeight; @@ -3678,7 +3678,7 @@ class _SfCalendarState extends State appointmentViewHeaderHeight + dividerHeight; if (topPosition <= yPosition && topPosition + displayDateHeight > yPosition) { - return _triggerDisplayDateDetails(scheduleDisplayDate); + return triggerDisplayDateDetails(scheduleDisplayDate); } topPosition += displayDateHeight; @@ -3696,7 +3696,7 @@ class _SfCalendarState extends State appointmentViewHeaderHeight + dividerHeight; if (topPosition <= yPosition && topPosition + currentDateHeight > yPosition) { - return _triggerDisplayDateDetails(scheduleCurrentDate); + return triggerDisplayDateDetails(scheduleCurrentDate); } topPosition += currentDateHeight; @@ -3735,7 +3735,7 @@ class _SfCalendarState extends State appointmentViewHeaderHeight + dividerHeight; if (topPosition <= yPosition && topPosition + displayDateHeight > yPosition) { - return _triggerDisplayDateDetails(scheduleDisplayDate); + return triggerDisplayDateDetails(scheduleDisplayDate); } topPosition += displayDateHeight; @@ -3749,7 +3749,7 @@ class _SfCalendarState extends State appointmentViewHeaderHeight + dividerHeight; if (topPosition <= yPosition && topPosition + currentDateHeight > yPosition) { - return _triggerDisplayDateDetails(scheduleCurrentDate); + return triggerDisplayDateDetails(scheduleCurrentDate); } topPosition += currentDateHeight; @@ -3879,7 +3879,7 @@ class _SfCalendarState extends State /// loads the time zone data base to handle the time zone for calendar Future _loadDataBase() async { final ByteData byteData = - await rootBundle.load('packages/timezone/data/2020a.tzf'); + await rootBundle.load('packages/timezone/data/latest_all.tzf'); initializeDatabase(byteData.buffer.asUint8List()); _timeZoneLoaded = true; return true; @@ -3984,6 +3984,10 @@ class _SfCalendarState extends State void _handleScheduleViewScrolled() { _removeDatePicker(); + if (_view != CalendarView.schedule) { + return; + } + double widgetPosition = 0; final double scrolledPosition = _agendaScrollController!.position.pixels; @@ -4524,7 +4528,7 @@ class _SfCalendarState extends State appEndDate = addDuration(appEndDate, Duration(days: value)) as DateTime; - void _addNewAppointmentWeekDate(DateTime date) { + void addNewAppointmentWeekDate(DateTime date) { /// Add newly added appointment dates into previous and next date /// collection based on the DateTime range. And it will ignore /// the dates which is same as previous date or next date. @@ -4540,7 +4544,7 @@ class _SfCalendarState extends State DateTime appCurrentDate = appDate; while (appCurrentDate.isBefore(appEndDate) || isSameDate(appCurrentDate, appEndDate)) { - _addNewAppointmentWeekDate(appCurrentDate); + addNewAppointmentWeekDate(appCurrentDate); appCurrentDate = addDuration( appCurrentDate, const Duration(days: DateTime.daysPerWeek)) as DateTime; @@ -5876,7 +5880,7 @@ class _SfCalendarState extends State allDayEventCount = _getAllDayCount(currentAppointments); } - void _addMonthHeaderView() { + void addMonthHeaderView() { /// Assign the intersection point based on previous view end position. scheduleViewDetails._intersectPoint = currentIndex >= 0 ? previousHeight + interSectPoint + viewTopPadding @@ -5892,7 +5896,7 @@ class _SfCalendarState extends State } } - void _addDisplayOrCurrentDateView({bool isDisplayDate = true}) { + void addDisplayOrCurrentDateView({bool isDisplayDate = true}) { final double highlightViewStartPosition = currentIndex >= 0 ? previousHeight + interSectPoint : -(previousHeight + height - interSectPoint); @@ -5935,7 +5939,7 @@ class _SfCalendarState extends State if (!isDisplayDateHighlightAdded && currentDate.isAfter(scheduleDisplayDate) && currentDate.month != scheduleDisplayDate.month) { - _addDisplayOrCurrentDateView(); + addDisplayOrCurrentDateView(); } /// Check the current date view not added in widget and appointment @@ -5949,7 +5953,7 @@ class _SfCalendarState extends State if (!isCurrentDateHighlightAdded && currentDate.isAfter(scheduleCurrentDate) && currentDate.month != scheduleCurrentDate.month) { - _addDisplayOrCurrentDateView(isDisplayDate: false); + addDisplayOrCurrentDateView(isDisplayDate: false); } /// Check if the view intersection point not set and the current week date @@ -5958,21 +5962,21 @@ class _SfCalendarState extends State if (scheduleViewDetails._intersectPoint == -1 && (startDate.month != currentDate.month || startDate.year != currentDate.year)) { - _addMonthHeaderView(); + addMonthHeaderView(); } /// Check the display date view not added in widget and appointment /// date is after of display date then add the display date view. if (!isDisplayDateHighlightAdded && currentDate.isAfter(scheduleDisplayDate)) { - _addDisplayOrCurrentDateView(); + addDisplayOrCurrentDateView(); } /// Check the current date view not added in widget and appointment /// date is after of current date then add the current date view. if (!isCurrentDateHighlightAdded && currentDate.isAfter(scheduleCurrentDate)) { - _addDisplayOrCurrentDateView(isDisplayDate: false); + addDisplayOrCurrentDateView(isDisplayDate: false); } final double totalPadding = (eventsCount + 1) * padding; @@ -6055,6 +6059,7 @@ class _SfCalendarState extends State widget.appointmentBuilder, _minWidth - viewPadding, panelHeight, + widget.monthViewSettings.agendaStyle.placeholderTextStyle, widget), )), onTapUp: (TapUpDetails details) { @@ -9035,6 +9040,8 @@ class _SfCalendarState extends State widget.appointmentBuilder, width, height, + widget + .monthViewSettings.agendaStyle.placeholderTextStyle, widget), onTapUp: (TapUpDetails details) { _handleTapForAgenda(details, null); @@ -9145,6 +9152,8 @@ class _SfCalendarState extends State widget.appointmentBuilder, width - _agendaDateViewWidth, painterHeight, + widget.monthViewSettings.agendaStyle + .placeholderTextStyle, widget), ], ), @@ -9460,6 +9469,7 @@ class _CalendarHeaderViewState extends State<_CalendarHeaderView> { context, style: widget.headerStyle.textStyle ?? widget.calendarTheme.headerTextStyle); + headerTextWidth = headerTextSize.width + padding + (widget.showDatePickerButton ? headerIconTextWidth : 0); @@ -9468,6 +9478,18 @@ class _CalendarHeaderViewState extends State<_CalendarHeaderView> { : headerTextSize.height; } + if (weekNumberEnabled) { + final Size weekNumberPanelSize = _getTextWidgetWidth( + '${widget.localizations.weeknumberLabel}$weekNumberString ', + widget.height, + widget.width, + context, + style: weekNumberTextStyle); + weekNumberTextWidth = weekNumberPanelSize.width + padding; + weekNumberPanelWidth = weekNumberTextWidth; + weekNumberPanelHeight = weekNumberPanelSize.height; + } + final Color? highlightColor = CalendarViewHelper.getTodayHighlightTextColor( widget.todayHighlightColor ?? widget.calendarTheme.todayHighlightColor, widget.todayTextStyle, @@ -9501,10 +9523,13 @@ class _CalendarHeaderViewState extends State<_CalendarHeaderView> { /// Assign divider width when today icon text shown. dividerWidth = widget.showDatePickerButton ? 10 : 0; - double totalWidth = - widget.width - totalArrowWidth - dividerWidth - todayIconWidth; + final double totalWidth = widget.width - + totalArrowWidth - + dividerWidth - + todayIconWidth - + headerTextWidth - + weekNumberPanelWidth; - totalWidth -= headerTextWidth; final Map calendarViewsWidth = {}; double allowedViewsWidth = 0; @@ -9594,41 +9619,38 @@ class _CalendarHeaderViewState extends State<_CalendarHeaderView> { ? maxHeaderHeight : widget.height; - headerWidth = widget.width - - calendarViewWidth - - todayIconWidth - - dividerWidth - - totalArrowWidth; - if (weekNumberEnabled) { - weekNumberPanelWidth = (headerWidth - headerTextWidth) + padding; - final double minimumWeekNumberWidth = headerWidth / 4; - if (weekNumberPanelWidth < minimumWeekNumberWidth) { - weekNumberPanelWidth = minimumWeekNumberWidth + padding; - headerWidth = headerTextWidth - weekNumberPanelWidth; - } else { - headerWidth = headerTextWidth; - } - final Size weekNumberPanelSize = _getTextWidgetWidth( - '${widget.localizations.weeknumberLabel}$weekNumberString ', - headerHeight, - weekNumberPanelWidth, - context, - style: weekNumberTextStyle); - weekNumberTextWidth = weekNumberPanelSize.width > weekNumberPanelWidth - ? weekNumberPanelWidth - : weekNumberPanelSize.width + padding; - weekNumberPanelHeight = weekNumberPanelSize.height; - final double occupiedWidth = widget.width - + /// Header will render based on its text width while week number enabled. + /// because the week number panel occupies the empty space to align the + /// today button and calendar view button on right side end. + headerWidth = headerTextWidth; + final double remainingWidth = widget.width - calendarViewWidth - todayIconWidth - dividerWidth - totalArrowWidth - weekNumberPanelWidth - headerWidth; - if (occupiedWidth < 0) { - headerWidth += occupiedWidth; + if (remainingWidth < 0) { + /// Clip the header text while the calendar view button, today button, + /// arrows and week number does not have space to render. + headerWidth += remainingWidth; + } else { + /// Assign the week number panel width is available space other than + /// header text width, calendar view button width, today button, + /// arrows width to align the today button and calendar view button + /// on right side end. + weekNumberPanelWidth += remainingWidth; } + } else { + /// Assign the header panel width is available space other than + /// calendar view button width, today button, arrows width to align the + /// today button and calendar view button on right side end. + headerWidth = widget.width - + calendarViewWidth - + todayIconWidth - + dividerWidth - + totalArrowWidth; } final List dates = widget.visibleDates; @@ -9652,7 +9674,7 @@ class _CalendarHeaderViewState extends State<_CalendarHeaderView> { prevArrowColor = prevArrowColor.withOpacity(prevArrowColor.opacity * 0.5); } - MainAxisAlignment _getAlignmentFromTextAlign() { + MainAxisAlignment getAlignmentFromTextAlign() { if (widget.headerStyle.textAlign == TextAlign.left || widget.headerStyle.textAlign == TextAlign.start) { return MainAxisAlignment.start; @@ -9673,7 +9695,7 @@ class _CalendarHeaderViewState extends State<_CalendarHeaderView> { (widget.headerStyle.textAlign == TextAlign.center || widget.headerStyle.textAlign == TextAlign.justify); - Alignment _getHeaderAlignment() { + Alignment getHeaderAlignment() { if (widget.headerStyle.textAlign == TextAlign.left || widget.headerStyle.textAlign == TextAlign.start) { return widget.isRTL ? Alignment.centerRight : Alignment.centerLeft; @@ -9733,7 +9755,7 @@ class _CalendarHeaderViewState extends State<_CalendarHeaderView> { alignment: Alignment.centerLeft, padding: const EdgeInsets.symmetric(horizontal: 5), child: Row( - mainAxisAlignment: _getAlignmentFromTextAlign(), + mainAxisAlignment: getAlignmentFromTextAlign(), children: widget.showDatePickerButton ? [ Flexible( @@ -9766,7 +9788,7 @@ class _CalendarHeaderViewState extends State<_CalendarHeaderView> { )), ) : Container( - alignment: _getHeaderAlignment(), + alignment: getHeaderAlignment(), color: headerBackgroundColor, width: isCenterAlignment && headerWidth > 200 ? 200 : headerWidth, height: headerHeight, @@ -9801,9 +9823,13 @@ class _CalendarHeaderViewState extends State<_CalendarHeaderView> { ? Colors.grey.withOpacity(0.3) : headerBackgroundColor, ), - width: isCenterAlignment && headerTextWidth > 200 - ? 200 - : headerTextWidth, + + /// Padding value is from parent container padding + /// value const EdgeInsets.all(2). + width: (isCenterAlignment && headerTextWidth > 200 + ? 200 + : headerTextWidth) - + padding, height: headerHeight, alignment: Alignment.center, padding: const EdgeInsets.symmetric(horizontal: 5), @@ -9847,7 +9873,7 @@ class _CalendarHeaderViewState extends State<_CalendarHeaderView> { width: isCenterAlignment ? weekNumberTextWidth : weekNumberPanelWidth, height: weekNumberPanelHeight, - alignment: _getHeaderAlignment(), + alignment: getHeaderAlignment(), child: Container( decoration: BoxDecoration( borderRadius: @@ -10472,8 +10498,7 @@ class _ScheduleLabelPainter extends CustomPainter { final TextSpan span = TextSpan( text: _localizations.noEventsCalendarLabel, style: scheduleViewSettings.weekHeaderSettings.weekTextStyle ?? - const TextStyle( - color: Colors.grey, fontSize: 15, fontFamily: 'Roboto'), + scheduleViewSettings.placeholderTextStyle, ); double xPosition = 10; diff --git a/packages/syncfusion_flutter_calendar/lib/src/calendar/views/calendar_view.dart b/packages/syncfusion_flutter_calendar/lib/src/calendar/views/calendar_view.dart index cbfe6589f..5be572291 100644 --- a/packages/syncfusion_flutter_calendar/lib/src/calendar/views/calendar_view.dart +++ b/packages/syncfusion_flutter_calendar/lib/src/calendar/views/calendar_view.dart @@ -417,14 +417,17 @@ class _CustomCalendarScrollViewState extends State _position = 0; } - if (widget.calendar.monthViewSettings.numberOfWeeksInView != - oldWidget.calendar.monthViewSettings.numberOfWeeksInView || - !CalendarViewHelper.isCollectionEqual( - widget.calendar.timeSlotViewSettings.nonWorkingDays, - oldWidget.calendar.timeSlotViewSettings.nonWorkingDays) || + if ((widget.view == CalendarView.month && + widget.calendar.monthViewSettings.numberOfWeeksInView != + oldWidget.calendar.monthViewSettings.numberOfWeeksInView) || widget.calendar.firstDayOfWeek != oldWidget.calendar.firstDayOfWeek || - widget.calendar.timeSlotViewSettings.numberOfDaysInView != - oldWidget.calendar.timeSlotViewSettings.numberOfDaysInView || + (widget.view != CalendarView.month && + (!CalendarViewHelper.isCollectionEqual( + widget.calendar.timeSlotViewSettings.nonWorkingDays, + oldWidget.calendar.timeSlotViewSettings.nonWorkingDays) || + widget.calendar.timeSlotViewSettings.numberOfDaysInView != + oldWidget + .calendar.timeSlotViewSettings.numberOfDaysInView)) || widget.isRTL != oldWidget.isRTL) { _updateVisibleDates(); _position = 0; @@ -784,7 +787,6 @@ class _CustomCalendarScrollViewState extends State widget.width, widget.height, currentState.widget.visibleDates.length, - currentState._allDayHeight, widget.isMobilePlatform); _dragDetails.value.appointmentView = appointmentView; _dragDifferenceOffset = null; @@ -923,7 +925,6 @@ class _CustomCalendarScrollViewState extends State widget.width, widget.height, currentState.widget.visibleDates.length, - currentState._allDayHeight, widget.isMobilePlatform); if (isTimelineView) { _updateAutoScrollDragTimelineView( @@ -1018,7 +1019,7 @@ class _CustomCalendarScrollViewState extends State _dragDetails.value.position.value!.dy <= viewHeaderHeight + allDayHeight && currentState._scrollController!.position.pixels != 0) { - Future _updateScrollPosition() async { + Future updateScrollPosition() async { double scrollPosition = currentState._scrollController!.position.pixels - timeIntervalHeight; @@ -1048,14 +1049,14 @@ class _CustomCalendarScrollViewState extends State _dragDetails.value.position.value!.dy <= viewHeaderHeight + allDayHeight && currentState._scrollController!.position.pixels != 0) { - _updateScrollPosition(); + updateScrollPosition(); } else if (_timer != null) { _timer!.cancel(); _timer = null; } } - _updateScrollPosition(); + updateScrollPosition(); } else if (_timer != null) { _timer!.cancel(); _timer = null; @@ -1079,7 +1080,7 @@ class _CustomCalendarScrollViewState extends State widget.height && currentState._scrollController!.position.pixels != currentState._scrollController!.position.maxScrollExtent) { - Future _updateScrollPosition() async { + Future updateScrollPosition() async { double scrollPosition = currentState._scrollController!.position.pixels + timeIntervalHeight; @@ -1115,14 +1116,14 @@ class _CustomCalendarScrollViewState extends State widget.height && currentState._scrollController!.position.pixels != currentState._scrollController!.position.maxScrollExtent) { - _updateScrollPosition(); + updateScrollPosition(); } else if (_timer != null) { _timer!.cancel(); _timer = null; } } - _updateScrollPosition(); + updateScrollPosition(); } else if (_timer != null) { _timer!.cancel(); _timer = null; @@ -1269,7 +1270,7 @@ class _CustomCalendarScrollViewState extends State ._scrollController!.position.maxScrollExtent) || (!widget.isRTL && currentState._scrollController!.position.pixels != 0))) { - Future _updateScrollPosition() async { + Future updateScrollPosition() async { double scrollPosition = currentState._scrollController!.position.pixels - timeIntervalHeight; @@ -1313,7 +1314,7 @@ class _CustomCalendarScrollViewState extends State (!widget.isRTL && currentState._scrollController!.position.pixels != 0))) { - _updateScrollPosition(); + updateScrollPosition(); } else if (_timer != null) { _timer!.cancel(); _timer = null; @@ -1334,7 +1335,7 @@ class _CustomCalendarScrollViewState extends State } } - _updateScrollPosition(); + updateScrollPosition(); } else if (_timer != null) { _timer!.cancel(); _timer = null; @@ -1382,7 +1383,7 @@ class _CustomCalendarScrollViewState extends State currentState._scrollController!.position.pixels != currentState ._scrollController!.position.maxScrollExtent))) { - Future _updateScrollPosition() async { + Future updateScrollPosition() async { double scrollPosition = currentState._scrollController!.position.pixels + timeIntervalHeight; @@ -1430,7 +1431,7 @@ class _CustomCalendarScrollViewState extends State currentState._scrollController!.position.pixels != currentState._scrollController!.position .maxScrollExtent))) { - _updateScrollPosition(); + updateScrollPosition(); } else if (_timer != null) { _timer!.cancel(); _timer = null; @@ -1451,7 +1452,7 @@ class _CustomCalendarScrollViewState extends State } } - _updateScrollPosition(); + updateScrollPosition(); } else if (_timer != null) { _timer!.cancel(); _timer = null; @@ -1509,7 +1510,7 @@ class _CustomCalendarScrollViewState extends State currentState ._timelineViewVerticalScrollController!.position.pixels != 0) { - Future _updateScrollPosition() async { + Future updateScrollPosition() async { double scrollPosition = currentState ._timelineViewVerticalScrollController!.position.pixels - resourceItemHeight; @@ -1531,14 +1532,14 @@ class _CustomCalendarScrollViewState extends State currentState._timelineViewVerticalScrollController!.position .pixels != 0) { - _updateScrollPosition(); + updateScrollPosition(); } else if (_timer != null) { _timer!.cancel(); _timer = null; } } - _updateScrollPosition(); + updateScrollPosition(); } else if (_timer != null) { _timer!.cancel(); _timer = null; @@ -1564,7 +1565,7 @@ class _CustomCalendarScrollViewState extends State ._timelineViewVerticalScrollController!.position.pixels != currentState._timelineViewVerticalScrollController!.position .maxScrollExtent) { - Future _updateScrollPosition() async { + Future updateScrollPosition() async { double scrollPosition = currentState ._timelineViewVerticalScrollController!.position.pixels + resourceItemHeight; @@ -1593,14 +1594,14 @@ class _CustomCalendarScrollViewState extends State .pixels != currentState._timelineViewVerticalScrollController! .position.maxScrollExtent) { - _updateScrollPosition(); + updateScrollPosition(); } else if (_timer != null) { _timer!.cancel(); _timer = null; } } - _updateScrollPosition(); + updateScrollPosition(); } else if (_timer != null) { _timer!.cancel(); _timer = null; @@ -1958,7 +1959,6 @@ class _CustomCalendarScrollViewState extends State widget.width, widget.height, currentState.widget.visibleDates.length, - currentState._allDayHeight, widget.isMobilePlatform); double xPosition = details.dx; double yPosition = appointmentPosition.dy; @@ -2543,8 +2543,20 @@ class _CustomCalendarScrollViewState extends State void _handlePointerSignal(PointerSignalEvent event) { final _CalendarViewState? viewKey = _getCurrentViewByVisibleDates(); if (event is PointerScrollEvent && viewKey != null) { - final double scrolledPosition = + double scrolledPosition = widget.isRTL ? -event.scrollDelta.dx : event.scrollDelta.dx; + + /// Check the scrolling is vertical and timeline view does not have + /// vertical scroll view then scroll the vertical movement on + /// Horizontal direction. + if (event.scrollDelta.dy.abs() > event.scrollDelta.dx.abs() && + viewKey._timelineViewVerticalScrollController!.position + .maxScrollExtent == + 0) { + scrolledPosition = + widget.isRTL ? -event.scrollDelta.dy : event.scrollDelta.dy; + } + final double targetScrollOffset = math.min( math.max( viewKey._scrollController!.position.pixels + scrolledPosition, @@ -3080,7 +3092,8 @@ class _CustomCalendarScrollViewState extends State ); _children[index] = view; - } // check and update the visible appointments in the view + } + // check and update the visible appointments in the view else if (!CalendarViewHelper.isCollectionEqual( appointmentLayout.visibleAppointments.value, _updateCalendarStateDetails.visibleAppointments)) { @@ -3118,6 +3131,43 @@ class _CustomCalendarScrollViewState extends State }, key: viewKey, ); + _children[index] = view; + } else if (view.calendar != widget.calendar) { + /// Update the calendar view when calendar properties like appointment + /// text style dynamically changed. + view = _CalendarView( + widget.calendar, + widget.view, + visibleDates, + widget.width, + widget.height, + widget.agendaSelectedDate, + widget.locale, + widget.calendarTheme, + view.regions, + view.blackoutDates, + _focusNode, + widget.removePicker, + widget.calendar.allowViewNavigation, + widget.controller, + widget.resourcePanelScrollController, + widget.resourceCollection, + widget.textScaleFactor, + widget.isMobilePlatform, + widget.minDate, + widget.maxDate, + widget.localizations, + widget.timelineMonthWeekNumberNotifier, + _dragDetails, + (UpdateCalendarStateDetails details) { + _updateCalendarViewStateDetails(details); + }, + (UpdateCalendarStateDetails details) { + _getCalendarViewStateDetails(details); + }, + key: viewKey, + ); + _children[index] = view; } else if (view.visibleDates == _currentViewVisibleDates) { /// Remove the appointment selection when the selected @@ -3378,9 +3428,12 @@ class _CustomCalendarScrollViewState extends State } else if (_currentChildIndex == 2) { _currentChildIndex = 0; } + + // resets position to zero on the swipe end to avoid the + // unwanted date updates. + _position = 0; }); - _resetPosition(); _updateAppointmentPainter(); } @@ -3412,9 +3465,12 @@ class _CustomCalendarScrollViewState extends State } else if (_currentChildIndex == 2) { _currentChildIndex = 1; } + + // resets position to zero on the swipe end to avoid the + // unwanted date updates. + _position = 0; }); - _resetPosition(); _updateAppointmentPainter(); } @@ -3629,15 +3685,6 @@ class _CustomCalendarScrollViewState extends State _updateAppointmentPainter(); } - // resets position to zero on the swipe end to avoid the unwanted date updates - void _resetPosition() { - SchedulerBinding.instance.addPostFrameCallback((_) { - if (_position.abs() == widget.width || _position.abs() == widget.height) { - _position = 0; - } - }); - } - void _updateScrollPosition() { SchedulerBinding.instance.addPostFrameCallback((_) { if (_previousViewKey.currentState == null || @@ -5608,7 +5655,6 @@ class _CalendarViewState extends State<_CalendarView> widget.width, widget.height, widget.visibleDates.length, - _allDayHeight, widget.isMobilePlatform); if (widget.view != CalendarView.month) { _horizontalLinesCount = CalendarViewHelper.getHorizontalLinesCount( @@ -5678,6 +5724,8 @@ class _CalendarViewState extends State<_CalendarView> _scrollToPosition(); } + widget.getCalendarState(_updateCalendarStateDetails); + /// Method called to update all day height, when the view changed from /// day to week views to avoid the blank space at the bottom of the view. final bool isCurrentView = @@ -5691,7 +5739,6 @@ class _CalendarViewState extends State<_CalendarView> widget.width, widget.height, widget.visibleDates.length, - _allDayHeight, widget.isMobilePlatform); /// Clear the all day panel selection when the calendar view changed @@ -5722,7 +5769,6 @@ class _CalendarViewState extends State<_CalendarView> /// When view switched from any other view to timeline view, and resource /// enabled the selection must render the first resource view. - widget.getCalendarState(_updateCalendarStateDetails); if (!CalendarViewHelper.isTimelineView(oldWidget.view) && _updateCalendarStateDetails.selectedDate != null && CalendarViewHelper.isResourceEnabled( @@ -5904,6 +5950,31 @@ class _CalendarViewState extends State<_CalendarView> final bool isCurrentView = _updateCalendarStateDetails.currentViewVisibleDates == widget.visibleDates; + + // Check and update the time interval height while the all day panel + // appointments updated(all day height is default value) for current view. + if (isCurrentView && _updateCalendarStateDetails.allDayPanelHeight != 0) { + final bool isDayView = CalendarViewHelper.isDayView( + widget.view, + widget.calendar.timeSlotViewSettings.numberOfDaysInView, + widget.calendar.timeSlotViewSettings.nonWorkingDays, + widget.calendar.monthViewSettings.numberOfWeeksInView); + final double viewHeaderHeight = CalendarViewHelper.getViewHeaderHeight( + widget.calendar.viewHeaderHeight, widget.view); + // Default all day height is 0 on week and work week view + // Default all day height is view header height on day view. + final double defaultAllDayHeight = isDayView ? viewHeaderHeight : 0; + if (_allDayHeight == defaultAllDayHeight) { + _timeIntervalHeight = _getTimeIntervalHeight( + widget.calendar, + widget.view, + widget.width, + widget.height, + widget.visibleDates.length, + widget.isMobilePlatform); + } + } + _updateAllDayHeight(isCurrentView); return MouseRegion( @@ -6120,7 +6191,6 @@ class _CalendarViewState extends State<_CalendarView> widget.width, widget.height, visibleDatesCount, - _allDayHeight, widget.isMobilePlatform); double timeToPosition = 0; final bool isTimelineView = CalendarViewHelper.isTimelineView(widget.view); @@ -6646,7 +6716,6 @@ class _CalendarViewState extends State<_CalendarView> widget.width, widget.height, widget.visibleDates.length, - _allDayHeight, widget.isMobilePlatform); final double overAllHeight = _timeIntervalHeight * _horizontalLinesCount!; @@ -6943,7 +7012,6 @@ class _CalendarViewState extends State<_CalendarView> widget.width, widget.height, widget.visibleDates.length, - _allDayHeight, widget.isMobilePlatform); if (isTimelineView) { @@ -7249,7 +7317,6 @@ class _CalendarViewState extends State<_CalendarView> widget.width, widget.height, widget.visibleDates.length, - _allDayHeight, widget.isMobilePlatform); final double timeLabelWidth = CalendarViewHelper.getTimeLabelWidth( @@ -7556,7 +7623,6 @@ class _CalendarViewState extends State<_CalendarView> widget.width, widget.height, widget.visibleDates.length, - _allDayHeight, widget.isMobilePlatform); if (yPosition! <= viewHeaderHeight + allDayPanelHeight && @@ -7569,7 +7635,7 @@ class _CalendarViewState extends State<_CalendarView> if (yPosition != null && yPosition! <= viewHeaderHeight + allDayPanelHeight && _scrollController!.offset != 0) { - Future _updateScrollPosition() async { + Future updateScrollPosition() async { double scrollPosition = _scrollController!.position.pixels - timeIntervalHeight; if (scrollPosition < 0) { @@ -7621,14 +7687,14 @@ class _CalendarViewState extends State<_CalendarView> if (yPosition != null && yPosition! <= viewHeaderHeight + allDayPanelHeight && _scrollController!.offset != 0) { - _updateScrollPosition(); + updateScrollPosition(); } else if (_autoScrollTimer != null) { _autoScrollTimer!.cancel(); _autoScrollTimer = null; } } - _updateScrollPosition(); + updateScrollPosition(); } else if (_autoScrollTimer != null) { _autoScrollTimer!.cancel(); _autoScrollTimer = null; @@ -7646,7 +7712,7 @@ class _CalendarViewState extends State<_CalendarView> yPosition! >= widget.height && _scrollController!.position.pixels != _scrollController!.position.maxScrollExtent) { - Future _updateScrollPosition() async { + Future updateScrollPosition() async { double scrollPosition = _scrollController!.position.pixels + timeIntervalHeight; if (scrollPosition > _scrollController!.position.maxScrollExtent) { @@ -7700,14 +7766,14 @@ class _CalendarViewState extends State<_CalendarView> yPosition! >= widget.height && _scrollController!.position.pixels != _scrollController!.position.maxScrollExtent) { - _updateScrollPosition(); + updateScrollPosition(); } else if (_autoScrollTimer != null) { _autoScrollTimer!.cancel(); _autoScrollTimer = null; } } - _updateScrollPosition(); + updateScrollPosition(); } else if (_autoScrollTimer != null) { _autoScrollTimer!.cancel(); _autoScrollTimer = null; @@ -7747,7 +7813,7 @@ class _CalendarViewState extends State<_CalendarView> _scrollController!.position.pixels != _scrollController!.position.maxScrollExtent) || (!_isRTL && _scrollController!.position.pixels != 0))) { - Future _updateScrollPosition() async { + Future updateScrollPosition() async { double scrollPosition = _scrollController!.position.pixels - timeIntervalHeight; if (_isRTL) { @@ -7804,14 +7870,14 @@ class _CalendarViewState extends State<_CalendarView> _scrollController!.position.pixels != _scrollController!.position.maxScrollExtent) || (!_isRTL && _scrollController!.position.pixels != 0))) { - _updateScrollPosition(); + updateScrollPosition(); } else if (_autoScrollTimer != null) { _autoScrollTimer!.cancel(); _autoScrollTimer = null; } } - _updateScrollPosition(); + updateScrollPosition(); } else if (_autoScrollTimer != null) { _autoScrollTimer!.cancel(); _autoScrollTimer = null; @@ -7833,7 +7899,7 @@ class _CalendarViewState extends State<_CalendarView> _scrollController!.position.pixels != _scrollController!.position.maxScrollExtent) || (_isRTL && _scrollController!.position.pixels != 0))) { - Future _updateScrollPosition() async { + Future updateScrollPosition() async { double scrollPosition = _scrollController!.position.pixels + timeIntervalHeight; if (_isRTL) { @@ -7890,14 +7956,14 @@ class _CalendarViewState extends State<_CalendarView> _scrollController!.position.pixels != _scrollController!.position.maxScrollExtent) || (_isRTL && _scrollController!.position.pixels != 0))) { - _updateScrollPosition(); + updateScrollPosition(); } else if (_autoScrollTimer != null) { _autoScrollTimer!.cancel(); _autoScrollTimer = null; } } - _updateScrollPosition(); + updateScrollPosition(); } else if (_autoScrollTimer != null) { _autoScrollTimer!.cancel(); _autoScrollTimer = null; @@ -7945,7 +8011,6 @@ class _CalendarViewState extends State<_CalendarView> widget.width, widget.height, widget.visibleDates.length, - _allDayHeight, widget.isMobilePlatform); double minimumTimeIntervalSize = timeIntervalSize / 4; if (minimumTimeIntervalSize < 20) { @@ -7986,7 +8051,6 @@ class _CalendarViewState extends State<_CalendarView> widget.width, widget.height, widget.visibleDates.length, - _allDayHeight, widget.isMobilePlatform); double minimumTimeIntervalSize = timeIntervalSize / (widget.view == CalendarView.timelineMonth ? 2 : 4); @@ -8063,7 +8127,6 @@ class _CalendarViewState extends State<_CalendarView> widget.width, widget.height, widget.visibleDates.length, - _allDayHeight, widget.isMobilePlatform); late DateTime resizingTime; CalendarResource? resource; @@ -9145,8 +9208,15 @@ class _CalendarViewState extends State<_CalendarView> widget.calendar.onSelectionChanged); if (canRaiseLongPress || canRaiseTap || canRaiseSelectionChanged) { - final DateTime selectedDate = - _getDateFromPosition(xDetails, yDetails - viewHeaderHeight, 0)!; + final DateTime? selectedDate = + _getDateFromPosition(xDetails, yDetails - viewHeaderHeight, 0); + + /// Restrict the tap/long press callback while interact after + /// the timeslots. + if (selectedDate == null) { + return null; + } + final int timeInterval = CalendarViewHelper.getTimeInterval( widget.calendar.timeSlotViewSettings); if (appointmentView == null) { @@ -9752,10 +9822,16 @@ class _CalendarViewState extends State<_CalendarView> yPosition, timeLabelWidth); + /// Restrict the tap/long press callback while interact after + /// the timeslots. + if (selectedDate == null) { + return null; + } + if (!CalendarViewHelper.isDateTimeWithInDateTimeRange( widget.calendar.minDate, widget.calendar.maxDate, - selectedDate!, + selectedDate, timeInterval)) { return null; } @@ -9848,7 +9924,6 @@ class _CalendarViewState extends State<_CalendarView> widget.width, widget.height, widget.visibleDates.length, - _allDayHeight, widget.isMobilePlatform); final double minuteHeight = timeIntervalSize / @@ -9935,7 +10010,6 @@ class _CalendarViewState extends State<_CalendarView> double width, double height, int visibleDatesCount, - double allDayHeight, bool isMobilePlatform) { final bool isTimelineView = CalendarViewHelper.isTimelineView(view); final bool isDayView = CalendarViewHelper.isDayView( @@ -9955,20 +10029,40 @@ class _CalendarViewState extends State<_CalendarView> double viewHeaderHeight = CalendarViewHelper.getViewHeaderHeight(calendar.viewHeaderHeight, view); + double allDayViewHeight = 0; + + final bool isCurrentView = + _updateCalendarStateDetails.currentViewVisibleDates == + widget.visibleDates; if (isDayView) { - allDayHeight = _kAllDayLayoutHeight; + if (isCurrentView) { + allDayViewHeight = _kAllDayLayoutHeight > viewHeaderHeight && + _updateCalendarStateDetails.allDayPanelHeight > viewHeaderHeight + ? _updateCalendarStateDetails.allDayPanelHeight > + _kAllDayLayoutHeight + ? _kAllDayLayoutHeight + : _updateCalendarStateDetails.allDayPanelHeight + : viewHeaderHeight; + if (allDayViewHeight < _updateCalendarStateDetails.allDayPanelHeight) { + allDayViewHeight += kAllDayAppointmentHeight; + } + } else { + allDayViewHeight = viewHeaderHeight; + } + viewHeaderHeight = 0; - } else { - allDayHeight = allDayHeight > _kAllDayLayoutHeight - ? _kAllDayLayoutHeight - : allDayHeight; + } else if (isCurrentView) { + allDayViewHeight = + _updateCalendarStateDetails.allDayPanelHeight > _kAllDayLayoutHeight + ? _kAllDayLayoutHeight + : _updateCalendarStateDetails.allDayPanelHeight; } switch (view) { case CalendarView.day: case CalendarView.week: case CalendarView.workWeek: - timeIntervalHeight = (height - allDayHeight - viewHeaderHeight) / + timeIntervalHeight = (height - allDayViewHeight - viewHeaderHeight) / CalendarViewHelper.getHorizontalLinesCount( calendar.timeSlotViewSettings, view); break; diff --git a/packages/syncfusion_flutter_calendar/pubspec.yaml b/packages/syncfusion_flutter_calendar/pubspec.yaml index 78973ea81..dff67baca 100644 --- a/packages/syncfusion_flutter_calendar/pubspec.yaml +++ b/packages/syncfusion_flutter_calendar/pubspec.yaml @@ -1,18 +1,28 @@ name: syncfusion_flutter_calendar description: The Flutter Calendar widget has nine built-in configurable views that provide basic functionalities for scheduling and representing appointments/events efficiently. -version: 20.2.36 +version: 18.3.35 homepage: https://github.com/syncfusion/flutter-examples environment: - sdk: '>=2.12.0 <3.0.0' + sdk: '>=2.17.0 <3.0.0' dependencies: flutter: sdk: flutter - timezone: 0.8.0 - syncfusion_flutter_core: ^20.2.36 + timezone: 0.9.0 + syncfusion_flutter_core: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-core + path: syncfusion_flutter_core + branch: release/20.4.0.1 + ref: release/20.4.0.1 - syncfusion_flutter_datepicker: ^20.2.36 + syncfusion_flutter_datepicker: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-datepicker + path: flutter_datepicker/syncfusion_flutter_datepicker + branch: release/20.4.0.1 + ref: release/20.4.0.1 intl: ">=0.15.0 <0.20.0" @@ -22,4 +32,4 @@ dev_dependencies: flutter: assets: - - packages/timezone/data/2020a.tzf + - packages/timezone/data/latest_all.tzf diff --git a/packages/syncfusion_flutter_charts/CHANGELOG.md b/packages/syncfusion_flutter_charts/CHANGELOG.md index e474d2db5..0ab9f8a3b 100644 --- a/packages/syncfusion_flutter_charts/CHANGELOG.md +++ b/packages/syncfusion_flutter_charts/CHANGELOG.md @@ -1,5 +1,74 @@ ## Unreleased +**Bugs** + +* #FB37705 - Now, the circular data label builder will render properly with connector lines. + +## [20.3.69] - 12/06/2022 + +**Bugs** +* #FB39502 - Now, the series is rendered with both the [primaryXAxis](https://pub.dev/documentation/syncfusion_flutter_charts/latest/charts/SfCartesianChart/primaryXAxis.html) and [primaryYAxis](https://pub.dev/documentation/syncfusion_flutter_charts/latest/charts/SfCartesianChart/primaryYAxis.html) as [LogarithmicAxis](https://pub.dev/documentation/syncfusion_flutter_charts/latest/charts/LogarithmicAxis-class.html). +* #FB39157 - Now, the [onPointTap](https://pub.dev/documentation/syncfusion_flutter_charts/latest/charts/CartesianSeries/onPointTap.html) event returns the respective data point index while having the nearest x values. + +## [20.3.59] - 11/29/2022 + +**Bugs** +* #FB37704 - Now, the fast line series will render the line when the data points are outside of the range controller's. + +## [20.3.57] - 11/15/2022 + +**Bugs** +* #FB38884 - The null exception will no longer be thrown in the chart while dynamically enabling the [isVisibleInLegend](https://pub.dev/documentation/syncfusion_flutter_charts/latest/charts/CartesianSeries/isVisibleInLegend.html) property for the series. + +## [20.3.56] - 11/08/2022 + +**Bugs** +* #FB37724 - Now, the Null check operator exception will no longer be thrown when refreshing the chart in the [onLegendTapped](https://pub.dev/documentation/syncfusion_flutter_charts/latest/charts/SfCartesianChart/onLegendTapped.html) callback. +* #FB38586 - Now, the plot band will render properly for the [LogarithmicAxis](https://pub.dev/documentation/syncfusion_flutter_charts/latest/charts/LogarithmicAxis-class.html). + +## [20.3.52] - 10/26/2022 + +**Bugs** +* #FB38235 - The Null exception will no longer be thrown in trackball when using the RangeAreaSeries and AreaSeries with different data sources. + +## [20.3.50] - 10/18/2022 + +**Bugs** +* #FB37724 - Now, the series visibility gets toggled properly when setting the series visibility using the [onLegendTapped](https://pub.dev/documentation/syncfusion_flutter_charts/latest/charts/SfCartesianChart/onLegendTapped.html) callback. +* #FB37885 - Now, the candle series gets rendered properly when it starts updating data dynamically with a single data point. +* #FB38196 - Now, there is no exception that occurs while calling the trackball public method [show](https://pub.dev/documentation/syncfusion_flutter_charts/latest/charts/TrackballBehavior/show.html) when there is no visible series in the chart. +* #FB38080 - Now, the trackball tooltip with builder will activate properly when using the [show](https://pub.dev/documentation/syncfusion_flutter_charts/latest/charts/TrackballBehavior/show.html) public method if the trackball is already moved in the chart using user interaction. +* #FB38046 - Now, the doughnut series with stroke border renders properly with CornerStyle as both sided curve. +* #FB37274 - Now, Infinity or NaN toInt exception will no longer be thrown when rendering Bollinger band with mapping more number identical close point values. + +## [20.3.49] - 10/11/2022 + +**Bugs** +* #FB36732 - Now, while performing zooming and panning, the hidden series won't become visible. + +## [20.3.47] - 09/29/2022 + +**Bugs** +* #FB37559 - Now, the `NoSuchMethodError` exception will not be thrown when a tooltip is activated using the `showByIndex` method in circular charts. +* #FB37311 - The FastLineSeries renders when all the y-values are the same. +* #FB36534 – Now, the pie series will explode immediately. +* #FB37039 - When panning the X-axis with `zoomMode` as `ZoomMode.X`, the Y-axis range does not change. +* #I392604, G821 - Now, the candle series width will not decrease when having the MACD indicator. +* #I373783 - Now, the hollow candle will not throw an exception when setting the visible range. + +## [20.2.44] - 08/16/2022 + +**Bugs** +* Now, the 'size should not be infinite' assertion failed exception will not be thrown when having the SVG image as an annotation at the start and end point in the chart. + +## [20.2.43] - 08/08/2022 + +**Bugs** +* Now, the startup animation will work for circular, funnel, and pyramid charts when having the [legendItemBuilder](https://pub.dev/documentation/syncfusion_flutter_charts/latest/charts/Legend/legendItemBuilder.html) in legend. +* Now, the tooltip will display the correct value when using the logarithmic axis. + +## [20.2.36] - 07/01/2022 + **Features** * Provided the support to customize the date-time axis labels based on the interval type. diff --git a/packages/syncfusion_flutter_charts/README.md b/packages/syncfusion_flutter_charts/README.md index 5e1745d98..824caf187 100644 --- a/packages/syncfusion_flutter_charts/README.md +++ b/packages/syncfusion_flutter_charts/README.md @@ -84,15 +84,12 @@ Explore the full capabilities of our Flutter widgets on your device by installin

- - + +

- -

-

@@ -320,7 +317,7 @@ Widget build(BuildContext context) { ## Support and Feedback -* For any other queries, reach our [Syncfusion support team](https://www.syncfusion.com/support/directtrac/incidents/newincident?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev) or post the queries through the [Community forums](https://www.syncfusion.com/forums?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev) and submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev). +* For any other queries, reach our [Syncfusion support team](https://support.syncfusion.com/support/tickets/create?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev) or post the queries through the [Community forums](https://www.syncfusion.com/forums?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev) and submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev). * To renew the subscription, click [renew](https://www.syncfusion.com/sales/products?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev) or contact our sales team at salessupport@syncfusion.com | Toll Free: 1-888-9 DOTNET. ## About Syncfusion Flutter Widgets @@ -330,4 +327,4 @@ The Syncfusion's [Flutter library](https://www.syncfusion.com/flutter-widgets?ut Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 20,000 customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies. -Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [JavaScript](https://www.syncfusion.com/javascript-ui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [Angular](https://www.syncfusion.com/angular-ui-components?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [React](https://www.syncfusion.com/react-ui-components?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [Vue](https://www.syncfusion.com/vue-ui-components?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), and [Blazor](https://www.syncfusion.com/blazor-components?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [Flutter](https://www.syncfusion.com/flutter-widgets?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [UWP](https://www.syncfusion.com/uwp-ui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev)), and desktop development ([WinForms](https://www.syncfusion.com/winforms-ui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [WPF](https://www.syncfusion.com/wpf-ui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [UWP](https://www.syncfusion.com/uwp-ui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev) and [WinUI](https://www.syncfusion.com/winui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev)). We provide ready-to deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file +Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [JavaScript](https://www.syncfusion.com/javascript-ui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [Angular](https://www.syncfusion.com/angular-ui-components?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [React](https://www.syncfusion.com/react-ui-components?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [Vue](https://www.syncfusion.com/vue-ui-components?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [Flutter](https://www.syncfusion.com/flutter-widgets), and [Blazor](https://www.syncfusion.com/blazor-components?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev)), mobile ([.NET MAUI](https://www.syncfusion.com/maui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [Xamarin](https://www.syncfusion.com/xamarin-ui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [Flutter](https://www.syncfusion.com/flutter-widgets?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [UWP](https://www.syncfusion.com/uwp-ui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev)), and desktop development ([.NET MAUI](https://www.syncfusion.com/maui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [Flutter](https://www.syncfusion.com/flutter-widgets), [WinForms](https://www.syncfusion.com/winforms-ui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [WPF](https://www.syncfusion.com/wpf-ui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [UWP](https://www.syncfusion.com/uwp-ui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), and [WinUI](https://www.syncfusion.com/winui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev)). We provide ready-to deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file diff --git a/packages/syncfusion_flutter_charts/example/pubspec.lock b/packages/syncfusion_flutter_charts/example/pubspec.lock index 5e0a8a337..e6b836f57 100644 --- a/packages/syncfusion_flutter_charts/example/pubspec.lock +++ b/packages/syncfusion_flutter_charts/example/pubspec.lock @@ -1,13 +1,27 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: + async: + dependency: transitive + description: + name: async + url: "https://pub.dartlang.org" + source: hosted + version: "2.9.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" characters: dependency: transitive description: name: characters url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.2.1" clock: dependency: transitive description: @@ -29,11 +43,23 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.0.5" + fake_async: + dependency: transitive + description: + name: fake_async + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.1" flutter: dependency: "direct main" description: flutter source: sdk version: "0.0.0" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" intl: dependency: transitive description: @@ -41,20 +67,27 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.17.0" + matcher: + dependency: transitive + description: + name: matcher + url: "https://pub.dartlang.org" + source: hosted + version: "0.12.12" material_color_utilities: dependency: transitive description: name: material_color_utilities url: "https://pub.dartlang.org" source: hosted - version: "0.1.4" + version: "0.1.5" meta: dependency: transitive description: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.7.0" + version: "1.8.0" path: dependency: transitive description: @@ -67,6 +100,34 @@ packages: description: flutter source: sdk version: "0.0.99" + source_span: + dependency: transitive + description: + name: source_span + url: "https://pub.dartlang.org" + source: hosted + version: "1.9.0" + stack_trace: + dependency: transitive + description: + name: stack_trace + url: "https://pub.dartlang.org" + source: hosted + version: "1.10.0" + stream_channel: + dependency: transitive + description: + name: stream_channel + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + string_scanner: + dependency: transitive + description: + name: string_scanner + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.1" syncfusion_flutter_charts: dependency: "direct main" description: @@ -78,11 +139,25 @@ packages: dependency: transitive description: path: syncfusion_flutter_core - ref: "release/20.2.0.1" - resolved-ref: c663ccc1422d1fc2dc15aeba68d1b37f22207444 - url: "https://SyncfusionBuild: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@github.com/essential-studio/flutter-core" + ref: "release/20.4.0.1" + resolved-ref: "11256e0c8e32c9a4aaaea91c8c0921a728edd229" + url: "https://SyncfusionBuild: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@github.com/essential-studio/flutter-core" source: git - version: "18.3.40" + version: "20.2.36" + term_glyph: + dependency: transitive + description: + name: term_glyph + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.1" + test_api: + dependency: transitive + description: + name: test_api + url: "https://pub.dartlang.org" + source: hosted + version: "0.4.12" vector_math: dependency: transitive description: @@ -91,4 +166,4 @@ packages: source: hosted version: "2.1.2" sdks: - dart: ">=2.14.0 <3.0.0" + dart: ">=2.17.0 <3.0.0" diff --git a/packages/syncfusion_flutter_charts/example/pubspec.yaml b/packages/syncfusion_flutter_charts/example/pubspec.yaml index 3679c0b64..29cba666c 100644 --- a/packages/syncfusion_flutter_charts/example/pubspec.yaml +++ b/packages/syncfusion_flutter_charts/example/pubspec.yaml @@ -4,7 +4,7 @@ version: 1.0.0+1 publish_to: 'none' environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: @@ -13,6 +13,9 @@ dependencies: path: ../ cupertino_icons: ^1.0.2 -flutter: +dev_dependencies: + flutter_test: + sdk: flutter +flutter: uses-material-design: true diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/annotation/annotation_settings.dart b/packages/syncfusion_flutter_charts/lib/src/chart/annotation/annotation_settings.dart index 7befebd27..96dffafdb 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/annotation/annotation_settings.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/annotation/annotation_settings.dart @@ -247,7 +247,7 @@ class CartesianChartAnnotation { /// child: const Text('Annotation')), /// x: 3, /// y: 60, - /// verticalAllignment: ChartAlignment.near + /// verticalAlignment: ChartAlignment.near /// ) /// ], /// ) @@ -290,6 +290,6 @@ class CartesianChartAnnotation { xAxisName, yAxisName ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/axis/axis.dart b/packages/syncfusion_flutter_charts/lib/src/chart/axis/axis.dart index 45e458fc7..6ed375f72 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/axis/axis.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/axis/axis.dart @@ -1127,7 +1127,7 @@ class AxisLabel { renderText, value ]; - return hashList(values); + return Object.hashAll(values); } List? _labelCollection; @@ -1227,7 +1227,7 @@ class MajorTickLines { @override int get hashCode { final List values = [size, width, color]; - return hashList(values); + return Object.hashAll(values); } } @@ -1321,7 +1321,7 @@ class MinorTickLines { @override int get hashCode { final List values = [size, width, color]; - return hashList(values); + return Object.hashAll(values); } } @@ -1412,7 +1412,7 @@ class MajorGridLines { @override int get hashCode { final List values = [dashArray, width, color]; - return hashList(values); + return Object.hashAll(values); } } @@ -1505,7 +1505,7 @@ class MinorGridLines { @override int get hashCode { final List values = [dashArray, width, color]; - return hashList(values); + return Object.hashAll(values); } } @@ -1613,7 +1613,7 @@ class AxisTitle { @override int get hashCode { final List values = [text, textStyle, alignment]; - return hashList(values); + return Object.hashAll(values); } } @@ -1701,7 +1701,7 @@ class AxisLine { @override int get hashCode { final List values = [dashArray, width, color]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/axis/category_axis.dart b/packages/syncfusion_flutter_charts/lib/src/chart/axis/category_axis.dart index bbf3693ea..7f4188414 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/axis/category_axis.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/axis/category_axis.dart @@ -333,7 +333,7 @@ class CategoryAxis extends ChartAxis { autoScrollingMode, axisLabelFormatter ]; - return hashList(values); + return Object.hashAll(values); } } @@ -488,7 +488,7 @@ class CategoryAxisRenderer extends ChartAxisRenderer { for (; tempInterval <= _axisDetails.visibleRange!.maximum; tempInterval += _axisDetails.visibleRange!.interval) { - if (withInRange(tempInterval, _axisDetails.visibleRange!)) { + if (withInRange(tempInterval, _axisDetails)) { position = tempInterval.round(); if (position <= -1 || (_axisDetails.labels.isNotEmpty && diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/axis/datetime_axis.dart b/packages/syncfusion_flutter_charts/lib/src/chart/axis/datetime_axis.dart index a7c6c2d0e..caff39cde 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/axis/datetime_axis.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/axis/datetime_axis.dart @@ -360,7 +360,7 @@ class DateTimeAxis extends ChartAxis { autoScrollingMode, axisLabelFormatter ]; - return hashList(values); + return Object.hashAll(values); } } @@ -510,7 +510,7 @@ class DateTimeAxisRenderer extends ChartAxisRenderer { interval = _axisDetails._alignRangeStart( this, interval, _axisDetails.visibleRange!.interval); while (interval <= _axisDetails.visibleRange!.maximum) { - if (withInRange(interval, _axisDetails.visibleRange!)) { + if (withInRange(interval, _axisDetails)) { prevInterval = (label.isNotEmpty) ? _axisDetails .visibleLabels[_axisDetails.visibleLabels.length - 1].value diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/axis/datetime_category_axis.dart b/packages/syncfusion_flutter_charts/lib/src/chart/axis/datetime_category_axis.dart index b908e3836..858bf10f2 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/axis/datetime_category_axis.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/axis/datetime_category_axis.dart @@ -377,7 +377,7 @@ class DateTimeCategoryAxis extends ChartAxis { dateFormat, axisLabelFormatter ]; - return hashList(values); + return Object.hashAll(values); } } @@ -540,7 +540,7 @@ class DateTimeCategoryAxisRenderer extends ChartAxisRenderer { for (; tempInterval <= _axisDetails.visibleRange!.maximum; tempInterval += interval) { - if (withInRange(tempInterval, _axisDetails.visibleRange!)) { + if (withInRange(tempInterval, _axisDetails)) { position = tempInterval.round(); if (position <= -1 || (_axisDetails.labels.isNotEmpty && diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/axis/logarithmic_axis.dart b/packages/syncfusion_flutter_charts/lib/src/chart/axis/logarithmic_axis.dart index e15af00bc..eb8da21b1 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/axis/logarithmic_axis.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/axis/logarithmic_axis.dart @@ -355,7 +355,7 @@ class LogarithmicAxis extends ChartAxis { autoScrollingMode, axisLabelFormatter ]; - return hashList(values); + return Object.hashAll(values); } } @@ -649,7 +649,7 @@ class LogarithmicAxisDetails extends ChartAxisRendererDetails { this.max = logarithmicAxis.maximum ?? this.max; actualRange = VisibleRange(this.min, this.max); if (axis.anchorRangeToVisiblePoints && - needCalculateYrange(logarithmicAxis.minimum, logarithmicAxis.maximum, + needCalculateYRange(logarithmicAxis.minimum, logarithmicAxis.maximum, stateProperties, orientation!)) { final VisibleRange range = calculateYRangeOnZoomX(actualRange!, this); this.min = range.minimum; diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/axis/numeric_axis.dart b/packages/syncfusion_flutter_charts/lib/src/chart/axis/numeric_axis.dart index 82ae510c0..9670770bc 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/axis/numeric_axis.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/axis/numeric_axis.dart @@ -355,7 +355,7 @@ class NumericAxis extends ChartAxis { autoScrollingMode, axisLabelFormatter ]; - return hashList(values); + return Object.hashAll(values); } } @@ -737,7 +737,7 @@ class NumericAxisDetails extends ChartAxisRendererDetails { actualRange = VisibleRange(numericAxis.minimum ?? min, numericAxis.maximum ?? max); if (axis.anchorRangeToVisiblePoints && - needCalculateYrange(numericAxis.minimum, numericAxis.maximum, + needCalculateYRange(numericAxis.minimum, numericAxis.maximum, stateProperties, orientation!)) { actualRange = calculateYRangeOnZoomX(actualRange!, this); } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/axis/plotband.dart b/packages/syncfusion_flutter_charts/lib/src/chart/axis/plotband.dart index 30fdc5017..2c1e60bfa 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/axis/plotband.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/axis/plotband.dart @@ -1,3 +1,5 @@ +import 'dart:math'; + import 'package:flutter/material.dart'; import 'package:syncfusion_flutter_core/core.dart'; @@ -668,7 +670,7 @@ class PlotBand { horizontalTextAlignment, gradient ]; - return hashList(values); + return Object.hashAll(values); } } @@ -887,28 +889,27 @@ class _PlotBandPainter extends CustomPainter { axisDetails.orientation == AxisOrientation.vertical ? axis.plotOffset : 0)); - - startValue = axis is LogarithmicAxis - ? calculateLogBaseValue(startValue, axis.logBase) - : startValue; - endValue = axis is LogarithmicAxis - ? calculateLogBaseValue(endValue, axis.logBase) - : endValue; + final num visibleMin = axis is LogarithmicAxis + ? pow(axis.logBase, axisDetails.visibleRange!.minimum) + : axisDetails.visibleRange!.minimum; + final num visibleMax = axis is LogarithmicAxis + ? pow(axis.logBase, axisDetails.visibleRange!.maximum) + : axisDetails.visibleRange!.maximum; endValue < 0 - ? endValue <= axisDetails.visibleRange!.minimum - ? endValue = axisDetails.visibleRange!.minimum + ? endValue <= visibleMin + ? endValue = visibleMin : endValue = endValue - : endValue >= axisDetails.visibleRange!.maximum - ? endValue = axisDetails.visibleRange!.maximum + : endValue >= visibleMax + ? endValue = visibleMax : endValue = endValue; startValue < 0 - ? startValue <= axisDetails.visibleRange!.minimum - ? startValue = axisDetails.visibleRange!.minimum + ? startValue <= visibleMin + ? startValue = visibleMin : startValue = startValue - : startValue >= axisDetails.visibleRange!.maximum - ? startValue = axisDetails.visibleRange!.maximum + : startValue >= visibleMax + ? startValue = visibleMax : startValue = startValue; startPoint = calculatePoint(startValue, startValue, axisDetails, diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/base/chart_base.dart b/packages/syncfusion_flutter_charts/lib/src/chart/base/chart_base.dart index 8b87c8ae7..8a61fbe9c 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/base/chart_base.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/base/chart_base.dart @@ -986,33 +986,6 @@ class SfCartesianChart extends StatefulWidget { ///``` final ImageProvider? plotAreaBackgroundImage; - /// Data points or series can be selected while performing interaction on the chart. - /// It can also be selected at the initial rendering using this property. - /// - /// - ///```dart - ///SelectionBehavior _selectionBehavior; - /// - ///@override - ///void initState() { - /// _selectionBehavior = SelectionBehavior( enable: true); - /// super.initState(); - /// } - /// - ///Widget build(BuildContext context) { - /// return Container( - /// child: SfCartesianChart( - /// series: >[ - /// BarSeries( - /// initialSelectedDataIndexes: [2, 0], - /// selectionBehavior: _selectionBehavior - /// ), - /// ], - /// ) - /// ); - ///} - ///``` - /// By setting this, the orientation of x-axis is set to vertical and orientation of /// y-axis is set to horizontal. /// @@ -1950,7 +1923,8 @@ class SfCartesianChartState extends State } } if (_stateProperties.renderingDetails.initialRender! || - (_stateProperties.renderingDetails.widgetNeedUpdate && + ((_stateProperties.renderingDetails.widgetNeedUpdate || + _stateProperties.isRedrawByZoomPan) && !_stateProperties.legendToggling && (_stateProperties.renderingDetails.oldDeviceOrientation == MediaQuery.of(context).orientation))) { @@ -1963,10 +1937,6 @@ class SfCartesianChartState extends State seriesRendererDetails.series.isVisible)) { legendCheck = true; } else { - if (_stateProperties.renderingDetails.legendToggleStates.isNotEmpty) { - _stateProperties.renderingDetails.legendToggleStates.clear(); - } - seriesRendererDetails.visible = _stateProperties.renderingDetails.initialRender! ? seriesRendererDetails.series.isVisible @@ -2040,7 +2010,7 @@ class SfCartesianChartState extends State null && _stateProperties.renderingDetails.chartLegend .legendCollections!.isNotEmpty - ? _getLegendItemCollection(index)!.text + ? _getLegendItemCollection(index)?.text : null; final String? seriesName = visibleSeriesDetails.series.name; @@ -2769,8 +2739,7 @@ class ContainerArea extends StatelessWidget { point = dataPoints[j]; if (point.isVisible && !point.isGap && - withInRange(point.xValue, - seriesRendererDetails.xAxisDetails!.visibleRange!)) { + withInRange(point.xValue, seriesRendererDetails.xAxisDetails!)) { labelWidget = (series.dataLabelSettings.builder != null) ? series.dataLabelSettings.builder!( series.dataSource[point.overallDataPointIndex!], @@ -3282,6 +3251,13 @@ class ContainerArea extends StatelessWidget { trackballRenderingDetails.isLongPressActivated = false; } + + if (chart.trackballBehavior.enable && + chart.trackballBehavior.activationMode == ActivationMode.singleTap && + chart.trackballBehavior.builder != null) { + trackballRenderingDetails.isMoving = false; + } + // ignore: unnecessary_null_comparison if ((chart.crosshairBehavior != null && chart.crosshairBehavior.enable && @@ -3525,9 +3501,10 @@ class ContainerArea extends StatelessWidget { // ignore: unnecessary_null_comparison if ((chart.trackballBehavior != null && chart.trackballBehavior.enable == true && + _findSeries(position!) != null && chart.trackballBehavior.activationMode == ActivationMode.longPress) && - SeriesHelper.getSeriesRendererDetails(_findSeries(position!)!).series + SeriesHelper.getSeriesRendererDetails(_findSeries(position)!).series is! ErrorBarSeries && // ignore: unnecessary_null_comparison position != null && diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/base/series_base.dart b/packages/syncfusion_flutter_charts/lib/src/chart/base/series_base.dart index 29b2b4525..0a44c85f9 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/base/series_base.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/base/series_base.dart @@ -174,16 +174,27 @@ class ChartSeriesPanel { series.sortFieldValueMapper != null; // ignore: unnecessary_null_comparison if (series.dataSource != null) { - dynamic xVal; + dynamic previousX, currentX, nextX; dynamic yVal; num? low, high; num maxYValue = 0; seriesRendererDetails.overAllDataPoints = ?>[]; + CartesianChartPoint? nextPoint; + CartesianChartPoint? prevPoint; for (int pointIndex = 0; pointIndex < series.dataSource.length;) { currentPoint = getChartPoint( seriesRenderer, series.dataSource[pointIndex], pointIndex); - xVal = currentPoint?.x; + if (pointIndex < series.dataSource.length - 1 && + seriesRendererDetails.seriesType != 'histogram') { + nextPoint = getChartPoint(seriesRenderer, + series.dataSource[pointIndex + 1], pointIndex + 1); + } else { + nextPoint = currentPoint; + } + currentX = currentPoint?.x; + nextX = nextPoint?.x; + previousX = pointIndex == 0 ? currentPoint?.x : prevPoint?.x; yVal = currentPoint?.y; high = currentPoint?.high; low = currentPoint?.low; @@ -196,7 +207,7 @@ class ChartSeriesPanel { currentPoint!.maxYValue = maxYValue; } - if (xVal != null) { + if (currentX != null) { num bubbleSize; final dynamic xAxis = seriesRendererDetails.xAxisDetails?.axis; final dynamic yAxis = seriesRendererDetails.yAxisDetails?.axis; @@ -204,19 +215,25 @@ class ChartSeriesPanel { dynamic xMax = xAxis?.visibleMaximum; final dynamic yMin = yAxis?.visibleMinimum; final dynamic yMax = yAxis?.visibleMaximum; - dynamic xPointValue = xVal; + dynamic xPointValue = currentX; bool isXVisibleRange = true; bool isYVisibleRange = true; if (xAxis is DateTimeAxis) { xMin = xMin != null ? xMin.millisecondsSinceEpoch : xMin; xMax = xMax != null ? xMax.millisecondsSinceEpoch : xMax; xPointValue = xPointValue?.millisecondsSinceEpoch; + nextX = nextX?.millisecondsSinceEpoch; + previousX = previousX?.millisecondsSinceEpoch; } else if (xAxis is CategoryAxis) { xPointValue = pointIndex; + nextX = pointIndex + 1; + previousX = pointIndex - 1; } else if (xAxis is DateTimeCategoryAxis) { xMin = xMin != null ? xMin.millisecondsSinceEpoch : xMin; xMax = xMax != null ? xMax.millisecondsSinceEpoch : xMax; xPointValue = xPointValue?.millisecondsSinceEpoch; + nextX = nextX?.millisecondsSinceEpoch; + previousX = previousX?.millisecondsSinceEpoch; } if (xMin != null || xMax != null) { isXVisibleRange = false; @@ -279,11 +296,24 @@ class ChartSeriesPanel { : yMax != null ? (yVal ?? high) <= yMax : false) == - true) { + true || + // If the data points present between the range the following conditions are working. + + // This condition will works when having a range between the data points and data points between the given range. + // Also works when having a visible minimum value alone and data point outside the range this is for left side point. + ((xMin != null && xPointValue <= xMin && nextX > xMin) || + // This condition will work when having data points outside the given range and nearest to the given range and don't have a points between th range. + ((xMin != null && xMax != null) && + ((xPointValue <= xMin && nextX >= xMax) || + (previousX <= xMin && xPointValue >= xMax))) || + // This condition will works when having a range between the data points and data points between the given range. + // Also works when having a visible maximum value and data point outside the range this is for right side point. + (xMax != null && + (previousX < xMax && xPointValue >= xMax)))) { isXVisibleRange = true; isYVisibleRange = true; seriesRendererDetails.dataPoints.add(currentPoint!); - seriesRendererDetails.xValues!.add(xVal); + seriesRendererDetails.xValues!.add(currentX); if (seriesRenderer is BubbleSeriesRenderer) { bubbleSize = series.sizeValueMapper == null ? 4 @@ -401,6 +431,7 @@ class ChartSeriesPanel { pointIndex = seriesRendererDetails.seriesType != 'histogram' ? pointIndex + 1 : pointIndex + yVal as int; + prevPoint = currentPoint; } if (seriesRendererDetails.xAxisDetails is DateTimeCategoryAxisRenderer) { diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/area_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/area_series.dart index d400910ee..db9408187 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/area_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/area_series.dart @@ -220,6 +220,6 @@ class AreaSeries extends XyDataSeries { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/bar_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/bar_series.dart index afc500219..07a476343 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/bar_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/bar_series.dart @@ -352,6 +352,6 @@ class BarSeries extends XyDataSeries { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/box_and_whisker_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/box_and_whisker_series.dart index 79548294c..3f532609d 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/box_and_whisker_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/box_and_whisker_series.dart @@ -273,7 +273,7 @@ class BoxAndWhiskerSeries extends XyDataSeries { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/bubble_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/bubble_series.dart index ada3dcd4b..af6fcbb1a 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/bubble_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/bubble_series.dart @@ -232,6 +232,6 @@ class BubbleSeries extends XyDataSeries { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/candle_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/candle_series.dart index 4690a88cb..14b4f4e66 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/candle_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/candle_series.dart @@ -210,6 +210,6 @@ class CandleSeries extends FinancialSeriesBase { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/column_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/column_series.dart index 4704249b6..25a7650cd 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/column_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/column_series.dart @@ -347,6 +347,6 @@ class ColumnSeries extends XyDataSeries { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/error_bar_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/error_bar_series.dart index 484757557..049d33e5c 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/error_bar_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/error_bar_series.dart @@ -378,7 +378,7 @@ class ErrorBarSeries extends XyDataSeries { capLength, onRenderDetailsUpdate ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/fastline_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/fastline_series.dart index 6d889e76d..3e36141e2 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/fastline_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/fastline_series.dart @@ -178,6 +178,6 @@ class FastLineSeries extends XyDataSeries { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/hilo_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/hilo_series.dart index 699df939a..09db05f82 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/hilo_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/hilo_series.dart @@ -191,6 +191,6 @@ class HiloSeries extends FinancialSeriesBase { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/hiloopenclose_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/hiloopenclose_series.dart index 5a9c4d48c..657eeb1b7 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/hiloopenclose_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/hiloopenclose_series.dart @@ -215,6 +215,6 @@ class HiloOpenCloseSeries extends FinancialSeriesBase { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/histogram_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/histogram_series.dart index a676e6792..7b00c1208 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/histogram_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/histogram_series.dart @@ -453,7 +453,7 @@ class HistogramSeries extends XyDataSeries { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/line_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/line_series.dart index 0f72f29ad..739db1cca 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/line_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/line_series.dart @@ -184,6 +184,6 @@ class LineSeries extends XyDataSeries { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/range_area_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/range_area_series.dart index ff82b5ce5..80eb2ebee 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/range_area_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/range_area_series.dart @@ -217,6 +217,6 @@ class RangeAreaSeries extends XyDataSeries { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/range_column_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/range_column_series.dart index 232377de6..322b0f33d 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/range_column_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/range_column_series.dart @@ -356,6 +356,6 @@ class RangeColumnSeries extends XyDataSeries { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/scatter_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/scatter_series.dart index 15da1dfdd..577f5564e 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/scatter_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/scatter_series.dart @@ -185,6 +185,6 @@ class ScatterSeries extends XyDataSeries { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/series.dart index 5814295d9..bfc62ccca 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/series.dart @@ -1338,6 +1338,7 @@ class ChartSeriesController { seriesRendererDetails.xAxisDetails as CategoryAxisDetails; final CategoryAxis categoryAxis = axisDetails.axis as CategoryAxis; if (categoryAxis.arrangeByIndex) { + // ignore: unnecessary_null_comparison index < axisDetails.labels.length && axisDetails.labels[index] != null ? axisDetails.labels[index] += ', ${currentPoint.x}' : axisDetails.labels.add(currentPoint.x.toString()); @@ -1401,13 +1402,16 @@ class ChartSeriesController { if (needUpdate) { if (seriesRendererDetails.dataPoints.length > index == true) { seriesRendererDetails.dataPoints[index] = currentPoint; + seriesRendererDetails.overAllDataPoints[index] = currentPoint; } } else { if (seriesRendererDetails.dataPoints.length == index) { seriesRendererDetails.dataPoints.add(currentPoint); + seriesRendererDetails.overAllDataPoints.add(currentPoint); } else if (seriesRendererDetails.dataPoints.length > index == true && index >= 0) { seriesRendererDetails.dataPoints.insert(index, currentPoint); + seriesRendererDetails.overAllDataPoints.insert(index, currentPoint); } } @@ -1653,6 +1657,8 @@ class ChartSeriesController { _needXRecalculation = true; } seriesRendererDetails.dataPoints.removeAt(index); + seriesRendererDetails.overAllDataPoints.removeAt(index); + // ignore: unnecessary_null_comparison if (currentPoint != null) { if (!_needXRecalculation && (seriesRendererDetails.minimumX == currentPoint.xValue || diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/series_renderer_properties.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/series_renderer_properties.dart index fd9218188..698f554d7 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/series_renderer_properties.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/series_renderer_properties.dart @@ -57,7 +57,7 @@ class SeriesRendererDetails { bool hasSideBySideInfo = false; /// Specifies whether the series has tooltip behavior - bool hasTooltip = false; + bool isCalculateRegion = false; /// Specifies whether to calculate region for the waterfall/ stacked bar/ stacked column bool needsToCalculateRegion = false; @@ -221,9 +221,6 @@ class SeriesRendererDetails { /// Store the rect position late num rectPosition; - /// Store the rect count - late num rectCount; - /// Represents the old series renderer List? oldSeriesRenderers; @@ -413,13 +410,12 @@ class SeriesRendererDetails { seriesType.contains('box')); // ignore: unnecessary_null_comparison - hasTooltip = chart.tooltipBehavior != null && - seriesType != 'errorbar' && - (chart.tooltipBehavior.enable || - seriesRendererDetails.series.onPointTap != null || - seriesRendererDetails.series.onPointDoubleTap != null || - seriesRendererDetails.series.onPointLongPress != null) && - seriesType != 'boxandwhisker'; + isCalculateRegion = seriesType != 'errorbar' && + seriesType != 'boxandwhisker' && + ((chart.tooltipBehavior.enable) || + (seriesRendererDetails.series.onPointTap != null || + seriesRendererDetails.series.onPointDoubleTap != null || + seriesRendererDetails.series.onPointLongPress != null)); } /// To find the region data of a series @@ -434,7 +430,7 @@ class SeriesRendererDetails { num? midX, num? midY]) { if (withInRange(seriesRendererDetails.dataPoints[pointIndex].xValue, - seriesRendererDetails.xAxisDetails!.visibleRange!)) { + seriesRendererDetails.xAxisDetails!)) { seriesRendererDetails.visibleDataPoints! .add(seriesRendererDetails.dataPoints[pointIndex]); seriesRendererDetails.dataPoints[pointIndex].visiblePointIndex = @@ -486,7 +482,7 @@ class SeriesRendererDetails { } } // ignore: unnecessary_null_comparison - if (hasTooltip) { + if (isCalculateRegion) { calculateTooltipRegion( point, seriesIndex, seriesRendererDetails, stateProperties); } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/spline_area_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/spline_area_series.dart index f5744fe54..3d9d61340 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/spline_area_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/spline_area_series.dart @@ -248,6 +248,6 @@ class SplineAreaSeries extends XyDataSeries { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/spline_range_area_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/spline_range_area_series.dart index 36724d3f6..0046d48aa 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/spline_range_area_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/spline_range_area_series.dart @@ -266,6 +266,6 @@ class SplineRangeAreaSeries extends XyDataSeries { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/spline_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/spline_series.dart index dc4c16cd1..b18c08dba 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/spline_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/spline_series.dart @@ -222,6 +222,6 @@ class SplineSeries extends XyDataSeries { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stacked_area_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stacked_area_series.dart index 8f4a8c602..f28e95fac 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stacked_area_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stacked_area_series.dart @@ -206,7 +206,7 @@ class StackedAreaSeries extends StackedSeriesBase { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } /// Create the stacked area series renderer. diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stacked_bar_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stacked_bar_series.dart index 3d1c3e383..410ca29a1 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stacked_bar_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stacked_bar_series.dart @@ -219,7 +219,7 @@ class StackedBarSeries extends StackedSeriesBase { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } /// Create the stacked bar series renderer. diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stacked_column_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stacked_column_series.dart index e26be6fe6..292ae245b 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stacked_column_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stacked_column_series.dart @@ -217,7 +217,7 @@ class StackedColumnSeries extends StackedSeriesBase { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } /// Create the stacked area series renderer. diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stacked_line_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stacked_line_series.dart index 1b160654d..97f91c5bf 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stacked_line_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stacked_line_series.dart @@ -174,7 +174,7 @@ class StackedLineSeries extends StackedSeriesBase { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } /// To create a stacked line series renderer. diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stackedarea100_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stackedarea100_series.dart index bc56b3159..06ad288f0 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stackedarea100_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stackedarea100_series.dart @@ -208,7 +208,7 @@ class StackedArea100Series extends StackedSeriesBase { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } /// Create the stacked area series renderer. diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stackedbar100_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stackedbar100_series.dart index 07d282d15..088fc7b1a 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stackedbar100_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stackedbar100_series.dart @@ -208,7 +208,7 @@ class StackedBar100Series extends StackedSeriesBase { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } /// Create the stacked area series renderer. diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stackedcolumn100_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stackedcolumn100_series.dart index a08723926..94d063da9 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stackedcolumn100_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stackedcolumn100_series.dart @@ -208,7 +208,7 @@ class StackedColumn100Series extends StackedSeriesBase { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } /// Create the stacked area series renderer. diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stackedline100_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stackedline100_series.dart index 3fbfe4ba0..6f4e26274 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stackedline100_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stackedline100_series.dart @@ -173,7 +173,7 @@ class StackedLine100Series extends StackedSeriesBase { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } /// to create a stacked line 100 series renderer. diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/step_area_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/step_area_series.dart index c8cc200c0..018852baa 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/step_area_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/step_area_series.dart @@ -214,6 +214,6 @@ class StepAreaSeries extends XyDataSeries { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stepline_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stepline_series.dart index aac73ba4b..69d0cf6b0 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stepline_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/stepline_series.dart @@ -177,6 +177,6 @@ class StepLineSeries extends XyDataSeries { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/waterfall_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/waterfall_series.dart index 07ffb67cc..1d5ae3538 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/waterfall_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/waterfall_series.dart @@ -332,7 +332,7 @@ class WaterfallSeries extends XyDataSeries { onPointDoubleTap, onPointLongPress ]; - return hashList(values); + return Object.hashAll(values); } /// Create the waterfall series renderer. diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/xy_data_series.dart b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/xy_data_series.dart index aa7a6ce69..2ff869f7d 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/xy_data_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/chart_series/xy_data_series.dart @@ -584,8 +584,8 @@ abstract class XyDataSeriesRenderer extends CartesianSeriesRenderer { !seriesType.contains('stackedbar')) ? prevPoint.y ?? 0 : 0; - currentPoint.open = 0; - currentPoint.close = 0; + currentPoint.open = currentPoint.open ?? 0; + currentPoint.close = currentPoint.close ?? 0; currentPoint.isVisible = false; } else if (seriesType.contains('line') || seriesType == 'area' || diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/common/cartesian_state_properties.dart b/packages/syncfusion_flutter_charts/lib/src/chart/common/cartesian_state_properties.dart index 21a276348..da6401046 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/common/cartesian_state_properties.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/common/cartesian_state_properties.dart @@ -245,6 +245,12 @@ class CartesianStateProperties extends StateProperties { /// Specifies the shader for series Shader? shader; + /// Specifies total number of rectangle series in chart + int? sideBySideSeriesCount; + + /// Specifies total number of rectangle indicator series in chart + int? sideBySideIndicatorCount; + /// Method to set the painter key void setPainterKey(int index, String name, bool renderComplete) { int value = 0; @@ -371,7 +377,6 @@ class CartesianStateProperties extends StateProperties { renderingDetails.widgetNeedUpdate = false; if (chartState.mounted) { - isRedrawByZoomPan = true; // ignore: invalid_use_of_protected_member chartState.setState(() { /// check the "mounted" property of this object and to ensure the object is still in the tree. diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/common/data_label.dart b/packages/syncfusion_flutter_charts/lib/src/chart/common/data_label.dart index 31afa8157..6bd177a2e 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/common/data_label.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/common/data_label.dart @@ -563,7 +563,7 @@ class DataLabelSettings { connectorLineSettings, labelPosition ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/common/data_label_renderer.dart b/packages/syncfusion_flutter_charts/lib/src/chart/common/data_label_renderer.dart index ce84577e0..8a38f7359 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/common/data_label_renderer.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/common/data_label_renderer.dart @@ -875,15 +875,40 @@ void triggerDataLabelEvent(SfCartesianChart chart, SeriesHelper.getSeriesRendererDetails(seriesRenderer); final List>? dataPoints = seriesRendererDetails.visibleDataPoints; + late CartesianChartPoint currentPoint; + ChartLocation? dataLabelLocation; + final String seriesType = seriesRendererDetails.seriesType; for (int pointIndex = 0; pointIndex < dataPoints!.length; pointIndex++) { + currentPoint = dataPoints[pointIndex]; + dataLabelLocation = (currentPoint.dataLabelRegion != null && + currentPoint.dataLabelRegion!.contains(position)) + ? currentPoint.labelLocation + : (currentPoint.dataLabelRegion2 != null && + currentPoint.dataLabelRegion2!.contains(position)) + ? currentPoint.labelLocation2 + : (seriesType == 'hiloopenclose' || + seriesType == 'candle' || + seriesType == 'boxandwhisker') && + (currentPoint.dataLabelRegion3 != null && + currentPoint.dataLabelRegion3!.contains(position)) + ? currentPoint.labelLocation3 + : (seriesType == 'hiloopenclose' || + seriesType == 'candle' || + seriesType == 'boxandwhisker') && + (currentPoint.dataLabelRegion4 != null && + currentPoint.dataLabelRegion4!.contains(position)) + ? currentPoint.labelLocation4 + : (seriesRendererDetails.seriesType == 'boxandwhisker' && + currentPoint.dataLabelRegion5 != null && + currentPoint.dataLabelRegion5!.contains(position)) + ? currentPoint.labelLocation5 + : null; if (seriesRendererDetails.series.dataLabelSettings.isVisible == true && - dataPoints[pointIndex].dataLabelRegion != null && - dataPoints[pointIndex].dataLabelRegion!.contains(position)) { - final CartesianChartPoint point = dataPoints[pointIndex]; + dataLabelLocation != null) { final Offset position = - Offset(point.labelLocation!.x, point.labelLocation!.y); + Offset(dataLabelLocation.x, dataLabelLocation.y); dataLabelTapEvent(chart, seriesRendererDetails.series.dataLabelSettings, - pointIndex, point, position, seriesIndex); + pointIndex, currentPoint, position, seriesIndex); break; } } @@ -1076,7 +1101,7 @@ void _drawDataLabelRectAndText( if (isRangeSeries || isBoxSeries) { if (withInRange(isBoxSeries ? point.minimum : point.low, - seriesRendererDetails.yAxisDetails!.visibleRange!)) { + seriesRendererDetails.yAxisDetails!)) { seriesRendererDetails.renderer.drawDataLabel( index, canvas, @@ -1565,35 +1590,33 @@ bool isLabelWithinRange(SeriesRendererDetails seriesRendererDetails, seriesRendererDetails.seriesType.contains('boxandwhisker'); if (seriesRendererDetails.yAxisDetails is! LogarithmicAxisDetails) { isWithInRange = withInRange( - point.xValue, seriesRendererDetails.xAxisDetails!.visibleRange!) && + point.xValue, seriesRendererDetails.xAxisDetails!) && (seriesRendererDetails.seriesType.contains('range') || seriesRendererDetails.seriesType == 'hilo' ? (isBoxSeries && point.minimum != null && point.maximum != null) || (!isBoxSeries && point.low != null && point.high != null) && - (withInRange( - isBoxSeries ? point.minimum : point.low, - seriesRendererDetails - .yAxisDetails!.visibleRange!) || + (withInRange(isBoxSeries ? point.minimum : point.low, + seriesRendererDetails.yAxisDetails!) || withInRange(isBoxSeries ? point.maximum : point.high, - seriesRendererDetails.yAxisDetails!.visibleRange!)) + seriesRendererDetails.yAxisDetails!)) : seriesRendererDetails.seriesType == 'hiloopenclose' || seriesRendererDetails.seriesType.contains('candle') || isBoxSeries ? (withInRange(isBoxSeries ? point.minimum : point.low, - seriesRendererDetails.yAxisDetails!.visibleRange!) && + seriesRendererDetails.yAxisDetails!) && withInRange(isBoxSeries ? point.maximum : point.high, - seriesRendererDetails.yAxisDetails!.visibleRange!) && + seriesRendererDetails.yAxisDetails!) && withInRange(isBoxSeries ? point.lowerQuartile : point.open, - seriesRendererDetails.yAxisDetails!.visibleRange!) && + seriesRendererDetails.yAxisDetails!) && withInRange(isBoxSeries ? point.upperQuartile : point.close, - seriesRendererDetails.yAxisDetails!.visibleRange!)) + seriesRendererDetails.yAxisDetails!)) : withInRange( seriesRendererDetails.seriesType.contains('100') ? point.cumulativeValue : seriesRendererDetails.seriesType == 'waterfall' ? point.endValue ?? 0 : point.yValue, - seriesRendererDetails.yAxisDetails!.visibleRange!)); + seriesRendererDetails.yAxisDetails!)); } return isWithInRange; } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/common/interactive_tooltip.dart b/packages/syncfusion_flutter_charts/lib/src/chart/common/interactive_tooltip.dart index f52101e4e..11db440ac 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/common/interactive_tooltip.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/common/interactive_tooltip.dart @@ -460,7 +460,7 @@ class InteractiveTooltip { canShowMarker, textStyle ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/common/marker.dart b/packages/syncfusion_flutter_charts/lib/src/chart/common/marker.dart index dc126f4f9..44ca357b4 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/common/marker.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/common/marker.dart @@ -232,7 +232,7 @@ class MarkerSettings { borderColor, image ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/common/trackball_marker_settings.dart b/packages/syncfusion_flutter_charts/lib/src/chart/common/trackball_marker_settings.dart index e72918e9c..c363e2244 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/common/trackball_marker_settings.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/common/trackball_marker_settings.dart @@ -102,7 +102,7 @@ class TrackballMarkerSettings extends MarkerSettings { borderColor, image ]; - return hashList(values); + return Object.hashAll(values); } } @@ -157,6 +157,6 @@ class TrackballDetails { seriesIndex, groupingModeInfo ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/bar_painter.dart b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/bar_painter.dart index 1bbae4ce3..76375cd95 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/bar_painter.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/bar_painter.dart @@ -255,13 +255,12 @@ class BarChartPainter extends CustomPainter { seriesRendererDetails.setSeriesProperties(seriesRendererDetails); for (int pointIndex = 0; pointIndex < dataPoints.length; pointIndex++) { point = dataPoints[pointIndex]; - final bool withInXRange = withInRange( - point.xValue, seriesRendererDetails.xAxisDetails!.visibleRange!); + final bool withInXRange = + withInRange(point.xValue, seriesRendererDetails.xAxisDetails!); // ignore: unnecessary_null_comparison final bool withInYRange = point != null && point.yValue != null && - withInRange(point.yValue, - seriesRendererDetails.yAxisDetails!.visibleRange!); + withInRange(point.yValue, seriesRendererDetails.yAxisDetails!); if (withInXRange || withInYRange) { seriesRendererDetails.calculateRegionData(stateProperties, seriesRendererDetails, painterKey.index, point, pointIndex); diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/bubble_painter.dart b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/bubble_painter.dart index 6670808a3..bace34112 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/bubble_painter.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/bubble_painter.dart @@ -223,13 +223,13 @@ class BubbleChartPainter extends CustomPainter { for (int pointIndex = 0; pointIndex < dataPoints.length; pointIndex++) { final CartesianChartPoint currentPoint = dataPoints[pointIndex]; - final bool withInXRange = withInRange(currentPoint.xValue, - seriesRendererDetails.xAxisDetails!.visibleRange!); + final bool withInXRange = withInRange( + currentPoint.xValue, seriesRendererDetails.xAxisDetails!); // ignore: unnecessary_null_comparison final bool withInYRange = currentPoint != null && currentPoint.yValue != null && - withInRange(currentPoint.yValue, - seriesRendererDetails.yAxisDetails!.visibleRange!); + withInRange( + currentPoint.yValue, seriesRendererDetails.yAxisDetails!); if (withInXRange || withInYRange) { seriesRendererDetails.calculateRegionData( stateProperties, diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/candle_painter.dart b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/candle_painter.dart index c76513573..e15f3d43c 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/candle_painter.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/candle_painter.dart @@ -116,32 +116,47 @@ class CandleSeriesRenderer extends XyDataSeriesRenderer { CandleSegment candleSegment, SegmentProperties segmentProperties) { final SeriesRendererDetails candleSeriesDetails = SeriesHelper.getSeriesRendererDetails(segmentProperties.seriesRenderer); + // While removing the data point the overallDataPointIndex value is not updated based on + // currently available overall data point, it stick with the old overallDataPointIndex value. + // So, when check the candle series overAllDataPoints by overallDataPointIndex value it through + // range error exception. So, currently we fixed this by checking the length of overAllDataPoints + // instead of overallDataPointIndex when the overallDataPointIndex value greater than overAllDataPoints length. + + final int overallDataPointIndex = + segmentProperties.currentPoint!.overallDataPointIndex!; + final int overAllDataPointsCount = + candleSeriesDetails.overAllDataPoints.length; if (_currentSeriesDetails.candleSeries.enableSolidCandles! && segmentProperties.isSolid) { return (candleSeriesDetails - .overAllDataPoints[segmentProperties - .currentPoint!.overallDataPointIndex!]! - .open < - candleSeriesDetails - .overAllDataPoints[segmentProperties - .currentPoint!.overallDataPointIndex!]! - .close) == - true + .overAllDataPoints[ + (overAllDataPointsCount - 1 < overallDataPointIndex) + ? overAllDataPointsCount - 1 + : overallDataPointIndex]! + .open < + candleSeriesDetails + .overAllDataPoints[ + (overAllDataPointsCount - 1 < overallDataPointIndex) + ? overAllDataPointsCount - 1 + : overallDataPointIndex]! + .close) ? _currentSeriesDetails.candleSeries.bullColor : _currentSeriesDetails.candleSeries.bearColor; } final Color? color = segmentProperties.currentPoint!.overallDataPointIndex! - 1 >= 0 && (candleSeriesDetails - .dataPoints[segmentProperties - .currentPoint!.overallDataPointIndex! - - 1] - .close > - candleSeriesDetails - .dataPoints[segmentProperties - .currentPoint!.overallDataPointIndex!] - .close) == - true + .overAllDataPoints[ + (overAllDataPointsCount - 1 < overallDataPointIndex) + ? overAllDataPointsCount - 2 + : overallDataPointIndex - 1]! + .close > + candleSeriesDetails + .overAllDataPoints[ + (overAllDataPointsCount - 1 < overallDataPointIndex) + ? overAllDataPointsCount - 1 + : overallDataPointIndex]! + .close) ? _currentSeriesDetails.candleSeries.bearColor : _currentSeriesDetails.candleSeries.bullColor; return color; @@ -259,11 +274,13 @@ class CandlePainter extends CustomPainter { seriesRendererDetails.setSeriesProperties(seriesRendererDetails); // ignore: unnecessary_null_comparison final bool isTooltipEnabled = chart.tooltipBehavior != null; - final bool hasTooltip = isTooltipEnabled && - (chart.tooltipBehavior.enable || - seriesRendererDetails.series.onPointTap != null || + final bool isPointTapEnabled = + seriesRendererDetails.series.onPointTap != null || seriesRendererDetails.series.onPointDoubleTap != null || - seriesRendererDetails.series.onPointLongPress != null); + seriesRendererDetails.series.onPointLongPress != null; + final bool isCalculateRegion = + (isTooltipEnabled && chart.tooltipBehavior.enable) || + isPointTapEnabled; final bool hasSeriesElements = seriesRendererDetails.visible! && (series.markerSettings.isVisible || series.dataLabelSettings.isVisible || @@ -271,7 +288,8 @@ class CandlePainter extends CustomPainter { chart.tooltipBehavior.enable && (isTooltipEnabled && chart.tooltipBehavior.enable && - series.enableTooltip))); + series.enableTooltip)) || + isPointTapEnabled); seriesRendererDetails.sideBySideInfo = calculateSideBySideInfo( seriesRendererDetails.renderer, stateProperties); final num? sideBySideMinimumVal = @@ -289,16 +307,14 @@ class CandlePainter extends CustomPainter { point.low != null && point.open != null && point.close != null) { - withInHighLowRange = withInRange(point.high, - seriesRendererDetails.yAxisDetails!.visibleRange!) && - withInRange( - point.low, seriesRendererDetails.yAxisDetails!.visibleRange!); - withInOpenCloseRange = withInRange(point.open, - seriesRendererDetails.yAxisDetails!.visibleRange!) && - withInRange(point.close, - seriesRendererDetails.yAxisDetails!.visibleRange!); - final bool withInXRange = withInRange( - point.xValue, seriesRendererDetails.xAxisDetails!.visibleRange!); + withInHighLowRange = + withInRange(point.high, seriesRendererDetails.yAxisDetails!) && + withInRange(point.low, seriesRendererDetails.yAxisDetails!); + withInOpenCloseRange = + withInRange(point.open, seriesRendererDetails.yAxisDetails!) && + withInRange(point.close, seriesRendererDetails.yAxisDetails!); + final bool withInXRange = + withInRange(point.xValue, seriesRendererDetails.xAxisDetails!); if (withInXRange || (withInHighLowRange && withInOpenCloseRange)) { if (withInXRange) { seriesRendererDetails.visibleDataPoints! @@ -423,7 +439,7 @@ class CandlePainter extends CustomPainter { (point.markerPoint!.x - point.markerPoint2!.x).abs(), seriesRendererDetails.series.borderWidth); } - if (hasTooltip) { + if (isCalculateRegion) { calculateTooltipRegion( point, seriesIndex, seriesRendererDetails, stateProperties); } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/column_painter.dart b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/column_painter.dart index 901a80555..fb437df98 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/column_painter.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/column_painter.dart @@ -266,13 +266,12 @@ class ColumnChartPainter extends CustomPainter { seriesRendererDetails.setSeriesProperties(seriesRendererDetails); for (int pointIndex = 0; pointIndex < dataPoints.length; pointIndex++) { point = dataPoints[pointIndex]; - final bool withInXRange = withInRange( - point.xValue, seriesRendererDetails.xAxisDetails!.visibleRange!); + final bool withInXRange = + withInRange(point.xValue, seriesRendererDetails.xAxisDetails!); // ignore: unnecessary_null_comparison final bool withInYRange = point != null && point.yValue != null && - withInRange(point.yValue, - seriesRendererDetails.yAxisDetails!.visibleRange!); + withInRange(point.yValue, seriesRendererDetails.yAxisDetails!); if (withInXRange || withInYRange) { seriesRendererDetails.calculateRegionData(stateProperties, seriesRendererDetails, painterKey.index, point, pointIndex); diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/error_bar_painter.dart b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/error_bar_painter.dart index 8956dc8ea..f4cf24df3 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/error_bar_painter.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/error_bar_painter.dart @@ -2,7 +2,6 @@ import 'package:flutter/material.dart'; import './../axis/axis.dart'; import '../../../charts.dart'; -import '../axis/axis.dart'; import '../chart_segment/chart_segment.dart'; import '../chart_series/series.dart'; import '../chart_series/series_renderer_properties.dart'; @@ -168,13 +167,12 @@ class ErrorBarChartPainter extends CustomPainter { seriesRendererDetails.setSeriesProperties(seriesRendererDetails); for (int pointIndex = 0; pointIndex < dataPoints.length; pointIndex++) { point = dataPoints[pointIndex]; - final bool withInXRange = withInRange( - point.xValue, seriesRendererDetails.xAxisDetails!.visibleRange!); + final bool withInXRange = + withInRange(point.xValue, seriesRendererDetails.xAxisDetails!); // ignore: unnecessary_null_comparison final bool withInYRange = point != null && point.yValue != null && - withInRange(point.yValue, - seriesRendererDetails.yAxisDetails!.visibleRange!); + withInRange(point.yValue, seriesRendererDetails.yAxisDetails!); if (withInXRange || withInYRange) { seriesRendererDetails.calculateRegionData(stateProperties, seriesRendererDetails, painterKey.index, point, pointIndex); diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/fastline_painter.dart b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/fastline_painter.dart index 9dc0fbd6c..7c14a9f7c 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/fastline_painter.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/fastline_painter.dart @@ -214,6 +214,10 @@ class FastLineChartPainter extends CustomPainter { } // ignore: unnecessary_null_comparison final bool hasTooltipBehavior = chart.tooltipBehavior != null; + final bool isPointTapEnabled = + seriesRendererDetails.series.onPointTap != null || + seriesRendererDetails.series.onPointDoubleTap != null || + seriesRendererDetails.series.onPointLongPress != null; final bool hasSeriesElements = seriesRendererDetails.visible! && (series.markerSettings.isVisible || series.dataLabelSettings.isVisible || @@ -221,12 +225,11 @@ class FastLineChartPainter extends CustomPainter { chart.tooltipBehavior.enable && (hasTooltipBehavior && chart.tooltipBehavior.enable && - series.enableTooltip))); - final bool hasTooltip = hasTooltipBehavior && - (chart.tooltipBehavior.enable || - seriesRendererDetails.series.onPointTap != null || - seriesRendererDetails.series.onPointDoubleTap != null || - seriesRendererDetails.series.onPointLongPress != null); + series.enableTooltip)) || + isPointTapEnabled); + final bool isCalculateRegion = + (hasTooltipBehavior && chart.tooltipBehavior.enable) || + isPointTapEnabled; for (int pointIndex = 0; pointIndex < seriesRendererDetails.dataPoints.length; pointIndex++) { @@ -237,36 +240,36 @@ class FastLineChartPainter extends CustomPainter { (prevYValue - yVal).abs() >= yTolerance) { point = currentPoint; dataPoints.add(currentPoint); - bool withInXRange = withInRange(currentPoint.xValue, - seriesRendererDetails.xAxisDetails!.visibleRange!); + bool withInXRange = withInRange( + currentPoint.xValue, seriesRendererDetails.xAxisDetails!); // ignore: unnecessary_null_comparison bool withInYRange = currentPoint != null && currentPoint.yValue != null && - withInRange(currentPoint.yValue, - seriesRendererDetails.yAxisDetails!.visibleRange!); + withInRange( + currentPoint.yValue, seriesRendererDetails.yAxisDetails!); bool inRange = withInXRange || withInYRange; if (!inRange && (pointIndex + 1 < seriesRendererDetails.dataPoints.length)) { final CartesianChartPoint? nextPoint = seriesRendererDetails.dataPoints[pointIndex + 1]; - withInXRange = withInRange(nextPoint!.xValue, - seriesRendererDetails.xAxisDetails!.visibleRange!); + withInXRange = withInRange( + nextPoint!.xValue, seriesRendererDetails.xAxisDetails!); // ignore: unnecessary_null_comparison withInYRange = nextPoint != null && nextPoint.yValue != null && - withInRange(nextPoint.yValue, - seriesRendererDetails.yAxisDetails!.visibleRange!); + withInRange( + nextPoint.yValue, seriesRendererDetails.yAxisDetails!); inRange = withInXRange || withInYRange; if (!inRange && pointIndex - 1 >= 0) { final CartesianChartPoint? prevPoint = seriesRendererDetails.dataPoints[pointIndex - 1]; - withInXRange = withInRange(prevPoint!.xValue, - seriesRendererDetails.xAxisDetails!.visibleRange!); + withInXRange = withInRange( + prevPoint!.xValue, seriesRendererDetails.xAxisDetails!); // ignore: unnecessary_null_comparison withInYRange = prevPoint != null && prevPoint.yValue != null && - withInRange(prevPoint.yValue, - seriesRendererDetails.yAxisDetails!.visibleRange!); + withInRange( + prevPoint.yValue, seriesRendererDetails.yAxisDetails!); } } if (withInXRange || withInYRange) { @@ -303,7 +306,7 @@ class FastLineChartPainter extends CustomPainter { } } - if (hasTooltip) { + if (isCalculateRegion) { calculateTooltipRegion( point, seriesIndex, seriesRendererDetails, stateProperties); } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/hilo_painter.dart b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/hilo_painter.dart index 144f3aadd..72c6d6d50 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/hilo_painter.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/hilo_painter.dart @@ -225,11 +225,13 @@ class HiloPainter extends CustomPainter { } // ignore: unnecessary_null_comparison final bool isTooltipEnabled = chart.tooltipBehavior != null; - final bool hasTooltip = isTooltipEnabled && - (chart.tooltipBehavior.enable || - seriesRendererDetails.series.onPointTap != null || + final bool isPointTapEnabled = + seriesRendererDetails.series.onPointTap != null || seriesRendererDetails.series.onPointDoubleTap != null || - seriesRendererDetails.series.onPointLongPress != null); + seriesRendererDetails.series.onPointLongPress != null; + final bool isCalculateRegion = + (isTooltipEnabled && chart.tooltipBehavior.enable) || + isPointTapEnabled; final bool hasSeriesElements = seriesRendererDetails.visible! && (series.markerSettings.isVisible || series.dataLabelSettings.isVisible || @@ -237,7 +239,8 @@ class HiloPainter extends CustomPainter { chart.tooltipBehavior.enable && (isTooltipEnabled && chart.tooltipBehavior.enable && - series.enableTooltip))); + series.enableTooltip)) || + isPointTapEnabled); seriesRendererDetails.sideBySideInfo = calculateSideBySideInfo( seriesRendererDetails.renderer, stateProperties); @@ -268,16 +271,14 @@ class HiloPainter extends CustomPainter { } for (int pointIndex = 0; pointIndex < dataPoints.length; pointIndex++) { point = dataPoints[pointIndex]; - final bool withInXRange = withInRange( - point.xValue, seriesRendererDetails.xAxisDetails!.visibleRange!); + final bool withInXRange = + withInRange(point.xValue, seriesRendererDetails.xAxisDetails!); // ignore: unnecessary_null_comparison final bool withInHighLowRange = point != null && point.high != null && point.low != null && - (withInRange(point.high, - seriesRendererDetails.yAxisDetails!.visibleRange!) || - withInRange(point.low, - seriesRendererDetails.yAxisDetails!.visibleRange!)); + (withInRange(point.high, seriesRendererDetails.yAxisDetails!) || + withInRange(point.low, seriesRendererDetails.yAxisDetails!)); if (withInXRange || withInHighLowRange) { if (withInXRange) { seriesRendererDetails.visibleDataPoints! @@ -332,7 +333,7 @@ class HiloPainter extends CustomPainter { (point.markerPoint!.x - point.markerPoint2!.x).abs(), seriesRendererDetails.series.borderWidth); } - if (hasTooltip) { + if (isCalculateRegion) { calculateTooltipRegion( point, seriesIndex, seriesRendererDetails, stateProperties); } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/hiloopenclose_painter.dart b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/hiloopenclose_painter.dart index 98b26c711..b0b29723c 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/hiloopenclose_painter.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/hiloopenclose_painter.dart @@ -213,18 +213,21 @@ class HiloOpenClosePainter extends CustomPainter { seriesRendererDetails.setSeriesProperties(seriesRendererDetails); // ignore: unnecessary_null_comparison final bool isTooltipEnabled = chart.tooltipBehavior != null; - final bool hasTooltip = isTooltipEnabled && - (chart.tooltipBehavior.enable || - seriesRendererDetails.series.onPointTap != null || + final bool isPointTapEnabled = + seriesRendererDetails.series.onPointTap != null || seriesRendererDetails.series.onPointDoubleTap != null || - seriesRendererDetails.series.onPointLongPress != null); + seriesRendererDetails.series.onPointLongPress != null; + final bool isCalculateRegion = + (isTooltipEnabled && chart.tooltipBehavior.enable) || + isPointTapEnabled; final bool hasSeriesElements = seriesRendererDetails.visible! && (series.dataLabelSettings.isVisible || (isTooltipEnabled && chart.tooltipBehavior.enable && (isTooltipEnabled && chart.tooltipBehavior.enable && - series.enableTooltip))); + series.enableTooltip)) || + isPointTapEnabled); seriesRendererDetails.sideBySideInfo = calculateSideBySideInfo( seriesRendererDetails.renderer, stateProperties); final num? sideBySideMinimumVal = @@ -234,8 +237,8 @@ class HiloOpenClosePainter extends CustomPainter { seriesRendererDetails.sideBySideInfo?.maximum; for (int pointIndex = 0; pointIndex < dataPoints.length; pointIndex++) { point = dataPoints[pointIndex]; - final bool withInXRange = withInRange( - point.xValue, seriesRendererDetails.xAxisDetails!.visibleRange!); + final bool withInXRange = + withInRange(point.xValue, seriesRendererDetails.xAxisDetails!); bool withInHighLowRange = false, withInOpenCloseRange = false; // ignore: unnecessary_null_comparison if (point != null && @@ -243,14 +246,12 @@ class HiloOpenClosePainter extends CustomPainter { point.low != null && point.open != null && point.close != null) { - withInHighLowRange = withInRange(point.high, - seriesRendererDetails.yAxisDetails!.visibleRange!) && - withInRange( - point.low, seriesRendererDetails.yAxisDetails!.visibleRange!); - withInOpenCloseRange = withInRange(point.open, - seriesRendererDetails.yAxisDetails!.visibleRange!) && - withInRange(point.close, - seriesRendererDetails.yAxisDetails!.visibleRange!); + withInHighLowRange = + withInRange(point.high, seriesRendererDetails.yAxisDetails!) && + withInRange(point.low, seriesRendererDetails.yAxisDetails!); + withInOpenCloseRange = + withInRange(point.open, seriesRendererDetails.yAxisDetails!) && + withInRange(point.close, seriesRendererDetails.yAxisDetails!); if (withInXRange || (withInHighLowRange && withInOpenCloseRange)) { if (withInXRange) { @@ -376,7 +377,7 @@ class HiloOpenClosePainter extends CustomPainter { (point.markerPoint!.x - point.markerPoint2!.x).abs(), seriesRendererDetails.series.borderWidth); } - if (hasTooltip) { + if (isCalculateRegion) { calculateTooltipRegion( point, seriesIndex, seriesRendererDetails, stateProperties); } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/histogram_painter.dart b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/histogram_painter.dart index 67ee3c33f..dff55315c 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/histogram_painter.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/histogram_painter.dart @@ -309,13 +309,12 @@ class HistogramChartPainter extends CustomPainter { seriesRendererDetails.setSeriesProperties(seriesRendererDetails); for (int pointIndex = 0; pointIndex < dataPoints.length; pointIndex++) { point = dataPoints[pointIndex]; - final bool withInXRange = withInRange( - point.xValue, seriesRendererDetails.xAxisDetails!.visibleRange!); + final bool withInXRange = + withInRange(point.xValue, seriesRendererDetails.xAxisDetails!); // ignore: unnecessary_null_comparison final bool withInYRange = point != null && point.yValue != null && - withInRange(point.yValue, - seriesRendererDetails.yAxisDetails!.visibleRange!); + withInRange(point.yValue, seriesRendererDetails.yAxisDetails!); if (withInXRange || withInYRange) { seriesRendererDetails.calculateRegionData( stateProperties, diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/line_painter.dart b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/line_painter.dart index a7b99da5e..a29aa58df 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/line_painter.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/line_painter.dart @@ -221,36 +221,36 @@ class LineChartPainter extends CustomPainter { seriesRendererDetails.setSeriesProperties(seriesRendererDetails); for (int pointIndex = 0; pointIndex < dataPoints.length; pointIndex++) { currentPoint = dataPoints[pointIndex]; - bool withInXRange = withInRange(currentPoint.xValue, - seriesRendererDetails.xAxisDetails!.visibleRange!); + bool withInXRange = withInRange( + currentPoint.xValue, seriesRendererDetails.xAxisDetails!); // ignore: unnecessary_null_comparison bool withInYRange = currentPoint != null && currentPoint.yValue != null && - withInRange(currentPoint.yValue, - seriesRendererDetails.yAxisDetails!.visibleRange!); + withInRange( + currentPoint.yValue, seriesRendererDetails.yAxisDetails!); bool inRange = withInXRange || withInYRange; if (!inRange && pointIndex + 1 < dataPoints.length) { final CartesianChartPoint? nextPoint = dataPoints[pointIndex + 1]; - withInXRange = withInRange(nextPoint!.xValue, - seriesRendererDetails.xAxisDetails!.visibleRange!); + withInXRange = withInRange( + nextPoint!.xValue, seriesRendererDetails.xAxisDetails!); // ignore: unnecessary_null_comparison withInYRange = nextPoint != null && nextPoint.yValue != null && - withInRange(nextPoint.yValue, - seriesRendererDetails.yAxisDetails!.visibleRange!); + withInRange( + nextPoint.yValue, seriesRendererDetails.yAxisDetails!); inRange = withInXRange || withInYRange; if (!inRange && pointIndex - 1 >= 0) { final CartesianChartPoint? prevPoint = dataPoints[pointIndex - 1]; - withInXRange = withInRange(prevPoint!.xValue, - seriesRendererDetails.xAxisDetails!.visibleRange!); + withInXRange = withInRange( + prevPoint!.xValue, seriesRendererDetails.xAxisDetails!); // ignore: unnecessary_null_comparison withInYRange = prevPoint != null && prevPoint.yValue != null && - withInRange(prevPoint.yValue, - seriesRendererDetails.yAxisDetails!.visibleRange!); + withInRange( + prevPoint.yValue, seriesRendererDetails.yAxisDetails!); } } if (withInXRange || withInYRange) { diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/range_column_painter.dart b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/range_column_painter.dart index b24dacc20..60a7ff571 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/range_column_painter.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/range_column_painter.dart @@ -274,16 +274,14 @@ class RangeColumnChartPainter extends CustomPainter { seriesRendererDetails.setSeriesProperties(seriesRendererDetails); for (int pointIndex = 0; pointIndex < dataPoints.length; pointIndex++) { point = dataPoints[pointIndex]; - final bool withInXRange = withInRange( - point.xValue, seriesRendererDetails.xAxisDetails!.visibleRange!); + final bool withInXRange = + withInRange(point.xValue, seriesRendererDetails.xAxisDetails!); // ignore: unnecessary_null_comparison final bool withInHighLowRange = point != null && point.high != null && - withInRange(point.high, - seriesRendererDetails.yAxisDetails!.visibleRange!) && + withInRange(point.high, seriesRendererDetails.yAxisDetails!) && point.low != null && - withInRange( - point.low, seriesRendererDetails.yAxisDetails!.visibleRange!); + withInRange(point.low, seriesRendererDetails.yAxisDetails!); if (withInXRange || withInHighLowRange) { seriesRendererDetails.calculateRegionData(stateProperties, seriesRendererDetails, painterKey.index, point, pointIndex); diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/scatter_painter.dart b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/scatter_painter.dart index 63fbc0340..6cbe3afcb 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/scatter_painter.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/scatter_painter.dart @@ -273,13 +273,13 @@ class ScatterChartPainter extends CustomPainter { for (int pointIndex = 0; pointIndex < dataPoints.length; pointIndex++) { final CartesianChartPoint currentPoint = dataPoints[pointIndex]; - final bool withInXRange = withInRange(currentPoint.xValue, - seriesRendererDetails.xAxisDetails!.visibleRange!); + final bool withInXRange = withInRange( + currentPoint.xValue, seriesRendererDetails.xAxisDetails!); // ignore: unnecessary_null_comparison final bool withInYRange = currentPoint != null && currentPoint.yValue != null && - withInRange(currentPoint.yValue, - seriesRendererDetails.yAxisDetails!.visibleRange!); + withInRange( + currentPoint.yValue, seriesRendererDetails.yAxisDetails!); if (withInXRange || withInYRange) { seriesRendererDetails.calculateRegionData( stateProperties, diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/spline_painter.dart b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/spline_painter.dart index 4ca9037ca..a75d22289 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/spline_painter.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/spline_painter.dart @@ -235,11 +235,11 @@ class SplineChartPainter extends CustomPainter { for (int pointIndex = 0; pointIndex < dataPoints.length; pointIndex++) { point = dataPoints[pointIndex]; if (withInRange(seriesRendererDetails.dataPoints[pointIndex].xValue, - seriesRendererDetails.xAxisDetails!.visibleRange!) || + seriesRendererDetails.xAxisDetails!) || (pointIndex < dataPoints.length - 1 && withInRange( seriesRendererDetails.dataPoints[pointIndex + 1].xValue, - seriesRendererDetails.xAxisDetails!.visibleRange!))) { + seriesRendererDetails.xAxisDetails!))) { seriesRendererDetails.calculateRegionData(stateProperties, seriesRendererDetails, painterKey.index, point, pointIndex); if ((point.isVisible && !point.isGap) && startPoint == null) { diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/stacked_area_painter.dart b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/stacked_area_painter.dart index 12adf3db1..2ce40d7b7 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/stacked_area_painter.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/stacked_area_painter.dart @@ -278,7 +278,7 @@ class StackedAreaChartPainter extends CustomPainter { seriesRendererDetails, stateProperties, seriesRendererDetails.seriesAnimation, - seriesRendererDetails.seriesElementAnimation!, + seriesRendererDetails.seriesElementAnimation, painterKey); } @@ -330,7 +330,7 @@ class StackedArea100ChartPainter extends CustomPainter { seriesRendererDetails, stateProperties, seriesRendererDetails.seriesAnimation, - seriesRendererDetails.seriesElementAnimation!, + seriesRendererDetails.seriesElementAnimation, painterKey); } @@ -345,7 +345,7 @@ void stackedAreaPainter( SeriesRendererDetails seriesRendererDetails, CartesianStateProperties stateProperties, Animation? seriesAnimation, - Animation chartElementAnimation, + Animation? chartElementAnimation, PainterKey painterKey) { Rect clipRect, axisClipRect; final int seriesIndex = painterKey.index; diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/stacked_bar_painter.dart b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/stacked_bar_painter.dart index 50be2174b..2e26a00d2 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/stacked_bar_painter.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/stacked_bar_painter.dart @@ -370,13 +370,12 @@ void _stackedBarPainter( pointIndex < seriesRendererDetails.dataPoints.length; pointIndex++) { point = seriesRendererDetails.dataPoints[pointIndex]; - final bool withInXRange = withInRange( - point.xValue, seriesRendererDetails.xAxisDetails!.visibleRange!); + final bool withInXRange = + withInRange(point.xValue, seriesRendererDetails.xAxisDetails!); // ignore: unnecessary_null_comparison final bool withInYRange = point != null && point.yValue != null && - withInRange( - point.yValue, seriesRendererDetails.yAxisDetails!.visibleRange!); + withInRange(point.yValue, seriesRendererDetails.yAxisDetails!); if (withInXRange || withInYRange) { seriesRendererDetails.calculateRegionData(stateProperties, seriesRendererDetails, painterKey.index, point, pointIndex); diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/stacked_column_painter.dart b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/stacked_column_painter.dart index c364654a6..3efa87948 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/stacked_column_painter.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/stacked_column_painter.dart @@ -365,13 +365,12 @@ void _stackedRectPainter( pointIndex < seriesRendererDetails.dataPoints.length; pointIndex++) { point = seriesRendererDetails.dataPoints[pointIndex]; - final bool withInXRange = withInRange( - point.xValue, seriesRendererDetails.xAxisDetails!.visibleRange!); + final bool withInXRange = + withInRange(point.xValue, seriesRendererDetails.xAxisDetails!); // ignore: unnecessary_null_comparison final bool withInYRange = point != null && point.yValue != null && - withInRange( - point.yValue, seriesRendererDetails.yAxisDetails!.visibleRange!); + withInRange(point.yValue, seriesRendererDetails.yAxisDetails!); if (withInXRange || withInYRange) { seriesRendererDetails.calculateRegionData(stateProperties, seriesRendererDetails, painterKey.index, point, pointIndex); diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/stacked_line_painter.dart b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/stacked_line_painter.dart index c3480aec3..d85ab12d8 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/stacked_line_painter.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/stacked_line_painter.dart @@ -179,7 +179,7 @@ class StackedLineChartPainter extends CustomPainter { seriesRendererDetails, seriesRendererDetails.seriesAnimation, stateProperties, - seriesRendererDetails.seriesElementAnimation!, + seriesRendererDetails.seriesElementAnimation, painterKey); } @@ -349,7 +349,7 @@ class StackedLine100ChartPainter extends CustomPainter { seriesRendererDetails, seriesRendererDetails.seriesAnimation, stateProperties, - seriesRendererDetails.seriesElementAnimation!, + seriesRendererDetails.seriesElementAnimation, painterKey); } @@ -364,7 +364,7 @@ void _stackedLinePainter( SeriesRendererDetails seriesRendererDetails, Animation? seriesAnimation, CartesianStateProperties stateProperties, - Animation chartElementAnimation, + Animation? chartElementAnimation, PainterKey painterKey) { Rect clipRect; double animationFactor; @@ -419,37 +419,35 @@ void _stackedLinePainter( pointIndex < seriesRendererDetails.dataPoints.length; pointIndex++) { currentPoint = seriesRendererDetails.dataPoints[pointIndex]; - bool withInXRange = withInRange(currentPoint.xValue, - seriesRendererDetails.xAxisDetails!.visibleRange!); + bool withInXRange = + withInRange(currentPoint.xValue, seriesRendererDetails.xAxisDetails!); // ignore: unnecessary_null_comparison bool withInYRange = currentPoint != null && currentPoint.yValue != null && - withInRange(currentPoint.yValue, - seriesRendererDetails.yAxisDetails!.visibleRange!); + withInRange(currentPoint.yValue, seriesRendererDetails.yAxisDetails!); bool inRange = withInXRange || withInYRange; if (!inRange && pointIndex + 1 < seriesRendererDetails.dataPoints.length) { final CartesianChartPoint? nextPoint = seriesRendererDetails.dataPoints[pointIndex + 1]; - withInXRange = withInRange(nextPoint!.xValue, - seriesRendererDetails.xAxisDetails!.visibleRange!); + withInXRange = + withInRange(nextPoint!.xValue, seriesRendererDetails.xAxisDetails!); // ignore: unnecessary_null_comparison withInYRange = nextPoint != null && nextPoint.yValue != null && - withInRange(nextPoint.yValue, - seriesRendererDetails.yAxisDetails!.visibleRange!); + withInRange(nextPoint.yValue, seriesRendererDetails.yAxisDetails!); inRange = withInXRange || withInYRange; if (!inRange && pointIndex - 1 >= 0) { final CartesianChartPoint? prevPoint = seriesRendererDetails.dataPoints[pointIndex - 1]; - withInXRange = withInRange(prevPoint!.xValue, - seriesRendererDetails.xAxisDetails!.visibleRange!); + withInXRange = withInRange( + prevPoint!.xValue, seriesRendererDetails.xAxisDetails!); // ignore: unnecessary_null_comparison withInYRange = prevPoint != null && prevPoint.yValue != null && - withInRange(prevPoint.yValue, - seriesRendererDetails.yAxisDetails!.visibleRange!); + withInRange( + prevPoint.yValue, seriesRendererDetails.yAxisDetails!); } } if (withInXRange || withInYRange) { diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/stepline_painter.dart b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/stepline_painter.dart index d06403b7a..ce9241dac 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/stepline_painter.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/series_painter/stepline_painter.dart @@ -217,36 +217,36 @@ class StepLineChartPainter extends CustomPainter { seriesRendererDetails.setSeriesProperties(seriesRendererDetails); for (int pointIndex = 0; pointIndex < dataPoints.length; pointIndex++) { currentPoint = dataPoints[pointIndex]; - bool withInXRange = withInRange(currentPoint.xValue, - seriesRendererDetails.xAxisDetails!.visibleRange!); + bool withInXRange = withInRange( + currentPoint.xValue, seriesRendererDetails.xAxisDetails!); // ignore: unnecessary_null_comparison bool withInYRange = currentPoint != null && currentPoint.yValue != null && - withInRange(currentPoint.yValue, - seriesRendererDetails.yAxisDetails!.visibleRange!); + withInRange( + currentPoint.yValue, seriesRendererDetails.yAxisDetails!); bool inRange = withInXRange || withInYRange; if (!inRange && pointIndex + 1 < dataPoints.length) { final CartesianChartPoint? nextPoint = dataPoints[pointIndex + 1]; - withInXRange = withInRange(nextPoint!.xValue, - seriesRendererDetails.xAxisDetails!.visibleRange!); + withInXRange = withInRange( + nextPoint!.xValue, seriesRendererDetails.xAxisDetails!); // ignore: unnecessary_null_comparison withInYRange = nextPoint != null && nextPoint.yValue != null && - withInRange(nextPoint.yValue, - seriesRendererDetails.yAxisDetails!.visibleRange!); + withInRange( + nextPoint.yValue, seriesRendererDetails.yAxisDetails!); inRange = withInXRange || withInYRange; if (!inRange && pointIndex - 1 >= 0) { final CartesianChartPoint? prevPoint = dataPoints[pointIndex - 1]; - withInXRange = withInRange(prevPoint!.xValue, - seriesRendererDetails.xAxisDetails!.visibleRange!); + withInXRange = withInRange( + prevPoint!.xValue, seriesRendererDetails.xAxisDetails!); // ignore: unnecessary_null_comparison withInYRange = prevPoint != null && prevPoint.yValue != null && - withInRange(prevPoint.yValue, - seriesRendererDetails.yAxisDetails!.visibleRange!); + withInRange( + prevPoint.yValue, seriesRendererDetails.yAxisDetails!); } } if (withInXRange || withInYRange) { diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/accumulation_distribution_indicator.dart b/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/accumulation_distribution_indicator.dart index 4ad7eb167..19c705796 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/accumulation_distribution_indicator.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/accumulation_distribution_indicator.dart @@ -139,6 +139,6 @@ class AccumulationDistributionIndicator signalLineColor, signalLineWidth ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/atr_indicator.dart b/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/atr_indicator.dart index a0201b787..a30bab6bb 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/atr_indicator.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/atr_indicator.dart @@ -110,6 +110,6 @@ class AtrIndicator extends TechnicalIndicators { signalLineWidth, period ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/bollinger_bands_indicator.dart b/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/bollinger_bands_indicator.dart index 17a35c15b..0deaf926e 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/bollinger_bands_indicator.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/bollinger_bands_indicator.dart @@ -233,6 +233,6 @@ class BollingerBandIndicator extends TechnicalIndicators { lowerLineWidth, bandColor ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/ema_indicator.dart b/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/ema_indicator.dart index d955c69d9..8fd1bed05 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/ema_indicator.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/ema_indicator.dart @@ -143,6 +143,6 @@ class EmaIndicator extends TechnicalIndicators { valueField, period ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/macd_indicator.dart b/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/macd_indicator.dart index df0bcf862..899e73ba0 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/macd_indicator.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/macd_indicator.dart @@ -289,6 +289,6 @@ class MacdIndicator extends TechnicalIndicators { histogramPositiveColor, histogramNegativeColor ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/momentum_indicator.dart b/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/momentum_indicator.dart index 4316c5d22..99892807f 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/momentum_indicator.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/momentum_indicator.dart @@ -166,6 +166,6 @@ class MomentumIndicator extends TechnicalIndicators { centerLineColor, centerLineWidth ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/rsi_indicator.dart b/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/rsi_indicator.dart index 45f8af60a..8fd040ca1 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/rsi_indicator.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/rsi_indicator.dart @@ -294,6 +294,6 @@ class RsiIndicator extends TechnicalIndicators { lowerLineColor, lowerLineWidth ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/sma_indicator.dart b/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/sma_indicator.dart index 1f7216b65..9a9b3a5d5 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/sma_indicator.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/sma_indicator.dart @@ -143,6 +143,6 @@ class SmaIndicator extends TechnicalIndicators { valueField, period ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/stochastic_indicator.dart b/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/stochastic_indicator.dart index a608e2f15..d8f355d78 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/stochastic_indicator.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/stochastic_indicator.dart @@ -400,6 +400,6 @@ class StochasticIndicator extends TechnicalIndicators { kPeriod, dPeriod ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/technical_indicator.dart b/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/technical_indicator.dart index e17f6c76e..79da9d794 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/technical_indicator.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/technical_indicator.dart @@ -746,7 +746,6 @@ class TechnicalIndicatorsRenderer { ? ColumnSeries( name: name, color: color, - width: width, xAxisName: indicator.xAxisName, animationDuration: indicator.animationDuration, animationDelay: indicator.animationDelay, @@ -785,6 +784,7 @@ class TechnicalIndicatorsRenderer { isRangeArea ? 'rangearea' : (isHistogram ? 'column' : 'line'); seriesRendererDetails.isIndicator = true; seriesRendererDetails.seriesName = name; + // ignore: unnecessary_null_comparison if (series.dashArray != null) { seriesRendererDetails.dashArray = series.dashArray; if (seriesRendererDetails.dashArray!.length == 1) { @@ -1028,16 +1028,24 @@ class TechnicalIndicatorsRenderer { bollingerPoints[j] = _BollingerData( x: validData[j].xValue, midBand: smaPoints[i], - lowBand: lowerBand, - upBand: upperBand, + lowBand: lowerBand.isNaN || lowerBand.isInfinite + ? smaPoints[i] + : lowerBand, + upBand: upperBand.isNaN || upperBand.isInfinite + ? smaPoints[i] + : upperBand, visible: true); } } bollingerPoints[i] = _BollingerData( x: validData[i].xValue, midBand: smaPoints[i], - lowBand: lowerBand, - upBand: upperBand, + lowBand: lowerBand.isNaN || lowerBand.isInfinite + ? smaPoints[i] + : lowerBand, + upBand: upperBand.isNaN || upperBand.isInfinite + ? smaPoints[i] + : upperBand, visible: true); } else { if (i < indicator.period - 1) { diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/tma_indicator.dart b/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/tma_indicator.dart index 89e5451d8..98a1e29ee 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/tma_indicator.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/technical_indicators/tma_indicator.dart @@ -143,6 +143,6 @@ class TmaIndicator extends TechnicalIndicators { valueField, period ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/trendlines/trendlines.dart b/packages/syncfusion_flutter_charts/lib/src/chart/trendlines/trendlines.dart index 3dc212994..efcb38452 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/trendlines/trendlines.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/trendlines/trendlines.dart @@ -502,7 +502,7 @@ class Trendline { polynomialOrder, period ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/user_interaction/crosshair.dart b/packages/syncfusion_flutter_charts/lib/src/chart/user_interaction/crosshair.dart index 7d42c53a8..40594d024 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/user_interaction/crosshair.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/user_interaction/crosshair.dart @@ -268,7 +268,7 @@ class CrosshairBehavior { shouldAlwaysShow, hideDelay ]; - return hashList(values); + return Object.hashAll(values); } /// Represents the cartesian state properties. diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/user_interaction/trackball.dart b/packages/syncfusion_flutter_charts/lib/src/chart/user_interaction/trackball.dart index e80ac0fcf..984fffdd7 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/user_interaction/trackball.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/user_interaction/trackball.dart @@ -394,7 +394,7 @@ class TrackballBehavior { builder, hideDelay ]; - return hashList(values); + return Object.hashAll(values); } /// Holds the value of cartesian state properties @@ -427,6 +427,9 @@ class TrackballBehavior { _stateProperties.trackballBehaviorRenderer); final List visibleSeriesRenderer = stateProperties.chartSeries.visibleSeriesRenderers; + if (visibleSeriesRenderer.isEmpty) { + return; + } final SeriesRendererDetails seriesRendererDetails = SeriesHelper.getSeriesRendererDetails(visibleSeriesRenderer.firstWhere( (CartesianSeriesRenderer element) => @@ -1295,6 +1298,8 @@ class TrackballRenderingDetails { for (final ChartPointInfo pointInfo in chartPointInfo) { xValueList.add(pointInfo.chartDataPoint?.xValue); } + String seriesType; + bool isRangeTypeSeries; if (xValueList.isNotEmpty) { for (int count = 0; count < xValueList.length; count++) { if (xValueList[0] != xValueList[count]) { @@ -1303,15 +1308,19 @@ class TrackballRenderingDetails { if (pointInfo.xPosition == leastX) { leastPointInfo.add(pointInfo); visiblePoints.clear(); + seriesType = pointInfo.seriesRendererDetails!.seriesType; + isRangeTypeSeries = seriesType.contains('range') || + seriesType.contains('hilo') || + seriesType == 'candle'; visiblePoints.add(ClosestPoints( - closestPointX: !isRangeSeries + closestPointX: !isRangeTypeSeries ? pointInfo.xPosition! - : isBoxSeries + : seriesType == 'boxandwhisker' ? pointInfo.maxXPosition! : pointInfo.highXPosition!, - closestPointY: isRangeSeries + closestPointY: isRangeTypeSeries ? pointInfo.highYPosition! - : isBoxSeries + : seriesType == 'boxandwhisker' ? pointInfo.maxYPosition! : pointInfo.yPosition!)); } diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/user_interaction/zooming_panning.dart b/packages/syncfusion_flutter_charts/lib/src/chart/user_interaction/zooming_panning.dart index da2ce236a..023bbd5b3 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/user_interaction/zooming_panning.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/user_interaction/zooming_panning.dart @@ -325,7 +325,7 @@ class ZoomPanBehavior { selectionRectBorderColor, selectionRectColor ]; - return hashList(values); + return Object.hashAll(values); } /// Holds the value of cartesian state properties. diff --git a/packages/syncfusion_flutter_charts/lib/src/chart/utils/helper.dart b/packages/syncfusion_flutter_charts/lib/src/chart/utils/helper.dart index 3032c3ed2..aff4e977f 100644 --- a/packages/syncfusion_flutter_charts/lib/src/chart/utils/helper.dart +++ b/packages/syncfusion_flutter_charts/lib/src/chart/utils/helper.dart @@ -115,9 +115,16 @@ num calculateLogBaseValue(num value, num base) => math.log(value) / math.log(base); /// To check if value is within range. -bool withInRange(num value, VisibleRange range) => -// ignore: unnecessary_null_comparison - value != null && (value <= range.maximum) && (value >= range.minimum); +bool withInRange(num value, ChartAxisRendererDetails axisDetails) { + final ChartAxis axis = axisDetails.axis; + final num visibleMinimum = axis is LogarithmicAxis + ? pow(axis.logBase, axisDetails.visibleRange!.minimum) + : axisDetails.visibleRange!.minimum; + final num visibleMaximum = axis is LogarithmicAxis + ? pow(axis.logBase, axisDetails.visibleRange!.maximum) + : axisDetails.visibleRange!.maximum; + return (value <= visibleMaximum) && (value >= visibleMinimum); +} /// To find the proper series color of each point in waterfall chart, /// which includes intermediate sum, total sum and negative point. @@ -789,21 +796,23 @@ VisibleRange calculateSideBySideInfo(CartesianSeriesRenderer seriesRenderer, seriesRenderer as ColumnSeriesRenderer; _calculateSideBySidePositions(columnSeriesRenderer, stateProperties); rectPosition = seriesRendererDetails.rectPosition; - count = seriesRendererDetails.rectCount; + count = seriesRendererDetails.isIndicator + ? stateProperties.sideBySideIndicatorCount + : stateProperties.sideBySideSeriesCount; } else if (seriesRendererDetails.seriesType == 'histogram' && chart.enableSideBySideSeriesPlacement) { final HistogramSeriesRenderer histogramSeriesRenderer = seriesRenderer as HistogramSeriesRenderer; _calculateSideBySidePositions(histogramSeriesRenderer, stateProperties); rectPosition = seriesRendererDetails.rectPosition; - count = seriesRendererDetails.rectCount; + count = stateProperties.sideBySideSeriesCount; } else if (seriesRendererDetails.seriesType == 'bar' && chart.enableSideBySideSeriesPlacement) { final BarSeriesRenderer barSeriesRenderer = seriesRenderer as BarSeriesRenderer; _calculateSideBySidePositions(barSeriesRenderer, stateProperties); rectPosition = seriesRendererDetails.rectPosition; - count = seriesRendererDetails.rectCount; + count = stateProperties.sideBySideSeriesCount; } else if ((seriesRendererDetails.seriesType.contains('stackedcolumn') == true || seriesRendererDetails.seriesType.contains('stackedbar') == true) && @@ -812,49 +821,49 @@ VisibleRange calculateSideBySideInfo(CartesianSeriesRenderer seriesRenderer, seriesRenderer as StackedSeriesRenderer; _calculateSideBySidePositions(stackedRectSeriesRenderer, stateProperties); rectPosition = seriesRendererDetails.rectPosition; - count = seriesRendererDetails.rectCount; + count = stateProperties.sideBySideSeriesCount; } else if (seriesRendererDetails.seriesType == 'rangecolumn' && chart.enableSideBySideSeriesPlacement) { final RangeColumnSeriesRenderer rangeColumnSeriesRenderer = seriesRenderer as RangeColumnSeriesRenderer; _calculateSideBySidePositions(rangeColumnSeriesRenderer, stateProperties); rectPosition = seriesRendererDetails.rectPosition; - count = seriesRendererDetails.rectCount; + count = stateProperties.sideBySideSeriesCount; } else if (seriesRendererDetails.seriesType == 'hilo' && chart.enableSideBySideSeriesPlacement) { final HiloSeriesRenderer hiloSeriesRenderer = seriesRenderer as HiloSeriesRenderer; _calculateSideBySidePositions(hiloSeriesRenderer, stateProperties); rectPosition = seriesRendererDetails.rectPosition; - count = seriesRendererDetails.rectCount; + count = stateProperties.sideBySideSeriesCount; } else if (seriesRendererDetails.seriesType == 'hiloopenclose' && chart.enableSideBySideSeriesPlacement) { final HiloOpenCloseSeriesRenderer hiloOpenCloseSeriesRenderer = seriesRenderer as HiloOpenCloseSeriesRenderer; _calculateSideBySidePositions(hiloOpenCloseSeriesRenderer, stateProperties); rectPosition = seriesRendererDetails.rectPosition; - count = seriesRendererDetails.rectCount; + count = stateProperties.sideBySideSeriesCount; } else if (seriesRendererDetails.seriesType == 'candle' && chart.enableSideBySideSeriesPlacement) { final CandleSeriesRenderer candleSeriesRenderer = seriesRenderer as CandleSeriesRenderer; _calculateSideBySidePositions(candleSeriesRenderer, stateProperties); rectPosition = seriesRendererDetails.rectPosition; - count = seriesRendererDetails.rectCount; + count = stateProperties.sideBySideSeriesCount; } else if (seriesRendererDetails.seriesType == 'boxandwhisker' && chart.enableSideBySideSeriesPlacement) { final BoxAndWhiskerSeriesRenderer boxAndWhiskerSeriesRenderer = seriesRenderer as BoxAndWhiskerSeriesRenderer; _calculateSideBySidePositions(boxAndWhiskerSeriesRenderer, stateProperties); rectPosition = seriesRendererDetails.rectPosition; - count = seriesRendererDetails.rectCount; + count = stateProperties.sideBySideSeriesCount; } else if (seriesRendererDetails.seriesType == 'waterfall' && chart.enableSideBySideSeriesPlacement) { final WaterfallSeriesRenderer waterfallSeriesRenderer = seriesRenderer as WaterfallSeriesRenderer; _calculateSideBySidePositions(waterfallSeriesRenderer, stateProperties); rectPosition = seriesRendererDetails.rectPosition; - count = seriesRendererDetails.rectCount; + count = stateProperties.sideBySideSeriesCount; } if (seriesRendererDetails.seriesType == 'column') { @@ -1024,8 +1033,8 @@ void _calculateSideBySidePositions(CartesianSeriesRenderer seriesRenderer, final List seriesCollection = _findRectSeriesCollection(stateProperties); int rectCount = 0; + int indicatorPosition = 0; num? position; - final num seriesLength = seriesCollection.length; List<_StackingGroup>? stackingGroupPos; final SeriesRendererDetails seriesRendererDetails = SeriesHelper.getSeriesRendererDetails(seriesRenderer); @@ -1041,8 +1050,8 @@ void _calculateSideBySidePositions(CartesianSeriesRenderer seriesRenderer, seriesRenderer is WaterfallSeriesRenderer) { final SeriesRendererDetails seriesRendererDetails = SeriesHelper.getSeriesRendererDetails(seriesRenderer); - seriesRendererDetails.rectPosition = rectCount++; - seriesRendererDetails.rectCount = seriesLength; + seriesRendererDetails.rectPosition = + seriesRendererDetails.isIndicator ? indicatorPosition++ : rectCount++; } } if (seriesRenderer is StackedSeriesRenderer) { @@ -1091,17 +1100,7 @@ void _calculateSideBySidePositions(CartesianSeriesRenderer seriesRenderer, } if (seriesRendererDetails.seriesType.contains('stackedcolumn') == true || seriesRendererDetails.seriesType.contains('stackedbar') == true) { - for (int i = 0; i < seriesCollection.length; i++) { - StackedSeriesRenderer? seriesRenderer; - final SeriesRendererDetails seriesRendererDetails = - SeriesHelper.getSeriesRendererDetails(seriesCollection[i]); - if (seriesCollection[i] is StackedSeriesRenderer) { - seriesRenderer = seriesCollection[i] as StackedSeriesRenderer; - } - if (seriesRenderer != null) { - seriesRendererDetails.rectCount = rectCount; - } - } + stateProperties.sideBySideSeriesCount = rectCount; } } @@ -1175,6 +1174,8 @@ RRect getRRectFromRect(Rect rect, BorderRadius borderRadius) { /// Find the rect series collection in axes. List _findRectSeriesCollection( CartesianStateProperties stateProperties) { + int rectSeriesCount = 0; + int rectIndicatorCount = 0; final List seriesRenderCollection = []; for (int xAxisIndex = 0; @@ -1216,12 +1217,19 @@ List _findRectSeriesCollection( seriesRendererDetails.visible! == true) { if (!seriesRenderCollection.contains(yAxisSeriesRenderer)) { seriesRenderCollection.add(yAxisSeriesRenderer); + if (seriesRendererDetails.isIndicator) { + rectIndicatorCount++; + } else { + rectSeriesCount++; + } } } } } } } + stateProperties.sideBySideSeriesCount = rectSeriesCount; + stateProperties.sideBySideIndicatorCount = rectIndicatorCount; return seriesRenderCollection; } @@ -1256,7 +1264,6 @@ String getLabelValue(dynamic value, dynamic axis, [int? showDigits]) { if (value.toString().split('.').length > 1) { final String str = value.toString(); final List list = str.split('.'); - value = axis is LogarithmicAxis ? math.pow(10, value) : value; value = double.parse(value.toStringAsFixed(showDigits ?? 3)); value = (list[1] == '0' || list[1] == '00' || @@ -1594,6 +1601,7 @@ dynamic getInteractiveTooltipLabel( value = dateFormat.format(DateTime.fromMillisecondsSinceEpoch(value.toInt())); } else { + value = axis is LogarithmicAxis ? math.pow(10, value) : value; value = getLabelValue(value, axis, axis.interactiveTooltip.decimalPlaces); } return value; @@ -3373,13 +3381,14 @@ VisibleRange calculateYRangeOnZoomX( } /// Bool to calculate for Y range. -bool needCalculateYrange(num? minimum, num? maximum, +bool needCalculateYRange(num? minimum, num? maximum, CartesianStateProperties stateProperties, AxisOrientation orientation) { final SfCartesianChart chart = stateProperties.chart; return !(minimum != null && maximum != null) && (stateProperties.rangeChangeBySlider || (((stateProperties.zoomedState ?? false) || - stateProperties.zoomProgress) && + stateProperties.zoomProgress || + stateProperties.chart.indicators.isNotEmpty) && (!stateProperties.requireInvertedAxis ? (orientation == AxisOrientation.vertical && chart.zoomPanBehavior.zoomMode == ZoomMode.x) diff --git a/packages/syncfusion_flutter_charts/lib/src/circular_chart/base/circular_area.dart b/packages/syncfusion_flutter_charts/lib/src/circular_chart/base/circular_area.dart index 3ded1e583..4b3df40c0 100644 --- a/packages/syncfusion_flutter_charts/lib/src/circular_chart/base/circular_area.dart +++ b/packages/syncfusion_flutter_charts/lib/src/circular_chart/base/circular_area.dart @@ -1,4 +1,5 @@ import 'package:flutter/foundation.dart'; +import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:syncfusion_flutter_core/theme.dart'; import 'package:syncfusion_flutter_core/tooltip_internal.dart'; @@ -52,6 +53,9 @@ class CircularArea extends StatelessWidget { /// Specifies whether the mouse is hovered. final bool _enableMouseHover = kIsWeb; + /// Stores pointer down time to determine whether a long press interaction is handled at pointer up + DateTime? pointerHoldingTime; + @override Widget build(BuildContext context) { return LayoutBuilder( @@ -69,12 +73,11 @@ class CircularArea extends StatelessWidget { .isHovering = false; }, child: Listener( - onPointerUp: (PointerUpEvent event) => _onTapUp(event), - onPointerDown: (PointerDownEvent event) => _onTapDown(event), + onPointerUp: (PointerUpEvent event) => _onPointerUp(event), + onPointerDown: (PointerDownEvent event) => _onPointerDown(event), onPointerMove: (PointerMoveEvent event) => _performPointerMove(event), child: GestureDetector( - onTap: _onTap, onLongPress: _onLongPress, onTapUp: (TapUpDetails details) { if (chart.series[0].onPointTap != null && @@ -95,18 +98,14 @@ class CircularArea extends StatelessWidget { }); } - /// To perform tap touch interactions. - void _onTap() { + /// To perform the pointer down event. + void _onPointerDown(PointerDownEvent event) { if (stateProperties.renderingDetails.currentActive != null && stateProperties.renderingDetails.currentActive!.series != null && stateProperties.renderingDetails.currentActive!.series.explodeGesture == ActivationMode.singleTap) { - stateProperties.chartSeries.seriesPointExplosion(pointRegion); + pointerHoldingTime = DateTime.now(); } - } - - /// To perform the pointer down event. - void _onTapDown(PointerDownEvent event) { ChartTouchInteractionArgs touchArgs; final TooltipRenderingDetails tooltipRenderingDetails = TooltipHelper.getRenderingDetails( @@ -172,12 +171,12 @@ class CircularArea extends StatelessWidget { .visibleSeriesRenderers[pointRegion!.seriesIndex] .renderPoints![pointRegion!.pointIndex], pointRegion); - if (stateProperties.renderingDetails.currentActive != null) { - if (stateProperties - .renderingDetails.currentActive?.series.explodeGesture == - ActivationMode.doubleTap) { - stateProperties.chartSeries.seriesPointExplosion( - stateProperties.renderingDetails.currentActive?.region); + final ChartInteraction? currentActive = + stateProperties.renderingDetails.currentActive; + if (currentActive != null) { + if (currentActive.series.explodeGesture == ActivationMode.doubleTap) { + stateProperties.chartSeries + .seriesPointExplosion(currentActive.region); } } stateProperties.chartSeries @@ -218,12 +217,12 @@ class CircularArea extends StatelessWidget { pointRegion); stateProperties.chartSeries .seriesPointSelection(pointRegion, ActivationMode.longPress); - if (stateProperties.renderingDetails.currentActive != null) { - if (stateProperties - .renderingDetails.currentActive?.series.explodeGesture == - ActivationMode.longPress) { - stateProperties.chartSeries.seriesPointExplosion( - stateProperties.renderingDetails.currentActive?.region); + final ChartInteraction? currentActive = + stateProperties.renderingDetails.currentActive; + if (currentActive != null) { + if (currentActive.series.explodeGesture == ActivationMode.longPress) { + stateProperties.chartSeries + .seriesPointExplosion(currentActive.region); } } if (chart.tooltipBehavior.enable && @@ -243,7 +242,9 @@ class CircularArea extends StatelessWidget { } /// To perform the pointer up event. - void _onTapUp(PointerUpEvent event) { + void _onPointerUp(PointerUpEvent event) { + final ChartInteraction? currentActive = + stateProperties.renderingDetails.currentActive; TooltipHelper.getRenderingDetails( stateProperties.renderingDetails.tooltipBehaviorRenderer) .isHovering = false; @@ -259,17 +260,25 @@ class CircularArea extends StatelessWidget { stateProperties.renderingDetails.tapPosition); } if (stateProperties.renderingDetails.tapPosition != null) { + if (currentActive != null && + currentActive.series != null && + currentActive.series.explodeGesture == ActivationMode.singleTap && + pointerHoldingTime != null && + DateTime.now().difference(pointerHoldingTime!).inMilliseconds < + kLongPressTimeout.inMilliseconds) { + stateProperties.chartSeries.seriesPointExplosion(currentActive.region); + } + if (stateProperties.renderingDetails.tapPosition != null && - stateProperties.renderingDetails.currentActive != null) { + currentActive != null) { stateProperties.chartSeries.seriesPointSelection( - stateProperties.renderingDetails.currentActive!.region, - ActivationMode.singleTap); + currentActive.region, ActivationMode.singleTap); } if (chart.tooltipBehavior.enable && stateProperties.renderingDetails.animateCompleted && chart.tooltipBehavior.activationMode == ActivationMode.singleTap && - stateProperties.renderingDetails.currentActive != null && - stateProperties.renderingDetails.currentActive!.series != null) { + currentActive != null && + currentActive.series != null) { stateProperties.requireDataLabelTooltip = null; if (chart.tooltipBehavior.builder != null) { showCircularTooltipTemplate(); @@ -431,6 +440,7 @@ class CircularArea extends StatelessWidget { _renderTemplates(); _bindTooltipWidgets(constraints); stateProperties.circularArea = this; + stateProperties.legendRefresh = false; renderBox = context.findRenderObject() as RenderBox; // ignore: avoid_unnecessary_containers return Container( @@ -661,10 +671,11 @@ class CircularArea extends StatelessWidget { !stateProperties.renderingDetails.didSizeChange && (stateProperties.renderingDetails.oldDeviceOrientation == stateProperties.renderingDetails.deviceOrientation) && - (stateProperties.renderingDetails.initialRender! || - (stateProperties.renderingDetails.widgetNeedUpdate && - seriesRenderer.needsAnimation) || - stateProperties.renderingDetails.isLegendToggled)) { + ((stateProperties.renderingDetails.initialRender! || + (stateProperties.renderingDetails.widgetNeedUpdate && + seriesRenderer.needsAnimation) || + stateProperties.renderingDetails.isLegendToggled) || + stateProperties.legendRefresh)) { final int totalAnimationDuration = series.animationDuration.toInt() + series.animationDelay.toInt(); stateProperties.renderingDetails.animationController.duration = diff --git a/packages/syncfusion_flutter_charts/lib/src/circular_chart/base/circular_base.dart b/packages/syncfusion_flutter_charts/lib/src/circular_chart/base/circular_base.dart index 1c45f73e2..f74c77a66 100644 --- a/packages/syncfusion_flutter_charts/lib/src/circular_chart/base/circular_base.dart +++ b/packages/syncfusion_flutter_charts/lib/src/circular_chart/base/circular_base.dart @@ -925,6 +925,7 @@ class SfCircularChartState extends State renderBox = templateContext.context!.findRenderObject() as RenderBox; templateContext.size = renderBox.size; } + _stateProperties.legendRefresh = true; setState(() { /// The chart will be rebuilding again, Once legend template sizes will be calculated. }); diff --git a/packages/syncfusion_flutter_charts/lib/src/circular_chart/base/circular_state_properties.dart b/packages/syncfusion_flutter_charts/lib/src/circular_chart/base/circular_state_properties.dart index c4ec7c429..d7514cc62 100644 --- a/packages/syncfusion_flutter_charts/lib/src/circular_chart/base/circular_state_properties.dart +++ b/packages/syncfusion_flutter_charts/lib/src/circular_chart/base/circular_state_properties.dart @@ -65,6 +65,9 @@ class CircularStateProperties extends StateProperties { /// Specifies whether the text direction of chart widget is RTL or LTR. late bool isRtl; + /// Specifies whether the legend is refreshed + bool legendRefresh = false; + /// To redraw chart elements. void redraw() { renderingDetails.initialRender = false; diff --git a/packages/syncfusion_flutter_charts/lib/src/circular_chart/renderer/circular_chart_annotation.dart b/packages/syncfusion_flutter_charts/lib/src/circular_chart/renderer/circular_chart_annotation.dart index 96b7796fd..85e8fac85 100644 --- a/packages/syncfusion_flutter_charts/lib/src/circular_chart/renderer/circular_chart_annotation.dart +++ b/packages/syncfusion_flutter_charts/lib/src/circular_chart/renderer/circular_chart_annotation.dart @@ -213,7 +213,7 @@ class CircularChartAnnotation { widget, width ]; - return hashList(values); + return Object.hashAll(values); } } @@ -328,6 +328,6 @@ class ConnectorLineSettings { @override int get hashCode { final List values = [length, width, color, type]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/circular_chart/renderer/data_label_renderer.dart b/packages/syncfusion_flutter_charts/lib/src/circular_chart/renderer/data_label_renderer.dart index 5152cb77f..809b2b0b1 100644 --- a/packages/syncfusion_flutter_charts/lib/src/circular_chart/renderer/data_label_renderer.dart +++ b/packages/syncfusion_flutter_charts/lib/src/circular_chart/renderer/data_label_renderer.dart @@ -9,6 +9,7 @@ import '../../chart/common/data_label.dart'; import '../../chart/utils/enum.dart'; import '../../chart/utils/helper.dart'; import '../../common/event_args.dart'; +import '../../common/template/rendering.dart'; import '../../common/utils/helper.dart'; import '../../pyramid_chart/utils/helper.dart'; import '../base/circular_base.dart'; @@ -264,7 +265,10 @@ void _changeLabelAngle(ChartPoint currentPoint, num newAngle, const String defaultConnectorLineLength = '10%'; final DataLabelSettings dataLabel = seriesRenderer.dataLabelSettingsRenderer.dataLabelSettings; - final Size textSize = measureText(currentPoint.text!, dataLabel.textStyle); + // Builder check for change the angle based on the template size. + final Size textSize = dataLabel.builder != null + ? currentPoint.dataLabelSize + : measureText(currentPoint.text!, dataLabel.textStyle); final Path angleChangedConnectorPath = Path(); final num connectorLength = percentToValue( dataLabel.connectorLineSettings.length ?? defaultConnectorLineLength, @@ -414,99 +418,114 @@ void renderCircularDataLabel( DataLabelRenderArgs dataLabelArgs; TextStyle dataLabelStyle; final List renderDataLabelRegions = []; - Size textSize; + Size? textSize; for (int pointIndex = 0; pointIndex < seriesRenderer.renderPoints!.length; pointIndex++) { point = seriesRenderer.renderPoints![pointIndex]; - if (point.isVisible && (point.y != 0 || dataLabel.showZeroValue)) { - label = point.text; - label = seriesRenderer.renderer.getLabelContent( - seriesRenderer, point, pointIndex, seriesIndex, label!); - dataLabelStyle = dataLabel.textStyle; - dataLabelSettingsRenderer.color = - seriesRenderer.series.dataLabelSettings.color; - if (chart.onDataLabelRender != null && - !seriesRenderer.renderPoints![pointIndex].labelRenderEvent) { - dataLabelArgs = DataLabelRenderArgs(seriesRenderer, - seriesRenderer.renderPoints, pointIndex, pointIndex); - dataLabelArgs.text = label; - dataLabelArgs.textStyle = dataLabelStyle; - dataLabelArgs.color = dataLabelSettingsRenderer.color; - chart.onDataLabelRender!(dataLabelArgs); - label = point.text = dataLabelArgs.text; - dataLabelStyle = dataLabelArgs.textStyle; - pointIndex = dataLabelArgs.pointIndex!; - dataLabelSettingsRenderer.color = dataLabelArgs.color; - seriesRenderer.dataPoints[pointIndex].labelRenderEvent = true; - } - textSize = measureText(label, dataLabelStyle); - - /// condition check for labels after event. - if (label != '') { - if (seriesRenderer.seriesType == 'radialbar') { - dataLabelStyle = chart.onDataLabelRender == null - ? seriesRenderer.renderer.getDataLabelStyle( - seriesRenderer, - point, - pointIndex, - seriesIndex, - dataLabelStyle, - stateProperties.chartState) - : dataLabelStyle; - labelLocation = degreeToPoint(point.startAngle!, - (point.innerRadius! + point.outerRadius!) / 2, point.center!); - labelLocation = Offset( - (labelLocation.dx - textSize.width - 5) + - (angle == 0 ? 0 : textSize.width / 2), - (labelLocation.dy - textSize.height / 2) + - (angle == 0 ? 0 : textSize.height / 2)); - point.labelRect = Rect.fromLTWH( - labelLocation.dx - labelPadding, - labelLocation.dy - labelPadding, - textSize.width + (2 * labelPadding), - textSize.height + (2 * labelPadding)); - drawLabel( - point.labelRect, - labelLocation, - label, - null, - canvas, - seriesRenderer, - point, - pointIndex, - seriesIndex, - chart, - dataLabelStyle, - renderDataLabelRegions, - animateOpacity); + if (dataLabel.builder == null || + dataLabel.labelIntersectAction != LabelIntersectAction.shift) { + if (point.isVisible && (point.y != 0 || dataLabel.showZeroValue)) { + label = point.text; + label = seriesRenderer.renderer.getLabelContent( + seriesRenderer, point, pointIndex, seriesIndex, label!); + dataLabelStyle = dataLabel.textStyle; + dataLabelSettingsRenderer.color = + seriesRenderer.series.dataLabelSettings.color; + if (chart.onDataLabelRender != null && + !seriesRenderer.renderPoints![pointIndex].labelRenderEvent) { + dataLabelArgs = DataLabelRenderArgs(seriesRenderer, + seriesRenderer.renderPoints, pointIndex, pointIndex); + dataLabelArgs.text = label; + dataLabelArgs.textStyle = dataLabelStyle; + dataLabelArgs.color = dataLabelSettingsRenderer.color; + chart.onDataLabelRender!(dataLabelArgs); + label = point.text = dataLabelArgs.text; + dataLabelStyle = dataLabelArgs.textStyle; + pointIndex = dataLabelArgs.pointIndex!; + dataLabelSettingsRenderer.color = dataLabelArgs.color; + seriesRenderer.dataPoints[pointIndex].labelRenderEvent = true; + } + if (seriesRenderer.series.dataLabelSettings.builder != null) { + final int pointIndex = seriesRenderer + .stateProperties.renderingDetails.templates + .indexWhere((ChartTemplateInfo templateInfo) => + templateInfo.pointIndex == point.index); + // Checks template for avoid the hidden data point and calculate the label location based on template size. + if (pointIndex != -1) { + textSize = seriesRenderer.stateProperties.renderingDetails + .dataLabelTemplateRegions[pointIndex].size; + } } else { - setLabelPosition( - dataLabel, - point, - textSize, - stateProperties, - canvas, - renderDataLabelRegions, - pointIndex, - label, - seriesRenderer, - animateOpacity, - dataLabelStyle, - seriesIndex); + textSize = measureText(label, dataLabelStyle); } + + /// condition check for labels after event. + if (label != '') { + if (seriesRenderer.seriesType == 'radialbar') { + dataLabelStyle = chart.onDataLabelRender == null + ? seriesRenderer.renderer.getDataLabelStyle( + seriesRenderer, + point, + pointIndex, + seriesIndex, + dataLabelStyle, + stateProperties.chartState) + : dataLabelStyle; + labelLocation = degreeToPoint(point.startAngle!, + (point.innerRadius! + point.outerRadius!) / 2, point.center!); + labelLocation = Offset( + (labelLocation.dx - textSize!.width - 5) + + (angle == 0 ? 0 : textSize.width / 2), + (labelLocation.dy - textSize.height / 2) + + (angle == 0 ? 0 : textSize.height / 2)); + point.labelRect = Rect.fromLTWH( + labelLocation.dx - labelPadding, + labelLocation.dy - labelPadding, + textSize.width + (2 * labelPadding), + textSize.height + (2 * labelPadding)); + drawLabel( + point.labelRect, + labelLocation, + label, + null, + canvas, + seriesRenderer, + point, + pointIndex, + seriesIndex, + chart, + dataLabelStyle, + renderDataLabelRegions, + animateOpacity); + } else { + setLabelPosition( + dataLabel, + point, + textSize!, + stateProperties, + canvas, + renderDataLabelRegions, + pointIndex, + label, + seriesRenderer, + animateOpacity, + dataLabelStyle, + seriesIndex); + } + } + dataLabelStyle = chart.onDataLabelRender == null + ? seriesRenderer.renderer.getDataLabelStyle( + seriesRenderer, + point, + pointIndex, + seriesIndex, + dataLabelStyle, + stateProperties.chartState) + : dataLabelStyle; + } else { + point.labelRect = Rect.zero; } - dataLabelStyle = chart.onDataLabelRender == null - ? seriesRenderer.renderer.getDataLabelStyle( - seriesRenderer, - point, - pointIndex, - seriesIndex, - dataLabelStyle, - stateProperties.chartState) - : dataLabelStyle; - } else { - point.labelRect = Rect.zero; } } if (seriesRenderer.dataLabelSettingsRenderer.dataLabelSettings @@ -514,33 +533,35 @@ void renderCircularDataLabel( LabelIntersectAction.shift && seriesRenderer.seriesType != 'radialbar') { const int labelPadding = 2; - leftPoints = >[]; - rightPoints = >[]; - for (int i = 0; i < seriesRenderer.renderPoints!.length; i++) { - if (seriesRenderer.renderPoints![i].isVisible) { - PointHelper.setNewAngle(seriesRenderer.renderPoints![i], - seriesRenderer.renderPoints![i].midAngle); - if (seriesRenderer.renderPoints![i].dataLabelPosition == - Position.left && - seriesRenderer.renderPoints![i].renderPosition == - ChartDataLabelPosition.outside) { - leftPoints.add(seriesRenderer.renderPoints![i]); - } else if (seriesRenderer.renderPoints![i].dataLabelPosition == - Position.right && - seriesRenderer.renderPoints![i].renderPosition == - ChartDataLabelPosition.outside) { - rightPoints.add(seriesRenderer.renderPoints![i]); + if (dataLabel.builder == null) { + leftPoints = >[]; + rightPoints = >[]; + for (int i = 0; i < seriesRenderer.renderPoints!.length; i++) { + if (seriesRenderer.renderPoints![i].isVisible) { + PointHelper.setNewAngle(seriesRenderer.renderPoints![i], + seriesRenderer.renderPoints![i].midAngle); + if (seriesRenderer.renderPoints![i].dataLabelPosition == + Position.left && + seriesRenderer.renderPoints![i].renderPosition == + ChartDataLabelPosition.outside) { + leftPoints.add(seriesRenderer.renderPoints![i]); + } else if (seriesRenderer.renderPoints![i].dataLabelPosition == + Position.right && + seriesRenderer.renderPoints![i].renderPosition == + ChartDataLabelPosition.outside) { + rightPoints.add(seriesRenderer.renderPoints![i]); + } } } - } - leftPoints.sort((ChartPoint a, ChartPoint b) => - PointHelper.getNewAngle(a)!.compareTo(PointHelper.getNewAngle(b)!)); - if (leftPoints.isNotEmpty) { - _arrangeLeftSidePoints(seriesRenderer); - } - isIncreaseAngle = false; - if (rightPoints.isNotEmpty) { - _arrangeRightSidePoints(seriesRenderer); + leftPoints.sort((ChartPoint a, ChartPoint b) => + PointHelper.getNewAngle(a)!.compareTo(PointHelper.getNewAngle(b)!)); + if (leftPoints.isNotEmpty) { + _arrangeLeftSidePoints(seriesRenderer); + } + isIncreaseAngle = false; + if (rightPoints.isNotEmpty) { + _arrangeRightSidePoints(seriesRenderer); + } } for (int pointIndex = 0; pointIndex < seriesRenderer.renderPoints!.length; @@ -552,49 +573,52 @@ void renderCircularDataLabel( seriesRenderer.series.dataLabelSettings.margin; final Rect rect = point.labelRect; TextStyle dataLabelStyle = dataLabel.textStyle; - dataLabelStyle = TextStyle( - color: (chart.onDataLabelRender != null && dataLabelSettingsRenderer.color != null) - ? getSaturationColor( - dataLabelSettingsRenderer.color ?? point.fill) - : ((dataLabelStyle.color ?? dataLabel.textStyle.color) ?? - getSaturationColor( - point.renderPosition == ChartDataLabelPosition.outside - ? findthemecolor(stateProperties, point, dataLabel) - : dataLabelSettingsRenderer.color ?? point.fill)), - fontSize: dataLabelStyle.fontSize ?? dataLabel.textStyle.fontSize, - fontFamily: - dataLabelStyle.fontFamily ?? dataLabel.textStyle.fontFamily, - fontStyle: - dataLabelStyle.fontStyle ?? dataLabel.textStyle.fontStyle, - fontWeight: - dataLabelStyle.fontWeight ?? dataLabel.textStyle.fontWeight, - inherit: dataLabelStyle.inherit, - backgroundColor: dataLabelStyle.backgroundColor ?? - dataLabel.textStyle.backgroundColor, - letterSpacing: dataLabelStyle.letterSpacing ?? - dataLabel.textStyle.letterSpacing, - wordSpacing: - dataLabelStyle.wordSpacing ?? dataLabel.textStyle.wordSpacing, - textBaseline: - dataLabelStyle.textBaseline ?? dataLabel.textStyle.textBaseline, - height: dataLabelStyle.height ?? dataLabel.textStyle.height, - locale: dataLabelStyle.locale ?? dataLabel.textStyle.locale, - foreground: - dataLabelStyle.foreground ?? dataLabel.textStyle.foreground, - background: - dataLabelStyle.background ?? dataLabel.textStyle.background, - shadows: dataLabelStyle.shadows ?? dataLabel.textStyle.shadows, - fontFeatures: - dataLabelStyle.fontFeatures ?? dataLabel.textStyle.fontFeatures, - decoration: - dataLabelStyle.decoration ?? dataLabel.textStyle.decoration, - decorationColor: dataLabelStyle.decorationColor ?? - dataLabel.textStyle.decorationColor, - decorationStyle: dataLabelStyle.decorationStyle ?? dataLabel.textStyle.decorationStyle, - decorationThickness: dataLabelStyle.decorationThickness ?? dataLabel.textStyle.decorationThickness, - debugLabel: dataLabelStyle.debugLabel ?? dataLabel.textStyle.debugLabel, - fontFamilyFallback: dataLabelStyle.fontFamilyFallback ?? dataLabel.textStyle.fontFamilyFallback); - textSize = measureText(label!, dataLabelStyle); + if (dataLabel.builder == null) { + dataLabelStyle = TextStyle( + color: (chart.onDataLabelRender != null && + dataLabelSettingsRenderer.color != null) + ? getSaturationColor( + dataLabelSettingsRenderer.color ?? point.fill) + : ((dataLabelStyle.color ?? dataLabel.textStyle.color) ?? + getSaturationColor(point.renderPosition == + ChartDataLabelPosition.outside + ? findthemecolor(stateProperties, point, dataLabel) + : dataLabelSettingsRenderer.color ?? point.fill)), + fontSize: dataLabelStyle.fontSize ?? dataLabel.textStyle.fontSize, + fontFamily: + dataLabelStyle.fontFamily ?? dataLabel.textStyle.fontFamily, + fontStyle: + dataLabelStyle.fontStyle ?? dataLabel.textStyle.fontStyle, + fontWeight: + dataLabelStyle.fontWeight ?? dataLabel.textStyle.fontWeight, + inherit: dataLabelStyle.inherit, + backgroundColor: dataLabelStyle.backgroundColor ?? + dataLabel.textStyle.backgroundColor, + letterSpacing: dataLabelStyle.letterSpacing ?? + dataLabel.textStyle.letterSpacing, + wordSpacing: + dataLabelStyle.wordSpacing ?? dataLabel.textStyle.wordSpacing, + textBaseline: dataLabelStyle.textBaseline ?? + dataLabel.textStyle.textBaseline, + height: dataLabelStyle.height ?? dataLabel.textStyle.height, + locale: dataLabelStyle.locale ?? dataLabel.textStyle.locale, + foreground: + dataLabelStyle.foreground ?? dataLabel.textStyle.foreground, + background: + dataLabelStyle.background ?? dataLabel.textStyle.background, + shadows: dataLabelStyle.shadows ?? dataLabel.textStyle.shadows, + fontFeatures: + dataLabelStyle.fontFeatures ?? dataLabel.textStyle.fontFeatures, + decoration: dataLabelStyle.decoration ?? dataLabel.textStyle.decoration, + decorationColor: dataLabelStyle.decorationColor ?? dataLabel.textStyle.decorationColor, + decorationStyle: dataLabelStyle.decorationStyle ?? dataLabel.textStyle.decorationStyle, + decorationThickness: dataLabelStyle.decorationThickness ?? dataLabel.textStyle.decorationThickness, + debugLabel: dataLabelStyle.debugLabel ?? dataLabel.textStyle.debugLabel, + fontFamilyFallback: dataLabelStyle.fontFamilyFallback ?? dataLabel.textStyle.fontFamilyFallback); + } + textSize = seriesRenderer.series.dataLabelSettings.builder != null + ? point.dataLabelSize + : measureText(label!, dataLabelStyle); labelLocation = Offset( rect.left + (point.renderPosition == ChartDataLabelPosition.inside @@ -847,50 +871,53 @@ void setLabelPosition( (dataLabel.labelIntersectAction == LabelIntersectAction.none && dataLabel.overflowMode == OverflowMode.none)) { point.renderPosition = ChartDataLabelPosition.inside; - dataLabelStyle = TextStyle( - color: (chart.onDataLabelRender != null && - dataLabelSettingsRenderer.color != null) - ? getSaturationColor( - dataLabelSettingsRenderer.color ?? point.fill) - : ((dataLabelStyle.color ?? dataLabel.textStyle.color) ?? - getSaturationColor( - dataLabelSettingsRenderer.color ?? point.fill)), - fontSize: dataLabelStyle.fontSize ?? dataLabel.textStyle.fontSize, - fontFamily: - dataLabelStyle.fontFamily ?? dataLabel.textStyle.fontFamily, - fontStyle: dataLabelStyle.fontStyle ?? dataLabel.textStyle.fontStyle, - fontWeight: - dataLabelStyle.fontWeight ?? dataLabel.textStyle.fontWeight, - inherit: dataLabelStyle.inherit, - backgroundColor: dataLabelStyle.backgroundColor ?? - dataLabel.textStyle.backgroundColor, - letterSpacing: - dataLabelStyle.letterSpacing ?? dataLabel.textStyle.letterSpacing, - wordSpacing: - dataLabelStyle.wordSpacing ?? dataLabel.textStyle.wordSpacing, - textBaseline: - dataLabelStyle.textBaseline ?? dataLabel.textStyle.textBaseline, - height: dataLabelStyle.height ?? dataLabel.textStyle.height, - locale: dataLabelStyle.locale ?? dataLabel.textStyle.locale, - foreground: - dataLabelStyle.foreground ?? dataLabel.textStyle.foreground, - background: - dataLabelStyle.background ?? dataLabel.textStyle.background, - shadows: dataLabelStyle.shadows ?? dataLabel.textStyle.shadows, - fontFeatures: - dataLabelStyle.fontFeatures ?? dataLabel.textStyle.fontFeatures, - decoration: - dataLabelStyle.decoration ?? dataLabel.textStyle.decoration, - decorationColor: dataLabelStyle.decorationColor ?? - dataLabel.textStyle.decorationColor, - decorationStyle: dataLabelStyle.decorationStyle ?? - dataLabel.textStyle.decorationStyle, - decorationThickness: dataLabelStyle.decorationThickness ?? - dataLabel.textStyle.decorationThickness, - debugLabel: - dataLabelStyle.debugLabel ?? dataLabel.textStyle.debugLabel, - fontFamilyFallback: dataLabelStyle.fontFamilyFallback ?? - dataLabel.textStyle.fontFamilyFallback); + if (dataLabel.builder == null) { + dataLabelStyle = TextStyle( + color: (chart.onDataLabelRender != null && + dataLabelSettingsRenderer.color != null) + ? getSaturationColor( + dataLabelSettingsRenderer.color ?? point.fill) + : ((dataLabelStyle.color ?? dataLabel.textStyle.color) ?? + getSaturationColor( + dataLabelSettingsRenderer.color ?? point.fill)), + fontSize: dataLabelStyle.fontSize ?? dataLabel.textStyle.fontSize, + fontFamily: + dataLabelStyle.fontFamily ?? dataLabel.textStyle.fontFamily, + fontStyle: + dataLabelStyle.fontStyle ?? dataLabel.textStyle.fontStyle, + fontWeight: + dataLabelStyle.fontWeight ?? dataLabel.textStyle.fontWeight, + inherit: dataLabelStyle.inherit, + backgroundColor: dataLabelStyle.backgroundColor ?? + dataLabel.textStyle.backgroundColor, + letterSpacing: dataLabelStyle.letterSpacing ?? + dataLabel.textStyle.letterSpacing, + wordSpacing: + dataLabelStyle.wordSpacing ?? dataLabel.textStyle.wordSpacing, + textBaseline: + dataLabelStyle.textBaseline ?? dataLabel.textStyle.textBaseline, + height: dataLabelStyle.height ?? dataLabel.textStyle.height, + locale: dataLabelStyle.locale ?? dataLabel.textStyle.locale, + foreground: + dataLabelStyle.foreground ?? dataLabel.textStyle.foreground, + background: + dataLabelStyle.background ?? dataLabel.textStyle.background, + shadows: dataLabelStyle.shadows ?? dataLabel.textStyle.shadows, + fontFeatures: + dataLabelStyle.fontFeatures ?? dataLabel.textStyle.fontFeatures, + decoration: + dataLabelStyle.decoration ?? dataLabel.textStyle.decoration, + decorationColor: dataLabelStyle.decorationColor ?? + dataLabel.textStyle.decorationColor, + decorationStyle: dataLabelStyle.decorationStyle ?? + dataLabel.textStyle.decorationStyle, + decorationThickness: dataLabelStyle.decorationThickness ?? + dataLabel.textStyle.decorationThickness, + debugLabel: + dataLabelStyle.debugLabel ?? dataLabel.textStyle.debugLabel, + fontFamilyFallback: dataLabelStyle.fontFamilyFallback ?? + dataLabel.textStyle.fontFamilyFallback); + } if (!isDataLabelCollide && (dataLabel.labelIntersectAction == LabelIntersectAction.shift && dataLabel.overflowMode != OverflowMode.hide)) { @@ -943,40 +970,48 @@ void setLabelPosition( } } else { point.renderPosition = ChartDataLabelPosition.outside; - dataLabelStyle = TextStyle( - color: (dataLabelStyle.color ?? dataLabel.textStyle.color) ?? - getSaturationColor( - findthemecolor(stateProperties, point, dataLabel)), - fontSize: dataLabelStyle.fontSize ?? dataLabel.textStyle.fontSize, - fontFamily: dataLabelStyle.fontFamily ?? dataLabel.textStyle.fontFamily, - fontStyle: dataLabelStyle.fontStyle ?? dataLabel.textStyle.fontStyle, - fontWeight: dataLabelStyle.fontWeight ?? dataLabel.textStyle.fontWeight, - inherit: dataLabelStyle.inherit, - backgroundColor: dataLabelStyle.backgroundColor ?? - dataLabel.textStyle.backgroundColor, - letterSpacing: - dataLabelStyle.letterSpacing ?? dataLabel.textStyle.letterSpacing, - wordSpacing: - dataLabelStyle.wordSpacing ?? dataLabel.textStyle.wordSpacing, - textBaseline: - dataLabelStyle.textBaseline ?? dataLabel.textStyle.textBaseline, - height: dataLabelStyle.height ?? dataLabel.textStyle.height, - locale: dataLabelStyle.locale ?? dataLabel.textStyle.locale, - foreground: dataLabelStyle.foreground ?? dataLabel.textStyle.foreground, - background: dataLabelStyle.background ?? dataLabel.textStyle.background, - shadows: dataLabelStyle.shadows ?? dataLabel.textStyle.shadows, - fontFeatures: - dataLabelStyle.fontFeatures ?? dataLabel.textStyle.fontFeatures, - decoration: dataLabelStyle.decoration ?? dataLabel.textStyle.decoration, - decorationColor: dataLabelStyle.decorationColor ?? - dataLabel.textStyle.decorationColor, - decorationStyle: dataLabelStyle.decorationStyle ?? - dataLabel.textStyle.decorationStyle, - decorationThickness: dataLabelStyle.decorationThickness ?? - dataLabel.textStyle.decorationThickness, - debugLabel: dataLabelStyle.debugLabel ?? dataLabel.textStyle.debugLabel, - fontFamilyFallback: dataLabelStyle.fontFamilyFallback ?? - dataLabel.textStyle.fontFamilyFallback); + if (dataLabel.builder == null) { + dataLabelStyle = TextStyle( + color: (dataLabelStyle.color ?? dataLabel.textStyle.color) ?? + getSaturationColor( + findthemecolor(stateProperties, point, dataLabel)), + fontSize: dataLabelStyle.fontSize ?? dataLabel.textStyle.fontSize, + fontFamily: + dataLabelStyle.fontFamily ?? dataLabel.textStyle.fontFamily, + fontStyle: dataLabelStyle.fontStyle ?? dataLabel.textStyle.fontStyle, + fontWeight: + dataLabelStyle.fontWeight ?? dataLabel.textStyle.fontWeight, + inherit: dataLabelStyle.inherit, + backgroundColor: dataLabelStyle.backgroundColor ?? + dataLabel.textStyle.backgroundColor, + letterSpacing: + dataLabelStyle.letterSpacing ?? dataLabel.textStyle.letterSpacing, + wordSpacing: + dataLabelStyle.wordSpacing ?? dataLabel.textStyle.wordSpacing, + textBaseline: + dataLabelStyle.textBaseline ?? dataLabel.textStyle.textBaseline, + height: dataLabelStyle.height ?? dataLabel.textStyle.height, + locale: dataLabelStyle.locale ?? dataLabel.textStyle.locale, + foreground: + dataLabelStyle.foreground ?? dataLabel.textStyle.foreground, + background: + dataLabelStyle.background ?? dataLabel.textStyle.background, + shadows: dataLabelStyle.shadows ?? dataLabel.textStyle.shadows, + fontFeatures: + dataLabelStyle.fontFeatures ?? dataLabel.textStyle.fontFeatures, + decoration: + dataLabelStyle.decoration ?? dataLabel.textStyle.decoration, + decorationColor: dataLabelStyle.decorationColor ?? + dataLabel.textStyle.decorationColor, + decorationStyle: dataLabelStyle.decorationStyle ?? + dataLabel.textStyle.decorationStyle, + decorationThickness: dataLabelStyle.decorationThickness ?? + dataLabel.textStyle.decorationThickness, + debugLabel: + dataLabelStyle.debugLabel ?? dataLabel.textStyle.debugLabel, + fontFamilyFallback: dataLabelStyle.fontFamilyFallback ?? + dataLabel.textStyle.fontFamilyFallback); + } renderOutsideDataLabel( canvas, label, @@ -1023,8 +1058,28 @@ void renderOutsideDataLabel( if (connector.type == ConnectorType.line) { connectorPath.lineTo(endPoint.dx, endPoint.dy); } - rect = getDataLabelRect(point.dataLabelPosition, connector.type, margin, - connectorPath, endPoint, textSize); + if (seriesRenderer.series.dataLabelSettings.builder != null) { + final int pointIndex = seriesRenderer + .stateProperties.renderingDetails.templates + .indexWhere((ChartTemplateInfo templateInfo) => + templateInfo.pointIndex == point.index); + // Checks template for avoid the hidden data point and calculate the label location based on template size. + if (pointIndex != -1) { + textSize = seriesRenderer.stateProperties.renderingDetails + .dataLabelTemplateRegions[pointIndex].size; + } + } + rect = getDataLabelRect( + point.dataLabelPosition, + connector.type, + margin, + connectorPath, + endPoint, + textSize, + // To avoid the extra padding added to the exact template size. + seriesRenderer.series.dataLabelSettings.builder != null + ? seriesRenderer.series.dataLabelSettings + : null); point.labelRect = rect!; labelLocation = Offset(rect.left + margin.left, rect.top + rect.height / 2 - textSize.height / 2); @@ -1075,8 +1130,10 @@ void renderOutsideDataLabel( } else { if (seriesRenderer.series.dataLabelSettings.labelIntersectAction != LabelIntersectAction.shift) { - _drawConnectorLine(labelLocation, connectorPath, canvas, seriesRenderer, - point, animateOpacity, seriesRenderer.series.dataLabelSettings); + if (textSize != Size.zero) { + _drawConnectorLine(labelLocation, connectorPath, canvas, seriesRenderer, + point, animateOpacity, seriesRenderer.series.dataLabelSettings); + } } } } @@ -1375,29 +1432,151 @@ void _drawConnectorLine( if (dataLabel.builder != null) { final List datalabelTemplate = seriesRenderer .stateProperties.renderingDetails.dataLabelTemplateRegions; - final Offset dataLabelLocation = seriesRenderer - .stateProperties.renderingDetails.templates[point.index].location; - for (int i = 0; i < datalabelTemplate.length; i++) { - if (datalabelTemplate[i].contains(location) || - datalabelTemplate[i].contains(dataLabelLocation)) { - canvas.drawPath( - connectorPath, - Paint() - ..color = line.width <= 0 - ? Colors.transparent - : line.color ?? point.fill.withOpacity(animateOpacity) - ..strokeWidth = line.width - ..style = PaintingStyle.stroke); + if (isTemplateWithinBounds( + seriesRenderer.stateProperties.renderingDetails.chartAreaRect, + point.labelRect) && + // Decide to render or ignore the empty point label connected line. + (point.y != 0 || dataLabel.showZeroValue)) { + final List templates = + seriesRenderer.stateProperties.renderingDetails.templates; + if (seriesRenderer.dataLabelSettingsRenderer.dataLabelSettings + .labelIntersectAction == + LabelIntersectAction.hide) { + for (int i = 0; i < templates.length; i++) { + // Here we have used the templates due to iterating the points leads to non initialized error. + // When the point get hidden by the legend toggle then the information of the point is not stored. + if (templates[i].pointIndex == point.index && + datalabelTemplate[i] != Rect.zero) { + _drawConnectedPath( + canvas, connectorPath, line, point, animateOpacity); + } + } + } else { + // This is for the shift and none interaction type connected line. + _drawConnectedPath(canvas, connectorPath, line, point, animateOpacity); } } } else { - canvas.drawPath( - connectorPath, - Paint() - ..color = line.width <= 0 - ? Colors.transparent - : line.color ?? point.fill.withOpacity(animateOpacity) - ..strokeWidth = line.width - ..style = PaintingStyle.stroke); + _drawConnectedPath(canvas, connectorPath, line, point, animateOpacity); } } + +/// To shift the data label template in the circular chart. +void shiftCircularDataLabelTemplate( + CircularSeriesRendererExtension seriesRenderer, + CircularStateProperties stateProperties, + List rectSize) { + leftPoints = >[]; + rightPoints = >[]; + final List renderDataLabelRegions = []; + const int labelPadding = 2; + final List templates = + seriesRenderer.stateProperties.renderingDetails.templates; + for (int i = 0; i < templates.length; i++) { + final ChartPoint point = + seriesRenderer.renderPoints![templates[i].pointIndex!]; + if (PointHelper.getNewAngle(point) == null && + point.isVisible && + templates[i].templateType == 'DataLabel') { + // For the data label position is inside. + if (seriesRenderer.series.dataLabelSettings.labelPosition == + ChartDataLabelPosition.inside) { + Offset labelLocation = degreeToPoint(point.midAngle!, + (point.innerRadius! + point.outerRadius!) / 2, point.center!); + labelLocation = Offset(labelLocation.dx - (rectSize[i].width / 2), + labelLocation.dy - (rectSize[i].height / 2)); + final Rect rect = Rect.fromLTWH( + labelLocation.dx - labelPadding, + labelLocation.dy - labelPadding, + rectSize[i].width + (2 * labelPadding), + rectSize[i].height + (2 * labelPadding)); + // If collide with label when the position is inside calculate the outside rect value of that perticular label. + if (findingCollision(rect, renderDataLabelRegions)) { + _renderOutsideDataLabelTemplate( + point, seriesRenderer, rectSize[i].size, renderDataLabelRegions); + } else { + point.renderPosition = ChartDataLabelPosition.inside; + point.labelRect = rect; + // Stored the region of template rect to compare with next label. + renderDataLabelRegions.add(rect); + } + } else if (seriesRenderer.series.dataLabelSettings.labelPosition == + ChartDataLabelPosition.outside) { + _renderOutsideDataLabelTemplate( + point, seriesRenderer, rectSize[i].size, renderDataLabelRegions); + } + } + } + for (int i = 0; i < seriesRenderer.renderPoints!.length; i++) { + if (seriesRenderer.renderPoints![i].isVisible) { + PointHelper.setNewAngle(seriesRenderer.renderPoints![i], + seriesRenderer.renderPoints![i].midAngle); + if (seriesRenderer.renderPoints![i].dataLabelPosition == Position.left && + seriesRenderer.renderPoints![i].renderPosition == + ChartDataLabelPosition.outside) { + leftPoints.add(seriesRenderer.renderPoints![i]); + } else if (seriesRenderer.renderPoints![i].dataLabelPosition == + Position.right && + seriesRenderer.renderPoints![i].renderPosition == + ChartDataLabelPosition.outside) { + rightPoints.add(seriesRenderer.renderPoints![i]); + } + } + } + leftPoints.sort((ChartPoint a, ChartPoint b) => + PointHelper.getNewAngle(a)!.compareTo(PointHelper.getNewAngle(b)!)); + isIncreaseAngle = false; + if (leftPoints.isNotEmpty) { + _arrangeLeftSidePoints(seriesRenderer); + } + isIncreaseAngle = false; + if (rightPoints.isNotEmpty) { + _arrangeRightSidePoints(seriesRenderer); + } +} + +// Calculate the data label rectangle value when the data label template +// position is outside and it consider the outer radius. +void _renderOutsideDataLabelTemplate( + ChartPoint point, + CircularSeriesRendererExtension seriesRenderer, + Size templateSize, + List renderDataLabelRegion) { + point.renderPosition = ChartDataLabelPosition.outside; + const String defaultConnectorLineLength = '10%'; + final EdgeInsets margin = seriesRenderer.series.dataLabelSettings.margin; + final ConnectorLineSettings connector = + seriesRenderer.series.dataLabelSettings.connectorLineSettings; + final Path connectorPath = Path(); + final num connectorLength = percentToValue( + connector.length ?? defaultConnectorLineLength, point.outerRadius!)!; + final Offset startPoint = + degreeToPoint(point.midAngle!, point.outerRadius!, point.center!); + final Offset endPoint = degreeToPoint( + point.midAngle!, point.outerRadius! + connectorLength, point.center!); + connectorPath.moveTo(startPoint.dx, startPoint.dy); + if (connector.type == ConnectorType.line) { + connectorPath.lineTo(endPoint.dx, endPoint.dy); + } + point.dataLabelSize = templateSize; + final Rect rect = getDataLabelRect(point.dataLabelPosition, connector.type, + margin, connectorPath, endPoint, templateSize)!; + point.labelRect = rect; + renderDataLabelRegion.add(rect); +} + +void _drawConnectedPath( + Canvas canvas, + Path connectorPath, + ConnectorLineSettings line, + ChartPoint point, + double animateOpacity) { + canvas.drawPath( + connectorPath, + Paint() + ..color = line.width <= 0 + ? Colors.transparent + : line.color ?? point.fill.withOpacity(animateOpacity) + ..strokeWidth = line.width + ..style = PaintingStyle.stroke); +} diff --git a/packages/syncfusion_flutter_charts/lib/src/circular_chart/renderer/doughnut_series.dart b/packages/syncfusion_flutter_charts/lib/src/circular_chart/renderer/doughnut_series.dart index af577d91b..548004a0b 100644 --- a/packages/syncfusion_flutter_charts/lib/src/circular_chart/renderer/doughnut_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/circular_chart/renderer/doughnut_series.dart @@ -227,6 +227,6 @@ class DoughnutSeries extends CircularSeries { xValueMapper, yValueMapper ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/circular_chart/renderer/pie_series.dart b/packages/syncfusion_flutter_charts/lib/src/circular_chart/renderer/pie_series.dart index 235e2c68a..d15222ce7 100644 --- a/packages/syncfusion_flutter_charts/lib/src/circular_chart/renderer/pie_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/circular_chart/renderer/pie_series.dart @@ -219,6 +219,6 @@ class PieSeries extends CircularSeries { xValueMapper, yValueMapper ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/circular_chart/renderer/radial_bar_series.dart b/packages/syncfusion_flutter_charts/lib/src/circular_chart/renderer/radial_bar_series.dart index e2057c235..fb3fcda3f 100644 --- a/packages/syncfusion_flutter_charts/lib/src/circular_chart/renderer/radial_bar_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/circular_chart/renderer/radial_bar_series.dart @@ -317,6 +317,6 @@ class RadialBarSeries extends CircularSeries { xValueMapper, yValueMapper ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/circular_chart/utils/helper.dart b/packages/syncfusion_flutter_charts/lib/src/circular_chart/utils/helper.dart index 7a2bd55a1..de2168fce 100644 --- a/packages/syncfusion_flutter_charts/lib/src/circular_chart/utils/helper.dart +++ b/packages/syncfusion_flutter_charts/lib/src/circular_chart/utils/helper.dart @@ -100,22 +100,14 @@ Path getRoundedCornerArcPath( ChartPoint point) { final Path path = Path(); - Offset midPoint; - num midStartAngle, midEndAngle; if (cornerStyle == CornerStyle.startCurve || cornerStyle == CornerStyle.bothCurve) { - midPoint = - degreeToPoint(startAngle, (innerRadius + outerRadius) / 2, center!); + final Offset startPoint = degreeToPoint(startAngle, innerRadius, center!); + final Offset endPoint = degreeToPoint(startAngle, outerRadius, center); - midStartAngle = degreesToRadians(180); - - midEndAngle = midStartAngle + degreesToRadians(180); - - path.addArc( - Rect.fromCircle( - center: midPoint, radius: (innerRadius - outerRadius).abs() / 2), - midStartAngle.toDouble(), - midEndAngle.toDouble()); + path.moveTo(startPoint.dx, startPoint.dy); + path.arcToPoint(endPoint, + radius: Radius.circular((innerRadius - outerRadius).abs() / 2)); } path.addArc( @@ -125,18 +117,9 @@ Path getRoundedCornerArcPath( if (cornerStyle == CornerStyle.endCurve || cornerStyle == CornerStyle.bothCurve) { - midPoint = degreeToPoint(endAngle, (innerRadius + outerRadius) / 2, center); - - midStartAngle = degreesToRadians(endAngle / 2); - - midEndAngle = midStartAngle + degreesToRadians(180); - - path.arcTo( - Rect.fromCircle( - center: midPoint, radius: (innerRadius - outerRadius).abs() / 2), - midStartAngle.toDouble(), - midEndAngle.toDouble(), - false); + final Offset endPoint = degreeToPoint(endAngle, innerRadius, center); + path.arcToPoint(endPoint, + radius: Radius.circular((innerRadius - outerRadius).abs() / 2)); } path.arcTo( @@ -146,6 +129,10 @@ Path getRoundedCornerArcPath( degreesToRadians(endAngle.toDouble())) .toDouble(), false); + if (cornerStyle == CornerStyle.endCurve) { + path.close(); + } + return path; } diff --git a/packages/syncfusion_flutter_charts/lib/src/common/common.dart b/packages/syncfusion_flutter_charts/lib/src/common/common.dart index d07266090..c786ff261 100644 --- a/packages/syncfusion_flutter_charts/lib/src/common/common.dart +++ b/packages/syncfusion_flutter_charts/lib/src/common/common.dart @@ -212,7 +212,7 @@ class ChartTitle { borderWidth, backgroundColor ]; - return hashList(values); + return Object.hashAll(values); } } @@ -820,7 +820,7 @@ class Legend { itemPadding, image ]; - return hashList(values); + return Object.hashAll(values); } } @@ -968,7 +968,7 @@ class LegendTitle { @override int get hashCode { final List values = [text, textStyle, alignment]; - return hashList(values); + return Object.hashAll(values); } } @@ -1100,6 +1100,6 @@ class EmptyPointSettings { borderColor, borderWidth ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/common/legend/legend.dart b/packages/syncfusion_flutter_charts/lib/src/common/legend/legend.dart index ae376064c..24ac7d70d 100644 --- a/packages/syncfusion_flutter_charts/lib/src/common/legend/legend.dart +++ b/packages/syncfusion_flutter_charts/lib/src/common/legend/legend.dart @@ -385,11 +385,27 @@ class ChartLegend { (!series.isVisible && seriesRendererDetails.oldSeries!.isVisible == true))) { legendRenderContext.isSelect = true; - if (stateProperties.renderingDetails.legendToggleStates - .contains(legendRenderContext) == - false) { + final List legendToggleStates = + stateProperties.renderingDetails.legendToggleStates; + if (legendToggleStates.isEmpty) { stateProperties.renderingDetails.legendToggleStates .add(legendRenderContext); + } else { + LegendRenderContext? legendContext; + bool isSame = false; + for (int i = 0; i < legendToggleStates.length; i++) { + if (legendToggleStates[i] == legendRenderContext || + legendToggleStates[i].seriesIndex == + legendRenderContext.seriesIndex) { + isSame = true; + } else if (!isSame) { + legendContext = legendRenderContext; + } + } + if (!isSame) { + stateProperties.renderingDetails.legendToggleStates + .add(legendContext!); + } } } else if (renderingDetails.widgetNeedUpdate && (seriesRendererDetails.oldSeries != null && diff --git a/packages/syncfusion_flutter_charts/lib/src/common/template/rendering.dart b/packages/syncfusion_flutter_charts/lib/src/common/template/rendering.dart index 2bed0b80e..086a1d925 100644 --- a/packages/syncfusion_flutter_charts/lib/src/common/template/rendering.dart +++ b/packages/syncfusion_flutter_charts/lib/src/common/template/rendering.dart @@ -1,16 +1,19 @@ import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; +import '../../../charts.dart'; import '../../chart/chart_series/series.dart'; import '../../chart/chart_series/series_renderer_properties.dart'; -import '../../chart/chart_series/xy_data_series.dart'; import '../../chart/common/cartesian_state_properties.dart'; import '../../chart/common/data_label.dart'; import '../../chart/common/data_label_renderer.dart'; import '../../chart/utils/helper.dart'; import '../../circular_chart/base/circular_state_properties.dart'; +import '../../circular_chart/renderer/data_label_renderer.dart'; +import '../../circular_chart/renderer/renderer_extension.dart'; +import '../../circular_chart/utils/helper.dart'; +import '../rendering_details.dart'; import '../state_properties.dart'; -import '../utils/enum.dart'; import '../utils/helper.dart'; /// Represents the render template class. @@ -71,14 +74,11 @@ class _RenderTemplateState extends State animationController: animationController, child: templateInfo.widget!); } else { - renderWidget = templateInfo.templateType == 'Annotation' && - widget.stateProperties is! CircularStateProperties - ? templateInfo.widget! - : _ChartTemplateRenderObject( - templateInfo: templateInfo, - stateProperties: widget.stateProperties, - animationController: animationController, - child: templateInfo.widget!); + renderWidget = _ChartTemplateRenderObject( + templateInfo: templateInfo, + stateProperties: widget.stateProperties, + animationController: animationController, + child: templateInfo.widget!); } if (templateInfo.animationDuration > 0) { final dynamic stateProperties = widget.stateProperties; @@ -116,27 +116,7 @@ class _RenderTemplateState extends State } else { currentWidget = renderWidget; } - return templateInfo.templateType != 'Annotation' || - widget.stateProperties is CircularStateProperties - ? currentWidget - : Positioned( - left: templateInfo.location.dx, - top: templateInfo.location.dy, - child: FractionalTranslation( - translation: Offset( - templateInfo.horizontalAlignment == ChartAlignment.near - ? 0 - : templateInfo.horizontalAlignment == - ChartAlignment.center - ? -0.5 - : -1, - templateInfo.verticalAlignment == ChartAlignment.near - ? 0 - : templateInfo.verticalAlignment == - ChartAlignment.center - ? -0.5 - : -1), - child: currentWidget)); + return currentWidget; } @override @@ -210,7 +190,6 @@ class _ChartTemplateRenderBox extends RenderShiftedBox { if (child != null) { locationX = _templateInfo.location.dx; locationY = _templateInfo.location.dy; - child!.layout(constraints, parentUsesSize: true); size = constraints.constrain(Size(child!.size.width, child!.size.height)); if (child!.parentData is BoxParentData) { @@ -291,28 +270,55 @@ class _ChartTemplateRenderBox extends RenderShiftedBox { stateProperties.renderingDetails.dataLabelTemplateRegions; final bool isCollide = (_templateInfo.templateType == 'DataLabel') && findingCollision(rect, dataLabelTemplateRegions); - if (!isCollide && - _isTemplateWithinBounds(_templateInfo.clipRect, rect) && + if (stateProperties is CircularStateProperties && + _templateInfo.templateType == 'DataLabel' && + stateProperties.chartSeries.visibleSeriesRenderers[0].seriesType != + 'radialbar') { + final CircularSeriesRendererExtension seriesRenderer = + (stateProperties as CircularStateProperties) + .chartSeries + .visibleSeriesRenderers[0]; + final DataLabelSettings dataLabelSettings = + seriesRenderer.dataLabelSettingsRenderer.dataLabelSettings; + if (dataLabelSettings.labelIntersectAction == + LabelIntersectAction.shift) { + dataLabelTemplateRegions.add(rect); + } else { + final ChartPoint point = + seriesRenderer.renderPoints![_templateInfo.pointIndex!]; + if ((isCollide && + dataLabelSettings.labelIntersectAction == + LabelIntersectAction.hide && + child != null && + child!.size != Size.zero) || + (!isTemplateWithinBounds(_templateInfo.clipRect, rect) || + (point.y == 0 && !dataLabelSettings.showZeroValue))) { + child!.layout(constraints.copyWith(maxWidth: 0, maxHeight: 0), + parentUsesSize: true); + dataLabelTemplateRegions.add(Rect.zero); + } else { + childParentData.offset = Offset(locationX, locationY); + dataLabelTemplateRegions.add(rect); + } + } + } else if (!isCollide && + isTemplateWithinBounds(_templateInfo.clipRect, rect) && isLabelWithInRange) { (_templateInfo.templateType == 'DataLabel') ? dataLabelTemplateRegions.add(rect) : stateProperties.annotationRegions.add(rect); childParentData.offset = Offset(locationX, locationY); } else { - childParentData.offset = Offset.infinite; + if (child != null && child!.size != Size.zero) { + child!.layout(constraints.copyWith(maxWidth: 0, maxHeight: 0), + parentUsesSize: true); + } } } } else { size = Size.zero; } } - - /// To check template is within bounds. - bool _isTemplateWithinBounds(Rect bounds, Rect templateRect) => - templateRect.left >= bounds.left && - templateRect.left + templateRect.width <= bounds.left + bounds.width && - templateRect.top >= bounds.top && - templateRect.top + templateRect.height <= bounds.top + bounds.height; } /// Represents the chart template class. @@ -342,6 +348,87 @@ class ChartTemplate extends StatefulWidget { State createState() => _ChartTemplateState(); } +/// Represent the render object for circular data label template. +class DataLabelTemplateStack extends Stack { + /// Creating an argument constructor of DataLabelTemplateStack class. + DataLabelTemplateStack( + {required this.renderingDetails, + required this.stateProperties, + required List children}) + : super(children: children); + + /// Holds circular series rendering details. + final RenderingDetails renderingDetails; + + /// Holds circular series state properties. + final CircularStateProperties stateProperties; + + @override + RenderStack createRenderObject(BuildContext context) { + final RenderDataLabelTemplateStack dataLabelTemplateStack = + RenderDataLabelTemplateStack() + ..renderingDetails = renderingDetails + ..stateProperties = stateProperties + ..textDirection = Directionality.maybeOf(context); + return dataLabelTemplateStack; + } +} + +/// Shifted the circular data label template based on the template size. +class RenderDataLabelTemplateStack extends RenderStack { + /// Holds the Circular series rendering. + late RenderingDetails renderingDetails; + + /// Holds the CircularStateProperties. + late CircularStateProperties stateProperties; + + @override + void performLayout() { + super.performLayout(); + final CircularSeriesRendererExtension seriesRenderer = + stateProperties.chartSeries.visibleSeriesRenderers[0]; + final List regions = renderingDetails.dataLabelTemplateRegions; + shiftCircularDataLabelTemplate(seriesRenderer, stateProperties, regions); + RenderBox child = firstChild!; + const int labelPadding = 2; + final EdgeInsets margin = seriesRenderer.series.dataLabelSettings.margin; + int pointIndex = 0; + final List templates = + renderingDetails.chartTemplate!.templates; + // Iterate the template for avoid the hidden data points and get the visible points. + while (pointIndex < templates.length) { + final ChartPoint point = + seriesRenderer.renderPoints![templates[pointIndex].pointIndex!]; + if (point.isVisible && + templates[pointIndex].templateType == 'DataLabel') { + final Rect rect = point.labelRect; + final Offset labelLocation = Offset( + rect.left + + (point.renderPosition == ChartDataLabelPosition.inside + ? labelPadding + : margin.left), + rect.top + (rect.height / 2 - regions[pointIndex].height / 2)); + final StackParentData parentData = child.parentData as StackParentData; + if (isTemplateWithinBounds( + stateProperties.renderingDetails.chartAreaRect, rect) && + !isOverlapWithPrevious( + point, seriesRenderer.renderPoints!, point.index) && + (point.y != 0 || + seriesRenderer.series.dataLabelSettings.showZeroValue)) { + parentData.offset = labelLocation; + } else { + // made a child size to zero when it is goes outside the chart area or overlap with previous template. + child.layout(constraints.copyWith(maxHeight: 0, maxWidth: 0)); + } + if (pointIndex < renderingDetails.chartTemplate!.templates.length - 1) { + child = (child.parentData! as StackParentData).nextSibling!; + } + } + pointIndex++; + } + } +} + class _ChartTemplateState extends State { @override void initState() { @@ -353,6 +440,19 @@ class _ChartTemplateState extends State { Widget build(BuildContext context) { widget.state = this; Widget renderTemplate = Container(); + CircularSeriesRendererExtension? seriesRenderer; + DataLabelSettings? dataLabelSettings; + if (widget.stateProperties is CircularStateProperties) { + seriesRenderer = (widget.stateProperties as CircularStateProperties) + .chartSeries + .visibleSeriesRenderers[0]; + if (seriesRenderer.series.dataLabelSettings.isVisible) { + seriesRenderer.dataLabelSettingsRenderer = + DataLabelSettingsRenderer(seriesRenderer.series.dataLabelSettings); + dataLabelSettings = + seriesRenderer.dataLabelSettingsRenderer.dataLabelSettings; + } + } final bool animationCompleted = widget.stateProperties.renderingDetails.animateCompleted; if (animationCompleted && widget.templates.isNotEmpty) { @@ -365,7 +465,20 @@ class _ChartTemplateState extends State { stateProperties: widget.stateProperties, )); } - renderTemplate = Stack(children: renderWidgets); + renderTemplate = ((widget.stateProperties is CircularStateProperties) && + dataLabelSettings != null && + seriesRenderer!.seriesType != 'radialbar' && + dataLabelSettings.labelIntersectAction == + LabelIntersectAction.shift && + dataLabelSettings.builder != null) + ? DataLabelTemplateStack( + renderingDetails: widget.stateProperties.renderingDetails, + stateProperties: + widget.stateProperties as CircularStateProperties, + children: renderWidgets) + : Stack( + children: renderWidgets, + ); } return renderTemplate; } diff --git a/packages/syncfusion_flutter_charts/lib/src/common/user_interaction/selection_behavior.dart b/packages/syncfusion_flutter_charts/lib/src/common/user_interaction/selection_behavior.dart index a5ff4c4b9..83d470a9b 100644 --- a/packages/syncfusion_flutter_charts/lib/src/common/user_interaction/selection_behavior.dart +++ b/packages/syncfusion_flutter_charts/lib/src/common/user_interaction/selection_behavior.dart @@ -381,7 +381,7 @@ class SelectionBehavior { unselectedOpacity, selectionController ]; - return hashList(values); + return Object.hashAll(values); } /// Specifies the value of selection behavior renderer. diff --git a/packages/syncfusion_flutter_charts/lib/src/common/user_interaction/tooltip.dart b/packages/syncfusion_flutter_charts/lib/src/common/user_interaction/tooltip.dart index 8a2b567de..762f0921c 100644 --- a/packages/syncfusion_flutter_charts/lib/src/common/user_interaction/tooltip.dart +++ b/packages/syncfusion_flutter_charts/lib/src/common/user_interaction/tooltip.dart @@ -594,7 +594,7 @@ class TooltipBehavior { builder, shadowColor ]; - return hashList(values); + return Object.hashAll(values); } /// Holds the state properties value. @@ -692,8 +692,11 @@ class TooltipBehavior { }); } } - if (renderingDetails.tooltipBehaviorRenderer._tooltipRenderingDetails - .tooltipTemplate == + if (chart.tooltipBehavior.builder != null && x != null) { + renderingDetails.tooltipBehaviorRenderer._tooltipRenderingDetails + .showTemplateTooltip(Offset(position.x, position.y)); + } else if (renderingDetails.tooltipBehaviorRenderer + ._tooltipRenderingDetails.tooltipTemplate == null) { final SfTooltipState? tooltipState = tooltipBehaviorRenderer._tooltipRenderingDetails.chartTooltipState; diff --git a/packages/syncfusion_flutter_charts/lib/src/common/user_interaction/tooltip_rendering_details.dart b/packages/syncfusion_flutter_charts/lib/src/common/user_interaction/tooltip_rendering_details.dart index 4c6c8de25..1d2b8ecb8 100644 --- a/packages/syncfusion_flutter_charts/lib/src/common/user_interaction/tooltip_rendering_details.dart +++ b/packages/syncfusion_flutter_charts/lib/src/common/user_interaction/tooltip_rendering_details.dart @@ -592,7 +592,7 @@ class TooltipRenderingDetails { chart.series[seriesIndex].enableTooltip) { // To show the tooltip template when the provided indices are valid. _stateProperties.circularArea - ._showCircularTooltipTemplate(seriesIndex, pointIndex); + .showCircularTooltipTemplate(seriesIndex, pointIndex); } else if (chart.tooltipBehavior.builder == null && _stateProperties.animationCompleted == true && pointIndex >= 0 && @@ -1485,7 +1485,9 @@ class TooltipRenderingDetails { showLocation = tooltipPosition; if (prevTooltipData == null || prevTooltipData!.pointIndex == - _presentTooltipValue!.pointIndex) { + _presentTooltipValue!.pointIndex || + prevTooltipData!.seriesIndex != + _presentTooltipValue!.seriesIndex) { dataValues = values; pointIndex = _stateProperties.chart is SfCartesianChart ? (isTrendLine ?? false) diff --git a/packages/syncfusion_flutter_charts/lib/src/common/utils/helper.dart b/packages/syncfusion_flutter_charts/lib/src/common/utils/helper.dart index 36e2af198..6468e53e4 100644 --- a/packages/syncfusion_flutter_charts/lib/src/common/utils/helper.dart +++ b/packages/syncfusion_flutter_charts/lib/src/common/utils/helper.dart @@ -40,7 +40,17 @@ void dataLabelTapEvent(dynamic chart, DataLabelSettings dataLabelSettings, datalabelArgs = DataLabelTapDetails( seriesIndex, pointIndex, - chart is SfCartesianChart ? point.label : point.text, + chart is SfCartesianChart + ? point.dataLabelRegion.contains(position) + ? point.label + : point.dataLabelRegion2.contains(position) + ? point.label2 + : point.dataLabelRegion3.contains(position) + ? point.label3 + : point.dataLabelRegion4.contains(position) + ? point.label4 + : point.label5 + : point.text, dataLabelSettings, chart is SfCartesianChart ? point.overallDataPointIndex : pointIndex); datalabelArgs.position = position; @@ -1050,33 +1060,23 @@ void calculatePointSeriesIndex( final SeriesRendererDetails seriesRendererDetails = SeriesHelper.getSeriesRendererDetails( stateProperties.chartSeries.visibleSeriesRenderers[i]); - final String seriesType = seriesRendererDetails.seriesType; int? pointIndex; - final double padding = (seriesType == 'bubble') || - (seriesType == 'scatter') || - (seriesType == 'bar') || - (seriesType == 'column' || - seriesType == 'rangecolumn' || - seriesType.contains('stackedcolumn') || - seriesType.contains('stackedbar') || - seriesType == 'waterfall') - ? 0 - : 15; - - /// Regional padding to detect smooth touch. seriesRendererDetails.regionalData! .forEach((dynamic regionRect, dynamic values) { final Rect region = regionRect[0]; - final double left = region.left - padding; - final double right = region.right + padding; - final double top = region.top - padding; - final double bottom = region.bottom + padding; + final double widthPadding = + region.width < 8 ? (8 - region.width) / 2 : 0; + final double heightPadding = + region.height < 8 ? (8 - region.height) / 2 : 0; + final double left = region.left - widthPadding; + final double right = region.right + widthPadding; + final double top = region.top - heightPadding; + final double bottom = region.bottom + heightPadding; final Rect paddedRegion = Rect.fromLTRB(left, top, right, bottom); if (paddedRegion.contains(position!)) { pointIndex = regionRect[4].visiblePointIndex; } }); - if (pointIndex != null && seriesRendererDetails.visible! == true) { if ((seriesRendererDetails.series.onPointTap != null || seriesRendererDetails.series.onPointDoubleTap != null || @@ -1214,3 +1214,10 @@ String addEllipse(String text, int maxLength, String ellipse, {bool? isRtl}) { return trimText + ellipse; } } + +/// To check template is within bounds. +bool isTemplateWithinBounds(Rect bounds, Rect templateRect) => + templateRect.left >= bounds.left && + templateRect.left + templateRect.width <= bounds.left + bounds.width && + templateRect.top >= bounds.top && + templateRect.top + templateRect.height <= bounds.top + bounds.height; diff --git a/packages/syncfusion_flutter_charts/lib/src/funnel_chart/base/funnel_base.dart b/packages/syncfusion_flutter_charts/lib/src/funnel_chart/base/funnel_base.dart index 3804b1ef2..aec2cce9b 100644 --- a/packages/syncfusion_flutter_charts/lib/src/funnel_chart/base/funnel_base.dart +++ b/packages/syncfusion_flutter_charts/lib/src/funnel_chart/base/funnel_base.dart @@ -758,6 +758,7 @@ class SfFunnelChartState extends State renderBox = templateContext.context!.findRenderObject() as RenderBox; templateContext.size = renderBox.size; } + _stateProperties.legendRefresh = true; setState(() { /// The chart will be rebuilding again, Once legend template sizes will be calculated. }); diff --git a/packages/syncfusion_flutter_charts/lib/src/funnel_chart/base/funnel_plot_area.dart b/packages/syncfusion_flutter_charts/lib/src/funnel_chart/base/funnel_plot_area.dart index a83a8eb22..f9d0b2bf7 100644 --- a/packages/syncfusion_flutter_charts/lib/src/funnel_chart/base/funnel_plot_area.dart +++ b/packages/syncfusion_flutter_charts/lib/src/funnel_chart/base/funnel_plot_area.dart @@ -129,6 +129,7 @@ class FunnelPlotArea extends StatelessWidget { _bindTooltipWidgets(constraints); renderBox = context.findRenderObject() as RenderBox; stateProperties.funnelplotArea = this; + stateProperties.legendRefresh = false; // ignore: avoid_unnecessary_containers return Container( child: Stack( @@ -189,9 +190,10 @@ class FunnelPlotArea extends StatelessWidget { !stateProperties.renderingDetails.didSizeChange && (stateProperties.renderingDetails.oldDeviceOrientation == stateProperties.renderingDetails.deviceOrientation) && - ((!stateProperties.renderingDetails.widgetNeedUpdate && - stateProperties.renderingDetails.initialRender!) || - stateProperties.renderingDetails.isLegendToggled)) { + (((!stateProperties.renderingDetails.widgetNeedUpdate && + stateProperties.renderingDetails.initialRender!) || + stateProperties.renderingDetails.isLegendToggled) || + stateProperties.legendRefresh)) { final int totalAnimationDuration = series.animationDuration.toInt() + series.animationDelay.toInt(); stateProperties.renderingDetails.animationController.duration = diff --git a/packages/syncfusion_flutter_charts/lib/src/funnel_chart/base/funnel_state_properties.dart b/packages/syncfusion_flutter_charts/lib/src/funnel_chart/base/funnel_state_properties.dart index c60901c6a..5930be643 100644 --- a/packages/syncfusion_flutter_charts/lib/src/funnel_chart/base/funnel_state_properties.dart +++ b/packages/syncfusion_flutter_charts/lib/src/funnel_chart/base/funnel_state_properties.dart @@ -62,6 +62,9 @@ class FunnelStateProperties extends StateProperties { /// Specifies whether the text direction of chart widget is RTL or LTR. late bool isRtl; + /// Specifies whether the legend is refreshed + bool legendRefresh = false; + /// To redraw chart elements. void redraw() { renderingDetails.initialRender = false; diff --git a/packages/syncfusion_flutter_charts/lib/src/funnel_chart/renderer/funnel_series.dart b/packages/syncfusion_flutter_charts/lib/src/funnel_chart/renderer/funnel_series.dart index 961ca56c1..935c2878c 100644 --- a/packages/syncfusion_flutter_charts/lib/src/funnel_chart/renderer/funnel_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/funnel_chart/renderer/funnel_series.dart @@ -188,7 +188,7 @@ class FunnelSeries extends FunnelSeriesBase { explodeIndex, initialSelectedDataIndexes ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/pyramid_chart/base/pyramid_base.dart b/packages/syncfusion_flutter_charts/lib/src/pyramid_chart/base/pyramid_base.dart index ebafa559a..b4bd9ffd5 100644 --- a/packages/syncfusion_flutter_charts/lib/src/pyramid_chart/base/pyramid_base.dart +++ b/packages/syncfusion_flutter_charts/lib/src/pyramid_chart/base/pyramid_base.dart @@ -749,6 +749,7 @@ class SfPyramidChartState extends State renderBox = templateContext.context!.findRenderObject() as RenderBox; templateContext.size = renderBox.size; } + _stateProperties.legendRefresh = true; setState(() { /// The chart will be rebuilding again, Once legend template sizes will be calculated. }); diff --git a/packages/syncfusion_flutter_charts/lib/src/pyramid_chart/base/pyramid_plot_area.dart b/packages/syncfusion_flutter_charts/lib/src/pyramid_chart/base/pyramid_plot_area.dart index 0d98582c4..a37142f28 100644 --- a/packages/syncfusion_flutter_charts/lib/src/pyramid_chart/base/pyramid_plot_area.dart +++ b/packages/syncfusion_flutter_charts/lib/src/pyramid_chart/base/pyramid_plot_area.dart @@ -135,6 +135,7 @@ class PyramidPlotArea extends StatelessWidget { _bindTooltipWidgets(constraints); renderBox = context.findRenderObject() as RenderBox; stateProperties.chartPlotArea = this; + stateProperties.legendRefresh = false; // ignore: avoid_unnecessary_containers return Container( child: Stack( @@ -193,9 +194,10 @@ class PyramidPlotArea extends StatelessWidget { !stateProperties.renderingDetails.didSizeChange && (stateProperties.renderingDetails.deviceOrientation == stateProperties.renderingDetails.oldDeviceOrientation) && - ((!stateProperties.renderingDetails.widgetNeedUpdate && - stateProperties.renderingDetails.initialRender!) || - stateProperties.renderingDetails.isLegendToggled)) { + (((!stateProperties.renderingDetails.widgetNeedUpdate && + stateProperties.renderingDetails.initialRender!) || + stateProperties.renderingDetails.isLegendToggled) || + stateProperties.legendRefresh)) { final int totalAnimationDuration = series.animationDuration.toInt() + series.animationDelay.toInt(); stateProperties.renderingDetails.animationController.duration = diff --git a/packages/syncfusion_flutter_charts/lib/src/pyramid_chart/base/pyramid_state_properties.dart b/packages/syncfusion_flutter_charts/lib/src/pyramid_chart/base/pyramid_state_properties.dart index aeb065d6d..1c038c830 100644 --- a/packages/syncfusion_flutter_charts/lib/src/pyramid_chart/base/pyramid_state_properties.dart +++ b/packages/syncfusion_flutter_charts/lib/src/pyramid_chart/base/pyramid_state_properties.dart @@ -62,6 +62,9 @@ class PyramidStateProperties extends StateProperties { /// Specifies whether the text direction of chart widget is RTL or LTR. late bool isRtl; + /// Specifies whether the legend is refreshed + bool legendRefresh = false; + /// Method called when animation is completed. bool get animationCompleted { return renderingDetails.animationController.status != diff --git a/packages/syncfusion_flutter_charts/lib/src/pyramid_chart/renderer/pyramid_series.dart b/packages/syncfusion_flutter_charts/lib/src/pyramid_chart/renderer/pyramid_series.dart index 633ece391..8b317adee 100644 --- a/packages/syncfusion_flutter_charts/lib/src/pyramid_chart/renderer/pyramid_series.dart +++ b/packages/syncfusion_flutter_charts/lib/src/pyramid_chart/renderer/pyramid_series.dart @@ -179,6 +179,6 @@ class PyramidSeries extends PyramidSeriesBase { selectionBehavior, initialSelectedDataIndexes ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/pyramid_chart/utils/helper.dart b/packages/syncfusion_flutter_charts/lib/src/pyramid_chart/utils/helper.dart index acfd75de6..79fa1441d 100644 --- a/packages/syncfusion_flutter_charts/lib/src/pyramid_chart/utils/helper.dart +++ b/packages/syncfusion_flutter_charts/lib/src/pyramid_chart/utils/helper.dart @@ -213,7 +213,8 @@ bool isNeedExplode(int pointIndex, dynamic series, dynamic stateProperties) { /// To return data label rect calculation method based on position. Rect? getDataLabelRect(Position position, ConnectorType connectorType, - EdgeInsets margin, Path connectorPath, Offset endPoint, Size textSize) { + EdgeInsets margin, Path connectorPath, Offset endPoint, Size textSize, + [DataLabelSettings? dataLabelSettings]) { Rect? rect; const int lineLength = 10; switch (position) { @@ -222,26 +223,32 @@ Rect? getDataLabelRect(Position position, ConnectorType connectorType, ? connectorPath.lineTo(endPoint.dx + lineLength, endPoint.dy) : connectorPath.quadraticBezierTo( endPoint.dx, endPoint.dy, endPoint.dx + lineLength, endPoint.dy); - rect = Rect.fromLTWH( - endPoint.dx + lineLength, - endPoint.dy - (textSize.height / 2) - margin.top, - textSize.width + margin.left + margin.right, - textSize.height + margin.top + margin.bottom); + rect = dataLabelSettings != null && dataLabelSettings.builder != null + ? Rect.fromLTWH( + endPoint.dx, endPoint.dy, textSize.width, textSize.height) + : Rect.fromLTWH( + endPoint.dx + lineLength, + endPoint.dy - (textSize.height / 2) - margin.top, + textSize.width + margin.left + margin.right, + textSize.height + margin.top + margin.bottom); break; case Position.left: connectorType == ConnectorType.line ? connectorPath.lineTo(endPoint.dx - lineLength, endPoint.dy) : connectorPath.quadraticBezierTo( endPoint.dx, endPoint.dy, endPoint.dx - lineLength, endPoint.dy); - rect = Rect.fromLTWH( - endPoint.dx - - lineLength - - margin.right - - textSize.width - - margin.left, - endPoint.dy - (textSize.height / 2) - margin.top, - textSize.width + margin.left + margin.right, - textSize.height + margin.top + margin.bottom); + rect = dataLabelSettings != null && dataLabelSettings.builder != null + ? Rect.fromLTWH( + endPoint.dx, endPoint.dy, textSize.width, textSize.height) + : Rect.fromLTWH( + endPoint.dx - + lineLength - + margin.right - + textSize.width - + margin.left, + endPoint.dy - ((textSize.height / 2) + margin.top), + textSize.width + margin.left + margin.right, + textSize.height + margin.top + margin.bottom); break; } return rect; diff --git a/packages/syncfusion_flutter_charts/lib/src/sparkline/marker.dart b/packages/syncfusion_flutter_charts/lib/src/sparkline/marker.dart index 56cceeff1..5b7acfc9f 100644 --- a/packages/syncfusion_flutter_charts/lib/src/sparkline/marker.dart +++ b/packages/syncfusion_flutter_charts/lib/src/sparkline/marker.dart @@ -205,6 +205,6 @@ class SparkChartMarker { borderColor!, borderWidth, ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/sparkline/plot_band.dart b/packages/syncfusion_flutter_charts/lib/src/sparkline/plot_band.dart index 6ebabe954..f3204306a 100644 --- a/packages/syncfusion_flutter_charts/lib/src/sparkline/plot_band.dart +++ b/packages/syncfusion_flutter_charts/lib/src/sparkline/plot_band.dart @@ -166,6 +166,6 @@ class SparkChartPlotBand { borderColor!, borderWidth, ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/lib/src/sparkline/renderers/renderer_base.dart b/packages/syncfusion_flutter_charts/lib/src/sparkline/renderers/renderer_base.dart index b460018ce..1f168514f 100644 --- a/packages/syncfusion_flutter_charts/lib/src/sparkline/renderers/renderer_base.dart +++ b/packages/syncfusion_flutter_charts/lib/src/sparkline/renderers/renderer_base.dart @@ -463,6 +463,9 @@ abstract class RenderSparkChart extends RenderBox { /// Specifies the area size. Size? areaSize; + /// Spark chart area size + Rect? sparkChartAreaRect; + /// Specifies the data label values. List? dataLabels; @@ -592,8 +595,6 @@ abstract class RenderSparkChart extends RenderBox { if (minX != null && maxX != null && minY != null && maxY != null) { diffX = maxX! - minX!; diffY = maxY! - minY!; - diffX = diffX == 0 ? 1 : diffX; - diffY = diffY == 0 ? 1 : diffY; axisHeight = getAxisHeight(); if (coordinatePoints!.isNotEmpty) { coordinatePoints!.clear(); @@ -660,14 +661,17 @@ abstract class RenderSparkChart extends RenderBox { offset.dy + plotBandStartHeight!, offset.dx + areaSize!.width, offset.dy + plotBandEndHeight!); - canvas.drawRect(plotBandRect, paint); - if (plotBand!.borderColor != Colors.transparent && - plotBand!.borderWidth > 0) { - final Paint borderPaint = Paint() - ..style = PaintingStyle.stroke - ..strokeWidth = plotBand!.borderWidth - ..color = plotBand!.borderColor!; - canvas.drawRect(plotBandRect, borderPaint); + if (plotBandRect.top >= sparkChartAreaRect!.top && + plotBandRect.bottom >= sparkChartAreaRect!.bottom) { + canvas.drawRect(plotBandRect, paint); + if (plotBand!.borderColor != Colors.transparent && + plotBand!.borderWidth > 0) { + final Paint borderPaint = Paint() + ..style = PaintingStyle.stroke + ..strokeWidth = plotBand!.borderWidth + ..color = plotBand!.borderColor!; + canvas.drawRect(plotBandRect, borderPaint); + } } } else { final Paint paint = Paint() @@ -706,7 +710,7 @@ abstract class RenderSparkChart extends RenderBox { @override void paint(PaintingContext context, Offset offset) { renderAxisline(context.canvas, offset); - + sparkChartAreaRect = context.estimatedBounds; if (plotBand != null) { renderPlotBand(context.canvas, offset); } diff --git a/packages/syncfusion_flutter_charts/lib/src/sparkline/trackball/spark_chart_trackball.dart b/packages/syncfusion_flutter_charts/lib/src/sparkline/trackball/spark_chart_trackball.dart index b88f091c3..c10911394 100644 --- a/packages/syncfusion_flutter_charts/lib/src/sparkline/trackball/spark_chart_trackball.dart +++ b/packages/syncfusion_flutter_charts/lib/src/sparkline/trackball/spark_chart_trackball.dart @@ -353,6 +353,6 @@ class SparkChartTrackball { borderRadius, tooltipFormatter! ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_charts/pubspec.lock b/packages/syncfusion_flutter_charts/pubspec.lock index 38954f5cf..4a1396e45 100644 --- a/packages/syncfusion_flutter_charts/pubspec.lock +++ b/packages/syncfusion_flutter_charts/pubspec.lock @@ -7,7 +7,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.8.2" + version: "2.9.0" boolean_selector: dependency: transitive description: @@ -21,21 +21,14 @@ packages: name: characters url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" - charcode: - dependency: transitive - description: - name: charcode - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.1" + version: "1.2.1" clock: dependency: transitive description: name: clock url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.1.1" collection: dependency: transitive description: @@ -49,7 +42,7 @@ packages: name: fake_async url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.3.1" flutter: dependency: "direct main" description: flutter @@ -73,28 +66,28 @@ packages: name: matcher url: "https://pub.dartlang.org" source: hosted - version: "0.12.11" + version: "0.12.12" material_color_utilities: dependency: transitive description: name: material_color_utilities url: "https://pub.dartlang.org" source: hosted - version: "0.1.4" + version: "0.1.5" meta: dependency: transitive description: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.7.0" + version: "1.8.0" path: dependency: transitive description: name: path url: "https://pub.dartlang.org" source: hosted - version: "1.8.1" + version: "1.8.2" sky_engine: dependency: transitive description: flutter @@ -106,7 +99,7 @@ packages: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.8.2" + version: "1.9.0" stack_trace: dependency: transitive description: @@ -127,30 +120,30 @@ packages: name: string_scanner url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.1.1" syncfusion_flutter_core: dependency: "direct main" description: path: syncfusion_flutter_core - ref: "release/20.2.0.1" - resolved-ref: c663ccc1422d1fc2dc15aeba68d1b37f22207444 - url: "https://SyncfusionBuild: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@github.com/essential-studio/flutter-core" + ref: "release/20.4.0.1" + resolved-ref: "11256e0c8e32c9a4aaaea91c8c0921a728edd229" + url: "https://SyncfusionBuild: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@github.com/essential-studio/flutter-core" source: git - version: "18.3.40" + version: "20.2.36" term_glyph: dependency: transitive description: name: term_glyph url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.2.1" test_api: dependency: transitive description: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.4.9" + version: "0.4.12" vector_math: dependency: "direct main" description: @@ -159,4 +152,4 @@ packages: source: hosted version: "2.1.2" sdks: - dart: ">=2.17.0-0 <3.0.0" + dart: ">=2.17.0 <3.0.0" diff --git a/packages/syncfusion_flutter_charts/pubspec.yaml b/packages/syncfusion_flutter_charts/pubspec.yaml index b3724082c..12c471f03 100644 --- a/packages/syncfusion_flutter_charts/pubspec.yaml +++ b/packages/syncfusion_flutter_charts/pubspec.yaml @@ -4,14 +4,19 @@ version: 20.2.36 homepage: https://github.com/syncfusion/flutter-widgets/tree/master/packages/syncfusion_flutter_charts environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: sdk: flutter intl: ^0.17.0 vector_math: ">=2.1.0 <=3.0.0" - syncfusion_flutter_core: ^20.2.36 + syncfusion_flutter_core: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-core + path: syncfusion_flutter_core + branch: release/20.4.0.1 + ref: release/20.4.0.1 dev_dependencies: flutter_test: diff --git a/packages/syncfusion_flutter_core/README.md b/packages/syncfusion_flutter_core/README.md index 07cafb6a9..b5d173851 100644 --- a/packages/syncfusion_flutter_core/README.md +++ b/packages/syncfusion_flutter_core/README.md @@ -33,15 +33,12 @@ Explore the full capabilities of our Flutter widgets on your device by installin

- - + +

- -

-

@@ -55,11 +52,11 @@ Take a look at the following to learn more about Syncfusion Flutter widgets: ## Support and Feedback -* For any other queries, reach our [Syncfusion support team](https://www.syncfusion.com/support/directtrac/incidents/newincident) or post the queries through the [Community forums](https://www.syncfusion.com/forums) and submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter). +* For any other queries, reach our [Syncfusion support team](https://support.syncfusion.com/support/tickets/create) or post the queries through the [Community forums](https://www.syncfusion.com/forums) and submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter). * To renew the subscription, click [renew](https://www.syncfusion.com/sales/products) or contact our sales team at salessupport@syncfusion.com | Toll Free: 1-888-9 DOTNET. ## About Syncfusion Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 20,000 customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies. -Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), and [Blazor](https://www.syncfusion.com/blazor-components), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls) and [.NET MAUI](https://www.syncfusion.com/maui-controls)). We provide ready-to deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file +Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), [Flutter](https://www.syncfusion.com/flutter-widgets), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([Flutter](https://www.syncfusion.com/flutter-widgets), [WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [.NET MAUI](https://www.syncfusion.com/maui-controls)). We provide ready-to deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file diff --git a/packages/syncfusion_flutter_core/example/linux/flutter/generated_plugin_registrant.cc b/packages/syncfusion_flutter_core/example/linux/flutter/generated_plugin_registrant.cc index d38195aa0..e71a16d23 100644 --- a/packages/syncfusion_flutter_core/example/linux/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_flutter_core/example/linux/flutter/generated_plugin_registrant.cc @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" diff --git a/packages/syncfusion_flutter_core/example/linux/flutter/generated_plugin_registrant.h b/packages/syncfusion_flutter_core/example/linux/flutter/generated_plugin_registrant.h index 9bf747894..e0f0a47bc 100644 --- a/packages/syncfusion_flutter_core/example/linux/flutter/generated_plugin_registrant.h +++ b/packages/syncfusion_flutter_core/example/linux/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/syncfusion_flutter_core/example/linux/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_core/example/linux/flutter/generated_plugins.cmake index 51436ae8c..2e1de87a7 100644 --- a/packages/syncfusion_flutter_core/example/linux/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_core/example/linux/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_core/example/pubspec.yaml b/packages/syncfusion_flutter_core/example/pubspec.yaml index fdabf4577..2219d1655 100644 --- a/packages/syncfusion_flutter_core/example/pubspec.yaml +++ b/packages/syncfusion_flutter_core/example/pubspec.yaml @@ -3,7 +3,7 @@ description: This project holds information about registering a license key with version: 1.0.0+1 environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: diff --git a/packages/syncfusion_flutter_core/example/windows/flutter/generated_plugin_registrant.cc b/packages/syncfusion_flutter_core/example/windows/flutter/generated_plugin_registrant.cc index 4bfa0f3a3..8b6d4680a 100644 --- a/packages/syncfusion_flutter_core/example/windows/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_flutter_core/example/windows/flutter/generated_plugin_registrant.cc @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" diff --git a/packages/syncfusion_flutter_core/example/windows/flutter/generated_plugin_registrant.h b/packages/syncfusion_flutter_core/example/windows/flutter/generated_plugin_registrant.h index 9846246b4..dc139d85a 100644 --- a/packages/syncfusion_flutter_core/example/windows/flutter/generated_plugin_registrant.h +++ b/packages/syncfusion_flutter_core/example/windows/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/syncfusion_flutter_core/example/windows/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_core/example/windows/flutter/generated_plugins.cmake index 4d10c2518..b93c4c30c 100644 --- a/packages/syncfusion_flutter_core/example/windows/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_core/example/windows/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_core/lib/src/calendar/hijri_date_time.dart b/packages/syncfusion_flutter_core/lib/src/calendar/hijri_date_time.dart index 52bdf581a..323e73325 100644 --- a/packages/syncfusion_flutter_core/lib/src/calendar/hijri_date_time.dart +++ b/packages/syncfusion_flutter_core/lib/src/calendar/hijri_date_time.dart @@ -1975,7 +1975,7 @@ class HijriDateTime { @override int get hashCode { - return hashValues(month, day, year); + return Object.hash(month, day, year); } } diff --git a/packages/syncfusion_flutter_core/lib/src/localizations/global_localizations.dart b/packages/syncfusion_flutter_core/lib/src/localizations/global_localizations.dart index f4b713a37..1c2958e8d 100644 --- a/packages/syncfusion_flutter_core/lib/src/localizations/global_localizations.dart +++ b/packages/syncfusion_flutter_core/lib/src/localizations/global_localizations.dart @@ -160,6 +160,166 @@ abstract class SfLocalizations { /// Label that is displayed the rowsPerPages of datapager. String get rowsPerPageDataPagerLabel; + /// The label that is displayed in the filter view in SfDataGrid for + /// `Equals` option in drop down widget. + String get equalsDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Does Not Equal` option in drop down widget. + String get doesNotEqualDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Begins With` option in drop down widget. + String get beginsWithDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Ends With` option in drop down widget. + String get endsWithDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Does Not Begin With` option in drop down widget. + String get doesNotBeginWithDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Does Not End With` option in drop down widget. + String get doesNotEndWithDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Contains` option in drop down widget. + String get containsDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Does Not Contain` option in drop down widget. + String get doesNotContainDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Empty` option in drop down widget. + String get emptyDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Not Empty` option in drop down widget. + String get notEmptyDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Null` option in drop down widget. + String get nullDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Not Null` option in drop down widget. + String get notNullDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Before` option in drop down widget. + String get beforeDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Before Or Equal` option in drop down widget. + String get beforeOrEqualDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `After` option in drop down widget. + String get afterDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `After Or Equal` option in drop down widget. + String get afterOrEqualDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Less Than` option in drop down widget. + String get lessThanDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Less Than Or Equal` option in drop down widget. + String get lessThanOrEqualDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Greater Than` option in drop down widget. + String get greaterThanDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Greater Than Or Equal` option in drop down widget. + String get greaterThanOrEqualDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Sort Smallest to Largest` option in the popup menu. + String get sortSmallestToLargestDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// ` Sort Largest to Smallest ` option in the popup menu. + String get sortLargestToSmallestDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Sort A to Z` option in the popup menu. + String get sortAToZDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Sort Z to A` option in the popup menu. + String get sortZToADataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Sort Oldest to Newest` option in the popup menu.. + String get sortOldestToNewestDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Sort Newest to Oldest` option in the popup menu. + String get sortNewestToOldestDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Clear Filter` text in `Clear Filter From` option in the popup menu. + String get clearFilterDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `From` text in `Clear Filter From` option in the popup menu. + String get fromDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Text Filters` option in the popup menu. + String get textFiltersDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Number Filters` option in the popup menu. + String get numberFiltersDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Date Filters` option in the popup menu. + String get dateFiltersDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Search` option in the popup menu. + String get searchDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `No matches` option in the popup menu. + String get noMatchesDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `OK ` option in the popup menu. + String get okDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Cancel` option in the popup menu. + String get cancelDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Show rows where` option in the popup menu. + String get showRowsWhereDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `And` option in the popup menu. + String get andDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Or` option in the popup menu. + String get orDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Select All` option in the popup menu. + String get selectAllDataGridFilteringLabel; + + /// The label that is displayed in the filter view in SfDataGrid for + /// `Sort and Filter` option in the popup menu. + String get sortAndFilterDataGridFilteringLabel; + /// Label that is displayed in the bookmark view header of PdfViewer. String get pdfBookmarksLabel; @@ -419,6 +579,131 @@ class _DefaultLocalizations implements SfLocalizations { @override String get rowsPerPageDataPagerLabel => 'Rows per page'; + @override + String get afterDataGridFilteringLabel => 'After'; + + @override + String get afterOrEqualDataGridFilteringLabel => 'After Or Equal'; + + @override + String get beforeDataGridFilteringLabel => 'Before'; + + @override + String get beforeOrEqualDataGridFilteringLabel => 'Before Or Equal'; + + @override + String get beginsWithDataGridFilteringLabel => 'Begins With'; + + @override + String get containsDataGridFilteringLabel => 'Contains'; + + @override + String get doesNotBeginWithDataGridFilteringLabel => 'Does Not Begin With'; + + @override + String get doesNotContainDataGridFilteringLabel => 'Does Not Contain'; + + @override + String get doesNotEndWithDataGridFilteringLabel => 'Does Not End With'; + + @override + String get doesNotEqualDataGridFilteringLabel => 'Does Not Equal'; + + @override + String get emptyDataGridFilteringLabel => 'Empty'; + + @override + String get endsWithDataGridFilteringLabel => 'Ends With'; + + @override + String get equalsDataGridFilteringLabel => 'Equals'; + + @override + String get greaterThanDataGridFilteringLabel => 'Greater Than'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + 'Greater Than Or Equal'; + + @override + String get lessThanDataGridFilteringLabel => 'Less Than'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => 'Less Than Or Equal'; + + @override + String get notEmptyDataGridFilteringLabel => 'Not Empty'; + + @override + String get notNullDataGridFilteringLabel => 'Not Null'; + + @override + String get nullDataGridFilteringLabel => 'Null'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + 'Sort Smallest to Largest'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + 'Sort Largest to Smallest'; + + @override + String get sortAToZDataGridFilteringLabel => 'Sort A to Z'; + + @override + String get sortZToADataGridFilteringLabel => 'Sort Z to A'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + 'Sort Oldest to Newest'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + 'Sort Newest to Oldest'; + + @override + String get clearFilterDataGridFilteringLabel => 'Clear Filter'; + + @override + String get fromDataGridFilteringLabel => 'From'; + + @override + String get textFiltersDataGridFilteringLabel => 'Text Filters'; + + @override + String get numberFiltersDataGridFilteringLabel => 'Number Filters'; + + @override + String get dateFiltersDataGridFilteringLabel => 'Date Filters'; + + @override + String get searchDataGridFilteringLabel => 'Search'; + + @override + String get noMatchesDataGridFilteringLabel => 'No matches'; + + @override + String get okDataGridFilteringLabel => 'OK'; + + @override + String get cancelDataGridFilteringLabel => 'Cancel'; + + @override + String get showRowsWhereDataGridFilteringLabel => 'Show rows where'; + + @override + String get andDataGridFilteringLabel => 'And'; + + @override + String get orDataGridFilteringLabel => 'Or'; + + @override + String get selectAllDataGridFilteringLabel => 'Select All'; + + @override + String get sortAndFilterDataGridFilteringLabel => 'Sort and Filter'; + @override String get pdfBookmarksLabel => 'Bookmarks'; diff --git a/packages/syncfusion_flutter_core/lib/src/theme/barcodes_theme.dart b/packages/syncfusion_flutter_core/lib/src/theme/barcodes_theme.dart index 5fbbbebf9..e959dfc60 100644 --- a/packages/syncfusion_flutter_core/lib/src/theme/barcodes_theme.dart +++ b/packages/syncfusion_flutter_core/lib/src/theme/barcodes_theme.dart @@ -314,7 +314,7 @@ class SfBarcodeThemeData with Diagnosticable { @override int get hashCode { final List values = [backgroundColor, barColor, textColor]; - return hashList(values); + return Object.hashAll(values); } @override diff --git a/packages/syncfusion_flutter_core/lib/src/theme/calendar_theme.dart b/packages/syncfusion_flutter_core/lib/src/theme/calendar_theme.dart index e8e4a3e88..a5715a0fa 100644 --- a/packages/syncfusion_flutter_core/lib/src/theme/calendar_theme.dart +++ b/packages/syncfusion_flutter_core/lib/src/theme/calendar_theme.dart @@ -988,7 +988,7 @@ class SfCalendarThemeData with Diagnosticable { allDayPanelColor, timeIndicatorTextStyle, ]; - return hashList(values); + return Object.hashAll(values); } @override diff --git a/packages/syncfusion_flutter_core/lib/src/theme/charts_theme.dart b/packages/syncfusion_flutter_core/lib/src/theme/charts_theme.dart index ee40afd71..6dcb0e6c2 100644 --- a/packages/syncfusion_flutter_core/lib/src/theme/charts_theme.dart +++ b/packages/syncfusion_flutter_core/lib/src/theme/charts_theme.dart @@ -1160,7 +1160,7 @@ class SfChartThemeData with Diagnosticable { tooltipLabelColor, waterfallConnectorLineColor ]; - return hashList(values); + return Object.hashAll(values); } @override diff --git a/packages/syncfusion_flutter_core/lib/src/theme/datagrid_theme.dart b/packages/syncfusion_flutter_core/lib/src/theme/datagrid_theme.dart index 849b69395..e29c712b9 100644 --- a/packages/syncfusion_flutter_core/lib/src/theme/datagrid_theme.dart +++ b/packages/syncfusion_flutter_core/lib/src/theme/datagrid_theme.dart @@ -124,6 +124,11 @@ class SfDataGridThemeData with Diagnosticable { double? columnResizeIndicatorStrokeWidth, TextStyle? rowHoverTextStyle, Widget? sortIcon, + Widget? filterIcon, + Color? filterIconColor, + Color? filterIconHoverColor, + Color? sortOrderNumberColor, + Color? sortOrderNumberBackgroundColor, }) { return SfDataGridThemeData.raw( brightness: brightness, @@ -141,7 +146,12 @@ class SfDataGridThemeData with Diagnosticable { columnResizeIndicatorColor: columnResizeIndicatorColor, columnResizeIndicatorStrokeWidth: columnResizeIndicatorStrokeWidth, rowHoverTextStyle: rowHoverTextStyle, - sortIcon: sortIcon); + sortIcon: sortIcon, + filterIcon: filterIcon, + filterIconColor: filterIconColor, + filterIconHoverColor: filterIconHoverColor, + sortOrderNumberColor: sortOrderNumberColor, + sortOrderNumberBackgroundColor: sortOrderNumberBackgroundColor); } /// Create a [SfDataGridThemeData] given a set of exact values. @@ -167,7 +177,12 @@ class SfDataGridThemeData with Diagnosticable { required this.columnResizeIndicatorStrokeWidth, required this.rowHoverColor, required this.rowHoverTextStyle, - required this.sortIcon}); + required this.sortIcon, + required this.filterIcon, + required this.filterIconColor, + required this.filterIconHoverColor, + required this.sortOrderNumberColor, + required this.sortOrderNumberBackgroundColor}); /// The brightness of the overall theme of the /// application for the [SfDataGrid] widgets. @@ -330,14 +345,143 @@ class SfDataGridThemeData with Diagnosticable { /// - /// If icon is given, the animation will be automatically applied and - /// rotated according to sorting order. + /// If the [Icon] type is assigned, + /// the animation will be automatically applied and rotated + /// according to sorting order. + /// + /// If you want to change the icon based on each state of the sorting, + /// you can use the [Builder] widget and return + /// the respective icon for the state. + /// You have to return the icons for all the three states even + /// if you want to change the icon for specific state. + /// + /// The below example shows how to load different icon for each state + /// i.e. ascending, descending and unsorted order. + /// /// - /// [SfDataGridThemeData.sortIconColor] – The color of the sort icon. + /// ```dart + /// Widget build(BuildContext context) { + /// return Scaffold( + /// appBar: AppBar(title: const Text('Flutter SfDataGrid')), + /// body: SfDataGridTheme( + /// data: SfDataGridThemeData( + /// sortIcon: Builder( + /// builder: (context) { + /// Widget? icon; + /// String columnName = ''; + /// context.visitAncestorElements((element) { + /// if (element is GridHeaderCellElement) { + /// columnName = element.column.columnName; + /// } + /// return true; + /// }); + + /// var column = _employeeDataSource.sortedColumns + /// .where((element) => element.name == columnName) + /// .firstOrNull; + /// if (column != null) { + /// if (column.sortDirection == + /// DataGridSortDirection.ascending) { + /// icon = const Icon(Icons.arrow_circle_up_rounded, + /// size: 16); + /// } else if (column.sortDirection == + /// DataGridSortDirection.descending) { + /// icon = const Icon(Icons.arrow_circle_down_rounded, + /// size: 16); + /// } + /// } + + /// return icon ?? const Icon(Icons.sort_rounded, size: 16); + /// }, + /// ), + /// ), + /// child: SfDataGrid(), + /// ), + /// ); + /// } + /// ``` final Widget? sortIcon; + /// The icon to indicate the filtering applied in column. + /// + /// If you want to change the icon filter or filtered state, you can use the + /// [Builder](https://api.flutter.dev/flutter/widgets/Builder-class.html) + /// widget and return the respective icon for the state. You have to return + /// the icons for both the states even if you want to change the icon + /// for specific state. + /// + /// ```dart + /// @override + /// Widget build(BuildContext context) { + /// return Scaffold( + /// appBar: AppBar( + /// title: const Text('Syncfusion Flutter DataGrid', + /// overflow: TextOverflow.ellipsis), + /// ), + /// body: SfDataGridTheme( + /// data: SfDataGridThemeData(filterIcon: Builder( + /// builder: (context) { + /// Widget? icon; + /// String columnName = ''; + /// context.visitAncestorElements((element) { + /// if (element is GridHeaderCellElement) { + /// columnName = element.column.columnName; + /// } + /// return true; + /// }); + /// var column = _employeeDataSource.filterConditions.keys + /// .where((element) => element == columnName) + /// .firstOrNull; + + /// if (column != null) { + /// icon = const Icon( + /// Icons.filter_alt_outlined, + /// size: 20, + /// color: Colors.purple, + /// ); + /// } + /// return icon ?? + /// const Icon( + /// Icons.filter_alt_off_outlined, + /// size: 20, + /// color: Colors.deepOrange, + /// ); + /// }, + /// )), + /// child: SfDataGrid( + /// source: _employeeDataSource, + /// allowFiltering: true, + /// allowSorting: true, + /// columns: getColumns(), + /// ), + /// ), + /// ); + /// } + /// ``` + final Widget? filterIcon; + + /// The color of the filter icon which indicates whether + /// the column is filtered or not. + /// + /// This is not applicable when `filterIcon` property is set. + /// This applies the color to default filter icon only. + final Color? filterIconColor; + + /// The color for the filter icon when a pointer is hovering over it. + /// + /// This is not applicable when `filterIcon` property is set. + /// This applies the color to default filter icon only. + final Color? filterIconHoverColor; + + /// The color of the number displayed when the order of the sorting is shown. + final Color? sortOrderNumberColor; + + /// The color of the rounded background displayed + /// when the order of the sorting is shown. + final Color? sortOrderNumberBackgroundColor; + /// Creates a copy of this theme but with the given /// fields replaced with the new values. SfDataGridThemeData copyWith({ @@ -357,6 +501,11 @@ class SfDataGridThemeData with Diagnosticable { Color? rowHoverColor, TextStyle? rowHoverTextStyle, Widget? sortIcon, + Widget? filterIcon, + Color? filterIconColor, + Color? filterIconHoverColor, + Color? sortOrderNumberColor, + Color? sortOrderNumberBackgroundColor, }) { return SfDataGridThemeData.raw( brightness: brightness ?? this.brightness, @@ -377,6 +526,12 @@ class SfDataGridThemeData with Diagnosticable { rowHoverColor: rowHoverColor ?? this.rowHoverColor, rowHoverTextStyle: rowHoverTextStyle ?? this.rowHoverTextStyle, sortIcon: sortIcon ?? this.sortIcon, + filterIcon: filterIcon ?? this.filterIcon, + filterIconColor: filterIconColor ?? this.filterIconColor, + filterIconHoverColor: filterIconHoverColor ?? this.filterIconHoverColor, + sortOrderNumberColor: sortOrderNumberColor ?? this.sortOrderNumberColor, + sortOrderNumberBackgroundColor: + sortOrderNumberBackgroundColor ?? this.sortOrderNumberBackgroundColor, ); } @@ -411,6 +566,15 @@ class SfDataGridThemeData with Diagnosticable { t), rowHoverTextStyle: TextStyle.lerp(a.rowHoverTextStyle, b.rowHoverTextStyle, t), + filterIconColor: Color.lerp(a.filterIconColor, b.filterIconColor, t), + filterIconHoverColor: + Color.lerp(a.filterIconHoverColor, b.filterIconHoverColor, t), + sortOrderNumberColor: + Color.lerp(a.sortOrderNumberColor, b.sortOrderNumberColor, t), + sortOrderNumberBackgroundColor: Color.lerp( + a.sortOrderNumberBackgroundColor, + b.sortOrderNumberBackgroundColor, + t), ); } @@ -440,7 +604,12 @@ class SfDataGridThemeData with Diagnosticable { other.columnResizeIndicatorStrokeWidth == columnResizeIndicatorStrokeWidth && other.rowHoverTextStyle == rowHoverTextStyle && - other.sortIcon == sortIcon; + other.sortIcon == sortIcon && + other.filterIcon == filterIcon && + other.filterIconColor == filterIconColor && + other.filterIconHoverColor == filterIconHoverColor && + other.sortOrderNumberColor == sortOrderNumberColor && + other.sortOrderNumberBackgroundColor == sortOrderNumberBackgroundColor; } @override @@ -460,9 +629,14 @@ class SfDataGridThemeData with Diagnosticable { columnResizeIndicatorColor, columnResizeIndicatorStrokeWidth, rowHoverTextStyle, - sortIcon + sortIcon, + filterIcon, + filterIconColor, + filterIconHoverColor, + sortOrderNumberColor, + sortOrderNumberBackgroundColor ]; - return hashList(values); + return Object.hashAll(values); } @override @@ -503,6 +677,19 @@ class SfDataGridThemeData with Diagnosticable { properties.add(DiagnosticsProperty( 'rowHoverTextStyle', rowHoverTextStyle, defaultValue: defaultData.rowHoverTextStyle)); + properties.add(DiagnosticsProperty('sortIcon', sortIcon, + defaultValue: defaultData.sortIcon)); + properties.add(DiagnosticsProperty('filterIcon', filterIcon, + defaultValue: defaultData.filterIcon)); + properties.add(ColorProperty('filterIconColor', filterIconColor, + defaultValue: defaultData.filterIconColor)); + properties.add(ColorProperty('filterIconHoverColor', filterIconHoverColor, + defaultValue: defaultData.filterIconHoverColor)); + properties.add(ColorProperty('sortOrderNumberColor', sortOrderNumberColor, + defaultValue: defaultData.sortOrderNumberColor)); + properties.add(ColorProperty( + 'sortOrderNumberBackgroundColor', sortOrderNumberBackgroundColor, + defaultValue: defaultData.sortOrderNumberBackgroundColor)); } } @@ -540,7 +727,7 @@ class DataGridCurrentCellStyle { borderColor, borderWidth, ]; - return hashList(values); + return Object.hashAll(values); } /// Linearly interpolate between two styles. diff --git a/packages/syncfusion_flutter_core/lib/src/theme/datapager_theme.dart b/packages/syncfusion_flutter_core/lib/src/theme/datapager_theme.dart index 7b563a941..2095badd1 100644 --- a/packages/syncfusion_flutter_core/lib/src/theme/datapager_theme.dart +++ b/packages/syncfusion_flutter_core/lib/src/theme/datapager_theme.dart @@ -240,7 +240,7 @@ class SfDataPagerThemeData with Diagnosticable { itemBorderRadius, dropdownButtonBorderColor ]; - return hashList(values); + return Object.hashAll(values); } @override diff --git a/packages/syncfusion_flutter_core/lib/src/theme/daterangepicker_theme.dart b/packages/syncfusion_flutter_core/lib/src/theme/daterangepicker_theme.dart index 45b9fc635..9dee7199d 100644 --- a/packages/syncfusion_flutter_core/lib/src/theme/daterangepicker_theme.dart +++ b/packages/syncfusion_flutter_core/lib/src/theme/daterangepicker_theme.dart @@ -958,7 +958,7 @@ class SfDateRangePickerThemeData with Diagnosticable { specialDatesTextStyle, weekNumberTextStyle ]; - return hashList(values); + return Object.hashAll(values); } @override diff --git a/packages/syncfusion_flutter_core/lib/src/theme/gauges_theme.dart b/packages/syncfusion_flutter_core/lib/src/theme/gauges_theme.dart index ea5ce1ec8..12330297e 100644 --- a/packages/syncfusion_flutter_core/lib/src/theme/gauges_theme.dart +++ b/packages/syncfusion_flutter_core/lib/src/theme/gauges_theme.dart @@ -828,7 +828,7 @@ class SfGaugeThemeData with Diagnosticable { titleBorderColor, titleBackgroundColor ]; - return hashList(values); + return Object.hashAll(values); } @override diff --git a/packages/syncfusion_flutter_core/lib/src/theme/maps_theme.dart b/packages/syncfusion_flutter_core/lib/src/theme/maps_theme.dart index fb0543753..14e48148f 100644 --- a/packages/syncfusion_flutter_core/lib/src/theme/maps_theme.dart +++ b/packages/syncfusion_flutter_core/lib/src/theme/maps_theme.dart @@ -1051,7 +1051,7 @@ class SfMapsThemeData with Diagnosticable { toggledItemStrokeColor, toggledItemStrokeWidth, ]; - return hashList(values); + return Object.hashAll(values); } @override diff --git a/packages/syncfusion_flutter_core/lib/src/theme/pdfviewer_theme.dart b/packages/syncfusion_flutter_core/lib/src/theme/pdfviewer_theme.dart index c5d3f5a0f..ab824766e 100644 --- a/packages/syncfusion_flutter_core/lib/src/theme/pdfviewer_theme.dart +++ b/packages/syncfusion_flutter_core/lib/src/theme/pdfviewer_theme.dart @@ -675,7 +675,7 @@ class SfPdfViewerThemeData with Diagnosticable { hyperlinkDialogStyle, passwordDialogStyle, ]; - return hashList(values); + return Object.hashAll(values); } @override @@ -725,7 +725,7 @@ class PdfScrollStatusStyle { // ignore: avoid_equals_and_hash_code_on_mutable_classes int get hashCode { final List values = [backgroundColor, pageInfoTextStyle]; - return hashList(values); + return Object.hashAll(values); } @override @@ -774,7 +774,7 @@ class PdfScrollHeadStyle { backgroundColor, pageNumberTextStyle ]; - return hashList(values); + return Object.hashAll(values); } @override @@ -860,7 +860,7 @@ class PdfBookmarkViewStyle { titleTextStyle, headerTextStyle ]; - return hashList(values); + return Object.hashAll(values); } @override @@ -960,7 +960,7 @@ class PdfPaginationDialogStyle { okTextStyle, cancelTextStyle ]; - return hashList(values); + return Object.hashAll(values); } @override @@ -1049,7 +1049,7 @@ class PdfHyperlinkDialogStyle { cancelTextStyle, closeIconColor, ]; - return hashList(values); + return Object.hashAll(values); } @override @@ -1170,7 +1170,7 @@ class PdfPasswordDialogStyle { inputFieldBorderColor, errorBorderColor ]; - return hashList(values); + return Object.hashAll(values); } @override diff --git a/packages/syncfusion_flutter_core/lib/src/theme/range_selector_theme.dart b/packages/syncfusion_flutter_core/lib/src/theme/range_selector_theme.dart index 944b80389..b830b2a51 100644 --- a/packages/syncfusion_flutter_core/lib/src/theme/range_selector_theme.dart +++ b/packages/syncfusion_flutter_core/lib/src/theme/range_selector_theme.dart @@ -693,7 +693,7 @@ class SfRangeSelectorThemeData extends SfRangeSliderThemeData { @override int get hashCode { - return hashList([ + return Object.hashAll([ brightness, activeTrackHeight, inactiveTrackHeight, diff --git a/packages/syncfusion_flutter_core/lib/src/theme/range_slider_theme.dart b/packages/syncfusion_flutter_core/lib/src/theme/range_slider_theme.dart index c2d0d3f5a..96fd1fa0c 100644 --- a/packages/syncfusion_flutter_core/lib/src/theme/range_slider_theme.dart +++ b/packages/syncfusion_flutter_core/lib/src/theme/range_slider_theme.dart @@ -602,7 +602,7 @@ class SfRangeSliderThemeData extends SfSliderThemeData { @override int get hashCode { - return hashList([ + return Object.hashAll([ brightness, activeTrackHeight, inactiveTrackHeight, diff --git a/packages/syncfusion_flutter_core/lib/src/theme/slider_theme.dart b/packages/syncfusion_flutter_core/lib/src/theme/slider_theme.dart index 6dba86c5a..930f234f5 100644 --- a/packages/syncfusion_flutter_core/lib/src/theme/slider_theme.dart +++ b/packages/syncfusion_flutter_core/lib/src/theme/slider_theme.dart @@ -471,7 +471,7 @@ class SfSliderThemeData with Diagnosticable { @override int get hashCode { - return hashList([ + return Object.hashAll([ brightness, activeTrackHeight, inactiveTrackHeight, diff --git a/packages/syncfusion_flutter_core/lib/src/theme/theme_widget.dart b/packages/syncfusion_flutter_core/lib/src/theme/theme_widget.dart index 0fed0c42d..96a5200b0 100644 --- a/packages/syncfusion_flutter_core/lib/src/theme/theme_widget.dart +++ b/packages/syncfusion_flutter_core/lib/src/theme/theme_widget.dart @@ -591,7 +591,7 @@ class SfThemeData with Diagnosticable { rangeSliderThemeData, mapsThemeData ]; - return hashList(values); + return Object.hashAll(values); } @override diff --git a/packages/syncfusion_flutter_core/pubspec.yaml b/packages/syncfusion_flutter_core/pubspec.yaml index 7a8d032f1..5677b32ef 100644 --- a/packages/syncfusion_flutter_core/pubspec.yaml +++ b/packages/syncfusion_flutter_core/pubspec.yaml @@ -4,7 +4,7 @@ version: 20.2.36 homepage: https://github.com/syncfusion/flutter-widgets/tree/master/packages/syncfusion_flutter_core environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: vector_math: ">=2.1.0 <=3.0.0" diff --git a/packages/syncfusion_flutter_datagrid/CHANGELOG.md b/packages/syncfusion_flutter_datagrid/CHANGELOG.md index e91034854..0fefdc892 100644 --- a/packages/syncfusion_flutter_datagrid/CHANGELOG.md +++ b/packages/syncfusion_flutter_datagrid/CHANGELOG.md @@ -1,5 +1,88 @@ ## Unreleased +**Features** + +* Provided the support to change the shape of the built-in checkbox column. +* Provided the support to change the filter icon and its color. The padding around the filter icon can also be customized. +* Provided the support to customize the filter options in the filter popup. Users can hide the sorting and “Clear Filter” options and show only the checked listbox view or advanced filter popup view to apply filtering. +* Provided the support to customize the color of the sort order number and its rounded background. +* Provided the support to change the elevation effect when setting the `frozenPaneLineColor` property. + +**Bugs** + +* The filtering is now properly applied when programmatically adding the filter conditions and filter popup menu is now opened with proper items in checked listbox. + +## [20.3.60] - 12/06/2022 + +**Bugs** + +* The `onFilterChanging` and `onFilterChanged` callbacks will be called now when tapping `Select All` option to select all the rows in the checked listbox filtering. +* The current cell is now properly removed when setting the `selectedIndex` property as -1 programmatically. + +## [20.3.59] - 11/29/2022 + +**Bugs** + +* The focus is now moved to widgets that are outside the DataGrid when the canSubmitCell method returns true. + +## [20.3.57] - 11/15/2022 + +**Bugs** + +* The listeners in `SelectionController` class are properly disposed + +## [20.3.49] - 10/11/2022 + +**Bugs** + +* The current cell is now updating properly while adding a row at runtime through the `RowSelectionManager`. +* SfDataPager is now working properly when changing the `pageCount` property at run time. + +## [20.3.48] - 10/05/2022 + +**Bugs** + +* Filtering is now working properly when page count is set for paging to apply whole data sorting. + +## [20.3.47] - 09/29/2022 + +**Breaking changes** + +* The left and border is now drawn by default in DataGrid. Hence, there is no need to add `Container` widget as parent for DataGrid to set left and top borders. +* If sorting is enabled for columns, an icon to notify the unsorted state of columns will be shown by default. + +**Bugs** + +* The `onSelectionChanged` callback is now properly called with the collection of deselected rows while deselecting through the checkbox in the column header. +* The parent scrollview widget of DataGrid is not now scrolled at application level when swiping a row in DataGrid. + +**Features** + +* Provided the support to perform Excel-like UI filtering and programmatic filtering of columns. Users can filter numeric, text, and date type columns with different filtering options. +* Provided the support to show the unsort icon in header cells when sorting is not applied to columns. When sorting, the ascending or descending icon will be shown. +* Using the `canSubmitCell` method, disallow the focus from the cell to other widgets outside the DataGrid or other cells in the DataGrid when editing is canceled. + +## [20.2.43] - 08/23/2022 + +**Bugs** + +* The `handlePageChange` method will not be called infinite times when using it asynchronously and switching between the pages very fast. + +## [20.2.39] - 07/19/2022 + +**Bugs** + +* The `handlePageChange` method is now called only once on initial loading of `SfDataPager`. +* The widths are properly set to columns when hiding some columns and using `columnWidthMode`. + +## [20.2.38] - 07/12/2022 + +**Bugs** + +* The next and previous buttons in `SfDataPager` are disabled even though the currently selected page is the last and the first page, respectively. + +## [20.2.36] - 06/30/2022 + **Bugs** * The [verticalScrollController](https://pub.dev/documentation/syncfusion_flutter_datagrid/latest/datagrid/SfDataGrid/verticalScrollController.html) and [horizontalScrollController](https://pub.dev/documentation/syncfusion_flutter_datagrid/latest/datagrid/SfDataGrid/horizontalScrollController.html) are no longer disposed when the user sets in the application level. diff --git a/packages/syncfusion_flutter_datagrid/README.md b/packages/syncfusion_flutter_datagrid/README.md index 01e55f8ab..a53600ba2 100644 --- a/packages/syncfusion_flutter_datagrid/README.md +++ b/packages/syncfusion_flutter_datagrid/README.md @@ -100,15 +100,12 @@ Explore the full capabilities of our Flutter widgets on your device by installin

- - + +

- -

-

@@ -290,11 +287,11 @@ The following screenshot illustrates the result of the above code sample. ## Support and Feedback -* If you have any questions, you can reach the [Syncfusion support team](https://www.syncfusion.com/support/directtrac/incidents/newincident) or post queries to the [community forums](https://www.syncfusion.com/forums). You can also submit a feature request or a bug report through our [feedback portal](https://www.syncfusion.com/feedback/flutter). +* If you have any questions, you can reach the [Syncfusion support team](https://support.syncfusion.com/support/tickets/create) or post queries to the [community forums](https://www.syncfusion.com/forums). You can also submit a feature request or a bug report through our [feedback portal](https://www.syncfusion.com/feedback/flutter). * To renew your subscription, click [renew](https://www.syncfusion.com/sales/products) or contact our sales team at sales@syncfusion.com | Toll Free: 1-888-9 DOTNET. ## About Syncfusion Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 20,000 customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies. -Today we provide 1,600+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), and [Blazor](https://www.syncfusion.com/blazor-components)) , mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls) and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to- deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file +Today we provide 1,600+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), [Flutter](https://www.syncfusion.com/flutter-widgets), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([.NET MAUI](https://www.syncfusion.com/maui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([Flutter](https://www.syncfusion.com/flutter-widgets), [.NET MAUI](https://www.syncfusion.com/maui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to- deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file diff --git a/packages/syncfusion_flutter_datagrid/example/linux/flutter/generated_plugin_registrant.cc b/packages/syncfusion_flutter_datagrid/example/linux/flutter/generated_plugin_registrant.cc index d38195aa0..e71a16d23 100644 --- a/packages/syncfusion_flutter_datagrid/example/linux/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_flutter_datagrid/example/linux/flutter/generated_plugin_registrant.cc @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" diff --git a/packages/syncfusion_flutter_datagrid/example/linux/flutter/generated_plugin_registrant.h b/packages/syncfusion_flutter_datagrid/example/linux/flutter/generated_plugin_registrant.h index 9bf747894..e0f0a47bc 100644 --- a/packages/syncfusion_flutter_datagrid/example/linux/flutter/generated_plugin_registrant.h +++ b/packages/syncfusion_flutter_datagrid/example/linux/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/syncfusion_flutter_datagrid/example/linux/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_datagrid/example/linux/flutter/generated_plugins.cmake index 51436ae8c..2e1de87a7 100644 --- a/packages/syncfusion_flutter_datagrid/example/linux/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_datagrid/example/linux/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_datagrid/example/pubspec.yaml b/packages/syncfusion_flutter_datagrid/example/pubspec.yaml index 1a9eb6866..79b413564 100644 --- a/packages/syncfusion_flutter_datagrid/example/pubspec.yaml +++ b/packages/syncfusion_flutter_datagrid/example/pubspec.yaml @@ -3,7 +3,7 @@ description: This project demonstrates how to use Syncfusion Flutter DataGrid wi version: 1.0.0+1 environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: diff --git a/packages/syncfusion_flutter_datagrid/example/windows/flutter/generated_plugin_registrant.cc b/packages/syncfusion_flutter_datagrid/example/windows/flutter/generated_plugin_registrant.cc index 4bfa0f3a3..8b6d4680a 100644 --- a/packages/syncfusion_flutter_datagrid/example/windows/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_flutter_datagrid/example/windows/flutter/generated_plugin_registrant.cc @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" diff --git a/packages/syncfusion_flutter_datagrid/example/windows/flutter/generated_plugin_registrant.h b/packages/syncfusion_flutter_datagrid/example/windows/flutter/generated_plugin_registrant.h index 9846246b4..dc139d85a 100644 --- a/packages/syncfusion_flutter_datagrid/example/windows/flutter/generated_plugin_registrant.h +++ b/packages/syncfusion_flutter_datagrid/example/windows/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/syncfusion_flutter_datagrid/example/windows/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_datagrid/example/windows/flutter/generated_plugins.cmake index 4d10c2518..b93c4c30c 100644 --- a/packages/syncfusion_flutter_datagrid/example/windows/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_datagrid/example/windows/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_datagrid/lib/datagrid.dart b/packages/syncfusion_flutter_datagrid/lib/datagrid.dart index 9291a8bf7..24975b337 100644 --- a/packages/syncfusion_flutter_datagrid/lib/datagrid.dart +++ b/packages/syncfusion_flutter_datagrid/lib/datagrid.dart @@ -28,13 +28,19 @@ export './src/datagrid_widget/sfdatagrid.dart' setPageCount, setChildColumnIndexes, getChildColumnIndexes, + addFilterConditions, + removeFilterConditions, + refreshEffectiveRows, + performSorting, + updateDataPager, DataGridThemeHelper; export './src/datapager/sfdatapager.dart' hide SfDataPagerState, DataPagerThemeHelper; export './src/grid_common/row_column_index.dart'; export 'src/datagrid_widget/helper/callbackargs.dart' hide setColumnSizerInRowHeightDetailsArgs; -export 'src/datagrid_widget/helper/enums.dart'; +export 'src/datagrid_widget/helper/enums.dart' + hide FilteredFrom, AdvancedFilterType; export 'src/datagrid_widget/runtime/column.dart' hide ColumnResizeController, @@ -43,9 +49,16 @@ export 'src/datagrid_widget/runtime/column.dart' resetAutoCalculation, updateColumnSizerLoadedInitiallyFlag, getSortIconWidth, + getFilterIconWidth, getAutoFitRowHeight, setStateDetailsInColumnSizer, isColumnSizerLoadedInitially, - GridCheckboxColumn; + FilterElement, + GridCheckboxColumn, + DataGridFilterHelper, + DataGridCheckboxFilterHelper, + DataGridAdvancedFilterHelper; export 'src/datagrid_widget/selection/selection_manager.dart' show RowSelectionManager, SelectionManagerBase; +export 'src/datagrid_widget/widgets/cell_widget.dart' + show GridHeaderCellElement; diff --git a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/helper/callbackargs.dart b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/helper/callbackargs.dart index 3c80a61d1..39dfa75c3 100644 --- a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/helper/callbackargs.dart +++ b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/helper/callbackargs.dart @@ -255,6 +255,27 @@ class ColumnResizeEndDetails { final double width; } +/// Details for callbacks that use [DataGridFilterChangeDetails]. +/// +/// See also: +/// +/// * [DataGridFilterChangingCallback] +/// * [DataGridFilterChangedCallback] +@immutable +class DataGridFilterChangeDetails { + /// Creates the [DataGridFilterChangeDetails] for the + /// `DataGridFilterChangingCallback` and `DataGridFilterChangedCallback`. + const DataGridFilterChangeDetails( + {required this.column, required this.filterConditions}); + + /// The column where the current filtering is applied. + final GridColumn column; + + /// Holds the collection of [FilterCondition] which are applied currently to + /// the column. + final List filterConditions; +} + /// Sets the `columnSizer` instance to the [RowHeightDetails] class. void setColumnSizerInRowHeightDetailsArgs( RowHeightDetails rowHeightDetails, ColumnSizer columnSizer) { diff --git a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/helper/datagrid_configuration.dart b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/helper/datagrid_configuration.dart index 35d8f8d12..f7a6bda83 100644 --- a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/helper/datagrid_configuration.dart +++ b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/helper/datagrid_configuration.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart' hide SelectionChangedCallback; import 'package:flutter/rendering.dart'; +import 'package:syncfusion_flutter_core/localizations.dart'; import 'package:syncfusion_flutter_core/theme.dart'; import '../runtime/cell_renderers.dart'; @@ -58,6 +59,9 @@ class DataGridConfiguration { /// The [ColumnResizeController] used to control the column resizing operations. late ColumnResizeController columnResizeController; + /// Provides the base functionalities to process the filtering in [SfDataGrid]. + DataGridFilterHelper? dataGridFilterHelper; + /// The width of the current datagrid view. late double viewWidth; @@ -186,6 +190,17 @@ class DataGridConfiguration { ///Defaults to false bool shrinkWrapColumns = false; + /// Decides whether the UI filtering should be enabled for all the columns. + /// + /// [GridColumn.allowFiltering] has the highest priority over this property. + bool allowFiltering = false; + + /// Called when the filtering is being applied through UI filtering. + DataGridFilterChangingCallback? onFilterChanging; + + /// Called after the UI filtering is applied to [SfDataGrid]. + DataGridFilterChangedCallback? onFilterChanged; + /// Contains all the properties of the checkbox column. DataGridCheckboxColumnSettings checkboxColumnSettings = const DataGridCheckboxColumnSettings(); @@ -266,6 +281,10 @@ class DataGridConfiguration { /// this class to configure a [SfDataGridTheme] widget. DataGridThemeHelper? dataGridThemeHelper; + /// Instance of a [SfLocalizations] class that provide the localized resource + /// values to the UI filtering lables. + late SfLocalizations localizations; + /// Controls a vertical scrolling in DataGrid. ScrollController? verticalScrollController; @@ -347,4 +366,7 @@ class DataGridConfiguration { /// Decides whether the Horizontal ScrollController can be disposed of in the source itself. /// Default to true. bool disposeHorizontalScrollController = true; + + /// Defines the OutlinedBorder for the shape of the checkbox. + OutlinedBorder? checkboxShape; } diff --git a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/helper/datagrid_helper.dart b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/helper/datagrid_helper.dart index 392369edc..7eb483d3f 100644 --- a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/helper/datagrid_helper.dart +++ b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/helper/datagrid_helper.dart @@ -2,6 +2,7 @@ import 'dart:math'; import 'package:collection/collection.dart'; import 'package:flutter/material.dart' hide DataCell, DataRow; +import 'package:syncfusion_flutter_core/localizations.dart'; import '../../grid_common/row_column_index.dart'; import '../../grid_common/scroll_axis.dart'; @@ -447,6 +448,260 @@ String calculateAverage( return sum != null ? (sum / count).toString() : ''; } +//--------------------- Filtering helper methods ------------------------// + +/// Compare the AND logical operator for the filtering support. +bool compareAnd(bool? a, bool b) { + return (a == null || a) ? b : a; +} + +/// Compare the OR logical operator for the filtering support. +bool compareOr(bool? a, bool b) { + return (a != null && a) || b; +} + +/// Compare the old and new comparer values based on `predicateType`. +bool compare(bool? comparerValue, bool result, FilterOperator predicateType) { + return predicateType == FilterOperator.or + ? compareOr(comparerValue, result) + : compareAnd(comparerValue, result); +} + +/// Checkes whether the cell value and the filter value is equal or not. +bool compareEquals(FilterCondition condition, Object? cellValue) { + // To handle the null value. + if (condition.value == null && cellValue == null) { + return true; + } + + // To handle the null and empty values. + if ((condition.value == null && cellValue != null) || + (condition.value != null && cellValue == null)) { + return false; + } + + if (cellValue is String || + condition.filterBehavior == FilterBehavior.stringDataType) { + return _compareByType(condition, cellValue, 'equals'); + } + + final int? value = _getCompareValue(cellValue, condition.value); + return value != null && value == 0; +} + +/// Checkes whether the filter value contains in any cell value or not. +bool compareContains(FilterCondition condition, Object? cellValue) { + return _compareByType(condition, cellValue, 'contains'); +} + +/// Checkes whether the filter value begins with any cell value. +bool compareBeginsWith(FilterCondition condition, Object? cellValue) { + return _compareByType(condition, cellValue, 'startsWidth'); +} + +/// Checkes whether the filter value ends with any cell value. +bool compareEndsWith(FilterCondition condition, Object? cellValue) { + return _compareByType(condition, cellValue, 'endsWidth'); +} + +bool _compareByType(FilterCondition condition, Object? cellValue, String type) { + String displayText = cellValue?.toString() ?? ''; + String filterText = condition.value?.toString() ?? ''; + if (!condition.isCaseSensitive) { + filterText = filterText.toLowerCase(); + displayText = displayText.toLowerCase(); + } + + switch (type) { + case 'contains': + return displayText.contains(filterText); + case 'startsWidth': + return displayText.startsWith(filterText); + case 'endsWidth': + return displayText.endsWith(filterText); + case 'equals': + return displayText == filterText; + default: + return false; + } +} + +/// Checkes whether any cell has greater value than the filter value. +bool compareGreaterThan(FilterCondition condition, Object? cellValue, + [bool checkEqual = false]) { + if (condition.value == null || cellValue == null) { + return false; + } + + final int? value = _getCompareValue(cellValue, condition.value); + if (value != null) { + return checkEqual ? (value == 0 || value == 1) : value == 1; + } + + return false; +} + +/// Checkes whether any cell has less value than the filter value. +bool compareLessThan(FilterCondition condition, Object? cellValue, + [bool checkEqual = false]) { + if (condition.value == null || cellValue == null) { + return false; + } + + final int? value = _getCompareValue(cellValue, condition.value); + if (value != null) { + return checkEqual ? (value == 0 || value == -1) : value == -1; + } + + return false; +} + +int? _getCompareValue(Object? cellValue, Object? filterValue) { + if (cellValue == null || filterValue == null) { + return null; + } + + if (cellValue is num) { + return cellValue.compareTo(filterValue as num); + } else if (cellValue is DateTime) { + return cellValue.compareTo(filterValue as DateTime); + } + return null; +} + +/// Gets the advanced filter name. +String getFilterTileText( + SfLocalizations localizations, AdvancedFilterType type) { + switch (type) { + case AdvancedFilterType.text: + return localizations.textFiltersDataGridFilteringLabel; + case AdvancedFilterType.numeric: + return localizations.numberFiltersDataGridFilteringLabel; + case AdvancedFilterType.date: + return localizations.dateFiltersDataGridFilteringLabel; + } +} + +/// Returns the Sort button text based on the filter type. +String getSortButtonText( + SfLocalizations localizations, bool isAscending, AdvancedFilterType type) { + switch (type) { + case AdvancedFilterType.text: + return isAscending + ? localizations.sortAToZDataGridFilteringLabel + : localizations.sortZToADataGridFilteringLabel; + case AdvancedFilterType.numeric: + return isAscending + ? localizations.sortSmallestToLargestDataGridFilteringLabel + : localizations.sortLargestToSmallestDataGridFilteringLabel; + case AdvancedFilterType.date: + return isAscending + ? localizations.sortOldestToNewestDataGridFilteringLabel + : localizations.sortNewestToOldestDataGridFilteringLabel; + } +} + +/// Returns the `FilterType` based on the given value. +FilterType getFilterType( + DataGridConfiguration dataGridConfiguration, String value) { + bool isEqual(String labelValue) { + return labelValue == value; + } + + final SfLocalizations localizations = dataGridConfiguration.localizations; + + if (isEqual(localizations.equalsDataGridFilteringLabel) || + isEqual(localizations.emptyDataGridFilteringLabel) || + isEqual(localizations.nullDataGridFilteringLabel)) { + return FilterType.equals; + } else if (isEqual(localizations.doesNotEqualDataGridFilteringLabel) || + isEqual(localizations.notEmptyDataGridFilteringLabel) || + isEqual(localizations.notNullDataGridFilteringLabel)) { + return FilterType.notEqual; + } else if (isEqual(localizations.beginsWithDataGridFilteringLabel)) { + return FilterType.beginsWith; + } else if (isEqual(localizations.doesNotBeginWithDataGridFilteringLabel)) { + return FilterType.doesNotBeginWith; + } else if (isEqual(localizations.endsWithDataGridFilteringLabel)) { + return FilterType.endsWith; + } else if (isEqual(localizations.doesNotEndWithDataGridFilteringLabel)) { + return FilterType.doesNotEndsWith; + } else if (isEqual(localizations.containsDataGridFilteringLabel)) { + return FilterType.contains; + } else if (isEqual(localizations.doesNotContainDataGridFilteringLabel)) { + return FilterType.doesNotContain; + } else if (isEqual(localizations.lessThanDataGridFilteringLabel) || + isEqual(localizations.beforeDataGridFilteringLabel)) { + return FilterType.lessThan; + } else if (isEqual(localizations.beforeOrEqualDataGridFilteringLabel) || + isEqual(localizations.lessThanOrEqualDataGridFilteringLabel)) { + return FilterType.lessThanOrEqual; + } else if (isEqual(localizations.greaterThanDataGridFilteringLabel) || + isEqual(localizations.afterDataGridFilteringLabel)) { + return FilterType.greaterThan; + } else if (isEqual(localizations.greaterThanOrEqualDataGridFilteringLabel) || + isEqual(localizations.afterOrEqualDataGridFilteringLabel)) { + return FilterType.greaterThanOrEqual; + } + return FilterType.equals; +} + +/// Gets the name of the given `FilterType`. +String getFilterName(DataGridConfiguration dataGridConfiguration, + FilterType type, Object? value) { + final SfLocalizations localizations = dataGridConfiguration.localizations; + switch (type) { + case FilterType.equals: + if (value == null) { + return localizations.nullDataGridFilteringLabel; + } else if (value is String && value.isEmpty) { + return localizations.emptyDataGridFilteringLabel; + } else { + return localizations.equalsDataGridFilteringLabel; + } + case FilterType.notEqual: + if (value == null) { + return localizations.notNullDataGridFilteringLabel; + } else if (value is String && value.isEmpty) { + return localizations.notEmptyDataGridFilteringLabel; + } else { + return localizations.doesNotEqualDataGridFilteringLabel; + } + case FilterType.beginsWith: + return localizations.beginsWithDataGridFilteringLabel; + case FilterType.doesNotBeginWith: + return localizations.doesNotBeginWithDataGridFilteringLabel; + case FilterType.endsWith: + return localizations.endsWithDataGridFilteringLabel; + case FilterType.doesNotEndsWith: + return localizations.doesNotEndWithDataGridFilteringLabel; + case FilterType.contains: + return localizations.containsDataGridFilteringLabel; + case FilterType.doesNotContain: + return localizations.doesNotContainDataGridFilteringLabel; + case FilterType.lessThan: + if (value is DateTime) { + return localizations.beforeDataGridFilteringLabel; + } + return localizations.lessThanDataGridFilteringLabel; + case FilterType.lessThanOrEqual: + if (value is DateTime) { + return localizations.beforeOrEqualDataGridFilteringLabel; + } + return localizations.lessThanOrEqualDataGridFilteringLabel; + case FilterType.greaterThan: + if (value is DateTime) { + return localizations.afterDataGridFilteringLabel; + } + return localizations.greaterThanDataGridFilteringLabel; + case FilterType.greaterThanOrEqual: + if (value is DateTime) { + return localizations.afterOrEqualDataGridFilteringLabel; + } + return localizations.greaterThanOrEqualDataGridFilteringLabel; + } +} + //--------------------DataGridIndex-Resolving-Helpers-End---------------------// //----------------------------------------------------------------------------// @@ -578,9 +833,11 @@ Future scrollVertical( return; } - verticalOffset = verticalOffset > verticalController.position.maxScrollExtent - ? verticalController.position.maxScrollExtent - : verticalOffset; + final double maxScrollExtent = max( + dataGridConfiguration.container.rowHeights.totalExtent - + dataGridConfiguration.viewHeight, + 0.0); + verticalOffset = min(verticalOffset, maxScrollExtent); verticalOffset = verticalOffset.isNegative || verticalOffset == 0.0 ? verticalController.position.minScrollExtent : verticalOffset; @@ -608,10 +865,11 @@ Future scrollHorizontal( return; } - horizontalOffset = - horizontalOffset > horizontalController.position.maxScrollExtent - ? horizontalController.position.maxScrollExtent - : horizontalOffset; + final double maxScrollExtent = max( + dataGridConfiguration.container.columnWidths.totalExtent - + dataGridConfiguration.viewWidth, + 0.0); + horizontalOffset = min(horizontalOffset, maxScrollExtent); horizontalOffset = horizontalOffset.isNegative || horizontalOffset == 0.0 ? horizontalController.position.minScrollExtent : horizontalOffset; diff --git a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/helper/enums.dart b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/helper/enums.dart index 9fb7c2b3c..9297764e3 100644 --- a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/helper/enums.dart +++ b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/helper/enums.dart @@ -253,3 +253,103 @@ enum GridSummaryType { /// Specifies the count of rows available in [SfDataGrid]. count, } + +/// Determines the type of the filter condition which should be compared +/// between rows. +enum FilterType { + /// Checks whether the cell value contain the given filter value. + contains, + + /// Checks whether the cell value ends with the given filter value. + endsWith, + + /// Checks whether the cell value is equivalent to the given filter value. + equals, + + /// Checks whether the cell value is greater than the given filter value. + greaterThan, + + /// Checks whether the cell value is greater than or equal to the given filter + /// value. + greaterThanOrEqual, + + /// Checks whether the cell value is lesser than the given filter value. + lessThan, + + /// Checks whether the cell value is lesser than or equal to the given filter + /// value. + lessThanOrEqual, + + /// Checks whether the cell value does not contain the given filter value. + doesNotContain, + + /// Checks whether the cell value does not end with the given filter value. + doesNotEndsWith, + + /// Checks whether the cell value is not equivalent to the given filter value. + notEqual, + + /// Checks whether the cell value does not begin with the given filter value. + doesNotBeginWith, + + /// Checks whether the cell value begins with the given filter value. + beginsWith, +} + +/// Determines the type of the logical operator to be applied between multiple +/// filter conditions. +enum FilterOperator { + /// AND logical operator is applied between multiple filter conditions. + and, + + /// OR logical operator is applied between multiple filter conditions. + or, +} + +/// Determines how the filter comparison should behave. +enum FilterBehavior { + /// Converts the cell value as string and compare the condition. + stringDataType, + + /// Compares the cell value with its actual data type. + strongDataType, +} + +/// Determines how the filter menu should be opened. +enum FilteredFrom { + /// Specifies the checkbox filter. + checkboxFilter, + + /// Specifies the advanced filter. + advancedFilter, + + /// Specifies the none. + none, +} + +/// Determines how the filter comparison should behave. +enum AdvancedFilterType { + /// Specifies that the filtering options should be available based on string + /// comparison. + text, + + /// Specifies that the filtering options should be available based on numeric + /// values. + numeric, + + /// Specifies that the filtering options should be available based on date + /// values. + date, +} + +/// Decides how the checked listbox and advanced filter options should be shown in filter popup +enum FilterMode { + /// Specifies whether the checked listbox only should be shown along with other options. + checkboxFilter, + + /// Specifies whether the advanced filter dropdown only should be shown along with other options. + advancedFilter, + + /// Specifies whether both the checked listbox and advanced filter dropdown options should be shown. + both, +} diff --git a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/runtime/cell_renderers.dart b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/runtime/cell_renderers.dart index 55ecad466..c95e9dc09 100644 --- a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/runtime/cell_renderers.dart +++ b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/runtime/cell_renderers.dart @@ -166,6 +166,7 @@ class GridHeaderCellRenderer visible: dataGridConfiguration .checkboxColumnSettings.showCheckboxOnHeader, child: Checkbox( + shape: dataGridConfiguration.checkboxShape, tristate: true, value: dataGridConfiguration.headerCheckboxState, onChanged: (bool? newValue) { @@ -258,6 +259,7 @@ class GridCheckboxRenderer dataCell.dataRow!.isDirty, dataGridStateDetails: _dataGridStateDetails, child: Checkbox( + shape: dataGridConfiguration.checkboxShape, value: selectionState, onChanged: (bool? newValue) { selection_manager.handleSelectionFromCheckbox( diff --git a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/runtime/column.dart b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/runtime/column.dart index a37ad7dad..24fed70a0 100644 --- a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/runtime/column.dart +++ b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/runtime/column.dart @@ -5,8 +5,9 @@ import 'dart:math'; import 'package:collection/collection.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; -import '../../grid_common/enums.dart'; +import 'package:syncfusion_flutter_core/localizations.dart'; +import '../../grid_common/enums.dart'; import '../../grid_common/line_size_host.dart'; import '../../grid_common/visible_line_info.dart'; import '../helper/callbackargs.dart'; @@ -29,7 +30,10 @@ class GridColumn { this.minimumWidth = double.nan, this.maximumWidth = double.nan, this.width = double.nan, - this.allowEditing = true}) { + this.allowEditing = true, + this.allowFiltering = true, + this.filterPopupMenuOptions, + this.filterIconPadding = const EdgeInsets.symmetric(horizontal: 8.0)}) { _actualWidth = double.nan; _autoWidth = double.nan; } @@ -69,6 +73,9 @@ class GridColumn { double get actualWidth => _actualWidth; late double _actualWidth; + /// Determines how the filter menu is supposed to be shown. + FilteredFrom _filterFrom = FilteredFrom.none; + /// The minimum width of the column. /// /// The column width could not be set or auto sized lesser than the @@ -138,6 +145,26 @@ class GridColumn { /// [ColumnWidthMode.fitByCellValue] or [ColumnWidthMode.fitByColumnName] /// option. final EdgeInsets autoFitPadding; + + /// Decides whether the UI filtering should be enabled for this column. + /// + /// This property has the highest priority over [SfDataGrid.allowFiltering] + /// property. + /// + /// See also, + /// * [SfDataGrid.onFilterChanging] – This callback will be called if the + /// column is being filtered through UI filtering. + /// * [SfDataGrid.onFilterChanged] – This callback will be called if the + /// column is filtered through UI filtering. + /// * [DataGridSource.filterConditions] – This property holds the collection + /// of the filter conditions which are applied for various columns. + final bool allowFiltering; + + /// Decides how the checked listbox and advanced filter options should be shown in filter popup. + final FilterPopupMenuOptions? filterPopupMenuOptions; + + /// The amount of space which should be added with the filter icon + final EdgeInsetsGeometry filterIconPadding; } /// A column which displays the values of the string in its cells. @@ -299,6 +326,12 @@ class ColumnSizer { static const double _sortIconWidth = 20.0; static const double _sortNumberWidth = 18.0; + static const double _filterIconWidth = 18.0; + + /// Defines the outer padding of the sort and filter icon's container. We need + /// to consider this padding to measure the auto-width and height calculation. + EdgeInsetsGeometry iconsOuterPadding = + const EdgeInsets.symmetric(horizontal: 4.0); void _initialRefresh(double availableWidth) { final LineSizeCollection lineSizeCollection = @@ -590,8 +623,13 @@ class ColumnSizer { double _calculateColumnHeaderWidth(GridColumn column, {bool setWidth = true}) { - final double width = - _getHeaderCellWidth(column) + _getSortIconWidth(column); + double iconsWidth = _getSortIconWidth(column) + _getFilterIconWidth(column); + + if (iconsWidth > 0) { + iconsWidth += iconsOuterPadding.horizontal; + } + + final double width = _getHeaderCellWidth(column) + iconsWidth; _updateSetWidth(setWidth, column, width); return width; } @@ -782,7 +820,10 @@ class ColumnSizer { final DataGridConfiguration dataGridConfiguration = _dataGridStateDetails!(); double width = 0.0; - if (column.allowSorting && dataGridConfiguration.allowSorting) { + final bool isSortedColumn = dataGridConfiguration.source.sortedColumns + .any((SortColumnDetails element) => element.name == column.columnName); + if (isSortedColumn || + (column.allowSorting && dataGridConfiguration.allowSorting)) { width += _sortIconWidth; if (dataGridConfiguration.allowMultiColumnSorting && dataGridConfiguration.showSortNumbers) { @@ -792,6 +833,13 @@ class ColumnSizer { return width; } + double _getFilterIconWidth(GridColumn column) { + if (_dataGridStateDetails!().allowFiltering && column.allowFiltering) { + return _filterIconWidth + column.filterIconPadding.horizontal; + } + return 0.0; + } + double _setColumnWidth(DataGridConfiguration dataGridConfiguration, GridColumn column, double columnWidth) { final int columnIndex = dataGridConfiguration.columns.indexOf(column); @@ -1034,14 +1082,22 @@ class ColumnSizer { : dataGridConfiguration.container.columnWidths[columnIndex]; final double strokeWidth = _getGridLineStrokeWidth( - rowIndex: rowIndex, dataGridConfiguration: dataGridConfiguration) + rowIndex: rowIndex, + dataGridConfiguration: dataGridConfiguration, + column: column) .width; final double horizontalPadding = column.autoFitPadding.horizontal; // Removed the padding and gridline stroke width from the column width to // measure the accurate height for the cell content. - columnWidth -= _getSortIconWidth(column) + horizontalPadding + strokeWidth; + double iconsWidth = _getSortIconWidth(column) + _getFilterIconWidth(column); + + if (iconsWidth > 0) { + iconsWidth += iconsOuterPadding.horizontal; + } + + columnWidth -= iconsWidth + horizontalPadding + strokeWidth; return _calculateTextSize( column: column, @@ -1073,7 +1129,8 @@ class ColumnSizer { Size _getGridLineStrokeWidth( {required int rowIndex, - required DataGridConfiguration dataGridConfiguration}) { + required DataGridConfiguration dataGridConfiguration, + required GridColumn column}) { final double strokeWidth = dataGridConfiguration.dataGridThemeHelper!.gridLineStrokeWidth; @@ -1082,15 +1139,24 @@ class ColumnSizer { ? dataGridConfiguration.headerGridLinesVisibility : dataGridConfiguration.gridLinesVisibility; + final GridColumn firstVisibleColumn = dataGridConfiguration.columns + .firstWhere( + (GridColumn column) => column.visible && column.width != 0.0); + final bool isFirstColumn = + firstVisibleColumn.columnName == column.columnName; + switch (gridLinesVisibility) { case GridLinesVisibility.none: return Size.zero; case GridLinesVisibility.both: - return Size(strokeWidth, strokeWidth); + return Size(strokeWidth, + rowIndex == 0 ? (strokeWidth + strokeWidth) : strokeWidth); case GridLinesVisibility.vertical: - return Size(strokeWidth, 0); + return Size(isFirstColumn ? (strokeWidth + strokeWidth) : strokeWidth, + rowIndex == 0 ? strokeWidth : 0); case GridLinesVisibility.horizontal: - return Size(0, strokeWidth); + return Size(isFirstColumn ? strokeWidth : 0, + rowIndex == 0 ? (strokeWidth + strokeWidth) : strokeWidth); } } @@ -1111,7 +1177,9 @@ class ColumnSizer { _dataGridStateDetails!(); final Size strokeWidthSize = _getGridLineStrokeWidth( - rowIndex: rowIndex, dataGridConfiguration: dataGridConfiguration); + rowIndex: rowIndex, + dataGridConfiguration: dataGridConfiguration, + column: column); final TextPainter textPainter = TextPainter( text: TextSpan(text: value?.toString() ?? '', style: textStyle), @@ -1157,6 +1225,11 @@ double getSortIconWidth(ColumnSizer columnSizer, GridColumn column) { return columnSizer._getSortIconWidth(column); } +/// Returns the width of a filter icon. +double getFilterIconWidth(ColumnSizer columnSizer, GridColumn column) { + return columnSizer._getFilterIconWidth(column); +} + /// Returns the auto fit row height of the given row based on index. double getAutoFitRowHeight(ColumnSizer columnSizer, int rowIndex, {bool canIncludeHiddenColumns = false, @@ -1744,3 +1817,1123 @@ class ColumnResizeController { propertyName: 'columnResizing'); } } + +/// Controls how the filtering should be applied in [SfDataGrid]. +@immutable +class FilterCondition { + /// Creates the [FilterCondition] for [SfDataGrid]. + const FilterCondition( + {required this.type, + required this.value, + this.isCaseSensitive = false, + this.filterOperator = FilterOperator.or, + this.filterBehavior = FilterBehavior.strongDataType}); + + /// The type of the filter should be applied for filter condition. + final FilterType type; + + /// The value which should be compared for filtering. + final Object? value; + + /// Decides whether the filtering should be considered based on case sensitive. + final bool isCaseSensitive; + + /// The type of the logical operator. + final FilterOperator filterOperator; + + /// The behavior of the filtering for the filter condition. + final FilterBehavior filterBehavior; + + @override + bool operator ==(Object other) { + return other is FilterCondition && + type == other.type && + value == other.value && + isCaseSensitive == other.isCaseSensitive && + filterOperator == other.filterOperator && + filterBehavior == other.filterBehavior; + } + + @override + int get hashCode { + final List values = [ + type, + value, + isCaseSensitive, + filterOperator, + filterBehavior + ]; + return Object.hashAll(values); + } +} + +/// Provides the base functionalities to process the filtering in [SfDataGrid]. +class DataGridFilterHelper { + /// Creates the [DataGridFilterHelper] for [SfDataGrid]. + DataGridFilterHelper(this._dataGridStateDetails) { + checkboxFilterHelper = DataGridCheckboxFilterHelper(); + advancedFilterHelper = DataGridAdvancedFilterHelper(_dataGridStateDetails); + } + + /// Holds the data rows that before apply filtering to the current column. + /// Sets the rows when generating the checkbox list view items and use it to + /// apply filtering to optimize the filtering instead of filter whole rows again. + List _previousDataRows = []; + + /// This flag is used to check whether the filtering popup menu is currently + /// showing or not in the view. + bool isFilterPopupMenuShowing = false; + + /// Determines how the filter menu should be opened + FilteredFrom filterFrom = FilteredFrom.none; + + final DataGridStateDetails _dataGridStateDetails; + + late int _checkedItemsCount, _unCheckedItemsCount; + + /// Holds the instance of a [DataGridCheckboxFilterHelper] class. + late DataGridCheckboxFilterHelper checkboxFilterHelper; + + /// Holds the instance of a [DataGridAdvancedFilterHelper] class. + late DataGridAdvancedFilterHelper advancedFilterHelper; + + /// Provides the height of the popup menu tile. + double get tileHeight => _dataGridStateDetails().isDesktop ? 40.0 : 52.0; + + /// Provides the icon color. + Color get iconColor => + _dataGridStateDetails().colorScheme!.onSurface.withOpacity(0.6); + + /// Provides the disable icon color. + Color get disableIconColor => + _dataGridStateDetails().colorScheme!.onSurface.withOpacity(0.38); + + /// Provides the broder color. + Color get borderColor => + _dataGridStateDetails().colorScheme!.onSurface.withOpacity(0.12); + + /// Provides the background color. + Color get backgroundColor => + _dataGridStateDetails().colorScheme!.onSurface.withOpacity(0.001); + + /// Provides the text color. + Color get textColor => + _dataGridStateDetails().colorScheme!.onSurface.withOpacity(0.89); + + /// Provides the primary color. + Color get primaryColor => _dataGridStateDetails().colorScheme!.primary; + + /// Provides the text style to the tiles. + TextStyle get textStyle => TextStyle( + fontSize: 14.0, + color: textColor, + fontFamily: 'Roboto', + fontWeight: FontWeight.normal); + + /// Provides the text style to the disabled tiles. + TextStyle get disableTextStyle => TextStyle( + fontSize: 14.0, + color: disableIconColor, + fontFamily: 'Roboto', + fontWeight: FontWeight.normal); + + /// Apply filter to the effective rows based on `filterConditions`. + void applyFilter() { + if (_dataGridStateDetails().source.filterConditions.isNotEmpty) { + _refreshFilter(); + } + } + + /// Creates filter conditions based on the UI filtering. + void createFilterConditions(bool isCheckboxFilter, GridColumn column) { + // Creates filter conditions if it's a checkbox filter. + if (isCheckboxFilter) { + _checkedItemsCount = checkboxFilterHelper.items + .where((FilterElement element) => element.isSelected) + .length; + _unCheckedItemsCount = + checkboxFilterHelper.items.length - _checkedItemsCount; + + _createCheckboxFilterConditions(column); + } else { + _createAdvancedFilterConditions(column); + } + } + + void _createCheckboxFilterConditions(GridColumn column) { + final DataGridSource source = _dataGridStateDetails().source; + if (_unCheckedItemsCount == 0 && + checkboxFilterHelper._searchedItems.isEmpty) { + // Need to invoke `onFilterChanging` and `onFilterChanged` callback to notify + // the filtering changes when tapping `SelectAll` button to select all the + // rows in the Checkbox UI filtering. + if (source.filterConditions.containsKey(column.columnName)) { + if (_invokeFilterChangingCallback(column, [])) { + removeFilterConditions(source, column.columnName); + } else { + return; + } + } + } else { + final bool useSelected = !(_checkedItemsCount > _unCheckedItemsCount && + _unCheckedItemsCount > 0); + final List conditions = []; + for (final FilterElement value in checkboxFilterHelper.items) { + if (value.isSelected == useSelected) { + final FilterType filterType = + useSelected ? FilterType.equals : FilterType.notEqual; + FilterOperator filterOperator = + useSelected ? FilterOperator.or : FilterOperator.and; + final String? filterValue = + value.value == '(Blanks)' ? null : value.value.toString(); + + // Sets the first filter condition's filter operator as 'AND' to + // perform multi-column filtering. + if (conditions.isEmpty) { + filterOperator = FilterOperator.and; + } + + conditions.add(FilterCondition( + type: filterType, + isCaseSensitive: true, + value: filterValue, + filterBehavior: FilterBehavior.stringDataType, + filterOperator: filterOperator)); + } + } + + addFilterConditions(source, column.columnName, conditions); + } + + if (source.filterConditions.isEmpty) { + setFilterFrom(column, FilteredFrom.none); + } else { + setFilterFrom(column, FilteredFrom.checkboxFilter); + } + + if (checkboxFilterHelper._searchedItems.isNotEmpty) { + checkboxFilterHelper._searchedItems.clear(); + } + + _applyViewFilter(column); + } + + /// Sets the given value to the column's `filterFrom` property. + void setFilterFrom(GridColumn column, FilteredFrom filteredfrom) { + filterFrom = column._filterFrom = filteredfrom; + } + + /// Gets the column's `filterFrom` property. + FilteredFrom getFilterForm(GridColumn column) { + return column._filterFrom; + } + + /// Format the given cell value to the string data type to display. + String getDisplayValue(Object? value) { + if (value != null) { + // Should return if the value defines the blank filter. + if (value == '(Blanks)') { + return '(Blanks)'; + } + + switch (advancedFilterHelper.advancedFilterType) { + case AdvancedFilterType.text: + case AdvancedFilterType.numeric: + return value is! String ? value.toString() : value; + case AdvancedFilterType.date: + final DateTime date = value as DateTime; + return date.toString().split(' ').first; + } + } + return ''; + } + + /// Format the given string value to the actual cell value with same data type. + Object? getActualValue(Object? value) { + if (value != null) { + switch (advancedFilterHelper.advancedFilterType) { + case AdvancedFilterType.text: + return value is! String ? value.toString() : value; + case AdvancedFilterType.numeric: + return value is! num ? num.tryParse(value.toString()) : value; + case AdvancedFilterType.date: + if (value is! DateTime) { + // To convert a given string to the DateTime format. + final List values = value.toString().split('-'); + if (values.length > 2 && + values.every((String element) => element.isNotEmpty)) { + // To validate the day and month. + if (int.parse(values[1]) > 12 || int.parse(values[2]) > 31) { + return null; + } + return DateTime.tryParse(value.toString()); + } + return null; + } + return value; + } + } else { + return value; + } + } + + void _debugCheckDataType(DataGridConfiguration dataGridConfiguration) { + Object? getFirstCellValue(List rows, String columnName) { + Object? cellValue; + for (final DataGridRow row in rows) { + cellValue = _getCellValue(row, columnName); + if (cellValue != null) { + break; + } + } + return cellValue; + } + + void throwAssertFailure(String message) { + throw FlutterError.fromParts([ErrorSummary(message)]); + } + + final DataGridSource source = dataGridConfiguration.source; + // Should avoid the type checking if the `effectiveRows` contains an empty list. + if (source.effectiveRows.isNotEmpty && source.filterConditions.isNotEmpty) { + for (final String columnName in source.filterConditions.keys) { + final GridColumn? column = dataGridConfiguration.columns + .firstWhereOrNull( + (GridColumn column) => column.columnName == columnName); + if (column == null) { + throwAssertFailure( + "The $columnName doesn't exist in the SfDataGrid.columns collection"); + continue; + } + + final Object? cellValue = + getFirstCellValue(source.effectiveRows, columnName); + for (final FilterCondition condition + in source.filterConditions[columnName]!) { + assert(() { + if (condition.filterBehavior == FilterBehavior.strongDataType) { + if (cellValue?.runtimeType != condition.value?.runtimeType) { + throwAssertFailure( + '${condition.value?.runtimeType} and ${cellValue.runtimeType} are not the same data type'); + } else if (condition.type == FilterType.contains || + condition.type == FilterType.doesNotContain || + condition.type == FilterType.beginsWith || + condition.type == FilterType.doesNotBeginWith || + condition.type == FilterType.endsWith || + condition.type == FilterType.doesNotEndsWith) { + throwAssertFailure( + 'FilterBehaviour and FilterType are not correct'); + } else if (condition.type == FilterType.greaterThan || + condition.type == FilterType.greaterThanOrEqual || + condition.type == FilterType.lessThan || + condition.type == FilterType.lessThanOrEqual) { + if (cellValue is String) { + final String filterType = + condition.type.toString().split('.').last; + throwAssertFailure( + "The filter type $filterType can't check with the String type"); + } + } + } else { + if (condition.type == FilterType.greaterThan || + condition.type == FilterType.greaterThanOrEqual || + condition.type == FilterType.lessThan || + condition.type == FilterType.lessThanOrEqual) { + throwAssertFailure( + 'FilterBehaviour and FilterType are not correct'); + } + } + return true; + }()); + } + } + } + } + + void _refreshFilter() { + final DataGridConfiguration dataGridConfiguration = _dataGridStateDetails(); + // Checks whether the filter value and cell value have the same data type or not. + // If not, it throws an assert failure. + _debugCheckDataType(dataGridConfiguration); + + if (dataGridConfiguration.source.filterConditions.isNotEmpty) { + final DataGridSource source = dataGridConfiguration.source; + final List filteredRows = + _getFilterRows(source.rows, source.filterConditions); + refreshEffectiveRows(source, filteredRows); + } + } + + void _applyViewFilter(GridColumn column) { + final DataGridSource source = _dataGridStateDetails().source; + + if (source.filterConditions.containsKey(column.columnName)) { + final List? filterConditions = + source.filterConditions[column.columnName]; + if (!_invokeFilterChangingCallback(column, filterConditions!)) { + removeFilterConditions(source, column.columnName); + return; + } + + List filteredRows = []; + if (_previousDataRows.isNotEmpty) { + filteredRows = _getFilterRows( + _previousDataRows, >{ + column.columnName: filterConditions + }); + } else { + filteredRows = _getFilterRows(source.rows, source.filterConditions); + } + + if (_previousDataRows.isNotEmpty) { + _previousDataRows.clear(); + } + + // Need to apply sorting to the filtered rows. + performSorting(source, filteredRows); + refreshEffectiveRows(source, filteredRows); + updateDataPager(source); + notifyDataGridPropertyChangeListeners(source, propertyName: 'Filtering'); + _invokeFilterChangedCallback(column, filterConditions); + } else { + updateDataSource(source); + notifyDataGridPropertyChangeListeners(source, propertyName: 'Filtering'); + _invokeFilterChangedCallback(column, []); + } + } + + // Gets rows based on current filtered conditions. + List _getPreviousFilteredRows(String columnName) { + List? items; + final DataGridSource source = _dataGridStateDetails().source; + final List? conditions = + source.filterConditions[columnName]; + + if (conditions != null && conditions.isNotEmpty) { + removeFilterConditions(source, columnName); + items = source.filterConditions.isEmpty + ? source.rows + : _getFilterRows(source.rows, source.filterConditions); + _previousDataRows = items.toList(); + addFilterConditions(source, columnName, conditions); + } else { + _previousDataRows.clear(); + } + + return items ?? source.effectiveRows; + } + + List _getCellValues( + GridColumn column, List items) { + bool hasBlankValues = false; + final DataGridSource source = _dataGridStateDetails().source; + final List conditions = + source.filterConditions[column.columnName] ?? []; + + bool isSelected(Object? value) { + if (conditions.isNotEmpty) { + // Checkes the previous filtered data rows with current effecive rows to + // find selected and unselected items in the checkbox list view. + for (final DataGridRow row in source.effectiveRows) { + final DataGridCell? cell = row.getCells().firstWhereOrNull( + (DataGridCell element) => + element.columnName == column.columnName); + if (cell?.value?.toString() == value?.toString()) { + return true; + } + } + return false; + } + return true; + } + + final List cellValues = []; + final List filterElements = []; + for (final DataGridRow row in items) { + final DataGridCell? cell = row.getCells().firstWhereOrNull( + (DataGridCell element) => element.columnName == column.columnName); + if (cell != null) { + if (cell.value != null) { + cellValues.add(cell.value); + } else if (!hasBlankValues) { + hasBlankValues = true; + } + } + } + + if (hasBlankValues) { + filterElements + .add(FilterElement(value: '(Blanks)', isSelected: isSelected(null))); + } + + if (cellValues.isNotEmpty) { + final Object cellValue = cellValues.first; + final bool convertToString = + !(cellValue is num || cellValue is DateTime || cellValue is String); + + // Sort the items to display in the ascending order. + cellValues.sort((Object a, Object b) { + final dynamic value1 = convertToString ? a.toString() : a; + final dynamic value2 = convertToString ? b.toString() : b; + + return value1.compareTo(value2); + }); + + filterElements.addAll(cellValues + .toSet() + .map( + (Object e) => FilterElement(value: e, isSelected: isSelected(e))) + .toList()); + } + + return filterElements; + } + + /// Helps to end edit the current cell. + void endEdit() { + final DataGridConfiguration dataGridConfiguration = _dataGridStateDetails(); + if (dataGridConfiguration.currentCell.isEditing) { + dataGridConfiguration.currentCell + .onCellSubmit(dataGridConfiguration, canRefresh: false); + } + } + + /// Sets all the cell values to the check box filter. + void setDataGridSource(GridColumn column) { + final List items = _getPreviousFilteredRows(column.columnName); + final List distinctCollection = + _getCellValues(column, items); + + checkboxFilterHelper._previousDataGridSource = []; + + if (distinctCollection.isNotEmpty) { + checkboxFilterHelper.filterCheckboxItems = distinctCollection; + } + + if (filterFrom == FilteredFrom.checkboxFilter) { + _setPreviousDataGridSource(); + } + + checkboxFilterHelper.items = distinctCollection.toList(); + advancedFilterHelper.items = distinctCollection.toList(); + + if (advancedFilterHelper.items.isNotEmpty) { + bool isNullOrEmpty(String value) => value == '(Blanks)' || value == ''; + // Remove null and empty values from the items collection since it's not + // applicable for the AdvancedFilter. + advancedFilterHelper.items.removeWhere( + (FilterElement element) => isNullOrEmpty(element.value.toString())); + } + + checkboxFilterHelper.ensureSelectAllCheckboxState(); + } + + List _getFilterRows( + List rows, Map> conditions) { + return rows + .where((DataGridRow row) => _filterRow(row, conditions)) + .toList(); + } + + void _setPreviousDataGridSource() { + final bool useSelected = !(_checkedItemsCount > _unCheckedItemsCount && + _unCheckedItemsCount > 0); + final List items = checkboxFilterHelper.filterCheckboxItems + .where((FilterElement i) => useSelected) + .toList(); + checkboxFilterHelper._previousDataGridSource.addAll(items); + } + + /// Handles the filter form's sort buttons callback. + void onSortButtonClick(GridColumn column, DataGridSortDirection direction) { + final DataGridConfiguration dataGridConfiguration = _dataGridStateDetails(); + endEdit(); + if (dataGridConfiguration.source.sortedColumns.isNotEmpty) { + dataGridConfiguration.source.sortedColumns.clear(); + } + + dataGridConfiguration.source.sortedColumns.add( + SortColumnDetails(name: column.columnName, sortDirection: direction)); + dataGridConfiguration.source.sort(); + } + + /// Handles the filter form's clear filter button callback. + void onClearFilterButtonClick(GridColumn column) { + final DataGridConfiguration dataGridConfiguration = _dataGridStateDetails(); + endEdit(); + setFilterFrom(column, FilteredFrom.none); + removeFilterConditions(dataGridConfiguration.source, column.columnName); + + updateDataSource(dataGridConfiguration.source); + notifyDataGridPropertyChangeListeners(dataGridConfiguration.source, + propertyName: 'Filtering'); + _invokeFilterChangedCallback(column, []); + } + + bool _invokeFilterChangingCallback( + GridColumn column, List filterConditions) { + final DataGridConfiguration dataGridConfiguration = _dataGridStateDetails(); + if (dataGridConfiguration.onFilterChanging != null) { + final DataGridFilterChangeDetails details = DataGridFilterChangeDetails( + column: column, + filterConditions: + List.unmodifiable(filterConditions)); + return dataGridConfiguration.onFilterChanging!(details); + } + return true; + } + + void _invokeFilterChangedCallback( + GridColumn column, List filterConditions) { + final DataGridConfiguration dataGridConfiguration = _dataGridStateDetails(); + if (dataGridConfiguration.onFilterChanged != null) { + final DataGridFilterChangeDetails details = DataGridFilterChangeDetails( + column: column, + filterConditions: + List.unmodifiable(filterConditions)); + dataGridConfiguration.onFilterChanged!(details); + } + } + + Object? _getCellValue(DataGridRow row, String columnName) { + final GridColumn? column = _dataGridStateDetails().columns.firstWhereOrNull( + (GridColumn column) => column.columnName == columnName); + if (column != null) { + final DataGridCell? cellValue = row.getCells().firstWhereOrNull( + (DataGridCell element) => element.columnName == column.columnName); + if (cellValue != null && cellValue.value != null) { + return cellValue.value; + } + } + return null; + } + + bool _filterRow( + DataGridRow row, Map> filterConditions) { + bool? isEqual; + // Holds the previous column's comparer value of the current row to help to + // perform multi-column filtering. + bool previousComparer = true; + for (final String columnName in filterConditions.keys) { + for (final FilterCondition condition in filterConditions[columnName]!) { + final Object? cellValue = _getCellValue(row, columnName); + + // Resets the previous column's comparer value if a column is not + // applicable to the multi-column filtering. + if (condition == filterConditions[columnName]!.first && + condition.filterOperator == FilterOperator.or) { + previousComparer = true; + } + + /// Holds the current filter type result. + bool comparerValue = false; + switch (condition.type) { + case FilterType.equals: + comparerValue = grid_helper.compareEquals(condition, cellValue); + break; + case FilterType.notEqual: + comparerValue = !grid_helper.compareEquals(condition, cellValue); + break; + case FilterType.contains: + comparerValue = grid_helper.compareContains(condition, cellValue); + break; + case FilterType.doesNotContain: + comparerValue = !grid_helper.compareContains(condition, cellValue); + break; + case FilterType.beginsWith: + comparerValue = grid_helper.compareBeginsWith(condition, cellValue); + break; + case FilterType.doesNotBeginWith: + comparerValue = + !grid_helper.compareBeginsWith(condition, cellValue); + break; + case FilterType.endsWith: + comparerValue = grid_helper.compareEndsWith(condition, cellValue); + break; + case FilterType.doesNotEndsWith: + comparerValue = !grid_helper.compareEndsWith(condition, cellValue); + break; + case FilterType.greaterThan: + comparerValue = + grid_helper.compareGreaterThan(condition, cellValue); + break; + case FilterType.greaterThanOrEqual: + comparerValue = + grid_helper.compareGreaterThan(condition, cellValue, true); + break; + case FilterType.lessThan: + comparerValue = grid_helper.compareLessThan(condition, cellValue); + break; + case FilterType.lessThanOrEqual: + comparerValue = + grid_helper.compareLessThan(condition, cellValue, true); + break; + } + + isEqual = previousComparer && + grid_helper.compare( + isEqual, comparerValue, condition.filterOperator); + } + previousComparer = isEqual != null && isEqual; + } + return isEqual != null && isEqual; + } + + void _createAdvancedFilterConditions(GridColumn column) { + final DataGridConfiguration dataGridConfiguration = _dataGridStateDetails(); + final SfLocalizations localizations = dataGridConfiguration.localizations; + final FilterOperator filterOperator = advancedFilterHelper.isOrPredicate + ? FilterOperator.or + : FilterOperator.and; + + final List filterConditions = + dataGridConfiguration.source.filterConditions[column.columnName] ?? + []; + + final Object? filterValue1 = advancedFilterHelper.filterValue1; + final Object? filterValue2 = advancedFilterHelper.filterValue2; + final String? filterType1 = advancedFilterHelper.filterType1; + final String? filterType2 = advancedFilterHelper.filterType2; + final FilterType type1 = + grid_helper.getFilterType(dataGridConfiguration, filterType1 ?? ''); + final FilterType type2 = + grid_helper.getFilterType(dataGridConfiguration, filterType2 ?? ''); + + if (filterConditions.isNotEmpty) { + filterConditions.clear(); + } + + bool canCreateFilterCondition( + Object? filterValue, String? filterType, bool isFirstCondition) { + void setFilterValue(String? value) { + if (isFirstCondition) { + advancedFilterHelper.filterValue1 = value; + } else { + advancedFilterHelper.filterValue2 = value; + } + } + + if (filterValue != null && filterType != null) { + if (filterValue == '') { + setFilterValue(null); + } + return true; + } else if (filterValue == null && filterType != null) { + if (filterType == localizations.nullDataGridFilteringLabel || + filterType == localizations.notNullDataGridFilteringLabel) { + setFilterValue(null); + return true; + } else if (filterType == localizations.emptyDataGridFilteringLabel || + filterType == localizations.notEmptyDataGridFilteringLabel) { + setFilterValue(''); + return true; + } + } + return false; + } + + // Sets the first filter condition's filter operator as 'AND' to perform + // multi-column filtering. + FilterOperator getFilterOperator() => + filterConditions.isEmpty ? FilterOperator.and : filterOperator; + + switch (advancedFilterHelper.advancedFilterType) { + case AdvancedFilterType.text: + { + // Condition 1 + if (canCreateFilterCondition(filterValue1, filterType1, true)) { + final FilterCondition condition = FilterCondition( + type: type1, + filterOperator: getFilterOperator(), + value: advancedFilterHelper.filterValue1, + filterBehavior: FilterBehavior.stringDataType, + isCaseSensitive: advancedFilterHelper.isCaseSensitive1); + filterConditions.add(condition); + } + + // Condition 2 + if (canCreateFilterCondition(filterValue2, filterType2, false)) { + final FilterCondition condition = FilterCondition( + type: type2, + filterOperator: getFilterOperator(), + value: advancedFilterHelper.filterValue2, + filterBehavior: FilterBehavior.stringDataType, + isCaseSensitive: advancedFilterHelper.isCaseSensitive2); + filterConditions.add(condition); + } + } + break; + case AdvancedFilterType.numeric: + { + // Condition 1 + if (canCreateFilterCondition(filterValue1, filterType1, true)) { + final FilterCondition condition = FilterCondition( + type: type1, + filterOperator: getFilterOperator(), + value: advancedFilterHelper.filterValue1); + filterConditions.add(condition); + } + + // Condition 2 + if (canCreateFilterCondition(filterValue2, filterType2, false)) { + final FilterCondition condition = FilterCondition( + type: type2, + filterOperator: getFilterOperator(), + value: advancedFilterHelper.filterValue2); + filterConditions.add(condition); + } + } + break; + case AdvancedFilterType.date: + { + // Condition 1 + if (canCreateFilterCondition(filterValue1, filterType1, true)) { + final FilterCondition condition = FilterCondition( + type: type1, + filterOperator: getFilterOperator(), + value: advancedFilterHelper.filterValue1); + filterConditions.add(condition); + } + + // Condition 2 + if (canCreateFilterCondition(filterValue2, filterType2, false)) { + final FilterCondition condition = FilterCondition( + type: type2, + filterOperator: getFilterOperator(), + value: advancedFilterHelper.filterValue2); + filterConditions.add(condition); + } + } + break; + } + + if (filterConditions.isNotEmpty) { + setFilterFrom(column, FilteredFrom.advancedFilter); + addFilterConditions( + dataGridConfiguration.source, column.columnName, filterConditions); + _applyViewFilter(column); + } + } +} + +/// A class [DataGridCheckboxFilterHelper] that holds the helper properties +/// for the checkbox filter. +class DataGridCheckboxFilterHelper { + /// Holds all the cell values of corresponding filter column as a + /// `FilterElement` collection. + List items = []; + + /// Holds the searched check box items. + List _searchedItems = []; + + /// Holds the check box filter items. + List filterCheckboxItems = []; + + /// Maintain the previous item source for using it when searched text field + /// is empty. + List _previousDataGridSource = []; + + /// A `TextEditingController` of the search box. + final TextEditingController textController = TextEditingController(); + + /// A `FocusNode` of the search box. + final FocusNode searchboxFocusNode = FocusNode(); + + /// Checks whether the selectAll checkbox is checked or not. + late bool? isSelectAllChecked; + + /// Checks whether the selectAll checkbox is in tri-state or not. + late bool isSelectAllInTriState; + + /// Ensures the `selectAll` checkbox state. + void ensureSelectAllCheckboxState() { + final List unCheckedItems = + items.where((FilterElement item) => !item.isSelected).toList(); + + if (unCheckedItems.isEmpty || unCheckedItems.length == items.length) { + isSelectAllInTriState = false; + isSelectAllChecked = unCheckedItems.isEmpty; + } else { + isSelectAllInTriState = true; + isSelectAllChecked = null; + } + } + + /// Handles the search box's text changed callback. + void onSearchTextFieldTextChanged(String searchText) { + if (filterCheckboxItems.isEmpty) { + return; + } + + if (searchText.isEmpty) { + _searchedItems = []; + if (_previousDataGridSource.isNotEmpty) { + final int checkedCount = _previousDataGridSource + .where((FilterElement element) => element.isSelected) + .length; + final bool isSelected = checkedCount > 0; + for (final FilterElement item in filterCheckboxItems) { + final FilterElement? filterElement = _previousDataGridSource + .firstWhereOrNull((FilterElement i) => item.value == i.value); + item.isSelected = + filterElement != null ? filterElement.isSelected : !isSelected; + } + } + items = filterCheckboxItems; + ensureSelectAllCheckboxState(); + return; + } + + _searchedItems = filterCheckboxItems + .where((FilterElement element) => element.value + .toString() + .toLowerCase() + .contains(searchText.toLowerCase())) + .toList(); + + for (final FilterElement element in _searchedItems) { + element.isSelected = true; + } + + items = _searchedItems; + ensureSelectAllCheckboxState(); + } +} + +/// A class [DataGridAdvancedFilterHelper] that holds the helper properties +/// for the advance filter. +class DataGridAdvancedFilterHelper { + /// Creates `DataGridAdvanceFilterHelper` for `SfDataGrid`. + DataGridAdvancedFilterHelper(this._dataGridStateDetails); + + final DataGridStateDetails _dataGridStateDetails; + + /// Holds the filter type dropdown items. + List filterTypeItems = []; + + /// Holds all the cell values of a corresponding filter column as a + /// `FilterElement` collection. + List items = []; + + /// Defines the advance filter type. + AdvancedFilterType advancedFilterType = AdvancedFilterType.text; + + /// Defines the filter types. + String? filterType1, filterType2; + + /// Defines the filter values + Object? filterValue1, filterValue2; + + /// Defines the first drop down button's case sensitive option. + bool isCaseSensitive1 = false; + + /// Defines the second drop down button's case sensitive option. + bool isCaseSensitive2 = false; + + /// Checkes whether the `OR` radio button is enabled or not. + bool isOrPredicate = true; + + /// Holds the list of filter types that used to disable filter value's drop + /// down button. If a filterType contains any of these item, need to disable + /// the filter value dropdown button. + List disableFilterTypes = []; + + /// Holds the list of filter types that used to display the text field instead + /// of dropdown button in the Advanced filter menu. + List textFieldFilterTypes = []; + + /// A [TextEditingController] for the first text field in the Advanced filter. + TextEditingController firstValueTextController = TextEditingController(); + + /// A [TextEditingController] for the second text field in the Advanced filter. + TextEditingController secondValueTextController = TextEditingController(); + + /// Initializes the localized resource values to the localization required + /// internal properties. + void initProperties() { + final SfLocalizations localizations = _dataGridStateDetails().localizations; + filterType1 = localizations.equalsDataGridFilteringLabel; + filterType2 = localizations.equalsDataGridFilteringLabel; + + disableFilterTypes = [ + localizations.nullDataGridFilteringLabel, + localizations.notNullDataGridFilteringLabel, + localizations.emptyDataGridFilteringLabel, + localizations.notEmptyDataGridFilteringLabel + ]; + + textFieldFilterTypes = [ + localizations.beginsWithDataGridFilteringLabel, + localizations.endsWithDataGridFilteringLabel, + localizations.doesNotBeginWithDataGridFilteringLabel, + localizations.doesNotEndWithDataGridFilteringLabel, + localizations.containsDataGridFilteringLabel, + localizations.doesNotContainDataGridFilteringLabel, + localizations.beforeDataGridFilteringLabel, + localizations.beforeOrEqualDataGridFilteringLabel, + localizations.afterDataGridFilteringLabel, + localizations.afterOrEqualDataGridFilteringLabel, + localizations.lessThanDataGridFilteringLabel, + localizations.lessThanOrEqualDataGridFilteringLabel, + localizations.greaterThanDataGridFilteringLabel, + localizations.greaterThanOrEqualDataGridFilteringLabel, + ]; + } + + /// Generates the filter type dropdown items. + void generateFilterTypeItems(GridColumn column) { + if (filterTypeItems.isNotEmpty) { + filterTypeItems.clear(); + } + + final List items = []; + final SfLocalizations localizations = _dataGridStateDetails().localizations; + switch (advancedFilterType) { + case AdvancedFilterType.text: + items.add(localizations.equalsDataGridFilteringLabel); + items.add(localizations.doesNotEqualDataGridFilteringLabel); + items.add(localizations.beginsWithDataGridFilteringLabel); + items.add(localizations.doesNotBeginWithDataGridFilteringLabel); + items.add(localizations.endsWithDataGridFilteringLabel); + items.add(localizations.doesNotEndWithDataGridFilteringLabel); + items.add(localizations.containsDataGridFilteringLabel); + items.add(localizations.doesNotContainDataGridFilteringLabel); + items.add(localizations.emptyDataGridFilteringLabel); + items.add(localizations.notEmptyDataGridFilteringLabel); + items.add(localizations.nullDataGridFilteringLabel); + items.add(localizations.notNullDataGridFilteringLabel); + break; + case AdvancedFilterType.numeric: + items.add(localizations.equalsDataGridFilteringLabel); + items.add(localizations.doesNotEqualDataGridFilteringLabel); + items.add(localizations.lessThanDataGridFilteringLabel); + items.add(localizations.lessThanOrEqualDataGridFilteringLabel); + items.add(localizations.greaterThanDataGridFilteringLabel); + items.add(localizations.greaterThanOrEqualDataGridFilteringLabel); + items.add(localizations.nullDataGridFilteringLabel); + items.add(localizations.notNullDataGridFilteringLabel); + break; + case AdvancedFilterType.date: + items.add(localizations.equalsDataGridFilteringLabel); + items.add(localizations.doesNotEqualDataGridFilteringLabel); + items.add(localizations.beforeDataGridFilteringLabel); + items.add(localizations.beforeOrEqualDataGridFilteringLabel); + items.add(localizations.afterDataGridFilteringLabel); + items.add(localizations.afterOrEqualDataGridFilteringLabel); + items.add(localizations.nullDataGridFilteringLabel); + items.add(localizations.notNullDataGridFilteringLabel); + break; + } + + filterTypeItems = items; + } + + /// Sets the advanced filter type based on the column type. + void setAdvancedFilterType( + DataGridConfiguration dataGridConfiguration, GridColumn column) { + Object? value; + for (final DataGridRow row in dataGridConfiguration.source.rows) { + final DataGridCell? cellValue = row.getCells().firstWhereOrNull( + (DataGridCell element) => element.columnName == column.columnName); + if (cellValue != null && cellValue.value != null) { + value = cellValue.value; + break; + } + } + + if (value != null && value is num) { + advancedFilterType = AdvancedFilterType.numeric; + } else if (value != null && value is DateTime) { + advancedFilterType = AdvancedFilterType.date; + } else { + advancedFilterType = AdvancedFilterType.text; + } + } + + /// Sets the advanced filter values. + void setAdvancedFilterValues(DataGridConfiguration dataGridConfiguration, + List filterConditions, DataGridFilterHelper helper) { + Object? getValue(Object? value, String? filterType) { + if (items.any((FilterElement element) => element.value == value) || + (filterType != null && textFieldFilterTypes.contains(filterType))) { + return value; + } + return null; + } + + if (filterConditions.isNotEmpty) { + final FilterCondition condition = filterConditions.first; + filterType1 = grid_helper.getFilterName( + dataGridConfiguration, condition.type, condition.value); + filterValue1 = getValue(condition.value, filterType1); + isCaseSensitive1 = condition.isCaseSensitive; + isOrPredicate = condition.filterOperator == FilterOperator.or; + if (filterConditions.length == 1) { + filterType2 = + dataGridConfiguration.localizations.equalsDataGridFilteringLabel; + filterValue2 = null; + isCaseSensitive2 = false; + } + } + if (filterConditions.length == 2) { + final FilterCondition condition = filterConditions.last; + filterType2 = grid_helper.getFilterName( + dataGridConfiguration, condition.type, condition.value); + filterValue2 = getValue(condition.value, filterType2); + isCaseSensitive2 = condition.isCaseSensitive; + isOrPredicate = condition.filterOperator == FilterOperator.or; + } + + firstValueTextController.text = dataGridConfiguration.dataGridFilterHelper! + .getDisplayValue(filterValue1); + secondValueTextController.text = dataGridConfiguration.dataGridFilterHelper! + .getDisplayValue(filterValue2); + } + + /// Resets the advanced filter values. + void resetAdvancedFiterValues(DataGridConfiguration dataGridConfiguration) { + filterType1 = filterType2 = + dataGridConfiguration.localizations.equalsDataGridFilteringLabel; + filterValue1 = filterValue2 = null; + isCaseSensitive1 = isCaseSensitive2 = false; + isOrPredicate = true; + firstValueTextController.clear(); + secondValueTextController.clear(); + } +} + +/// A class [FilterElement] that helps to maintain the cell values with its +/// checkbox state for the filtering support. +class FilterElement { + /// Creates [FilterElement] for the `SfDataGrid`. + FilterElement({required this.value, required this.isSelected}); + + /// Defines the value of the cell. + Object value; + + /// Defines the check box state of the cell. + bool isSelected; +} + +/// Controls how the filtering menu options can be customized. +@immutable +class FilterPopupMenuOptions { + /// + const FilterPopupMenuOptions( + {this.filterMode = FilterMode.both, + this.canShowClearFilterOption = true, + this.canShowSortingOptions = true, + this.showColumnName = true}); + + /// Decides how the checked listbox and advanced filter options should be shown in filter popup. + final FilterMode filterMode; + + /// Decides whether the `Clear Filter From {Column Name}` option should be displayed in filtering popup. + final bool canShowClearFilterOption; + + /// Decides whether the ascending and descending sorting options should be displayed in filtering popup. + final bool canShowSortingOptions; + + /// Decides whether the column name should be displayed along with the content of `Clear Filter` option . + final bool showColumnName; +} diff --git a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/runtime/generator.dart b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/runtime/generator.dart index 5107c49d5..4ae4e25d4 100644 --- a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/runtime/generator.dart +++ b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/runtime/generator.dart @@ -32,7 +32,7 @@ abstract class DataCellBase { /// Decides whether [DataCell] is dirty, to refresh it. bool isDirty = false; - /// Decides whether the [DataCell] has the currentcell. + /// Decides whether the [DataCell] has the current-cell. bool isCurrentCell = false; /// Decide whether the [DataCell] is in edit mode. diff --git a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/selection/selection_manager.dart b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/selection/selection_manager.dart index 187cc57fd..675167621 100644 --- a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/selection/selection_manager.dart +++ b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/selection/selection_manager.dart @@ -156,6 +156,9 @@ class RowSelectionManager extends SelectionManagerBase { _addSelection(record, dataGridConfiguration); } else { _clearSelectedRow(dataGridConfiguration); + if (dataGridConfiguration.navigationMode == GridNavigationMode.cell) { + _clearCurrentCell(dataGridConfiguration); + } } notifyListeners(); @@ -618,10 +621,16 @@ class RowSelectionManager extends SelectionManagerBase { dataGridConfiguration.selectionMode != SelectionMode.multiple; //If newValue is negative we have clear the whole selection data. - //In multiple case we shouldn't to clear the collection as well - // source properties. - if (newValue == null && canClearSelections()) { - _clearSelectedRow(dataGridConfiguration); + if (newValue == null && _selectedRows.isNotEmpty) { + // If selection mode is multiple we need to clear all the selected rows. + if (dataGridConfiguration.selectionMode == SelectionMode.multiple) { + _clearSelectedRows(dataGridConfiguration); + } else { + _clearSelectedRow(dataGridConfiguration); + } + if (dataGridConfiguration.navigationMode == GridNavigationMode.cell) { + _clearCurrentCell(dataGridConfiguration); + } notifyListeners(); return; } @@ -679,10 +688,21 @@ class RowSelectionManager extends SelectionManagerBase { dataGridConfiguration.selectionMode != SelectionMode.multiple; //If newValue is negative we have to clear the whole selection data. - //In multiple case we shouldn't to clear the collection as - // well source properties. - if (newValue == -1 && canClearSelections()) { - _clearSelectedRow(dataGridConfiguration); + if (newValue == -1 && _selectedRows.isNotEmpty) { + // If selection mode is multiple we need to clear all the selected rows. + if (dataGridConfiguration.selectionMode == SelectionMode.multiple) { + _clearSelectedRows(dataGridConfiguration); + } else { + _clearSelectedRow(dataGridConfiguration); + } + + // Issue: + // FLUT-7123-The current cell is not removed when setting the selected index as -1 through the SelectionController + // We removed the selected rows only when setting the selected index as -1 from the controller + // We have resolved the issue by removing the current cell too. + if (dataGridConfiguration.navigationMode == GridNavigationMode.cell) { + _clearCurrentCell(dataGridConfiguration); + } notifyListeners(); return; } @@ -1370,6 +1390,8 @@ class RowSelectionManager extends SelectionManagerBase { } } +final FocusScopeNode _focusScopeNode = FocusScopeNode(); + /// A class that can be used to manage the current cell operations in the /// [SfDataGrid]. class CurrentCellManager { @@ -1479,8 +1501,11 @@ class CurrentCellManager { return null; } - return dataRows - .firstWhereOrNull((DataRowBase row) => row.rowIndex == rowIndex); + // If attempt to obtain a current row after calling the `refreshView` method, + // all the row indexes will be -1 in the `items` collection. So, need to + // consider the `isCurrentRow` property additionally to get the current row. + return dataRows.firstWhereOrNull( + (DataRowBase row) => row.rowIndex == rowIndex || row.isCurrentRow); } DataCellBase? _getDataCell(DataRowBase dataRow, int columnIndex) { @@ -1708,21 +1733,39 @@ class CurrentCellManager { return; } + // In programmatic begin edit, need to update current cell when the + // dataCell doesn't contain the proper current cell index. So, we commonly + // update the current cell here for programmatic and F2 key to begin edit + // the cell. + void setCurrentCell() { + final DataRowBase? dataRow = + _getDataRow(dataGridConfiguration, editingRowColumnIndex!.rowIndex); + if (dataRow != null) { + dataCell = _getDataCell(dataRow, editingRowColumnIndex.columnIndex); + } else { + return; + } + } + // If the editing is initiate from f2 key, need not to process the // handleTap. if (needToResolveIndex) { dataGridConfiguration.rowSelectionManager .handleTap(editingRowColumnIndex); + + // In programmatic begin edit, if the `editingRowColumnIndex` has valid + // row and column index and the current cell has a previous current cell + // value, need to update the current cell based on the + // `editingRowColumnIndex` property. + if (dataCell != null && + !editingRowColumnIndex.equals( + RowColumnIndex(dataCell!.rowIndex, dataCell!.columnIndex))) { + setCurrentCell(); + } } else { // Need to skip the editing when current cell is not in view and we // process initiate the editing from f2 key. - final DataRowBase? dataRow = - _getDataRow(dataGridConfiguration, editingRowColumnIndex.rowIndex); - if (dataRow != null) { - dataCell = _getDataCell(dataRow, editingRowColumnIndex.columnIndex); - } else { - return; - } + setCurrentCell(); } editingDataCell = dataCell; @@ -1761,8 +1804,27 @@ class CurrentCellManager { /// To bring the focus automatically to editing widget. /// canRequestFocus need to set true to auto detect the focus /// User need to set the autoFocus to true in their editable widget. - editingDataCell.editingWidget = - FocusScope(canRequestFocus: true, child: child); + editingDataCell.editingWidget = FocusScope( + canRequestFocus: true, + node: _focusScopeNode, + onFocusChange: (bool details) { + /// We should not allow the focus to the other widgets + /// when the cell is in the edit mode and return false from the canSubmitCell + /// So, we need to request the focus here. + /// Also, if we return false from the canSubmitCell method and tap other cells + /// We need to retain the focus on the text field instead of losing focus. + /// + // Issue: + // FLUT-7120-The focus did not go to the other widgets when DataGrid's current cell is in edit mode. + // We have checked whether the current cell is editing or not based on the `isCurrentCellInEditing` property. + // In this case, it is true. So we fixed it by checking the value of the `canCellSumbit` method. + if (!_focusScopeNode.hasFocus && + !dataGridConfiguration.dataGridFocusNode!.hasFocus && + !canSubmitCell(dataGridConfiguration)) { + _focusScopeNode.requestFocus(); + } + }, + child: child); editingDataCell.isEditing = editingDataCell.dataRow!.isEditing = isEditing = true; @@ -1862,9 +1924,13 @@ class CurrentCellManager { if (canRefresh) { /// Refresh the visible [DataRow]'s on editing the [DataCell] when - /// sorting enabled - if (dataGridConfiguration.allowSorting) { + /// sorting or filtering is enabled. + if (dataGridConfiguration.allowSorting || + dataGridConfiguration.allowFiltering) { updateDataSource(dataGridConfiguration.source); + if (dataGridConfiguration.source.filterConditions.isNotEmpty) { + dataGridConfiguration.container.updateRowAndColumnCount(); + } dataGridConfiguration.container ..updateDataGridRows(dataGridConfiguration) ..isDirty = true; @@ -2040,8 +2106,13 @@ void handleSelectionFromCheckbox(DataGridConfiguration dataGridConfiguration, } else if (oldValue) { dataGridConfiguration.headerCheckboxState = false; dataCell.updateColumn(); + + // Issue: + // FLUT-6838-The onSelectionChanged callback is not being called with deselected rows + // while deselecting through the checkbox column header + // We have resolved the issue by creating the list instead of the reference. final List oldSelectedItems = - rowSelectionManager._selectedRows; + rowSelectionManager._selectedRows.toList(); if (rowSelectionManager._raiseSelectionChanging( newItems: [], oldItems: oldSelectedItems)) { rowSelectionManager._clearSelectedRows(dataGridConfiguration); @@ -2049,6 +2120,8 @@ void handleSelectionFromCheckbox(DataGridConfiguration dataGridConfiguration, rowSelectionManager._raiseSelectionChanged( oldItems: oldSelectedItems, newItems: []); } + // Cleared the oldSelectedItems list after the callback is called. + oldSelectedItems.clear(); } } else { dataCell.onTouchUp(); diff --git a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/sfdatagrid.dart b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/sfdatagrid.dart index f2f739a50..185af41dc 100644 --- a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/sfdatagrid.dart +++ b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/sfdatagrid.dart @@ -1,6 +1,7 @@ import 'package:collection/collection.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'package:syncfusion_flutter_core/localizations.dart'; import 'package:syncfusion_flutter_core/theme.dart'; import '../../datagrid.dart'; @@ -84,6 +85,14 @@ typedef ColumnResizeUpdateCallback = bool Function( /// Signature for the [SfDataGrid.onColumnResizeEnd] callback. typedef ColumnResizeEndCallback = void Function(ColumnResizeEndDetails details); +/// Signature for the [SfDataGrid.onFilterChanging] callback. +typedef DataGridFilterChangingCallback = bool Function( + DataGridFilterChangeDetails details); + +/// Signature for the [SfDataGrid.onFilterChanged] callback. +typedef DataGridFilterChangedCallback = void Function( + DataGridFilterChangeDetails details); + /// Signature for the [DataGridSourceChangeNotifier] listener. typedef _DataGridSourceListener = void Function( {RowColumnIndex? rowColumnIndex}); @@ -448,6 +457,10 @@ class SfDataGrid extends StatefulWidget { this.shrinkWrapColumns = false, this.shrinkWrapRows = false, this.rowsCacheExtent, + this.allowFiltering = false, + this.onFilterChanging, + this.onFilterChanged, + this.checkboxShape, }) : assert(frozenColumnsCount >= 0), assert(footerFrozenColumnsCount >= 0), assert(frozenRowsCount >= 0), @@ -1545,6 +1558,40 @@ class SfDataGrid extends StatefulWidget { /// animation can be seen when vertical scrolling is perform final int? rowsCacheExtent; + /// Decides whether the UI filtering should be enabled for all the columns. + /// + /// [GridColumn.allowFiltering] has the highest priority over this property. + /// + /// See also, + /// * [SfDataGrid.onFilterChanging] – This callback will be called if the + /// column is being filtered through UI filtering. + /// * [SfDataGrid.onFilterChanged] – This callback will be called if the + /// column is filtered through UI filtering. + /// * [DataGridSource.filterConditions] – This property holds the + /// collection of the filter conditions which are applied for various columns. + final bool allowFiltering; + + /// Called when the filtering is being applied through UI filtering. + /// + /// You can return `false` from this callback to restrict the column from + /// being filtered. + final DataGridFilterChangingCallback? onFilterChanging; + + /// Called after the UI filtering is applied to [SfDataGrid]. + /// + /// This callback will not be triggered when the filter conditions are added + /// programmatically. + final DataGridFilterChangedCallback? onFilterChanged; + + /// The shape of the checkbox. + /// + /// This is applicable for checkbox which is shown when enable the [showCheckboxColumn] property. + /// + /// See also, + /// + /// [Checkbox.shape] + final OutlinedBorder? checkboxShape; + @override State createState() => SfDataGridState(); } @@ -1568,6 +1615,7 @@ class SfDataGridState extends State TextDirection _textDirection = TextDirection.ltr; SfDataGridThemeData? _dataGridThemeData; DataGridThemeHelper? _dataGridThemeHelper; + SfLocalizations? _localizations; DataGridSource? _source; List? _columns; SelectionManagerBase? _rowSelectionManager; @@ -1575,6 +1623,8 @@ class SfDataGridState extends State Animation? _swipingAnimation; DataGridStateDetails? _dataGridStateDetails; + Size? _screenSize; + @override void initState() { _columns = []; @@ -1590,6 +1640,9 @@ class SfDataGridState extends State duration: const Duration(milliseconds: 200), vsync: this); _setUp(); _updateDataGridStateDetails(); + + // To perform sort and filter operations based on the `DataGridSource`. + updateDataSource(_dataGridConfiguration.source); super.initState(); } @@ -1670,6 +1723,15 @@ class SfDataGridState extends State } } + void _onDataGridLocalizationsChanged(SfLocalizations newLocalizations) { + if (_localizations != newLocalizations) { + _localizations = newLocalizations; + _dataGridConfiguration + ..localizations = newLocalizations + ..dataGridFilterHelper!.advancedFilterHelper.initProperties(); + } + } + void _updateHeaderRowHeight() { final LineSizeCollection lineSizeCollection = _container.columnWidths as LineSizeCollection; @@ -1685,7 +1747,10 @@ class SfDataGridState extends State } void _setUp() { - _initializeDataGridDataSource(); + // Initializes the source + _source = widget.source.._dataGridStateDetails = _dataGridStateDetails; + _addDataGridSourceListeners(); + _initializeCellRendererCollection(); //DataGrid Controller @@ -1715,6 +1780,8 @@ class SfDataGridState extends State //CurrentCell Manager initializing _dataGridConfiguration.currentCell = CurrentCellManager(_dataGridStateDetails!); + _dataGridConfiguration.dataGridFilterHelper = + DataGridFilterHelper(_dataGridStateDetails!); //Selection Manager initializing _rowSelectionManager = _dataGridConfiguration.rowSelectionManager = @@ -1922,6 +1989,7 @@ class SfDataGridState extends State _resetColumn(); } + if (widget.selectionMode != SelectionMode.none) selection_manager.removeUnWantedDataGridRows(_dataGridConfiguration); if (widget.selectionMode != SelectionMode.none && @@ -2161,6 +2229,18 @@ class SfDataGridState extends State if (propertyName == 'editing' && rowColumnIndex != null) { _processCellUpdate(rowColumnIndex); } + + if (propertyName == 'Filtering') { + setState(() { + _dataGridConfiguration.container + ..resetSwipeOffset() + ..updateRowAndColumnCount() + ..refreshView() + ..isDirty = true; + + _refreshScrollOffsets(); + }); + } } void _updateDataGridStateDetails() { @@ -2245,7 +2325,11 @@ class SfDataGridState extends State ..shrinkWrapColumns = widget.shrinkWrapColumns ..shrinkWrapRows = widget.shrinkWrapRows ..rowsCacheExtent = widget.rowsCacheExtent - ..dataGridThemeHelper = _dataGridThemeHelper; + ..dataGridThemeHelper = _dataGridThemeHelper + ..allowFiltering = widget.allowFiltering + ..onFilterChanging = widget.onFilterChanging + ..onFilterChanged = widget.onFilterChanged + ..checkboxShape = widget.checkboxShape; if (widget.allowPullToRefresh) { _dataGridConfiguration.refreshIndicatorKey ??= @@ -2311,6 +2395,11 @@ class SfDataGridState extends State widget.tableSummaryRows != oldWidget.tableSummaryRows; final bool isRowsPerPageChanged = widget.rowsPerPage != oldWidget.rowsPerPage; + // To apply filtering to the runtime changes of columns. + final bool canApplyFiltering = + isColumnsChanged && _columns!.length != widget.columns.length; + final bool isFilteringChanged = + oldWidget.allowFiltering != widget.allowFiltering; if (oldWidget.verticalScrollController != widget.verticalScrollController) { if (widget.verticalScrollController != null) { @@ -2427,11 +2516,13 @@ class SfDataGridState extends State isSwipingChanged || isFooterRowChanged || isTableSummaryRowsChanged || + isFilteringChanged || oldWidget.rowHeight != widget.rowHeight || oldWidget.headerRowHeight != widget.headerRowHeight || oldWidget.defaultColumnWidth != widget.defaultColumnWidth || oldWidget.navigationMode != widget.navigationMode || oldWidget.showCheckboxColumn != widget.showCheckboxColumn || + oldWidget.checkboxShape != widget.checkboxShape || oldWidget.rowsCacheExtent != widget.rowsCacheExtent || isRowsPerPageChanged) { // Need to endEdit before refreshing @@ -2440,7 +2531,7 @@ class SfDataGridState extends State // Need to initialize the data source when the `isColumnsCollectionChanged` // property is true to adapt the `DataGridRow.cells` changes that made by // the user based on the `columns` collection changes. - if (isSourceChanged || isColumnsCollectionChanged) { + if (isSourceChanged || isColumnsCollectionChanged || canApplyFiltering) { _initializeDataGridDataSource(); } if (isSortingChanged || isMultiColumnSortingChanged) { @@ -2503,16 +2594,37 @@ class SfDataGridState extends State isColumnsChanged || isColumnSizerChanged || isFrozenColumnPaneChanged || - isSortingChanged || isStackedHeaderRowsChanged || oldWidget.showCheckboxColumn != widget.showCheckboxColumn || + oldWidget.checkboxShape != widget.checkboxShape) { + _resetColumn(clearEditing: false); + if (isColumnSizerChanged) { + resetAutoCalculation(_dataGridConfiguration.columnSizer); + } + } + + // Need to reset the auto calculation when sorting, filtering or show + // sort number properties are changed at runtime. then only, the auto-width + // calculation will be calculated for all the columns again. Otherwise, + // all the columns will retain the previously calculated width. + if (isSortingChanged || + isFilteringChanged || widget.allowSorting && isMultiColumnSortingChanged || widget.allowSorting && widget.allowMultiColumnSorting && isShowSortNumbersChanged) { - _resetColumn(clearEditing: false); - if (isColumnSizerChanged) { - resetAutoCalculation(_dataGridConfiguration.columnSizer); + // To reset the auto width calculation. + resetAutoCalculation(_dataGridConfiguration.columnSizer); + + final DataRowBase? dataRow = _rowGenerator.items.firstWhereOrNull( + (DataRowBase element) => element.rowType == RowType.headerRow); + // To refresh the header row to update the sort and filter icon changes + // in the header cells. + if (dataRow != null) { + for (final DataCellBase dataCell in dataRow.visibleColumns) { + dataCell.columnIndex = -1; + } + _container.needToRefreshColumn = true; } } @@ -2535,6 +2647,7 @@ class SfDataGridState extends State isMaxSwipeOffsetChanged || isFrozenRowPaneChanged || isFrozenColumnPaneChanged || + canApplyFiltering || (oldWidget.allowSwiping && !widget.allowSwiping || isRowsPerPageChanged)) { _container.resetSwipeOffset(); @@ -2757,6 +2870,24 @@ class SfDataGridState extends State ? 100 : 90 : widget.defaultColumnWidth; + _onDataGridLocalizationsChanged(SfLocalizations.of(context)); + + // This is used to dismiss the filtering popup menu manually when resizing + // the current window size. By default, the popup menu will not be + // dismissed when resizing the window. So, we have used this workaround to + // achieve this behavior. + if (_dataGridConfiguration.isDesktop) { + final Size currentScreenSize = MediaQuery.of(context).size; + _screenSize ??= currentScreenSize; + if (_screenSize != currentScreenSize && + _dataGridConfiguration + .dataGridFilterHelper!.isFilterPopupMenuShowing) { + Navigator.pop(context); + _dataGridConfiguration.dataGridFilterHelper!.isFilterPopupMenuShowing = + false; + } + _screenSize = currentScreenSize; + } super.didChangeDependencies(); } @@ -2807,7 +2938,20 @@ class SfDataGridState extends State @override void dispose() { _removeDataGridSourceListeners(); - _controller?.removeListener(_handleDataGridPropertyChangeListeners); + + // Issue: + // FLUT-7056 - The dataGridPropertyChanged listener is not removed properly + // when DataGrid is disposed + // + // Fix: + // The issue occurred due to we didn't remove the listener properly. + // It's added to `_dataGridPropertyChangeListeners` but we didn't remove it from the _dataGridPropertyChangeListeners. + // We have fixed the issue by removing the respective listener from the_dataGridPropertyChangeListeners + // through the _removeDataGridPropertyChangeListener method. + _controller?._removeDataGridPropertyChangeListener( + _handleDataGridPropertyChangeListeners); + _controller?._removeDataGridPropertyChangeListener( + _handleSelectionPropertyChanged); _dataGridConfiguration ..gridPaint = null ..boxPainter = null @@ -2817,6 +2961,12 @@ class SfDataGridState extends State _swipingAnimationController!.dispose(); _swipingAnimationController = null; } + _dataGridConfiguration.dataGridFilterHelper!.checkboxFilterHelper + ..textController.dispose() + ..searchboxFocusNode.dispose(); + _dataGridConfiguration.dataGridFilterHelper!.advancedFilterHelper + ..firstValueTextController.dispose() + ..secondValueTextController.dispose(); super.dispose(); } } @@ -2902,6 +3052,20 @@ abstract class DataGridSource extends DataGridSourceChangeNotifier DataGridStateDetails? _dataGridStateDetails; + final Map> _filterConditions = + >{}; + + /// Holds the collection of [FilterCondition] based on the columns. + /// + /// Here, key is the name of the column. Value is the collection of filter + /// conditions. + /// + /// Use [DataGridSource.addFilterCondition] and + /// [DataGridSource.removeFilterCondition] to add or remove the filter + /// conditions for columns. + Map> get filterConditions => + Map>.unmodifiable(_filterConditions); + /// Called whenever you call [notifyListeners] or [notifyDataSourceListeners] /// in the DataGridSource class. If you want to recalculate all columns /// width (may be when underlying data gets changed), return true. @@ -3030,10 +3194,10 @@ abstract class DataGridSource extends DataGridSourceChangeNotifier }); } - /// To update the sorted collection in _paginatedRows, notifyListener should be + /// To update the sorted or filtered collection in _paginatedRows, notifyListener should be /// called instead notifyDataGridPropertyChangeListener. Because, notifyListener is common for /// in DataPagerDelegate and DataGridSource will get notified. - void _updateDataPagerOnSorting() { + void _updateDataPager() { if (_pageCount > 0 && _paginatedRows.isNotEmpty && !_suspendDataPagerUpdate) { @@ -3131,15 +3295,15 @@ abstract class DataGridSource extends DataGridSourceChangeNotifier /// ``` @protected int compare(DataGridRow? a, DataGridRow? b, SortColumnDetails sortColumn) { - Object? _getCellValue(List? cells, String columnName) { + Object? getCellValue(List? cells, String columnName) { return cells ?.firstWhereOrNull( (DataGridCell element) => element.columnName == columnName) ?.value; } - final Object? valueA = _getCellValue(a?.getCells(), sortColumn.name); - final Object? valueB = _getCellValue(b?.getCells(), sortColumn.name); + final Object? valueA = getCellValue(a?.getCells(), sortColumn.name); + final Object? valueB = getCellValue(b?.getCells(), sortColumn.name); return _compareTo(valueA, valueB, sortColumn.sortDirection); } @@ -3169,12 +3333,20 @@ abstract class DataGridSource extends DataGridSourceChangeNotifier } else { _effectiveRows = rows; } + + // Should refresh filtering when the filterConditions is not empty. + if (_dataGridStateDetails != null && + _dataGridStateDetails!().dataGridFilterHelper != null && + _filterConditions.isNotEmpty) { + _dataGridStateDetails!().dataGridFilterHelper!.applyFilter(); + } + // Should refresh sorting when the data grid source is updated. performSorting(_effectiveRows); - /// Helps to update the sorted collection in _paginatedRows - /// by call the DataPagerDelegate.handlePageChange after sorting. - _updateDataPagerOnSorting(); + /// Helps to update the sorted or filtered collection in _paginatedRows + /// by call the DataPagerDelegate.handlePageChange after sorting or filtering. + _updateDataPager(); } /// Call this method when you are adding the [SortColumnDetails] @@ -3245,6 +3417,146 @@ abstract class DataGridSource extends DataGridSourceChangeNotifier @protected Future handleRefresh() async {} + /// Call this method to add the [FilterCondition] programmatically. + /// + /// ```dart + /// @override + /// Widget build(BuildContext context) { + /// return Column( + /// children: [ + /// Expanded( + /// child: SfDataGrid(source: _employeeDataSource, columns: [ + /// GridColumn(columnName: 'id', label: Text('ID')), + /// GridColumn(columnName: 'name', label: Text('Name')), + /// GridColumn(columnName: 'designation', label: Text('Designation')), + /// GridColumn(columnName: 'salary', label: Text('Salary')), + /// ]), + /// ), + /// MaterialButton( + /// child: Text('Add Filter'), + /// onPressed: () { + /// _employeeDataSource.addFilter('id', + /// FilterCondition(type: FilterType.greaterThan, value: 1005)); + /// }), + /// ], + /// ); + /// } + /// ``` + void addFilter(String columnName, FilterCondition filterCondition) { + final List conditions = [ + if (_filterConditions.containsKey(columnName)) + ..._filterConditions[columnName]!, + filterCondition + ]; + + _filterConditions[columnName] = conditions; + + if (_dataGridStateDetails != null) { + _refreshFilter(_dataGridStateDetails!()); + } + } + + /// Remove the [FilterCondition] from the given column. + /// + /// ```dart + /// @override + /// Widget build(BuildContext context) { + /// return Column( + /// children: [ + /// Expanded( + /// child: SfDataGrid(source: _employeeDataSource, columns: [ + /// GridColumn(columnName: 'id', label: Text('ID')), + /// GridColumn(columnName: 'name', label: Text('Name')), + /// GridColumn(columnName: 'designation', label: Text('Designation')), + /// GridColumn(columnName: 'salary', label: Text('Salary')), + /// ]), + /// ), + /// MaterialButton( + /// child: Text('Remove Filter'), + /// onPressed: () { + /// _employeeDataSource.removeFilter('name', + /// FilterCondition(type: FilterType.equals, value: 'James')); + /// }), + /// ], + /// ); + /// } + /// ``` + void removeFilter(String columnName, FilterCondition filterCondition) { + if (!_filterConditions.containsKey(columnName) || + !_filterConditions[columnName]!.contains(filterCondition)) { + return; + } + + final List conditions = _filterConditions[columnName]! + ..remove(filterCondition); + + if (conditions.isEmpty) { + _filterConditions.remove(columnName); + } else { + _filterConditions[columnName] = conditions; + } + + if (_dataGridStateDetails != null) { + _refreshFilter(_dataGridStateDetails!()); + } + } + + /// Clear the [FilterCondition] from a given column or clear all the filter + /// conditions from all the columns. + /// + /// Pass the required [columnName] to remove the filter conditions from the + /// specific column. + /// + /// ```dart + /// @override + /// Widget build(BuildContext context) { + /// return Column( + /// children: [ + /// Expanded( + /// child: SfDataGrid(source: _employeeDataSource, columns: [ + /// GridColumn(columnName: 'id', label: Text('ID')), + /// GridColumn(columnName: 'name', label: Text('Name')), + /// GridColumn(columnName: 'designation', label: Text('Designation')), + /// GridColumn(columnName: 'salary', label: Text('Salary')), + /// ]), + /// ), + /// MaterialButton( + /// child: Text('Clear Filters'), + /// onPressed: () { + /// _employeeDataSource.clearFilters(); + /// }), + /// ], + /// ); + /// } + /// ``` + void clearFilters({String? columnName}) { + if (_filterConditions.isNotEmpty) { + if (columnName != null && _filterConditions.containsKey(columnName)) { + _filterConditions.remove(columnName); + if (_dataGridStateDetails != null) { + _refreshFilter(_dataGridStateDetails!()); + } + } else if (columnName == null) { + _filterConditions.clear(); + if (_dataGridStateDetails != null) { + _refreshFilter(_dataGridStateDetails!()); + } + } + } + } + + void _refreshFilter(DataGridConfiguration dataGridConfiguration) { + if (dataGridConfiguration.currentCell.isEditing) { + dataGridConfiguration.currentCell + .onCellSubmit(dataGridConfiguration, canRefresh: false); + } + + _updateDataSource(); + + notifyDataGridPropertyChangeListeners(dataGridConfiguration.source, + propertyName: 'Filtering'); + } + /// Called to obtain the widget when a cell is moved into edit mode. /// /// The following example shows how to override this method and return the @@ -3470,10 +3782,26 @@ abstract class DataGridSource extends DataGridSourceChangeNotifier } } +/// Refreshes the effective rows based on the given `filterRows`. +void refreshEffectiveRows(DataGridSource source, List filterRows) { + source._effectiveRows = filterRows; +} + +/// Apply sorting to the given rows. It is used to invoke the +/// `DataGridSource.performSorting` method internally. +void performSorting(DataGridSource source, List rows) { + source.performSorting(rows); +} + +/// Helps to refresh the data pager. +void updateDataPager(DataGridSource source) { + source._updateDataPager(); +} + /// Controls a [SfDataGrid] widget. /// -/// This can be used to control the selection and currentcell operations such -/// as programmatically select a row or rows, move the currentcell to +/// This can be used to control the selection and current-cell operations such +/// as programmatically select a row or rows, move the current-cell to /// required position. /// /// DataGrid controllers are typically stored as member variables in [State] @@ -3590,7 +3918,7 @@ class DataGridController extends DataGridSourceChangeNotifier { RowColumnIndex get currentCell => _currentCell; RowColumnIndex _currentCell = RowColumnIndex.empty; - /// Moves the currentcell to the specified cell coordinates. + /// Moves the current-cell to the specified cell coordinates. void moveCurrentCellTo(RowColumnIndex rowColumnIndex) { if (_dataGridStateDetails != null) { final DataGridConfiguration dataGridConfiguration = @@ -3968,6 +4296,17 @@ List getChildColumnIndexes(StackedHeaderCell stackedHeaderCell) { return stackedHeaderCell._childColumnIndexes; } +/// Call this method to add the [FilterCondition] in the UI filtering. +void addFilterConditions(DataGridSource source, String columnName, + List conditions) { + source._filterConditions[columnName] = conditions; +} + +/// Call this method to remove the [FilterCondition] in the UI filtering. +void removeFilterConditions(DataGridSource source, String columnName) { + source._filterConditions.remove(columnName); +} + /// ToDo class DataGridThemeHelper { /// ToDo @@ -4007,6 +4346,12 @@ class DataGridThemeHelper { fontSize: 14, color: colorScheme!.onSurface.withOpacity(0.87)); sortIcon = dataGridThemeData.sortIcon; + filterIcon = dataGridThemeData.filterIcon; + filterIconColor = dataGridThemeData.filterIconColor; + filterIconHoverColor = dataGridThemeData.filterIconHoverColor; + sortOrderNumberColor = dataGridThemeData.sortOrderNumberColor; + sortOrderNumberBackgroundColor = + dataGridThemeData.sortOrderNumberBackgroundColor; } ///ToDo @@ -4069,4 +4414,79 @@ class DataGridThemeHelper { /// To do late Widget? sortIcon; + + /// The icon to indicate the filtering applied in column. + /// + /// If you want to change the icon filter or filtered state, you can use the [Builder] + /// widget and return the respective icon for the state. You have to return + /// the icons for both the states even if you want to change the icon + /// for specific state. + /// + /// ```dart + /// @override + /// Widget build(BuildContext context) { + /// return Scaffold( + /// appBar: AppBar( + /// title: const Text('Syncfusion Flutter DataGrid', + /// overflow: TextOverflow.ellipsis), + /// ), + /// body: SfDataGridTheme( + /// data: SfDataGridThemeData(filterIcon: Builder( + /// builder: (context) { + /// Widget? icon; + /// String columnName = ''; + /// context.visitAncestorElements((element) { + /// if (element is GridHeaderCellElement) { + /// columnName = element.column.columnName; + /// } + /// return true; + /// }); + /// var column = _employeeDataSource.filterConditions.keys + /// .where((element) => element == columnName) + /// .firstOrNull; + + /// if (column != null) { + /// icon = const Icon( + /// Icons.filter_alt_outlined, + /// size: 20, + /// color: Colors.purple, + /// ); + /// } + /// return icon ?? + /// const Icon( + /// Icons.filter_alt_off_outlined, + /// size: 20, + /// color: Colors.deepOrange, + /// ); + /// }, + /// )), + /// child: SfDataGrid( + /// source: _employeeDataSource, + /// allowFiltering: true, + /// allowSorting: true, + /// columns: getColumns(), + /// ), + /// ), + /// ); + /// } + /// ``` + late Widget? filterIcon; + + /// The color of the filter icon which indicates whether the column is filtered or not. + /// + /// This is not applicable when `filterIcon` property is set. + /// This applies the color to default filter icon only. + late Color? filterIconColor; + + /// The color for the filter icon when a pointer is hovering over it. + /// + /// This is not applicable when `filterIcon` property is set. + /// This applies the color to default filter icon only. + late Color? filterIconHoverColor; + + /// The color of the number displayed when the order of the sorting is shown. + late Color? sortOrderNumberColor; + + /// Creates a copy of this theme but with the given fields replaced with the new values. + late Color? sortOrderNumberBackgroundColor; } diff --git a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/widgets/cell_widget.dart b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/widgets/cell_widget.dart index affd238dd..0ba269bce 100644 --- a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/widgets/cell_widget.dart +++ b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/widgets/cell_widget.dart @@ -4,6 +4,8 @@ import 'dart:ui'; import 'package:collection/collection.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:syncfusion_flutter_core/localizations.dart'; import '../../grid_common/row_column_index.dart'; import '../helper/callbackargs.dart'; @@ -212,6 +214,21 @@ class GridHeaderCell extends StatefulWidget { @override State createState() => _GridHeaderCellState(); + + @override + GridHeaderCellElement createElement() { + return GridHeaderCellElement(this, dataCell.gridColumn!); + } +} + +/// An instantiation of a [GridHeaderCell] widget at a particular location in the tree. +class GridHeaderCellElement extends StatefulElement { + /// Creates the [GridHeaderCellElement] for [GridHeaderCell] widget. + GridHeaderCellElement(GridHeaderCell gridHeaderCell, this.column) + : super(gridHeaderCell); + + /// A GridColumn which displays in the header cells. + final GridColumn column; } class _GridHeaderCellState extends State { @@ -324,15 +341,9 @@ class _GridHeaderCellState extends State { final GridColumn? column = widget.dataCell.gridColumn; Widget checkHeaderCellConstraints(Widget child) { - final double iconWidth = - getSortIconWidth(dataGridConfiguration.columnSizer, column!); return LayoutBuilder( builder: (BuildContext context, BoxConstraints constraints) { - if (_sortDirection == null || constraints.maxWidth < iconWidth) { - return child; - } else { - return _getCellWithSortIcon(child); - } + return _buildHeaderCell(child, _sortDirection, constraints.maxWidth); }); } @@ -375,13 +386,12 @@ class _GridHeaderCellState extends State { final int sortNumber = dataGridConfiguration.source.sortedColumns.indexOf(sortColumn) + 1; _sortDirection = sortColumn.sortDirection; - _sortIconColor = - dataGridConfiguration.dataGridThemeHelper!.sortIconColor; - _sortIcon = dataGridConfiguration.dataGridThemeHelper!.sortIcon; - _sortNumberBackgroundColor = + _sortNumberBackgroundColor = dataGridConfiguration + .dataGridThemeHelper!.sortOrderNumberBackgroundColor ?? dataGridConfiguration.colorScheme!.onSurface.withOpacity(0.12); _sortNumberTextColor = - dataGridConfiguration.colorScheme!.onSurface.withOpacity(0.87); + dataGridConfiguration.dataGridThemeHelper!.sortOrderNumberColor ?? + dataGridConfiguration.colorScheme!.onSurface.withOpacity(0.87); if (dataGridConfiguration.source.sortedColumns.length > 1 && dataGridConfiguration.showSortNumbers) { _sortNumber = sortNumber; @@ -395,28 +405,76 @@ class _GridHeaderCellState extends State { } } - Widget _getCellWithSortIcon(Widget child) { - final List children = []; + Widget _buildHeaderCell(Widget child, DataGridSortDirection? sortDirection, + double availableWidth) { + final DataGridConfiguration dataGridConfiguration = dataGridStateDetails(); + final GridColumn gridColumn = widget.dataCell.gridColumn!; + final bool isSortedColumn = dataGridConfiguration.source.sortedColumns.any( + (SortColumnDetails element) => element.name == gridColumn.columnName); + + if ((isSortedColumn || + (gridColumn.allowSorting && dataGridConfiguration.allowSorting)) || + (gridColumn.allowFiltering && dataGridConfiguration.allowFiltering)) { + final double sortIconWidth = + getSortIconWidth(dataGridConfiguration.columnSizer, gridColumn); + final double filterIconWidth = + getFilterIconWidth(dataGridConfiguration.columnSizer, gridColumn); + + if ((sortIconWidth > 0 && sortIconWidth < availableWidth) || + (filterIconWidth > 0 && filterIconWidth < availableWidth)) { + final List children = []; + + if (sortIconWidth > 0 && + availableWidth > sortIconWidth + filterIconWidth) { + _sortIconColor = + dataGridConfiguration.dataGridThemeHelper!.sortIconColor; + _sortIcon = dataGridConfiguration.dataGridThemeHelper!.sortIcon; + + if (_sortDirection != null) { + if (_sortIcon == null || _sortIcon is Icon) { + children.add(_SortIcon( + sortDirection: _sortDirection!, + sortIconColor: _sortIconColor, + sortIcon: _sortIcon)); + } else { + if (sortDirection == DataGridSortDirection.ascending) { + children.add(_BuilderSortIconAscending(sortIcon: _sortIcon)); + } else if (sortDirection == DataGridSortDirection.descending) { + children.add(_BuilderSortIconDescending(sortIcon: _sortIcon)); + } + } + if (_sortNumber != -1) { + children.add(_getSortNumber()); + } + } else if (gridColumn.allowSorting && + dataGridConfiguration.allowSorting) { + const IconData unsortIconData = IconData(0xe700, + fontFamily: 'UnsortIcon', + fontPackage: 'syncfusion_flutter_datagrid'); + + children.add(_sortIcon ?? + Icon(unsortIconData, color: _sortIconColor, size: 16)); + } + } - children.add(_SortIcon( - sortDirection: _sortDirection!, - sortIconColor: _sortIconColor, - sortIcon: _sortIcon, - )); + if (filterIconWidth > 0 && availableWidth > filterIconWidth) { + children.add(_FilterIcon( + dataGridConfiguration: dataGridConfiguration, + column: gridColumn)); + } - if (_sortNumber != -1) { - children.add(_getSortNumber()); + return Row(children: [ + Flexible( + child: Container(child: child), + ), + Container( + padding: dataGridConfiguration.columnSizer.iconsOuterPadding, + child: Center(child: Row(children: children)), + ) + ]); + } } - - return Row(children: [ - Flexible( - child: Container(child: child), - ), - Container( - padding: const EdgeInsets.only(left: 4.0, right: 4.0), - child: Center(child: Row(children: children)), - ) - ]); + return child; } Widget _getSortNumber() { @@ -533,6 +591,28 @@ class _GridHeaderCellState extends State { } } +class _BuilderSortIconAscending extends StatelessWidget { + const _BuilderSortIconAscending({required this.sortIcon}); + + final Widget? sortIcon; + + @override + Widget build(BuildContext context) { + return sortIcon!; + } +} + +class _BuilderSortIconDescending extends StatelessWidget { + const _BuilderSortIconDescending({required this.sortIcon}); + + final Widget? sortIcon; + + @override + Widget build(BuildContext context) { + return sortIcon!; + } +} + class _SortIcon extends StatefulWidget { const _SortIcon( {required this.sortDirection, @@ -596,6 +676,1313 @@ class _SortIconState extends State<_SortIcon> } } +class _FilterIcon extends StatelessWidget { + const _FilterIcon( + {Key? key, required this.column, required this.dataGridConfiguration}) + : super(key: key); + + final GridColumn column; + final DataGridConfiguration dataGridConfiguration; + + void onHandleTap(TapUpDetails details, BuildContext context) { + if (dataGridConfiguration.isDesktop) { + // The `showMenu` displays the popup view relative to the topmost of the + // material app. If using more than one material app in the parent of the + // data grid, it will be laid out based on the top most material apps' + // global position. So, it will be displayed in the wrong position. Since + // the overlay is the parent of every material app widget, we resolved + // the issue by converting the global to local position of the current + // overlay and used that new offset to display the show menu. + final RenderBox renderBox = + Overlay.of(context)!.context.findRenderObject()! as RenderBox; + final Offset newOffset = renderBox.globalToLocal(details.globalPosition); + final Size viewSize = renderBox.size; + showMenu( + context: context, + color: + dataGridConfiguration.colorScheme!.brightness == Brightness.light + ? const Color(0xFFFAFAFA) + : const Color(0xFF303030), + constraints: const BoxConstraints(maxWidth: 274.0), + position: RelativeRect.fromSize(newOffset & Size.zero, viewSize), + items: >[ + _FilterPopupMenuItem( + column: column, dataGridConfiguration: dataGridConfiguration), + ]); + } else { + Navigator.push<_FilterPopup>( + context, + MaterialPageRoute<_FilterPopup>( + builder: (BuildContext context) => _FilterPopup( + column: column, + dataGridConfiguration: dataGridConfiguration))); + } + } + + @override + Widget build(BuildContext context) { + bool isHovered = false; + final bool isFiltered = dataGridConfiguration.source.filterConditions + .containsKey(column.columnName); + + return GestureDetector( + onTapUp: (TapUpDetails details) => onHandleTap(details, context), + child: Padding( + padding: column.filterIconPadding, + child: StatefulBuilder( + builder: (BuildContext context, StateSetter setState) { + return MouseRegion( + onEnter: (_) { + setState(() { + isHovered = true; + }); + }, + onExit: (_) { + setState(() { + isHovered = false; + }); + }, + child: isFiltered + ? _FilteredIcon( + iconColor: isHovered + ? (dataGridConfiguration + .dataGridThemeHelper!.filterIconHoverColor ?? + dataGridConfiguration.colorScheme!.onSurface + .withOpacity(0.87)) + : (dataGridConfiguration + .dataGridThemeHelper!.filterIconColor ?? + dataGridConfiguration + .dataGridFilterHelper!.iconColor), + filterIcon: + dataGridConfiguration.dataGridThemeHelper!.filterIcon, + gridColumnName: column.columnName, + ) + : _UnfilteredIcon( + iconColor: isHovered + ? (dataGridConfiguration + .dataGridThemeHelper!.filterIconHoverColor ?? + dataGridConfiguration.colorScheme!.onSurface + .withOpacity(0.87)) + : (dataGridConfiguration + .dataGridThemeHelper!.filterIconColor ?? + dataGridConfiguration + .dataGridFilterHelper!.iconColor), + filterIcon: + dataGridConfiguration.dataGridThemeHelper!.filterIcon, + gridColumnName: column.columnName, + ), + ); + }), + ), + ); + } +} + +class _UnfilteredIcon extends StatelessWidget { + const _UnfilteredIcon( + {Key? key, + required this.iconColor, + required this.filterIcon, + required this.gridColumnName}) + : super(key: key); + + final Color iconColor; + final Widget? filterIcon; + final String? gridColumnName; + + @override + Widget build(BuildContext context) { + return filterIcon ?? + Icon( + const IconData(0xe702, + fontFamily: 'FilterIcon', + fontPackage: 'syncfusion_flutter_datagrid'), + size: 18.0, + color: iconColor, + key: ValueKey( + 'datagrid_filtering_${gridColumnName}_filterIcon'), + ); + } +} + +class _FilteredIcon extends StatelessWidget { + const _FilteredIcon( + {Key? key, + required this.iconColor, + required this.filterIcon, + required this.gridColumnName}) + : super(key: key); + + final Color iconColor; + final Widget? filterIcon; + final String? gridColumnName; + + @override + Widget build(BuildContext context) { + return filterIcon ?? + Icon( + const IconData(0xe704, + fontFamily: 'FilterIcon', + fontPackage: 'syncfusion_flutter_datagrid'), + size: 18.0, + color: iconColor, + key: ValueKey( + 'datagrid_filtering_${gridColumnName}_filterIcon'), + ); + } +} + +class _FilterPopupMenuItem extends PopupMenuItem { + const _FilterPopupMenuItem( + {required this.column, required this.dataGridConfiguration}) + : super(child: null); + + final GridColumn column; + + final DataGridConfiguration dataGridConfiguration; + @override + _FilterPopupMenuItemState createState() => _FilterPopupMenuItemState(); +} + +class _FilterPopupMenuItemState + extends PopupMenuItemState> { + @override + Widget build(BuildContext context) { + return _FilterPopup( + column: widget.column, + dataGridConfiguration: widget.dataGridConfiguration); + } +} + +class _FilterPopup extends StatefulWidget { + const _FilterPopup( + {Key? key, required this.column, required this.dataGridConfiguration}) + : super(key: key); + + final GridColumn column; + + final DataGridConfiguration dataGridConfiguration; + + @override + _FilterPopupState createState() => _FilterPopupState(); +} + +class _FilterPopupState extends State<_FilterPopup> { + late bool isMobile; + + late bool isAdvancedFilter; + + late DataGridFilterHelper filterHelper; + + @override + void initState() { + super.initState(); + _initializeFilterProperties(); + filterHelper.isFilterPopupMenuShowing = true; + } + + @override + Widget build(BuildContext context) { + return Visibility( + visible: isMobile, + replacement: Material( + child: _buildPopupView(), + ), + child: SafeArea( + child: Theme( + data: + ThemeData(colorScheme: widget.dataGridConfiguration.colorScheme), + child: Scaffold( + appBar: buildAppBar(context), + resizeToAvoidBottomInset: true, + body: _buildPopupView(), + ), + ), + ), + ); + } + + @override + void dispose() { + filterHelper.isFilterPopupMenuShowing = false; + super.dispose(); + } + + @override + void deactivate() { + filterHelper.isFilterPopupMenuShowing = false; + super.deactivate(); + } + + void _initializeFilterProperties() { + isMobile = !widget.dataGridConfiguration.isDesktop; + filterHelper = widget.dataGridConfiguration.dataGridFilterHelper!; + filterHelper.filterFrom = filterHelper.getFilterForm(widget.column); + isAdvancedFilter = filterHelper.filterFrom == FilteredFrom.advancedFilter; + filterHelper.checkboxFilterHelper.textController.clear(); + + // Need to end edit the curent cell to commit the cell value before showing + // the filtering popup menu. + filterHelper.endEdit(); + + final DataGridAdvancedFilterHelper advancedFilterHelper = + filterHelper.advancedFilterHelper; + final List? filterConditions = widget.dataGridConfiguration + .source.filterConditions[widget.column.columnName]; + + if (filterConditions == null) { + filterHelper.setFilterFrom(widget.column, FilteredFrom.none); + } + + /// Initializes the data grid source for filtering. + filterHelper.setDataGridSource(widget.column); + + // Need to initialize the filter values before set the values. + advancedFilterHelper + ..setAdvancedFilterType(widget.dataGridConfiguration, widget.column) + ..generateFilterTypeItems(widget.column); + + /// Initializes the advanced filter properties. + if (filterConditions != null && isAdvancedFilter) { + advancedFilterHelper.setAdvancedFilterValues( + widget.dataGridConfiguration, filterConditions, filterHelper); + } else { + advancedFilterHelper + .resetAdvancedFiterValues(widget.dataGridConfiguration); + } + } + + PreferredSize buildAppBar(BuildContext context) { + return PreferredSize( + preferredSize: const Size.fromHeight(52.0), + child: AppBar( + elevation: 0.0, + bottom: PreferredSize( + preferredSize: const Size.fromHeight(1.0), + child: Container(height: 1.0, color: filterHelper.borderColor)), + backgroundColor: filterHelper.backgroundColor, + leading: IconButton( + key: const ValueKey('datagrid_filtering_cancelFilter_icon'), + onPressed: closePage, + icon: Icon(Icons.close, size: 22.0, color: filterHelper.iconColor)), + centerTitle: false, + titleSpacing: 0, + title: Text( + widget.dataGridConfiguration.localizations + .sortAndFilterDataGridFilteringLabel, + style: filterHelper.textStyle), + actions: [ + IconButton( + key: const ValueKey('datagrid_filtering_applyFilter_icon'), + onPressed: canDisableOkButton() ? null : onHandleOkButtonTap, + icon: Icon(Icons.check, + size: 22.0, + color: canDisableOkButton() + ? widget.dataGridConfiguration.colorScheme!.onSurface + .withOpacity(0.38) + : filterHelper.primaryColor), + ), + ], + ), + ); + } + + Widget _buildPopupView() { + final Color iconColor = filterHelper.iconColor; + final AdvancedFilterType filterType = + filterHelper.advancedFilterHelper.advancedFilterType; + final SfLocalizations localizations = + widget.dataGridConfiguration.localizations; + final bool isSortAscendingEnabled = + canEnableSortButton(DataGridSortDirection.ascending); + final bool isSortDescendingEnabled = + canEnableSortButton(DataGridSortDirection.descending); + final bool isClearFilterEnabled = hasFilterConditions(); + const FilterPopupMenuOptions filterPopupMenuOptions = + FilterPopupMenuOptions(); + bool isCheckboxFilterEnabled = + filterPopupMenuOptions.filterMode == FilterMode.checkboxFilter; + bool isAdvancedFilterEnabled = + filterPopupMenuOptions.filterMode == FilterMode.advancedFilter; + bool isBothFilterEnabled = + filterPopupMenuOptions.filterMode == FilterMode.both; + bool canShowSortingOptions = filterPopupMenuOptions.canShowSortingOptions; + bool canShowClearFilterOption = + filterPopupMenuOptions.canShowClearFilterOption; + bool showColumnName = filterPopupMenuOptions.showColumnName; + double advanceFilterTopPadding = 12; + + if (widget.column.filterPopupMenuOptions != null) { + isCheckboxFilterEnabled = + widget.column.filterPopupMenuOptions!.filterMode == + FilterMode.checkboxFilter; + isAdvancedFilterEnabled = + widget.column.filterPopupMenuOptions!.filterMode == + FilterMode.advancedFilter; + isBothFilterEnabled = + widget.column.filterPopupMenuOptions!.filterMode == FilterMode.both; + canShowSortingOptions = + widget.column.filterPopupMenuOptions!.canShowSortingOptions; + canShowClearFilterOption = + widget.column.filterPopupMenuOptions!.canShowClearFilterOption; + showColumnName = widget.column.filterPopupMenuOptions!.showColumnName; + } + + Widget buildPopup({Size? viewSize}) { + return SingleChildScrollView( + key: const ValueKey('datagrid_filtering_scrollView'), + child: Container( + width: isMobile ? null : 274.0, + color: filterHelper.backgroundColor, + child: Column( + children: [ + if (canShowSortingOptions) + _FilterPopupMenuTile( + style: isSortAscendingEnabled + ? filterHelper.textStyle + : filterHelper.disableTextStyle, + height: filterHelper.tileHeight, + prefix: Icon( + const IconData(0xe700, + fontFamily: 'FilterIcon', + fontPackage: 'syncfusion_flutter_datagrid'), + color: isSortAscendingEnabled + ? iconColor + : filterHelper.disableIconColor), + prefixPadding: + const EdgeInsets.only(left: 4.0, right: 14.0), + onTap: isSortAscendingEnabled + ? onHandleSortAscendingTap + : null, + child: Text(grid_helper.getSortButtonText( + localizations, true, filterType))), + if (canShowSortingOptions) + _FilterPopupMenuTile( + style: isSortDescendingEnabled + ? filterHelper.textStyle + : filterHelper.disableTextStyle, + height: filterHelper.tileHeight, + prefix: Icon( + const IconData(0xe701, + fontFamily: 'FilterIcon', + fontPackage: 'syncfusion_flutter_datagrid'), + color: isSortDescendingEnabled + ? iconColor + : filterHelper.disableIconColor), + prefixPadding: const EdgeInsets.only(left: 4.0, right: 14.0), + onTap: isSortDescendingEnabled + ? onHandleSortDescendingTap + : null, + child: Text(grid_helper.getSortButtonText( + localizations, false, filterType)), + ), + if (canShowSortingOptions) + const Divider(indent: 8.0, endIndent: 8.0), + if (canShowClearFilterOption) + _FilterPopupMenuTile( + style: isClearFilterEnabled + ? filterHelper.textStyle + : filterHelper.disableTextStyle, + height: filterHelper.tileHeight, + prefix: Icon( + const IconData(0xe703, + fontFamily: 'FilterIcon', + fontPackage: 'syncfusion_flutter_datagrid'), + size: 22.0, + color: isClearFilterEnabled + ? iconColor + : filterHelper.disableIconColor), + prefixPadding: const EdgeInsets.only(left: 4.0, right: 14.0), + onTap: isClearFilterEnabled ? onHandleClearFilterTap : null, + child: Text(getClearFilterText(localizations, showColumnName), + overflow: TextOverflow.ellipsis), + ), + if (isAdvancedFilterEnabled) + _AdvancedFilterPopupMenu( + setState: setState, + dataGridConfiguration: widget.dataGridConfiguration, + advanceFilterTopPadding: advanceFilterTopPadding, + ), + if (isBothFilterEnabled) + _FilterPopupMenuTile( + style: filterHelper.textStyle, + height: filterHelper.tileHeight, + onTap: onHandleExpansionTileTap, + prefix: Icon( + filterHelper.getFilterForm(widget.column) == + FilteredFrom.advancedFilter + ? const IconData(0xe704, + fontFamily: 'FilterIcon', + fontPackage: 'syncfusion_flutter_datagrid') + : const IconData(0xe702, + fontFamily: 'FilterIcon', + fontPackage: 'syncfusion_flutter_datagrid'), + size: 20.0, + color: iconColor), + suffix: Icon( + isAdvancedFilter + ? Icons.keyboard_arrow_down + : Icons.keyboard_arrow_right, + size: 20.0, + color: iconColor), + prefixPadding: const EdgeInsets.only(left: 4.0, right: 14.0), + child: Text( + grid_helper.getFilterTileText(localizations, filterType)), + ), + if (isCheckboxFilterEnabled || isBothFilterEnabled) + Visibility( + visible: isAdvancedFilter, + replacement: _CheckboxFilterMenu( + column: widget.column, + setState: setState, + viewSize: viewSize, + dataGridConfiguration: widget.dataGridConfiguration, + ), + child: _AdvancedFilterPopupMenu( + setState: setState, + dataGridConfiguration: widget.dataGridConfiguration, + advanceFilterTopPadding: advanceFilterTopPadding, + ), + ), + if (!isMobile) const Divider(height: 10), + if (!isMobile) + Padding( + padding: const EdgeInsets.symmetric(vertical: 6.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + SizedBox( + width: 120.0, + height: 32.0, + child: ElevatedButton( + onPressed: canDisableOkButton() + ? null + : onHandleOkButtonTap, + child: Text(localizations.okDataGridFilteringLabel, + style: + const TextStyle(color: Color(0xFFFFFFFF)))), + ), + SizedBox( + width: 120.0, + height: 32.0, + child: OutlinedButton( + onPressed: closePage, + child: Text( + localizations.cancelDataGridFilteringLabel, + style: + TextStyle(color: filterHelper.primaryColor), + )), + ), + ], + ), + ) + ], + ), + ), + ); + } + + if (isAdvancedFilterEnabled) { + isAdvancedFilter = true; + } + if (isAdvancedFilterEnabled && + !canShowClearFilterOption && + !canShowSortingOptions) { + advanceFilterTopPadding = 6; + } + + if (isMobile) { + return LayoutBuilder( + builder: (BuildContext context, BoxConstraints constrainsts) => + buildPopup(viewSize: constrainsts.biggest)); + } else { + return buildPopup(); + } + } + + void onHandleSortAscendingTap() { + if (widget.dataGridConfiguration.allowSorting) { + filterHelper.onSortButtonClick( + widget.column, DataGridSortDirection.ascending); + } + Navigator.pop(context); + } + + void onHandleSortDescendingTap() { + if (widget.dataGridConfiguration.allowSorting) { + filterHelper.onSortButtonClick( + widget.column, DataGridSortDirection.descending); + } + Navigator.pop(context); + } + + void onHandleClearFilterTap() { + filterHelper.onClearFilterButtonClick(widget.column); + Navigator.pop(context); + } + + void onHandleExpansionTileTap() { + setState(() { + isAdvancedFilter = !isAdvancedFilter; + }); + } + + void onHandleOkButtonTap() { + filterHelper.createFilterConditions(!isAdvancedFilter, widget.column); + Navigator.pop(context); + } + + void closePage() { + Navigator.pop(context); + } + + bool hasFilterConditions() { + return widget.dataGridConfiguration.source.filterConditions + .containsKey(widget.column.columnName); + } + + bool canDisableOkButton() { + if (isAdvancedFilter) { + final DataGridAdvancedFilterHelper helper = + filterHelper.advancedFilterHelper; + return (helper.filterValue1 == null && helper.filterValue2 == null) && + !helper.disableFilterTypes.contains(helper.filterType1) && + !helper.disableFilterTypes.contains(helper.filterType2); + } else { + final bool? isSelectAllChecked = + filterHelper.checkboxFilterHelper.isSelectAllChecked; + return (isSelectAllChecked != null && !isSelectAllChecked) || + filterHelper.checkboxFilterHelper.items.isEmpty; + } + } + + bool canEnableSortButton(DataGridSortDirection sortDirection) { + final DataGridConfiguration configuration = widget.dataGridConfiguration; + if (configuration.allowSorting && widget.column.allowSorting) { + return configuration.source.sortedColumns.isEmpty || + !configuration.source.sortedColumns.any((SortColumnDetails column) => + column.name == widget.column.columnName && + column.sortDirection == sortDirection); + } + return false; + } + + String getClearFilterText(SfLocalizations localization, bool showColumnName) { + if (showColumnName) { + return '${localization.clearFilterDataGridFilteringLabel} ${localization.fromDataGridFilteringLabel} "${widget.column.columnName}"'; + } else { + return localization.clearFilterDataGridFilteringLabel; + } + } +} + +class _FilterPopupMenuTile extends StatelessWidget { + const _FilterPopupMenuTile( + {Key? key, + required this.child, + this.onTap, + this.prefix, + this.suffix, + this.height, + required this.style, + this.prefixPadding = EdgeInsets.zero}) + : super(key: key); + + final Widget child; + + final Widget? prefix; + + final Widget? suffix; + + final double? height; + + final TextStyle style; + + final VoidCallback? onTap; + + final EdgeInsets prefixPadding; + + @override + Widget build(BuildContext context) { + return SizedBox( + height: height ?? 40.0, + child: MaterialButton( + onPressed: onTap, + child: Row( + children: [ + Padding( + padding: prefixPadding, + child: SizedBox( + width: 24.0, + height: 24.0, + child: prefix, + ), + ), + Expanded( + child: DefaultTextStyle(style: style, child: child), + ), + if (suffix != null) SizedBox(width: 40.0, child: suffix) + ], + ), + ), + ); + } +} + +class _FilterMenuDropdown extends StatelessWidget { + const _FilterMenuDropdown( + {required this.child, + required this.padding, + required this.height, + this.suffix, + Key? key}) + : super(key: key); + + final Widget child; + + final Widget? suffix; + + final double height; + + final EdgeInsets padding; + + @override + Widget build(BuildContext context) { + return Padding( + padding: padding, + child: SizedBox( + height: height, + child: Row( + children: [ + Expanded( + child: child, + ), + if (suffix != null) + Padding( + padding: const EdgeInsets.only(left: 10), + child: suffix, + ) + ], + ), + ), + ); + } +} + +class _CheckboxFilterMenu extends StatelessWidget { + _CheckboxFilterMenu( + {Key? key, + required this.setState, + required this.column, + required this.viewSize, + required this.dataGridConfiguration}) + : super(key: key); + + final StateSetter setState; + + final DataGridConfiguration dataGridConfiguration; + + final GridColumn column; + + final Size? viewSize; + + final FocusNode checkboxFocusNode = FocusNode(skipTraversal: true); + + bool get isMobile { + return !dataGridConfiguration.isDesktop; + } + + DataGridCheckboxFilterHelper get filterHelper { + return dataGridConfiguration.dataGridFilterHelper!.checkboxFilterHelper; + } + + @override + Widget build(BuildContext context) { + final Color onSurface = dataGridConfiguration.colorScheme!.onSurface; + + return Column( + children: [ + _buildSearchBox(onSurface, context), + _buildCheckboxListView(context), + ], + ); + } + + Widget _buildCheckboxListView(BuildContext context) { + final DataGridFilterHelper helper = + dataGridConfiguration.dataGridFilterHelper!; + + // 340.0 it's a occupied height in the current view by the other widgets. + double occupiedHeight = 340.0; + + // Need to set the Checkbox Filter height in the mobile platform + // based on the options enabled in the Filter popup menu + if (column.filterPopupMenuOptions != null && isMobile) { + if (!column.filterPopupMenuOptions!.canShowSortingOptions) { + // 16.0 is the height of the divider shown below the sorting options + occupiedHeight -= (helper.tileHeight * 2) + 16.0; + } + if (!column.filterPopupMenuOptions!.canShowClearFilterOption) { + occupiedHeight -= helper.tileHeight; + } + if (column.filterPopupMenuOptions!.filterMode == + FilterMode.checkboxFilter) { + occupiedHeight -= helper.tileHeight; + } + } + + // Gets the remaining height of the current view to fill the checkbox + // listview in the mobile platform. + final double checkboxHeight = + isMobile ? max(viewSize!.height - occupiedHeight, 120.0) : 200.0; + final double selectAllButtonHeight = isMobile ? 48.0 : 40.0; + + return Padding( + padding: const EdgeInsets.only(left: 4.0), + child: Visibility( + visible: filterHelper.items.isNotEmpty, + replacement: SizedBox( + height: checkboxHeight + selectAllButtonHeight, + child: Center( + child: Text(dataGridConfiguration + .localizations.noMatchesDataGridFilteringLabel)), + ), + child: CheckboxTheme( + data: CheckboxThemeData( + side: BorderSide( + width: 2.0, + color: dataGridConfiguration.colorScheme!.onSurface + .withOpacity(0.6)), + fillColor: MaterialStateProperty.resolveWith( + (_) => helper.primaryColor)), + child: Column( + children: [ + _FilterPopupMenuTile( + style: helper.textStyle, + height: selectAllButtonHeight, + prefixPadding: const EdgeInsets.only(left: 4.0, right: 10.0), + prefix: Checkbox( + focusNode: checkboxFocusNode, + tristate: filterHelper.isSelectAllInTriState, + value: filterHelper.isSelectAllChecked, + onChanged: (_) => onHandleSelectAllCheckboxTap(), + ), + onTap: onHandleSelectAllCheckboxTap, + child: Text(dataGridConfiguration + .localizations.selectAllDataGridFilteringLabel), + ), + SizedBox( + height: checkboxHeight, + child: ListView.builder( + key: const ValueKey( + 'datagrid_filtering_checkbox_listView'), + prototypeItem: buildCheckboxTile( + filterHelper.items.length - 1, helper.textStyle), + itemCount: filterHelper.items.length, + itemBuilder: (BuildContext context, int index) => + buildCheckboxTile(index, helper.textStyle)!), + ), + ], + ), + ), + ), + ); + } + + Widget _buildSearchBox(Color onSurface, BuildContext context) { + final DataGridFilterHelper helper = + dataGridConfiguration.dataGridFilterHelper!; + + void onSearchboxSubmitted(String value) { + if (filterHelper.items.isNotEmpty) { + helper.createFilterConditions(true, column); + Navigator.pop(context); + } else { + filterHelper.searchboxFocusNode.requestFocus(); + } + } + + return Padding( + padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 12), + child: SizedBox( + height: isMobile ? 52.0 : 36.0, + child: TextField( + key: const ValueKey('datagrid_filtering_search_textfield'), + focusNode: filterHelper.searchboxFocusNode, + controller: filterHelper.textController, + onChanged: onHandleSearchTextFieldChanged, + onSubmitted: onSearchboxSubmitted, + decoration: InputDecoration( + enabledBorder: OutlineInputBorder( + borderSide: BorderSide(color: helper.borderColor)), + suffixIcon: Visibility( + visible: filterHelper.textController.text.isEmpty, + replacement: IconButton( + key: const ValueKey( + 'datagrid_filtering_clearSearch_icon'), + iconSize: 22.0, + padding: EdgeInsets.zero, + constraints: const BoxConstraints.tightFor( + width: 22.0, height: 22.0), + onPressed: () { + filterHelper.textController.clear(); + onHandleSearchTextFieldChanged(''); + }, + icon: Icon(Icons.close, color: helper.iconColor)), + child: + Icon(Icons.search, size: 22.0, color: helper.iconColor)), + contentPadding: isMobile + ? const EdgeInsets.all(16.0) + : const EdgeInsets.all(8.0), + border: const OutlineInputBorder(), + hintStyle: const TextStyle(fontSize: 14.0), + hintText: dataGridConfiguration + .localizations.searchDataGridFilteringLabel), + ), + ), + ); + } + + Widget? buildCheckboxTile(int index, TextStyle style) { + if (filterHelper.items.isNotEmpty) { + final FilterElement element = filterHelper.items[index]; + final String displayText = dataGridConfiguration.dataGridFilterHelper! + .getDisplayValue(element.value); + return _FilterPopupMenuTile( + style: style, + height: isMobile ? 48.0 : 40.0, + prefixPadding: const EdgeInsets.only(left: 4.0, right: 10.0), + prefix: Checkbox( + focusNode: checkboxFocusNode, + value: element.isSelected, + onChanged: (_) => onHandleCheckboxTap(element)), + onTap: () => onHandleCheckboxTap(element), + child: Text(displayText, overflow: TextOverflow.ellipsis)); + } + return null; + } + + void onHandleCheckboxTap(FilterElement element) { + element.isSelected = !element.isSelected; + filterHelper.ensureSelectAllCheckboxState(); + setState(() {}); + } + + void onHandleSelectAllCheckboxTap() { + final bool useSelected = filterHelper.isSelectAllInTriState || + (filterHelper.isSelectAllChecked != null && + filterHelper.isSelectAllChecked!); + for (final FilterElement item in filterHelper.filterCheckboxItems) { + item.isSelected = !useSelected; + } + + filterHelper.ensureSelectAllCheckboxState(); + setState(() {}); + } + + void onHandleSearchTextFieldChanged(String value) { + filterHelper.onSearchTextFieldTextChanged(value); + setState(() {}); + } +} + +class _AdvancedFilterPopupMenu extends StatelessWidget { + const _AdvancedFilterPopupMenu( + {Key? key, + required this.setState, + required this.dataGridConfiguration, + required this.advanceFilterTopPadding}) + : super(key: key); + + final StateSetter setState; + + final DataGridConfiguration dataGridConfiguration; + + final double advanceFilterTopPadding; + + bool get isMobile { + return !dataGridConfiguration.isDesktop; + } + + DataGridAdvancedFilterHelper get filterHelper { + return dataGridConfiguration.dataGridFilterHelper!.advancedFilterHelper; + } + + @override + Widget build(BuildContext context) { + final DataGridFilterHelper helper = + dataGridConfiguration.dataGridFilterHelper!; + + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 12.0), + child: Column( + children: [ + _FilterMenuDropdown( + height: 16.0, + padding: EdgeInsets.only(top: advanceFilterTopPadding, bottom: 8.0), + child: Text( + '${dataGridConfiguration.localizations.showRowsWhereDataGridFilteringLabel}:', + style: TextStyle( + color: helper.textColor, fontWeight: FontWeight.bold)), + ), + _FilterMenuDropdown( + height: isMobile ? 56.0 : 36.0, + padding: const EdgeInsets.only(top: 8.0), + child: _buildFilterTypeDropdown(isFirstButton: true), + ), + _FilterMenuDropdown( + height: isMobile ? 56.0 : 36.0, + padding: const EdgeInsets.only(top: 8.0, bottom: 16.0), + suffix: _getTrailingWidget(context, true), + child: _buildFilterValueDropdown(isTopButton: true), + ), + _buildRadioButtons(), + _FilterMenuDropdown( + height: isMobile ? 56.0 : 36.0, + padding: const EdgeInsets.only(top: 16.0, bottom: 8.0), + child: _buildFilterTypeDropdown(isFirstButton: false), + ), + _FilterMenuDropdown( + height: isMobile ? 56.0 : 36.0, + padding: const EdgeInsets.only(bottom: 8.0), + suffix: _getTrailingWidget(context, false), + child: _buildFilterValueDropdown(isTopButton: false), + ), + ], + ), + ); + } + + Widget _buildRadioButtons() { + final DataGridFilterHelper helper = + dataGridConfiguration.dataGridFilterHelper!; + final SfLocalizations localizations = dataGridConfiguration.localizations; + + void handleChanged(bool? value) { + setState(() { + filterHelper.isOrPredicate = !filterHelper.isOrPredicate; + }); + } + + return Row( + children: [ + Row(children: [ + SizedBox.fromSize( + size: const Size(24.0, 24.0), + child: Radio( + key: const ValueKey('datagrid_filtering_and_button'), + value: false, + activeColor: helper.primaryColor, + onChanged: handleChanged, + groupValue: filterHelper.isOrPredicate), + ), + const SizedBox(width: 8.0), + Text(localizations.andDataGridFilteringLabel), + ]), + const SizedBox(width: 16.0), + Row(children: [ + SizedBox.fromSize( + size: const Size(24.0, 24.0), + child: Radio( + key: const ValueKey('datagrid_filtering_or_button'), + value: true, + activeColor: helper.primaryColor, + onChanged: handleChanged, + groupValue: filterHelper.isOrPredicate), + ), + const SizedBox(width: 8.0), + Text(localizations.orDataGridFilteringLabel), + ]), + ], + ); + } + + Widget _buildFilterValueDropdown({required bool isTopButton}) { + final DataGridFilterHelper helper = + dataGridConfiguration.dataGridFilterHelper!; + + void setValue(Object? value) { + if (isTopButton) { + filterHelper.filterValue1 = value; + } else { + filterHelper.filterValue2 = value; + } + setState(() {}); + } + + TextInputType getTextInputType() { + if (filterHelper.advancedFilterType == AdvancedFilterType.text) { + return TextInputType.text; + } + return TextInputType.number; + } + + List? getInputFormatters() { + if (filterHelper.advancedFilterType == AdvancedFilterType.date) { + return [ + FilteringTextInputFormatter.allow(RegExp(r'[0-9-]')), + ]; + } else if (filterHelper.advancedFilterType == + AdvancedFilterType.numeric) { + return [ + FilteringTextInputFormatter.allow(RegExp(r'[0-9.]')), + ]; + } + return null; + } + + Widget buildDropdownFormField() { + return DropdownButtonHideUnderline( + child: DropdownButtonFormField( + key: isTopButton + ? const ValueKey( + 'datagrid_filtering_filterValue_first_button') + : const ValueKey( + 'datagrid_filtering_filterValue_second_button'), + decoration: InputDecoration( + enabledBorder: OutlineInputBorder( + borderSide: BorderSide(color: helper.borderColor)), + contentPadding: + const EdgeInsets.symmetric(vertical: 8.0, horizontal: 12.0), + border: OutlineInputBorder( + borderSide: BorderSide(color: helper.borderColor))), + icon: Icon(Icons.keyboard_arrow_down, + size: 22.0, color: helper.iconColor), + isExpanded: true, + value: isTopButton + ? filterHelper.filterValue1 + : filterHelper.filterValue2, + style: TextStyle(fontSize: 14.0, color: helper.textColor), + items: filterHelper.items + .map>((FilterElement value) => + DropdownMenuItem( + value: value.value, + child: Text(helper.getDisplayValue(value.value)))) + .toList(), + onChanged: enableDropdownButton(isTopButton) ? setValue : null, + ), + ); + } + + Widget buildTextField() { + return TextField( + key: isTopButton + ? const ValueKey( + 'datagrid_filtering_filterValue_first_button') + : const ValueKey( + 'datagrid_filtering_filterValue_second_button'), + controller: isTopButton + ? filterHelper.firstValueTextController + : filterHelper.secondValueTextController, + maxLengthEnforcement: MaxLengthEnforcement.enforced, + keyboardType: getTextInputType(), + inputFormatters: getInputFormatters(), + onChanged: (String? value) { + value = value != null && value.isEmpty ? null : value; + setValue(helper.getActualValue(value)); + }, + decoration: InputDecoration( + enabledBorder: OutlineInputBorder( + borderSide: BorderSide(color: helper.borderColor)), + contentPadding: isMobile + ? const EdgeInsets.all(16.0) + : const EdgeInsets.all(8.0), + border: const OutlineInputBorder(), + hintStyle: const TextStyle(fontSize: 14.0)), + ); + } + + return canBuildTextField(isTopButton) + ? buildTextField() + : buildDropdownFormField(); + } + + Widget _buildFilterTypeDropdown({required bool isFirstButton}) { + final DataGridFilterHelper helper = + dataGridConfiguration.dataGridFilterHelper!; + + void handleChanged(String? value) { + if (isFirstButton) { + filterHelper.filterType1 = value; + } else { + filterHelper.filterType2 = value; + } + + // Need to set the filter values to null if the type is null or empty. + if (filterHelper.disableFilterTypes.contains(value)) { + if (isFirstButton) { + filterHelper.filterValue1 = null; + } else { + filterHelper.filterValue2 = null; + } + } + + // Need to set the current filter value to the controller's text to retains + // the same value in the text field itself. + if (filterHelper.textFieldFilterTypes.contains(value)) { + if (isFirstButton) { + filterHelper.firstValueTextController.text = + helper.getDisplayValue(filterHelper.filterValue1); + } else { + filterHelper.secondValueTextController.text = + helper.getDisplayValue(filterHelper.filterValue2); + } + } else { + // Need to set the filter values to null if that value doesn't exist in + // the data source when the filter type switching from the text field to + // dropdown. + bool isInValidText(Object? filterValue) => !filterHelper.items + .any((FilterElement element) => element.value == filterValue); + if (isFirstButton) { + if (isInValidText(filterHelper.filterValue1)) { + filterHelper.filterValue1 = null; + } + } else { + if (isInValidText(filterHelper.filterValue2)) { + filterHelper.filterValue2 = null; + } + } + } + setState(() {}); + } + + return DropdownButtonHideUnderline( + child: DropdownButtonFormField( + key: isFirstButton + ? const ValueKey( + 'datagrid_filtering_filterType_first_button') + : const ValueKey( + 'datagrid_filtering_filterType_second_button'), + decoration: InputDecoration( + enabledBorder: OutlineInputBorder( + borderSide: BorderSide(color: helper.borderColor)), + contentPadding: + const EdgeInsets.symmetric(vertical: 8.0, horizontal: 12.0), + border: OutlineInputBorder( + borderSide: BorderSide(color: helper.borderColor))), + icon: Icon(Icons.keyboard_arrow_down, + size: 22.0, color: helper.iconColor), + value: + isFirstButton ? filterHelper.filterType1 : filterHelper.filterType2, + style: TextStyle(fontSize: 14.0, color: helper.textColor), + items: filterHelper.filterTypeItems + .map>((String value) => + DropdownMenuItem(value: value, child: Text(value))) + .toList(), + onChanged: handleChanged, + ), + ); + } + + Widget? _getTrailingWidget(BuildContext context, bool isFirstButton) { + final DataGridFilterHelper helper = + dataGridConfiguration.dataGridFilterHelper!; + + if (filterHelper.advancedFilterType == AdvancedFilterType.numeric) { + return null; + } + + Future handleDatePickerTap() async { + DateTime? selectedDate = await showDatePicker( + context: context, + initialDate: filterHelper.items.first.value as DateTime, + firstDate: filterHelper.items.first.value as DateTime, + lastDate: filterHelper.items.last.value as DateTime, + helpText: 'Select a date', + ); + + // Need to return if user presses the cancel button to close the data picker view. + if (selectedDate == null) { + return; + } + + final bool isVaildDate = filterHelper.items + .any((FilterElement element) => element.value == selectedDate); + final String? filterType = + isFirstButton ? filterHelper.filterType1 : filterHelper.filterType2; + final bool isValidType = filterType != null && + filterHelper.textFieldFilterTypes.contains(filterType); + selectedDate = isVaildDate || isValidType ? selectedDate : null; + + setState(() { + final String newValue = helper.getDisplayValue(selectedDate); + if (isFirstButton) { + filterHelper.filterValue1 = selectedDate; + filterHelper.firstValueTextController.text = newValue; + } else { + filterHelper.filterValue2 = selectedDate; + filterHelper.secondValueTextController.text = newValue; + } + }); + } + + void handleCaseSensitiveTap() { + setState(() { + if (isFirstButton) { + filterHelper.isCaseSensitive1 = !filterHelper.isCaseSensitive1; + } else { + filterHelper.isCaseSensitive2 = !filterHelper.isCaseSensitive2; + } + }); + } + + Color getColor() { + final bool isSelected = isFirstButton + ? filterHelper.isCaseSensitive1 + : filterHelper.isCaseSensitive2; + return isSelected ? helper.primaryColor : helper.iconColor; + } + + bool canEnableButton() { + final String? value = + isFirstButton ? filterHelper.filterType1 : filterHelper.filterType2; + return value != null && !filterHelper.disableFilterTypes.contains(value); + } + + if (filterHelper.advancedFilterType == AdvancedFilterType.text) { + const IconData caseSensitiveIcon = IconData(0xe705, + fontFamily: 'FilterIcon', fontPackage: 'syncfusion_flutter_datagrid'); + return IconButton( + key: isFirstButton + ? const ValueKey( + 'datagrid_filtering_case_sensitive_first_button') + : const ValueKey( + 'datagrid_filtering_case_sensitive_second_button'), + iconSize: 22.0, + splashRadius: 20.0, + padding: EdgeInsets.zero, + constraints: const BoxConstraints.tightFor(width: 22.0, height: 22.0), + onPressed: canEnableButton() ? handleCaseSensitiveTap : null, + icon: Icon(caseSensitiveIcon, size: 22.0, color: getColor())); + } else { + return IconButton( + iconSize: 22.0, + splashRadius: 20.0, + padding: EdgeInsets.zero, + constraints: const BoxConstraints.tightFor(width: 22.0, height: 22.0), + onPressed: canEnableButton() ? handleDatePickerTap : null, + icon: Icon(Icons.calendar_today_outlined, + size: 22.0, + color: dataGridConfiguration.colorScheme!.onSurface + .withOpacity(0.6))); + } + } + + bool enableDropdownButton(bool isTopButton) { + return !filterHelper.disableFilterTypes.contains( + isTopButton ? filterHelper.filterType1 : filterHelper.filterType2); + } + + bool canBuildTextField(bool isTopButton) { + final String filterType = + isTopButton ? filterHelper.filterType1! : filterHelper.filterType2!; + if (filterHelper.textFieldFilterTypes.contains(filterType)) { + return true; + } + return false; + } +} + BorderDirectional _getCellBorder( DataGridConfiguration dataGridConfiguration, DataCellBase dataCell) { final Color borderColor = @@ -612,6 +1999,8 @@ BorderDirectional _getCellBorder( final bool isHeaderCell = dataCell.cellType == CellType.headerCell; final bool isTableSummaryCell = dataCell.cellType == CellType.tableSummaryCell; + final bool isRowCell = dataCell.cellType == CellType.gridCell; + final bool isCheckboxCell = dataCell.cellType == CellType.checkboxCell; // To skip bottom border for the top data row of the starting row of bottom table // summary rows and draw top border for the bottom summary start row instead. @@ -657,6 +2046,30 @@ BorderDirectional _getCellBorder( !isTableSummaryCell && !isHeaderCell; + final GridColumn firstVisibleColumn = dataGridConfiguration.columns + .firstWhere((GridColumn column) => column.visible && column.width != 0.0); + + final GridColumn column = dataCell.gridColumn!; + + // To draw the top outer border for the DataGrid. + final bool canDrawGridTopOuterBorder = rowIndex == 0 && + dataGridConfiguration.headerGridLinesVisibility != + GridLinesVisibility.none; + + // To draw the left outer border for the DataGrid Headers. + final bool canDrawGridHeaderLeftOuterBorder = + (isHeaderCell || isStackedHeaderCell) && + dataGridConfiguration.headerGridLinesVisibility != + GridLinesVisibility.none && + column.columnName == firstVisibleColumn.columnName; + + // To draw the left outer border for the DataGrid Rows. + final bool canDrawGridRowsLeftOuterBorder = (isRowCell || + isTableSummaryCell || + isCheckboxCell) && + dataGridConfiguration.gridLinesVisibility != GridLinesVisibility.none && + column.columnName == firstVisibleColumn.columnName; + // Frozen column and row checking final bool canDrawBottomFrozenBorder = dataGridConfiguration.frozenRowsCount.isFinite && @@ -690,18 +2103,22 @@ BorderDirectional _getCellBorder( final double frozenPaneLineWidth = dataGridConfiguration.dataGridThemeHelper!.frozenPaneLineWidth; - BorderSide _getLeftBorder() { + BorderSide getLeftBorder() { if ((columnIndex == 0 && (canDrawVerticalBorder || canDrawHeaderVerticalBorder)) || - canDrawLeftFrozenBorder) { + canDrawLeftFrozenBorder || + canDrawGridHeaderLeftOuterBorder || + canDrawGridRowsLeftOuterBorder) { if (canDrawLeftFrozenBorder && !isStackedHeaderCell && !isFrozenPaneElevationApplied) { return BorderSide( width: frozenPaneLineWidth, color: frozenPaneLineColor); - } else if (columnIndex > 0 && - ((canDrawVerticalBorder || canDrawHeaderVerticalBorder) && - !canDrawLeftFrozenBorder)) { + } else if ((columnIndex > 0 && + ((canDrawVerticalBorder || canDrawHeaderVerticalBorder) && + !canDrawLeftFrozenBorder)) || + (canDrawGridRowsLeftOuterBorder || + canDrawGridHeaderLeftOuterBorder)) { return BorderSide(width: borderWidth, color: borderColor); } else { return BorderSide.none; @@ -711,18 +2128,20 @@ BorderDirectional _getCellBorder( } } - BorderSide _getTopBorder() { + BorderSide getTopBorder() { if ((rowIndex == 0 && (canDrawHorizontalBorder || canDrawHeaderHorizontalBorder)) || canDrawTopFrozenBorder || - canDrawStartBottomSummaryRowTopBorder) { + canDrawStartBottomSummaryRowTopBorder || + canDrawGridTopOuterBorder) { if (canDrawTopFrozenBorder && !isStackedHeaderCell && !isFrozenPaneElevationApplied) { return BorderSide( width: frozenPaneLineWidth, color: frozenPaneLineColor); - } else if (canDrawHorizontalBorder && - canDrawStartBottomSummaryRowTopBorder) { + } else if ((canDrawHorizontalBorder && + canDrawStartBottomSummaryRowTopBorder) || + canDrawGridTopOuterBorder) { return BorderSide(width: borderWidth, color: borderColor); } else { return BorderSide.none; @@ -732,7 +2151,7 @@ BorderDirectional _getCellBorder( } } - BorderSide _getRightBorder() { + BorderSide getRightBorder() { if (canDrawVerticalBorder || canDrawHeaderVerticalBorder || canDrawRightFrozenBorder) { @@ -752,7 +2171,7 @@ BorderDirectional _getCellBorder( } } - BorderSide _getBottomBorder() { + BorderSide getBottomBorder() { if (canDrawHorizontalBorder || canDrawHeaderHorizontalBorder || canDrawBottomFrozenBorder) { @@ -772,10 +2191,10 @@ BorderDirectional _getCellBorder( } return BorderDirectional( - start: _getLeftBorder(), - top: _getTopBorder(), - end: _getRightBorder(), - bottom: _getBottomBorder(), + start: getLeftBorder(), + top: getTopBorder(), + end: getRightBorder(), + bottom: getBottomBorder(), ); } diff --git a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/widgets/rendering_widget.dart b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/widgets/rendering_widget.dart index b030baaba..d3a7c041d 100644 --- a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/widgets/rendering_widget.dart +++ b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/widgets/rendering_widget.dart @@ -93,6 +93,12 @@ class RenderVisualContainer extends RenderBox _isDirty = isDirty, _dataGridStateDetails = dataGridStateDetails! { addAll(children); + _gestureArenaTeam = GestureArenaTeam(); + _panGestureRecognizer = PanGestureRecognizer() + ..team = _gestureArenaTeam + ..onStart = ((DragStartDetails details) {}) + ..dragStartBehavior = DragStartBehavior.down; + _gestureArenaTeam.captain = _panGestureRecognizer; } /// Decides whether the visual container needs to be refreshed or not. @@ -124,6 +130,9 @@ class RenderVisualContainer extends RenderBox final DataGridStateDetails _dataGridStateDetails; + late PanGestureRecognizer _panGestureRecognizer; + late GestureArenaTeam _gestureArenaTeam; + @override bool get isRepaintBoundary => true; @@ -135,6 +144,25 @@ class RenderVisualContainer extends RenderBox } } + // Issue: + // FLUT-6822 - ScrollView is scrolled at sample level when swiping the row in DataGrid. + // + // Fix: + // An issue occurred because the Datagrid could not handle the drag gesture + // while swiping since we set `NeverScrollableScrollPhysics` to the Datagrid. + // So, that is handled by the parent widget which is added to the Datagrid and + // it scrolls the Datagrid while swiping. Now we controlled the drag gesture to the parent + // by using the `_panGestureRecognizer` and `_gestureArenaTeam`. By setting + // `_gestureArenaTeam.captain` as `_panGestureRecognizer` to handling the onDragStart. + @override + void handleEvent(PointerEvent event, BoxHitTestEntry entry) { + super.handleEvent(event, entry); + final DataGridConfiguration dataGridConfiguration = _dataGridStateDetails(); + if (dataGridConfiguration.allowSwiping && event is PointerDownEvent) { + _panGestureRecognizer.addPointer(event); + } + } + @override bool hitTestChildren(BoxHitTestResult result, {required Offset position}) { RenderBox? child = lastChild; @@ -972,7 +1000,7 @@ class RenderVirtualizingCellsWidget extends RenderBox void _handleSwipeEnd( PointerUpEvent event, DataGridConfiguration dataGridConfiguration) { - void _onSwipeEnd() { + void onSwipeEnd() { if (dataGridConfiguration.onSwipeEnd != null) { final int rowIndex = grid_helper.resolveToRecordIndex( dataGridConfiguration, dataRow.rowIndex); @@ -997,10 +1025,10 @@ class RenderVirtualizingCellsWidget extends RenderBox dataGridConfiguration.swipingOffset >= 0 ? maxOffset : -maxOffset; dataGridConfiguration.swipingAnimationController! .forward() - .then((_) => _onSwipeEnd()); + .then((_) => onSwipeEnd()); } else { dataGridConfiguration.swipingAnimationController!.reverse().then((_) { - _onSwipeEnd(); + onSwipeEnd(); dataGridConfiguration.container.resetSwipeOffset(swipedRow: dataRow); }); } @@ -1064,7 +1092,7 @@ class RenderVirtualizingCellsWidget extends RenderBox @override void performLayout() { - void _layout( + void layout( {required RenderBox child, required double width, required double height}) { @@ -1086,7 +1114,7 @@ class RenderVirtualizingCellsWidget extends RenderBox ..width = columnRect.width ..height = columnRect.height ..cellClipRect = child._cellClipRect; - _layout( + layout( child: child, width: parentData.width, height: parentData.height); parentData.offset = Offset(columnRect.left, columnRect.top); } else { @@ -1104,7 +1132,7 @@ class RenderVirtualizingCellsWidget extends RenderBox ..width = cellRect.width ..height = cellRect.height ..offset = Offset(cellRect.left, cellRect.top); - _layout( + layout( child: child, width: parentData.width, height: parentData.height); } else { size = constraints.constrain(Size.zero); diff --git a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/widgets/scrollview_widget.dart b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/widgets/scrollview_widget.dart index 46b99ad8f..f5e1bf98e 100644 --- a/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/widgets/scrollview_widget.dart +++ b/packages/syncfusion_flutter_datagrid/lib/src/datagrid_widget/widgets/scrollview_widget.dart @@ -318,7 +318,7 @@ class _ScrollViewWidgetState extends State { ? _width : max(_width, _container.extentWidth); - List _buildHeaderRows() { + List buildHeaderRows() { final List headerRows = []; // Adds stacked header rows @@ -384,7 +384,7 @@ class _ScrollViewWidgetState extends State { } if (rowGenerator.items.isNotEmpty) { - final List headerRows = _buildHeaderRows(); + final List headerRows = buildHeaderRows(); for (int i = 0; i < headerRows.length; i++) { final VisibleLineInfo? lineInfo = _container.scrollRows.getVisibleLineAtLineIndex(i); @@ -488,11 +488,12 @@ class _ScrollViewWidgetState extends State { effectiveRows(dataGridConfiguration.source).isEmpty) { return; } - final Color frozenLineColorWithOpacity = - dataGridConfiguration.colorScheme!.onSurface.withOpacity(0.38); final Color frozenLineColorWithoutOpacity = - dataGridConfiguration.colorScheme!.onSurface.withOpacity(0.14); + dataGridThemeHelper.frozenPaneLineColor; + + final Color frozenLineColorWithOpacity = + dataGridThemeHelper.frozenPaneLineColor.withOpacity(0.14); void drawElevation({ EdgeInsets? margin, @@ -583,7 +584,7 @@ class _ScrollViewWidgetState extends State { !_canDisableHorizontalScrolling(dataGridConfiguration)) { double spreadRadiusValue = 1.5; double blurRadiusValue = 0.0; - Color frozenLineColor = frozenLineColorWithOpacity; + Color frozenLineColor = frozenLineColorWithoutOpacity; final double top = getTopPosition(columnHeaderRow, frozenColumnIndex); final double left = columnHeaderRow.getColumnWidth( 0, dataGridConfiguration.frozenColumnsCount - 1); @@ -592,7 +593,7 @@ class _ScrollViewWidgetState extends State { spreadRadiusValue = 3.0; blurRadiusValue = dataGridConfiguration.dataGridThemeHelper!.frozenPaneElevation; - frozenLineColor = frozenLineColorWithoutOpacity; + frozenLineColor = frozenLineColorWithOpacity; } if (dataGridConfiguration.textDirection == TextDirection.rtl && dataGridConfiguration.horizontalScrollController!.hasClients && @@ -602,7 +603,7 @@ class _ScrollViewWidgetState extends State { spreadRadiusValue = 3.0; blurRadiusValue = dataGridConfiguration.dataGridThemeHelper!.frozenPaneElevation; - frozenLineColor = frozenLineColorWithoutOpacity; + frozenLineColor = frozenLineColorWithOpacity; } drawElevation( @@ -624,7 +625,7 @@ class _ScrollViewWidgetState extends State { double spreadRadiusValue = 3.0; double blurRadiusValue = dataGridConfiguration.dataGridThemeHelper!.frozenPaneElevation; - Color frozenLineColor = frozenLineColorWithoutOpacity; + Color frozenLineColor = frozenLineColorWithOpacity; final double top = getTopPosition(columnHeaderRow, footerFrozenColumnIndex); final double right = columnHeaderRow.getColumnWidth( @@ -636,13 +637,13 @@ class _ScrollViewWidgetState extends State { dataGridConfiguration.container.horizontalOffset) { spreadRadiusValue = 1.5; blurRadiusValue = 0.0; - frozenLineColor = frozenLineColorWithOpacity; + frozenLineColor = frozenLineColorWithoutOpacity; } if (dataGridConfiguration.textDirection == TextDirection.rtl && dataGridConfiguration.container.horizontalOffset == 0) { spreadRadiusValue = 1.5; blurRadiusValue = 0.0; - frozenLineColor = frozenLineColorWithOpacity; + frozenLineColor = frozenLineColorWithoutOpacity; } drawElevation( @@ -663,14 +664,14 @@ class _ScrollViewWidgetState extends State { !_canDisableVerticalScrolling(dataGridConfiguration)) { double spreadRadiusValue = 1.5; double blurRadiusValue = 0.0; - Color frozenLineColor = frozenLineColorWithOpacity; + Color frozenLineColor = frozenLineColorWithoutOpacity; final double top = columnHeaderRow.getRowHeight(0, frozenRowIndex); if (dataGridConfiguration.container.verticalOffset > 0) { spreadRadiusValue = 3.0; blurRadiusValue = dataGridConfiguration.dataGridThemeHelper!.frozenPaneElevation; - frozenLineColor = frozenLineColorWithoutOpacity; + frozenLineColor = frozenLineColorWithOpacity; } drawElevation( @@ -690,17 +691,18 @@ class _ScrollViewWidgetState extends State { double spreadRadiusValue = 3.0; double blurRadiusValue = dataGridConfiguration.dataGridThemeHelper!.frozenPaneElevation; - Color frozenLineColor = frozenLineColorWithoutOpacity; + Color frozenLineColor = frozenLineColorWithOpacity; final double bottom = columnHeaderRow.getRowHeight( footerFrozenRowIndex, dataGridConfiguration.container.rowCount); if (dataGridConfiguration.verticalScrollController!.hasClients && dataGridConfiguration - .verticalScrollController!.position.maxScrollExtent == - dataGridConfiguration.container.verticalOffset) { + .verticalScrollController!.position.maxScrollExtent + .ceilToDouble() == + dataGridConfiguration.container.verticalOffset.ceilToDouble()) { spreadRadiusValue = 1.5; blurRadiusValue = 0.0; - frozenLineColor = frozenLineColorWithOpacity; + frozenLineColor = frozenLineColorWithoutOpacity; } drawElevation( @@ -1045,7 +1047,7 @@ class _ScrollViewWidgetState extends State { _container.isDirty = false; _isScrolling = false; - Widget _addContainer() { + Widget addContainer() { return Container( height: _height, width: _width, @@ -1082,8 +1084,8 @@ class _ScrollViewWidgetState extends State { ? Focus( focusNode: _dataGridFocusNode, onKey: _handleKeyOperation, - child: _addContainer()) - : _addContainer(); + child: addContainer()) + : addContainer(); } @override diff --git a/packages/syncfusion_flutter_datagrid/lib/src/datapager/sfdatapager.dart b/packages/syncfusion_flutter_datagrid/lib/src/datapager/sfdatapager.dart index 90437e266..bfdd3e72e 100644 --- a/packages/syncfusion_flutter_datagrid/lib/src/datapager/sfdatapager.dart +++ b/packages/syncfusion_flutter_datagrid/lib/src/datapager/sfdatapager.dart @@ -438,10 +438,13 @@ class SfDataPagerState extends State { bool _isPregenerateItems = false; bool _isDesktop = false; - // Checks whether the `SfDataPager` is rebuild by `addPostFrameCallback` or - // not. This flag is used to ignore the unnecessary rebuild of data pager in - // between that time through the `notifyListner`. - bool _hasPostFrameCallbackBegin = false; + // Checks whether the `SfDataPager` is loading initially or not. + // This flag is used to restrict calling the handlePageChange twice + // at the initial loading + bool _isInitialLoading = true; + + // Checks whether the `Rows Per Page` is changed or not. + bool _isRowsPerPageChanged = false; int? _rowsPerPage; @@ -501,26 +504,8 @@ class SfDataPagerState extends State { _controller = widget.controller ?? DataPagerController() ..addListener(_handleDataPagerControlPropertyChanged); _addDelegateListener(); - _onInitialDataPagerLoaded(); - } - - void _onInitialDataPagerLoaded() { - WidgetsBinding.instance.addPostFrameCallback((_) async { - _hasPostFrameCallbackBegin = true; - if (widget.initialPageIndex > 0) { - await _handleDataPagerControlPropertyChanged( - property: 'initialPageIndex'); - } else { - _currentPageIndex = widget.initialPageIndex; - _controller!._selectedPageIndex = _currentPageIndex; - await _handlePageItemTapped(_currentPageIndex); - } - _hasPostFrameCallbackBegin = false; - }); } - // Delegate - void _addDelegateListener() { final Object delegate = widget.delegate; if (delegate is ChangeNotifier) { @@ -545,17 +530,40 @@ class SfDataPagerState extends State { void _handleDataPagerDelegatePropertyChanged() { // Issue: - // FLUT-6395 - `handlePageChange` method is not waited until the Future.delayed value + // FLUT-6628 - `handlePageChange` method is called twice on initial loading // // Fix: - // The `addPostFrameCallback` method won't wait for the futures to complete. So, it is - // called immediately after the initial call of the `handlePageChange` method. As the - // future time interval resets the `_suspendDataPagerUpdate` property before the - // `addPostFrameCallback` call doesn't complete, this method is called recursively by - // `notifyListener`. Hence, We introduced a flag to restrict the unnecessary listens - // until the `addPostFrameCallback` is completed. - if (!_hasPostFrameCallbackBegin && !_suspendDataPagerUpdate) { + // We called the `handlePageChange` method twice in _addDelegateListener and `_onInitialDataPagerLoaded` methods. + // In the `_addDelegateListener` method with `_currentPageIndex` index 0 by default. + // In `_onInitialDataPagerLoaded` method, we called with `initialPageIndex` set in the API. + // Now, we have called both in the `_addDelegateListener` method. + // Hence, we removed the _onInitialDataPagerLoaded method. + // Also, introduced the flag _isInitialLoading to restrict unwanted calling. + if (!_suspendDataPagerUpdate && _isInitialLoading) { + _isInitialLoading = false; + if (widget.initialPageIndex > 0) { + final int index = _resolveToItemIndex(widget.initialPageIndex); + _handlePageItemTapped(index); + WidgetsBinding.instance.addPostFrameCallback((Duration timeStamp) { + final double distance = _getCumulativeSize(index); + _scrollTo(distance, canUpdate: true); + _setCurrentPageIndex(index); + }); + } else { + _handlePageItemTapped(_currentPageIndex); + } + } else if (!_suspendDataPagerUpdate && _isRowsPerPageChanged) { + _isRowsPerPageChanged = false; + _handlePageItemTapped(_currentPageIndex); + WidgetsBinding.instance.addPostFrameCallback((Duration timeStamp) { + final double distance = _getCumulativeSize(_currentPageIndex); + _scrollTo(distance, canUpdate: true); + _setCurrentPageIndex(_currentPageIndex); + }); + } else if (!_suspendDataPagerUpdate) { _handlePageItemTapped(_currentPageIndex); + } else { + return; } } @@ -568,7 +576,18 @@ class SfDataPagerState extends State { } Future _handlePageItemTapped(int index) async { + // Issue: + // FLUT-6759 - `handlePageChange` method is called infinite times when switch between pages so fast + // + // Fix: + // If the user changes the page so fast before the fetch data from API, it calls infinite times. + // We didn't wait in `_handlePageItemTapped` until the `handlePageChange` method completed. + // Now, we have called the _handlePageChange method again after completing the first process. + if (_suspendDataPagerUpdate) { + return; + } _suspendDataPagerUpdate = true; + if (index > widget.pageCount - 1) { index -= 1; } @@ -651,13 +670,10 @@ class SfDataPagerState extends State { } final int index = _resolveToItemIndex(widget.initialPageIndex); - final bool canChangePage = await _canChangePage(index); - if (canChangePage) { - final double distance = _getCumulativeSize(index); - await _scrollTo(distance, canUpdate: true); - _setCurrentPageIndex(index); - } - _raisePageNavigationEnd(canChangePage ? index : _currentPageIndex); + final double distance = _getCumulativeSize(index); + await _scrollTo(distance, canUpdate: true); + _setCurrentPageIndex(index); + _raisePageNavigationEnd(index); break; case 'pageCount': _currentPageIndex = 0; @@ -669,6 +685,7 @@ class SfDataPagerState extends State { if (selectedPageIndex < 0 || selectedPageIndex > _lastPageIndex || selectedPageIndex == _currentPageIndex) { + _suspendDataPagerUpdate = false; return; } final bool canChangePage = await _canChangePage(selectedPageIndex); @@ -961,11 +978,21 @@ class SfDataPagerState extends State { _scrollController!.offset <= _scrollController!.position.minScrollExtent ? 0 : _scrollController!.offset ~/ buttonSize; - final int endIndex = - _scrollController!.offset >= _scrollController!.position.maxScrollExtent - ? _lastPageIndex - : (_scrollController!.offset + _scrollViewPortSize) ~/ buttonSize; + // Issue: + // + // FLUT-6923-SfDataPager is not working properly when updating the pageCount dynamically + // + // Fix: + // We have gotten the page item `endIndex` based on the maxScrollExtent and offset. + // If the pager has below 5-page count then it's not scrollable at initial loading. + // Updating the page index dynamically, the offset and maxScrollExtent have zero as a value. + // So, it satisfied the first condition, takes the end index as the `_lastPageIndex` and generates all the pages. + // Now we removed that unwanted condition to get the last page index. Since we get the last page index + // from the current scroll offset + scrollViewPortSize ~/ buttonSize itself. + // It returns the last visible page index. + final int endIndex = + (_scrollController!.offset + _scrollViewPortSize) ~/ buttonSize; _itemGenerator.ensureItems(startIndex, endIndex); } @@ -1042,7 +1069,7 @@ class SfDataPagerState extends State { pagerItem = widget.pageItemBuilder!(type ?? element!.index.toString()); } - void _setBorder() { + void setBorder() { border = _dataPagerThemeHelper!.itemBorderWidth != null && _dataPagerThemeHelper!.itemBorderWidth! > 0.0 ? Border.all( @@ -1080,9 +1107,34 @@ class SfDataPagerState extends State { ); pagerItemKey = element.key; } + } else { + // Issue: + // + // FLUT-6687-The next and previous buttons are enabled even though + // the current page is the last and the first page respectively. + // + // Fix: + // + // We have applied the disabled and selected Items Color based on the visible and selected properties. + // But, we only update this bool properties when the pagerItem is null. + // So, the visible property is true by default hence the disabled color is not applied. + // Also, the selected item Color is applied only when the pagerItem is null. + // Now, we are updating those properties even though the pagerItem is not null. + + if (element == null) { + visible = !_isNavigatorItemVisible(type!); + itemColor = visible + ? _dataPagerThemeHelper!.itemColor + : _dataPagerThemeHelper!.disabledItemColor; + } else { + final bool isSelected = _checkIsSelectedIndex(element.index); + itemColor = isSelected + ? _dataPagerThemeHelper!.selectedItemColor + : _dataPagerThemeHelper!.itemColor; + } } - _setBorder(); + setBorder(); return SizedBox( key: pagerItemKey, @@ -1222,6 +1274,7 @@ class SfDataPagerState extends State { value: _rowsPerPage, iconSize: 22.0, onChanged: (int? value) { + _isRowsPerPageChanged = true; _rowsPerPage = value; widget.onRowsPerPageChanged!(_rowsPerPage); }, @@ -1381,7 +1434,7 @@ class SfDataPagerState extends State { WidgetsBinding.instance.addPostFrameCallback((_) { _handleScrollPositionChanged(); if (oldPageCount != _pageCount) { - if (_currentPageIndex > _pageCount - 1) { + if (_currentPageIndex >= _pageCount - 1) { _canChangePage(_pageCount - 1); } else { _canChangePage(0); @@ -1472,7 +1525,7 @@ class SfDataPagerState extends State { final bool canEnablePagerLabel = _canEnableDataPagerLabel(constraint); final Widget? dropDown = _buildDropDownWidget(); - double _getRowsPerPageLabelWidth() { + double getRowsPerPageLabelWidth() { if (dropDown != null) { return _rowsPerPageLabelWidth + _dropdownSize.width + 32; } else { @@ -1483,7 +1536,7 @@ class SfDataPagerState extends State { // DataPager final BoxConstraints dataPagerConstraint = BoxConstraints( maxWidth: canEnablePagerLabel - ? _getTotalDataPagerWidth(constraint) - _getRowsPerPageLabelWidth() + ? _getTotalDataPagerWidth(constraint) - getRowsPerPageLabelWidth() : _getTotalDataPagerWidth(constraint), maxHeight: _getTotalDataPagerHeight(constraint)); diff --git a/packages/syncfusion_flutter_datagrid/lib/src/grid_common/line_size_host.dart b/packages/syncfusion_flutter_datagrid/lib/src/grid_common/line_size_host.dart index d1cd33a0e..751a1545a 100644 --- a/packages/syncfusion_flutter_datagrid/lib/src/grid_common/line_size_host.dart +++ b/packages/syncfusion_flutter_datagrid/lib/src/grid_common/line_size_host.dart @@ -680,7 +680,7 @@ class LineSizeCollection extends PaddedEditableLineSizeHostBase for (final RangeValuePair entry in _lineHidden.rangeValues) { final bool entryValue = entry.value as bool; if (entryValue) { - setRange(entry.start, entry.end, 0.0); + _distances!.setRange(entry.start, entry.end, 0.0); } } } @@ -891,7 +891,7 @@ class LineSizeCollection extends PaddedEditableLineSizeHostBase /// the lines. If set to true hide the lines. @override void setHidden(int from, int to, bool hide) { - _lineHidden.setRange(from, to - from + 1, hide); + _lineHidden.setRange(from, to - from + 1, hide, false); if (isSuspendUpdates) { return; @@ -1076,7 +1076,7 @@ class DistancesUtil { final bool hide = hiddenLine[0] as bool; repeatSizeCount = hiddenLine[1] as int; - void _setRange() { + void setRange() { final int rangeTo = getRangeToHelper(n, to, repeatSizeCount); if (hide) { distances.setRange(n, rangeTo, 0.0); @@ -1089,12 +1089,12 @@ class DistancesUtil { if (ndh is NestedDistancesHostBase) { if (ndh.getDistances(n) == null) { - _setRange(); + setRange(); } else { distances.setNestedDistances(n, hide ? null : ndh.getDistances(n)); } } else { - _setRange(); + setRange(); } } } @@ -1110,7 +1110,7 @@ class DistancesUtil { final Object ndh = linesHost; for (int n = from; n <= to; n++) { - void _setRange() { + void setRange() { int repeatSizeCount = -1; final List lineSize = linesHost.getSize(n, repeatSizeCount); final double size = lineSize[0] as double; @@ -1122,12 +1122,12 @@ class DistancesUtil { if (ndh is NestedDistancesHostBase) { if (ndh.getDistances(n) == null) { - _setRange(); + setRange(); } else { distances.setNestedDistances(n, ndh.getDistances(n)); } } else { - _setRange(); + setRange(); } } } diff --git a/packages/syncfusion_flutter_datagrid/lib/src/grid_common/utility_helper.dart b/packages/syncfusion_flutter_datagrid/lib/src/grid_common/utility_helper.dart index 1243ee8c9..ebc2ad255 100644 --- a/packages/syncfusion_flutter_datagrid/lib/src/grid_common/utility_helper.dart +++ b/packages/syncfusion_flutter_datagrid/lib/src/grid_common/utility_helper.dart @@ -337,7 +337,8 @@ class SortedRangeValueList extends EnumerableGenericBase> { /// * index - _required_ - The index for the range to be changed. /// * count - _required_ - The count. /// * value - _required_ - The value. - void setRange(int index, int count, Object value) { + void setRange(int index, int count, Object value, + [bool canMergeLines = true]) { if (index >= this.count && value == defaultValue) { return; } @@ -348,8 +349,22 @@ class SortedRangeValueList extends EnumerableGenericBase> { RangeValuePair.fromRangeValuePair(index, count, value); rangeValues.insert(n.toInt(), rv); merge(n.toInt()); - if (n > 0) { - merge(n.toInt() - 1); + + /// Issue: + /// FLUT-6703 - The widths are not properly set to columns when hiding some + /// columns and using columnWidthMode. + /// + /// Temporary Fix: + /// An issue occurred due to improper internalCount and totalDistance value + /// return from the GridCommon. The below codes affect those properties while + /// hiding the continuous lines in the visible lines collection. The purpose + /// of the below code is to merge the continuous lines to a single range value + /// instead of creating a new range value for each hidden line. As of now, + /// We have fixed the issue by creating a new range value for each hidden line. + if (canMergeLines) { + if (n > 0) { + merge(n.toInt() - 1); + } } } diff --git a/packages/syncfusion_flutter_datagrid/pubspec.yaml b/packages/syncfusion_flutter_datagrid/pubspec.yaml index b2502d858..f06e66ef1 100644 --- a/packages/syncfusion_flutter_datagrid/pubspec.yaml +++ b/packages/syncfusion_flutter_datagrid/pubspec.yaml @@ -1,16 +1,21 @@ name: syncfusion_flutter_datagrid description: The Syncfusion Flutter DataGrid is used to display and manipulate data in a tabular view. Its rich feature set includes different types of columns, selections, column sizing, etc. -version: 20.2.36-beta +version: 18.3.35-beta homepage: https://github.com/syncfusion/flutter-widgets/tree/master/packages/syncfusion_flutter_datagrid environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: sdk: flutter - syncfusion_flutter_core: ^20.2.36 + syncfusion_flutter_core: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-core + path: syncfusion_flutter_core + branch: release/20.4.0.1 + ref: release/20.4.0.1 collection: ">=1.9.0 <=2.0.0" @@ -18,3 +23,13 @@ dev_dependencies: flutter_test: sdk: flutter +flutter: + fonts: + - family: UnsortIcon + fonts: + - asset: assets/font/UnsortIcon.ttf + - family: FilterIcon + fonts: + - asset: assets/font/FilterIcon.ttf + + diff --git a/packages/syncfusion_flutter_datagrid_export/CHANGELOG.md b/packages/syncfusion_flutter_datagrid_export/CHANGELOG.md index d7e173de7..b1ab7d4d2 100644 --- a/packages/syncfusion_flutter_datagrid_export/CHANGELOG.md +++ b/packages/syncfusion_flutter_datagrid_export/CHANGELOG.md @@ -1,4 +1,4 @@ -## Unreleased +## [19.3.43-beta] - 09/30/2021 Intial release. diff --git a/packages/syncfusion_flutter_datagrid_export/README.md b/packages/syncfusion_flutter_datagrid_export/README.md index 53743cbaa..1b9a59e0d 100644 --- a/packages/syncfusion_flutter_datagrid_export/README.md +++ b/packages/syncfusion_flutter_datagrid_export/README.md @@ -22,15 +22,12 @@ Explore the full capabilities of our Flutter widgets on your device by installin

- - + +

- -

-

@@ -191,11 +188,11 @@ Use the `exportToPdfDocument` method from `_key.currentState!` and call this met ## Support and feedback -* If you have any questions, you can contact the [Syncfusion support team](https://www.syncfusion.com/support/directtrac/incidents/newincident) or post them to the [community forums](https://www.syncfusion.com/forums). You can also submit a feature request or a bug report through our [feedback portal](https://www.syncfusion.com/feedback/flutter). +* If you have any questions, you can contact the [Syncfusion support team](https://support.syncfusion.com/support/tickets/create) or post them to the [community forums](https://www.syncfusion.com/forums). You can also submit a feature request or a bug report through our [feedback portal](https://www.syncfusion.com/feedback/flutter). * To renew your subscription, click [renew](https://www.syncfusion.com/sales/products) or contact our sales team at sales@syncfusion.com | Toll Free: 1-888-9 DOTNET. ## About Syncfusion Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 22,000 customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies. -Today, we provide 1,600+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), and [Blazor](https://www.syncfusion.com/blazor-components)) , mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls) and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to- deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file + Today, we provide 1,600+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), [Flutter](https://www.syncfusion.com/flutter-widgets), and [Blazor](https://www.syncfusion.com/blazor-components)) , mobile ([.NET MAUI](https://www.syncfusion.com/maui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([.NET MAUI](https://www.syncfusion.com/maui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [Flutter](https://www.syncfusion.com/flutter-widgets), [WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to- deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file diff --git a/packages/syncfusion_flutter_datagrid_export/example/linux/flutter/generated_plugin_registrant.cc b/packages/syncfusion_flutter_datagrid_export/example/linux/flutter/generated_plugin_registrant.cc index d38195aa0..e71a16d23 100644 --- a/packages/syncfusion_flutter_datagrid_export/example/linux/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_flutter_datagrid_export/example/linux/flutter/generated_plugin_registrant.cc @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" diff --git a/packages/syncfusion_flutter_datagrid_export/example/linux/flutter/generated_plugin_registrant.h b/packages/syncfusion_flutter_datagrid_export/example/linux/flutter/generated_plugin_registrant.h index 9bf747894..e0f0a47bc 100644 --- a/packages/syncfusion_flutter_datagrid_export/example/linux/flutter/generated_plugin_registrant.h +++ b/packages/syncfusion_flutter_datagrid_export/example/linux/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/syncfusion_flutter_datagrid_export/example/linux/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_datagrid_export/example/linux/flutter/generated_plugins.cmake index 51436ae8c..2e1de87a7 100644 --- a/packages/syncfusion_flutter_datagrid_export/example/linux/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_datagrid_export/example/linux/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_datagrid_export/example/pubspec.yaml b/packages/syncfusion_flutter_datagrid_export/example/pubspec.yaml index ba1f2390e..4b975ab4c 100644 --- a/packages/syncfusion_flutter_datagrid_export/example/pubspec.yaml +++ b/packages/syncfusion_flutter_datagrid_export/example/pubspec.yaml @@ -6,7 +6,7 @@ publish_to: "none" version: 1.0.0+1 environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: cupertino_icons: ^1.0.2 diff --git a/packages/syncfusion_flutter_datagrid_export/example/windows/flutter/generated_plugin_registrant.cc b/packages/syncfusion_flutter_datagrid_export/example/windows/flutter/generated_plugin_registrant.cc index 4bfa0f3a3..8b6d4680a 100644 --- a/packages/syncfusion_flutter_datagrid_export/example/windows/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_flutter_datagrid_export/example/windows/flutter/generated_plugin_registrant.cc @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" diff --git a/packages/syncfusion_flutter_datagrid_export/example/windows/flutter/generated_plugin_registrant.h b/packages/syncfusion_flutter_datagrid_export/example/windows/flutter/generated_plugin_registrant.h index 9846246b4..dc139d85a 100644 --- a/packages/syncfusion_flutter_datagrid_export/example/windows/flutter/generated_plugin_registrant.h +++ b/packages/syncfusion_flutter_datagrid_export/example/windows/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/syncfusion_flutter_datagrid_export/example/windows/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_datagrid_export/example/windows/flutter/generated_plugins.cmake index 4d10c2518..b93c4c30c 100644 --- a/packages/syncfusion_flutter_datagrid_export/example/windows/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_datagrid_export/example/windows/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_datagrid_export/pubspec.yaml b/packages/syncfusion_flutter_datagrid_export/pubspec.yaml index 3e38ee3e6..870a5282e 100644 --- a/packages/syncfusion_flutter_datagrid_export/pubspec.yaml +++ b/packages/syncfusion_flutter_datagrid_export/pubspec.yaml @@ -1,21 +1,36 @@ name: syncfusion_flutter_datagrid_export description: The Syncfusion Flutter DataGrid Export library is used to export the DataGrid content to Excel and Pdf format with several customization options. -version: 20.2.36-beta +version: 18.3.35-beta homepage: https://github.com/syncfusion/flutter-widgets/tree/master/packages/syncfusion_flutter_datagrid_export environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" flutter: ">=1.17.0" dependencies: flutter: sdk: flutter - syncfusion_flutter_datagrid: ^20.2.36 + syncfusion_flutter_datagrid: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-datagrid + path: flutter_datagrid/syncfusion_flutter_datagrid + branch: release/20.4.0.1 + ref: release/20.4.0.1 - syncfusion_flutter_xlsio: ^20.2.36 + syncfusion_flutter_xlsio: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-xlsio + path: flutter_xlsio/syncfusion_flutter_xlsio + branch: release/20.4.0.1 + ref: release/20.4.0.1 - syncfusion_flutter_pdf: ^20.2.36 + syncfusion_flutter_pdf: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-pdf + path: flutter_pdf/syncfusion_flutter_pdf + branch: release/20.4.0.1 + ref: release/20.4.0.1 collection: ">=1.9.0 <=2.0.0" diff --git a/packages/syncfusion_flutter_datepicker/README.md b/packages/syncfusion_flutter_datepicker/README.md index 30291c7ec..69a0a7577 100644 --- a/packages/syncfusion_flutter_datepicker/README.md +++ b/packages/syncfusion_flutter_datepicker/README.md @@ -105,15 +105,12 @@ Explore the full capabilities of our Flutter widgets on your device by installin

- - + +

- -

-

@@ -208,11 +205,11 @@ Widget build(BuildContext context) { ## Support and Feedback -* For any other queries, reach our [Syncfusion support team](https://www.syncfusion.com/support/directtrac/incidents/newincident) or post the queries through the [Community forums](https://www.syncfusion.com/forums) and submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter). +* For any other queries, reach our [Syncfusion support team](https://support.syncfusion.com/support/tickets/create) or post the queries through the [Community forums](https://www.syncfusion.com/forums) and submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter). * To renew the subscription, click [renew](https://www.syncfusion.com/sales/products) or contact our sales team at salessupport@syncfusion.com | Toll Free: 1-888-9 DOTNET. ## About Syncfusion Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 20,000 customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies. -Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), and [Blazor](https://www.syncfusion.com/blazor-components), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls) and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file +Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), [Flutter](https://www.syncfusion.com/flutter-widgets), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([Flutter](https://www.syncfusion.com/flutter-widgets), [WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file diff --git a/packages/syncfusion_flutter_datepicker/example/linux/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_datepicker/example/linux/flutter/generated_plugins.cmake index 51436ae8c..2e1de87a7 100644 --- a/packages/syncfusion_flutter_datepicker/example/linux/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_datepicker/example/linux/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_datepicker/example/macos/Flutter/GeneratedPluginRegistrant.swift b/packages/syncfusion_flutter_datepicker/example/macos/Flutter/GeneratedPluginRegistrant.swift index cf9814600..cccf817a5 100644 --- a/packages/syncfusion_flutter_datepicker/example/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/packages/syncfusion_flutter_datepicker/example/macos/Flutter/GeneratedPluginRegistrant.swift @@ -2,8 +2,6 @@ // Generated file. Do not edit. // -// clang-format off - import FlutterMacOS import Foundation diff --git a/packages/syncfusion_flutter_datepicker/example/pubspec.yaml b/packages/syncfusion_flutter_datepicker/example/pubspec.yaml index bb4c76e54..2e6d327a7 100644 --- a/packages/syncfusion_flutter_datepicker/example/pubspec.yaml +++ b/packages/syncfusion_flutter_datepicker/example/pubspec.yaml @@ -3,7 +3,7 @@ description: Syncfusion date picker example project version: 1.0.0+1 environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: diff --git a/packages/syncfusion_flutter_datepicker/example/windows/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_datepicker/example/windows/flutter/generated_plugins.cmake index 4d10c2518..b93c4c30c 100644 --- a/packages/syncfusion_flutter_datepicker/example/windows/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_datepicker/example/windows/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_datepicker/lib/src/date_picker/date_picker.dart b/packages/syncfusion_flutter_datepicker/lib/src/date_picker/date_picker.dart index dbdc0163e..e5c6fa725 100644 --- a/packages/syncfusion_flutter_datepicker/lib/src/date_picker/date_picker.dart +++ b/packages/syncfusion_flutter_datepicker/lib/src/date_picker/date_picker.dart @@ -5660,15 +5660,12 @@ class _SfDateRangePickerState extends State<_SfDateRangePicker> ?.removePropertyChangedListener(_pickerValueChangedListener); _controller.removePropertyChangedListener(_pickerValueChangedListener); if (widget.controller != null) { - _controller.selectedDate = widget.controller!.selectedDate; + _controller = widget.controller; _controller.selectedDates = _getSelectedDates( DateRangePickerHelper.cloneList(widget.controller!.selectedDates)); - _controller.selectedRange = widget.controller!.selectedRange; _controller.selectedRanges = _getSelectedRanges( DateRangePickerHelper.cloneList(widget.controller!.selectedRanges)); - _controller.view = widget.controller!.view; - _controller.displayDate = - widget.controller!.displayDate ?? _currentDate; + _controller.displayDate ??= _currentDate; _currentDate = getValidDate( widget.minDate, widget.maxDate, _controller.displayDate); } else { @@ -8765,13 +8762,6 @@ class _PickerScrollViewState extends State<_PickerScrollView> _children.clear(); } - if (oldWidget.picker.controller != widget.controller) { - _position = 0; - _children.clear(); - _updateVisibleDates(); - _triggerViewChangedCallback(); - } - if (widget.isRtl != oldWidget.isRtl || widget.picker.enableMultiView != oldWidget.picker.enableMultiView) { _position = 0; @@ -8862,24 +8852,22 @@ class _PickerScrollViewState extends State<_PickerScrollView> _triggerSelectableDayPredicates(_currentViewVisibleDates); } - if (oldWidget.picker.controller != widget.controller || - widget.controller == null) { - widget.getPickerStateValues(_pickerStateDetails); - super.didUpdateWidget(oldWidget); - return; - } - - if (oldWidget.picker.controller?.displayDate != - widget.controller?.displayDate || - !isSameDate( - _pickerStateDetails.currentDate, widget.controller.displayDate)) { + if (!isSameDate( + _pickerStateDetails.currentDate, widget.controller.displayDate)) { _pickerStateDetails.currentDate = widget.controller?.displayDate; _updateVisibleDates(); _triggerSelectableDayPredicates(_currentViewVisibleDates); _triggerViewChangedCallback(); } - _drawSelection(oldWidget.picker.controller, widget.controller); + if (_pickerStateDetails.view != pickerView) { + _position = 0; + _children.clear(); + _updateVisibleDates(); + _triggerViewChangedCallback(); + } + + _drawSelection(oldWidget.controller, widget.controller, pickerView); widget.getPickerStateValues(_pickerStateDetails); super.didUpdateWidget(oldWidget); } @@ -9532,9 +9520,8 @@ class _PickerScrollViewState extends State<_PickerScrollView> } } - void _drawSelection(dynamic oldValue, dynamic newValue) { - final DateRangePickerView pickerView = - DateRangePickerHelper.getPickerView(widget.controller.view); + void _drawSelection( + dynamic oldValue, dynamic newValue, DateRangePickerView pickerView) { switch (widget.picker.selectionMode) { case DateRangePickerSelectionMode.single: { diff --git a/packages/syncfusion_flutter_datepicker/lib/src/date_picker/date_picker_manager.dart b/packages/syncfusion_flutter_datepicker/lib/src/date_picker/date_picker_manager.dart index c4e63b5b7..095ca2843 100644 --- a/packages/syncfusion_flutter_datepicker/lib/src/date_picker/date_picker_manager.dart +++ b/packages/syncfusion_flutter_datepicker/lib/src/date_picker/date_picker_manager.dart @@ -191,7 +191,7 @@ class DateRangePickerHeaderStyle with Diagnosticable { @override int get hashCode { - return hashValues( + return Object.hash( textStyle, textAlign, backgroundColor, @@ -346,7 +346,7 @@ class DateRangePickerViewHeaderStyle with Diagnosticable { @override int get hashCode { - return hashValues( + return Object.hash( backgroundColor, textStyle, ); @@ -473,7 +473,7 @@ class DateRangePickerWeekNumberStyle with Diagnosticable { @override int get hashCode { - return hashValues( + return Object.hash( textStyle, backgroundColor, ); @@ -1119,7 +1119,7 @@ class DateRangePickerMonthViewSettings with Diagnosticable { @override int get hashCode { - return hashValues( + return Object.hash( dayFormat, firstDayOfWeek, viewHeaderStyle, @@ -1129,9 +1129,12 @@ class DateRangePickerMonthViewSettings with Diagnosticable { numberOfWeeksInView, showWeekNumber, weekNumberStyle, - hashList(specialDates), - hashList(blackoutDates), - hashList(weekendDays)); + + /// Below condition is referred from text style class + /// https://api.flutter.dev/flutter/painting/TextStyle/hashCode.html + specialDates == null ? null : Object.hashAll(specialDates!), + blackoutDates == null ? null : Object.hashAll(blackoutDates!), + Object.hashAll(weekendDays)); } } @@ -1672,7 +1675,7 @@ class DateRangePickerYearCellStyle with Diagnosticable { @override int get hashCode { - return hashValues( + return Object.hash( textStyle, todayTextStyle, leadingDatesTextStyle, @@ -3120,7 +3123,7 @@ class DateRangePickerMonthCellStyle with Diagnosticable { @override int get hashCode { - return hashList([ + return Object.hashAll([ textStyle, todayTextStyle, trailingDatesTextStyle, diff --git a/packages/syncfusion_flutter_datepicker/lib/src/date_picker/hijri_date_picker_manager.dart b/packages/syncfusion_flutter_datepicker/lib/src/date_picker/hijri_date_picker_manager.dart index 3a242a83a..189452562 100644 --- a/packages/syncfusion_flutter_datepicker/lib/src/date_picker/hijri_date_picker_manager.dart +++ b/packages/syncfusion_flutter_datepicker/lib/src/date_picker/hijri_date_picker_manager.dart @@ -507,7 +507,7 @@ class HijriDatePickerMonthViewSettings with Diagnosticable { @override int get hashCode { - return hashValues( + return Object.hash( dayFormat, firstDayOfWeek, viewHeaderStyle, @@ -515,9 +515,12 @@ class HijriDatePickerMonthViewSettings with Diagnosticable { viewHeaderHeight, showWeekNumber, weekNumberStyle, - hashList(specialDates), - hashList(blackoutDates), - hashList(weekendDays)); + + /// Below condition is referred from text style class + /// https://api.flutter.dev/flutter/painting/TextStyle/hashCode.html + specialDates == null ? null : Object.hashAll(specialDates!), + blackoutDates == null ? null : Object.hashAll(blackoutDates!), + Object.hashAll(weekendDays)); } } @@ -930,7 +933,7 @@ class HijriDatePickerYearCellStyle with Diagnosticable { @override int get hashCode { - return hashValues(textStyle, todayTextStyle, disabledDatesTextStyle, + return Object.hash(textStyle, todayTextStyle, disabledDatesTextStyle, disabledDatesDecoration, cellDecoration, todayCellDecoration); } } @@ -1785,7 +1788,7 @@ class HijriDatePickerMonthCellStyle with Diagnosticable { @override int get hashCode { - return hashList([ + return Object.hashAll([ textStyle, todayTextStyle, disabledDatesTextStyle, diff --git a/packages/syncfusion_flutter_datepicker/pubspec.yaml b/packages/syncfusion_flutter_datepicker/pubspec.yaml index 81127a281..74c57fd14 100644 --- a/packages/syncfusion_flutter_datepicker/pubspec.yaml +++ b/packages/syncfusion_flutter_datepicker/pubspec.yaml @@ -1,16 +1,21 @@ name: syncfusion_flutter_datepicker description: The Flutter Date Range Picker widget allows users to easily select dates or a range of dates. It has four built-in views that allow quick navigation to the desired date. -version: 20.2.36 +version: 18.3.35 homepage: https://github.com/syncfusion/flutter-examples environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: sdk: flutter intl: ">=0.15.0 <0.20.0" - syncfusion_flutter_core: ^20.2.36 + syncfusion_flutter_core: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-core + path: syncfusion_flutter_core + branch: release/20.4.0.1 + ref: release/20.4.0.1 dev_dependencies: flutter_test: diff --git a/packages/syncfusion_flutter_gauges/CHANGELOG.md b/packages/syncfusion_flutter_gauges/CHANGELOG.md index 0059a40ef..69c2ba5cd 100644 --- a/packages/syncfusion_flutter_gauges/CHANGELOG.md +++ b/packages/syncfusion_flutter_gauges/CHANGELOG.md @@ -1,4 +1,4 @@ -## Unreleased +## [20.2.36] - 07/01/2022 ## Radial Gauge diff --git a/packages/syncfusion_flutter_gauges/README.md b/packages/syncfusion_flutter_gauges/README.md index 8df515284..cfa0a15b9 100644 --- a/packages/syncfusion_flutter_gauges/README.md +++ b/packages/syncfusion_flutter_gauges/README.md @@ -78,15 +78,12 @@ Explore the full capabilities of our Flutter widgets on your device by installin

- - + +

- -

-

@@ -216,11 +213,11 @@ The following screenshot illustrates the result of the above code sample. ## Support and Feedback -* For any other queries, reach our [Syncfusion support team](https://www.syncfusion.com/support/directtrac/incidents/newincident) or post the queries through the [Community forums](https://www.syncfusion.com/forums) and submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter). +* For any other queries, reach our [Syncfusion support team](https://support.syncfusion.com/support/tickets/create) or post the queries through the [Community forums](https://www.syncfusion.com/forums) and submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter). * To renew the subscription, click [renew](https://www.syncfusion.com/sales/products) or contact our sales team at sales@syncfusion.com | Toll Free: 1-888-9 DOTNET. ## About Syncfusion Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 20,000 customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies. -Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls) and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to- deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file +Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), [Flutter](https://www.syncfusion.com/flutter-widgets), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([Flutter](https://www.syncfusion.com/flutter-widgets), [WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to- deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file diff --git a/packages/syncfusion_flutter_gauges/example/linux/flutter/generated_plugin_registrant.cc b/packages/syncfusion_flutter_gauges/example/linux/flutter/generated_plugin_registrant.cc index d38195aa0..e71a16d23 100644 --- a/packages/syncfusion_flutter_gauges/example/linux/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_flutter_gauges/example/linux/flutter/generated_plugin_registrant.cc @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" diff --git a/packages/syncfusion_flutter_gauges/example/linux/flutter/generated_plugin_registrant.h b/packages/syncfusion_flutter_gauges/example/linux/flutter/generated_plugin_registrant.h index 9bf747894..e0f0a47bc 100644 --- a/packages/syncfusion_flutter_gauges/example/linux/flutter/generated_plugin_registrant.h +++ b/packages/syncfusion_flutter_gauges/example/linux/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/syncfusion_flutter_gauges/example/linux/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_gauges/example/linux/flutter/generated_plugins.cmake index 51436ae8c..2e1de87a7 100644 --- a/packages/syncfusion_flutter_gauges/example/linux/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_gauges/example/linux/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_gauges/example/pubspec.yaml b/packages/syncfusion_flutter_gauges/example/pubspec.yaml index 0ddcd7f31..48705a6ed 100644 --- a/packages/syncfusion_flutter_gauges/example/pubspec.yaml +++ b/packages/syncfusion_flutter_gauges/example/pubspec.yaml @@ -14,7 +14,7 @@ description: A new Flutter project. version: 1.0.0+1 environment: - sdk: '>=2.12.0 <3.0.0' + sdk: '>=2.17.0 <3.0.0' dependencies: flutter: diff --git a/packages/syncfusion_flutter_gauges/example/windows/flutter/generated_plugin_registrant.cc b/packages/syncfusion_flutter_gauges/example/windows/flutter/generated_plugin_registrant.cc index 4bfa0f3a3..8b6d4680a 100644 --- a/packages/syncfusion_flutter_gauges/example/windows/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_flutter_gauges/example/windows/flutter/generated_plugin_registrant.cc @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" diff --git a/packages/syncfusion_flutter_gauges/example/windows/flutter/generated_plugin_registrant.h b/packages/syncfusion_flutter_gauges/example/windows/flutter/generated_plugin_registrant.h index 9846246b4..dc139d85a 100644 --- a/packages/syncfusion_flutter_gauges/example/windows/flutter/generated_plugin_registrant.h +++ b/packages/syncfusion_flutter_gauges/example/windows/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/syncfusion_flutter_gauges/example/windows/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_gauges/example/windows/flutter/generated_plugins.cmake index 4d10c2518..b93c4c30c 100644 --- a/packages/syncfusion_flutter_gauges/example/windows/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_gauges/example/windows/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_gauges/lib/src/linear_gauge/axis/linear_axis_label.dart b/packages/syncfusion_flutter_gauges/lib/src/linear_gauge/axis/linear_axis_label.dart index a54401f2f..3fe231482 100644 --- a/packages/syncfusion_flutter_gauges/lib/src/linear_gauge/axis/linear_axis_label.dart +++ b/packages/syncfusion_flutter_gauges/lib/src/linear_gauge/axis/linear_axis_label.dart @@ -59,6 +59,6 @@ class LinearAxisLabel { @override int get hashCode { - return hashValues(text, value); + return Object.hash(text, value); } } diff --git a/packages/syncfusion_flutter_gauges/lib/src/linear_gauge/axis/linear_axis_track_style.dart b/packages/syncfusion_flutter_gauges/lib/src/linear_gauge/axis/linear_axis_track_style.dart index c7c572ca4..3ae6386fa 100644 --- a/packages/syncfusion_flutter_gauges/lib/src/linear_gauge/axis/linear_axis_track_style.dart +++ b/packages/syncfusion_flutter_gauges/lib/src/linear_gauge/axis/linear_axis_track_style.dart @@ -143,7 +143,7 @@ class LinearAxisTrackStyle { @override int get hashCode { - return hashValues( + return Object.hash( thickness, color, borderColor, diff --git a/packages/syncfusion_flutter_gauges/lib/src/linear_gauge/axis/linear_tick_style.dart b/packages/syncfusion_flutter_gauges/lib/src/linear_gauge/axis/linear_tick_style.dart index e14e0fa7f..f767ccf0d 100644 --- a/packages/syncfusion_flutter_gauges/lib/src/linear_gauge/axis/linear_tick_style.dart +++ b/packages/syncfusion_flutter_gauges/lib/src/linear_gauge/axis/linear_tick_style.dart @@ -82,7 +82,7 @@ class LinearTickStyle { @override int get hashCode { - return hashValues( + return Object.hash( length, color, thickness, diff --git a/packages/syncfusion_flutter_gauges/lib/src/linear_gauge/gauge/linear_gauge_render_widget.dart b/packages/syncfusion_flutter_gauges/lib/src/linear_gauge/gauge/linear_gauge_render_widget.dart index b3e907426..17b30c0fb 100644 --- a/packages/syncfusion_flutter_gauges/lib/src/linear_gauge/gauge/linear_gauge_render_widget.dart +++ b/packages/syncfusion_flutter_gauges/lib/src/linear_gauge/gauge/linear_gauge_render_widget.dart @@ -2,6 +2,7 @@ import 'dart:math' as math; import 'package:flutter/gestures.dart' show + DeviceGestureSettings, DragStartBehavior, GestureArenaTeam, HitTestTarget, @@ -40,8 +41,9 @@ class LinearGaugeRenderWidget extends MultiChildRenderObjectWidget { final List> pointerAnimations; @override - RenderObject createRenderObject(BuildContext context) => - RenderLinearGauge(pointerAnimations: pointerAnimations); + RenderObject createRenderObject(BuildContext context) => RenderLinearGauge( + pointerAnimations: pointerAnimations, + gestureSettings: MediaQuery.of(context).gestureSettings); @override void updateRenderObject( @@ -106,8 +108,10 @@ class RenderLinearGauge extends RenderBox /// /// By default, the non-positioned children of the stack are aligned by their /// top left corners. - RenderLinearGauge({required List> pointerAnimations}) - : _gestureArenaTeam = GestureArenaTeam(), + RenderLinearGauge({ + required List> pointerAnimations, + required DeviceGestureSettings gestureSettings, + }) : _gestureArenaTeam = GestureArenaTeam(), _pointerAnimations = pointerAnimations { _ranges = []; _barPointers = []; @@ -119,6 +123,7 @@ class RenderLinearGauge extends RenderBox ..onStart = _handleDragStart ..onUpdate = _handleDragUpdate ..onEnd = _handleDragEnd + ..gestureSettings = gestureSettings ..dragStartBehavior = DragStartBehavior.start; _horizontalDragGestureRecognizer = HorizontalDragGestureRecognizer() @@ -126,6 +131,7 @@ class RenderLinearGauge extends RenderBox ..onStart = _handleDragStart ..onUpdate = _handleDragUpdate ..onEnd = _handleDragEnd + ..gestureSettings = gestureSettings ..dragStartBehavior = DragStartBehavior.start; } diff --git a/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/axis/radial_axis_parent_widget.dart b/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/axis/radial_axis_parent_widget.dart index 2ae566c4c..ca37cb725 100644 --- a/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/axis/radial_axis_parent_widget.dart +++ b/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/axis/radial_axis_parent_widget.dart @@ -2,6 +2,7 @@ import 'dart:math' as math; import 'package:flutter/gestures.dart' show + DeviceGestureSettings, DragStartBehavior, GestureArenaTeam, HitTestTarget, @@ -36,7 +37,8 @@ class RadialAxisParentWidget extends MultiChildRenderObjectWidget { @override RenderObject createRenderObject(BuildContext context) => - RenderRadialAxisParent(); + RenderRadialAxisParent( + gestureSettings: MediaQuery.of(context).gestureSettings); @override void updateRenderObject( @@ -109,12 +111,15 @@ class RenderRadialAxisParent extends RenderBox /// /// By default, the non-positioned children of the stack are aligned by their /// top left corners. - RenderRadialAxisParent() : _gestureArenaTeam = GestureArenaTeam() { + RenderRadialAxisParent({ + required DeviceGestureSettings gestureSettings, + }) : _gestureArenaTeam = GestureArenaTeam() { _verticalDragGestureRecognizer = VerticalDragGestureRecognizer() ..team = _gestureArenaTeam ..onStart = _handleDragStart ..onUpdate = _handleDragUpdate ..onEnd = _handleDragEnd + ..gestureSettings = gestureSettings ..dragStartBehavior = DragStartBehavior.start; _horizontalDragGestureRecognizer = HorizontalDragGestureRecognizer() @@ -122,6 +127,7 @@ class RenderRadialAxisParent extends RenderBox ..onStart = _handleDragStart ..onUpdate = _handleDragUpdate ..onEnd = _handleDragEnd + ..gestureSettings = gestureSettings ..dragStartBehavior = DragStartBehavior.start; _tapGestureRecognizer = TapGestureRecognizer()..onTapUp = _handleTapUP; diff --git a/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/styles/radial_knob_style.dart b/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/styles/radial_knob_style.dart index 4dafecf2b..e56d48738 100644 --- a/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/styles/radial_knob_style.dart +++ b/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/styles/radial_knob_style.dart @@ -161,6 +161,6 @@ class KnobStyle { borderColor, color ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/styles/radial_tail_style.dart b/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/styles/radial_tail_style.dart index 9152fc7dc..5bb618fce 100644 --- a/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/styles/radial_tail_style.dart +++ b/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/styles/radial_tail_style.dart @@ -216,6 +216,6 @@ class TailStyle { lengthUnit, borderColor ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/styles/radial_text_style.dart b/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/styles/radial_text_style.dart index d659d5d26..44fb7db3c 100644 --- a/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/styles/radial_text_style.dart +++ b/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/styles/radial_text_style.dart @@ -60,6 +60,6 @@ class GaugeTextStyle { fontWeight, fontSize ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/styles/radial_tick_style.dart b/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/styles/radial_tick_style.dart index c1eccd0ca..0ed4638cf 100644 --- a/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/styles/radial_tick_style.dart +++ b/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/styles/radial_tick_style.dart @@ -149,7 +149,7 @@ class MajorTickStyle { color, dashArray ]; - return hashList(values); + return Object.hashAll(values); } } @@ -375,6 +375,6 @@ class AxisLineStyle { cornerStyle, dashArray ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/title/radial_title.dart b/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/title/radial_title.dart index 962e35b1f..1e0c24b4b 100644 --- a/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/title/radial_title.dart +++ b/packages/syncfusion_flutter_gauges/lib/src/radial_gauge/title/radial_title.dart @@ -189,6 +189,6 @@ class GaugeTitle { borderColor, backgroundColor ]; - return hashList(values); + return Object.hashAll(values); } } diff --git a/packages/syncfusion_flutter_gauges/pubspec.yaml b/packages/syncfusion_flutter_gauges/pubspec.yaml index bf4810345..149080a05 100644 --- a/packages/syncfusion_flutter_gauges/pubspec.yaml +++ b/packages/syncfusion_flutter_gauges/pubspec.yaml @@ -4,12 +4,17 @@ version: 20.2.36 homepage: https://github.com/syncfusion/flutter-widgets/tree/master/packages/syncfusion_flutter_gauges environment: - sdk: '>=2.12.0 <3.0.0' + sdk: '>=2.17.0 <3.0.0' dependencies: flutter: sdk: flutter - syncfusion_flutter_core: ^20.2.36 + syncfusion_flutter_core: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-core + path: syncfusion_flutter_core + branch: release/20.4.0.1 + ref: release/20.4.0.1 intl: ^0.17.0 dev_dependencies: @@ -17,4 +22,4 @@ dev_dependencies: sdk: flutter flutter: - \ No newline at end of file + diff --git a/packages/syncfusion_flutter_maps/CHANGELOG.md b/packages/syncfusion_flutter_maps/CHANGELOG.md index 714442931..319f5de60 100644 --- a/packages/syncfusion_flutter_maps/CHANGELOG.md +++ b/packages/syncfusion_flutter_maps/CHANGELOG.md @@ -1,4 +1,9 @@ -## Unreleased +## [20.3.47] - 09/29/2022 + +**Bug** +* #FB37232 – Now, the data labels get rendered when enabling it programmatically. + +## [20.2.36] - 07/01/2022 **Bug** * The null exception will not be thrown when simultaneously calling the setstate and zooming the map. diff --git a/packages/syncfusion_flutter_maps/README.md b/packages/syncfusion_flutter_maps/README.md index 1b815732c..b7206e8a2 100644 --- a/packages/syncfusion_flutter_maps/README.md +++ b/packages/syncfusion_flutter_maps/README.md @@ -109,15 +109,12 @@ Explore the full capability of our Flutter widgets on your device by installing

- - + +

- -

-

@@ -340,11 +337,11 @@ The following screenshot illustrates the result of the above code sample. ## Support and feedback -* For questions, reach out to our [Syncfusion support team](https://www.syncfusion.com/support/directtrac/incidents/newincident) or post them through the [Community forums](https://www.syncfusion.com/forums). Submit a feature request or a bug in our [Feedback portal](https://www.syncfusion.com/feedback/flutter). +* For questions, reach out to our [Syncfusion support team](https://support.syncfusion.com/support/tickets/create) or post them through the [Community forums](https://www.syncfusion.com/forums). Submit a feature request or a bug in our [Feedback portal](https://www.syncfusion.com/feedback/flutter). * To renew your subscription, click [renew](https://www.syncfusion.com/sales/products) or contact our sales team at sales@syncfusion.com | Toll Free: 1-888-9 DOTNET. ## About Syncfusion Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 20,000 customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies. -Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls) and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to-deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. +Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), [Flutter](https://www.syncfusion.com/flutter-widgets), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([.NET MAUI](https://www.syncfusion.com/maui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([Flutter](https://www.syncfusion.com/flutter-widgets), [.NET MAUI](https://www.syncfusion.com/maui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to-deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file diff --git a/packages/syncfusion_flutter_maps/example/linux/flutter/generated_plugin_registrant.cc b/packages/syncfusion_flutter_maps/example/linux/flutter/generated_plugin_registrant.cc index d38195aa0..e71a16d23 100644 --- a/packages/syncfusion_flutter_maps/example/linux/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_flutter_maps/example/linux/flutter/generated_plugin_registrant.cc @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" diff --git a/packages/syncfusion_flutter_maps/example/linux/flutter/generated_plugin_registrant.h b/packages/syncfusion_flutter_maps/example/linux/flutter/generated_plugin_registrant.h index 9bf747894..e0f0a47bc 100644 --- a/packages/syncfusion_flutter_maps/example/linux/flutter/generated_plugin_registrant.h +++ b/packages/syncfusion_flutter_maps/example/linux/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/syncfusion_flutter_maps/example/linux/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_maps/example/linux/flutter/generated_plugins.cmake index 51436ae8c..2e1de87a7 100644 --- a/packages/syncfusion_flutter_maps/example/linux/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_maps/example/linux/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_maps/example/pubspec.yaml b/packages/syncfusion_flutter_maps/example/pubspec.yaml index b5a4f2939..021e7eb79 100644 --- a/packages/syncfusion_flutter_maps/example/pubspec.yaml +++ b/packages/syncfusion_flutter_maps/example/pubspec.yaml @@ -14,7 +14,7 @@ description: A new Flutter project. version: 1.0.0+1 environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: @@ -22,7 +22,7 @@ dependencies: intl: ">=0.15.0 <0.17.0" syncfusion_flutter_maps: - path: ../../syncfusion_flutter_maps/ + path: ../ # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. diff --git a/packages/syncfusion_flutter_maps/example/windows/flutter/generated_plugin_registrant.cc b/packages/syncfusion_flutter_maps/example/windows/flutter/generated_plugin_registrant.cc index 4bfa0f3a3..8b6d4680a 100644 --- a/packages/syncfusion_flutter_maps/example/windows/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_flutter_maps/example/windows/flutter/generated_plugin_registrant.cc @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" diff --git a/packages/syncfusion_flutter_maps/example/windows/flutter/generated_plugin_registrant.h b/packages/syncfusion_flutter_maps/example/windows/flutter/generated_plugin_registrant.h index 9846246b4..dc139d85a 100644 --- a/packages/syncfusion_flutter_maps/example/windows/flutter/generated_plugin_registrant.h +++ b/packages/syncfusion_flutter_maps/example/windows/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/syncfusion_flutter_maps/example/windows/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_maps/example/windows/flutter/generated_plugins.cmake index 4d10c2518..b93c4c30c 100644 --- a/packages/syncfusion_flutter_maps/example/windows/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_maps/example/windows/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_maps/lib/maps.dart b/packages/syncfusion_flutter_maps/lib/maps.dart index 93f3f54cc..a43b8a5c4 100644 --- a/packages/syncfusion_flutter_maps/lib/maps.dart +++ b/packages/syncfusion_flutter_maps/lib/maps.dart @@ -2740,7 +2740,7 @@ class MapLatLng { } @override - int get hashCode => hashValues(latitude, longitude); + int get hashCode => Object.hash(latitude, longitude); @override String toString() => @@ -2774,7 +2774,7 @@ class MapLatLngBounds { } @override - int get hashCode => hashValues(northeast, southwest); + int get hashCode => Object.hash(northeast, southwest); @override String toString() => diff --git a/packages/syncfusion_flutter_maps/lib/src/controller/map_provider.dart b/packages/syncfusion_flutter_maps/lib/src/controller/map_provider.dart index 5703c8e6f..bddf46c3d 100644 --- a/packages/syncfusion_flutter_maps/lib/src/controller/map_provider.dart +++ b/packages/syncfusion_flutter_maps/lib/src/controller/map_provider.dart @@ -62,7 +62,7 @@ class AssetMapProvider extends MapProvider { } @override - int get hashCode => hashValues(shapePath, bytes); + int get hashCode => Object.hash(shapePath, bytes); } // Decodes the given map URL from the network. @@ -114,7 +114,7 @@ class NetworkMapProvider extends MapProvider { } @override - int get hashCode => hashValues(shapePath, bytes); + int get hashCode => Object.hash(shapePath, bytes); } /// Decodes the given [Uint8List] buffer as an map. @@ -161,5 +161,5 @@ class MemoryMapProvider extends MapProvider { } @override - int get hashCode => hashValues(shapePath, bytes); + int get hashCode => Object.hash(shapePath, bytes); } diff --git a/packages/syncfusion_flutter_maps/lib/src/elements/legend.dart b/packages/syncfusion_flutter_maps/lib/src/elements/legend.dart index 9b3a29266..cd5acfb31 100644 --- a/packages/syncfusion_flutter_maps/lib/src/elements/legend.dart +++ b/packages/syncfusion_flutter_maps/lib/src/elements/legend.dart @@ -2026,7 +2026,7 @@ class MapLegend extends DiagnosticableTree { } @override - int get hashCode => hashValues( + int get hashCode => Object.hash( padding, offset, spacing, diff --git a/packages/syncfusion_flutter_maps/lib/src/elements/marker.dart b/packages/syncfusion_flutter_maps/lib/src/elements/marker.dart index f26e1fa42..2a4032071 100644 --- a/packages/syncfusion_flutter_maps/lib/src/elements/marker.dart +++ b/packages/syncfusion_flutter_maps/lib/src/elements/marker.dart @@ -1058,43 +1058,48 @@ class _RenderMapMarker extends RenderProxyBox } void _handlePointerExit(PointerExitEvent event) { - final _RenderMarkerContainer markerContainer = - // ignore: avoid_as - parent! as _RenderMarkerContainer; - if (markerContainer.markerTooltipBuilder != null) { - final ShapeLayerChildRenderBoxBase tooltipRenderBox = - markerContainer.controller.tooltipKey!.currentContext! - // ignore: avoid_as - .findRenderObject()! as ShapeLayerChildRenderBoxBase; - tooltipRenderBox.hideTooltip(); + if (owner != null) { + final _RenderMarkerContainer markerContainer = + // ignore: avoid_as + parent! as _RenderMarkerContainer; + if (markerContainer.markerTooltipBuilder != null) { + final ShapeLayerChildRenderBoxBase tooltipRenderBox = + markerContainer.controller.tooltipKey!.currentContext! + // ignore: avoid_as + .findRenderObject()! as ShapeLayerChildRenderBoxBase; + tooltipRenderBox.hideTooltip(); + } } } void _handleInteraction([PointerKind kind = PointerKind.touch]) { - int? sublayerIndex; - final _RenderMarkerContainer markerContainerRenderBox = + if (owner != null) { + int? sublayerIndex; + final _RenderMarkerContainer markerContainerRenderBox = + // ignore: avoid_as + parent! as _RenderMarkerContainer; + if (markerContainerRenderBox.markerTooltipBuilder != null) { + if (markerContainerRenderBox.sublayer != null) { + sublayerIndex = markerContainerRenderBox + .container.ancestor!.sublayers! + .indexOf(markerContainerRenderBox.sublayer!); + } + + final ShapeLayerChildRenderBoxBase tooltipRenderBox = + markerContainerRenderBox.controller.tooltipKey!.currentContext! + // ignore: avoid_as + .findRenderObject()! as ShapeLayerChildRenderBoxBase; // ignore: avoid_as - parent! as _RenderMarkerContainer; - if (markerContainerRenderBox.markerTooltipBuilder != null) { - if (markerContainerRenderBox.sublayer != null) { - sublayerIndex = markerContainerRenderBox.container.ancestor!.sublayers! - .indexOf(markerContainerRenderBox.sublayer!); + final StackParentData childParentData = parentData! as StackParentData; + tooltipRenderBox.paintTooltip( + markerContainerRenderBox.getMarkerIndex(marker), + childParentData.offset & size, + MapLayerElement.marker, + kind, + // [sublayerIndex] is applicable only when the markers + // added to the [MapShapeSublayer]. + sublayerIndex); } - - final ShapeLayerChildRenderBoxBase tooltipRenderBox = - markerContainerRenderBox.controller.tooltipKey!.currentContext! - // ignore: avoid_as - .findRenderObject()! as ShapeLayerChildRenderBoxBase; - // ignore: avoid_as - final StackParentData childParentData = parentData! as StackParentData; - tooltipRenderBox.paintTooltip( - markerContainerRenderBox.getMarkerIndex(marker), - childParentData.offset & size, - MapLayerElement.marker, - kind, - // [sublayerIndex] is applicable only when the markers - // added to the [MapShapeSublayer]. - sublayerIndex); } } diff --git a/packages/syncfusion_flutter_maps/lib/src/layer/shape_layer.dart b/packages/syncfusion_flutter_maps/lib/src/layer/shape_layer.dart index e8d2d1e8c..b33cc9005 100644 --- a/packages/syncfusion_flutter_maps/lib/src/layer/shape_layer.dart +++ b/packages/syncfusion_flutter_maps/lib/src/layer/shape_layer.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'dart:convert'; import 'dart:math'; +// ignore: unnecessary_import import 'dart:typed_data' show Uint8List; import 'dart:ui'; @@ -1645,6 +1646,39 @@ class _GeoJSONLayerState extends State }); } + void _needPathCenterAndWidthCalculation(Map mapDataSource) { + List pixelPoints; + List rawPoints; + int rawPointsLength, pointsLength; + mapDataSource.forEach((String key, MapModel mapModel) { + double signedArea = 0.0, centerX = 0.0, centerY = 0.0; + rawPointsLength = mapModel.rawPoints.length; + for (int j = 0; j < rawPointsLength; j++) { + rawPoints = mapModel.rawPoints[j]; + pointsLength = rawPoints.length; + pixelPoints = mapModel.pixelPoints![j]; + for (int k = 0; k < pointsLength; k++) { + if (k > 0) { + final int l = k - 1; + if (widget.showDataLabels && l + 1 < pixelPoints.length) { + // Used mathematical formula to find + // the center of polygon points. + final double x0 = pixelPoints[l].dx, y0 = pixelPoints[l].dy; + final double x1 = pixelPoints[l + 1].dx, + y1 = pixelPoints[l + 1].dy; + signedArea += (x0 * y1) - (y0 * x1); + centerX += (x0 + x1) * (x0 * y1 - x1 * y0); + centerY += (y0 + y1) * (x0 * y1 - x1 * y0); + } + } + } + } + if (widget.showDataLabels) { + findPathCenterAndWidth(signedArea, centerX, centerY, mapModel); + } + }); + } + void _obtainDataSource() { _computeDataSource = _obtainDataSourceAndBindDataSource() .then((_ShapeFileData data) => data); @@ -1740,6 +1774,18 @@ class _GeoJSONLayerState extends State _controller!.visibleFocalLatLng = null; } + if (oldWidget.showDataLabels != widget.showDataLabels && + widget.showDataLabels) { + if (shapeFileData.mapDataSource.values.first.shapePathCenter == null || + shapeFileData.mapDataSource.values.first.shapeWidth == null) { + _needPathCenterAndWidthCalculation(shapeFileData.mapDataSource); + dataLabelAnimationController.value = 0.0; + if (mounted) { + dataLabelAnimationController.forward(from: 0); + } + } + } + _obtainDataSource(); super.didUpdateWidget(oldWidget); } @@ -2484,58 +2530,14 @@ class _RenderGeoJSONLayer extends RenderStack } mapModel.shapePath = shapePath; - _findPathCenterAndWidth(signedArea, centerX, centerY, mapModel); + if (_state.widget.showDataLabels || + _state.widget.source.bubbleSizeMapper != null) { + findPathCenterAndWidth(signedArea, centerX, centerY, mapModel); + } _updateBubbleRadiusAndPath(mapModel); }); } - void _findPathCenterAndWidth( - double signedArea, double centerX, double centerY, MapModel mapModel) { - if (_state.widget.showDataLabels || - _state.widget.source.bubbleSizeMapper != null) { - // Used mathematical formula to find the center of polygon points. - signedArea /= 2; - centerX = centerX / (6 * signedArea); - centerY = centerY / (6 * signedArea); - mapModel.shapePathCenter = Offset(centerX, centerY); - double? minX, maxX; - double distance, - minDistance = double.infinity, - maxDistance = double.negativeInfinity; - - final List minDistances = [double.infinity]; - final List maxDistances = [double.negativeInfinity]; - for (final List points in mapModel.pixelPoints!) { - for (final Offset point in points) { - distance = (centerY - point.dy).abs(); - if (point.dx < centerX) { - // Collected all points which is less 10 pixels distance from - // 'center y' to position the labels more smartly. - if (minX != null && distance < 10) { - minDistances.add(point.dx); - } - if (distance < minDistance) { - minX = point.dx; - minDistance = distance; - } - } else if (point.dx > centerX) { - if (maxX != null && distance < 10) { - maxDistances.add(point.dx); - } - - if (distance > maxDistance) { - maxX = point.dx; - maxDistance = distance; - } - } - } - } - - mapModel.shapeWidth = max(maxX!, maxDistances.reduce(max)) - - min(minX!, minDistances.reduce(min)); - } - } - void _updateBubbleRadiusAndPath(MapModel mapModel) { final double? bubbleSizeValue = mapModel.bubbleSizeValue; if (bubbleSizeValue != null) { @@ -2766,7 +2768,6 @@ class _RenderGeoJSONLayer extends RenderStack } if (_currentHoverItem != null) { - _previousHoverItem = _currentHoverItem; _currentHoverItem = null; } _downGlobalPoint ??= event.position; @@ -2987,7 +2988,6 @@ class _RenderGeoJSONLayer extends RenderStack } if (_currentHoverItem != null) { - _previousHoverItem = _currentHoverItem; _currentHoverItem = null; } diff --git a/packages/syncfusion_flutter_maps/lib/src/layer/tile_layer.dart b/packages/syncfusion_flutter_maps/lib/src/layer/tile_layer.dart index 5439f66a7..0e2103719 100644 --- a/packages/syncfusion_flutter_maps/lib/src/layer/tile_layer.dart +++ b/packages/syncfusion_flutter_maps/lib/src/layer/tile_layer.dart @@ -61,7 +61,7 @@ class _MapTileCoordinate { } @override - int get hashCode => hashValues(x.hashCode, y.hashCode, z.hashCode); + int get hashCode => Object.hash(x.hashCode, y.hashCode, z.hashCode); } /// Represents the information about the tile. diff --git a/packages/syncfusion_flutter_maps/lib/src/settings.dart b/packages/syncfusion_flutter_maps/lib/src/settings.dart index a7991cbc7..f79021fca 100644 --- a/packages/syncfusion_flutter_maps/lib/src/settings.dart +++ b/packages/syncfusion_flutter_maps/lib/src/settings.dart @@ -683,7 +683,7 @@ class MapColorMapper { @override int get hashCode => - hashValues(from, to, value, color, minOpacity, maxOpacity, text); + Object.hash(from, to, value, color, minOpacity, maxOpacity, text); } /// Customizes the appearance of the data labels. @@ -886,7 +886,7 @@ class MapDataLabelSettings extends DiagnosticableTree { } @override - int get hashCode => hashValues(textStyle, overflowMode); + int get hashCode => Object.hash(textStyle, overflowMode); @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { @@ -1264,7 +1264,7 @@ class MapBubbleSettings extends DiagnosticableTree { @override int get hashCode => - hashValues(color, strokeWidth, strokeColor, maxRadius, minRadius); + Object.hash(color, strokeWidth, strokeColor, maxRadius, minRadius); /// Creates a copy of this class but with the given fields /// replaced with the new values. @@ -1634,7 +1634,7 @@ class MapSelectionSettings extends DiagnosticableTree { } @override - int get hashCode => hashValues(color, strokeWidth, strokeColor); + int get hashCode => Object.hash(color, strokeWidth, strokeColor); @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { @@ -2037,7 +2037,7 @@ class MapTooltipSettings extends DiagnosticableTree { } @override - int get hashCode => hashValues(hideDelay, color, strokeWidth, strokeColor); + int get hashCode => Object.hash(hideDelay, color, strokeWidth, strokeColor); @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { diff --git a/packages/syncfusion_flutter_maps/lib/src/utils.dart b/packages/syncfusion_flutter_maps/lib/src/utils.dart index 65408e03a..7212e6010 100644 --- a/packages/syncfusion_flutter_maps/lib/src/utils.dart +++ b/packages/syncfusion_flutter_maps/lib/src/utils.dart @@ -180,6 +180,51 @@ MapProvider getSourceProvider( } } +// Calculates the shape's path center and width for data label rendering. +void findPathCenterAndWidth( + double signedArea, double centerX, double centerY, MapModel mapModel) { + // Used mathematical formula to find the center of polygon points. + signedArea /= 2; + centerX = centerX / (6 * signedArea); + centerY = centerY / (6 * signedArea); + mapModel.shapePathCenter = Offset(centerX, centerY); + double? minX, maxX; + double distance, + minDistance = double.infinity, + maxDistance = double.negativeInfinity; + + final List minDistances = [double.infinity]; + final List maxDistances = [double.negativeInfinity]; + for (final List points in mapModel.pixelPoints!) { + for (final Offset point in points) { + distance = (centerY - point.dy).abs(); + if (point.dx < centerX) { + // Collected all points which is less 10 pixels distance from + // 'center y' to position the labels more smartly. + if (minX != null && distance < 10) { + minDistances.add(point.dx); + } + if (distance < minDistance) { + minX = point.dx; + minDistance = distance; + } + } else if (point.dx > centerX) { + if (maxX != null && distance < 10) { + maxDistances.add(point.dx); + } + + if (distance > maxDistance) { + maxX = point.dx; + maxDistance = distance; + } + } + } + } + + mapModel.shapeWidth = max(maxX!, maxDistances.reduce(max)) - + min(minX!, minDistances.reduce(min)); +} + /// An interpolation between two latlng. /// /// This class specializes the interpolation of [Tween] to use diff --git a/packages/syncfusion_flutter_maps/pubspec.yaml b/packages/syncfusion_flutter_maps/pubspec.yaml index 21e04ac11..4687699b3 100644 --- a/packages/syncfusion_flutter_maps/pubspec.yaml +++ b/packages/syncfusion_flutter_maps/pubspec.yaml @@ -4,15 +4,20 @@ version: 20.2.36-beta homepage: https://github.com/syncfusion/flutter-widgets/tree/master/packages/syncfusion_flutter_maps environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: sdk: flutter - syncfusion_flutter_core: ^20.2.36 + syncfusion_flutter_core: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-core + path: syncfusion_flutter_core + branch: release/20.4.0.1 + ref: release/20.4.0.1 - http: ">=0.12.0 <=0.13.4" + http: ">=0.12.0 <=0.13.5" vector_math: ">=2.1.0 <=3.0.0" dev_dependencies: @@ -21,4 +26,4 @@ dev_dependencies: flutter: - \ No newline at end of file + diff --git a/packages/syncfusion_flutter_pdf/CHANGELOG.md b/packages/syncfusion_flutter_pdf/CHANGELOG.md index 3a1f59307..455eb0c0b 100644 --- a/packages/syncfusion_flutter_pdf/CHANGELOG.md +++ b/packages/syncfusion_flutter_pdf/CHANGELOG.md @@ -1,4 +1,28 @@ -## Unreleased +## [20.3.57] - 11/15/2022 + +**Bugs** + +* Alpha channel is not initialized properly in transparent brush is now resolved. + +## [20.3.56] - 11/08/2022 + +**Features** + +* Provided support to set signed date while signing the pdf document. + +## [20.2.48] - 09/06/2022 + +**Bugs** + +* The type casting issue when trying to get annotation is now resolved. + +## [20.2.45] - 08/23/2022 + +**Bugs** + +* The font is not updated properly for loaded form fields is now resolved. + +## [20.2.36] - 06/30/2022 **Breaking changes** @@ -12,6 +36,8 @@ * The preservation issue when flattening the PDF text box field is now resolved. +* Resolved the document corruption issue while modifying encrypted PDF document. + ## [20.1.48-beta] - 04/12/2022 **Bugs** diff --git a/packages/syncfusion_flutter_pdf/README.md b/packages/syncfusion_flutter_pdf/README.md index ce99ca632..248d5abd3 100644 --- a/packages/syncfusion_flutter_pdf/README.md +++ b/packages/syncfusion_flutter_pdf/README.md @@ -63,15 +63,12 @@ Explore the full capability of our Flutter widgets on your device by installing

- - + +

- -

-

@@ -654,14 +651,11 @@ Refer to our [documentation](https://help.syncfusion.com/flutter/pdf/working-wit ## Support and feedback -* For any questions, please post them in our [community forums](https://www.syncfusion.com/forums) or contact our [Syncfusion support team](https://www.syncfusion.com/support/directtrac/incidents/newincident). You can also submit a feature request or a bug alert through our [feedback portal](https://www.syncfusion.com/feedback/flutter). +* For any questions, please post them in our [community forums](https://www.syncfusion.com/forums) or contact our [Syncfusion support team](https://support.syncfusion.com/support/tickets/create). You can also submit a feature request or a bug alert through our [feedback portal](https://www.syncfusion.com/feedback/flutter). * To renew your subscription, click [renew](https://www.syncfusion.com/sales/products) or contact our sales team at salessupport@syncfusion.com | Toll free: 1-888-9 DOTNET. ## About Syncfusion Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 22,000 customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies. -Today we provide 1,600+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls) and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to deploy enterprise software in our Bold line of products for dashboarding and reporting. Many customers have saved millions in licensing fees by deploying our software. - - - +Today we provide 1,600+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), [Flutter](https://www.syncfusion.com/flutter-widgets), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([Flutter](https://www.syncfusion.com/flutter-widgets), [WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to deploy enterprise software in our Bold line of products for dashboarding and reporting. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file diff --git a/packages/syncfusion_flutter_pdf/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/syncfusion_flutter_pdf/example/android/gradle/wrapper/gradle-wrapper.properties index bc6a58afd..cc5527d78 100644 --- a/packages/syncfusion_flutter_pdf/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/packages/syncfusion_flutter_pdf/example/android/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip diff --git a/packages/syncfusion_flutter_pdf/example/lib/main.dart b/packages/syncfusion_flutter_pdf/example/lib/main.dart index 1ba741a75..2d8da5f7a 100644 --- a/packages/syncfusion_flutter_pdf/example/lib/main.dart +++ b/packages/syncfusion_flutter_pdf/example/lib/main.dart @@ -42,9 +42,9 @@ class _CreatePdfState extends State { children: [ TextButton( style: TextButton.styleFrom( - primary: Colors.white, + foregroundColor: Colors.white, backgroundColor: Colors.lightBlue, - onSurface: Colors.grey, + disabledForegroundColor: Colors.grey, ), onPressed: generateInvoice, child: const Text('Generate PDF'), diff --git a/packages/syncfusion_flutter_pdf/example/linux/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_pdf/example/linux/flutter/generated_plugins.cmake index 51436ae8c..2e1de87a7 100644 --- a/packages/syncfusion_flutter_pdf/example/linux/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_pdf/example/linux/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_pdf/example/pubspec.yaml b/packages/syncfusion_flutter_pdf/example/pubspec.yaml index c3a9b6f3a..2b9e89ae0 100644 --- a/packages/syncfusion_flutter_pdf/example/pubspec.yaml +++ b/packages/syncfusion_flutter_pdf/example/pubspec.yaml @@ -3,7 +3,7 @@ description: Demo for creating a PDF file using syncfusion_flutter_pdf package. version: 1.0.0+1 environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: diff --git a/packages/syncfusion_flutter_pdf/example/windows/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_pdf/example/windows/flutter/generated_plugins.cmake index 4d10c2518..b93c4c30c 100644 --- a/packages/syncfusion_flutter_pdf/example/windows/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_pdf/example/windows/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/annotations/pdf_annotation.dart b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/annotations/pdf_annotation.dart index 067b57ad6..7e5a8a4e9 100644 --- a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/annotations/pdf_annotation.dart +++ b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/annotations/pdf_annotation.dart @@ -270,6 +270,9 @@ class PdfAnnotationHelper { /// internal field bool setAppearance = false; + /// internal field + bool isOldAnnotation = false; + ///Gets or sets the boolean flag to flatten the annotation, ///by default, its become false. bool flatten = false; diff --git a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/annotations/pdf_annotation_collection.dart b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/annotations/pdf_annotation_collection.dart index eed6a7bad..d22540ee0 100644 --- a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/annotations/pdf_annotation_collection.dart +++ b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/annotations/pdf_annotation_collection.dart @@ -76,7 +76,10 @@ class PdfAnnotationCollectionHelper extends PdfObjectCollectionHelper { ++i) { final PdfAnnotation? annot = _getAnnotation(i); if (annot != null) { + final PdfAnnotationHelper helper = PdfAnnotationHelper.getHelper(annot); + helper.isOldAnnotation = true; _doAdd(annot); + helper.isOldAnnotation = false; } } } @@ -204,7 +207,8 @@ class PdfAnnotationCollectionHelper extends PdfObjectCollectionHelper { array ??= PdfArray(); final PdfReferenceHolder reference = PdfReferenceHolder(PdfAnnotationHelper.getHelper(annot).dictionary); - if (!_checkPresence(array, reference)) { + if (!PdfAnnotationHelper.getHelper(annot).isOldAnnotation && + !_checkPresence(array, reference)) { array.add(reference); dictionary.setProperty(PdfDictionaryProperties.annots, array); } diff --git a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/exporting/pdf_text_extractor/font_structure.dart b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/exporting/pdf_text_extractor/font_structure.dart index 25051a7f3..1c924f0c9 100644 --- a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/exporting/pdf_text_extractor/font_structure.dart +++ b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/exporting/pdf_text_extractor/font_structure.dart @@ -4199,7 +4199,9 @@ class FontStructure { if (reverseMapTable!.containsKey(encodedText)) { decodedtext = encodedText; final int charPosition = reverseMapTable![decodedtext]!.toInt(); - zapfPostScript = differenceTable[charPosition]!; + if (differenceTable.isNotEmpty && + differenceTable.containsKey(charPosition)) + zapfPostScript = differenceTable[charPosition]!; } else { decodedtext = '\u2708'; zapfPostScript = 'a118'; diff --git a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/exporting/pdf_text_extractor/page_resource_loader.dart b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/exporting/pdf_text_extractor/page_resource_loader.dart index c6cc20214..edfa9233a 100644 --- a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/exporting/pdf_text_extractor/page_resource_loader.dart +++ b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/exporting/pdf_text_extractor/page_resource_loader.dart @@ -39,10 +39,11 @@ class PageResourceLoader { xobjects![PdfDictionaryProperties.resources] as PdfDictionary?; for (final dynamic objValue in xobjects.items!.values) { PdfDictionary? xobjectDictionary; - if (objValue is PdfReferenceHolder) { + if (objValue is PdfReferenceHolder && + objValue.object is PdfDictionary) { xobjectDictionary = objValue.object as PdfDictionary?; - } else { - xobjectDictionary = objValue as PdfDictionary?; + } else if (objValue is PdfDictionary) { + xobjectDictionary = objValue; } if (xobjectDictionary != null && xobjectDictionary.containsKey(PdfDictionaryProperties.resources)) { diff --git a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/exporting/pdf_text_extractor/pdf_text_extractor.dart b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/exporting/pdf_text_extractor/pdf_text_extractor.dart index ff9a8ac31..8f293ed1e 100644 --- a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/exporting/pdf_text_extractor/pdf_text_extractor.dart +++ b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/exporting/pdf_text_extractor/pdf_text_extractor.dart @@ -606,7 +606,7 @@ class PdfTextExtractor { for (i = spaceStartIndex + 2; i < stringList.length; i++) { if (stringList[i] == ' ' || stringList[i] == '\t') { continue; - } else if (i == stringList.length - 1) { + } else if (i >= stringList.length) { break; } else { stringList.removeRange(spaceStartIndex + 1, i); diff --git a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/forms/pdf_field.dart b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/forms/pdf_field.dart index 85076d758..c0953b756 100644 --- a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/forms/pdf_field.dart +++ b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/forms/pdf_field.dart @@ -954,8 +954,7 @@ class PdfFieldHelper { /// Gets or sets the font. PdfFont? get font { if (isLoadedField) { - if (_internalFont != null && - !dictionary!.containsKey(PdfDictionaryProperties.kids)) { + if (_internalFont != null) { return _internalFont!; } bool? isCorrectFont = false; diff --git a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/graphics/brushes/pdf_brush.dart b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/graphics/brushes/pdf_brush.dart index 442480b91..17bc184fc 100644 --- a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/graphics/brushes/pdf_brush.dart +++ b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/graphics/brushes/pdf_brush.dart @@ -3010,7 +3010,8 @@ class PdfBrushes { static PdfBrush _getBrush(KnownColor kColor) { final ColorHelper color = ColorHelper(kColor); - final PdfBrush brush = PdfSolidBrush(PdfColor(color.r, color.g, color.b)); + final PdfBrush brush = + PdfSolidBrush(PdfColor(color.r, color.g, color.b, color.a)); _brushes[kColor] = brush; return brush; } diff --git a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/graphics/pdf_pens.dart b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/graphics/pdf_pens.dart index 2c1345a82..0c8795a7c 100644 --- a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/graphics/pdf_pens.dart +++ b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/graphics/pdf_pens.dart @@ -3209,7 +3209,7 @@ class PdfPens { static PdfPen _getPen(KnownColor kColor) { final ColorHelper color = ColorHelper(kColor); final PdfPen pen = - PdfPenHelper.immutable(PdfColor(color.r, color.g, color.b)); + PdfPenHelper.immutable(PdfColor(color.r, color.g, color.b, color.a)); _pens[kColor] = pen; return pen; } diff --git a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/pages/pdf_page.dart b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/pages/pdf_page.dart index 7397aa281..dd0d00cf0 100644 --- a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/pages/pdf_page.dart +++ b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/pages/pdf_page.dart @@ -781,10 +781,14 @@ class PdfPageHelper { .getObject(dictionary![PdfDictionaryProperties.annots]) as PdfArray?; if (annots != null) { for (int count = 0; count < annots.count; ++count) { - final PdfDictionary? annotDicrionary = - crossTable!.getObject(annots[count]) as PdfDictionary?; - final PdfReferenceHolder annotReference = - annots[count]! as PdfReferenceHolder; + PdfDictionary? annotDictionary; + if (crossTable!.getObject(annots[count]) is PdfDictionary) + annotDictionary = + crossTable!.getObject(annots[count]) as PdfDictionary?; + PdfReferenceHolder? annotReference; + if (crossTable!.getObject(annots[count]) is PdfReferenceHolder) + annotReference = + crossTable!.getObject(annots[count]) as PdfReferenceHolder?; if (document != null && PdfDocumentHelper.getHelper(document!).crossTable.encryptor != null && @@ -792,15 +796,15 @@ class PdfPageHelper { .crossTable .encryptor! .encryptAttachmentOnly!) { - if (annotDicrionary != null && - annotDicrionary.containsKey(PdfDictionaryProperties.subtype)) { - final IPdfPrimitive? primitive = annotDicrionary + if (annotDictionary != null && + annotDictionary.containsKey(PdfDictionaryProperties.subtype)) { + final IPdfPrimitive? primitive = annotDictionary .items![PdfName(PdfDictionaryProperties.subtype)]; if (primitive is PdfName && primitive.name == 'FileAttachment' && - annotDicrionary.containsKey(PdfDictionaryProperties.fs)) { + annotDictionary.containsKey(PdfDictionaryProperties.fs)) { final IPdfPrimitive? file = - annotDicrionary[PdfDictionaryProperties.fs]; + annotDictionary[PdfDictionaryProperties.fs]; if (file != null && file is PdfReferenceHolder) { final IPdfPrimitive? streamDictionary = file.object; if (streamDictionary != null && @@ -860,20 +864,25 @@ class PdfPageHelper { } } } - if (annotDicrionary != null && - annotDicrionary.containsKey(PdfDictionaryProperties.subtype)) { - final PdfName? name = annotDicrionary + if (annotDictionary != null && + annotDictionary.containsKey(PdfDictionaryProperties.subtype)) { + final PdfName? name = annotDictionary .items![PdfName(PdfDictionaryProperties.subtype)] as PdfName?; - if (name != null && name.name.toString() == 'Widget') { - if (annotDicrionary.containsKey(PdfDictionaryProperties.parent)) { - final PdfDictionary? annotParentDictionary = (annotDicrionary + if (name != null && name.name.toString() != 'Widget') { + if (!terminalAnnotation.contains(annotDictionary)) { + terminalAnnotation.add(annotDictionary); + } + } else if (name != null && name.name.toString() == 'Widget') { + if (annotDictionary.containsKey(PdfDictionaryProperties.parent)) { + final PdfDictionary? annotParentDictionary = (annotDictionary .items![PdfName(PdfDictionaryProperties.parent)]! as PdfReferenceHolder) .object as PdfDictionary?; if (annotParentDictionary != null) { if (!annotParentDictionary .containsKey(PdfDictionaryProperties.fields)) { - if (annotReference.reference != null && + if (annotReference != null && + annotReference.reference != null && !widgetReferences .contains(annotReference.reference!.objNum)) { if (!PdfFormHelper.getHelper(document!.form) @@ -886,16 +895,16 @@ class PdfPageHelper { } else if (annotParentDictionary .containsKey(PdfDictionaryProperties.kids) && annotParentDictionary.count == 1) { - annotDicrionary.remove(PdfDictionaryProperties.parent); + annotDictionary.remove(PdfDictionaryProperties.parent); } } else if (!annotParentDictionary .containsKey(PdfDictionaryProperties.kids)) { - annotDicrionary.remove(PdfDictionaryProperties.parent); + annotDictionary.remove(PdfDictionaryProperties.parent); } } } else if (!PdfFormHelper.getHelper(document!.form) .terminalFields - .contains(annotDicrionary)) { + .contains(annotDictionary)) { Map>? widgetDictionary = PdfFormHelper.getHelper(document!.form).widgetDictionary; if (widgetDictionary == null) { @@ -904,22 +913,22 @@ class PdfPageHelper { widgetDictionary = PdfFormHelper.getHelper(document!.form).widgetDictionary; } - if (annotDicrionary.containsKey(PdfDictionaryProperties.t)) { - final String? fieldName = (annotDicrionary + if (annotDictionary.containsKey(PdfDictionaryProperties.t)) { + final String? fieldName = (annotDictionary .items![PdfName(PdfDictionaryProperties.t)]! as PdfString) .value; if (widgetDictionary!.containsKey(fieldName)) { final List dict = widgetDictionary[fieldName]!; - dict.add(annotDicrionary); + dict.add(annotDictionary); } else { if (!PdfFormFieldCollectionHelper.getHelper( document!.form.fields) .addedFieldNames .contains(fieldName)) { widgetDictionary[fieldName] = [ - annotDicrionary + annotDictionary ]; } } @@ -927,7 +936,7 @@ class PdfPageHelper { } } } - if (annotReference.reference != null) { + if (annotReference != null && annotReference.reference != null) { if (!annotsReference.contains(annotReference.reference!)) { annotsReference.add(annotReference.reference!); } @@ -952,12 +961,12 @@ class PdfPageHelper { } } } - if (annotDicrionary != null && annotReference.reference != null) { + if (annotDictionary != null && annotReference.reference != null) { if (!widgetReferences .contains(annotReference.reference!.objNum) && !skip) { - if (!terminalAnnotation.contains(annotDicrionary)) { - terminalAnnotation.add(annotDicrionary); + if (!terminalAnnotation.contains(annotDictionary)) { + terminalAnnotation.add(annotDictionary); } } } diff --git a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/primitives/pdf_stream.dart b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/primitives/pdf_stream.dart index 129b08b46..33c399673 100644 --- a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/primitives/pdf_stream.dart +++ b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/primitives/pdf_stream.dart @@ -98,7 +98,7 @@ class PdfStream extends PdfDictionary { outputStream, false, PdfCompressionLevel.best, false) ..write(streamData, 0, streamData.length, false) ..close(); - if (outputStream != null && outputStream.isNotEmpty) { + if (outputStream.isNotEmpty) { clearStream(); compress = false; dataStream = outputStream; diff --git a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/security/digital_signature/pdf_signature.dart b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/security/digital_signature/pdf_signature.dart index a8ac9c611..7e634fc89 100644 --- a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/security/digital_signature/pdf_signature.dart +++ b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/security/digital_signature/pdf_signature.dart @@ -31,10 +31,11 @@ class PdfSignature { List? documentPermissions, CryptographicStandard cryptographicStandard = CryptographicStandard.cms, DigestAlgorithm digestAlgorithm = DigestAlgorithm.sha256, - PdfCertificate? certificate}) { + PdfCertificate? certificate, + DateTime? signedDate}) { _helper = PdfSignatureHelper(this); _init(signedName, locationInfo, reason, contactInfo, documentPermissions, - cryptographicStandard, digestAlgorithm, certificate); + cryptographicStandard, digestAlgorithm, certificate, signedDate); } //Fields @@ -56,9 +57,15 @@ class PdfSignature { /// Gets or sets the signed name String? signedName; - /// Gets the signed date. + /// Gets or sets the signed date. + /// + /// NOTE: The signed date can only be set when signing the PDF document and does not work on existing signatures. DateTime? get signedDate => _helper.dateOfSign; + set signedDate(DateTime? value) { + _helper.dateOfSign = value; + } + /// Gets or sets cryptographic standard. late CryptographicStandard cryptographicStandard; @@ -81,7 +88,8 @@ class PdfSignature { List? documentPermissions, CryptographicStandard cryptographicStandard, DigestAlgorithm digestAlgorithm, - PdfCertificate? pdfCertificate) { + PdfCertificate? pdfCertificate, + DateTime? signedDate) { this.cryptographicStandard = cryptographicStandard; this.digestAlgorithm = digestAlgorithm; if (signedName != null) { @@ -102,6 +110,9 @@ class PdfSignature { if (pdfCertificate != null) { certificate = pdfCertificate; } + if (signedDate != null) { + this.signedDate = signedDate; + } } /// Add external signer for signature. diff --git a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/security/digital_signature/pdf_signature_dictionary.dart b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/security/digital_signature/pdf_signature_dictionary.dart index 20c21b03b..4a33ec0a9 100644 --- a/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/security/digital_signature/pdf_signature_dictionary.dart +++ b/packages/syncfusion_flutter_pdf/lib/src/pdf/implementation/security/digital_signature/pdf_signature_dictionary.dart @@ -170,7 +170,10 @@ class PdfSignatureDictionary implements IPdfWrapper { } void _addDate() { - final DateTime dateTime = DateTime.now(); + DateTime dateTime = DateTime.now(); + if (_sig != null && _sig!.signedDate != null) { + dateTime = _sig!.signedDate!; + } final DateFormat dateFormat = DateFormat('yyyyMMddHHmmss'); final int regionMinutes = dateTime.timeZoneOffset.inMinutes ~/ 11; String offsetMinutes = regionMinutes.toString(); diff --git a/packages/syncfusion_flutter_pdf/lib/src/test/cross_reference_stream.dart b/packages/syncfusion_flutter_pdf/lib/src/test/cross_reference_stream.dart index c5f6ad223..f5f7a7556 100644 --- a/packages/syncfusion_flutter_pdf/lib/src/test/cross_reference_stream.dart +++ b/packages/syncfusion_flutter_pdf/lib/src/test/cross_reference_stream.dart @@ -308,7 +308,7 @@ void crossReferenceStream() { savePdf(bytes, 'SB_header_and_footer.pdf'); }); test('Bookmarks', () { - PdfLayoutResult? _addParagraph( + PdfLayoutResult? addParagraph( PdfPage page, String text, Rect bounds, bool isTitle, {bool subTitle = false}) { return PdfTextElement( @@ -327,7 +327,7 @@ void crossReferenceStream() { bounds.left, bounds.top, bounds.width, bounds.height)); } - PdfBookmark _addBookmark(PdfPage page, String text, Offset point, + PdfBookmark addBookmark(PdfPage page, String text, Offset point, {PdfDocument? doc, PdfBookmark? bookmark, PdfColor? color}) { PdfBookmark? book; if (doc != null) { @@ -357,166 +357,166 @@ void crossReferenceStream() { format: PdfStringFormat(alignment: PdfTextAlignment.center)); //Draw text - PdfLayoutResult? result = _addParagraph(page, 'Introduction', + PdfLayoutResult? result = addParagraph(page, 'Introduction', Rect.fromLTWH(0, 60, pageSize.width, pageSize.height), true); //Add bookmark - _addBookmark(page, 'Introduction', result!.bounds.topLeft, doc: document); - result = _addParagraph( + addBookmark(page, 'Introduction', result!.bounds.topLeft, doc: document); + result = addParagraph( result.page, "Adobe Systems Incorporated's Portable Document Format (PDF) is the de facto standard for the accurate, reliable, and platform-independent representation of a paged document. It's the only universally accepted file format that allows pixel-perfect layouts.In addition, PDF supports user interaction and collaborative workflows that are not possible with printed documents.", Rect.fromLTWH( 0, result.bounds.bottom + 30, pageSize.width, pageSize.height), false); - result = _addParagraph( + result = addParagraph( result!.page, 'The PDF Standard', Rect.fromLTWH( 0, result.bounds.bottom + 30, pageSize.width, pageSize.height), true); - final PdfBookmark standardBookmark = _addBookmark( + final PdfBookmark standardBookmark = addBookmark( result!.page, 'The PDF Standard', result.bounds.topLeft, doc: document); - result = _addParagraph( + result = addParagraph( result.page, 'The PDF format is an open standard maintained by the International Organization for Standardization. The official specification is defined in ISO 32000-1:2008, but Adobe also provides a free, comprehensive guide called PDF Reference - Sixth Edition.\nConceptual Overview: A PDF file can be divided into four parts: a header, body, cross-reference table, and trailer. The header marks the file as a PDF, the body defines the visible document, the cross-reference table lists the location of everything in the file, and the trailer provides instructions for how to start reading the file.', Rect.fromLTWH( 0, result.bounds.bottom + 30, pageSize.width, pageSize.height), false); - result = _addParagraph( + result = addParagraph( result!.page, 'Header', Rect.fromLTWH( 0, result.bounds.bottom + 30, pageSize.width, pageSize.height), true); - _addBookmark(result!.page, 'Header', result.bounds.topLeft, + addBookmark(result!.page, 'Header', result.bounds.topLeft, bookmark: standardBookmark); - result = _addParagraph( + result = addParagraph( result.page, 'The header is simply a PDF version number and an arbitrary sequence of binary data. The binary data prevents naïve applications from processing the PDF as a text file. This would result in a corrupted file, since a PDF typically consists of both plain text and binary data (e.g., a binary font file can be directly embedded in a PDF).', Rect.fromLTWH( 0, result.bounds.bottom + 30, pageSize.width, pageSize.height), false); - result = _addParagraph( + result = addParagraph( result!.page, 'Body', Rect.fromLTWH( 0, result.bounds.bottom + 30, pageSize.width, pageSize.height), true); - final PdfBookmark bodyBookmark = _addBookmark( + final PdfBookmark bodyBookmark = addBookmark( result!.page, 'Body', result.bounds.topLeft, bookmark: standardBookmark); - result = _addParagraph( + result = addParagraph( result.page, 'The body of a PDF contains the entire visible document. The minimum elements required in a valid PDF body are:\n1) A page tree \n2) Pages \n3) Resources \n4) Content \n5) The catalog', Rect.fromLTWH( 0, result.bounds.bottom + 30, pageSize.width, pageSize.height), false); - result = _addParagraph( + result = addParagraph( result!.page, '1. The Page Tree', Rect.fromLTWH( 0, result.bounds.bottom + 50, pageSize.width, pageSize.height), true, subTitle: true); - _addBookmark(result!.page, '1. The Page Tree', result.bounds.topLeft, + addBookmark(result!.page, '1. The Page Tree', result.bounds.topLeft, bookmark: bodyBookmark); - result = _addParagraph( + result = addParagraph( result.page, "The page tree is a dictionary object containing a list of the pages that make up the document. A minimal page tree contains just one page. Objects are enclosed in the obj and endobj tags, and they begin with a unique identification number (1 0). The first number is the object number, and the second is the generation number. The latter is only used for incremental updates, so all the generation numbers in our examples will be 0. As we'll see in a moment, PDFs use these identifiers to refer to individual objects from elsewhere in the document.", Rect.fromLTWH( 0, result.bounds.bottom + 30, pageSize.width, pageSize.height), false); - result = _addParagraph( + result = addParagraph( result!.page, '2. Page(s)', Rect.fromLTWH( 0, result.bounds.bottom + 30, pageSize.width, pageSize.height), true, subTitle: true); - _addBookmark(result!.page, '2. Page(s)', result.bounds.topLeft, + addBookmark(result!.page, '2. Page(s)', result.bounds.topLeft, bookmark: bodyBookmark); - result = _addParagraph( + result = addParagraph( result.page, "Next, we'll create the second object, which is the only page referenced by /Kids in the previous section. The /Type entry always specifies the type of the object. Many times, this can be omitted if the object type can be inferred by context. Note that PDF uses a name to identify the object type-not a literal string.", Rect.fromLTWH( 0, result.bounds.bottom + 30, pageSize.width, pageSize.height), false); - result = _addParagraph( + result = addParagraph( result!.page, '3. Resources', Rect.fromLTWH( 0, result.bounds.bottom + 30, pageSize.width, pageSize.height), true, subTitle: true); - _addBookmark(result!.page, '3. Resources', result.bounds.topLeft, + addBookmark(result!.page, '3. Resources', result.bounds.topLeft, bookmark: bodyBookmark); - result = _addParagraph( + result = addParagraph( result.page, "The third object is a resource defining a font configuration. The /Font key contains a whole dictionary, opposed to the name/value pairs we've seen previously (e.g., /Type /Page). The font we configured is called /F0, and the font face we selected is /Times-Roman. The /Subtype is the format of the font file, and /Type1 refers to the PostScript type 1 file format.", Rect.fromLTWH( 0, result.bounds.bottom + 30, pageSize.width, pageSize.height), false); - result = _addParagraph( + result = addParagraph( result!.page, '4. Content', Rect.fromLTWH( 0, result.bounds.bottom + 30, pageSize.width, pageSize.height), true, subTitle: true); - _addBookmark(result!.page, '4. Content', result.bounds.topLeft, + addBookmark(result!.page, '4. Content', result.bounds.topLeft, bookmark: bodyBookmark); - result = _addParagraph( + result = addParagraph( result.page, 'Finally, we are able to specify the actual content of the page. Page content is represented as a stream object. Stream objects consist of a dictionary of metadata and a stream of bytes.', Rect.fromLTWH( 0, result.bounds.bottom + 30, pageSize.width, pageSize.height), false, subTitle: true); - result = _addParagraph( + result = addParagraph( result!.page, '5. Catalog', Rect.fromLTWH( 0, result.bounds.bottom + 30, pageSize.width, pageSize.height), true, subTitle: true); - _addBookmark(result!.page, '5. Catalog', result.bounds.topLeft, + addBookmark(result!.page, '5. Catalog', result.bounds.topLeft, bookmark: bodyBookmark); - result = _addParagraph( + result = addParagraph( result.page, 'The last section of the body is the catalog, which points to the root page tree (1 0 R). This may seem like an unnecessary reference, but dividing a document into multiple page trees is a common way to optimize PDFs. In such a case, programs need to know where the document starts.', Rect.fromLTWH( 0, result.bounds.bottom + 30, pageSize.width, pageSize.height), false); - result = _addParagraph( + result = addParagraph( result!.page, 'Cross-Reference Table', Rect.fromLTWH( 0, result.bounds.bottom + 30, pageSize.width, pageSize.height), true); - _addBookmark(result!.page, 'Cross-Reference Table', result.bounds.topLeft, + addBookmark(result!.page, 'Cross-Reference Table', result.bounds.topLeft, bookmark: standardBookmark); - result = _addParagraph( + result = addParagraph( result.page, "The cross-reference table provides the location of each object in the body of the file. Locations are recorded as byte-offsets from the beginning of the file. This is another job for pdftk-all we have to do is add the xref keyword. We'll take a closer look at the cross-reference table after we generate the final PDF.", Rect.fromLTWH( 0, result.bounds.bottom + 30, pageSize.width, pageSize.height), false); - result = _addParagraph( + result = addParagraph( result!.page, 'Trailer', Rect.fromLTWH( 0, result.bounds.bottom + 30, pageSize.width, pageSize.height), true); - _addBookmark(result!.page, 'Trailer', result.bounds.topLeft, + addBookmark(result!.page, 'Trailer', result.bounds.topLeft, bookmark: standardBookmark); - result = _addParagraph( + result = addParagraph( result.page, "The last part of the file is the trailer. It's comprised of the trailer keyword, followed by a dictionary that contains a reference to the catalog, then a pointer to the crossreference table, and finally an end-of-file marker. The /Root points to the catalog, not the root page tree. This is important because the catalog can also contain important information about the document structure. The startxref keyword points to the location (in bytes) of the beginning of the crossreference table.", Rect.fromLTWH( diff --git a/packages/syncfusion_flutter_pdf/lib/src/test/digital_signature.dart b/packages/syncfusion_flutter_pdf/lib/src/test/digital_signature.dart index e76abba98..6f278f139 100644 --- a/packages/syncfusion_flutter_pdf/lib/src/test/digital_signature.dart +++ b/packages/syncfusion_flutter_pdf/lib/src/test/digital_signature.dart @@ -117,6 +117,61 @@ void digitalSignatureTest() { }); }); }); + test('Signed date test 1', () { + PdfDocument document = PdfDocument(); + final PdfPage page = document.pages.add(); + final PdfCertificate certificate = + PdfCertificate(base64.decode(pdfPfx), 'syncfusion'); + final PdfSignatureField field = PdfSignatureField(page, 'signature', + bounds: const Rect.fromLTWH(40, 40, 200, 100), + signature: PdfSignature( + certificate: certificate, + contactInfo: 'johndoe@owned.us', + locationInfo: 'Honolulu, Hawaii', + reason: 'I am author of this document.', + signedDate: DateTime(2015, 07, 21, 5, 50, 50))); + document.form.fields.add(field); + final List bytes = document.saveSync(); + document.dispose(); + document = PdfDocument(inputBytes: bytes); + expect( + (document.form.fields[0] as PdfSignatureField) + .signature! + .signedDate + .toString(), + '2015-07-21 05:50:50.000'); + document.dispose(); + bytes.clear(); + }); + test('Signed date test 2', () { + PdfDocument document = PdfDocument(); + List bytes = document.saveSync(); + document.dispose(); + document = PdfDocument(inputBytes: bytes); + final PdfPage page = document.pages[0]; + final PdfCertificate certificate = + PdfCertificate(base64.decode(pdfPfx), 'syncfusion'); + final PdfSignatureField field = PdfSignatureField(page, 'signature', + bounds: const Rect.fromLTWH(40, 40, 200, 100), + signature: PdfSignature( + certificate: certificate, + contactInfo: 'johndoe@owned.us', + locationInfo: 'Honolulu, Hawaii', + reason: 'I am author of this document.') + ..signedDate = DateTime(2015, 07, 21, 5, 50, 50)); + document.form.fields.add(field); + bytes = document.saveSync(); + document.dispose(); + document = PdfDocument(inputBytes: bytes); + expect( + (document.form.fields[0] as PdfSignatureField) + .signature! + .signedDate + .toString(), + '2015-07-21 05:50:50.000'); + document.dispose(); + bytes.clear(); + }); }); } diff --git a/packages/syncfusion_flutter_pdf/lib/src/test/find_text.dart b/packages/syncfusion_flutter_pdf/lib/src/test/find_text.dart index c773282d9..540df6f7e 100644 --- a/packages/syncfusion_flutter_pdf/lib/src/test/find_text.dart +++ b/packages/syncfusion_flutter_pdf/lib/src/test/find_text.dart @@ -320,6 +320,83 @@ void findTextFromExistingPdf() { _drawRectangleOnMatchedBounds(matchedItems, doc, 'FLUT-5418_9.pdf'); }); }); + group('FLUT-6788', () { + test('test 1', () { + final PdfDocument doc = PdfDocument.fromBase64String(flut6788Pdf_1); + final PdfTextExtractor textExtractor = PdfTextExtractor(doc); + final List matchedItems = textExtractor.extractTextLines(); + expect(matchedItems.isNotEmpty, true, + reason: 'Failed to extract text line from flut5314Pdf'); + drawRectangleWithTextLine(matchedItems, doc, 'FLUT-6788_1.pdf'); + }); + test('test 2', () { + final PdfDocument doc = PdfDocument.fromBase64String(flut6788Pdf_1); + final PdfTextExtractor textExtractor = PdfTextExtractor(doc); + final List matchedItems = textExtractor.extractTextLines(); + expect(matchedItems.isNotEmpty, true, + reason: 'Failed to extract text line glyph from flut5314Pdf'); + drawRectangleWithTextLineGlyphs(matchedItems, doc, 'FLUT-6788_2.pdf'); + }); + test('test 3', () { + final PdfDocument doc = PdfDocument.fromBase64String(flut6788Pdf_1); + final PdfTextExtractor textExtractor = PdfTextExtractor(doc); + final List matchedItems = + textExtractor.findText(['a', 'b', 'c', 'd', 'e', 'f']); + expect(matchedItems.isNotEmpty, true, + reason: 'Failed to find text from flut5314Pdf'); + _drawRectangleOnMatchedBounds(matchedItems, doc, 'FLUT-6788_3.pdf'); + }); + test('test 4', () { + final PdfDocument doc = PdfDocument.fromBase64String(flut6788Pdf_2); + final PdfTextExtractor textExtractor = PdfTextExtractor(doc); + final List matchedItems = textExtractor.extractTextLines(); + expect(matchedItems.isNotEmpty, true, + reason: 'Failed to extract text line from flut5314Pdf'); + drawRectangleWithTextLine(matchedItems, doc, 'FLUT-6788_4.pdf'); + }); + test('test 5', () { + final PdfDocument doc = PdfDocument.fromBase64String(flut6788Pdf_2); + final PdfTextExtractor textExtractor = PdfTextExtractor(doc); + final List matchedItems = textExtractor.extractTextLines(); + expect(matchedItems.isNotEmpty, true, + reason: 'Failed to extract text line glyph from flut5314Pdf'); + drawRectangleWithTextLineGlyphs(matchedItems, doc, 'FLUT-6788_5.pdf'); + }); + test('test 6', () { + final PdfDocument doc = PdfDocument.fromBase64String(flut6788Pdf_2); + final PdfTextExtractor textExtractor = PdfTextExtractor(doc); + final List matchedItems = + textExtractor.findText(['a', 'b', 'c', 'd', 'e', 'f']); + expect(matchedItems.isNotEmpty, true, + reason: 'Failed to find text from flut5314Pdf'); + _drawRectangleOnMatchedBounds(matchedItems, doc, 'FLUT-6788_6.pdf'); + }); + test('test 7', () { + final PdfDocument doc = PdfDocument.fromBase64String(flut6788Pdf_3); + final PdfTextExtractor textExtractor = PdfTextExtractor(doc); + final List matchedItems = textExtractor.extractTextLines(); + expect(matchedItems.isNotEmpty, true, + reason: 'Failed to extract text line from flut5314Pdf'); + drawRectangleWithTextLine(matchedItems, doc, 'FLUT-6788_7.pdf'); + }); + test('test 8', () { + final PdfDocument doc = PdfDocument.fromBase64String(flut6788Pdf_3); + final PdfTextExtractor textExtractor = PdfTextExtractor(doc); + final List matchedItems = textExtractor.extractTextLines(); + expect(matchedItems.isNotEmpty, true, + reason: 'Failed to extract text line glyph from flut5314Pdf'); + drawRectangleWithTextLineGlyphs(matchedItems, doc, 'FLUT-6788_8.pdf'); + }); + test('test 9', () { + final PdfDocument doc = PdfDocument.fromBase64String(flut6788Pdf_3); + final PdfTextExtractor textExtractor = PdfTextExtractor(doc); + final List matchedItems = + textExtractor.findText(['a', 'b', 'c', 'd', 'e', 'f']); + expect(matchedItems.isNotEmpty, true, + reason: 'Failed to find text from flut5314Pdf'); + _drawRectangleOnMatchedBounds(matchedItems, doc, 'FLUT-6788_9.pdf'); + }); + }); } void _drawRectangleOnMatchedBounds( @@ -434,3 +511,15 @@ String flut5418_2Pdf = String flut5418_3Pdf = // ignore: lines_longer_than_80_chars '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b2JqCjEzMCAwIG9iago8PCAvUHJvY1NldCBbIC9QREYgL1RleHQgXSAvQ29sb3JTcGFjZSA8PCAvQ3MyIDEzIDAgUiAvQ3MxIDcgMCBSID4+IC9Gb250Cjw8IC9UVDIgMTAgMCBSIC9UVDMgMTIgMCBSIC9DMiAxMSAwIFIgPj4gPj4KZW5kb2JqCjEzMyAwIG9iago8PCAvTGVuZ3RoIDEzNCAwIFIgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngBjY5BCsJADEX3PcVb2oW0M4rVreIBCoEeYLCIzAjj3B/86cK1ZPHDz8tPKjOVUXUKkekS+TxYeDPcWiA1Ai1p6pPyY/LWjeRtM/Nk7f5gRCusKtMP7l08NxWuxsE9udJw5jh1VhjMomhb2dFjL+6mf+cvBTQm4AplbmRzdHJlYW0KZW5kb2JqCjEzNCAwIG9iagoxMjAKZW5kb2JqCjEzMSAwIG9iago8PCAvVHlwZSAvUGFnZSAvUGFyZW50IDEzMiAwIFIgL1Jlc291cmNlcyAxMzUgMCBSIC9Db250ZW50cyAxMzMgMCBSIC9NZWRpYUJveApbMCAwIDYxMiA3OTJdID4+CmVuZG9iagoxMzUgMCBvYmoKPDwgL1Byb2NTZXQgWyAvUERGIC9UZXh0IF0gL0NvbG9yU3BhY2UgPDwgL0NzMSA3IDAgUiA+PiAvRm9udCA8PCAvVFQyIDEwIDAgUgovVFQzIDEyIDAgUiA+PiA+PgplbmRvYmoKMyAwIG9iago8PCAvVHlwZSAvUGFnZXMgL1BhcmVudCAxMzYgMCBSIC9Db3VudCA4IC9LaWRzIFsgMiAwIFIgMzEgMCBSIDM2IDAgUiA0MCAwIFIKNDQgMCBSIDQ4IDAgUiA1MiAwIFIgNTYgMCBSIF0gPj4KZW5kb2JqCjYyIDAgb2JqCjw8IC9UeXBlIC9QYWdlcyAvUGFyZW50IDEzNiAwIFIgL0NvdW50IDggL0tpZHMgWyA2MSAwIFIgNjYgMCBSIDcwIDAgUiA3NSAwIFIKNzkgMCBSIDgzIDAgUiA4OCAwIFIgOTIgMCBSIF0gPj4KZW5kb2JqCjk3IDAgb2JqCjw8IC9UeXBlIC9QYWdlcyAvUGFyZW50IDEzNiAwIFIgL0NvdW50IDggL0tpZHMgWyA5NiAwIFIgMTAxIDAgUiAxMDYgMCBSIDExMCAwIFIKMTE0IDAgUiAxMTkgMCBSIDEyMyAwIFIgMTI3IDAgUiBdID4+CmVuZG9iagoxMzIgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9QYXJlbnQgMTM2IDAgUiAvQ291bnQgMSAvS2lkcyBbIDEzMSAwIFIgXSA+PgplbmRvYmoKMTM2IDAgb2JqCjw8IC9UeXBlIC9QYWdlcyAvTWVkaWFCb3ggWzAgMCA2MTIgNzkyXSAvQ291bnQgMjUgL0tpZHMgWyAzIDAgUiA2MiAwIFIgOTcgMCBSCjEzMiAwIFIgXSA+PgplbmRvYmoKMTM3IDAgb2JqCjw8IC9UeXBlIC9DYXRhbG9nIC9QYWdlcyAxMzYgMCBSID4+CmVuZG9iago2MCAwIG9iagpbIDU2IDAgUiAvWFlaIDE4IDQ1Ni41IDAgXQplbmRvYmoKODcgMCBvYmoKWyA4MyAwIFIgL1hZWiAxOCA5OC41IDAgXQplbmRvYmoKNzQgMCBvYmoKWyA3MCAwIFIgL1hZWiAxOCA2NzcuNSAwIF0KZW5kb2JqCjExOCAwIG9iagpbIDExNCAwIFIgL1hZWiAxOCA2MzYuMjUgMCBdCmVuZG9iagozNSAwIG9iagpbIDMxIDAgUiAvWFlaIDE4IDUxMS43NSAwIF0KZW5kb2JqCjEwNSAwIG9iagpbIDEwMSAwIFIgL1hZWiAxOCA1ODEgMCBdCmVuZG9iagoyNiAwIG9iago8PCAvU3VidHlwZSAvTGluayAvUmVjdCBbNDg2IDM2My41IDU2MS4wNTk5IDQxMy43NV0gL0Rlc3QgMTE4IDAgUiAvVHlwZSAvQW5ub3QKL0JvcmRlciBbIDAgMCAwIF0gPj4KZW5kb2JqCjI1IDAgb2JqCjw8IC9TdWJ0eXBlIC9MaW5rIC9SZWN0IFs0ODYgMzU4LjUgNTYxLjA1OTkgMzYzLjVdIC9EZXN0IDExOCAwIFIgL1R5cGUgL0Fubm90Ci9Cb3JkZXIgWyAwIDAgMCBdID4+CmVuZG9iagoyNCAwIG9iago8PCAvU3VidHlwZSAvTGluayAvUmVjdCBbNDg2IDQxOC43NSA1NjEuMDU5OSA0NjldIC9EZXN0IDEwNSAwIFIgL1R5cGUgL0Fubm90Ci9Cb3JkZXIgWyAwIDAgMCBdID4+CmVuZG9iagoyMyAwIG9iago8PCAvU3VidHlwZSAvTGluayAvUmVjdCBbNDg2IDQxMy43NSA1NjEuMDU5OSA0MTguNzVdIC9EZXN0IDEwNSAwIFIgL1R5cGUgL0Fubm90Ci9Cb3JkZXIgWyAwIDAgMCBdID4+CmVuZG9iagoyMiAwIG9iago8PCAvU3VidHlwZSAvTGluayAvUmVjdCBbNDg2IDQ3NCA1NjEuMDU5OSA1MjQuMjVdIC9EZXN0IDg3IDAgUiAvVHlwZSAvQW5ub3QKL0JvcmRlciBbIDAgMCAwIF0gPj4KZW5kb2JqCjIxIDAgb2JqCjw8IC9TdWJ0eXBlIC9MaW5rIC9SZWN0IFs0ODYgNDY5IDU2MS4wNTk5IDQ3NF0gL0Rlc3QgODcgMCBSIC9UeXBlIC9Bbm5vdCAvQm9yZGVyClsgMCAwIDAgXSA+PgplbmRvYmoKMjAgMCBvYmoKPDwgL1N1YnR5cGUgL0xpbmsgL1JlY3QgWzQ4NiA1MjkuMjUgNTYxLjA1OTkgNTc5LjVdIC9EZXN0IDc0IDAgUiAvVHlwZSAvQW5ub3QKL0JvcmRlciBbIDAgMCAwIF0gPj4KZW5kb2JqCjE5IDAgb2JqCjw8IC9TdWJ0eXBlIC9MaW5rIC9SZWN0IFs0ODYgNTI0LjI1IDU2MS4wNTk5IDUyOS4yNV0gL0Rlc3QgNzQgMCBSIC9UeXBlIC9Bbm5vdAovQm9yZGVyIFsgMCAwIDAgXSA+PgplbmRvYmoKMTggMCBvYmoKPDwgL1N1YnR5cGUgL0xpbmsgL1JlY3QgWzQ4NiA1ODQuNSA1NjEuMDU5OSA2MzQuNzVdIC9EZXN0IDYwIDAgUiAvVHlwZSAvQW5ub3QKL0JvcmRlciBbIDAgMCAwIF0gPj4KZW5kb2JqCjE3IDAgb2JqCjw8IC9TdWJ0eXBlIC9MaW5rIC9SZWN0IFs0ODYgNTc5LjUgNTYxLjA1OTkgNTg0LjVdIC9EZXN0IDYwIDAgUiAvVHlwZSAvQW5ub3QKL0JvcmRlciBbIDAgMCAwIF0gPj4KZW5kb2JqCjE2IDAgb2JqCjw8IC9TdWJ0eXBlIC9MaW5rIC9SZWN0IFs0ODYgNjM5Ljc1IDU2MS4wNTk5IDY5MF0gL0Rlc3QgMzUgMCBSIC9UeXBlIC9Bbm5vdAovQm9yZGVyIFsgMCAwIDAgXSA+PgplbmRvYmoKMTUgMCBvYmoKPDwgL1N1YnR5cGUgL0xpbmsgL1JlY3QgWzQ4NiA2MzQuNzUgNTYxLjA1OTkgNjM5Ljc1XSAvRGVzdCAzNSAwIFIgL1R5cGUgL0Fubm90Ci9Cb3JkZXIgWyAwIDAgMCBdID4+CmVuZG9iago5IDAgb2JqCjw8IC9UeXBlIC9Gb250IC9TdWJ0eXBlIC9UeXBlMCAvRW5jb2RpbmcgL0lkZW50aXR5LUggL0Rlc2NlbmRhbnRGb250cyBbMTM4IDAgUl0KL0Jhc2VGb250IC9HWVlIUkErSGlyYUtha3VQcm9OLVc2ID4+CmVuZG9iagoxMzggMCBvYmoKPDwgL1R5cGUgL0ZvbnQgL1N1YnR5cGUgL0NJREZvbnRUeXBlMCAvQmFzZUZvbnQgL0dZWUhSQStIaXJhS2FrdVByb04tVzYgL0NJRFN5c3RlbUluZm8KPDwgL1JlZ2lzdHJ5IChBZG9iZSkgL09yZGVyaW5nIChKYXBhbjEpIC9TdXBwbGVtZW50IDYgPj4gL1cgMTM5IDAgUiAvRFcgMTAwMAovRm9udERlc2NyaXB0b3IgMTQwIDAgUiA+PgplbmRvYmoKMTM5IDAgb2JqClsgXQplbmRvYmoKMTQwIDAgb2JqCjw8IC9UeXBlIC9Gb250RGVzY3JpcHRvciAvRm9udE5hbWUgL0dZWUhSQStIaXJhS2FrdVByb04tVzYgL0ZsYWdzIDQgL0ZvbnRCQm94ClstNDMyIC00NzggMTM1OCAxMzEyXSAvSXRhbGljQW5nbGUgMCAvQXNjZW50IDg4MCAvRGVzY2VudCAtMTIwIC9DYXBIZWlnaHQKNzg0IC9TdGVtViAxMjkgL0xlYWRpbmcgNTAwIC9YSGVpZ2h0IDU2MiAvU3RlbUggMTE3IC9BdmdXaWR0aCAxMDAwIC9NYXhXaWR0aAoxNzkwIC9Gb250RmlsZTMgMTQxIDAgUiA+PgplbmRvYmoKMTQxIDAgb2JqCjw8IC9MZW5ndGggMTQyIDAgUiAvU3VidHlwZSAvQ0lERm9udFR5cGUwQyAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGtend0E9fWr2XhmQGMCNhDZA1IDoQUSmgBEnrvmOqOu2XLkq3iXrFx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MDAwIG4gCjAwMDAwNTMyNTEgMDAwMDAgbiAKMDAwMDAwMjc5NCAwMDAwMCBuIAowMDAwMDAxNTE5IDAwMDAwIG4gCjAwMDAwMzQyMjQgMDAwMDAgbiAKMDAwMDAzNDExMSAwMDAwMCBuIAowMDAwMDMzOTk3IDAwMDAwIG4gCjAwMDAwMzM4ODIgMDAwMDAgbiAKMDAwMDAzMzc2NiAwMDAwMCBuIAowMDAwMDMzNjUxIDAwMDAwIG4gCjAwMDAwMzM1NDEgMDAwMDAgbiAKMDAwMDAzMzQyOCAwMDAwMCBuIAowMDAwMDMzMzExIDAwMDAwIG4gCjAwMDAwMzMxOTcgMDAwMDAgbiAKMDAwMDAzMzA4MiAwMDAwMCBuIAowMDAwMDMyOTY2IDAwMDAwIG4gCjAwMDAwMDE2MjMgMDAwMDAgbiAKMDAwMDAwMjc3MyAwMDAwMCBuIAowMDAwMDAyODMxIDAwMDAwIG4gCjAwMDAwMDQwMjMgMDAwMDAgbiAKMDAwMDAwNTAxMiAwMDAwMCBuIAowMDAwMDA0MDgwIDAwMDAwIG4gCjAwMDAwMDQ5OTIgMDAwMDAgbiAKMDAwMDAwNTExOSAwMDAwMCBuIAowMDAwMDMyODc5IDAwMDAwIG4gCjAwMDAwMDYyOTQgMDAwMDAgbiAKMDAwMDAwNTI3NCAwMDAwMCBuIAowMDAwMDA2Mjc0IDAwMDAwIG4gCjAwMDAwMDY0MDEgMDAwMDAgbiAKMDAwMDAwNzUxNCAwMDAwMCBuIAowMDAwMDA2NTM1IDAwMDAwIG4gCjAwMDAwMDc0OTQgMDAwMDAgbiAKMDAwMDAwNzYyMSAwMDAwMCBuIAowMDAwMDA4NzExIDAwMDAwIG4gCjAwMDAwMDc3NTUgMDAwMDAgbiAKMDAwMDAwODY5MSAwMDAwMCBuIAowMDAwMDA4ODE4IDAwMDAwIG4gCjAwMDAwMDk5MzYgMDAwMDAgbiAKMDAwMDAwODk1MiAwMDAwMCBuIAowMDAwMDA5OTE2IDAwMDAwIG4gCjAwMDAwMTAwNDMgMDAwMDAgbiAKMDAwMDAxMTE3NCAwMDAwMCBuIAowMDAwMDEwMTc3IDAwMDAwIG4gCjAwMDAwMTExNTQgMDAwMDAgbiAKMDAwMDAxMTI4MSAwMDAwMCBuIAowMDAwMDEyNDc0IDAwMDAwIG4gCjAwMDAwMTE0MTUgMDAwMDAgbiAKMDAwMDAxMjQ1NCAwMDAwMCBuIAowMDAwMDEyNTgxIDAwMDAwIG4gCjAwMDAwMzI3MDUgMDAwMDAgbiAKMDAwMDAxMzcxMiAwMDAwMCBuIAowMDAwMDMyMjA2IDAwMDAwIG4gCjAwMDAwMTI3MzYgMDAwMDAgbiAKMDAwMDAxMzY5MiAwMDAwMCBuIAowMDAwMDEzODIwIDAwMDAwIG4gCjAwMDAwMTQ5MDUgMDAwMDAgbiAKMDAwMDAxMzk1NCAwMDAwMCBuIAowMDAwMDE0ODg1IDAwMDAwIG4gCjAwMDAwMTUwMTMgMDAwMDAgbiAKMDAwMDAxNjA0NCAwMDAwMCBuIAowMDAwMDE1MTQ3IDAwMDAwIG4gCjAwMDAwMTYwMjQgMDAwMDAgbiAKMDAwMDAxNjE1MiAwMDAwMCBuIAowMDAwMDMyNzkwIDAwMDAwIG4gCjAwMDAwMTcxNzMgMDAwMDAgbiAKMDAwMDAxNjMwNyAwMDAwMCBuIAowMDAwMDE3MTUzIDAwMDAwIG4gCjAwMDAwMTcyODEgMDAwMDAgbiAKMDAwMDAxODM2MSAwMDAwMCBuIAowMDAwMDE3NDE1IDAwMDAwIG4gCjAwMDAwMTgzNDEgMDAwMDAgbiAKMDAwMDAxODQ2OSAwMDAwMCBuIAowMDAwMDE5NTI2IDAwMDAwIG4gCjAwMDAwMTg2MDMgMDAwMDAgbiAKMDAwMDAxOTUwNiAwMDAwMCBuIAowMDAwMDE5NjM0IDAwMDAwIG4gCjAwMDAwMzI3NDggMDAwMDAgbiAKMDAwMDAyMDc0NiAwMDAwMCBuIAowMDAwMDE5Nzg5IDAwMDAwIG4gCjAwMDAwMjA3MjYgMDAwMDAgbiAKMDAwMDAyMDg1NCAwMDAwMCBuIAowMDAwMDIxOTMzIDAwMDAwIG4gCjAwMDAwMjA5ODggMDAwMDAgbiAKMDAwMDAyMTkxMyAwMDAwMCBuIAowMDAwMDIyMDQxIDAwMDAwIG4gCjAwMDAwMjMwOTQgMDAwMDAgbiAKMDAwMDAzMjMzMiAwMDAwMCBuIAowMDAwMDIyMTc1IDAwMDAwIG4gCjAwMDAwMjMwNzQgMDAwMDAgbiAKMDAwMDAyMzIwMyAwMDAwMCBuIAowMDAwMDI0MjA4IDAwMDAwIG4gCjAwMDAwMjMzMzggMDAwMDAgbiAKMDAwMDAyNDE4NyAwMDAwMCBuIAowMDAwMDI0MzE5IDAwMDAwIG4gCjAwMDAwMzI5MjMgMDAwMDAgbiAKMDAwMDAyNTQzOSAwMDAwMCBuIAowMDAwMDI0NDc1IDAwMDAwIG4gCjAwMDAwMjU0MTggMDAwMDAgbiAKMDAwMDAyNTU1MCAwMDAwMCBuIAowMDAwMDI2NTg1IDAwMDAwIG4gCjAwMDAwMjU2ODUgMDAwMDAgbiAKMDAwMDAyNjU2NCAwMDAwMCBuIAowMDAwMDI2Njk2IDAwMDAwIG4gCjAwMDAwMjc3ODUgMDAwMDAgbiAKMDAwMDAyNjgzMSAwMDAwMCBuIAowMDAwMDI3NzY0IDAwMDAwIG4gCjAwMDAwMjc4OTYgMDAwMDAgbiAKMDAwMDAzMjgzMyAwMDAwMCBuIAowMDAwMDI4OTkwIDAwMDAwIG4gCjAwMDAwMjgwNTIgMDAwMDAgbiAKMDAwMDAyODk2OSAwMDAwMCBuIAowMDAwMDI5MTAxIDAwMDAwIG4gCjAwMDAwMzAxMjggMDAwMDAgbiAKMDAwMDAyOTIzNiAwMDAwMCBuIAowMDAwMDMwMTA3IDAwMDAwIG4gCjAwMDAwMzAyMzkgMDAwMDAgbiAKMDAwMDAzMTM5MyAwMDAwMCBuIAowMDAwMDMwMzc0IDAwMDAwIG4gCjAwMDAwMzEzNzIgMDAwMDAgbiAKMDAwMDAzMTUwNCAwMDAwMCBuIAowMDAwMDMxODU4IDAwMDAwIG4gCjAwMDAwMzI0NjUgMDAwMDAgbiAKMDAwMDAzMTYzOSAwMDAwMCBuIAowMDAwMDMxODM3IDAwMDAwIG4gCjAwMDAwMzE5NzAgMDAwMDAgbiAKMDAwMDAzMjU0NCAwMDAwMCBuIAowMDAwMDMyNjUyIDAwMDAwIG4gCjAwMDAwMzQ0NzIgMDAwMDAgbiAKMDAwMDAzNDY4MCAwMDAwMCBuIAowMDAwMDM0NzAxIDAwMDAwIG4gCjAwMDAwMzQ5NzQgMDAwMDAgbiAKMDAwMDA0MzM1OSAwMDAwMCBuIAowMDAwMDQ0MDc5IDAwMDAwIG4gCjAwMDAwNDQzNDcgMDAwMDAgbiAKMDAwMDA1MzIyOSAwMDAwMCBuIAowMDAwMDUzNzU4IDAwMDAwIG4gCjAwMDAwNTM0MjYgMDAwMDAgbiAKMDAwMDA1MzczNyAwMDAwMCBuIAowMDAwMDU0MDI1IDAwMDAwIG4gCjAwMDAwNTUyMzQgMDAwMDAgbiAKMDAwMDA1NTM4OSAwMDAwMCBuIAowMDAwMDU1NTk3IDAwMDAwIG4gCjAwMDAwNTU2MTggMDAwMDAgbiAKMDAwMDA1NTg4OSAwMDAwMCBuIAowMDAwMTQ0Mzc1IDAwMDAwIG4gCjAwMDAxNDQ3NzcgMDAwMDAgbiAKMDAwMDE0NTA1MyAwMDAwMCBuIAowMDAwMTQ4NzczIDAwMDAwIG4gCjAwMDAxNDg3OTUgMDAwMDAgbiAKMDAwMDE0ODg0NCAwMDAwMCBuIAowMDAwMTQ4ODk2IDAwMDAwIG4gCjAwMDAxNDg5MjEgMDAwMDAgbiAKMDAwMDE0ODk2NCAwMDAwMCBuIAowMDAwMTQ4OTg0IDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUgMTY1IC9Sb290IDEzNyAwIFIgL0luZm8gMSAwIFIgL0lEIFsgPGIwYzU4NzAzZmI1OTNhODZhNGVmODIyMDM0OWU2ZWVjPgo8YjBjNTg3MDNmYjU5M2E4NmE0ZWY4MjIwMzQ5ZTZlZWM+IF0gPj4Kc3RhcnR4cmVmCjE0OTE1NgolJUVPRgo='; + +// ignore: public_member_api_docs +String flut6788Pdf_1 = + 'JVBERi0xLjQNCiWDkvr+DQoxIDAgb2JqDQo8PA0KL1R5cGUgL0NhdGFsb2cNCi9QYWdlcyAyIDAgUg0KL0Fjcm9Gb3JtIDMgMCBSDQo+Pg0KZW5kb2JqDQoyIDAgb2JqDQo8PA0KL1R5cGUgL1BhZ2VzDQovS2lkcyBbNCAwIFJdDQovQ291bnQgMQ0KL1Jlc291cmNlcyA8PD4+DQoNCi9NZWRpYUJveCBbMCAwIDU5NSA4NDJdDQovUm90YXRlIDANCj4+DQplbmRvYmoNCjMgMCBvYmoNCjw8DQovRmllbGRzIFtdDQo+Pg0KZW5kb2JqDQo0IDAgb2JqDQo8PA0KL0NvdW50IDENCi9UeXBlIC9QYWdlcw0KL0tpZHMgWzUgMCBSXQ0KL1BhcmVudCAyIDAgUg0KL01lZGlhQm94IFswIDAgNTMxIDY0OF0NCj4+DQplbmRvYmoNCjUgMCBvYmoNCjw8DQovVHlwZSAvUGFnZQ0KL1BhcmVudCA0IDAgUg0KL0Nyb3BCb3ggWzAgMCA1MzEgNjQ4XQ0KL01lZGlhQm94IFswIDAgNTMxIDY0OF0NCi9Db250ZW50cyBbNiAwIFIgNyAwIFIgOCAwIFJdDQovUmVzb3VyY2VzIDw8DQovWE9iamVjdCA8PA0KL0ltYWdlMTc0NSA5IDAgUg0KPj4NCg0KL1Byb2NTZXQgWy9QREYgL1RleHQgL0ltYWdlQiAvSW1hZ2VDIC9JbWFnZUldDQovRm9udCA8PA0KL0Y5IDEwIDAgUg0KL0YxMSAxMSAwIFINCi9GMSAxMiAwIFINCi9GMyAxMyAwIFINCi9GNCAxNCAwIFINCj4+DQoNCj4+DQoNCi9Sb3RhdGUgMA0KPj4NCmVuZG9iag0KNiAwIG9iag0KPDwNCi9MZW5ndGggOQ0KL0ZpbHRlciAvRmxhdGVEZWNvZGUNCj4+DQpzdHJlYW0NCnheKwQAAHIAcg0KZW5kc3RyZWFtDQplbmRvYmoNCjcgMCBvYmoNCjw8DQovTGVuZ3RoIDI5MDANCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlDQo+Pg0Kc3RyZWFtDQp4XrVbWW8jNxJ+N+D/wEd1sKKbVx+7AwE+ZrKz2AQJxkAQTPQg27IsRJY8sjzeCZD/vlVFsm9atoc2IJndzWYV6+JXReroeLtbXs8u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b2UNCi9Ub1VuaWNvZGUgMjEgMCBSDQovRW5jb2RpbmcgL0lkZW50aXR5LUgNCi9EZXNjZW5kYW50Rm9udHMgMjIgMCBSDQovVHlwZSAvRm9udA0KL1N1YnR5cGUgL1R5cGUwDQo+Pg0KZW5kb2JqDQoxNCAwIG9iag0KPDwNCi9CYXNlRm9udCAvQUJDREVFK1NlZ29lLEJvbGQNCi9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nDQovRmlyc3RDaGFyIDMyDQovVHlwZSAvRm9udA0KL1N1YnR5cGUgL1RydWVUeXBlDQovTmFtZSAvRjQNCi9MYXN0Q2hhciAxMjINCi9XaWR0aHMgMjMgMCBSDQovRm9udERlc2NyaXB0b3IgMjQgMCBSDQo+Pg0KZW5kb2JqDQoxNSAwIG9iag0KWzYwMCAwIDAgNjAwIDAgMCA2MDAgMCA2MDAgNjAwIDAgMCA2MDAgNjAwIDYwMCAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCAwIDAgMCA2MDAgNjAwIDYwMCAwIDYwMCAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDAgMCAwIDAgNjAwIDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgMCA2MDBdDQplbmRvYmoNCjE2IDAgb2JqDQo8PA0KL01heFdpZHRoIDc0NA0KL0l0YWxpY0FuZ2xlIDANCi9BdmdXaWR0aCA2MDANCi9Gb250V2VpZ2h0IDQwMA0KL0ZsYWdzIDMyDQovRm9udEZpbGUyIDI1IDAgUg0KL0ZvbnRCQm94IFstMTIyIC0xODggNjIzIDYxM10NCi9DYXBIZWlnaHQgNjEzDQovVHlwZSAvRm9udERlc2NyaXB0b3INCi9EZXNjZW50IC0xODgNCi9Bc2NlbnQgODMzDQovRm9udE5hbWUgL0FCQ0RFRStDb3VyaWVyIzIwTmV3DQovU3RlbVYgNjANCi9YSGVpZ2h0IDI1MA0KPj4NCmVuZG9iag0KMTcgMCBvYmoNCls2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzIDYwMyA2MDMgNjAzXQ0KZW5kb2JqDQoxOCAwIG9iag0KPDwNCi9NYXhXaWR0aCA2MjUNCi9JdGFsaWNBbmdsZSAwDQovQXZnV2lkdGggNjAzDQovTGVhZGluZyA0Mg0KL0ZvbnRXZWlnaHQgNDAwDQovRmxhZ3MgMzINCi9Gb250RmlsZTIgMjYgMCBSDQovRm9udEJCb3ggWzAgMjA1IDYyNSA3NzFdDQovQ2FwSGVpZ2h0IDc3MQ0KL1R5cGUgL0ZvbnREZXNjcmlwdG9yDQovRGVzY2VudCAyMDUNCi9Bc2NlbnQgOTY0DQovRm9udE5hbWUgL0FCQ0RFRStMdWNpZGEjMjBTYW5zIzIwVHlwZXdyaXRlcg0KL1N0ZW1WIDYwDQovWEhlaWdodCAyNTANCj4+DQplbmRvYmoNCjE5IDAgb2JqDQpbMjc0IDI4NCAzNzcgNTkxIDAgODE4IDcwNiAyMjkgMzAyIDMwMiA0MTcgNjg0IDIxNyA0MDAgMjE3IDM5MCA1MzkgNTM5IDUzOSA1MzkgNTM5IDUzOSA1MzkgNTM5IDUzOSA1MzkgMjE3IDIxNyA2ODQgNjg0IDY4NCA0NDggOTU1IDY0NSA1NzMgNjE5IDcwMSA1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Z3RoIDM4DQovRmlsdGVyIC9GbGF0ZURlY29kZQ0KPj4NCnN0cmVhbQ0KeJyT+w8Gf/X////XwNDAwCCgwMDAYAtkAAEjAw7AAWcBAK/eDDcNCmVuZHN0cmVhbQ0KZW5kb2JqDQp4cmVmDQowIDM4DQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDAwMTcgMDAwMDAgbg0KMDAwMDAwMDA4OSAwMDAwMCBuDQowMDAwMDAwMjA4IDAwMDAwIG4NCjAwMDAwMDAyNDUgMDAwMDAgbg0KMDAwMDAwMDM0OSAwMDAwMCBuDQowMDAwMDAwNjc1IDAwMDAwIG4NCjAwMDAwMDA3NjMgMDAwMDAgbg0KMDAwMDAwMzc0NSAwMDAwMCBuDQowMDAwMDAzODMzIDAwMDAwIG4NCjAwMDAwMDM4NTYgMDAwMDAgbg0KMDAwMDAwNDA1NyAwMDAwMCBuDQowMDAwMDA0MjcyIDAwMDAwIG4NCjAwMDAwMDQ0NjUgMDAwMDAgbg0KMDAwMDAwNDYxMyAwMDAwMCBuDQowMDAwMDA0ODExIDAwMDAwIG4NCjAwMDAwMDUxNzAgMDAwMDAgbg0KMDAwMDAwNTQ0NSAwMDAwMCBuDQowMDAwMDA1ODQ2IDAwMDAwIG4NCjAwMDAwMDYxNDIgMDAwMDAgbg0KMDAwMDAwNjc3OSAwMDAwMCBuDQowMDAwMDA3MDQ5IDAwMDAwIG4NCjAwMDAwMDc0OTIgMDAwMDAgbg0KMDAwMDAwNzUyMCAwMDAwMCBuDQowMDAwMDA3ODc2IDAwMDAwIG4NCjAwMDAwMDgxNTEgMDAwMDAgbg0KMDAwMDA2OTMzMCAwMDAwMCBuDQowMDAwMDkxNzA3IDAwMDAwIG4NCjAwMDAxMTA2MjMgMDAwMDAgbg0KMDAwMDExMDgwMyAwMDAwMCBuDQowMDAwMTI4MDUwIDAwMDAwIG4NCjAwMDAxMjg0NDIgMDAwMDAgbg0KMDAwMDEyODgzNCAwMDAwMCBuDQowMDAwMTI5MjI2IDAwMDAwIG4NCjAwMDAxMjk3MjIgMDAwMDAgbg0KMDAwMDEyOTgwNCAwMDAwMCBuDQowMDAwMTMwMDkwIDAwMDAwIG4NCjAwMDAxMzA0ODIgMDAwMDAgbg0KdHJhaWxlcg0KPDwNCi9Sb290IDEgMCBSDQovU2l6ZSAzOA0KPj4NCg0Kc3RhcnR4cmVmDQoxMzA2MDENCiUlRU9GDQo='; + +// ignore: public_member_api_docs +String flut6788Pdf_2 = + 'JVBERi0xLjQNCiWDkvr+DQoxIDAgb2JqDQo8PA0KL1R5cGUgL0NhdGFsb2cNCi9QYWdlcyAyIDAgUg0KL0Fjcm9Gb3JtIDMgMCBSDQo+Pg0KZW5kb2JqDQoyIDAgb2JqDQo8PA0KL1R5cGUgL1BhZ2VzDQovS2lkcyBbNCAwIFJdDQovQ291bnQgMQ0KL1Jlc291cmNlcyA8PD4+DQoNCi9NZWRpYUJveCBbMCAwIDU5NSA4NDJdDQovUm90YXRlIDANCj4+DQplbmRvYmoNCjMgMCBvYmoNCjw8DQovRmllbGRzIFtdDQo+Pg0KZW5kb2JqDQo0IDAgb2JqDQo8PA0KL0NvdW50IDENCi9UeXBlIC9QYWdlcw0KL0tpZHMgWzUgMCBSXQ0KL1BhcmVudCAyIDAgUg0KL01lZGlhQm94IFswIDAgNTMxIDY2Nl0NCj4+DQplbmRvYmoNCjUgMCBvYmoNCjw8DQovVHlwZSAvUGFnZQ0KL1BhcmVudCA0IDAgUg0KL0Nyb3BCb3ggWzAgMCA1MzEgNjY2XQ0KL01lZGlhQm94IFswIDAgNTMxIDY2Nl0NCi9Db250ZW50cyBbNiAwIFJdDQovUmVzb3VyY2VzIDw8DQovRXh0R1N0YXRlIDw8DQovR1MwIDcgMCBSDQo+Pg0KDQovRm9udCA8PA0KL1QxXzAgOCAwIFINCi9UMV8xIDkgMCBSDQovVDFfMiAxMCAwIFINCi9UMV8zIDExIDAgUg0KL1QxXzQgMTIgMCBSDQovVDFfNSAxMyAwIFINCi9UMV82IDE0IDAgUg0KL1QxXzcgMTUgMCBSDQo+Pg0KDQovUHJvY1NldCBbL1BERiAvVGV4dF0NCj4+DQoNCi9Bbm5vdHMgWzE2IDAgUiAxNyAwIFIgMTggMCBSIDE5IDAgUiAyMCAwIFJdDQovUm90YXRlIDANCj4+DQplbmRvYmoNCjYgMCBvYmoNCjw8DQovRmlsdGVyIC9GbGF0ZURlY29kZQ0KL0xlbmd0aCA0MTU4DQo+Pg0Kc3RyZWFtDQpIiaxX227bSBJ991f0IwmYNPvCGzAYIBMniywwuwGsPK0XA4aibC5kSSCpOM7Xb53qJkXRIh0M8hCH6uup6qpTp27eNV29KcpO/PbbzerlUImbz8VDvSu6er8Tv//+x+17cRWJhyspanF18487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IDQ3NyA1MDAgNzUxIDc2MiA1MDAgMzM4IDMzMyAzOTEgNTk2IDIzNSAzMzQgMjM1IDMyMiA0NzcgNDc3IDQ3NyA0NzcgNDc3IDQ3NyA0NzcgNDc3IDQ3NyA0NzcgMjM1IDIzNSA1OTcgNTAwIDU5NyA1MDAgNzM4IDY2NCA1NzkgNjM1IDcwOCA1NTkgNTI3IDY4MSA3NDIgMzM1IDMyMSA2NTMgNTMyIDg3NiA3MDUgNzA4IDU1NCA3MDkgNTk5IDQ2OCA2MDMgNzA3IDY3NSA5NDkgNjQyIDYxMSA1ODggNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNDkwIDQ4NiAzODIgNTA4IDQwMCAyNzEgNDIwIDUxMSAyNzMgMjY2IDQ3MCAyNDkgNzg3IDUzMiA0NzAgNDg2IDQ4NCAzNjYgMzM3IDMwNyA1MzMgNDQ3IDY3MCA0NzMgNDQyIDQxOCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA5MDcgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCAzODYgMzg0IDUwMCAyMTQgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCAzMTMgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDQwMF0NCj4+DQplbmRvYmoNCjkgMCBvYmoNCjw8DQovQmFzZUZvbnQgL0VESk9MTitNaW5pb25Qcm8tUmVndWxhcg0KL0VuY29kaW5nIDI0IDAgUg0KL0ZpcnN0Q2hhciAyDQovRm9udERlc2NyaXB0b3IgMjUgMCBSDQovTGFzdENoYXIgMjU1DQovU3VidHlwZSAvVHlwZTENCi9Ub1VuaWNvZGUgMjYgMCBSDQovVHlwZSAvRm9udA0KL1dpZHRocyBbMzQxIDM0MSAzNDEgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgMjI3IDI3NiAzMTggNDgwIDQ4MCA3NTYgNzExIDE2OSAzNDYgMzQ2IDQwNCA1ODAgMjI4IDM1NiAyMjggMzMxIDQ4MCA0ODAgNDgwIDQ4MCA0ODAgNDgwIDQ4MCA0ODAgNDgwIDQ4MCAyMjggMjI4IDU1MiA1ODAgNTUyIDM3OSA3NTMgNjkxIDU4OCA2NjUgNzM1IDU2OCA1MjkgNzE1IDc2NiAzNDEgMzI5IDY3MyA1MzggODkxIDc0MyA3NDcgNTYzIDc0NSA2MjEgNDc0IDYxNyA3MzYgNzAzIDk3MSA2NTQgNjM0IDYwMyAzNDUgMzMzIDM0NSA1NjYgNTAwIDQwMCA0MzkgNTA4IDQyMyA1MjggNDI1IDI5NiA0NjggNTM0IDI2OCAyNTYgNDk2IDI1MyA4MTkgNTQ3IDUxMCA1MjQgNTExIDM3MSAzNjcgMzA1IDUzMSA0NjMgNjg1IDQ3MiA0NTkgNDIwIDM0NyAyNjMgMzQ3IDU4MCA1MDAgMzkwIDQ5MCA0ODkgOTcwIDkyMiA1MjAgNDgwIDUwMCAyNzkgMjc5IDUwMCAxMDYyIDQyOSAzOTggNDAxIDIyNCAyMjMgMjM5IDQ1OSA1MDAgNTAwIDUwMCA1MDAgNDc0IDYzNCA1MDAgNTAwIDUwMCA3NzAgMzY3IDQyMCA1MDAgNDgwIDI3NiA0ODAgNDgwIDQ4MCA0ODAgMjYzIDQ3NyA0MDAgNzAyIDMwNSA0NDQgNTgwIDUwMCAzMjEgNDAwIDM0MyA1ODAgNTAwIDUwMCA0MDAgNTEyIDQ5NyAyMjYgNDAwIDUwMCAzMzQgNDQ1IDc2MiA3NjIgNzYyIDM3OSA2OTEgNjkxIDY5MSA2OTEgNjkxIDY5MSA4NjkgNjYxIDU2OCA1NjggNTY4IDU2OCAzNDEgMzQxIDM0MSAzNDEgNzM3IDc0MyA3NDcgNzQ3IDc0NyA3NDcgNzQ3IDU4MCA3NDkgNzM2IDczNiA3MzYgNzM2IDYzNCA1NDkgNTQ1IDQzOSA0MzkgNDM5IDQzOSA0MzkgNDM5IDY3MSA0MjEgNDI1IDQyNSA0MjUgNDI1IDI2OCAyNjggMjY4IDI2OCA1MDUgNTQ3IDUxMCA1MTAgNTEwIDUxMCA1MTAgNTgwIDUxMyA1MzEgNTMxIDUzMSA1MzEgNDU5IDUxNCA0NTldDQo+Pg0KZW5kb2JqDQoxMCAwIG9iag0KPDwNCi9CYXNlRm9udCAvRURKT0pNK015cmlhZFByby1TZW1pYm9sZA0KL0VuY29kaW5nIDI3IDAgUg0KL0ZpcnN0Q2hhciAzMg0KL0ZvbnREZXNjcmlwdG9yIDI4IDAgUg0KL0xhc3RDaGFyIDIzMw0KL1N1YnR5cGUgL1R5cGUxDQovVG9Vbmljb2RlIDI5IDAgUg0KL1R5cGUgL0ZvbnQNCi9XaWR0aHMgWzIwNyA1MDAgMzcwIDUyNiA1MDAgODQwIDUwMCAxOTggMzAxIDMwMSA0MzcgNTAwIDIzNiAzMTUgMjM2IDMzNyA1MzYgNTM2IDUzNiA1MzYgNTM2IDUzNiA1MzYgNTM2IDUzNiA1MzYgMjM2IDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDYzNiA1NzYgNTg4IDY4MyA1MTUgNTA5IDY2NiA2NzIgMjY0IDM5MiA1ODIgNDkzIDgyNyA2NzYgNzA0IDU1OSA3MDQgNTY5IDUxOSA1MjUgNjY2IDYwMSA4NjkgNTk0IDU3NSA1NjYgMzAxIDUwMCAzMDEgNTAwIDUwMCA1MDAgNTA4IDU4NSA0NDkgNTgxIDUxNiAzMTkgNTczIDU3MiAyNTYgMjcwIDUwOSAyNTcgODQ4IDU3MiA1NjQgNTg1IDU4MSAzNTYgNDE3IDM1MSA1NjkgNTA4IDc0OSA0OTQgNTAwIDQ1MCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA0MDkgNDA5IDUwMCAyMzYgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUxNl0NCj4+DQplbmRvYmoNCjExIDAgb2JqDQo8PA0KL0Jhc2VGb250IC9FREpPS04rTWluaW9uUHJvLUJvbGQNCi9FbmNvZGluZyAzMCAwIFINCi9GaXJzdENoYXIgMzINCi9Gb250RGVzY3JpcHRvciAzMSAwIFINCi9MYXN0Q2hhciAxNzQNCi9TdWJ0eXBlIC9UeXBlMQ0KL1RvVW5pY29kZSAzMiAwIFINCi9UeXBlIC9Gb250DQovV2lkdGhzIFsyMTcgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDM1MiAzNTIgNTAwIDUwMCAyNTQgMzQyIDI1NCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA3MDYgNjM3IDY3NiA3NjEgNTgxIDU1NCA3MjcgNzgzIDM3OCAzNjYgNzAzIDU1MSA4ODggNzQwIDc2NiA1OTkgNTAwIDY1OSA1MDUgNjQxIDcyOSA3MTEgOTc5IDY5MyA2NTUgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDQ2NiA1MzQgNDIyIDU0NyA0MzcgNTAwIDUwMCA1MDAgMjk1IDUwMCA1MDAgMjc4IDg0MyA1NjYgNTI1IDUwMCA1MDAgNDA0IDM4MyAzMzkgNTU1IDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCAzOTkgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDQ0NSA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgMzE5XQ0KPj4NCmVuZG9iag0KMTIgMCBvYmoNCjw8DQovQmFzZUZvbnQgL0VES0RCTCtNaW5pb25Qcm8tQm9sZEl0DQovRW5jb2RpbmcgMzMgMCBSDQovRmlyc3RDaGFyIDMyDQovRm9udERlc2NyaXB0b3IgMzQgMCBSDQovTGFzdENoYXIgMTE2DQovU3VidHlwZSAvVHlwZTENCi9Ub1VuaWNvZGUgMzUgMCBSDQovVHlwZSAvRm9udA0KL1dpZHRocyBbMjE5IDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCAzNjggMzQ3IDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCAyNjEgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA2NTEgNTAwIDUwMCA1MDAgNjk4IDUwMCA1MDAgMzU3IDY3NyA1MDAgNTAwIDcwNCA1MDAgNTAwIDUwMCA1MDAgNDg5IDYyMyA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MTkgNTAwIDM5OSA1MzUgNDE4IDI5NSA1MDAgNTM0IDI5NSA1MDAgNTAwIDI3NCA4MDIgNTQ5IDQ5MiA1MTMgNTAwIDM5MCAzNTQgMzIwXQ0KPj4NCmVuZG9iag0KMTMgMCBvYmoNCjw8DQovQmFzZUZvbnQgL0VESk9PUCtNeXJpYWRQcm8tQm9sZA0KL0VuY29kaW5nIDM2IDAgUg0KL0ZpcnN0Q2hhciAzMg0KL0ZvbnREZXNjcmlwdG9yIDM3IDAgUg0KL0xhc3RDaGFyIDE0NA0KL1N1YnR5cGUgL1R5cGUxDQovVG9Vbmljb2RlIDM4IDAgUg0KL1R5cGUgL0ZvbnQNCi9XaWR0aHMgWzIwMiA1MDAgNTAwIDU1MCA1MDAgNTAwIDUwMCA1MDAgMzE0IDMxNCA1MDAgNTAwIDI2MCAzMjIgMjYwIDMzMSA1NTUgNTU1IDU1NSA1NTUgNTU1IDU1NSA1NTUgNTU1IDU1NSA1NTUgMjYwIDUwMCA1OTYgNTAwIDU5NiA0NDUgNTAwIDY1NiA2MDQgNTk1IDY5NiA1MzQgNTI3IDY4MiA2ODkgMjg1IDQxMSA2MTQgNTExIDg0NiA2OTAgNzE3IDU4MSA3MTcgNTkzIDU0MCA1NDggNjgyIDYzNiA4ODggNjEzIDYwMyA1NzcgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTI4IDU5OCA0NTEgNTk2IDUyOCAzNDEgNTg1IDU4NiAyNzQgMjkxIDU0MiAyNzUgODYwIDU4NiA1NzcgNTk4IDU5NSAzODAgNDM0IDM2NyA1ODMgNTMwIDc1OSA1MTkgNTIzIDQ2OSA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCAyNjBdDQo+Pg0KZW5kb2JqDQoxNCAwIG9iag0KPDwNCi9CYXNlRm9udCAvRURKT0xPK015cmlhZFByby1SZWd1bGFyDQovRW5jb2RpbmcgMzkgMCBSDQovRmlyc3RDaGFyIDMyDQovRm9udERlc2NyaXB0b3IgNDAgMCBSDQovTGFzdENoYXIgMjMzDQovU3VidHlwZSAvVHlwZTENCi9Ub1VuaWNvZGUgNDEgMCBSDQovVHlwZSAvRm9udA0KL1dpZHRocyBbMjEyIDIzMCAzMzcgNDk3IDUxMyA3OTIgNjA1IDE4OCAyODQgMjg0IDQxNSA1OTYgMjA3IDMwNyAyMDcgMzQzIDUxMyA1MTMgNTEzIDUxMyA1MTMgNTEzIDUxMyA1MTMgNTEzIDUxMyAyMDcgMjA3IDU5NiA1OTYgNTk2IDQwNiA3MzcgNjEyIDU0MiA1ODAgNjY2IDQ5MiA0ODcgNjQ2IDY1MiAyMzkgMzcwIDU0MiA0NzIgODA0IDY1OCA2ODkgNTMyIDY4OSA1MzggNDkzIDQ5NyA2NDcgNTU4IDg0NiA1NzEgNTQxIDU1MyAyODQgMzQxIDI4NCA1OTYgNTAwIDMwMCA0ODIgNTY5IDQ0OCA1NjQgNTAxIDI5MiA1NTkgNTU1IDIzNCAyNDMgNDY5IDIzNiA4MzQgNTU1IDU0OSA1NjkgNTYzIDMyNyAzOTYgMzMxIDU1MSA0ODEgNzM2IDQ2MyA0NzEgNDI4IDI4NCA1MDAgMjg0IDU5NiA1MDAgNTAwIDUwMCA1MDAgMTAwMCAxMDAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgMzU0IDM1NCA1MDAgMjA3IDUwMCA2MTkgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNDE5IDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MTIgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDYxMiA2MTIgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNjg5IDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDFdDQo+Pg0KZW5kb2JqDQoxNSAwIG9iag0KPDwNCi9CYXNlRm9udCAvRUpCRUxEK1phcGZEaW5nYmF0cw0KL0VuY29kaW5nIDQyIDAgUg0KL0ZpcnN0Q2hhciAyDQovRm9udERlc2NyaXB0b3IgNDMgMCBSDQovTGFzdENoYXIgNTENCi9TdWJ0eXBlIC9UeXBlMQ0KL1RvVW5pY29kZSA0NCAwIFINCi9UeXBlIC9Gb250DQovV2lkdGhzIFs2OTIgNzg5IDc4OCA3ODggNzg4IDc4OCA3ODggNzg4IDg5NCA4MzggMTAxNiA0NTggNzQ4IDkyNCA3NDggOTE4IDkyNyA5MjggOTI4IDgzNCA4NzMgODI4IDkyNCA5MjQgOTE3IDkzMCA5MzEgNDYzIDg4MyA4MzYgODM2IDg2NyA4NjcgNjk2IDY5NiA4NzQgODc0IDc2MCA5NDYgNzcxIDg2NSA3NzEgODg4IDk2NyA4ODggODMxIDg3MyA5MjcgOTcwIDkxOF0NCj4+DQplbmRvYmoNCjE2IDAgb2JqDQo8PA0KL0EgPDwNCi9EIChNOC45LjMwNDYzLjNIZWFkaW5nLlRleHQuU3RyaW5ncykNCi9TIC9Hb1RvDQo+Pg0KDQovQm9yZGVyIFswIDAgMF0NCi9SZWN0IFszNzMuOTggMzQwLjQwMiA0NzcgMzUzLjc4Ml0NCi9TdHJ1Y3RQYXJlbnQgNTU5MA0KL1N1YnR5cGUgL0xpbmsNCi9UeXBlIC9Bbm5vdA0KL1AgNSAwIFINCj4+DQplbmRvYmoNCjE3IDAgb2JqDQo8PA0KL0EgPDwNCi9EIChNOC45LjMwNDYzLjNIZWFkaW5nLlRleHQuU3RyaW5ncykNCi9TIC9Hb1RvDQo+Pg0KDQovQm9yZGVyIFswIDAgMF0NCi9SZWN0IFs1My45NCAzMjcuMzgyIDE0NC45NiAzNDAuNDAyXQ0KL1N0cnVjdFBhcmVudCA1NTkxDQovU3VidHlwZSAvTGluaw0KL1R5cGUgL0Fubm90DQovUCA1IDAgUg0KPj4NCmVuZG9iag0KMTggMCBvYmoNCjw8DQovQSA8PA0KL0QgKE0xMy45LjM5MDk0LjFIZWFkaW5nLjczLkFubm90YXRpb25zLlBERi42NikNCi9TIC9Hb1RvDQo+Pg0KDQovQm9yZGVyIFswIDAgMF0NCi9SZWN0IFsyMjYuOTggNTgyLjA4MiAzMzQuMjYgNTk3LjkyMl0NCi9TdHJ1Y3RQYXJlbnQgNTU4OA0KL1N1YnR5cGUgL0xpbmsNCi9UeXBlIC9Bbm5vdA0KL1AgNSAwIFINCj4+DQplbmRvYmoNCjE5IDAgb2JqDQo8PA0KL0EgPDwNCi9EIChNMTMuOS4zMTkyOC4xSGVhZGluZy43Ny5BY3JvYmF0LkZvcm1zLlBERi42MTQpDQovUyAvR29Ubw0KPj4NCg0KL0JvcmRlciBbMCAwIDBdDQovUmVjdCBbNTMuOTQgNDE3LjQ0MiAyMjkuMzIgNDMwLjc2Ml0NCi9TdHJ1Y3RQYXJlbnQgNTU4OQ0KL1N1YnR5cGUgL0xpbmsNCi9UeXBlIC9Bbm5vdA0KL1AgNSAwIFINCj4+DQplbmRvYmoNCjIwIDAgb2JqDQo8PA0KL0JvcmRlciBbMCAwIDBdDQovRGVzdCAoRzE1LjIyODQyNDcpDQovUmVjdCBbNTMuOTQgMTczLjQyMiAxNTYuNzggMTg2Ljc0Ml0NCi9TdHJ1Y3RQYXJlbnQgNTU5Mg0KL1N1YnR5cGUgL0xpbmsNCi9UeXBlIC9Bbm5vdA0KL1AgNSAwIFINCj4+DQplbmRvYmoNCjIxIDAgb2JqDQo8PA0KL0RpZmZlcmVuY2VzIFsyIC9UX2ggMzIgL3NwYWNlIDM0IC9xdW90ZWRibCAvbnVtYmVyc2lnbiAzNyAvcGVyY2VudCAvYW1wZXJzYW5kIDQwIC9wYXJlbmxlZnQgL3BhcmVucmlnaHQgL2FzdGVyaXNrIC9wbHVzIC9jb21tYSAvaHlwaGVuIC9wZXJpb2QgL3NsYXNoIC96ZXJvIC9vbmUgL3R3byAvdGhyZWUgL2ZvdXIgL2ZpdmUgL3NpeCAvc2V2ZW4gL2VpZ2h0IC9uaW5lIC9jb2xvbiAvc2VtaWNvbG9uIC9sZXNzIDYyIC9ncmVhdGVyIDY0IC9hdCAvQSAvQiAvQyAvRCAvRSAvRiAvRyAvSCAvSSAvSiAvSyAvTCAvTSAvTiAvTyAvUCAvUSAvUiAvUyAvVCAvVSAvViAvVyAvWCAvWSAvWiA5NyAvYSAvYiAvYyAvZCAvZSAvZiAvZyAvaCAvaSAvaiAvayAvbCAvbSAvbiAvbyAvcCAvcSAvciAvcyAvdCAvdSAvdiAvdyAveCAveSAveiAxMzIgL2VtZGFzaCAvZW5kYXNoIDE0MSAvcXVvdGVkYmxsZWZ0IC9xdW90ZWRibHJpZ2h0IDE0NCAvcXVvdGVyaWdodCAxNzQgL3JlZ2lzdGVyZWQgMjMzIC9lYWN1dGVdDQovVHlwZSAvRW5jb2RpbmcNCj4+DQplbmRvYmoNCjIyIDAgb2JqDQo8PA0KL0FzY2VudCA3MTcNCi9DYXBIZWlnaHQgNjc4DQovQ2hhclNldCAoL0EvQi9DL0QvRS9GL0cvSC9JL0ovSy9ML00vTi9PL1AvUS9SL1MvVC9UX2gvVS9WL1cvWC9ZL1ovYS9hbXBlcnNhbmQvYXN0ZXJpc2svYXQvYi9jL2NvbG9uL2NvbW1hL2QvZS9lYWN1dGUvZWlnaHQvZW1kYXNoL2VuZGFzaC9mL2ZpdmUvZm91ci9nL2dyZWF0ZXIvaC9oeXBoZW4vaS9qL2svbC9sZXNzL20vbi9uaW5lL251bWJlcnNpZ24vby9vbmUvcC9wYXJlbmxlZnQvcGFyZW5yaWdodC9wZXJjZW50L3BlcmlvZC9wbHVzL3EvcXVvdGVkYmwvcXVvdGVkYmxsZWZ0L3F1b3RlZGJscmlnaHQvcXVvdGVyaWdodC9yL3JlZ2lzdGVyZWQvcy9zZW1pY29sb24vc2V2ZW4vc2l4L3NsYXNoL3NwYWNlL3QvdGhyZWUvdHdvL3Uvdi93L3gveS96L3plcm8pDQovRGVzY2VudCAtMjU4DQovRmxhZ3MgNjgNCi9Gb250QkJveCBbLTIwMSAtMzYwIDE2ODQgMTAwMl0NCi9Gb250RmlsZTMgNDUgMCBSDQovRm9udE5hbWUgL0VESk9OUCtNaW5pb25Qcm8tSXQNCi9JdGFsaWNBbmdsZSAtMTINCi9TdGVtSCAzNA0KL1N0ZW1WIDc3DQovVHlwZSAvRm9udERlc2NyaXB0b3INCi9YSGVpZ2h0IDQ1Mg0KPj4NCmVuZG9iag0KMjMgMCBvYmoNCjw8DQovRmlsdGVyIC9GbGF0ZURlY29kZQ0KL0xlbmd0aCAzMzcNCj4+DQpzdHJlYW0NCkiJXJJNb4MwDIbv/AofN/VACNBSKUKquk7qYR9au12mHdLEdEgjRIEe+u/nJKzrhkR48jrOa9mk6+3d1rQjpM+uVzscoWmNdjj0J6cQDnhsDWQcdKvGaRdW1UkLKSXvzsOI3dY0PQiRpC8UHEZ3hptVeGb35YzdQvrkNLrWHOFmn72+kbA7WfuFHZoRGNQ1aGySdP0g7aPsENKr7N/Q/mwReNhnUxm9xsFKhU6aI4JgvAaByxrQ6L+xZBEzDo36lC4RnNFJxuiTiBwD5xviqiDmLCs8l5Fz4iWLvCSW8fzKn/dmxBvSyXO6ff7jFa0F92XxPDpyyuLh5nkUSi9UxLmKQkVC4f1KGYTCFznPiBdRIKbqNHGFsaz1ZB8Ns3/+oS1+eafksqALqvrjOsG3y0/0MgB1co5mE8Yeeu+73hq8/Bm2t77J/k2+BRgAwKGnDQoNCmVuZHN0cmVhbQ0KZW5kb2JqDQoyNCAwIG9iag0KPDwNCi9EaWZmZXJlbmNlcyBbMiAvdHdvLnN1cGVyaW9yIC90aHJlZS5zdXBlcmlvciAvb25lLnN1cGVyaW9yIDMyIC9zcGFjZSAvZXhjbGFtIC9xdW90ZWRibCAvbnVtYmVyc2lnbiAvZG9sbGFyIC9wZXJjZW50IC9hbXBlcnNhbmQgL3F1b3Rlc2luZ2xlIC9wYXJlbmxlZnQgL3BhcmVucmlnaHQgL2FzdGVyaXNrIC9wbHVzIC9jb21tYSAvaHlwaGVuIC9wZXJpb2QgL3NsYXNoIC96ZXJvIC9vbmUgL3R3byAvdGhyZWUgL2ZvdXIgL2ZpdmUgL3NpeCAvc2V2ZW4gL2VpZ2h0IC9uaW5lIC9jb2xvbiAvc2VtaWNvbG9uIC9sZXNzIC9lcXVhbCAvZ3JlYXRlciAvcXVlc3Rpb24gL2F0IC9BIC9CIC9DIC9EIC9FIC9GIC9HIC9IIC9JIC9KIC9LIC9MIC9NIC9OIC9PIC9QIC9RIC9SIC9TIC9UIC9VIC9WIC9XIC9YIC9ZIC9aIC9icmFja2V0bGVmdCAvYmFja3NsYXNoIC9icmFja2V0cmlnaHQgL2FzY2lpY2lyY3VtIC91bmRlcnNjb3JlIC9ncmF2ZSAvYSAvYiAvYyAvZCAvZSAvZiAvZyAvaCAvaSAvaiAvayAvbCAvbSAvbiAvbyAvcCAvcSAvciAvcyAvdCAvdSAvdiAvdyAveCAveSAveiAvYnJhY2VsZWZ0IC9iYXIgL2JyYWNlcmlnaHQgL2FzY2lpdGlsZGUgMTI4IC9idWxsZXQgL2RhZ2dlciAvZGFnZ2VyZGJsIC9lbGxpcHNpcyAvZW1kYXNoIC9lbmRhc2ggL2Zsb3JpbiAxMzYgL2d1aWxzaW5nbGxlZnQgL2d1aWxzaW5nbHJpZ2h0IDEzOSAvcGVydGhvdXNhbmQgL3F1b3RlZGJsYmFzZSAvcXVvdGVkYmxsZWZ0IC9xdW90ZWRibHJpZ2h0IC9xdW90ZWxlZnQgL3F1b3RlcmlnaHQgL3F1b3Rlc2luZ2xiYXNlIC90cmFkZW1hcmsgMTUxIC9TY2Fyb24gL1lkaWVyZXNpcyAxNTYgL29lIC9zY2Fyb24gL3pjYXJvbiAxNjAgL0V1cm8gL2V4Y2xhbWRvd24gL2NlbnQgL3N0ZXJsaW5nIC9jdXJyZW5jeSAveWVuIC9icm9rZW5iYXIgL3NlY3Rpb24gL2RpZXJlc2lzIC9jb3B5cmlnaHQgL29yZGZlbWluaW5lIC9ndWlsbGVtb3RsZWZ0IC9sb2dpY2Fsbm90IDE3NCAvcmVnaXN0ZXJlZCAvbWFjcm9uIC9kZWdyZWUgL3BsdXNtaW51cyAxODAgL2FjdXRlIC9tdSAvcGFyYWdyYXBoIC9wZXJpb2RjZW50ZXJlZCAvY2VkaWxsYSAxODYgL29yZG1hc2N1bGluZSAvZ3VpbGxlbW90cmlnaHQgL29uZXF1YXJ0ZXIgL29uZWhhbGYgL3RocmVlcXVhcnRlcnMgL3F1ZXN0aW9uZG93biAvQWdyYXZlIC9BYWN1dGUgL0FjaXJjdW1mbGV4IC9BdGlsZGUgL0FkaWVyZXNpcyAvQXJpbmcgL0FFIC9DY2VkaWxsYSAvRWdyYXZlIC9FYWN1dGUgL0VjaXJjdW1mbGV4IC9FZGllcmVzaXMgL0lncmF2ZSAvSWFjdXRlIC9JY2lyY3VtZmxleCAvSWRpZXJlc2lzIC9FdGggL050aWxkZSAvT2dyYXZlIC9PYWN1dGUgL09jaXJjdW1mbGV4IC9PdGlsZGUgL09kaWVyZXNpcyAvbXVsdGlwbHkgL09zbGFzaCAvVWdyYXZlIC9VYWN1dGUgL1VjaXJjdW1mbGV4IC9VZGllcmVzaXMgL1lhY3V0ZSAvVGhvcm4gL2dlcm1hbmRibHMgL2FncmF2ZSAvYWFjdXRlIC9hY2lyY3VtZmxleCAvYXRpbGRlIC9hZGllcmVzaXMgL2FyaW5nIC9hZSAvY2NlZGlsbGEgL2VncmF2ZSAvZWFjdXRlIC9lY2lyY3VtZmxleCAvZWRpZXJlc2lzIC9pZ3JhdmUgL2lhY3V0ZSAvaWNpcmN1bWZsZXggL2lkaWVyZXNpcyAvZXRoIC9udGlsZGUgL29ncmF2ZSAvb2FjdXRlIC9vY2lyY3VtZmxleCAvb3RpbGRlIC9vZGllcmVzaXMgL2RpdmlkZSAvb3NsYXNoIC91Z3JhdmUgL3VhY3V0ZSAvdWNpcmN1bWZsZXggL3VkaWVyZXNpcyAveWFjdXRlIC90aG9ybiAveWRpZXJlc2lzXQ0KL1R5cGUgL0VuY29kaW5nDQo+Pg0KZW5kb2JqDQoyNSAwIG9iag0KPDwNCi9Bc2NlbnQgNzE3DQovQ2FwSGVpZ2h0IDY3OQ0KL0NoYXJTZXQgKC9BL0FFL0FhY3V0ZS9BY2lyY3VtZmxleC9BZGllcmVzaXMvQWdyYXZlL0FyaW5nL0F0aWxkZS9CL0MvQ2NlZGlsbGEvRC9FL0VhY3V0ZS9FY2lyY3VtZmxleC9FZGllcmVzaXMvRWdyYXZlL0V0aC9FdXJvL0YvRy9IL0kvSWFjdXRlL0ljaXJjdW1mbGV4L0lkaWVyZXNpcy9JZ3JhdmUvSi9LL0wvTS9OL050aWxkZS9PL09hY3V0ZS9PY2lyY3VtZmxleC9PZGllcmVzaXMvT2dyYXZlL09zbGFzaC9PdGlsZGUvUC9RL1IvUy9TY2Fyb24vVC9UaG9ybi9VL1VhY3V0ZS9VY2lyY3VtZmxleC9VZGllcmVzaXMvVWdyYXZlL1YvVy9YL1kvWWFjdXRlL1lkaWVyZXNpcy9aL2EvYWFjdXRlL2FjaXJjdW1mbGV4L2FjdXRlL2FkaWVyZXNpcy9hZS9hZ3JhdmUvYW1wZXJzYW5kL2FyaW5nL2FzY2lpY2lyY3VtL2FzY2lpdGlsZGUvYXN0ZXJpc2svYXQvYXRpbGRlL2IvYmFja3NsYXNoL2Jhci9icmFjZWxlZnQvYnJhY2VyaWdodC9icmFja2V0bGVmdC9icmFja2V0cmlnaHQvYnJva2VuYmFyL2J1bGxldC9jL2NjZWRpbGxhL2NlZGlsbGEvY2VudC9jb2xvbi9jb21tYS9jb3B5cmlnaHQvY3VycmVuY3kvZC9kYWdnZXIvZGFnZ2VyZGJsL2RlZ3JlZS9kaWVyZXNpcy9kaXZpZGUvZG9sbGFyL2UvZWFjdXRlL2VjaXJjdW1mbGV4L2VkaWVyZXNpcy9lZ3JhdmUvZWlnaHQvZWxsaXBzaXMvZW1kYXNoL2VuZGFzaC9lcXVhbC9ldGgvZXhjbGFtL2V4Y2xhbWRvd24vZi9maXZlL2Zsb3Jpbi9mb3VyL2cvZ2VybWFuZGJscy9ncmF2ZS9ncmVhdGVyL2d1aWxsZW1vdGxlZnQvZ3VpbGxlbW90cmlnaHQvZ3VpbHNpbmdsbGVmdC9ndWlsc2luZ2xyaWdodC9oL2h5cGhlbi9pL2lhY3V0ZS9pY2lyY3VtZmxleC9pZGllcmVzaXMvaWdyYXZlL2ovay9sL2xlc3MvbG9naWNhbG5vdC9tL21hY3Jvbi9tdS9tdWx0aXBseS9uL25pbmUvbnRpbGRlL251bWJlcnNpZ24vby9vYWN1dGUvb2NpcmN1bWZsZXgvb2RpZXJlc2lzL29lL29ncmF2ZS9vbmUvb25lLnN1cGVyaW9yL29uZWhhbGYvb25lcXVhcnRlci9vcmRmZW1pbmluZS9vcmRtYXNjdWxpbmUvb3NsYXNoL290aWxkZS9wL3BhcmFncmFwaC9wYXJlbmxlZnQvcGFyZW5yaWdodC9wZXJjZW50L3BlcmlvZC9wZXJpb2RjZW50ZXJlZC9wZXJ0aG91c2FuZC9wbHVzL3BsdXNtaW51cy9xL3F1ZXN0aW9uL3F1ZXN0aW9uZG93bi9xdW90ZWRibC9xdW90ZWRibGJhc2UvcXVvdGVkYmxsZWZ0L3F1b3RlZGJscmlnaHQvcXVvdGVsZWZ0L3F1b3RlcmlnaHQvcXVvdGVzaW5nbGJhc2UvcXVvdGVzaW5nbGUvci9yZWdpc3RlcmVkL3Mvc2Nhcm9uL3NlY3Rpb24vc2VtaWNvbG9uL3NldmVuL3NpeC9zbGFzaC9zcGFjZS9zdGVybGluZy90L3Rob3JuL3RocmVlL3RocmVlLnN1cGVyaW9yL3RocmVlcXVhcnRlcnMvdHJhZGVtYXJrL3R3by90d28uc3VwZXJpb3IvdS91YWN1dGUvdWNpcmN1bWZsZXgvdWRpZXJlc2lzL3VncmF2ZS91bmRlcnNjb3JlL3Yvdy94L3kveWFjdXRlL3lkaWVyZXNpcy95ZW4vei96Y2Fyb24vemVybykNCi9EZXNjZW50IC0yNTgNCi9GbGFncyA0DQovRm9udEJCb3ggWy0yOTAgLTM2MCAxNjg0IDk4OV0NCi9Gb250RmlsZTMgNDYgMCBSDQovRm9udE5hbWUgL0VESk9MTitNaW5pb25Qcm8tUmVndWxhcg0KL0l0YWxpY0FuZ2xlIDANCi9TdGVtSCAzMg0KL1N0ZW1WIDc5DQovVHlwZSAvRm9udERlc2NyaXB0b3INCi9YSGVpZ2h0IDQ0MA0KPj4NCmVuZG9iag0KMjYgMCBvYmoNCjw8DQovRmlsdGVyIC9GbGF0ZURlY29kZQ0KL0xlbmd0aCAzOTcNCj4+DQpzdHJlYW0NCkiJVFLLTsMwELznK/ZYxCG200csRZFKAakHHqKFu+1sSiTqRG566N/j9YYCkRJNxrOrmfXmm+391ncj5K+hdzscoe18E/DUn4NDsHjoPEgFTefG6S993dEMkMfi3eU04nHr2x6qKsvf4uFpDBeYrdNz+1jcihvIX0KDofMHmO3l+0ckdudh+MIj+hEE1DU02Gb55skMz+aIkP+p/j3aXwYElf7lZKNv8DQYh8H4A0IlVA1V29aAvvl/lskVl9jWfZqQVWIepUIUss6qUkSshFKEC8ZLwvOE5ZzwgnFBeEm1Uie9TXwhCDvWPESsyYqSqadeJf2SNLpMeFUSdgkvqKduWEN+NLKG+hj2tt5EbNnzHfmx5EcUd5GPYadUUvyE5NA8EFFwVLKiqN0q9RcqeZYRl4pDJ4IMlppTaSLIWYkcjWyUccCVlkxQDkPYpDBiTQEMqa1kglJYmpgt2T6N1prppohYTxnYNN0drdd1G9w5hLgoaQfTItAKdB6vazr0A904vdm3AAMA2gTBVQoNCmVuZHN0cmVhbQ0KZW5kb2JqDQoyNyAwIG9iag0KPDwNCi9EaWZmZXJlbmNlcyBbMzIgL3NwYWNlIDM0IC9xdW90ZWRibCAvbnVtYmVyc2lnbiAzNyAvcGVyY2VudCAzOSAvcXVvdGVzaW5nbGUgL3BhcmVubGVmdCAvcGFyZW5yaWdodCAvYXN0ZXJpc2sgNDQgL2NvbW1hIC9oeXBoZW4gL3BlcmlvZCAvc2xhc2ggL3plcm8gL29uZSAvdHdvIC90aHJlZSAvZm91ciAvZml2ZSAvc2l4IC9zZXZlbiAvZWlnaHQgL25pbmUgL2NvbG9uIDY1IC9BIC9CIC9DIC9EIC9FIC9GIC9HIC9IIC9JIC9KIC9LIC9MIC9NIC9OIC9PIC9QIC9RIC9SIC9TIC9UIC9VIC9WIC9XIC9YIC9ZIC9aIC9icmFja2V0bGVmdCA5MyAvYnJhY2tldHJpZ2h0IDk1IC91bmRlcnNjb3JlIDk3IC9hIC9iIC9jIC9kIC9lIC9mIC9nIC9oIC9pIC9qIC9rIC9sIC9tIC9uIC9vIC9wIC9xIC9yIC9zIC90IC91IC92IC93IC94IC95IC96IDE0MSAvcXVvdGVkYmxsZWZ0IC9xdW90ZWRibHJpZ2h0IDE0NCAvcXVvdGVyaWdodCAyMzMgL2VhY3V0ZV0NCi9UeXBlIC9FbmNvZGluZw0KPj4NCmVuZG9iag0KMjggMCBvYmoNCjw8DQovQXNjZW50IDcxNg0KL0NhcEhlaWdodCA2NzgNCi9DaGFyU2V0ICgvQS9CL0MvRC9FL0YvRy9IL0kvSi9LL0wvTS9OL08vUC9RL1IvUy9UL1UvVi9XL1gvWS9aL2EvYXN0ZXJpc2svYi9icmFja2V0bGVmdC9icmFja2V0cmlnaHQvYy9jb2xvbi9jb21tYS9kL2UvZWFjdXRlL2VpZ2h0L2YvZml2ZS9mb3VyL2cvaC9oeXBoZW4vaS9qL2svbC9tL24vbmluZS9udW1iZXJzaWduL28vb25lL3AvcGFyZW5sZWZ0L3BhcmVucmlnaHQvcGVyY2VudC9wZXJpb2QvcS9xdW90ZWRibC9xdW90ZWRibGxlZnQvcXVvdGVkYmxyaWdodC9xdW90ZXJpZ2h0L3F1b3Rlc2luZ2xlL3Ivcy9zZXZlbi9zaXgvc2xhc2gvc3BhY2UvdC90aHJlZS90d28vdS91bmRlcnNjb3JlL3Yvdy94L3kvei96ZXJvKQ0KL0Rlc2NlbnQgLTIxMA0KL0ZsYWdzIDI2MjE0OA0KL0ZvbnRCQm94IFstNzEgLTI1MCAxMTk4IDg4OV0NCi9Gb250RmlsZTMgNDcgMCBSDQovRm9udE5hbWUgL0VESk9KTStNeXJpYWRQcm8tU2VtaWJvbGQNCi9JdGFsaWNBbmdsZSAwDQovU3RlbUggOTINCi9TdGVtViAxMjMNCi9UeXBlIC9Gb250RGVzY3JpcHRvcg0KL1hIZWlnaHQgNDkwDQo+Pg0KZW5kb2JqDQoyOSAwIG9iag0KPDwNCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlDQovTGVuZ3RoIDMwNg0KPj4NCnN0cmVhbQ0KSIlUkclugzAQhu88xRxT5WBwShYJIVWkkTh0UZP07tgDRSrGMuSQt++MjdIWCfz5n5UZUdX72nYTiHc/6CNO0HTWeByHq9cIF2w7C5kE0+lpvoWv7pUDQcHH2zhhX9tmgKJIxAcZx8nfYPEUnuUhW6YPIN68Qd/ZFhan7PxJwvHq3Df2aCdIoSzBYJOI6kW5V9UjiD/Rv6bTzSHIcM/mNgaDo1MavbItQiHTEgrclYDW/Lcl6xhxafSX8kn0TFM6iPPIOXFuAud75ibygXjH/jLNdsRcgPRnYqozZ7znj+UKKTlgFTNLrrJhQUVhw4ImXs1CRcJjRpxfgkCcFGsWNtFjzcKWu9tibKWay8eC/Me8lPsM9dV7Gm/YXBgfD66zeF+uGxzPid/kR4ABAKwTlsoKDQplbmRzdHJlYW0NCmVuZG9iag0KMzAgMCBvYmoNCjw8DQovRGlmZmVyZW5jZXMgWzMyIC9zcGFjZSA0MCAvcGFyZW5sZWZ0IC9wYXJlbnJpZ2h0IDQ0IC9jb21tYSAvaHlwaGVuIC9wZXJpb2QgNDggL3plcm8gL29uZSAvdHdvIC90aHJlZSAvZm91ciAvZml2ZSAvc2l4IC9zZXZlbiAvZWlnaHQgL25pbmUgNjUgL0EgL0IgL0MgL0QgL0UgL0YgL0cgL0ggL0kgL0ogL0sgL0wgL00gL04gL08gL1AgODIgL1IgL1MgL1QgL1UgL1YgL1cgL1ggL1kgOTcgL2EgL2IgL2MgL2QgL2UgMTA1IC9pIDEwOCAvbCAvbSAvbiAvbyAxMTQgL3IgL3MgL3QgL3UgMTI4IC9idWxsZXQgMTQyIC9xdW90ZWRibHJpZ2h0IDE3NCAvcmVnaXN0ZXJlZF0NCi9UeXBlIC9FbmNvZGluZw0KPj4NCmVuZG9iag0KMzEgMCBvYmoNCjw8DQovQXNjZW50IDcwNw0KL0NhcEhlaWdodCA2NzkNCi9DaGFyU2V0ICgvc3BhY2UvQS9kL28vYi9lL3JlZ2lzdGVyZWQvUC9yL3QvYS9sL0QvYy91L20vbi9GL1Yvcy9pL29uZS9wZXJpb2Qvc2V2ZW4vVC9IL0kvUy9VL0IvTC9DL08vTi9FL1IvTS9jb21tYS9ZL0ovRy9XL2h5cGhlbi9LL3BhcmVubGVmdC9YL3BhcmVucmlnaHQvYnVsbGV0L3F1b3RlZGJscmlnaHQvZm91ci96ZXJvL2ZpdmUvc2l4L25pbmUvZWlnaHQvdHdvL3RocmVlKQ0KL0Rlc2NlbnQgMA0KL0ZsYWdzIDI2MjE1MA0KL0ZvbnRCQm94IFstMzE4IC0zNjAgMTY4NCA5MTddDQovRm9udEZpbGUzIDQ4IDAgUg0KL0ZvbnROYW1lIC9FREpPS04rTWluaW9uUHJvLUJvbGQNCi9JdGFsaWNBbmdsZSAwDQovU3RlbUggNDENCi9TdGVtViAxMjgNCi9UeXBlIC9Gb250RGVzY3JpcHRvcg0KPj4NCmVuZG9iag0KMzIgMCBvYmoNCjw8DQov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L0ovSy9ML00vTi9PL1AvUS9SL1MvVC9VL1YvVy9YL1kvWi9hL2IvYnJhY2tldGxlZnQvYnJhY2tldHJpZ2h0L2MvY29sb24vY29tbWEvZC9lL2VpZ2h0L2YvZml2ZS9mb3VyL2cvZ3JlYXRlci9oL2h5cGhlbi9pL2ovay9sL2xlc3MvbS9uL25pbmUvbnVtYmVyc2lnbi9vL29uZS9wL3BhcmVubGVmdC9wYXJlbnJpZ2h0L3BlcmlvZC9xL3F1ZXN0aW9uL3F1b3RlcmlnaHQvci9zL3NldmVuL3NpeC9zbGFzaC9zcGFjZS90L3RocmVlL3R3by91L3Yvdy94L3kvei96ZXJvKQ0KL0Rlc2NlbnQgLTIxMA0KL0ZsYWdzIDI2MjE0OA0KL0ZvbnRCQm94IFstMTYzIC0yNTAgMTI1NiA5ODldDQovRm9udEZpbGUzIDUwIDAgUg0KL0ZvbnROYW1lIC9FREpPT1ArTXlyaWFkUHJvLUJvbGQNCi9JdGFsaWNBbmdsZSAwDQovU3RlbUggMTEyDQovU3RlbVYgMTUyDQovVHlwZSAvRm9udERlc2NyaXB0b3INCi9YSGVpZ2h0IDQ5Mg0KPj4NCmVuZG9iag0KMzggMCBvYmoNCjw8DQovRmlsdGVyIC9GbGF0ZURlY29kZQ0KL0xlbmd0aCAyOTANCj4+DQpzdHJlYW0NCkiJVJFNb4QgEIbv/Io5brMHVHa3a2JMGtsmHvqR7rZ3FkdLUpEgHvz3HcRuWxPg5Z2ZBxl4Vd/XRnvgr25QJ/TQatM4HIfJKYQLdtpAmkGjlV93y6x6aYFT8WkePfa1aQcoCsbfKDh6N8Pmbvm2j4dtcgP8xTXotOlgc07fP8g4TdZ+YY/GQwJlCQ22jFdP0j7LHoH/qf4NnWeLkC37dP2NocHRSoVOmg6hyJISipwmNM3/GNvFikurPqVjMTNJaCEtohakhVq0qEgHECWmecmIt1bufzgRW2THkJRHwjHQAkHIaASMwGC0kftAxi4lvY8ZpFlxCMZtNEjH0yI/XCT0+toaNTlHXVseZOlK6Ic2eH0zO9hw/TDYtwADABhdjfIKDQplbmRzdHJlYW0NCmVuZG9iag0KMzkgMCBvYmoNCjw8DQovRGlmZmVyZW5jZXMgWzMyIC9zcGFjZSAvZXhjbGFtIC9xdW90ZWRibCAvbnVtYmVyc2lnbiAvZG9sbGFyIC9wZXJjZW50IC9hbXBlcnNhbmQgL3F1b3Rlc2luZ2xlIC9wYXJlbmxlZnQgL3BhcmVucmlnaHQgL2FzdGVyaXNrIC9wbHVzIC9jb21tYSAvaHlwaGVuIC9wZXJpb2QgL3NsYXNoIC96ZXJvIC9vbmUgL3R3byAvdGhyZWUgL2ZvdXIgL2ZpdmUgL3NpeCAvc2V2ZW4gL2VpZ2h0IC9uaW5lIC9jb2xvbiAvc2VtaWNvbG9uIC9sZXNzIC9lcXVhbCAvZ3JlYXRlciAvcXVlc3Rpb24gL2F0IC9BIC9CIC9DIC9EIC9FIC9GIC9HIC9IIC9JIC9KIC9LIC9MIC9NIC9OIC9PIC9QIC9RIC9SIC9TIC9UIC9VIC9WIC9XIC9YIC9ZIC9aIC9icmFja2V0bGVmdCAvYmFja3NsYXNoIC9icmFja2V0cmlnaHQgL2FzY2lpY2lyY3VtIC91bmRlcnNjb3JlIC9ncmF2ZSAvYSAvYiAvYyAvZCAvZSAvZiAvZyAvaCAvaSAvaiAvayAvbCAvbSAvbiAvbyAvcCAvcSAvciAvcyAvdCAvdSAvdiAvdyAveCAveSAveiAvYnJhY2VsZWZ0IDEyNSAvYnJhY2VyaWdodCAvYXNjaWl0aWxkZSAxMzEgL2VsbGlwc2lzIC9lbWRhc2ggL2VuZGFzaCAxNDEgL3F1b3RlZGJsbGVmdCAvcXVvdGVkYmxyaWdodCAxNDQgL3F1b3RlcmlnaHQgMTQ2IC90cmFkZW1hcmsgMTc0IC9yZWdpc3RlcmVkIDE4MiAvcGFyYWdyYXBoIDE5NiAvQWRpZXJlc2lzIC9BcmluZyAyMTYgL09zbGFzaCAyMzMgL2VhY3V0ZV0NCi9UeXBlIC9FbmNvZGluZw0KPj4NCmVuZG9iag0KNDAgMCBvYmoNCjw8DQovQXNjZW50IDcxNQ0KL0NhcEhlaWdodCA2NzgNCi9DaGFyU2V0ICgvQS9BZGllcmVzaXMvQXJpbmcvQi9DL0QvRS9GL0cvSC9JL0ovSy9ML00vTi9PL09zbGFzaC9QL1EvUi9TL1QvVS9WL1cvWC9ZL1ovYS9hbXBlcnNhbmQvYXNjaWljaXJjdW0vYXNjaWl0aWxkZS9hc3Rlcmlzay9hdC9iL2JhY2tzbGFzaC9icmFjZWxlZnQvYnJhY2VyaWdodC9icmFja2V0bGVmdC9icmFja2V0cmlnaHQvYy9jb2xvbi9jb21tYS9kL2RvbGxhci9lL2VhY3V0ZS9laWdodC9lbGxpcHNpcy9lbWRhc2gvZW5kYXNoL2VxdWFsL2V4Y2xhbS9mL2ZfaS9maXZlL2ZvdXIvZy9ncmF2ZS9ncmVhdGVyL2gvaHlwaGVuL2kvai9rL2wvbGVzcy9tL24vbmluZS9udW1iZXJzaWduL28vb25lL3AvcGFyYWdyYXBoL3BhcmVubGVmdC9wYXJlbnJpZ2h0L3BlcmNlbnQvcGVyaW9kL3BsdXMvcS9xdWVzdGlvbi9xdW90ZWRibC9xdW90ZWRibGxlZnQvcXVvdGVkYmxyaWdodC9xdW90ZXJpZ2h0L3F1b3Rlc2luZ2xlL3IvcmVnaXN0ZXJlZC9zL3NlbWljb2xvbi9zZXZlbi9zaXgvc2xhc2gvc3BhY2UvdC90aHJlZS90cmFkZW1hcmsvdHdvL3UvdW5kZXJzY29yZS92L3cveC95L3ovemVybykNCi9EZXNjZW50IC0yMTANCi9GbGFncyA0DQovRm9udEJCb3ggWy0xNTcgLTI1MCAxMTI2IDk1Ml0NCi9Gb250RmlsZTMgNTEgMCBSDQovRm9udE5hbWUgL0VESk9MTytNeXJpYWRQcm8tUmVndWxhcg0KL0l0YWxpY0FuZ2xlIDANCi9TdGVtSCA2Nw0KL1N0ZW1WIDg4DQovVHlwZSAvRm9udERlc2NyaXB0b3INCi9YSGVpZ2h0IDQ4Nw0KPj4NCmVuZG9iag0KNDEgMCBvYmoNCjw8DQovRmlsdGVyIC9GbGF0ZURlY29kZQ0KL0xlbmd0aCAzMTMNCj4+DQpzdHJlYW0NCkiJVJHLboMwEEX3fMUsU2UBOCQBCSGlJJWy6ENN272xhxSpGMuQRf6+MzZNWyTQ8bx8uRPXx/3RdBPEL25QJ5yg7Yx2OA4XpxAaPHcGUgG6U9N88l/VSwsxNZ+u44T90bQDlGUUv1JynNwVFjv/LB+yZXIH8bPT6DpzhsVb+v5BgdPF2i/s0UyQQFWBxjaK60dpn2SPEP/p/k29XS2C8Od0ljFoHK1U6KQ5I5QiqaDEogI0+n8uKkJH06pP6aIyX1VcLjYVceY5zZjXgVfERRK4YBbMqRDEEomTZHcgbjae73mOzj3vc2IWQXygXtIy35r9aAiSgtxt4yuJo3KrORDGb/cshwM5Bh01BRRrVWtfUWfz8DCO/5nXcnNRXZwjg/3uvIFsXWfwtl47WHaK3+hbgAEAkCOX4AoNCmVuZHN0cmVhbQ0KZW5kb2JqDQo0MiAwIG9iag0KPDwNCi9EaWZmZXJlbmNlcyBbMiAvYTEwIC9hNjAgL2ExNTQgL2ExNTUgL2ExNTYgL2ExNTcgL2ExNTggL2ExNTkgL2ExNjAgL2ExNjEgL2ExNjMgL2ExNjQgL2ExOTYgL2ExNjUgL2ExOTIgL2ExNjYgL2ExNjcgL2ExNjggL2ExNjkgL2ExNzAgL2ExNzEgL2ExNzIgL2ExNzMgL2ExNjIgL2ExNzQgL2ExNzUgL2ExNzYgL2ExNzcgL2ExNzggL2ExNzkgL2ExOTMgL2ExODAgL2ExOTkgL2ExODEgL2EyMDAgL2ExODIgL2EyMDEgL2ExODMgL2ExODQgL2ExOTcgL2ExODUgL2ExOTQgL2ExOTggL2ExODYgL2ExOTUgL2ExODcgL2ExODggL2ExODkgL2ExOTAgL2ExOTFdDQovVHlwZSAvRW5jb2RpbmcNCj4+DQplbmRvYmoNCjQzIDAgb2JqDQo8PA0KL0FzY2VudCAwDQovQ2FwSGVpZ2h0IDANCi9DaGFyU2V0ICgvYTEvYTEwL2ExMDAvYTEwMS9hMTAyL2ExMDMvYTEwNC9hMTA1L2ExMDYvYTEwNy9hMTA4L2ExMDkvYTExL2ExMTAvYTExMS9hMTEyL2ExMTcvYTExOC9hMTE5L2ExMi9hMTIwL2ExMjEvYTEyMi9hMTIzL2ExMjQvYTEyNS9hMTI2L2ExMjcvYTEyOC9hMTI5L2ExMy9hMTMwL2ExMzEvYTEzMi9hMTMzL2ExMzQvYTEzNS9hMTM2L2ExMzcvYTEzOC9hMTM5L2ExNC9hMTQwL2ExNDEvYTE0Mi9hMTQzL2ExNDQvYTE0NS9hMTQ2L2ExNDcvYTE0OC9hMTQ5L2ExNS9hMTUwL2ExNTEvYTE1Mi9hMTUzL2ExNTQvYTE1NS9hMTU2L2ExNTcvYTE1OC9hMTU5L2ExNi9hMTYwL2ExNjEvYTE2Mi9hMTYzL2ExNjQvYTE2NS9hMTY2L2ExNjcvYTE2OC9hMTY5L2ExNy9hMTcwL2ExNzEvYTE3Mi9hMTczL2ExNzQvYTE3NS9hMTc2L2ExNzcvYTE3OC9hMTc5L2ExOC9hMTgwL2ExODEvYTE4Mi9hMTgzL2ExODQvYTE4NS9hMTg2L2ExODcvYTE4OC9hMTg5L2ExOS9hMTkwL2ExOTEvYTE5Mi9hMTkzL2ExOTQvYTE5NS9hMTk2L2ExOTcvYTE5OC9hMTk5L2EyL2EyMC9hMjAwL2EyMDEvYTIwMi9hMjAzL2EyMDQvYTIxL2EyMi9hMjMvYTI0L2EyNS9hMjYvYTI3L2EyOC9hMjkvYTMvYTMwL2EzMS9hMzIvYTMzL2EzNC9hMzUvYTM2L2EzNy9hMzgvYTM5L2E0L2E0MC9hNDEvYTQyL2E0My9hNDQvYTQ1L2E0Ni9hNDcvYTQ4L2E0OS9hNS9hNTAvYTUxL2E1Mi9hNTMvYTU0L2E1NS9hNTYvYTU3L2E1OC9hNTkvYTYvYTYwL2E2MS9hNjIvYTYzL2E2NC9hNjUvYTY2L2E2Ny9hNjgvYTY5L2E3L2E3MC9hNzEvYTcyL2E3My9hNzQvYTc1L2E3Ni9hNzcvYTc4L2E3OS9hOC9hODEvYTgyL2E4My9hODQvYTkvYTk3L2E5OC9hOTkvc3BhY2UpDQovRGVzY2VudCAwDQovRmxhZ3MgNA0KL0ZvbnRCQm94IFstMSAtMTQzIDk4MSA4MjBdDQovRm9udEZpbGUzIDUyIDAgUg0KL0ZvbnROYW1lIC9FSkJFTEQrWmFwZkRpbmdiYXRzDQovSXRhbGljQW5nbGUgMA0KL1N0ZW1WIDANCi9UeXBlIC9Gb250RGVzY3JpcHRvcg0KPj4NCmVuZG9iag0KNDQgMCBvYmoNCjw8DQovRmlsdGVyIC9GbGF0ZURlY29kZQ0KL0xlbmd0aCAyNzQNCj4+DQpzdHJlYW0NCkiJVFFNT8QgEL3zK+a4xgOFVt1NGg6umvTgR9zVO4VpJbGUUHrovxdoXeMB8ubNvMfMQI/NQ2NNAPrmR3XCAJ2x2uM0zl4htNgbC4yDNipsUb7VIB3QKD4tU8Chsd0IdU3oe0xOwS+weyr5dXEF9NVr9Mb2sDuzj89InGbnvnFAG6AAIUBjR+jxWboXOSDQrPsjz4tD4Dlm29OjxslJhV7aHqEuuIC6LAWg1f9zpFwVbae+pCdrJb/jTERcZlxl3CbMDlyQ6LFVV7/a1aouqlhUyKza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MDAwNDk3MCAwMDAwMCBuDQowMDAwMDA1MDk0IDAwMDAwIG4NCjAwMDAwMDYyMTEgMDAwMDAgbg0KMDAwMDAwNzQyMSAwMDAwMCBuDQowMDAwMDA4NDI1IDAwMDAwIG4NCjAwMDAwMDkxODkgMDAwMDAgbg0KMDAwMDAwOTcyMyAwMDAwMCBuDQowMDAwMDEwMzY3IDAwMDAwIG4NCjAwMDAwMTEzNzIgMDAwMDAgbg0KMDAwMDAxMTc2MSAwMDAwMCBuDQowMDAwMDExOTYyIDAwMDAwIG4NCjAwMDAwMTIxNjUgMDAwMDAgbg0KMDAwMDAxMjM3OSAwMDAwMCBuDQowMDAwMDEyNTk1IDAwMDAwIG4NCjAwMDAwMTI3NTcgMDAwMDAgbg0KMDAwMDAxMzMxMiAwMDAwMCBuDQowMDAwMDEzOTMyIDAwMDAwIG4NCjAwMDAwMTQzNTEgMDAwMDAgbg0KMDAwMDAxNjE0MiAwMDAwMCBuDQowMDAwMDE3ODc3IDAwMDAwIG4NCjAwMDAwMTgzNTYgMDAwMDAgbg0KMDAwMDAxODg3OSAwMDAwMCBuDQowMDAwMDE5NDg0IDAwMDAwIG4NCjAwMDAwMTk4NzIgMDAwMDAgbg0KMDAwMDAyMDIzOCAwMDAwMCBuDQowMDAwMDIwNjg1IDAwMDAwIG4NCjAwMDAwMjEwODUgMDAwMDAgbg0KMDAwMDAyMTI4OSAwMDAwMCBuDQowMDAwMDIxNjEyIDAwMDAwIG4NCjAwMDAwMjIwMTAgMDAwMDAgbg0KMDAwMDAyMjQyOSAwMDAwMCBuDQowMDAwMDIyOTcxIDAwMDAwIG4NCjAwMDAwMjMzNDMgMDAwMDAgbg0KMDAwMDAyNDEwMiAwMDAwMCBuDQowMDAwMDI0OTEyIDAwMDAwIG4NCjAwMDAwMjUzMDcgMDAwMDAgbg0KMDAwMDAyNTY2NiAwMDAwMCBuDQowMDAwMDI2NzI3IDAwMDAwIG4NCjAwMDAwMjcwODMgMDAwMDAgbg0KMDAwMDAzNzQwOSAwMDAwMCBuDQowMDAwMDU2NjI1IDAwMDAwIG4NCjAwMDAwNjI2MDUgMDAwMDAgbg0KMDAwMDA2ODY4NSAwMDAwMCBuDQowMDAwMDcyMTk3IDAwMDAwIG4NCjAwMDAwNzgwMzcgMDAwMDAgbg0KMDAwMDA4NTk3MCAwMDAwMCBuDQp0cmFpbGVyDQo8PA0KL1Jvb3QgMSAwIFINCi9TaXplIDUzDQo+Pg0KDQpzdGFydHhyZWYNCjEwOTY0NQ0KJSVFT0YNCg=='; + +// ignore: public_member_api_docs +String flut6788Pdf_3 = + 'JVBERi0xLjQNCiWDkvr+DQoxIDAgb2JqDQo8PA0KL1R5cGUgL0NhdGFsb2cNCi9QYWdlcyAyIDAgUg0KL091dGxpbmVzIDMgMCBSDQovTmFtZXMgNCAwIFINCi9BY3JvRm9ybSA1IDAgUg0KPj4NCmVuZG9iag0KMiAwIG9iag0KPDwNCi9UeXBlIC9QYWdlcw0KL0tpZHMgWzYgMCBSXQ0KL0NvdW50IDENCi9SZXNvdXJjZXMgPDw+Pg0KDQovTWVkaWFCb3ggWzAgMCA1OTUgODQyXQ0KL1JvdGF0ZSAwDQo+Pg0KZW5kb2JqDQozIDAgb2JqDQo8PA0KL0NvdW50IDENCi9GaXJzdCA3IDAgUg0KL0xhc3QgNyAwIFINCj4+DQplbmRvYmoNCjQgMCBvYmoNCjw8DQovRGVzdHMgOCAwIFINCj4+DQplbmRvYmoNCjUgMCBvYmoNCjw8DQovRmllbGRzIFtdDQo+Pg0KZW5kb2JqDQo2IDAgb2JqDQo8PA0KL0NvdW50IDENCi9UeXBlIC9QYWdlcw0KL0tpZHMgWzkgMCBSXQ0KL1BhcmVudCAyIDAgUg0KL01lZGlhQm94IFswIDAgNTMxIDY2Nl0NCj4+DQplbmRvYmoNCjcgMCBvYmoNCjw8DQovUGFyZW50IDMgMCBSDQovVGl0bGUgKFN1Yi1wYWdlIE5hdmlnYXRpb24pDQovQSAxMCAwIFINCj4+DQplbmRvYmoNCjggMCBvYmoNCjw8DQovTmFtZXMgMTEgMCBSDQo+Pg0KZW5kb2JqDQo5IDAgb2JqDQo8PA0KL1R5cGUgL1BhZ2UNCi9QYXJlbnQgNiAwIFINCi9Dcm9wQm94IFswIDAgNTMxIDY2Nl0NCi9NZWRpYUJveCBbMCAwIDUzMSA2NjZdDQovQ29udGVudHMgWzEyIDAgUl0NCi9SZXNvdXJjZXMgPDwNCi9FeHRHU3RhdGUgPDwNCi9HUzAgMTMgMCBSDQovR1MxIDE0IDAgUg0KPj4NCg0KL0ZvbnQgPDwNCi9UMV8wIDE1IDAgUg0KL1QxXzEgMTYgMCBSDQovVDFfMiAxNyAwIFINCi9UMV8zIDE4IDAgUg0KL1QxXzQgMTkgMCBSDQovVDFfNSAyMCAwIFINCi9UMV82IDIxIDAgUg0KL1QxXzcgMjIgMCBSDQo+Pg0KDQovUHJvY1NldCBbL1BERiAvVGV4dF0NCi9Qcm9wZXJ0aWVzIDw8DQovTUMwIDIzIDAgUg0KL01DMSAyNCAwIFINCj4+DQoNCj4+DQoNCi9Bbm5vdHMgWzI1IDAgUiAyNiAwIFJdDQovUm90YXRlIDANCj4+DQplbmRvYmoNCjEwIDAgb2JqDQo8PA0KL0QgKEcxMy4yMDE1ODU2KQ0KL1MgL0dvVG8NCj4+DQplbmRvYmoNCjExIDAgb2JqDQpbKEcxMy4yMDE1ODU2KSAyNyAwIFJdDQplbmRvYmoNCjEyIDAgb2JqDQo8PA0KL0ZpbHRlciAvRmxhdGVEZWNvZGUNCi9MZW5ndGggMzYxMg0KPj4NCnN0cmVhbQ0KSImUV11v2zoSfc+v4CO1uFLED1EStiiwbdqLLm57g1vvvtwuFkosO7pIbMNSkmZ//Z4Zyo4tW6z6ItOUODxzOGdmePmPbdcsqttOvHlzOXvZ1OLyulo2q6pr1ivx9u27q/fiIhXLCyUacXH561eM24t3s4vLmfpvKpSYLS7SJLWFFbNbgZFOMzF7FqkQs1aolH7/h3+zrSgS6zBK/cBY/GjhtE2sVbmYPVz8Ka+rKC7kMop1IWs8UxnjWcrf8NQ8k8un3TiT9/xSfKkwZ5xsolhpXq0kG+owYXi6lGser6L/zP7J2NUOu0qVI+wxwKfaEnhYTQprCfYcqL5+iGIr389oy0+/f4liJ+GD2ZvS3pQ3oJkHspInZcH+8kBnJcgRzqRJvvfXpQRTsaUPs4uiTEoLStiQMJlKUjCWANS2vljQ66wQThVJWmjM59hY+1fWpomz599pl2Hy+F3pX334jNO9/LqpVnT8n99/ugLc/tD7M97zBEhqz5PT5KFKk4w95EGZEfqsyBOldw62TQTWEUuRykC+kiJych6pVD5uq0jbo1dtVMoNkVzfNlEuFzixVDb1PLJSLCIcLX+6FRUZ2VT4ZEnWEQre7jeaxMQSb2papAXZYdvdXZT5yUWzfNz6dVZ+i2ghLVhHiJqnqODp7QqzLb1CCOVyv7bb8gYrAnPGtV1ApAcBUZb7gDAqybQPKtmto9lfJwQXvYhSyyKK/YpYUQhwKLIbwFACWCYF/CW5EGj8W8AtSyQ5+UD/e6zkG4gkMfSeEIlHS/++4yc78DFnF/sjcuddZA/3Dqo8MbnayQZwtCNeNeAMZMfUGNe7q8gGlidFvhed6JkH6FpwVACWXNaiaUkzfGxM/VO95UAhfDWtmdOD3t+QHy+7fz4Z9AZX9XeScedDh8CxJ2YX4Mr4RKBKUO8OT2ADyiqiZUmPOnKl/KZ1CobBl+cPYYzYZkQl5pRCCtJ0AJSiSs/IKiIfYhKDNvIR036ZUeD79SMgTvBP7DLEGcGqgWDNK8PK5fuzKZK8T765QI6mXGSNRYLZSfXjJ5Bh5a9In1b+C+Nc/sHEfghsrs9vntK2Rzsag+fhhvAJAjhv1Yy7lBpzajtDCRl4UyQUMioA3U6FbvOh+RD27LzZY4tloorJFt3A4mF2KfJdxsg5Y5SJ9TWHBzozSeYGzFwTMRRsdUvSqPnUEWm57Fj4Hb2nminXK1Za1zxw5CLLLQN85ucLB8NUu8SW5/lY4bApMKc7lB8IxXequxWgPhA8Ut49SaZmFts7n9mUfEbI7rO1oiTncwb82vmJfF2vvAjpi+p12NBiNoP3kjJNyVtued+aRFvvGGu59GNmwQqlNIo/FXIp8hJtvxY3RFkt5k27uec08bIzMKfH8eLM56ZxTovxYlxkPaVlVo5Rakp30Fy19a1PLMonljk53VJpSCgZvSPPa5pbRNwvIecjg/dVgby7o5f8BWjKZV9rOQvSHBcLtifmPukV9Belmj68pxcV2XuhOTI6p1P9hfYm07kvTIc79hbSvpQJA/yENcNvTPMtfTn0qke79Ym6pOneTLMrnGS4X5IT8MIPsOz5rn99S97csbFdeVA7yjH0PW5fF66oMj9zhyKe+ubDF6WOoqu5re4jwKcHIMiVDwmK2ZZX1fWG9l7DkUcC2z1XNL31/nD3Q6G6pXdrwvVAq/uAL4DS+vbklp4rKihdP7Xl3ocJMkwzpoXfvmDTS97fg2HTi1OzaBVc31SB/1C8liM5lXqbfW1NrRkWpD5c0SK71wzwvXogfWzuWe+hCjjsWe3rtlafrYCo1ryjVfsdpUrHc7AaVlk7Ui2UcieGA7ldDQuoPS0X6KapAB2ZDEEdVs+zJrOkKKajHNbKA4KNOqEAVxwzML6++StgflgzszFyrU6Mng57WDkP4+L04PjyZfRrDMo3bwLGh/VuNCJ6Og4Nh0APc/4BaGX3CcieRDSKfHG8DZroy1lknHzZ1CH5DFV76MmpcrI80ZO90QFp6vyEKqfwPHbh8pquiSiwoS50qM7RACp0kk0/Cz1FnbijUdzg7jPJ5Ig6mZAzUnIs/QPjzIihFiam+uwbmwwZO0DPmHxP+ddJ6ab7MtTtSd7ldK9PY9WhpXYDt3Dzoxr8R8iRoaCzYKQWUMR0Z0b0fO6scX2aZDIgZX1yjdmd9YFxnPV76lvWK67JJR218w16G6IpJOijLXM93DJ4LfthnR0779wNeftTIjv/8MBNSNinB17iWUx3Z7q6dWmmmQyoG/6eP/Ej45dXj9uA/clKzsx00CMyHmb9IdQsYHJEqMNk/zPUTtenLqb1B2ZEnxzF6ehxHViHQGeRLeiyGNMdwgR1aSbrMsPTTfbDBnRpTvOMM4l2AzfQ6cQ5bhfkTvaDfsFO7YV1mlKan+zGiB5fr17Hxm1SnjkMg8NYhU7BDjU61ixojU5HT4cfaJLR1J2kXm43tTvoRC6vAtbHau1pi+Njx01rcexIjxyPdGilDx532KKZJIpLpIMA50PxjnKOU01/An2oWR7lPDvoCC6/BqxP1muRMyvZtFYjCzXFJ4GuSsUHeox6c990gR2mNsRaqSQtpiMPSFSfXql6vm12GOMPAfNj5fOUE8ew7bRKn/2UNCltZQPjl/8OWJ96fdVpwQVkKurA9XU8uM1hM/E5YH3y/bXEhvrYcAj1z0mytFwijlD/HrA+lOQ41ybJpqN2I5I8rsoZM6yn1QM3Vib3VTneVbbh7SjlMNGHpU0I9Mpv3wZyrBtqM9wr5zZx030J9LWnslc+EtODHA7k48aH6hw7U2XSBD3bkeEQ6MD1VJ9GYpoTalUeZMJ6NV/f/BXYYahQPbzg+VYyJ/aRadFN0HZ+VHI0KYcfTcKgU/76eBPFSss40nJTLesok+JLFSkjn5plFRWya9aYW4XCYKjr9LWgK8tuY2RyzZiQ6TwkGvSIrDpBZIEoRnu4oUIPPHLJMGs8gXBFzW+F+HyKYp3Jhu6nS/4en2q6rypFs/4mS9bEN8m/11Fs5dVHjI0Uim2il9Apmgkaf4vYUfJCDZkldxzfNJVOVGooxOcklOr+fh1pJZ9bAHMEoQB7QLfkYdesCNQSDPP7dVQCISCtI0XMAvt9BKQvNHfDoGsMu2c6BTic89+V2JDDy8j/bUUUO3kTqVI+0ncdUNA0EbMmQ+zHq/IxKjMGH/foY8SE9R7c1LSZlXW9gnkxbxYL/ruNQAzmQHEnWsLY0a4VT0SguG7JCScX5Bu/uyNXa9FWZOABkcMRtaFIWrJN/E3Ex0hbySu3gma+44D7FRpxCBD3vBRb/IIrjqhE20R03SECYtO/hWHasjde+Jlmha+vCcUV8fLxlQhdvqZAQ0zM/gbfN3RE2x201tNNxwJmu4qfDSPFjBS3PHyk/efiLuq5eMKJ7uEQGh609ZZAH3F0Qxs9sgv3tKLbO8HfIFJATNeKztum3ekL2jbFtnP6c0OS6H0FIfOGbD4180jl3jTi0cdTrOhUQOIjcGxXHDrYa+45YX2qvI8OLpXPiGmKC4PAuAI5LB7inwU39+JbLyAYC39AVcKqEZ/671qO3kfa5NZHA6+o/s95ley2DQPRu76Cx7iIFXET5XPTFmhRFIUL9ND0YEdy4tZbvSDN3/fNkJRoJXGMAoktDcezkPPeDEmVTXCuDWv9ZTxOlohqs8Az5JfeGgoJaLqnVALepwcGt1dbBIjQyp6fvVu2/bAmPB3YkFevabto05QJnllx6w1stk00oVRYXxH6/HJIefrY/XC92bNwzj7WgYpieEHp1i+iZE4yZ39ykf0GekyXRjOPy0K1fAmafLlZ9EeXhNJ0Gc7djMxLvFyhqxaRlvcM7EEZkIEHUOquacSJ/Fx/xpHJVa+IEViKpR+B1AYt8iiCcewAJmzvnh4JnArsiIAMeO1S3ChpB9pdfKGD2TDXdmpciQvxlivDi4i5943/OpVLf7hKc4kUa5/JRLmCiPYoFcRY3gwuBTE68UpNNSOY6yec373Y7TlHzwGNYAKY0RrBw13cN2LD5cZNoREPniGo1qkMgfEpVynbPHlG/SEuzcuPz8PYA58vE1fmVRWnxu3AO7VErAavoKqdP7gVCahweLmmDzHxfWwi2rabDA8FBszQd/3MWuKWNIptF2cpiXrpJOdA7F2YFCwTNvNNGRsu+Wue6+yhCL1xjGhsGw3qCFTv53eHbdPtWDua/smsph2w2uFyqIRRhsbFYQV8VmLbZN/fiFUmxV3QM5ZKtNVr1WbZ1bvltKnrpr5e3x6WzWov4KsQ7OUqlUkv+5oV/hjEp4xO4kEY8Rnvv/D/Ufz4WYgaP/wwhu9dZjB5j4yDewv3RiyfSIZG8XQjKpp3FcU0bj38jpVRJuw0os0zrMGPmsfZUmFDLaZxU1K3pYL4NrAFl8FktZvjZFZiRm/rZduEZCXRdPyh0ggKL1Qla8EvCgVclAUGNwCUBZhPdpvFxLc4GpFqtqSqHKNOsPMfXlXqVbfF4lLKsrFZFlyPLrcFz4FFfJRFlZeyws46nbuRUXETjEU4tgunPmwn9OCnk47v88pSXLmksY1im1GK623cjNi4n8Qi6dqJE+p+ee23qbp4bL2JaC2xU7Z2Sn9lM0pGjCUnYCgJAPrVDGTuTqWgIxeNQIgaWAAxEtBRlIpucbaVLDLCqEZtn6M7zghVLAMtOWB52UmANA38kcVztMYZQIHLaqcT3hM7r2nAhkO3Rg9OdKIktXOG1jjTtsqVS6NuJYmtc7TGEc2hsJ/WsNEgK+1AVxWKWTl/M82FoD8ixqEBEWvdkmW7EBmz+/gnwAByBpVRDQplbmRzdHJlYW0NCmVuZG9iag0KMTMgMCBvYmoNCjw8DQovQkcyIC9EZWZhdWx0DQovT1AgZmFsc2UNCi9PUE0gMQ0KL1NBIGZhbHNlDQovU00gLjAyDQovVHlwZSAvRXh0R1N0YXRlDQovVUNSMiAvRGVmYXVsdA0KL29wIGZhbHNlDQo+Pg0KZW5kb2JqDQoxNCAwIG9iag0KPDwNCi9CRzIgL0RlZmF1bHQNCi9PUCBmYWxzZQ0KL09QTSAxDQovU0EgdHJ1ZQ0KL1NNIC4wMjAwMDQzDQovVHlwZSAvRXh0R1N0YXRlDQovVUNSMiAvRGVmYXVsdA0KL29wIGZhbHNlDQo+Pg0KZW5kb2JqDQoxNSAwIG9iag0KPDwNCi9CYXNlRm9udCAvRURKT05QK01pbmlvblByby1JdA0KL0VuY29kaW5nIDI4IDAgUg0KL0ZpcnN0Q2hhciAyDQovRm9udERlc2NyaXB0b3IgMjkgMCBSDQovTGFzdENoYXIgMjMzDQovU3VidHlwZSAvVHlwZTENCi9Ub1VuaWNvZGUgMzAgMCBSDQovVHlwZSAvRm9udA0KL1dpZHRocyBbMTAzMyA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDIyOSA1MDAgMzQ1IDQ3NyA1MDAgNzUxIDc2MiA1MDAgMzM4IDMzMyAzOTEgNTk2IDIzNSAzMzQgMjM1IDMyMiA0NzcgNDc3IDQ3NyA0NzcgNDc3IDQ3NyA0NzcgNDc3IDQ3NyA0NzcgMjM1IDIzNSA1OTcgNTAwIDU5NyA1MDAgNzM4IDY2NCA1NzkgNjM1IDcwOCA1NTkgNTI3IDY4MSA3NDIgMzM1IDMyMSA2NTMgNTMyIDg3NiA3MDUgNzA4IDU1NCA3MDkgNTk5IDQ2OCA2MDMgNzA3IDY3NSA5NDkgNjQyIDYxMSA1ODggNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNDkwIDQ4NiAzODIgNTA4IDQwMCAyNzEgNDIwIDUxMSAyNzMgMjY2IDQ3MCAyNDkgNzg3IDUzMiA0NzAgNDg2IDQ4NCAzNjYgMzM3IDMwNyA1MzMgNDQ3IDY3MCA0NzMgNDQyIDQxOCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA5MDcgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCAzODYgMzg0IDUwMCAyMTQgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCAzMTMgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDQwMF0NCj4+DQplbmRvYmoNCjE2IDAgb2JqDQo8PA0KL0Jhc2VGb250IC9FREpPTE4rTWluaW9uUHJvLVJlZ3VsYXINCi9FbmNvZGluZyAzMSAwIFINCi9GaXJzdENoYXIgMg0KL0ZvbnREZXNjcmlwdG9yIDMyIDAgUg0KL0xhc3RDaGFyIDI1NQ0KL1N1YnR5cGUgL1R5cGUxDQovVG9Vbmljb2RlIDMzIDAgUg0KL1R5cGUgL0ZvbnQNCi9XaWR0aHMgWzM0MSAzNDEgMzQxIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDIyNyAyNzYgMzE4IDQ4MCA0ODAgNzU2IDcxMSAxNjkgMzQ2IDM0NiA0MDQgNTgwIDIyOCAzNTYgMjI4IDMzMSA0ODAgNDgwIDQ4MCA0ODAgNDgwIDQ4MCA0ODAgNDgwIDQ4MCA0ODAgMjI4IDIyOCA1NTIgNTgwIDU1MiAzNzkgNzUzIDY5MSA1ODggNjY1IDczNSA1NjggNTI5IDcxNSA3NjYgMzQxIDMyOSA2NzMgNTM4IDg5MSA3NDMgNzQ3IDU2MyA3NDUgNjIxIDQ3NCA2MTcgNzM2IDcwMyA5NzEgNjU0IDYzNCA2MDMgMzQ1IDMzMyAzNDUgNTY2IDUwMCA0MDAgNDM5IDUwOCA0MjMgNTI4IDQyNSAyOTYgNDY4IDUzNCAyNjggMjU2IDQ5NiAyNTMgODE5IDU0NyA1MTAgNTI0IDUxMSAzNzEgMzY3IDMwNSA1MzEgNDYzIDY4NSA0NzIgNDU5IDQyMCAzNDcgMjYzIDM0NyA1ODAgNTAwIDM5MCA0OTAgNDg5IDk3MCA5MjIgNTIwIDQ4MCA1MDAgMjc5IDI3OSA1MDAgMTA2MiA0MjkgMzk4IDQwMSAyMjQgMjIzIDIzOSA0NTkgNTAwIDUwMCA1MDAgNTAwIDQ3NCA2MzQgNTAwIDUwMCA1MDAgNzcwIDM2NyA0MjAgNTAwIDQ4MCAyNzYgNDgwIDQ4MCA0ODAgNDgwIDI2MyA0NzcgNDAwIDcwMiAzMDUgNDQ0IDU4MCA1MDAgMzIxIDQwMCAzNDMgNTgwIDUwMCA1MDAgNDAwIDUxMiA0OTcgMjI2IDQwMCA1MDAgMzM0IDQ0NSA3NjIgNzYyIDc2MiAzNzkgNjkxIDY5MSA2OTEgNjkxIDY5MSA2OTEgODY5IDY2MSA1NjggNTY4IDU2OCA1NjggMzQxIDM0MSAzNDEgMzQxIDczNyA3NDMgNzQ3IDc0NyA3NDcgNzQ3IDc0NyA1ODAgNzQ5IDczNiA3MzYgNzM2IDczNiA2MzQgNTQ5IDU0NSA0MzkgNDM5IDQzOSA0MzkgNDM5IDQzOSA2NzEgNDIxIDQyNSA0MjUgNDI1IDQyNSAyNjggMjY4IDI2OCAyNjggNTA1IDU0NyA1MTAgNTEwIDUxMCA1MTAgNTEwIDU4MCA1MTMgNTMxIDUzMSA1MzEgNTMxIDQ1OSA1MTQgNDU5XQ0KPj4NCmVuZG9iag0KMTcgMCBvYmoNCjw8DQovQmFzZUZvbnQgL0VESk9KTStNeXJpYWRQcm8tU2VtaWJvbGQNCi9FbmNvZGluZyAzNCAwIFINCi9GaXJzdENoYXIgMzINCi9Gb250RGVzY3JpcHRvciAzNSAwIFINCi9MYXN0Q2hhciAyMzMNCi9TdWJ0eXBlIC9UeXBlMQ0KL1RvVW5pY29kZSAzNiAwIFINCi9UeXBlIC9Gb250DQovV2lkdGhzIFsyMDcgNTAwIDM3MCA1MjYgNTAwIDg0MCA1MDAgMTk4IDMwMSAzMDEgNDM3IDUwMCAyMzYgMzE1IDIzNiAzMzcgNTM2IDUzNiA1MzYgNTM2IDUzNiA1MzYgNTM2IDUzNiA1MzYgNTM2IDIzNiA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA2MzYgNTc2IDU4OCA2ODMgNTE1IDUwOSA2NjYgNjcyIDI2NCAzOTIgNTgyIDQ5MyA4MjcgNjc2IDcwNCA1NTkgNzA0IDU2OSA1MTkgNTI1IDY2NiA2MDEgODY5IDU5NCA1NzUgNTY2IDMwMSA1MDAgMzAxIDUwMCA1MDAgNTAwIDUwOCA1ODUgNDQ5IDU4MSA1MTYgMzE5IDU3MyA1NzIgMjU2IDI3MCA1MDkgMjU3IDg0OCA1NzIgNTY0IDU4NSA1ODEgMzU2IDQxNyAzNTEgNTY5IDUwOCA3NDkgNDk0IDUwMCA0NTAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNDA5IDQwOSA1MDAgMjM2IDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MTZdDQo+Pg0KZW5kb2JqDQoxOCAwIG9iag0KPDwNCi9CYXNlRm9udCAvRURKT09QK015cmlhZFByby1Cb2xkDQovRW5jb2RpbmcgMzcgMCBSDQovRmlyc3RDaGFyIDMyDQovRm9udERlc2NyaXB0b3IgMzggMCBSDQovTGFzdENoYXIgMTQ0DQovU3VidHlwZSAvVHlwZTENCi9Ub1VuaWNvZGUgMzkgMCBSDQovVHlwZSAvRm9udA0KL1dpZHRocyBbMjAyIDUwMCA1MDAgNTUwIDUwMCA1MDAgNTAwIDUwMCAzMTQgMzE0IDUwMCA1MDAgMjYwIDMyMiAyNjAgMzMxIDU1NSA1NTUgNTU1IDU1NSA1NTUgNTU1IDU1NSA1NTUgNTU1IDU1NSAyNjAgNTAwIDU5NiA1MDAgNTk2IDQ0NSA1MDAgNjU2IDYwNCA1OTUgNjk2IDUzNCA1MjcgNjgyIDY4OSAyODUgNDExIDYxNCA1MTEgODQ2IDY5MCA3MTcgNTgxIDcxNyA1OTMgNTQwIDU0OCA2ODIgNjM2IDg4OCA2MTMgNjAzIDU3NyA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MjggNTk4IDQ1MSA1OTYgNTI4IDM0MSA1ODUgNTg2IDI3NCAyOTEgNTQyIDI3NSA4NjAgNTg2IDU3NyA1OTggNTk1IDM4MCA0MzQgMzY3IDU4MyA1MzAgNzU5IDUxOSA1MjMgNDY5IDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDI2MF0NCj4+DQplbmRvYmoNCjE5IDAgb2JqDQo8PA0KL0Jhc2VGb250IC9FREpPTE8rTXlyaWFkUHJvLVJlZ3VsYXINCi9FbmNvZGluZyA0MCAwIFINCi9GaXJzdENoYXIgMzINCi9Gb250RGVzY3JpcHRvciA0MSAwIFINCi9MYXN0Q2hhciAyMzMNCi9TdWJ0eXBlIC9UeXBlMQ0KL1RvVW5pY29kZSA0MiAwIFINCi9UeXBlIC9Gb250DQovV2lkdGhzIFsyMTIgMjMwIDMzNyA0OTcgNTEzIDc5MiA2MDUgMTg4IDI4NCAyODQgNDE1IDU5NiAyMDcgMzA3IDIwNyAzNDMgNTEzIDUxMyA1MTMgNTEzIDUxMyA1MTMgNTEzIDUxMyA1MTMgNTEzIDIwNyAyMDcgNTk2IDU5NiA1OTYgNDA2IDczNyA2MTIgNTQyIDU4MCA2NjYgNDkyIDQ4NyA2NDYgNjUyIDIzOSAzNzAgNTQyIDQ3MiA4MDQgNjU4IDY4OSA1MzIgNjg5IDUzOCA0OTMgNDk3IDY0NyA1NTggODQ2IDU3MSA1NDEgNTUzIDI4NCAzNDEgMjg0IDU5NiA1MDAgMzAwIDQ4MiA1NjkgNDQ4IDU2NCA1MDEgMjkyIDU1OSA1NTUgMjM0IDI0MyA0NjkgMjM2IDgzNCA1NTUgNTQ5IDU2OSA1NjMgMzI3IDM5NiAzMzEgNTUxIDQ4MSA3MzYgNDYzIDQ3MSA0MjggMjg0IDUwMCAyODQgNTk2IDUwMCA1MDAgNTAwIDUwMCAxMDAwIDEwMDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCAzNTQgMzU0IDUwMCAyMDcgNTAwIDYxOSA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA0MTkgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUxMiA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNjEyIDYxMiA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA2ODkgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMV0NCj4+DQplbmRvYmoNCjIwIDAgb2JqDQo8PA0KL0Jhc2VGb250IC9FREpQT0wrU3ltYm9sDQovRW5jb2RpbmcgNDMgMCBSDQovRmlyc3RDaGFyIDINCi9Gb250RGVzY3JpcHRvciA0NCAwIFINCi9MYXN0Q2hhciAyNDcNCi9TdWJ0eXBlIC9UeXBlMQ0KL1RvVW5pY29kZSA0NSAwIFINCi9UeXBlIC9Gb250DQovV2lkdGhzIFs1NDkgMjQ3IDUyMSA2MzEgNTQ5IDYwMyA1NDkgNzEzIDUyMSA1NDkgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDMzMyAzMzMgMjUwIDU0OSAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgNTQ5IDU0OSA1NDkgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDMzMyAyNTAgMzMzIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgNDgwIDIwMCA0ODAgMjUwIDI1MCAyNTAgMjUwIDI1MCAxMDAwIDI1MCAyNTAgMjUwIDE2NyAyNTAgMjUwIDU0OSAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDU0OSAyNTAgMjUwIDI1MCA1NzYgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgNTQ5IDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCAyNTAgMjUwIDI1MCA1NDldDQo+Pg0KZW5kb2JqDQoyMSAwIG9iag0KPDwNCi9CYXNlRm9udCAvRURQRU9OK015cmlhZFByby1TZW1pYm9sZA0KL0VuY29kaW5nIDQ2IDAgUg0KL0ZpcnN0Q2hhciAzMg0KL0ZvbnREZXNjcmlwdG9yIDQ3IDAgUg0KL0xhc3RDaGFyIDEyMg0KL1N1YnR5cGUgL1R5cGUxDQovVG9Vbmljb2RlIDQ4IDAgUg0KL1R5cGUgL0ZvbnQNCi9XaWR0aHMgWzIwNyA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgMzAxIDMwMSA0MzcgNTAwIDIzNiAzMTUgMjM2IDUwMCA1MzYgNTM2IDUzNiA1MzYgNTAwIDUzNiA1MDAgNTM2IDUzNiA1MDAgMjM2IDUwMCA1MDAgNTk2IDUwMCA1MDAgNTAwIDYzNiA1NzYgNTg4IDY4MyA1MTUgNTAwIDY2NiA2NzIgMjY0IDUwMCA1ODIgNDkzIDgyNyA2NzYgNzA0IDU1OSA1MDAgNTY5IDUxOSA1MjUgNjY2IDUwMCA4NjkgNTAwIDU3NSA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTA4IDU4NSA0NDkgNTgxIDUxNiAzMTkgNTczIDU3MiAyNTYgMjcwIDUwOSAyNTcgODQ4IDU3MiA1NjQgNTg1IDU4MSAzNTYgNDE3IDM1MSA1NjkgNTA4IDc0OSA0OTQgNTAwIDQ1MF0NCj4+DQplbmRvYmoNCjIyIDAgb2JqDQo8PA0KL0Jhc2VGb250IC9FREtJSEwrTXlyaWFkUHJvLVJlZ3VsYXINCi9FbmNvZGluZyA0OSAwIFINCi9GaXJzdENoYXIgMg0KL0ZvbnREZXNjcmlwdG9yIDUwIDAgUg0KL0xhc3RDaGFyIDE4MA0KL1N1YnR5cGUgL1R5cGUxDQovVG9Vbmljb2RlIDUxIDAgUg0KL1R5cGUgL0ZvbnQNCi9XaWR0aHMgWzIxMiA1MjMgNTgzIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDIxMiA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgMjg0IDI4NCA0MTUgNTk2IDIwNyAzMDcgMjA3IDM0MyA1MTMgNTEzIDUxMyA1MTMgNTEzIDUxMyA1MTMgNTEzIDUxMyA1MTMgMjA3IDUwMCA1MDAgNTk2IDUwMCA1MDAgNTAwIDYxMiA1NDIgNTgwIDY2NiA0OTIgNDg3IDY0NiA2NTIgMjM5IDM3MCA1MDAgNDcyIDgwNCA2NTggNjg5IDUzMiA2ODkgNTM4IDQ5MyA0OTcgNjQ3IDUwMCA4NDYgNTcxIDU0MSA1MDAgMjg0IDUwMCAyODQgNTAwIDUwMCA1MDAgNDgyIDU2OSA0NDggNTY0IDUwMSAyOTIgNTU5IDU1NSAyMzQgMjQzIDQ2OSAyMzYgODM0IDU1NSA1NDkgNTY5IDU2MyAzMjcgMzk2IDMzMSA1NTEgNDgxIDczNiA0NjMgNDcxIDQyOCA1MDAgNTAwIDUwMCA1MDAgNTAwIDI4MiA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCAyMDcgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCAzMDBdDQo+Pg0KZW5kb2JqDQoyMyAwIG9iag0KPDwNCi9DcmVhdG9yIChQREZMIDcuMCkNCi9NZXRhZGF0YSA1MiAwIFINCi9UaXRsZSAoOC4wMSBwcmVzZW50YXRpb24gdGltaW5nKQ0KPj4NCmVuZG9iag0KMjQgMCBvYmoNCjw8DQovTWV0YWRhdGEgNTMgMCBSDQo+Pg0KZW5kb2JqDQoyNSAwIG9iag0KPDwNCi9Cb3JkZXIgWzAgMCAwXQ0KL0Rlc3QgKEcxMy4xNjk2NDA0KQ0KL1JlY3QgWzk1Ljk0IDQwNS41NjIgMTQ4LjAyIDQxOS43MjJdDQovU3RydWN0UGFyZW50IDM1MzYNCi9TdWJ0eXBlIC9MaW5rDQovVHlwZSAvQW5ub3QNCi9QIDkgMCBSDQo+Pg0KZW5kb2JqDQoyNiAwIG9iag0KPDwNCi9BIDw8DQovRCAoTTkuOS45NTU2OS4xSGVhZGluZy40MTEuT3B0aW9uYWwuQ29udGVudCkNCi9TIC9Hb1RvDQo+Pg0KDQovQm9yZGVyIFswIDAgMF0NCi9SZWN0IFsxMzQuNzAgODYuMDYyIDI3MC4yNCAxMDAuMjIyXQ0KL1N0cnVjdFBhcmVudCAzNTM3DQovU3VidHlwZSAvTGluaw0KL1R5cGUgL0Fubm90DQovUCA5IDAgUg0KPj4NCmVuZG9iag0KMjcgMCBvYmoNCjw8DQovVGl0bGUgKEcxMy4yMDE1ODU2KQ0KL1MgL0dvVG8NCi9EIFs5IDAgUiAvWFlaIDU0IDE3NyAwXQ0KPj4NCmVuZG9iag0KMjggMCBvYmoNCjw8DQovRGlmZmVyZW5jZXMgWzIgL1RfaCAzMiAvc3BhY2UgMzQgL3F1b3RlZGJsIC9udW1iZXJzaWduIDM3IC9wZXJjZW50IC9hbXBlcnNhbmQgNDAgL3BhcmVubGVmdCAvcGFyZW5yaWdodCAvYXN0ZXJpc2sgL3BsdXMgL2NvbW1hIC9oeXBoZW4gL3BlcmlvZCAvc2xhc2ggL3plcm8gL29uZSAvdHdvIC90aHJlZSAvZm91ciAvZml2ZSAvc2l4IC9zZXZlbiAvZWlnaHQgL25pbmUgL2NvbG9uIC9zZW1pY29sb24gL2xlc3MgNjIgL2dyZWF0ZXIgNjQgL2F0IC9BIC9CIC9DIC9EIC9FIC9GIC9HIC9IIC9JIC9KIC9LIC9MIC9NIC9OIC9PIC9QIC9RIC9SIC9TIC9UIC9VIC9WIC9XIC9YIC9ZIC9aIDk3IC9hIC9iIC9jIC9kIC9lIC9mIC9nIC9oIC9pIC9qIC9rIC9sIC9tIC9uIC9vIC9wIC9xIC9yIC9zIC90IC91IC92IC93IC94IC95IC96IDEzMiAvZW1kYXNoIC9lbmRhc2ggMTQxIC9xdW90ZWRibGxlZnQgL3F1b3RlZGJscmlnaHQgMTQ0IC9xdW90ZXJpZ2h0IDE3NCAvcmVnaXN0ZXJlZCAyMzMgL2VhY3V0ZV0NCi9UeXBlIC9FbmNvZGluZw0KPj4NCmVuZG9iag0KMjkgMCBvYmoNCjw8DQovQXNjZW50IDcxNw0KL0NhcEhlaWdodCA2NzgNCi9DaGFyU2V0ICgvQS9CL0MvRC9FL0YvRy9IL0kvSi9LL0wvTS9OL08vUC9RL1IvUy9UL1RfaC9VL1YvVy9YL1kvWi9hL2FtcGVyc2FuZC9hc3Rlcmlzay9hdC9iL2MvY29sb24vY29tbWEvZC9lL2VhY3V0ZS9laWdodC9lbWRhc2gvZW5kYXNoL2YvZml2ZS9mb3VyL2cvZ3JlYXRlci9oL2h5cGhlbi9pL2ovay9sL2xlc3MvbS9uL25pbmUvbnVtYmVyc2lnbi9vL29uZS9wL3BhcmVubGVmdC9wYXJlbnJpZ2h0L3BlcmNlbnQvcGVyaW9kL3BsdXMvcS9xdW90ZWRibC9xdW90ZWRibGxlZnQvcXVvdGVkYmxyaWdodC9xdW90ZXJpZ2h0L3IvcmVnaXN0ZXJlZC9zL3NlbWljb2xvbi9zZXZlbi9zaXgvc2xhc2gvc3BhY2UvdC90aHJlZS90d28vdS92L3cveC95L3ovemVybykNCi9EZXNjZW50IC0yNTgNCi9GbGFncyA2OA0KL0ZvbnRCQm94IFstMjAxIC0zNjAgMTY4NCAxMDAyXQ0KL0ZvbnRGaWxlMyA1NCAwIFINCi9Gb250TmFtZSAvRURKT05QK01pbmlvblByby1JdA0KL0l0YWxpY0FuZ2xlIC0xMg0KL1N0ZW1IIDM0DQovU3RlbVYgNzcNCi9UeXBlIC9Gb250RGVzY3JpcHRvcg0KL1hIZWlnaHQgNDUyDQo+Pg0KZW5kb2JqDQozMCAwIG9iag0KPDwNCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlDQovTGVuZ3RoIDMzNw0KPj4NCnN0cmVhbQ0KSIlckk1vgzAMhu/8Ch839UAI0FIpQqq6TuphH1q7XaYd0sR0SCNEgR767+ckrOuGRHjyOs5r2aTr7d3WtCOkz65XOxyhaY12OPQnpxAOeGwNZBx0q8ZpF1bVSQspJe/Ow4jd1jQ9CJGkLxQcRneGm1V4ZvfljN1C+uQ0utYc4Wafvb6RsDtZ+4UdmhEY1DVobJJ0/SDto+wQ0qvs39D+bBF42GdTGb3GwUqFTpojgmC8BoHLGtDov7FkETMOjfqULhGc0UnG6JOIHAPnG+KqIOYsKzyXkXPiJYu8JJbx/Mqf92bEG9LJc7p9/uMVrQX3ZfE8OnLK4uHmeRRKL1TEuYpCRULh/UoZhMIXOc+IF1Egpuo0cYWxrPVkHw2zf/6hLX55p+SyoAuq+uM6wbfLT/QyAHVyjmYTxh5677veGrz8Gba3vsn+Tb4FGADAoacNCg0KZW5kc3RyZWFtDQplbmRvYmoNCjMxIDAgb2JqDQo8PA0KL0RpZmZlcmVuY2VzIFsyIC90d28uc3VwZXJpb3IgL3RocmVlLnN1cGVyaW9yIC9vbmUuc3VwZXJpb3IgMzIgL3NwYWNlIC9leGNsYW0gL3F1b3RlZGJsIC9udW1iZXJzaWduIC9kb2xsYXIgL3BlcmNlbnQgL2FtcGVyc2FuZCAvcXVvdGVzaW5nbGUgL3BhcmVubGVmdCAvcGFyZW5yaWdodCAvYXN0ZXJpc2sgL3BsdXMgL2NvbW1hIC9oeXBoZW4gL3BlcmlvZCAvc2xhc2ggL3plcm8gL29uZSAvdHdvIC90aHJlZSAvZm91ciAvZml2ZSAvc2l4IC9zZXZlbiAvZWlnaHQgL25pbmUgL2NvbG9uIC9zZW1pY29sb24gL2xlc3MgL2VxdWFsIC9ncmVhdGVyIC9xdWVzdGlvbiAvYXQgL0EgL0IgL0MgL0QgL0UgL0YgL0cgL0ggL0kgL0ogL0sgL0wgL00gL04gL08gL1AgL1EgL1IgL1MgL1QgL1UgL1YgL1cgL1ggL1kgL1ogL2JyYWNrZXRsZWZ0IC9iYWNrc2xhc2ggL2JyYWNrZXRyaWdodCAvYXNjaWljaXJjdW0gL3VuZGVyc2NvcmUgL2dyYXZlIC9hIC9iIC9jIC9kIC9lIC9mIC9nIC9oIC9pIC9qIC9rIC9sIC9tIC9uIC9vIC9wIC9xIC9yIC9zIC90IC91IC92IC93IC94IC95IC96IC9icmFjZWxlZnQgL2JhciAvYnJhY2VyaWdodCAvYXNjaWl0aWxkZSAxMjggL2J1bGxldCAvZGFnZ2VyIC9kYWdnZXJkYmwgL2VsbGlwc2lzIC9lbWRhc2ggL2VuZGFzaCAvZmxvcmluIDEzNiAvZ3VpbHNpbmdsbGVmdCAvZ3VpbHNpbmdscmlnaHQgMTM5IC9wZXJ0aG91c2FuZCAvcXVvdGVkYmxiYXNlIC9xdW90ZWRibGxlZnQgL3F1b3RlZGJscmlnaHQgL3F1b3RlbGVmdCAvcXVvdGVyaWdodCAvcXVvdGVzaW5nbGJhc2UgL3RyYWRlbWFyayAxNTEgL1NjYXJvbiAvWWRpZXJlc2lzIDE1NiAvb2UgL3NjYXJvbiAvemNhcm9uIDE2MCAvRXVybyAvZXhjbGFtZG93biAvY2VudCAvc3RlcmxpbmcgL2N1cnJlbmN5IC95ZW4gL2Jyb2tlbmJhciAvc2VjdGlvbiAvZGllcmVzaXMgL2NvcHlyaWdodCAvb3JkZmVtaW5pbmUgL2d1aWxsZW1vdGxlZnQgL2xvZ2ljYWxub3QgMTc0IC9yZWdpc3RlcmVkIC9tYWNyb24gL2RlZ3JlZSAvcGx1c21pbnVzIDE4MCAvYWN1dGUgL211IC9wYXJhZ3JhcGggL3BlcmlvZGNlbnRlcmVkIC9jZWRpbGxhIDE4NiAvb3JkbWFzY3VsaW5lIC9ndWlsbGVtb3RyaWdodCAvb25lcXVhcnRlciAvb25laGFsZiAvdGhyZWVxdWFydGVycyAvcXVlc3Rpb25kb3duIC9BZ3JhdmUgL0FhY3V0ZSAvQWNpcmN1bWZsZXggL0F0aWxkZSAvQWRpZXJlc2lzIC9BcmluZyAvQUUgL0NjZWRpbGxhIC9FZ3JhdmUgL0VhY3V0ZSAvRWNpcmN1bWZsZXggL0VkaWVyZXNpcyAvSWdyYXZlIC9JYWN1dGUgL0ljaXJjdW1mbGV4IC9JZGllcmVzaXMgL0V0aCAvTnRpbGRlIC9PZ3JhdmUgL09hY3V0ZSAvT2NpcmN1bWZsZXggL090aWxkZSAvT2RpZXJlc2lzIC9tdWx0aXBseSAvT3NsYXNoIC9VZ3JhdmUgL1VhY3V0ZSAvVWNpcmN1bWZsZXggL1VkaWVyZXNpcyAvWWFjdXRlIC9UaG9ybiAvZ2VybWFuZGJscyAvYWdyYXZlIC9hYWN1dGUgL2FjaXJjdW1mbGV4IC9hdGlsZGUgL2FkaWVyZXNpcyAvYXJpbmcgL2FlIC9jY2VkaWxsYSAvZWdyYXZlIC9lYWN1dGUgL2VjaXJjdW1mbGV4IC9lZGllcmVzaXMgL2lncmF2ZSAvaWFjdXRlIC9pY2lyY3VtZmxleCAvaWRpZXJlc2lzIC9ldGggL250aWxkZSAvb2dyYXZlIC9vYWN1dGUgL29jaXJjdW1mbGV4IC9vdGlsZGUgL29kaWVyZXNpcyAvZGl2aWRlIC9vc2xhc2ggL3VncmF2ZSAvdWFjdXRlIC91Y2lyY3VtZmxleCAvdWRpZXJlc2lzIC95YWN1dGUgL3Rob3JuIC95ZGllcmVzaXNdDQovVHlwZSAvRW5jb2RpbmcNCj4+DQplbmRvYmoNCjMyIDAgb2JqDQo8PA0KL0FzY2VudCA3MTcNCi9DYXBIZWlnaHQgNjc5DQovQ2hhclNldCAoL0EvQUUvQWFjdXRlL0FjaXJjdW1mbGV4L0FkaWVyZXNpcy9BZ3JhdmUvQXJpbmcvQXRpbGRlL0IvQy9DY2VkaWxsYS9EL0UvRWFjdXRlL0VjaXJjdW1mbGV4L0VkaWVyZXNpcy9FZ3JhdmUvRXRoL0V1cm8vRi9HL0gvSS9JYWN1dGUvSWNpcmN1bWZsZXgvSWRpZXJlc2lzL0lncmF2ZS9KL0svTC9NL04vTnRpbGRlL08vT2FjdXRlL09jaXJjdW1mbGV4L09kaWVyZXNpcy9PZ3JhdmUvT3NsYXNoL090aWxkZS9QL1EvUi9TL1NjYXJvbi9UL1Rob3JuL1UvVWFjdXRlL1VjaXJjdW1mbGV4L1VkaWVyZXNpcy9VZ3JhdmUvVi9XL1gvWS9ZYWN1dGUvWWRpZXJlc2lzL1ovYS9hYWN1dGUvYWNpcmN1bWZsZXgvYWN1dGUvYWRpZXJlc2lzL2FlL2FncmF2ZS9hbXBlcnNhbmQvYXJpbmcvYXNjaWljaXJjdW0vYXNjaWl0aWxkZS9hc3Rlcmlzay9hdC9hdGlsZGUvYi9iYWNrc2xhc2gvYmFyL2JyYWNlbGVmdC9icmFjZXJpZ2h0L2JyYWNrZXRsZWZ0L2JyYWNrZXRyaWdodC9icm9rZW5iYXIvYnVsbGV0L2MvY2NlZGlsbGEvY2VkaWxsYS9jZW50L2NvbG9uL2NvbW1hL2NvcHlyaWdodC9jdXJyZW5jeS9kL2RhZ2dlci9kYWdnZXJkYmwvZGVncmVlL2RpZXJlc2lzL2RpdmlkZS9kb2xsYXIvZS9lYWN1dGUvZWNpcmN1bWZsZXgvZWRpZXJlc2lzL2VncmF2ZS9laWdodC9lbGxpcHNpcy9lbWRhc2gvZW5kYXNoL2VxdWFsL2V0aC9leGNsYW0vZXhjbGFtZG93bi9mL2ZpdmUvZmxvcmluL2ZvdXIvZy9nZXJtYW5kYmxzL2dyYXZlL2dyZWF0ZXIvZ3VpbGxlbW90bGVmdC9ndWlsbGVtb3RyaWdodC9ndWlsc2luZ2xsZWZ0L2d1aWxzaW5nbHJpZ2h0L2gvaHlwaGVuL2kvaWFjdXRlL2ljaXJjdW1mbGV4L2lkaWVyZXNpcy9pZ3JhdmUvai9rL2wvbGVzcy9sb2dpY2Fsbm90L20vbWFjcm9uL211L211bHRpcGx5L24vbmluZS9udGlsZGUvbnVtYmVyc2lnbi9vL29hY3V0ZS9vY2lyY3VtZmxleC9vZGllcmVzaXMvb2Uvb2dyYXZlL29uZS9vbmUuc3VwZXJpb3Ivb25laGFsZi9vbmVxdWFydGVyL29yZGZlbWluaW5lL29yZG1hc2N1bGluZS9vc2xhc2gvb3RpbGRlL3AvcGFyYWdyYXBoL3BhcmVubGVmdC9wYXJlbnJpZ2h0L3BlcmNlbnQvcGVyaW9kL3BlcmlvZGNlbnRlcmVkL3BlcnRob3VzYW5kL3BsdXMvcGx1c21pbnVzL3EvcXVlc3Rpb24vcXVlc3Rpb25kb3duL3F1b3RlZGJsL3F1b3RlZGJsYmFzZS9xdW90ZWRibGxlZnQvcXVvdGVkYmxyaWdodC9xdW90ZWxlZnQvcXVvdGVyaWdodC9xdW90ZXNpbmdsYmFzZS9xdW90ZXNpbmdsZS9yL3JlZ2lzdGVyZWQvcy9zY2Fyb24vc2VjdGlvbi9zZW1pY29sb24vc2V2ZW4vc2l4L3NsYXNoL3NwYWNlL3N0ZXJsaW5nL3QvdGhvcm4vdGhyZWUvdGhyZWUuc3VwZXJpb3IvdGhyZWVxdWFydGVycy90cmFkZW1hcmsvdHdvL3R3by5zdXBlcmlvci91L3VhY3V0ZS91Y2lyY3VtZmxleC91ZGllcmVzaXMvdWdyYXZlL3VuZGVyc2NvcmUvdi93L3gveS95YWN1dGUveWRpZXJlc2lzL3llbi96L3pjYXJvbi96ZXJvKQ0KL0Rlc2NlbnQgLTI1OA0KL0ZsYWdzIDQNCi9Gb250QkJveCBbLTI5MCAtMzYwIDE2ODQgOTg5XQ0KL0ZvbnRGaWxlMyA1NSAwIFINCi9Gb250TmFtZSAvRURKT0xOK01pbmlvblByby1SZWd1bGFyDQovSXRhbGljQW5nbGUgMA0KL1N0ZW1IIDMyDQovU3RlbVYgNzkNCi9UeXBlIC9Gb250RGVzY3JpcHRvcg0KL1hIZWlnaHQgNDQwDQo+Pg0KZW5kb2JqDQozMyAwIG9iag0KPDwNCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlDQovTGVuZ3RoIDM5Nw0KPj4NCnN0cmVhbQ0KSIlUUstOwzAQvOcr9ljEIbbTRyxFkUoBqQceooW77WxKJOpEbnro3+P1hgKREk3Gs6uZ9eab7f3WdyPkr6F3Oxyh7XwT8NSfg0OweOg8SAVN58bpL33d0QyQx+Ld5TTicevbHqoqy9/i4WkMF5it03P7WNyKG8hfQoOh8weY7eX7RyR252H4wiP6EQTUNTTYZvnmyQzP5oiQ/6n+PdpfBgSV/uVko2/wNBiHwfgDQiVUDVXb1oC++X+WyRWX2NZ9mpBVYh6lQhSyzqpSRKyEUoQLxkvC84TlnPCCcUF4SbVSJ71NfCEIO9Y8RKzJipKpp14l/ZI0ukx4VRJ2CS+op25YQ340sob6GPa23kRs2fMd+bHkRxR3kY9hp1RS/ITk0DwQUXBUsqKo3Sr1Fyp5lhGXikMnggyWmlNpIshZiRyNbJRxwJWWTFAOQ9ikMGJNAQyprWSCUliamC3ZPo3WmummiFhPGdg03R2t13Ub3DmEuChpB9Mi0Ap0Hq9rOvQD3Ti92bcAAwDaBMFVCg0KZW5kc3RyZWFtDQplbmRvYmoNCjM0IDAgb2JqDQo8PA0KL0RpZmZlcmVuY2VzIFszMiAvc3BhY2UgMzQgL3F1b3RlZGJsIC9udW1iZXJzaWduIDM3IC9wZXJjZW50IDM5IC9xdW90ZXNpbmdsZSAvcGFyZW5sZWZ0IC9wYXJlbnJpZ2h0IC9hc3RlcmlzayA0NCAvY29tbWEgL2h5cGhlbiAvcGVyaW9kIC9zbGFzaCAvemVybyAvb25lIC90d28gL3RocmVlIC9mb3VyIC9maXZlIC9zaXggL3NldmVuIC9laWdodCAvbmluZSAvY29sb24gNjUgL0EgL0IgL0MgL0QgL0UgL0YgL0cgL0ggL0kgL0ogL0sgL0wgL00gL04gL08gL1AgL1EgL1IgL1MgL1QgL1UgL1YgL1cgL1ggL1kgL1ogL2JyYWNrZXRsZWZ0IDkzIC9icmFja2V0cmlnaHQgOTUgL3VuZGVyc2NvcmUgOTcgL2EgL2IgL2MgL2QgL2UgL2YgL2cgL2ggL2kgL2ogL2sgL2wgL20gL24gL28gL3AgL3EgL3IgL3MgL3QgL3UgL3YgL3cgL3ggL3kgL3ogMTQxIC9xdW90ZWRibGxlZnQgL3F1b3RlZGJscmlnaHQgMTQ0IC9xdW90ZXJpZ2h0IDIzMyAvZWFjdXRlXQ0KL1R5cGUgL0VuY29kaW5nDQo+Pg0KZW5kb2JqDQozNSAwIG9iag0KPDwNCi9Bc2NlbnQgNzE2DQovQ2FwSGVpZ2h0IDY3OA0KL0NoYXJTZXQgKC9BL0IvQy9EL0UvRi9HL0gvSS9KL0svTC9NL04vTy9QL1EvUi9TL1QvVS9WL1cvWC9ZL1ovYS9hc3Rlcmlzay9iL2JyYWNrZXRsZWZ0L2JyYWNrZXRyaWdodC9jL2NvbG9uL2NvbW1hL2QvZS9lYWN1dGUvZWlnaHQvZi9maXZlL2ZvdXIvZy9oL2h5cGhlbi9pL2ovay9sL20vbi9uaW5lL251bWJlcnNpZ24vby9vbmUvcC9wYXJlbmxlZnQvcGFyZW5yaWdodC9wZXJjZW50L3BlcmlvZC9xL3F1b3RlZGJsL3F1b3RlZGJsbGVmdC9xdW90ZWRibHJpZ2h0L3F1b3RlcmlnaHQvcXVvdGVzaW5nbGUvci9zL3NldmVuL3NpeC9zbGFzaC9zcGFjZS90L3RocmVlL3R3by91L3VuZGVyc2NvcmUvdi93L3gveS96L3plcm8pDQovRGVzY2VudCAtMjEwDQovRmxhZ3MgMjYyMTQ4DQovRm9udEJCb3ggWy03MSAtMjUwIDExOTggODg5XQ0KL0ZvbnRGaWxlMyA1NiAwIFINCi9Gb250TmFtZSAvRURKT0pNK015cmlhZFByby1TZW1pYm9sZA0KL0l0YWxpY0FuZ2xlIDANCi9TdGVtSCA5Mg0KL1N0ZW1WIDEyMw0KL1R5cGUgL0ZvbnREZXNjcmlwdG9yDQovWEhlaWdodCA0OTANCj4+DQplbmRvYmoNCjM2IDAgb2JqDQo8PA0KL0ZpbHRlciAvRmxhdGVEZWNvZGUNCi9MZW5ndGggMzA2DQo+Pg0Kc3RyZWFtDQpIiVSRyW6DMBCG7zzFHFPlYHBKFgkhVaSROHRRk/Tu2ANFKsYy5JC374yN0hYJ/PmflRlR1fvadhOIdz/oI07QdNZ4HIer1wgXbDsLmQTT6Wm+ha/ulQNBwcfbOGFf22aAokjEBxnHyd9g8RSe5SFbpg8g3rxB39kWFqfs/EnC8ercN/ZoJ0ihLMFgk4jqRblX1SOIP9G/ptPNIchwz+Y2BoOjUxq9si1CIdMSCtyVgNb8tyXrGHFp9JfySfRMUzqI88g5cW4C53vmJvKBeMf+Ms12xFyA9GdiqjNnvOeP5QopOWAVM0uusmFBRWHDgiZezUJFwmNGnF+CQJwUaxY20WPNwpa722JspZrLx4L8x7yU+wz11Xsab9hcGB8PrrN4X64bHM+J3+RHgAEArBOWygoNCmVuZHN0cmVhbQ0KZW5kb2JqDQozNyAwIG9iag0KPDwNCi9EaWZmZXJlbmNlcyBbMzIgL3NwYWNlIDM1IC9udW1iZXJzaWduIDQwIC9wYXJlbmxlZnQgL3BhcmVucmlnaHQgNDQgL2NvbW1hIC9oeXBoZW4gL3BlcmlvZCAvc2xhc2ggL3plcm8gL29uZSAvdHdvIC90aHJlZSAvZm91ciAvZml2ZSAvc2l4IC9zZXZlbiAvZWlnaHQgL25pbmUgL2NvbG9uIDYwIC9sZXNzIDYyIC9ncmVhdGVyIC9xdWVzdGlvbiA2NSAvQSAvQiAvQyAvRCAvRSAvRiAvRyAvSCAvSSAvSiAvSyAvTCAvTSAvTiAvTyAvUCAvUSAvUiAvUyAvVCAvVSAvViAvVyAvWCAvWSAvWiA5NyAvYSAvYiAvYyAvZCAvZSAvZiAvZyAvaCAvaSAvaiAvayAvbCAvbSAvbiAvbyAvcCAvcSAvciAvcyAvdCAvdSAvdiAvdyAveCAveSAveiAxNDQgL3F1b3RlcmlnaHRdDQovVHlwZSAvRW5jb2RpbmcNCj4+DQplbmRvYmoNCjM4IDAgb2JqDQo8PA0KL0FzY2VudCA3MTUNCi9DYXBIZWlnaHQgNjc4DQovQ2hhclNldCAoL0EvQi9DL0QvRS9GL0cvSC9JL0ovSy9ML00vTi9PL1AvUS9SL1MvVC9VL1YvVy9YL1kvWi9hL2IvYnJhY2tldGxlZnQvYnJhY2tldHJpZ2h0L2MvY29sb24vY29tbWEvZC9lL2VpZ2h0L2YvZml2ZS9mb3VyL2cvZ3JlYXRlci9oL2h5cGhlbi9pL2ovay9sL2xlc3MvbS9uL25pbmUvbnVtYmVyc2lnbi9vL29uZS9wL3BhcmVubGVmdC9wYXJlbnJpZ2h0L3BlcmlvZC9xL3F1ZXN0aW9uL3F1b3RlcmlnaHQvci9zL3NldmVuL3NpeC9zbGFzaC9zcGFjZS90L3RocmVlL3R3by91L3Yvdy94L3kvei96ZXJvKQ0KL0Rlc2NlbnQgLTIxMA0KL0ZsYWdzIDI2MjE0OA0KL0ZvbnRCQm94IFstMTYzIC0yNTAgMTI1NiA5ODldDQovRm9udEZpbGUzIDU3IDAgUg0KL0ZvbnROYW1lIC9FREpPT1ArTXlyaWFkUHJvLUJvbGQNCi9JdGFsaWNBbmdsZSAwDQovU3RlbUggMTEyDQovU3RlbVYgMTUyDQovVHlwZSAvRm9udERlc2NyaXB0b3INCi9YSGVpZ2h0IDQ5Mg0KPj4NCmVuZG9iag0KMzkgMCBvYmoNCjw8DQovRmlsdGVyIC9GbGF0ZURlY29kZQ0KL0xlbmd0aCAyOTANCj4+DQpzdHJlYW0NCkiJVJFNb4QgEIbv/Io5brMHVHa3a2JMGtsmHvqR7rZ3FkdLUpEgHvz3HcRuWxPg5Z2ZBxl4Vd/XRnvgr25QJ/TQatM4HIfJKYQLdtpAmkGjlV93y6x6aYFT8WkePfa1aQcoCsbfKDh6N8Pmbvm2j4dtcgP8xTXotOlgc07fP8g4TdZ+YY/GQwJlCQ22jFdP0j7LHoH/qf4NnWeLkC37dP2NocHRSoVOmg6hyJISipwmNM3/GNvFikurPqVjMTNJaCEtohakhVq0qEgHECWmecmIt1bufzgRW2THkJRHwjHQAkHIaASMwGC0kftAxi4lvY8ZpFlxCMZtNEjH0yI/XCT0+toaNTlHXVseZOlK6Ic2eH0zO9hw/TDYtwADABhdjfIKDQplbmRzdHJlYW0NCmVuZG9iag0KNDAgMCBvYmoNCjw8DQovRGlmZmVyZW5jZXMgWzMyIC9zcGFjZSAvZXhjbGFtIC9xdW90ZWRibCAvbnVtYmVyc2lnbiAvZG9sbGFyIC9wZXJjZW50IC9hbXBlcnNhbmQgL3F1b3Rlc2luZ2xlIC9wYXJlbmxlZnQgL3BhcmVucmlnaHQgL2FzdGVyaXNrIC9wbHVzIC9jb21tYSAvaHlwaGVuIC9wZXJpb2QgL3NsYXNoIC96ZXJvIC9vbmUgL3R3byAvdGhyZWUgL2ZvdXIgL2ZpdmUgL3NpeCAvc2V2ZW4gL2VpZ2h0IC9uaW5lIC9jb2xvbiAvc2VtaWNvbG9uIC9sZXNzIC9lcXVhbCAvZ3JlYXRlciAvcXVlc3Rpb24gL2F0IC9BIC9CIC9DIC9EIC9FIC9GIC9HIC9IIC9JIC9KIC9LIC9MIC9NIC9OIC9PIC9QIC9RIC9SIC9TIC9UIC9VIC9WIC9XIC9YIC9ZIC9aIC9icmFja2V0bGVmdCAvYmFja3NsYXNoIC9icmFja2V0cmlnaHQgL2FzY2lpY2lyY3VtIC91bmRlcnNjb3JlIC9ncmF2ZSAvYSAvYiAvYyAvZCAvZSAvZiAvZyAvaCAvaSAvaiAvayAvbCAvbSAvbiAvbyAvcCAvcSAvciAvcyAvdCAvdSAvdiAvdyAveCAveSAveiAvYnJhY2VsZWZ0IDEyNSAvYnJhY2VyaWdodCAvYXNjaWl0aWxkZSAxMzEgL2VsbGlwc2lzIC9lbWRhc2ggL2VuZGFzaCAxNDEgL3F1b3RlZGJsbGVmdCAvcXVvdGVkYmxyaWdodCAxNDQgL3F1b3RlcmlnaHQgMTQ2IC90cmFkZW1hcmsgMTc0IC9yZWdpc3RlcmVkIDE4MiAvcGFyYWdyYXBoIDE5NiAvQWRpZXJlc2lzIC9BcmluZyAyMTYgL09zbGFzaCAyMzMgL2VhY3V0ZV0NCi9UeXBlIC9FbmNvZGluZw0KPj4NCmVuZG9iag0KNDEgMCBvYmoNCjw8DQovQXNjZW50IDcxNQ0KL0NhcEhlaWdodCA2NzgNCi9DaGFyU2V0ICgvQS9BZGllcmVzaXMvQXJpbmcvQi9DL0QvRS9GL0cvSC9JL0ovSy9ML00vTi9PL09zbGFzaC9QL1EvUi9TL1QvVS9WL1cvWC9ZL1ovYS9hbXBlcnNhbmQvYXNjaWljaXJjdW0vYXNjaWl0aWxkZS9hc3Rlcmlzay9hdC9iL2JhY2tzbGFzaC9icmFjZWxlZnQvYnJhY2VyaWdodC9icmFja2V0bGVmdC9icmFja2V0cmlnaHQvYy9jb2xvbi9jb21tYS9kL2RvbGxhci9lL2VhY3V0ZS9laWdodC9lbGxpcHNpcy9lbWRhc2gvZW5kYXNoL2VxdWFsL2V4Y2xhbS9mL2ZfaS9maXZlL2ZvdXIvZy9ncmF2ZS9ncmVhdGVyL2gvaHlwaGVuL2kvai9rL2wvbGVzcy9tL24vbmluZS9udW1iZXJzaWduL28vb25lL3AvcGFyYWdyYXBoL3BhcmVubGVmdC9wYXJlbnJpZ2h0L3BlcmNlbnQvcGVyaW9kL3BsdXMvcS9xdWVzdGlvbi9xdW90ZWRibC9xdW90ZWRibGxlZnQvcXVvdGVkYmxyaWdodC9xdW90ZXJpZ2h0L3F1b3Rlc2luZ2xlL3IvcmVnaXN0ZXJlZC9zL3NlbWljb2xvbi9zZXZlbi9zaXgvc2xhc2gvc3BhY2UvdC90aHJlZS90cmFkZW1hcmsvdHdvL3UvdW5kZXJzY29yZS92L3cveC95L3ovemVybykNCi9EZXNjZW50IC0yMTANCi9GbGFncyA0DQovRm9udEJCb3ggWy0xNTcgLTI1MCAxMTI2IDk1Ml0NCi9Gb250RmlsZTMgNTggMCBSDQovRm9udE5hbWUgL0VESk9MTytNeXJpYWRQcm8tUmVndWxhcg0KL0l0YWxpY0FuZ2xlIDANCi9TdGVtSCA2Nw0KL1N0ZW1WIDg4DQovVHlwZSAvRm9udERlc2NyaXB0b3INCi9YSGVpZ2h0IDQ4Nw0KPj4NCmVuZG9iag0KNDIgMCBvYmoNCjw8DQovRmlsdGVyIC9GbGF0ZURlY29kZQ0KL0xlbmd0aCAzMTMNCj4+DQpzdHJlYW0NCkiJVJHLboMwEEX3fMUsU2UBOCQBCSGlJJWy6ENN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3tSC+kwVNz/1uZ0q1hRUcDViEkwUkIVdLB8tlCX3SD5ij3LNQmxU5cQVuyMmIUZU3L5KESfiBX9LdR+9FVHgFGKhlvk0EhKI2TF7jEOKJ3mbu7mEQEeSjjtNPM66dXj7I3zv42jjLb4FGADTKKCCCg0KZW5kc3RyZWFtDQplbmRvYmoNCjQ5IDAgb2JqDQo8PA0KL0RpZmZlcmVuY2VzIFsyIC91bmkwMEEwIC9mX2kgL2ZfZiAzMiAvc3BhY2UgNDAgL3BhcmVubGVmdCAvcGFyZW5yaWdodCAvYXN0ZXJpc2sgL3BsdXMgL2NvbW1hIC9oeXBoZW4gL3BlcmlvZCAvc2xhc2ggL3plcm8gL29uZSAvdHdvIC90aHJlZSAvZm91ciAvZml2ZSAvc2l4IC9zZXZlbiAvZWlnaHQgL25pbmUgL2NvbG9uIDYxIC9lcXVhbCA2NSAvQSAvQiAvQyAvRCAvRSAvRiAvRyAvSCAvSSAvSiA3NiAvTCAvTSAvTiAvTyAvUCAvUSAvUiAvUyAvVCAvVSA4NyAvVyAvWCAvWSA5MSAvYnJhY2tldGxlZnQgOTMgL2JyYWNrZXRyaWdodCA5NyAvYSAvYiAvYyAvZCAvZSAvZiAvZyAvaCAvaSAvaiAvayAvbCAvbSAvbiAvbyAvcCAvcSAvciAvcyAvdCAvdSAvdiAvdyAveCAveSAveiAxMjggL2J1bGxldCAxMzMgL2VuZGFzaCAxNDQgL3F1b3RlcmlnaHQgMTgwIC9hY3V0ZV0NCi9UeXBlIC9FbmNvZGluZw0KPj4NCmVuZG9iag0KNTAgMCBvYmoNCjw8DQovQXNjZW50IDcxNg0KL0NhcEhlaWdodCA3MTINCi9DaGFyU2V0ICgvc3BhY2UvQS9jL3Ivby9iL2EvdC9NL2kvbi9zL2gvcC9sL1cvZC93L2UvUC9EL0YvUS91L2svc2xhc2gvQy9HL0kvUy9nL08vai9tL0gvQi95L2h5cGhlbi9mL1QvVS9vbmUvTi92L2J1bGxldC91bmkwMEEwL1IvbmluZS96ZXJvL2VpZ2h0L3R3by9zZXZlbi9maXZlL3NpeC9mb3VyL3RocmVlL2NvbG9uL3gvcGFyZW5sZWZ0L3BhcmVucmlnaHQvTC9jb21tYS9YL0UvcXVvdGVyaWdodC9mX2kvZXF1YWwvcGx1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ICAgICAgIDxyZGY6QWx0PgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHhhcEdJbWc6d2lkdGg+MjU2PC94YXBHSW1nOndpZHRoPgogICAgICAgICAgICAgICAgICA8eGFwR0ltZzpoZWlnaHQ+NTI8L3hhcEdJbWc6aGVpZ2h0PgogICAgICAgICAgICAgICAgICA8eGFwR0ltZzpmb3JtYXQ+SlBFRzwveGFwR0ltZzpmb3JtYXQ+CiAgICAgICAgICAgICAgICAgIDx4YXBHSW1nOmltYWdlPi85ai80QUFRU2taSlJnQUJBZ0VBU0FCSUFBRC83UUFzVUdodmRHOXphRzl3SURNdU1BQTRRa2xOQSswQUFBQUFBQkFBU0FBQUFBRUEmI3hBO0FRQklBQUFBQVFBQi8rNEFEa0ZrYjJKbEFHVEFBQUFBQWYvYkFJUUFCZ1FFQkFVRUJnVUZCZ2tHQlFZSkN3Z0dCZ2dMREFvS0N3b0smI3hBO0RCQU1EQXdNREF3UURBNFBFQThPREJNVEZCUVRFeHdiR3hzY0h4OGZIeDhmSHg4Zkh3RUhCd2NOREEwWUVCQVlHaFVSRlJvZkh4OGYmI3hBO0h4OGZIeDhmSHg4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhmSHg4Zi84QUFFUWdBTkFFQUF3RVImI3hBO0FBSVJBUU1SQWYvRUFhSUFBQUFIQVFFQkFRRUFBQUFBQUFBQUFBUUZBd0lHQVFBSENBa0tDd0VBQWdJREFRRUJBUUVBQUFBQUFBQUEmI3hBO0FRQUNBd1FGQmdjSUNRb0xFQUFDQVFNREFnUUNCZ2NEQkFJR0FuTUJBZ01SQkFBRklSSXhRVkVHRTJFaWNZRVVNcEdoQnhXeFFpUEImI3hBO1V0SGhNeFppOENSeWd2RWxRelJUa3FLeVkzUENOVVFuazZPek5oZFVaSFREMHVJSUpvTUpDaGdaaEpSRlJxUzBWdE5WS0JyeTQvUEUmI3hBOzFPVDBaWFdGbGFXMXhkWGw5V1oyaHBhbXRzYlc1dlkzUjFkbmQ0ZVhwN2ZIMStmM09FaFlhSGlJbUtpNHlOam8rQ2s1U1ZscGVZbVomI3hBO3FibkoyZW41S2pwS1dtcDZpcHFxdXNyYTZ2b1JBQUlDQVFJREJRVUVCUVlFQ0FNRGJRRUFBaEVEQkNFU01VRUZVUk5oSWdaeGdaRXkmI3hBO29iSHdGTUhSNFNOQ0ZWSmljdkV6SkRSRGdoYVNVeVdpWTdMQ0IzUFNOZUpFZ3hkVWt3Z0pDaGdaSmpaRkdpZGtkRlUzOHFPend5Z3AmI3hBOzArUHpoSlNrdE1UVTVQUmxkWVdWcGJYRjFlWDFSbFptZG9hV3ByYkcxdWIyUjFkbmQ0ZVhwN2ZIMStmM09FaFlhSGlJbUtpNHlOam8mI3hBOytEbEpXV2w1aVptcHVjblo2ZmtxT2twYWFucUttcXE2eXRycSt2L2FBQXdEQVFBQ0VRTVJBRDhBOUw2YnB1bkhUclVtMWhKTU1kVDYmI3hBO2EveWoyeFZFL296VGYrV1NIL2tXdjlNVmQrak5OLzVaSWY4QWtXdjlNVmQrak5OLzVaSWYrUmEvMHhWamxoNXkvTGErbE1NZDVaVzkmI3hBO3dMZzJpMjE3SDlTbWVZU05Ed2ppdWxoa2Y5NmpSZ3FwQlpXWHFwQVZkZCtkUHl2dFlJSjV0VzBuMGJsSGx0M1NTQ1FQSEY2bk9SZlQmI3hBOzVWUUdCMTVkT1E0L2EyeFZWWHpWK1d4amhkdFUwbVA2d3NMeEpMTGJ4T1JkSjZrSHdPVllHUmQxQkZUaXFuQjV4L0xLZTd1N05kVDAmI3hBO3RMcXh1VFpYTUV6eFF1dHdEeDRCWmVCYjR2aEJXb0xWQU5RY1ZURFJ0VDhrNjM2djZGdXROMVAwT1ByL0FGT1NDNDRjNjhPZnBsdVAmI3hBO0xnMUs5YUhGVXkvUm1tLzhza1AvQUNMWCttS3UvUm1tL3dETEpEL3lMWCttS3UvUm1tLzhza1AvQUNMWCttS3UvUm1tL3dETEpEL3kmI3hBO0xYK21LdS9SbW0vOHNrUC9BQ0xYK21LdS9SbW0vd0RMSkQveUxYK21LdS9SbW0vOHNrUC9BQ0xYK21LdS9SbW0vd0RMSkQveUxYK20mI3hBO0t1L1JtbS84c2tQL0FDTFgrbUt1L1JtbS93RExKRC95TFgrbUt1L1JtbS84c2tQL0FDTFgrbUt1L1JtbS93RExKRC95TFgrbUt1L1ImI3hBO21tLzhza1AvQUNMWCttS3UvUm1tL3dETEpEL3lMWCttS3BGZStadklWaHJUNkxxRXR0Wlg2SkZJZnJVQmdoSW5MTENxWEVpTEE3eUYmI3hBO0hDb3JsanhiYjRXb3FwUytjdnl1aXRwN2x0WjBab2JaRmttYU9lMmtLcTRxbndvV1k4LzJRQlZ1Mkt0cjV4L0xKZ3hPcTZWR2lHaGsmI3hBO2xraGpRbm5MSFFNL0ZTZVZ0SnNEK3pYcGlxNjQ4MmZsdmIzT20yMDJvNmFyNndqeWFZL0tJeFRLaktoS1Npc2U3T0ZXcmZFZGxyUTQmI3hBO3FxNmY1ai9MclVyeUt4MDdWTkh2YjJZRXcydHZQYXl5dUFwYzhVUml4K0ZTMnc2REZVNi9SbW0vOHNrUC9JdGY2WXE3OUdhYi93QXMmI3hBO2tQOEF5TFgrbUt1L1JtbS84c2tQL0l0ZjZZcWh0UzAzVGhwMTBSYXdnaUdTaDlOZjVUN1lxaWRNL3dDT2JhZjhZWS8rSWpGVVRpcnMmI3hBO1ZTM3pOckkwUHkzcXV0R0g2d05MczdpOU1ITGg2bjFlSnBlSEtqY2VYR2xhSEZYaW5tTHpEWjJsdkZxbHgrVzE5TEZHaitZSnJvM08mI3hBO293d1JYZG5mM2tzWmV0dXJmSDY4dHdvYU1VRWc5UkZSZVNxb3Z5NzVMMFBWVTBobThnWEdoMjBOL2ZhQmNXbDVOZnZJbW15Mmx6S2ImI3hBO2xDc3NhSXNzczdSbHlISHhVVnZza0txSTA3UUxXMjEyZlZ2eTlsdG9kQzAzVVhqdUd1cjVJSm9yT050T1NLTnBGNEw5WnNnQjZpc1gmI3hBO1lMeVphQ05pcXV1ZFYwNjZrSTFiOHVMMjNpdWRYMHlCcDViaStpaWtmVkpidHBabDV3dy9Ba3Q3SXJSc0J6RTNCd215WXFtdjVlWEUmI3hBOzFyckdsM09tK1Ricnl3TllrYlQ5WnRydTN2N2h4YWFaYW1PeG0rdEZoREJ1RWpDeVJmSDhSNWJBc3E5aHhWMkt1eFYyS3NZOC9hcjUmI3hBO3kwL1Q3RWVVckNQVU5UdTdzVzdyUEcwa1VjZm9UU2VwSlNXMzRKNmthSXpsOXVXeXMxRktyQ2JyODcvTmNFcXduOHZkVE54SkpkeFEmI3hBO1FzWmtlWTIwYnlvMFFhMnF5eUtuZWgvbEQwT0tzZ3ZQUFhteTN1cjU0ZEF1Ym1DRFNiZS9pc2phWE1jaTNjem9yMjMxcFJOSE8wU3MmI3hBO1hrV0tQa09paHp5Q3FzWFQ4N1BQbGxZYUl1cmVSTHR0UzFTR1F5S2kzY0NpNVJyZ3JiSkg5V3VXNXZGYTh3Qy83Vlc0cFZzVlJzSDUmI3hBO3YrZFlaTEt6di9KRjAxNWNwWW9ycTB0dUpybTR0R3U3bElZcG9qL3ZNa01nYWtqZkVGRGNhMUNxYytSL1AvbkR6SHI2V3VwZVU3bnkmI3hBOzlwd3NaTGlSN3haekliZ05iK21na2FLS0VLVmxsK0hrWlBnK0pVL2FWWi9pcnNWZGlyc1ZlUmVaTmZ0OVE4KzNGbTNraTYxYzJlb1cmI3hBO1drVDZ6YlRYZkdLT1czY21aMWloOU5mUmkxT2JwSlhlckZQM2RWV0xlWC9Mdmt6WFBMejJTZmw3ZDZUcDZXR29Yd3VQVTFLL2pTOGomI3hBO3ZGczVMUXd4UGF6VFN2OEFVa2YwK2FrY2VuVnNWUmwvb2RwTkZiblUvd0F2WjlTazFLMHNKYjVyZVhWb0I2MTlKZDNWN0V5RlpDaVImI3hBOzNSSjlKeUFyT2pPVkFESXE3Vk5lMDJYaGNRL2xuZWF4RHBHbzZ2WTJVbHRMZVN4Z1hFczZYa3AvYyttUkxLRHlGV1ZPVkZia3JLcXEmI3hBO0I4dlhrVXR0cVd0K1h2eTh1N0hWdEFGemY2UHFrcDFIVW9yeTlsa1d6dUVTT1ZyS2VScFVpRlMzeExSbUtjdG1WZlFkclA4QVdMV0cmI3hBO2YwM2k5WkZrOUtVY1hYa0FlTHFlakR1TVZWY1ZkaXFHMVA4QTQ1dDMvd0FZWlA4QWlKeFYybWY4YzIwLzR3eC84UkdLb25GWFlxcDMmI3hBO050YjNWdkxiWE1TVDIwNk5ITkRJb2RIUnh4WldWcWhsWUdoQnhWUTFIU05KMU8xRnBxVmxCZTJxc3JyYjNFU1N4aGszVmdqaGxxdmImI3hBO0ZVWGlxbGRXdHJkMjB0cmRRcGNXMDZtT2FDVlE4Ym93b3lzckFoZ1IxQnhWWmVhYnAxNllEZTJzTjBiV1pibTFNMGF5ZWxPZ0lTV1AmI3hBO2tEeGRlUm93M0dLb2pGWFlxN0ZYWXE3RlhZcWhuMHpUWkwrTFVaTFNGOVFoUm9vYnhvMU15UnVhc2l5RWNncmR3RGlxSnhWU210YlcmI3hBO2Q0WG1oU1Y3ZC9WdDJkUXhqazRzbk5DUjhMY0haYWpzU08rS3IyaWlaMGtaRmFTT3ZCeUFTdGRqUTlxNHF1eFYyS3V4VjJLdXhWU2gmI3hBO3RiV0I1bmhoU0o3aC9WdUdSUXBrazRxbk55QjhUY0VWYW5zQU8yS3JOUDAzVHROczQ3SFRyV0d5c29RUkRhMjhheFJJQ1N4NG9nVlImI3hBO1VrbllZcWlNVlF4MHZURFl6V0J0SVRZM0FsRnhhZW1ub3lDY3Mwd2VPbkZ2VUxzWHFQaXFhOWNWWDJWalpXRnBGWjJOdkhhMmtDOEkmI3hBO2JlQkZqalJSK3lxS0FxajVZcXJZcTdGWFlxaHRULzQ1dDMveGhrLzRpY1ZkcG4vSE50UCtNTWYvQUJFWXFpY1ZVV2E3OWNLc1VadC8mI3hBO2g1U0dSZzQyYmxST0JHeENVK0xlcDZVK0pWSzllbDFZV0ZzVXQ0QzVucy9XQm5jQlgrc3gvQ3BFSjVMN2tENVlxaS9YMS84QTVZN1gmI3hBOy9wS2svd0N5ZkZYZXZyLy9BQ3gydi9TVkovMlQ0cTcxOWY4QStXTzEvd0NrcVQvc254VjNyNi8vQU1zZHIvMGxTZjhBWlBpcUExbWYmI3hBO1h2cWNkYlMxSCtsV200dXBEL3g4eDdmN3pqcmlxUDhBWDEvL0FKWTdYL3BLay83SjhWZDYrdjhBL0xIYS93RFNWSi8yVDRxNzE5Zi8mI3hBO0FPV08xLzZTcFA4QXNueFYzcjYvL3dBc2RyLzBsU2Y5aytLdTlmWC9BUGxqdGY4QXBLay83SjhWZDYrdi93RExIYS85SlVuL0FHVDQmI3hBO3E3MTlmLzVZN1gvcEtrLzdKOFZkNit2L0FQTEhhLzhBU1ZKLzJUNHE3MTlmL3dDV08xLzZTcFAreWZGWGV2ci9BUHl4MnY4QTBsU2YmI3hBOzlrK0t1OWZYL3dEbGp0ZitrcVQvQUxKOFZkNit2LzhBTEhhLzlKVW4vWlBpcnZYMS93RDVZN1gvQUtTcFAreWZGWGV2ci84QXl4MnYmI3hBOy9TVkovd0JrK0tvRFFaOWVPaDZkUzB0V0gxV0dqRzZrQlA3c2JuL1J6aXFQOWZYL0FQbGp0ZjhBcEtrLzdKOFZkNit2L3dETEhhLzkmI3hBO0pVbi9BR1Q0cTcxOWYvNVk3WC9wS2svN0o4VmQ2K3YvQVBMSGEvOEFTVkovMlQ0cWhOQmwxWTJGeVpMZUFPSjd3d2dUdXdaeGN5VVYmI3hBO2lZaHhXdTNJVitXS3BvSHZQVUFNVVlqNTBMQ1JpM3A4Szh1UEQ3WHFmRHhyMDNyWDRjVlZzVlEycC84QUhOdS8rTU1uL0VUaXJ0TS8mI3hBOzQ1dHAvd0FZWS84QWlJeFZFNHE3RldtVldGR0FZVkJvZDl3YWcvUWNWWUhOUCtiZGxjelJXY0VPcFc4a3Q2OFU5NHR2eWpXbHliTkImI3hBOzZFdHA4QU1kdUNDak1mVWFycngyVlNtMjEvOEFPdTlRVEpwOWlrbHUzMWUrdGJZMjF4eG1TNjMrMWVwdy93QkVvV1ZwSzFJcFRyaFYmI3hBO0dYT3AvbmUrbXgrbnBOakZleVN3TWZUOU1pTlBWcExHNGt1aXRPQ2xqSXBKQVlLcUUxWUJYWE9zZm5YTzQ5RFJMYTBoYzNMZkVZSG0mI3hBO1JBa1l0VVkvVzJUbVhaeTVBS2dMdFhveXFjZVdMNzh4N3JWQkg1azB5MHR0S050ejV4QlJLTHRaQVFDQmMzSTRnZEtlQWFvcndDckwmI3hBOzhWZGlyc1ZXeTgvVGYwOTM0bmdQZW0yS3ZLTEhWL3o2c2JpeGh1ZExpdjdXNWlnV1NlNEZzMXhIY2NuTTZ6ZlZKb1lrWGl1enFwQ3ImI3hBO3gyWi9nWlZFYUZyMzU0UEpxZGxxbWtXU1NXdGtKTlBsNHFacHBta0NCbjRYSDFZMUhxTUY5UkNlSHhlbUhGRlZhUFdQenkvUjlySCsmI3hBO2dyVDYzNms4RnpMSzhCUEJZVTlDNStDNkNqbElYNUtFSk5LY1ZHK0tvclROUy9PUjd6MDd2VExSTE1TTnltbFNKWkRHMDdLb1VSWHMmI3hBO3EvQkV5eVZJMzRsS1ZQTEZVRkZyUDUzMmVoajZ4cFZyZWFqSEhIRXJtTkM4czdYRU1mSmxndWxRSjZMU096ZkFBZjJRRitOVm8rYmYmI3hBO3pwUG1FNldubGUzRU5ETWwzTFZZVEF0NnNkVE1seExHc3YxWWxoRjlxdnhkQVV4Vm5ubCs1MXk0dFozMW0xVzBuVzVtU0JGNERsYnEmI3hBOzFJcENFbHVBQ3k3L0FHL29IVEZVenhWMkt1eFZoM25JL21IYVg5dGMrVVkwdXJWTFNaSnRPbVczOUQxa28wRERrOXROeWI3RzB3UUQmI3hBO2VuaXFrTW12L25VMTdaMmNtbjZiYXp6U3l6TkVqUlBLYlNGb3dRSTN1NnlHa3BCWmVJNWNhOFFhRXFqTkoxWDg2VEZjSFVOSHNWTVUmI3hBO1VxMnkxVDFKWlJBN1F1ekpkRktHVkZWbDRyWG5XcUJUZ1ZUMDdWL3pzK3JXTVYxbzFxSmtGc3QvY3krZ3hjdktnbmRWaXZFQzhJWEwmI3hBO2QvalVoUVFWYkZXdEQxWDg3eWJOTlUwaXlDZldZaGZPd2lWdnF6QUdVeG1LOGNjZ1NRS3A4TkIvZVY1QlY2T3Fxb29vQ2lwTkJ0dVQmI3hBO1VuNlRpcmVLdXhWRGFuL3h6YnYvQUl3eWY4Uk9LdTB6L2ptMm4vR0dQL2lJeFZFNHE3RlhZcTdGV0dwK1ZYbHRQTUxhOHNrLzF4cDUmI3hBOzdwa2IwVEdaYmdsaXpmdS9VSVEwNEx6b3RLamVwS3JHei96ajVvZ3NiR3pUVjd0SW9JWTdlODRwQXZxUnA2N1ZoNEl2b09YdW1QTWMmI3hBO2lGK0ViRnFxczMwSHlacHVpWGtWemF6enVZZFB0OUxqamxNYkQwYlVVUjJjUnJJN251V2Nqd0F4VlA4QUZYWXE3RlhZcTdGWFlxN0YmI3hBO1hZcTdGWFlxN0ZYWXE3RlhZcTdGWFlxeFR6cCtXMmcrYnJtenVkUmtuaG5zUXl4U1d4aVZpck1yRU1aSTVEMVVkS1lxazJwL2t2cEYmI3hBOzVmWDkvRmZ6V3QxZFRSVFc2eHcyNWdqOUN6Tm5HanhsS3lwd2tZc3BZQnRsSTRpaFZSSGsvd0RLSFJmTGVuNlZBdC9kM1YxcGwyK28mI3hBO2ZXV0tJSHVaYmRiZVVMR0ZQcHdsRitHTlcyNlZPS3M4eFYyS3V4VjJLb2JVL3dEam0zZi9BQmhrL3dDSW5GVUpGK2kvU1QwdnJmcGMmI3hBO1I2Zkg2M3g0MDJwVGFsTVZYZjZCL3dBdm4vVDVpcnY5QS81ZlArbnpGWGY2Qi95K2Y5UG1LdS8wRC9sOC93Q256RlhmNkIveStmOEEmI3hBO1Q1aXJ2OUEvNWZQK256RlhmNkIveStmOVBtS3Uvd0JBL3dDWHovcDh4VjMrZ2Y4QUw1LzArWXE3L1FQK1h6L3A4eFYzK2dmOHZuL1QmI3hBOzVpcnY5QS81ZlA4QXA4eFYzK2dmOHZuL0FFK1lxNy9RUCtYei9wOHhWMytnZjh2bi9UNWlydjhBUVA4QWw4LzZmTVZkL29IL0FDK2YmI3hBOzlQbUt1LzBEL2w4LzZmTVZkL29IL0w1LzArWXE3L1FQK1h6L0FLZk1WZC9vSC9MNS93QlBtS3UvMEQvbDgvNmZNVmQvb0gvTDUvMCsmI3hBO1lxNy9BRUQvQUpmUCtuekZYZjZCL3dBdm4vVDVpcnY5QS81ZlArbnpGWGY2Qi95K2Y5UG1LdS8wRC9sOC93Q256RlhmNkIveStmOEEmI3hBO1Q1aXJ2OUEvNWZQK256RlZzdjZMOUovVit0K2x4UHFjdnJmSGpUZXRkcVV4Vi8vWjwveGFwR0ltZzppbWFnZT4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkFsdD4KICAgICAgICAgPC94YXA6VGh1bWJuYWlscz4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhhcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgICAgICAgICB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyI+CiAgICAgICAgIDx4YXBNTTpEb2N1bWVudElEPnV1aWQ6MTM4NjY5MEVEMTVEREIxMUI4RUM5OUE5QTRCMUE3MDI8L3hhcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4YXBNTTpJbnN0YW5jZUlEPnV1aWQ6MTM4NjY5MEVEMTVEREIxMUI4RUM5OUE5QTRCMUE3MDI8L3hhcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4YXBNTTpEZXJpdmVkRnJvbSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgIDxzdFJlZjppbnN0YW5jZUlEPnV1aWQ6YzcwNDk5MTUtNDQwYS00NWY1LWI0OWItOWQzZjRjN2NiMjQ5PC9zdFJlZjppbnN0YW5jZUlEPgogICAgICAgICAgICA8c3RSZWY6ZG9jdW1lbnRJRD51dWlkOjBCRThGMzlCMjNFMERBMTE4QkQ2OERDODRGRkVEMDZDPC9zdFJlZjpkb2N1bWVudElEPgogICAgICAgICA8L3hhcE1NOkRlcml2ZWRGcm9tPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICAgICAgICAgPGRjOnRpdGxlPgogICAgICAgICAgICA8cmRmOkFsdD4KICAgICAgICAgICAgICAgPHJkZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ij44LjAxIHByZXNlbnRhdGlvbiB0aW1pbmc8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6QWx0PgogICAgICAgICA8L2RjOnRpdGxlPgogICAgICAgICA8ZGM6Zm9ybWF0PmFwcGxpY2F0aW9uL2VwczwvZGM6Zm9ybWF0PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+CgoKDQplbmRzdHJlYW0NCmVuZG9iag0KNTQg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MCBuDQowMDAwMDA3NDAxIDAwMDAwIG4NCjAwMDAwMDg0MDUgMDAwMDAgbg0KMDAwMDAwOTA0OSAwMDAwMCBuDQowMDAwMDEwMDU0IDAwMDAwIG4NCjAwMDAwMTEyMjIgMDAwMDAgbg0KMDAwMDAxMTc4MiAwMDAwMCBuDQowMDAwMDEyNjkyIDAwMDAwIG4NCjAwMDAwMTI3OTIgMDAwMDAgbg0KMDAwMDAxMjgzNiAwMDAwMCBuDQowMDAwMDEyOTk4IDAwMDAwIG4NCjAwMDAwMTMyMDkgMDAwMDAgbg0KMDAwMDAxMzI5MyAwMDAwMCBuDQowMDAwMDEzODQ4IDAwMDAwIG4NCjAwMDAwMTQ0NjggMDAwMDAgbg0KMDAwMDAxNDg4NyAwMDAwMCBuDQowMDAwMDE2Njc4IDAwMDAwIG4NCjAwMDAwMTg0MTMgMDAwMDAgbg0KMDAwMDAxODg5MiAwMDAwMCBuDQowMDAwMDE5NDE1IDAwMDAwIG4NCjAwMDAwMjAwMjAgMDAwMDAgbg0KMDAwMDAyMDQwOCAwMDAwMCBuDQowMDAwMDIwODI3IDAwMDAwIG4NCjAwMDAwMjEzNjkgMDAwMDAgbg0KMDAwMDAyMTc0MSAwMDAwMCBuDQowMDAwMDIyNTAwIDAwMDAwIG4NCjAwMDAwMjMzMTAgMDAwMDAgbg0KMDAwMDAyMzcwNSAwMDAwMCBuDQowMDAwMDI0MDc5IDAwMDAwIG4NCjAwMDAwMjQ1MzcgMDAwMDAgbg0KMDAwMDAyNDk3NCAwMDAwMCBuDQowMDAwMDI1MzM2IDAwMDAwIG4NCjAwMDAwMjU4MjQgMDAwMDAgbg0KMDAwMDAyNjIzMyAwMDAwMCBuDQowMDAwMDI2NzE1IDAwMDAwIG4NCjAwMDAwMjcyNzAgMDAwMDAgbg0KMDAwMDAyNzcwMCAwMDAwMCBuDQowMDAwMDI4MTU3IDAwMDAwIG4NCjAwMDAwMzg2OTcgMDAwMDAgbg0KMDAwMDA0OTAyMyAwMDAwMCBuDQowMDAwMDY4MjM5IDAwMDAwIG4NCjAwMDAwNzQyMTkgMDAwMDAgbg0KMDAwMDA4MDA1OSAwMDAwMCBuDQowMDAwMDg3OTkyIDAwMDAwIG4NCjAwMDAwOTA0MjYgMDAwMDAgbg0KMDAwMDA5NTU2NCAwMDAwMCBuDQp0cmFpbGVyDQo8PA0KL1Jvb3QgMSAwIFINCi9TaXplIDYyDQo+Pg0KDQpzdGFydHhyZWYNCjEwMTM1Mw0KJSVFT0YNCg=='; diff --git a/packages/syncfusion_flutter_pdf/lib/src/test/hyper_link.dart b/packages/syncfusion_flutter_pdf/lib/src/test/hyper_link.dart index d75dbd019..88b095829 100644 --- a/packages/syncfusion_flutter_pdf/lib/src/test/hyper_link.dart +++ b/packages/syncfusion_flutter_pdf/lib/src/test/hyper_link.dart @@ -406,6 +406,22 @@ void uriAnnotation() { document.dispose(); }); }); + group('FLUT-6829', () { + test('Test', () { + final PdfDocument document = PdfDocument.fromBase64String(flut6829); + final int count = document.pages.count; + for (int i = 0; i < count; i++) { + final PdfPage page = document.pages[i]; + final PdfAnnotationCollection collection = page.annotations; + expect(collection.count, 1); + for (int j = 0; j < collection.count; j++) { + collection.remove(collection[j]); + } + expect(collection.count, 0); + } + document.dispose(); + }); + }); } // ignore: public_member_api_docs @@ -524,3 +540,7 @@ void textWeblinkAnnotation() { }); }); } + +/// input PDF documents for testing +String flut6829 = + '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No+qKApmxBwOR19f349/8lMErj/4zne3dXerqpqcnPzKK68Gv1Ms6J133q2qmqmuKOOFO4iIiIiIiIZNf63LXpPv9nkfeeRRRK2go8eOtXd0TJkyJTMra/fuPT/86kf4Jfzs57848NDD/uxU99ULcFsiIiIiIiIaNu2COe4M47XX30DaCvru977f3d2dk5Pj8/u3bN32gx9+hV9iyuyNN9+aM6/WXp3n/zq/5ZmIiIiIiGhE/M+uUgoDdfPnf/7Fl8hcQQ8eOJCdnZOUlLS4qenFl15+9bXX77n3vqrqWUpRsufmRbgVERERERERjZDWVy3pakPjoudfePGzz7+Ahx5+eOrUCjlZk1Pd+ZOKs4rytaJ0R0Ox+FqxI724CREREREREY2Q8Vm3tqNa9jgnTixZLKqppHSSqyRD2zPbffVC7YI52t45nlub9Pc2YWEiIiIiIiKKFePzbs/1DerqKfbqPPuMHHXNVO/dS4xPt+FPREREREREFFfGB1v8L3f6X+wUl6w/yvciEhERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERFRlI72+p9Zpe2qcXaUOtsmq2umuPfX+p9dZXzeLf5KREREREREsaZ/sFnbO9s2OU3yOZMkKQllk2XDZStN1/qqjY+2YhkiIiIiIiKKIf3djeqKMqSw7Jzsbd3dX/vaI0899dTNN98ye/Zs5DJJd7m2VulvrDcO9WBhIiIiIiIiGh7/C2vdVy1wbZqu7azxPdzu2lGNWbCKiornX3jxR3/445/+7Ofwhz/+yb333pubm4spsiS7ImkOyeOwV2a5r6zX396AlRAREREREZFVx/o81zXYsnx2u11VVYfDgYkvhK2Skklff+65n//i/wUhiK1d24nfYzEUfrDZbFgY/8XPcpbXfUld4EivWCERERERERGZO9LruaPZUZyKKbCrr7nm1Vdfu/W22wqLihCvpk2b9vrrb/z4Jz9FEPvJT3/a1bUeGS0/P//SSy/t7euTZXnFihUPPnigt7d3/PjxNptNUu1qV4Xx6TaxWiIiIiIiIgrP/9wa+8zcovHjn3/hhZ/+7OeIXQhfa9asRRZD1dXN/+ijj/HLt99+x+fz+f3+p55++ic//dntt9+hadq2bd3f+vbv46/f/Na3Gxctdjidkl/Vds8OHOXsGBERERERUXjH+jw3NjpSfbt27/nOd7+HVAXIYkuWLEEQQ6Wmpj7w4AH88qKLLnY6nbW18/DzH3znu729ffhrX9+O737v+/gNfOP3vtnU3Ixf2qdl+1/uFCsnIiIiIiKiUIxPt7m2zkhOSbnjjju/853vYsILqQr/xYQXUhUqKyvra197BL/ct38/stiMGTPeO/j+0888W1VVlZycfNfdd+MW+GvQm2+9nZKSIqe43VfWY+VEREREREQUkv7OBkfTBE3TZs6cuXTp0q1btz708NeQxx5//AmP1+twOFrb2j7/4kvkrEcffcztdiOOzZo1a2pFhdfrbW1t/fyLL/CnAd/69u83NTUl2WTkO6yciIiIiIiIziQmxTZNkwMuzH95PMheXlVVc3Nzv/jy0Pe+/4PHHn/irrvv+eTTzzBNhpz13e9+b/9FF+Xk5EiSZBjGsmXL3nr7neCfBnz/Bz/ctWsX1qauLDe+2I5NEBERERER0WmO9rrWV9p8Lkx1IT3Nq6u77PIrMjIy8PPLL7+CYIWY9Yc//gl+GICA9ulnnx98/4OPPv7kG7/3TSyAXw72w69+dMUVV2INzqWTjA+3iK0QERERERHRIL4HW5Pscmlp6WWXX56SkmK3210ulyzL6RkZQ2a7wvns8y/a29sDgQAS3MpVqw4fOfLVj/7wqquuRhZTV08xDvVgK0RERERERDSYa8N0VVW3bNn6gx9+ddXV12RkZuKfCGUv9U+KWXHLrbfpum7rL0mSkON27Ny1trNTctm1nTXYBBEREREREQ3hXDRR07Tdu/cgVcGXhw6/8cab3/zWtzElhn9acdHFF2MKrLW1befOnVMrKpDIEMfE5Fqmz3PjImyCiIiIiIiIhkAW83g8l1xyCVLV8Fx51VUOh6OlpeX5F1588aWX8/LzEc2SFNkxp0B/ZR02QUREREREREOo7aWYw9re04NUNdgf/vgnn372+ZGjx3741Y/wTxNPPPnU+PHjEeiKiyfMnj07MzMTUUw2XO79tVg/ERERERERncl96XxZlufMmfutb/8+glXQW2+/s3v3nsbGRe3t7TfccOMPv/oKvwzn937vmxfu2zdxYklqaqrP5xs3bhymyeR0j+eGRqyfiIiIiIiIzuR/YU2Sw4YYdc011wYz19FjxxctWqwoSkVFhSRJZWVlB9//AL838Xvf/NZzz7/w0MMP33vffY8/8QTmyEQW44fFiIiIiIiIwjC+3O5cPAFTYzm5ud3d2z/59LObbr4lEAiUl0/ZsnVbUlISJrzee+8gApdFR44eRY5T8g3f1zqwfiIiIiIiIgrh+A7/y52O2gJMgWmaVlpWVlhUZLPbCwoKAsnJdru9tbX1R3/4Y4Qs+Pbv/8GOnTvn1dWtXrPm9775TfzmTI89/jgSnG1Cqv5al1g/ERERERERhXR8h/76erWjTPI4kMhQCFOYKcMPUysqvjx0GAkr6IEHD2RmZuJPNptt7ty53//BD/HLITZv3pIkS/bq/MCxPrFyIiIiIiIiCs/4vNv3QKtjwXhJcyCL6bret2PH977/A8SrAfv27/d6vVnZ2YhpaWlpb7/9Dn452E9++jOENaxB21mNdRIREREREZFFzuVlkkNZumwZstUQl1x6mc/vn1xampGRoevG/Q88iF8OQBC77rrrkzCnlubxfa0dqyIiIiIiIiKLPFcvlAOay+U6fOQoEtZgjz76GFIY0pamaX6///bb78Avg77/gx8+9fTT+fn5SZKENIf1EBERERERkXX6OxttE1OTpKRVq1Z/57vfQ84acPToscbGRkVREMfcbndPb+8777731ltvP/f885deetm4ceNkh80+Ldv4eCvWQ0RERERERFHRdtZIThsmv3bv3vPZ518ghQ149NFHkcKQxWRZxhzZrFnVM2ZUjS8uVl0uOdntbC/1P7saayAiIiIiIqJoGR9scTQWI3B5PJ4FCxdeccWVzz779edfePG+++9va2uz2+2S7nLMGydn+SS/Kgc0zKM5Wyd5rm/U39uEmxMREREREdHw6K93qauniKgly7quFxUVYfIrOzu7P4ipnpsW6a91+R5b7n2ozfe1dv8zq0QKO8qL2BMREREREY2U8dEW7x3NmCCTkzXMkaEkp83RMB7hK3CkFwsQERERERFRXBzrM77cbny4RX+50//11Zj8wj8Dxzn/RURERERERERERHR+O74jcKTX+Lzb+GTbKZ9uw28Ch3swtiyWISIiIiIiohE63KMf3Ky/u8n//BrfYx3eB1s91zW4emap6ypO6arUdtW4L5vvuWWx90Cb75F2LOl7aoXvqZX+p1f6X1gjvLjW/+o6/bUu4c0N+rsbjU/41TxEMYVxki+3Y2DE+Hgr4GVr5oPNWGYwjqUQERERjR36m+vdl893dpQ6l06ylaXLaW7J7Ug6s2RJNlz4P0pSbZKuyqluJVdX8nSlwLCVZ4C9Mstek++oHSc0FGOFro3TvXe1oEOIDRFRZEf79Lc2+B5q896zxHNns+fmRSfc2Oi+sl7YX4tREW37TNf6aa6uSrzKwlo2SV01BcsM5r5moe/plWJDRERERDSqjEM9rm1VktcpEpYk4b8mJTsU/De6kpLkDK+2ZzYG87E5IjJzrA9BydkyUSkMKJleOcUt+Zx4eQqaHeMhSYqMV9VICiMttopMTGeLzRERERHR6NHf2eiYN0708dBJi5TFhllSkq0sw//8GmyOiEwYH2xRO0rDBi68QsP9Kcqyzy0wDm3HFs9Bx/uMT7fpb6zXX153mlfWibdoYgEiIiKiscH/3GpbZTbiUrwKnUe3QylO8dzQiM0RkQn/q+uUcQG8buJdmG5DWsEWzwWHe/wvrPHevNh9wVx1RbljfpF9Ro59Sqa9LGOo6TmOeYXOpZPUleWuDdOE7ir3njnuvXPcF9Z6rmsM8t7R4nug1fdoh/5ql1g/ERERUXz4Hltum5SGvlmwVmRn3l42+eszKt+pmfnxnOqXZ05/anoFPDC1/MbJJRcXF+0sLOguyFuVk9WWlTE3OVCl6+FM9nqDI/iSIssZXvdVC7A5IjLhf3GtdPKbiKemOy6c5b+mVg/p1gWBh5pTvhbG3Q2Ba2sNLAaX1ujbK72wrFgz1OCLMknO9fvPgU+NHelFC+ZsKbHlG0qKR/a7JNUu2RRJlsNSFMlhw2Ky2yl4nLhVkJLsPiHNo6R7lUyfkmv4HmoTGyIiIiKKA+8Drcr4ZPTNgvXlvNn/2b70vzuW/U/Hsv/t/y9+hv9qX4rf/zu0Lfm3tiW/a1vyr21Lftva8pvwDs2brconO36pbmYxooj8z62RXHa8ZFAbyj0/2ZHzTxfnh/Sri/P/+RIoCOlXl4hlgv7x4vx/uEj42Y6cWdnik6EoSbP7Hjy7U4ZxqMd92XzZ0CS7TYSs+PBc14BtEREREcWD9/5lStGpLHZ8fu3/t7w1Jr5dX6ue/GwLsxiRFf5nV+H1EqzNU71/tCv3t5cVxMqf7c2tyVGxZpSk2jy3N2OLZy/9jfXOuiLEJZAVxaY6bC7nCSo4rFCcDsVhH0LMnfWvFjzXMosRERFRvHhuXqxk+9E3CxazGNEo8n99dZJNDl5LB/Nivzgji/360gLMcGHa6zf9/4zKuZbFXu9y1I5DXAJfTmrtDRsXfW1PUMMDO2tv3GRFzZWdMy7oGKxk/QJPfhrWGcQsRkRERPHjub5RzvCibxasw/PmIEbFBLMYUbT8z6+RAprU/wV/y4q1P+zLQYYK+pdLCxDNXl2edtfCwONLU765JQuJDL+37rQs5rR5blyELZ69/C912iuyEZdAL8pa9sJlnV/eOXKNT12YMn081hnELEZERETx476sTgqc+AZn1LvVMxGjYoJZjChag9+jOCSL/eme3O5Kr9el2FSbpMjVOc43V6UjoOFPFp2WxRyK+6J52OLZK05ZbPFT+9KmF2OdQcxiREREFD9DstjLVdMRo2KCWYwoWv7nVg9cu6OpyPVV74kshsz17up0n9uePj178qbK8csna+meKemOX16Yh79adK5lsRfW2ssyEJcghlms5an9GdMnYJ1BzGJEREQUP9pFtZL/RPcMxSxGNIrENe1Pjo3U5qnf7c5GhoJ/ujj/1vqAGnBN3TlryeudzS+tHtcyUXEqH3Vm4K8W/eNF+fPyTr7YHYq2Zza2ePbyf321bXwK4hIwixEREdHZSNs9W9JOjMOjmMWIRpH/pc6Bz29iDus7J7PYP1yUv2uGz5Plm3nVfGQxmNI70+5x3NUQwF+tqy84EfSS7Iprywxs8ezlf2aVbVwAcQlimcVevDRz9iSsM4hZjIiIiOJH21k98J4oFLMY0Sjyv7pOGRfASwY1OIv97f78tgmaPj553r0tCGJQdUWdU1cR0PBX6wZlMdm1cRq2ePbyPbVSyfIjLkEMs9iSVy7PrC3FOoOYxYiIiCh+tAvnSN4TX/+KerxyKmJUTDCLEUVLZLHCE1msJNn+jc1ZCFDw1xfmTc90BkpSFz7ahiAGdQ8sdaW6l4zX8Ffrzqks9thyOaAhLkEMs9jSV67Iqi3DOoOYxSgc/e0N+hvrfQ+1e25vdl/fKFxR7754nvuSOvd1DeKfJ3nvWuL7WscA/a0NJ7y3KXCoB6siIqLz1pB5sTvLJiNGxcSpLGaTbeUZ3jtbsDkiMoHumX16Dl40qAkB+/GTWeyXF+aND9hTp2Y2vbgaQQwanuzQ0j2lqQ781bqRZDHj4y1qR6naORU/4J+xZXyx3fdQm+9Am/FFN/5phchiRuyzWNsrV+bWlmOdQcxiNITxyVb3xbVypjdJfA3g0JICGk55+CHakjSHUmg4WyZ6bmg0ENCOi20REdE5LxFZLClJyfEzixFFNDiLFRn2Y5tOZLG/uCDP7ZDTZ2QjhQU1vbDKnenN9dnwV+tGksW8B1rRyZScNrW91Pi8G7+JFeOjLdqOaslw2coy/F9fjd9YEa8s9ta1uQsrsM4gZjEaDClJXTdVUm14DYUscS2skye+qEuWkMjwKrPPztdf68LmiIjonMcsRjR2DM5iyS758/WZCFDwkx05sl3JaxyPFDbAneWLNostLnJJwcH86LMYZqwcteOS7Iqc4tb2zjY+3opfjhw6t+4r5ks+p5Knu/fNtb7aOGWx9oPX5y2ehnUGMYvRYN6H25WJqXgBxaMk9cS5WNLsri3TA8f6sEUiIjq3aXtmS24HGv9gMYsRjaJwWey9Nek2l614RSki2IBhZLE1pR673B/Gos9ioL+z0dFQjKkxOcOj7Z1jfBjmzYqHe7Gk/7k1vkc7vPcsOeW+pb6vtftf6hSB62Q/U397g21ymjI+2XNj/1uz+n8pHN+hv7sRC4sJgsODfn9SnLJYx8Eb8hdPxzqDmMVoMO2SeWLmq78km0Od26pWNw1wTqt3TJ17wpQ59uKKAbb8Sbac8Sdkj1eSMwbIeqrs9kmaB6vEaoPlWFAkXib9GyUionOYdvE8ST9xZkHdNLkEMSommMWIohUui33UmWHT7BPXTkEEG5CALIZwhOmwgdwk8tFrXc7WyXJAkzO9ntubTv0JjvQif7mvWeDaMsPZNNFelWubmKpk+ZRM7wnZfltxin1Ovrq8zHN9QzDKIYuh23kqiB0ROQ7Nhbaj2tk80T6nwNle6n9+jfjT6eKUxVYevHHc4hlYZxCzGA0mRi9PfguMHEjPeO+v09/401Ne/MO0Z793wjPfTTlwaEDyXR8Ebn3rhFveNK58eoB+6WP+C+73771Xcpw6FzvmjRNX9ujfKBERncPcVy2QU91o+YO1v7gIMSomTstiebr33qXYHBGZGJzFVJv00boTX+X8ve3ZimorapuECDYg3llMf73Lta3K2TTBtXWG94FW44PN+CXCF9ITgpKtPMNz6+LA8RNZTH9jvau7yj4tW05xJyn9mzAtOcOLqIXYhTkv/dV1CGKIZtiKa/N0R12hkm8k2ZUkSZKTNXVlOWbHsIkhmMUo8QZnMSUjP/sb/18MSW4fVhssx4LxxiecFyMiOvd5blwkZ55q/3cXjUOMionDtXNU+WQWK0z2PdKOzRGRicFZDPX+2hNZ7E/25GqqkjOvABFswIiymE1W10zFFk1471uKURQsi86nUmDYK7MQ3zCoguF646Ot/q+vxn+xGPgearXPzJU84t3OLsVW7k/ZVDDpjqmzn6xaeLB26fvzlsFbc1senj7/6slVbVmFur3/ezQU2VE7zvhyu/HJNvfl8+2zcrEVbCtJSpJ0F2bWtAvm+B5ux2OCyTJsZQjfEyuUNC/iEsQyi31087iWmVhnELMYDTY4i9kKJiFAxUrWl/8maSe+5x3FLEZEdJ7w3LxYyfaj5Q9WDLPYO9UznQNZbHwyBrGxOSIygdwRMov95QV56R4ltTKr+aU1SGFBI8piiuxcOglbNGF81u29d4naUSpmqfrnuCWXHdPoSlGyY3Gx954lwYjke7BVyfEnyRJSWEd2IcLXHy3Z+Lft236zovffV+383zW7g/5n9a7frdzxz8t7ftm65ZO6tkk+A/shOW0IO/prXY65BUkORcnR1WWTPdcs9L+wVn9/M2Ia1h+O/5lVtvwA4hLEMIut+vL2wvYarDPIe1sztkUUNDiLOcpnI0PFSuZ7f9P/kbETxSxGRHSe8N6/DD0rtPzBimEWe6u6ilmMKCrhsthf78ubm6sml6UvemYFUljQSLNYSwm2GMGxPgQi49NtCFzO5oly6sm+oiJh3gp7a3ywGa9u/MIpK4/MmP/bFX3/tXoXkpe5/169696KWlVRkOAc9UXYClYlJto+2ILNBY6KiBeRyGLj4pDFDt1e2HEqi/ke4oQ+neLqnSXePdtfzqm1yFCxkvHOLyXXydcXsxgR0XnD+0BrsCsVLGYxolGESBIyi/3tvvxlxZq/MFB7VxNSWFAistgQx/r8T650X1KndlV672wJHOpRO8V3LUlJ0l1T5yBkmfif/v8ihf3n6p347y9bt+oO8U5FOdunv9t/jYJjfSKFDWb6dbf+lzrtFdmISxDDLAYTOuZgnUG+hzuwLaIg1+bpOGiD5ayYhwwVK6lP/r6kalhtsJjFiIjOE8xiRGNHuCz2jxflX1rjd2d6q66oQwqDllfW4p/5/vhnseN9xmfd+vub9Xc26q91+V9ZhxCE/TQO9egHN9mmZmJlU/QU5Kz/XLXzn5f3/HZl36+X9/xN21b8EMxf+O9ftG7+/uK1v2zd8u3G1Y9XLfhg3rJ/7NheFUjHbeWA5rmzBZtAuHP1VQ/QLp7nf87se5+xG8xi54LjOzAZanyyTfis2/iyR8Rw/H4MOtbn2jgNB22wtEXrkaFihVmMiOj8xCxGNHYg44TMYr++pODFjjS/156/uHjhY+0tr66tu3+JK8U9I9OJv1o3jCymv7ne1TPLsaDINiVTCrgwC5akSPY5Bf6XO32PdiiFAazswLS6f+rY/tqc5gemzXtjTvPNU2q6Cyc/NqMeoQxZ7Hcrd7TnFNYkZ3TlT3y5ZvH1ZbNmJWc8UDlvz4SpuK3kcWi7Z2NtzkUT5BT3CYYL/9X6qrED4cQxi62slWwKVgvMYnGFRI9Tg3bBXHVdBbi2Vbn31XpubPQ+2Op/dpX+9kbjC7PPDCYYoqK6shwHbbCYxYiIaOSYxYjGjnBZDP5od+6aUrfXUHMXFFbsrRm3ZKLNZe+u9OJP1g0ji/kebLVXZCnZftukNPuMHMfC8c6OUvSW0Ul2XzEfiQkrw2zXvRVzF2fkPT6j/prSqrmpWTvGl1cnZ/x8yQZksd+s6C3xGk9WLVifP/HBafPwm7sq5s5JyfyorhW3leyKs3Wy6JM/0uG+vP6EfbXui+bppt+vFL8sNnHTAtnlwGqBWSyEY3149kc+e4WVuC+tExd+OaMkp81WnOJcPFHbUeO9b6n+7sbghWJGl/HRVmf7ZOxesNxtvchQscIsRkR0fmIWIxo7TLLYry8tOL45a12ZJ91rs3scqlOZnase2nDiy6AtGkYWMz7d5r13qeeWxb5Hl+svd+Kf+GWQq7tK0hxeu+Ofl/eU+5Mfr1rwn6t2PjqjfmF67vbC0kUZeX+0dCOS129X9lXoqZvHTWrNGvfw9Pl/3959XelMLPOLJRuwI0mSZJ+Zi245VhgV/dV1jln5iEsQ2yxWsmkhs1hIxifbvPcvwzyp2lmh7Z2NqauRRCTPrU2S/9S3G4cuPAk5fmfzRG3/XP8rnSMPgCOhv7vJ2TQROxUs74YrkaFihVmMiOj8xCxGNHaYZDH49SUFP+rNeaY19dp5xh0LA4c3Zv7LpeL31g0ji5lQ10xNsivZLs+vV/R05k1A2vr9xtXPzGqoNFKTnWp9Ws6RBcsxKfbL1i1t2YU+uyPV6apLzV6dW9yUkff16kb8KeAQXXFbSar+yjqsMCr6G+uddUWISxDbLFa6scHmcmK1wCwGyCDeu1pcW2c4GovRmCfZRMMuuR32mjzfYx2YJsMyw4Bp1qT+g9FKSbpqn5WLAIjXCG47KrBpPALYmWAxixER0cglKIvl6Rhax+aIyATyhW2KuBpGsIZksaA/25v7+frMb27J+qeL8/HPqMQ2iznbJmNWK5jFftS0blNBCfIXgtjC9Jwd48ubM/NnJWc0pOfWpWVPN9J6isquLZ154YSKuyvmIqP9y4peTJnl93+5rVIYGMZYDR6rOGWxso2NzGJBSB/ui+c55hQoubrksuPJOq1ssnPZJPO3koajv94lp526hLvPYVtRnHnb3JLraybsqsivywlkaE78fkghkTlqC0brbOLHVOy8cdiNYPn33o8MFStDs9jcAv2djdgoERGd2xKUxXL83jtbsDkiMuF/bd3g1+OQLPaPF+W/vDytLl8t8NvG6bZNUzw/7svB762LYRYzPusOzhFU6qmY4fqfNbsx//Xj5q6vmtb98dKNf9/e/adLN7XnFCqSNCcl88iCFfjNr5f3/GPH9t+u6Pvv1Se+gwxhDWuQs4fTPjCLxdHxPv2NLnVDpVKULPlUHC14mkKWpNk9Vy0IHO4Rt4qG+4p6yXsqbZWleD9eMfM3exb/eveif9jZ+Gfb63+yue699hmXVhVNSRGB/VTZZDnV7agvND7YjPUkkv/5NfZZediFYOmXPIYMFSvpL/xYcolPXwbLXpOPIxwbJSKicxuzGNHYgYF3TBLhJROsIVns43UZ2V5bhiHXljtK8mwuu9QwzoXfWxfLLPbJVsfC8VhTlZGGLIZgdSbErprkjKeqFgyEryE680Sak9M9nhsasc6ooKcapyxWvnupXXdjtXB+ZjFtVw3yTpL9RAM+pFw2pcTwGE47fkZhBsf4cAtuFRVn6+Skk1+ajKrLTf6z7Qv+d3/LYP+9r/nfLmj6m76GpxZPqcky3IOWRyKzTc/23r0Eq0oY39MrbRVZ2HiwYpvFMt75y8Hf9cwsRkR0nmAWIxo7TLLYP1yUf1dDwKdJ9/f6/v29jD9/Lm1qoQ2x6mc7opgaS3AWgyVZBc/NasAPIa3Pn4g1yMma+/L5WGdU0FONVxbbs9RunJdZ7Giv/uo6e8Wpd8kOFA4bza40FaQ+uWjKX/cu/PsdDRdUjpP6DyXJZRcX8cDNLTM+77aViSnRYGE1HcUZCF8m/mlX44stFZMCHsy04ibBwpnFc1vTsD+wFi3fUyttU09lseR7PkSGipWMd37JLEZEdB4aksUuGF+IGBUTzGJE0TLJYn+3P//W+sC4dOWFS/XfvZvxD6+m10x2OBTpb/bl4a8WJT6LNWfmX182Cz+EdNXkKqxB1lXtgrlYZ1TQU41TFqvY3erUPVgtnD9ZzPh0m3vfXDEddnqpNnmC4b6mevwve0+btzrYUYXfYwGUunZqVIHI//wapejUecfnsF1bXYx1RvR3OxrWlmSlag7cKli2iam+h9oCx8Vq4813oE0Zn4KNBiu2WSzzvb+WNGYxIqLzzpAsdt2kiYhRMcEsRhQtkyz2L5cWvLEqPdWjdC1wfX574Pr1Xr9bri9Q8SfrRiGLZeRvLZyMH0J6aFod1iC5Ha7tM7HOqKCnGqcsNn13m3peZbH+T4e5Nk4THw0bVA5ZLvBpW8tyv7dh7n/ta0YUGgyxaEtpTnCSSsk3jENRfGTMi1CTq+OGwUp1Ob7WUIZ1WvR8S8WsTN0Z/BSbTVY3TDM+O/VVC/HjfWCZUnDq5Zly/6fIULGS9eXvpP5L2QSLWYyI6DwxJIvdWTYZMSomDtbMYhYjiopJFoNf7MrdO9OXayjF2TbDLZenOb6M//eLhWMxi10wYerynCL8ENIH85ZhDZJTUddVYJ1RQU+VWSwGjvX5X1zjWFwsqTY8F8HCIaI77R3jM15bOu0fdjYi/oR0x7wSTGlheZTvmVX+V9b5nl7pe7jNe+8Sz62LPTcvOs2ti733LEGc8T2xwn3xvMEXUczxqG+3TscKrft/2+aXp/hwWxSOQxwM4r7EmeeOZjnDiy0GK+2pP0CGiiHJfeIeoZjFiIjOE/HLYkfnzVGD45bo9zGLEVlgnsXgpzty7lgY2DTFc+Es/3tr0jFZhl9al/gsdl3pTEyN4YeQglksya44l5dFNbEC6KnGK4tdtFxN8WG1cM5nMRxyjqYJg4MYapxfu3XuxJ9uqUPqMfFO2/SJJ9+m6Jg3DmwVWUpRspzlk3RV8jpP41eVTK+Sp9vKMmwTUgZvsUjXvrluNlZo3WcrZ040TqQ5taPU+CDqi4cMg+e2psHv4Ux/4ccIUDF0Whablau/2oWNEhHRuS1+Wezb9bXMYsN3pFd/a4Pva+2eqxe4L5qn7a455cK57svnu6+sB+8dLXhgvQfaMBytv9ZlfLQVo9zi5ucT47NujMl7H2z13LgIj4n7svna3jnuS+s81zV4rlkoftNPPFb3LMGYvP/5NcbBzYGjY/GBQsfYPIvBP12c/6d7cv92f/5v+v8ZlUFZTHI0FGOLw2Z8sNkxvxBrMs9it02pMcli32xYhTUkSZJSYGDqJHC0F2u2KH5ZbMaVq10ZOlYL53YWMz7coq6vHByLUDVZxmvLpv1272JEHnOYnFqQd+r0MewqTfH+Ve9CrNCi72+onZHuxw1RmKjCKx0NJu5OvHlubESixEaDlfne3yBAxZAcSMdqg2WvzPY/twYbJSKic1v8sthXC+e7lBOXIFbyDe99y7C54TE+3YbOcxD+eQ4zvuzxP70K4cu5pMRemYVuuZzmkQOa5FMHyLpLTnFjeBYQcpVcXRkXUCakYLTZPi3bXp3nbJ3k2laF/onvqRXGx1ux2nPQkV7/i2vdl8zDnbXPylMmpioFATnTi8dETtFkvyona8o4Q8n1i9/0E49Vnq4Up9hK0uwVWRjDV1dP0XbVeG5rxqrEOscA8yyGFPZpV+auKl9LsbZ6svv6OuMXu3Lxe+tOZTFZstfkY4vDhn4pHnCsKZjF/mfN7r9p2/bnyzb/YHHnHyxa/W7tkgPT6+6pnFuflpPqdDVn5odUm3ryqnSS5Fg8AeMPWLNF8cti1Veu1TIMrBbO5Sx2tNd7V4tsuPDwD9Tc7MD3Nsz9zwuHfjospP+4sHn/jEJt8KXmoy9FkpYWpp/5ebRw/m5Hw6kAiBnV9tKEtXLuqxcMzq1Zn/8WASqGbPklWG2wbBWZviivTklERGej+GWxP29uPJXFipJ9j0TRpfG/sNZz0yJXd5WzeaKtPANj5qIXHVSUjMShIm5sn+m9Z2li3pqSAMYnW5ELbBVZ6N8icKGPIT6zMbyyK5LmQBcLq1ImpjiXlmBy7ZyJscZn27QL5jjqi+RsnxijDv9AyS675DhxBIYoSZKcNsnjRGrDqmyl6eraqZ5bFuvvbcJWRotJFvv7/fmPtKSMD9hxt3CPbXKSzynPzVP/Zv+wrqOILDYrF1scHjxKOK6wEqzJpdjasgsXZeRNM1JL/IHJKeklyanVJZMbZ8/N8hvz59S2LFk6blzh7Dlz6hcsLCwqam5ZkpWdXVpWvrCh0WazLWtrH1co5tewP5iyxMotil8Wq7my050RwGrhHM5iGONyLirGIz9Q09L9CGLIO9a9sWxanu9UmkOwSnM5qjP1DZOzd0zNv7q6+MbZE++bP/nxxvLraybgNwvzUzLcTiw5UKoiXz6zCKuyArN1nSVZJ45hm2yfne9/uRP3JTHcVy1IGtSkxD6LFZZhtcE6W7KY/uZ6//Nro32DMRERDYhfFvtlS6M2kMXGJ/seW47NmdBfWYdpDseC/j625hDDj+hmK3KInja6ovg9Egd6pR6HfUqGtmu2/vrZ+tZ6/zOrnAuKcEdEcMBdi21hfYqM0IHE4Zhf6L29GTNK2OjZyPi8W9tfi4ApHigFdyymhfXZZBx1coYXB6H31qZR6V2YZLHvbc/O9YkvFEMFVFntfwTQJ71jQQB/tShWWcz/7CoMiWA1ldOmbdnW7XI6t23tvvqa62pqZq9YuaqqaubqNWtvuOnm1LS0Sy69/O57729ctLitfXnfjp1Tpkzds/fCmbOqEcGwvMPhuOzyK6tmzsKqMBDhe3olVm4Rs9gIGR9uUUpS8cgHK8XleH3ZNEx1IfJY96vdjd3luasmZh5YUHZsbc2fb6//1a5F/7J70b/uXfy7vU3/dkHTv1/Q9B8XNmGiDT/gN7/ZsxgL/EXPgh9tmvdBR9XzzRWvLK3EVBdWZcWjjWUB1Y69RVOJ2XCM2iXmavZB7kvFZT+DJbu8WZ//KwJUDJ2WxYLX6u/f7thkvL8Z44cYIJUDmu/x5Yl8IoiIziXxzGKLRBZDdybDY6/O8z27Gps7DZruw7362xvdF861TUpLssvYgZEU+hXuaxaihxY43BM4PhY/DXSKuO893gNtzobxSJTY+ZCFTjN63IgI6D87lNPgN/g9IJVimWD/2krJaW70KPRX12EHxvqjFHSsz/h4q/vKeiVfRwcMd2Fo4e4jnNklm0OyOSW7Ktld/fCDKn6D3+OvINskLCnhQAu1miElp7oxa4BRdxHKEvUpvHBZ7J8uzr99ofg95sKum2f87f78b27JyvGJt0tNSXdgAYtGmsWO9uGwwQPif3qlfWYuVrNgYcOdd9/jcrl6+3befOvttbXzNm3eUl+/AInspltuTUtLv3DfRfc/+NDipub2juU7du2eMrXiggv3V9fUzK9fcO11N9jt9r6duxDNsCrblEwxYoPDEsMFcLTX/GHHK51ZbCT0g5twkOORD5ZmUxCLkJgQecag/9nf8l77jEK/hl1FSbrqe7gd9yIujvbhIDe+3C58cRLGgi6ci00HS0nNzvridwhQMTT42h2Sz2mfkYMmKIL2UldftefGxv4mvVecWbD/w4Bm9qMtntuafE+uEK9B/CYkrP9wj//ltWpXJVIY9hMtiZzuGTtv8yYiOuvEL4v9a2uLyGL9hU2IXlb/FgU0+x9uwUiauqJcHnRl4zNLlhA6ZKcsq7KMH5SQXfHTS/Kpanup70CbfnCz6M5hc2PKcTG/g/Ods32y5D3tvToo3D10lf1OOdtrKzTsc3LUNZM9F1X7b6gz7mlIHuzG+cbF1f791f7uSu/qye6Gca7yNEehYUP/PEVTPA7ZiYQWvqSAS22fLB6l9zYZJmfe0XW0T393o+eaBbbSdCRS7PbgQsJyBxQ925Yz1Vm1zrf48sDq+9M3Pp256/2cC7/Igz0f5fa8lr3uaxn4ffNVyVhg9lb/9FXesmZ3boWaXGDXs2yeZMXlkxHZsMLQZZMROkTGf3djAh4okyx2/TwDvynQbc+1pf7msoKvenPy/CKLLShwYQGLRpLF9A82e66sdy6bJD7JOC4gucX37c6ZM/f2O+/WNG3Tlq3BLLZ5yzYEtCVLlyFqpaWldff03nPfAw2Ni5a1tuHnysppu3bvnT13bu28uquvvR5ZbMOmzRWVlViV5FcxaIO+pbp+mqt3FuZAPTc0YgJOf2sDesLYgSHil8Vm37jBk5OC1cI5nMUwxOGYk49HfqBSXY43W6djGgvZZ0z5733Nv9g6f1lRWvAUgJbTfXk97kI84GHByI9tWrZtYgoGCTF4hcQqnf6pOpSSkR/jLHb0vwdnsWhL0uzqmin6a9G/PwSn44+2em9rspVnJGFoD6l8d40YDMGfBjsuxsTwesQr9MT4oSThiXDMzvc9sQIrEcsQEVH04pfFwB0qi4mr3j3U5lxScqI9P71skmTY7RO9nkrdX5eS3JqZsT43Z1tBft+4go15uR1ZmQ1pqTMDRpnPm+NSsX5x5ghVWLl93jjPrf0f/8FQXv+mR9/xHfrLndrOagwkYieHFDJUZYZjzWT37QsChzZm/vkFedFesfzP9uYe3ZT19bbUq2v1rRXe6mxnSYo92YUYKzowZ5Z4lKrz3NcsQAQIcfIdVThOvPcudcwvTLKfOIqChbkt5C+EqemrvSvvSdv7ce7VPyi49kfjonXldwt2HcxZ+1B6y9Ups9b78qeracUOzVAwcRaiHIqtIgs9NOSCuPY68ESEzGK/vqTghfY0zIdiJnTTVO9n6zMvqfFjjgzL3DzfwAIWDTuLYdTd0VCM2w2psvLyC/dfpOsGohamxqZOrWhta6+pmV1ePqWtvcPn89XNr1+/fuPEkhL8ZuasWdnZOdOmz8jOycnMzJxRNRO9uYzMLEQ5rCp02WVlQorn2oUYjcduDBa/LDbn9s2e/DSsFs7hLIaXPNIuGgE8zAOFOPba0mn/NsZmx/6ku35zaY4aHJBxKNre2WL/4wGPydUL5DOS15nlmDQz68t/ExkqRjLe+aXkEucF+eT3ckZbIo51VqDlFHfECgwMvr/Ze/8ytaNUDmg4m2YG5Lw0RdHs3nuXiAVOMj7YgrO2urIcQ53YEAqHDYbIMGCCYVUsQEREwxbXLIZUhXWisAmRxQ73+J9Zpe2olrN9YgZoUGG0M1NVEb425+feVjrps7k1XzXU/0trC1YyxP92LPuTpoZvzK/9+vTKKyYWr87Jmq77saHT13eiMHTvbMPsTyumonBnR5fxRbf3zhbH3AL0JbBvA4W+cWmqY22p586Fgd/bkoUZEPSZY+KPd+d+vC7jtgWBjVM8s7KdqTjZhnqYcFa11+R5bmvCsCf2cyzA6KvWN0se9LWqKMxeZUxyVq5ABEu/4JNc5KmY+Wrcpb+Xv+3FrKbLkyvaPZmTnS4/pmSxzdNKUm2ORcXeO5uNj+LV/QiXxeCnO3Lm5YmOkGaX8v02/Bc/l6U6/mJv3K/dgcF2R30hboLboRCg8N9geTye/IICp1M1jIBf1x0Oh6qq+C/+FJvCthTZsXC8/ubQ772NXxabd9tWX346VgvnchbDY/jORucZXy6W4nI82zQ12g+Oxc+vdi26vbYkoJ44qBy144xPt2HnIzjU43+5U3y19DOrjC9DzKuGhNChdk6VnLaBoz1cRZHFjv1v5gd/n/bsD1IeOpxy78fJ93yU+uTvZ7zxp0Nunvnxr5T0PKx5JIVTLc7puCMRHOn1P7fafe1CdXlZ8K0pblWaP8VxYKfv6f1+wyPZxiejLRJL4iB5d6NrW5WS4ZVwAsHrUZJsE1PV9ZV4YPFXIiIaIbTbaL3RFAcrtlms0H1iuBub8NzejPFG+/RscZobVGjcc10uzHk9MW3qDxfO/22o/GXiH5Y2HZk356Gp5b3j8jFZhhWeWdi6q28Wzsu4v6MF/UZXd9XQcCFL6EvvrvK9szr9Hy+KWQQ709/uzz+yKfNAUzImyzD1hk2fWUqe7to0zf/1Mz7Wl1hIzZ6bF4nrQgxKrJgLyy531u3QNz2deeV3hjMLZt1l38rf/Gxmy1XJpYvdmIDD1oeUkutXl5ci4GNvYw79n3BZDCH9rVXpyNTO/gt4YI6sJkfFkYM/WTeMLIZxbzEeHrxgQuILDYTXqa4oR4cQOzMYXlNxymJ1t231nx9ZLHC8z//CGmdj8ZA4lu9zvdU6HTloLPhG5+zJySIvBMu5aEKEFHB8B+avtb1zMPCl5Ov2yixtz+wzj5+Q9Hc3OZeXYYIJBx62JftT7EVTHJNnOSvnq9VNam2ra+FqrWmDu2OHb8ftWUf+CxnKzLH/yXj9T4yrnnEv3+mcvsBeVG7LKrRljnOUz3EtXOPfcXv68z/KOvTvYsl+vt13Y3NKRn4EaTnYMdmjB0kOMUSDiCQ7bXKK231ZHe5IOHg5e+9b6r5iPl7+aERwO9zRCTm2y9d4vnl/8m/ezviXNzM6Zqv4rbOjLHBEfHjTfUkdZs2QwjBhp6R7nUtKfAfaMLKKtRER0cjFNYtN9p6IHnKyZq/OE0kE7f7Jwk+pTufWgrw3ZlX9ZXMjJrxwk2H7p6VNX9TWXF0yoTYl2WM7rV+BkjwOjKZ672pBVx/3OsF8T67AfAqmn7AnwbLJSSXJ9v3V/oNrM/7qwijmNUboz/bmftqVcd08Y1qGM/gOt8GFPUQIwkgy9nlU+J9fg+FWJevUhyZkJSm5wD57i3/z1+OewobY+3Fu58PpdTuN9Akh0qt449ztzdjn2DLJYvD3F+Uf2pB5S33gohr/HQsDhzdmRvsu1qizGHpil9Whg4dboHDLQt2G4/b6OsME9u3BpuTB7luUjN/DVbX6vln+vTN9sH2at6vcs67M0z5Ray7SGse5ZueoCJuGK7iLJ0opSsYrF3si9mcQZrHYONaH152jtgCHBB7tYCmSND83+Y+31SMKjbpfbJ3fWZLlsongIMom2yqyvPcuFTsfiv/Z1Y4FRZLv1KdxJZ+KBKEf3IS/mtNf73LML8JNguVZuz/lwS9SH/u9tGe+l/bCj9Nf+XnGm3+a8d5fZX7yz5mf/Sb7G/+HABVO5mf/Ylz7vDq7RUnJSjr5dv3BJbt9ak2zfuljme//HZaHrM9/m3LgUPKdByO4/Z3ATa8Grn8pyNd7C9aGF6fUf21hV1817shQx/ows+y+eoFzaQlaGPGKRraSkiqL7BsXurYscv30idR/fy8j6MhdyS6nhPO17+F249B28RaFbJ+tPAOTaJ5bm8Tb/rFCIiKKkcRkMXGWR/w4vTbn5344p/ovmxf9z8hS2GD/0trynQXzcC/K/af68ydKkXEO0i6Yk+A4hmhjr8oZ/KEnhKD15Z4P1mb8xQV5v4myLx0Tf78//+imLHSPq7NPdVcGSilOcV9RHziU6GFP32PL0SEUI9Iny65Kkxe51z+Rccmx/Gu+Evko8S7/dv7WF7Nqe3Rv2qlnMFhiJrFvlhHTB8o8iwXh6fvlhXn/eHH+b/r/GZVosxim/2yT07AwboFK0eTXV6Zj60iFJn51ydBJXhzn+D1givYvL8j7873CH+/O/fnO3J/tzPlRb84PerK/tz3721uzMNNXaJwaS5EDmrZnTsj3pDGLxYr/xbX22XnonOMBDxZ+qkzzfX9jLaLQqPuvfc0/21J3TfX4HG//BFB/4bTlvfu0zzSB8eV29+XzbRNT0dpjmdPKodhr8n1PrcBiJvyvrLPPLkg6WcY1z2FuCykpWpkf/J22bJuSfuLSKF6XbWqep3V6yro56V1z05dNS5k+zqthWkqxKak53q7LMt77a9xqeDJe+2NsYqDUDZWnXbTqWJ/viRVa7yz79GzxdsT+E7HLITXNcN7f5/vmfcnfuDe5t0V77SodKSzot29ndM5X8Yg5Wydj5hQhDo2z/7nV+vub8U+xTiIiip24ZrGFqae+vGZwlft879XM/PslTSOcCwvpfztaf9va8oOF8y+fOD7NeXrWwEhgQFM3TLP4fpWROtLruWWxbUJK8PSHQg+nLNXxUkfan+7J/fVopLAB6MajS4/e7w11RoF+qusrCo9SukfbWZ2wd6GgB+W5vgEZcHBiRfZZck3K/kN5V/9AZKJRhBh42Tfzux7NmFCnIR5i304UBqJ1Ve2qCJkUhsdKFhuJxkLXiTtgIYuhiy6unXLy6EVdOVf/5zNyVgwh5W2p8Kr9b8JEiUH+9ZXhHt74ZbH5B3b4i7OwWjjns5j+WpezeeKQ9yjmeV2fr5o1dq7g8T/7xKfGXmypnJzsOTEwIEk4cw2OY/rbGxyNxZIe/rIbsoQXl/hKsv7lQ4pJFsM8Fya8gm8ddDnkmUW+PYtzbllTePf68fdtLL5/YzF+uHVN0QVNuTMKfSoGR9w+rWUzboXbDseR/8KGBkpdPSU43mh80e25cRGeXMxwSR4HHjH8NT9N2dyoHbwh8MfPpP7zG+lIXv/wavoNG7yXrfb85i0RxIK+eyAFC2McBq8yrIqIiOInrlmsKT0d6xxcLkXpGZf/502NMZwLC+n/lrf+R/vSt6tnTtPPuAqDXXG2TNTf2oC7Hz+YLnFfVS+naMEzYLCWFmu/2JX760tEt3MsQCL7p4vzv9iQuajQ5Rh8DXykjIBLXKwsAXHscA+CmJwq3jODLQcrr9K5492cq7+f0Dclmrvmh+P2fZFXvzfgDpwKjCh0cjAQbXwWOi9EK95ZrL7gZE9VkZ3NJdhiOPp7m5ztpVgMywZr4xQPJuOwkjj5qwvzLpzl9zpOblGS7DV5eB1hZ0JCLzFOWaz+4Z3+CdlYLZzbWQyjUs7mCYPjNgpB7Meb5/33vrFy7Y4B/3lh88+3zp+ZoZ9oKSTJVpLq6/+WMd+DrWLUa9DhinIo8rLC9Iumj8v2iFgkSpZsFVn6m2Ebf4w/2GfkYMFgDS+L+bbdINnFMKBHVTpnp9+7ofjBTRMObB4Kv7xtbdGi8oATj7/N7iiZMezZMSXt1D475o1zX1HvXFoip7hFxO5/TGxK0uQ82w0bPF89kvKrN9J/964IXEH/9l7GM/v9q2rVP3z01NsUEdMqx9sxKOe5sREPCxERxU9cs1jLoCxml6RK3f/hnOr/jnMKG+KvWxYtz8p0nHGVYMfCIv2deM2O6Qc3qW2TsZWBcirSTfVRXHs8wf5sT+7aUo+r/9J8A4VJH+3iWuPQdtyjOMGMGBKr6DCcLMUmVa3xIfuMWR23pXpSFMTVgZI0u2tblfFJDOJYQrNYS9gshgQ0+HnBfR2n2/52fxyD2N9flH/tPMMzKIhhnlR/1+yTKfHLYg0P7zIm5GC1cA5nMePDLRiVwoM9UHiix+vuP+keEx8TC+cvexZOSfFhV4PlqCt0X1k/+FWDwl9TXI5rqov/efci3OSFlooMtxO/F2WTHQuKxLdP9j8IQ/i/vtpWmoGlghV1Fjv+f8l3va8kizWoDnlzXSYyl7n7NhSvmpVmuMVksJKem/7ST7IO/UfGe39jXPmMZ+1+V22ba/4K/557T32X2fH/yz72v9lH/xvTYVmH/zPr0L/jT7ghtnhmIYdpTqk0z/bkPv8/vS5mwUL6+JbAylr1o5sD+DnoN29n7FqmIc2qa6fiYQnhWJ94J+Th/m/E/qJbf3Wd77Hl2sXznEtK5Fy/ZLjEOyuwGBERRRLXLNY7TrxbXpGkfE27bELxX7Uswi9HxT3lpcmOQVdgcIjRQueyScZHsb+KO2bcMDKJjQQL002Fhu2F9rR/HjPTYeFcV2cku052hvsLs2Puq+vRM8f9ijmEF/eFcwcu0IdpMc1Q6ncbV/z+GJoOC2n9YxkZkxzSoIdKcjvEZ8dG/KUAcc1iCFO1/VfFF4XjP1wWO9bnuWWx5D+5ZFLShID9yw2Zv4nbu2r/bn/+fYuSk7WTE46YvCjLMA9iEL8stujh3YGBLPZgG7Z1VjrWh5cYjsmQr1/ji+3OJRPxYA8UGurKNP8PNoyJz4iZQxwrCZy4nkySXU4a9N5mlFORK9N8L7ZU/O6CxVg46LnmqWnaiVOA5HG6uquML0M8LEOz2HUvRJXFMt74U3X2EowoKbK0dnY6opZFPQuzMnWnhE0qNlfDWm3hWvyI6TKXTXylIH72bb85/bU/Sn/pp6mP/V7gjvf0/Q95t17nbutRZzXZTr8SPhpSp10KeOXCDGVNnfqNe5ORrcx950BK+2z1yQv9mCPDP+Ff38l4ZLf4zLVj4XhELTwyQUheGMPE7KH3jmZtV42zdbIyIUVcJqV/J0+UTcaEmvuSOixPREQRDcli95aXIrnEygXjC52yXJuS/E7NzP9oX4rfjBZMxj1WOXWS14P+Bu7mQGm7Z4vBvf6HIib8L3cOfosLTqbTMpwH12TE9VM2MfRoS0qO78RsSLCU4mTv/cti+yiB8f5m17oKrD9YyDXJ4+ztt6SO/SAWtOej3LzpqjyoDyh5HNr+ueir4N4NW1yz2J/tza3JOZmwwmcx/wtrxNu9TlaKpty/OPnv4zYp9qtL8t9clT455UQ/GWWbnK6/1oU9Mae/3uWsLURcgvhlMc+1DdhWBEg9X/YYn28/kX2CME+KuQP8dTQYBzd771uqrqtQV05xXzYf0xaBQReiRDpzXzQPD/VA2WWpJsv4Rufs/xp7b00M6cjqmnzfyUneQaU77esnZf9sSx2WGeLRxjLPydSmFCZ771ly5pUohmSxlDsPZh//X4QsS479r3/XXbJfnE+LMzQkrKjsXpQzIVPzuYLZS1R5mqOn0js1w4HziGykKYF0SdXw+zPL5ZTSdLkgXZlaaF9Y4di6yPXIHv+ffj3t3wa9F9HEnz6burHBdfNm76/fFP8E3BCTZVizvTpPP/nVfjiq3ftrMU4yMGN+qnBm9TgRwWwTUx0NxZ6rF8RjnJOI6JzkvXfp4L7f09MrkFxi5f3Zs7aPy//egjr8POr+q33Z57U1NQEDJw3c02Bh8N/3NfFxg5jwP7PKPnNwEJNmZjnRz/yneH7KJrYw9/FIS0qW90SPJVjoG/sejuXsgP72BnX1FKw5WEg06RMcHbenXvEHZ0cQC9rxbs74Wpc8qFciGS7MKJ3ZwbMurlns5ztzZw5cOVOR1dbJ2OIQ+kv9l9Q7WR6HdOFM/5/sycXN4+FfLi14b0364Ot5KuMCvkc6rKQY/eVOR1Uu4hKMThY73IOuu/fOZvfl8zFHoPXMcm2c5uqqPGHjdPcV832PtBsfxuubwcPBjKGrcyoaNzyeKMlpQ4/ac2OjuA5e/wKeWxdL+om/otAkzs0OfLmq+j/HzPc7R/TvFzQ93lieenKqK1jjde2WORP/YWcjFghpx9R8pE4sKY7/FWUDD8gAtOG2SWn4e7BSHvxCvCcQOcuCzI9/5apfiVshOyFYIV5F6/bOIsymzZ3oL8/1+DXbrhm+v9mXt3OGz6dKblXyuCSvS0r1y/npyqRc27Tx9toyR1uNumGha/8K9wN9vlev0DHDZfJexHB+9Xo61nBhh/uvX0rDPwFZ7IvbRagUjf/jy/HIgOf6Bmngm1kkCYlMhK9JaY65Bc62yVpvteeGRv/zaxJ/DV4iorOa57YmJVdHyxqsl6umI7bE0K+XNeO/YwTm5j6YPWu64cc9HSh7ZRY6dXgoRggncXtNHro1WCfKoUhzctQ3VsYgiP3ywrz/tyv3u93Z39ySZe4PtmX/qDfnJ33CsC+z8Hf78+9YGMg9fXbMVp7hfyUGjxJgvkBFR/HkV34jiGWVOlfdm3a2zIgNuOaH47pfycqtPNWnRSnjDO+Dw/8a6Lhmse91Z1dmnEw9NlntrMAWB0NqcNSNwx+DhWN4SbH27a3ZuG2cIIhVZZ3cJTx6uX7PdQ0W5xb9L3XaK05cYSPGWezRvYGSEykvZBbT392EbieSl70qR1x2BvMWoUpyKJhh1HZU6xa+2SpW9LfWq6vKJfdpIQUlp3nwe4RH/3OrbSWnXeF2UsDzRuv0/7hwrFw10aK/39mwb/q4ge8dKwl4nm+ean7JkT/bvqAm88T5Dic+MTV2eur3PbkCowH4a7CiymJpz//IWTk/KSkp23Deu6EY2Wp4Htw84cr2gsk57mAWu2quXjPBcfMm7+3bvHd2ex/e5Xv+Uv2d6wxkpT94MOUvX7A6+WXiX9/JuKrTs2WR60+ePXX5DsQ63BdlfMpAg+a9rdlRX2SvLXDUFaoryzH+gFer79EO/d2NQx5GIiKyznPzYiX7VDaJeRYba37XtgRzf4XuQe/0UCTn0knhrpttEbo3jvpCdL2wPpRqkzomuj9elzHsIPYnu3PfXpV+V0Ngd5Vv1ST3sglafYGrNlc1Nz9fXVzkai4S35zbVe7ZWuHFzS+q9l9dq2NVX29LfXdN+ne6s7+/PfsXO3NNwtpfXiA6AH71tB4mzr/GiD8PZXyxXdsze+C60whiORXOrscyrvzuWRbEgrDbq+9PTys+rd+rTEgRg8P99zdacc1i39qaNTX95K7aZUQJbHGA8dk21+bpg2PF9EznB50Zv4rb22sPb8ycMrA/eNxydfelddZfifHLYouf3R8oy8dqYUgWM77o9ty0yNlQjBkB7LOVkjO8nlubcNsEMA5tR/QbmBEbWg4FQ0+YIxtoqVCZbufddZOC17g4u/zPvpafbanbMDkHcWxysuf5lorf7Y0QJzHx90zTFKfSf5DLkrpqypCpMcwBybmnTohRZbHUh4/aJ07HrSryvfeNIIvBdSvGYWosmMVurQ9smKdh6gr5KH6uW+9Zv8D1R0+fymJfPTo0i6H1RgOFQTn/a13WX6dERGTufMti8M/Lmm8vm5w+6KvHZN3lvqgWj8bwGO9vVleUSSffQo/zfO803w97cobxDWK4yXe3Z18xV59foBYH7CmaYj850TaMwi1xc5dN8jpkrCrfb5uYbJ+R6cRMxOwcdeE4V8t4bfNU7/5q/xVz9FvqjQcWJz+1NPXpZamvrkh7uCll5qAJC1GYSVk31eKcRWhHet1XzJczvWLP+itzsmPri1lX/1DkmrPU5b9fsOz6FD3rxLMfLPucguF9XAJdnfhlsS82ZE5OPZl9hmSxwz2u7VWScSIjo7K9toebU0wC+wj9fGfOrEFvTUS00fbVRtXBi18Wa37+kuQp47BaGJzF0BfVLqpV8nUM4GCfgyXJktOnBSZkZ0wvHpAyOd+Xd3LuSZa0vmrzN27pr67z3tnie2w5fh4J732nveccVaS7900bl66deqhFC3Wy7LK8emLW3+5oQE45G/3XvuY/7q5/r33G8bU1v91z6kodJv5o2/yFecm47yjELt/TK/G4DRhJFku+86AtrwS3qp2Sef9GEamGbWxmMSIiiofzMIvB3y5Z3JGVaR/44Fjwe2oeHc7Fq5FNtP21cvKpibYd031/vjcPvc2o/MulBZ+sy9g70z8p1Y7oNLBrcS1sxKFIbrvkcciYBQu45FRNSXMrmR7B48DfTytJsytFyRhXV9snu7oqMMOF4we9F/Eelf5Hw5zvkQ5bWToebawKlTLO3vdW9jVncxALuuQb+TWb/IO/BhrB3LVpOu5ytOKaxT7rypyUcuLjHpgZ0S6Yiy0Gea5rkLN84oDoL0OVb1sQ+Nt98QpieIFgqncgE0huh2v9NOOzbuyJdfHLYkufvzQ1VBbTX+8S7+E8eQDb3eqk1XUL7+1d8uzFrS9d3vbqVQNaX7qibMNCLCPKrqCJMPkUoef6BtukNDnFjRk0+9wC9/7a4U1A66+tcywsGpwTUc8snvqPOxs/XjGztSjdYz9txAA1Kdnz1caz4MKJ5jBB9j/9P1jxbxc0PbV4iho8+ND6XVJnDIrJaM0GZ7G053+EkGVR4Na3bDnjcat5kwP3b4zZvNh9i5I31TGLERGds9CXPg+z2P8tb/12fW2+dmoWAP0l5/KywSdlizCsaqvIGujELihw/cNFUfdgf74zd2ul1+1AB/lkP28slyxhjgxD6mJ3VRsCGvrSmFKxTctyLihSO0pdG6eje+l/aiUmwvAQBelvbXA2TxS37S9vmtL3ds61X4kscw7Yfyhv8mK3rOCenSg50+e9ewnueFTimsVeXZ42TrdhtSg8d+6L5mGL4H1gmW1CyqmIIUt7Z/qG/fbaiP7igrz15R4cONiWKEUWb3+Nfhox8VnM//yagaukVu3tWPHeDas/vnXtF3fgJkOs/fz2tCnjsBhKKTC89y7FzUPCdJj4gNLJBx8vEIyMOBaO9z2zCn+NwuEe96V14oU5qC6rKvqP/stx/Pe+5r/qXXjv/Ml5g6496LIpV1cXI8hggZj73QWLP+iYcfGMwgV5KVNTfUiCl1YVfr5y1r/utTR7FVffWT+3KuPEp8acS077ZpMhWSz95Z8hZFmESTR7cQVuNa9ED2axBzdNuG5V8UXLxuPnqAzOYk8sTdlaH98s9o+vpV/Y4e5udv3Zcyev3fFexu/dJ7KYrTwD5zg8MuC+sh6T6e5L5/ufWGEMutA9ERGNhOemRWI8/GS9MvO8yGJBveMKbANdIHSZxvdfvL3/YbFIf2ejs0W8KSVYBbrtpzty0Nu0Dj3er7WkpHsGdeLRT5bEdBWmqDZP9T7WkvKtrVm/2CUuZPebSwv++ZKCX12c/48n4ea/vkT8Hn8FxEAs+eMdOd/aloVZtpeXp93ZELhyjr5zhm/5xP+fvfMAj6O62vDO9t7U6656712yeu9dsixblpsk994b7r1h3DHgggu2AdtUG1OMSSAkBEhISEIaJSRACJCEGv7n/0azWq1WxSor2YbzPe9jr6bcuXN3ZvZ898zcUYzykNrLBciCwTwhEgYSAUJy9v016EqHScJ2OWwlvoNCFOEirQ6TTYqT1oUzKtONUthE83GXFb80rnidHQHjh+HIxh5xRqYPe2cSnxGlGK2eRrkpw+rFznT3YjfaEHwKI1wwhRMOA/QnYOFh4i+zPCZFqnDsYVus0EpxHroBthKH5sHRokhX2CUwMl4MfkdSEcx1vIQ25WDJ3si7ZzqWYcXw2MdRexlKUff0RNPblhmGj6QVTgxOQj7csXJdLtLuWKw/qI9UWw6NCPlqFfAdVvx5SmaFr7NChDOeB1/2t7ZsTLQVsHX/npn/k4aktnBPd2WXypgVoFMcyQv/aGrOt30OsjGsYK/bIkyDhQp97LSPjEMDcqj3V/AdO58EHJAXczj8sjgkAWvBRu0a53d3s//WRv9tjf7r6llf1k9g4raP9Z1T6OHnIsd1m/Vixfa54ZJdLep7ppk4NEvz0DLtxdW6Zzba/faIw8dnnT497/TZBad/P8KOwjGIoTz+fMxxfI5sdrnigwdNXuy/F50fWqbDvgjDXbhuAfmsFPY9Yh1iZCJhqJO0MhQnCM5E3dVJbE/m9VYaxIMgCGKgKBanM/rOntKnUhJhUn4k/KM4313Wue+If6RjIvGbgmbpFy+0Ktfnmf2FSsJ/vMH58w5bdFPgoWCaxkco4YywOif0asOCwTTtK7R/b3bnjY5/n2v4w3SPZ8e5bM5qH80jmB3NAzSGKvcW2D0z1uWdGR7/mGfoz9Y/nGd4expb1KN1TsfLHXbk2s1N0DSFKcv95ZkGWYYnOwaIv50I+OlF3joRondHhQAhehchfycWIKOBj4OQXC9IGKvOnq0vWmFfvc1xwgmX6ZfdZzzuPvMJE7Oe8ph91WPus54LbxgW/9Sw5BXj0ldZlt3eQ3xkztBJlJ1tgmND3pqA44Q9WvrHyHkxiVCxIgtGTBTjhj85wZjne8sQ/mHh4eD9OZ7LRmk1ko4mghGLcdddHowRA5rjdcIAR9glMEJeDJ1Xq7P5zirUXapX1T25AQt3p/7qJreUYCwDMWqpbHK89lyj9tJ43ZVJumtTLINV9b3VnBFWutolLq53ivaVaBRMhyNDgkw+I6k/9yvqrk6WVIdhFbM0EhGyP/AdPXKuNDrGSfNEVRw+24ovZxe8ODqpPsBFhquYlTAFWCjWWXOiKPJvrbZ0gv3nmzmFuzKDkYFETdAnpTk5Gm3Iobq7zNJxDMiLOT/yrjSlFEWir2HTaJ9dTf6j07zX1PltaWQTZPBZfbO90XdRmSEnVOeml4jbOysqAhQ3ml2XpmjV5lOmJ6lkTJy/qChOumas6vgC7bObWYP21+OOyHYhvQVjdVPevtehNlW6vEH58UOm7Bs83YGZbH5QlOipPT8WLSOfmYwML45nXDpw5mKWpfguKvEoo2xqompbMZbXPTMZqxAEQRD9wcqL3chIhUn58bA11BQycRL42av2liFZgJa5KdoLY81vExPxmQE9JvbRfMOVRuciPzkyU1idE35wc71lJysczcHw3+Z6vt7iBou3Ok2XYZB2BrFdhVRXrpdsQ6buyTHOsGxweVh36Hy60PDX2Z5weciveWpMMTwnhKOSHD9xtq8o3gO9o8IAB4GHlu+gZDRSBJBWcVd/JBAyMg1faSfg0HsInQPFXgnS6BpV8gRNxgxd3kI9KF5ph/QTvNuUh9zaHnab+qjb9MfcYdng11beBsm1hS8ZfFJk7SGeSaJoN82xOhwt/WTkvJhYIB0XLYrtNGKy9sE/+38MDxT0Fewv7PImcWGYs/YcG+YNDs39tUIvPewSsK0XKz21xDHSB8WCLl7sxTbNA7XCYNP7pxIX1WHh7hQdnYu5nRLyEamKEjykY6OQXFBuLlAfreasGWJXeAEsElA9qvbx9Q3XtiQtrrcL9uR3jNOOs0k+LUn3eM9pNTPIXFg6CDGfvzrJDykq+I7e+HymLQdOfK8l62h+mIOsY2QYCFZHKxP42AkjXcR5/uJcP5wLuMDy9XKuD0cmFIwNcvvdxAysPvKcLYkyj2eivCsX3yyaEah2lvA63gcNDciLuT7/jaJ2FiNmE4I1CY7teTG/pVX+tRmBa0YHwW31xp7x7E2JJdH28vYrPErgq9mLgFbKj3eV+OhEuKAKXIyigBgW/2iRT5jIK1jo4SdwNvB1ToxchYXNEgt5RidBWSKsmfKJdfpX77Z/94Qp29Ubr+61z4+R7J+hwWeOLx52bitWIKsrzvQx38OpPTNGsThDWh8hSjYKgxxhzdhrvlqKThwsaRLDCAw65bo8LE8QBEH0h9vEi31TUfL34vx38rP/kMfyYXH+f8qLv6ssxaxh5ZOSAh/L8e2F7OBy/emI1l9vU8xPxRqcwh3FcEz9NEGfLTJi4Xg3CX5hzQp2EC9J0XK3OH66wPCrNvez1Y7LUrR53jKZReKsbyHSbo5QIdv1i8k2ficU+mZRvlkCT61ySyEXwGgfbdKeakAMo1yZjVBT1pIgrQ3DLziMqsBHz9jJ0apYxYZS6AUOPiLXUIlHtMQnWRZVpUpr1ZbeZV9/t1PjQdapwaPNe9Zz2c9vQRJt7GFnqbpzf7nUGNIWaKj+MGJeDLET6ob/OaEfYEyo8jfth99w8Ml8Aw7LoI6RQyAEbJqO51AGxzB6sXPLHaN9USwwebEbbbrHm1U7iqV14eaBejReTvVXNmF5K8Im5GFuj2JzCrApHhpJWbBsYqww1Bl/yvSqnN1TuefORj+zpeDwHM/MCKmu4045sUA2Ma7vRIOkJAgLmhXvrP3thHQ4jpHh7QnpreGeCrOFYRg0kSjFiKuB5mgNLCdqyPJ8q+Z4vXzOKFGsOyM3HQmlPk7P1yVxD7WNJM/VJUY5mm7OhyNmb65DDeHFthVhCidGIHI68zuYrP6jv+uUwIm9+1GnEC0sNcBnbWsKnFYZOb8mDJ97ZFeT36wCj3BPZft9ozz4LEXNLNXEVQInD/zJSWDnoltz2un0b4Hjybcc7n3F4eCL9juf0q89q52/X1E5Fct0Ckkr0C6ZmIn2FU0rkZ9eon1tn/3nD5vSXlY8s1mfHSU+uUiLzxyfXXBKDBTjcJWOsX4LIcv1Vu1Djer9Few1f0aytCFSUhAgSjIgyS7wtROGOClX57CLEQRBEP3gFnqx/5YXv5qZdiY+ZntYyLIAv0lGzxo310pXFzDJaJjv57M6KOCeiLCHE+PeyM74srwYqwwHB6LCseNmIRJmB1S8WWpMe3k8egWxPCQRMstHaT+Y06+EwueLjK9MdCvzl2NFTmIBk+YpfaTO6ZMF7E2GiIf35NtVBSqclQLLDEv/5aIUFPnK7y2xR1oNW7QJMImh5uHQIQFfWh2q7f3uMvhZdKKqdpUolmby3dRYg5PGRWhnFKkcBEynX7GZlPYCnbsQHs03VRZZoUxt0ZasZu+BbDrq3HrebfYVj4U3PGGXhpvEJvbeHrOE4c7qo/01HSPnxSzkqBDMilP/us3d/OChbUHnw8lKR/RXYFucsI/KNbmI6LDLg2b4vFj52eVOURZe7Hqr+t5qaX04uiB47QEzJ4lGUf/0RixvRfSMMudYf7fEIIcwL52PCxZDOVjeWgiY27sp/CuSqx5ZjRU5YMrKTi8NG58rtzcdSIxCLJsSr3++BXvdHfUDdVgAi3FCvmlLauDnI/W+sF82pY4NdpO27wjEyERwYYpF6YjVub4aa55vwekgrQo1dwVEO2pOFEb2ncWzIV/NLni9KXVtir+hYxiTTi/2YhsSOpjCCckpp4fegcPqPy6PfywvncxI2JL9XeQLSz3htu4ez2a+8KE72xt9J2e6ejlIubvAJUmF9ruedn3ua5cn/6lbeUxZP1dRMxPoltzr+sK3KL9H7A+8iHXNgsFHj4E421cY6Mg1Mn5H7FT8/FjJhmbVU+v1H521dmSnlmiTgkSPr9XhM8eHp53s1Xy+TsY+VYqWuSnPt2gvjNU8OFq1p1S1qxQdF+xEgiAIoh+MvBf7uqLkF1npu8JDW7wMKXZ6g1wm7TFQwU8hw6iFQh+FIsPBfqaP16GoCOTOUIJt+ag4P1JrinlYCfiy5pjOvtxekM9MxrKcop0lVxpdEHP2h/fneE6PVZvHLlCJ+VNj1NfHu2IW0mFPNDjXBiucFALMshLCOa1OHxYRXVZZN2Xq7Kmz5teNac4vKvfxC5DLFVjASnBkkyJV8H0o2SacKHcwVxviu6phtRC9oDX6QPvwOKbjrVWwYNlz9GMPOdftdixdY5+/2C61VZswVh1eqgzKUXglSN0jJQ6+Ipg1oHYSSC2evRqE+AKeTMuH+3MOFBtipf4Z8pACBYxS6Vr7iQ+6Ln7ZAN80HCAlp/fotDxIAbCjlPdvEIaR92IeauFd6bp3ZrCDwwwTMGJBFhkxvqNSsTyrnw3SB8PnxaofvcslLgDFAsXCdMWSDPapLrHprOSLBPZBngFVo5JXNmLh7tQ+vr7o6LziBxbkH5iVvbMtZfXYmBnlgbVpHmlhGqMTSrCU0lmfsXkS0mFY0ZLKC6tCx+dKtabsGNyWcmM+9ro7SLFhAbNgba7XJ/1veEZHtOKVxpRqf2d5R0aMUUtlYyIRkJusTe9oHxmHBBnSZ1gLLsRXq9ifHfrVnJu8qXmI/GdW/vmy6LYIzwwPOxeFxNzVBedouo4936pYlokpnPh6Z6dzf4TZGRCOD74lTatgZEp2v5xltYmOG+t9YLusgEFbU+NdGm3vrBWzFRFJFJXTHE/+GiWYePF712v/dbn6BcBndkov2G25iNqaJW2IYLvCLoxVH6hEjwf6EIQBDtyNl0oZE+EtmlIov3SX7t+PsJ4LfHzWaeUYZV6M5LV77PEnx9WN7FUInQ9qGtCeIAhimJHPSmaUYlx1OQ2rF/umouTF9JRWL0OMVmsvFluOYXhTSfh8F6k03d5ub0TYJyUFKM1W/K+y9N7oSGzCLLgMzfE6/Q22fXpD4M+O9wvBnsyO18BhIea8KV8sNr4w3sVezv4sQogGFiRqfjeNzUcgd7Azzy4Y7WLR8c5JKpOnpGVNmTZn3ZY9ew4+cOzMpfOPPfvwE88/eOHJ+x58eMfeI0tXbSipqHFx7Xz2h5NcxDRHqK6O7a9P7Jt/zDNUBLCxk0l8RloTdtMnWWQT47AsJ6Srpl1yh1vhWPFL4+KfGhZc95xz1WPmkx5TL7q1XnCbfNp10oMszcdcxt3rPHqvU/kGh7yF+pw5LOlt2phatV+6HJYNJkthJ7B8q1d/JBAxKkeBU4DYL02eMknTsM9pOEZxRIWxLbNEUa6a0w1ojZsyrF7s4VonX12nJ4KQe92YqR++Z8TAE2OcvS0MICMVsX0dHU+gDAXN0RqBmwZ2CQyfFxN46fkOJkPEFwrsQwyxsysKDs2xzGTdlPorm6oevav0wSX5+2emrBobVJ9hF2B61NSnKL7i3Aos053KCyt9iuMFEtNXJgxyZJNN7ftuCRwQ5po1M8r40Yi8u/k3zekNga5y86NtUpESFrvfQ2Lqrk1BzhEeE+vCtgTbKc+XxaBYm/Pl7ILn6xJXJfnlGe29NXIhNmYh+EGYeu5qr3uuRbEgDRM5Dc6LAafTb8vyxqAE/MSppIIgN0V5jP28Io9No31gwbaP9VtcZqiMc0DiDI6QXUyuVjWvcH70/f6/V9oS7ezdKMQk9CVOjrO8r0P3xAQkIuExxaleyFpiEbGI8XcTjsmUIUcG2/XmAfvCOMmSeuWn5zvzZbMr2P49YbAjXDO+U/ZexOlJ7B0j1ztLJgiCIGyCfFoid33mNExe7LvKUuTCkAhDkkva/uD2oKUXi5Pt9I8lJ6BYW/H7vOwApZJpFzaBX1D2qbHner4jCKi2F3M3F0GeGuF9pQ4wUwg7b8qnCw0wR1iLU46X7JWJrlj37/MMjWFKvcxUplnuBmPTxNYtuw7Ac5159Ar8V4/Amh1/6PKOe+6d1DbLLyBIIDSFvtgZhZgJdhDvybPDJlCBoQAjeaGmS6++wKhj+8Db26RHdM9M5juZ9lei4GfO0MF/waoMgDe9lv+SHUFx6c9YkMxa8KJh7jXPmU+6z3jMffpl96mPuo9/wKVyk0PhUrvY0SqXaKUYnb/c99insIhYxvoyn2RZ2Tr7Bddtefsiaujg03laMWIBws7+DKg4rF7s6THOgfYigYAN/yCdlL8xS2/DG1m783iDs6X7Y6RCaVWo9pEmLvQdIupDVXw9e/sfGD4vxh4o7VI466OnlZaeWNzb8IndqXvOOtsFRj+zufrSmpJjC2NnVXimh6dvnNA9KWam7NRSpygfhrMPIoGkLEj3XJd8ouZYHeaY5SyXHC+M+G74k2Lvt2bD9HVmxGQi5fr8Pq6ZPfNci2pTIdZFCQI+U+zt+Ob4NBRuE76ZU/h606i7kvzS3PUeKqlKbLoqdkokEEa6KjcVmKuN65V8WhLmcBq0FwPOlz9U1s1mpKyjwREkE+NQFTlpxK46CRJhdkqRHJ1u3LfqE65b/oDLE58MzogB1fgVKIcTo5TI56ZiX6x5vkV7cbxqU4Eozp3L8IqEPA8HQXWKdGmdMsBdeHxh58Nifz7mqFWwI+VKK0JwvKHDlq+ToWRczLG6cksR3BlbJkEQBGELRsCL/ae8+GBUhEGOLE37b09XBQQEnDx58re//e2HH3749ttv37hx4/Lly8eOHZs9e3ZaWppe3xmXmoVS3GWyTSFBn5UWovyh8++yog0hgSjZLEYjRX8g2qdHRBneWIZTqb/8zzP7e3/X61PcuAe0IbWEf6DI/vN2EzcxUtXh7UxydnGdvWD5sTMXH7r0zIXHn4PhuilYDAsjWTaxZYZW19lu2J6DXLAj1+6jgb+E2oo/TPcItXjqB93ZisUZ+JVHm/SIcmMBu/l2uQRLJp50hU+xOSvf9FrxunHRa75FS3z9gw1uLi56rVYuk5lNR99i+DyxnDHESut2O6I0m7D8NWPhMjsUbpakJEjXjzFhhtWLXW10Ceq4VxA5WWTE/jlsL3QGyIj56CzGnRELJMWB2svjbWLEAOvFdHLYJTCsXowR8J2ifJHSQnoLc20FSqt9YsPoq5vxuVeubc29e5pEbcpHI0mnuY992ZMZOCBMNyvSUX2tNgFOZFj5anbBg0WR5nEIIcXslP50NfTAi22y8TEoAYKzW5vib5MHx/7Wlj0pzAP+SyLAt4iyuwiZREmuv2pbMZuftUj0sF5saiIW4KS2d1ZXz9Au2K+/60FL7DY94vTgW269P8DF4Xrtv/Z3X5NEZfB6EV+lU1S135d4/TssP2hkBePY0nCsigUCX/u+xs14sQ37yDqyKFdcvbEWekYlIibcS/jkOjZHxrFtMtuBBv+l2lqkf6EFGbHOIAGng1TId1QictA9eZObIgiCIIj+gCtq52XW1l7s+8rSP+Rnp9ubbufjJBQKHR0dV69e/d577yUlJQUFBV25cuX/etEnn3xy5MiRzMxMrVbL/tZYSCkULg/w/7S08P/atzVEkLYLUbM/QGZJG3oaP+ql9gegOu7qRGZhfYYOYWd/QF6pNpjtJuVU7Cf/5RQ3TIRLshwpEQ4iJi5x9/77Ya8GzZHj59w8DAJBZ1ewVsrfV2j/8dDs2CfzDbvy7Np/w00SZ/ronu7l2bobU0XpXliGFcPzz5AvfGl4HtF602vmM74hhX46rVYq6YwPByqRlIkfo57/gif7+mkUOzRaL7h1edeYTASfxTZLn2CZ4fNib09zT3Rj20fEZ40YpgwT6GGAEQvq8H2sBHxRkoHNiLXvpk0YGS8mkIgiJhfWPr4e028JsGx2gR5oQojvrlHtq8C+m5HPSMZ0s5JcdT9pSIYZGVZ+PzEjza3jKGV4kvLgXi8C/UB3ZZI43RslQUa1/Mmq+P+1b2XQ/G9u0Y3RSar27E+ncNkSCfguanlborb9hVndgU9hn2JzVuIKD88hEqH7kMGqPUo9ee1N7RhwffZLhyMvq5pXSuJykWhDpoxv5yJNLtHM3eN8/k9YwBLnh/7gcOinTmf/4HrtP91xfPAtxxO/cth3Xb/+nHbRQc3s3eoJq+VFEwRuptaDBO4aZPqwLzcFp48wzgPJL7ZlsDtypjFTdmWj/o0D9iFG9rXjolh3LMahOVKN3iRGK0MbcstDfNf2xnyo8aaPBxIEQRB9MHxe7IuyoseTE1ykUhTLCT9t3t7eS5cufffdd7///vvvvvvu9OnTnp6eBw8ehO3qW8iX1dTUqFRd7JJaKFzs7/t+Yd7Q7RhSbKuC/E2/Me3ie2h7HF5ANjGW/T1qV5ij+MX2YTf6w++nezgrTSvqZfyduXafLTL+bJKb5U1cKrWmpKL28PFz8FPdeeji1aMnL9x74vzpR55GFgxT+uDC4882jJsoV3S6P52Mf77GqZ8D7/fGq5Pdwp1MVhRipCL2t7i9ZazQnmtEzyqWgRR6QeFyOzgUm4OMWNtFo2+ag1DUaTwtxZcI+ej5RchhIfh6SbvQM4DPmGKWe6Sk6T7nAd9L2Q14uujqLoerYnHHEAG9M6xeDKxO0yFXtSlrGI3YpwsMl0c7x7iwps8kGLFEAzoxsIM2BMHkMHmxmktrXeIDUSyIbCnClFtC/dXN2Cmvglg+d2zzGWG4s9XpBi/GyDvPx3yj/a9td5tfj3wzpxBJMWyLEwJyzQNdUnUD5sZU9ZEq9r1j7Zod7fWPIT/v9sdJGSmuOpQGMci3eekl2X7KDfk3ebvEcy1I9KOrAmv1JvSVocMHFw2+3sn16hcwUDZEll2PTQxe7QZKc6Ke3Zf+8GKbaleJaJSRb6/grpB2Kn6kt0gowIVdyN5WjWUs0D3WjEyZON+f76Iyhw18Z5V8UpzmWN0gE6MEQRA/eqy82M+z0mFMhs4nJQWbQoK0os6S1Wp1cXHx1atXv/76a3grTkiNLViw4LnnnsPnm+qrr75CHk0mkyks/AV+FBf4+9jEjj2aGO/UNauC3x00kSVwZ8IoV/zkYa5IwIwJVSL47Cebszpj7DRP6c8nu702xa3Un31uAFMguUJZVdd48tzjcFI9snPvkdSUtPiYuHkLV5x6+ElM6ZsHLzw5ZvxkOzsHFM4J232rbUjvkPrTDI9JkV0txqJ0tEx3FPPSEAVhAfScuwRLpl/uHLXDVix52TD2sLNPklzQkVhkRAKFk87Jx8PZ6C6Vs07QIzEkojA1MCfeGOTnZHSX6VTmZ/3kMpm9Xq/VaMRdO8A9o6XjjgzVjiG5VrfbCbk2FMgJnf83DVeG24u9N9vzhSYXdALg83DwyQLDpXqnRHeL8whGDBkxWxsxoD5YydfIYJeAbb0YcB8VimJB0rLR+HPkqXlsXcaWyU5RPnxExjiwJQKBQdd9KEV4Mcw1awS82L9m5I0JdMW2WAn4svEx/bn5tm90T0yQ1obBbKLIQL3y1caUIabG3m/NrgtwQWmQeJRRc7LecjiLPoCREcW4Yb+wYo9Cj6JaqUQfDj47X/gLDJQNkcRkodhBi1FLZVPikd3DjvQf/Kip7y6TlAYJjDp2KBVcCttfTIBZPXODfemztDFKGOjAt5Nzb3lgNFLN0Wp2LkEQBDFArLzYXwty4UqGCIzY+uBAjYUR02q1ra2tb7/9NizVoHX+/HmpVFpdXT179mxX145goN2OzfPz+eeQB1f8c0FOnXtnsZC0NhxNZInmvhq+i+ltWchtHSyyR/zZT+JcTQGqTMi0xajfn+15V7pOJ+VjCoSoLz07rw8jBtZv2R0RFuFjMOblFBw9cR5TbsrJ8483T5mu0Zq6iKFFyVpUZtB8vsh4rNxBJTZVGxIleqJlrNA914Jfcy64glGKrlHBntiWRT8xlN5lb+/VeZhp3B0icpKrZk2YtW3VpEWzjD7emFhRX7dzz907D+xbe2j3zHXLiifWB6REwa9x4ZZQIHC0s3dxdFIplejxxhROriGS5gdcVnUbYnHl615LX/aad9Vr7hWvmRdNzLrM/rnwea+F100setFr2c+9Wh5ycws3fekQOp9v0i2PA2yYvdiw8s8Fhov1Tskenalw2F5xho9tb000o95XwSDj2e6YfmBerOrh1TEzy9Uenb0o8LPKtbnYayusvFiEg2pHetDZkmgrThdHnSuN/v3EjO/mDvWtyq+PS9W2v7Ea4jspkVhBNYYKEjQ7inGCoEyxgH9/fvhXs4c0vj0M4+okP5QGCUOcWC+GrfSH51tVu0vZl3P52ws8tAJ3DYubhrGTm+7Qs5DTybdgoGyIwMULxQ5GDA+5KmlNmPbCWHYvBg7ryPZXwMqJ07zYFxPcNNf5QiscGTrixHl+Aj97ZMdUO2xxJBAEQfz4sLkX+6qi5EBUuPnWRBglZMTmzJnzzjvvwE8NWn//+9+RFDMYDK+//vpnn322ZcsWd3d3lM8JW1ke6P91RQkqMGj+V1m6IywEPZ4okJPAS2c1MIViXir6HjEL8tQI32jpb47pD9M9tB22y0srfKja8Upjl/u4fPwC9hx8AO6JA6bswH2njp+9ZHkv4sH7TjVPaKmtbVi6Yu2pCzfPi3Hce/JCUWmlRGKqtoNc8NMJ/b2vskdeGO8S3+ErIXSlwnmhcSzRnByNXlbMhaQqfsVGBxgZG7L0VSPK1HuaDl2hVOwfFz52Vsv6fTv37jsA5i9c5O3tg1m1Yxp27tmLKRy79+9fvmNj1aSxHr5eXMaBz+fb6XSerm52ep1YaioQ8kmWLbzR+YDb0p95TX7Aq3KFsWimMbPRmNFgTC41kVLO/pk70Zg3uYMpxvqNXvOe80wYa3LunBDtoHH64M71Ysi1napy7JIRE/Il+f69PZszdNR7y+CVOH5IXqz2ifXx86pl9h1HjkggzvRRH6rCLnfHyosJ+YxKLNRKRFaoxUI7qWjDqIDPhvwO6DVJ/tgQJ3GWj/Zcl3smBw2uGKI402NxzSHun0zLxbYGzbdzC8+URIna+4LgodSHKrGJ/qO9NF69t1y5qVC5sYBlQ75iaaZscjzcGQo0y7ZezPXqF4y845YDAZ/vqhZGuvaIKM5dlGrkwLGBbwFZKuWaXHZgnPb6DwXtxSbdtSn40E+Q01TtKcPWdV1/KwmCIIh+YnMvdjk5IUytNrkOHk8lky5cuPC9996DnxqKPvjggxkzZpw8eRKfoU8++WTr1q0eHqbfbgge6kx8LCowFK6lJkdqOt/7zEiE7G3w7Q3F8kKLONcPv5KYhR/5bKPsXwv7OxTG0VIHecd9dEiQPdfkMj5CyYUKkFKlWrxyPXwTx9mLV+bMX1qQX9QwpunoyQuYwnH+8rVjpy/ef+qRc5efwZ/d2X/vyTUbtt974rylgwObdu4PCArBhjgN6NbK7vxppsfkqI6YoV2aI9Z3pyiWZ7K3r7RLaS+Y9ZQH7IytWPmG15Qzru4dKSeZoya7omjRhtWwWmbMXqxp4oTdd9+DKZbs2rO3qr5O2TFaCzJiep3O2+hhDNKrnUxmHOm8tDYtNscx9axXYpHRz9uIvGSPBAQaA0P8AiPCQuLDA4L9YzKM857xgmGUadgDhpN0TCQapw/uXC92ssIxyHKwDqFAUhSInnO9jUZN7M7IeLHoGWX4cySpeWxdZEsRuhfQiqyEfNUG61sTzSAGxiL91Kokv//OGlK+CcQ4ma6QjEqimJ9mq3EbdE9NxNmBYqEQO+W7LVnY1lB4pibBQdbehgK+cl3e0OuJ3wJhqDPKM8u2Xszp5K8ZmQLFQujgktaGq++r6RHURHOmgUN7vpHNhZEPIgiCuGOxrRf7fV52rZsr994UO7EY/02ePPnDDz+Eexqivvvuu3fffdfyWTPYsdWrV1sOeh+sVv0uLxvVGDSflBR0uU1RLFCuzUMrcWgfHicMN/0WC/m8BUkahKD9ZFqsmnsuTCpk3798oMheb/E2sZLK2jOPPg3TxPHA6UcrKmrY8N7Hr6VtJqb0h6Mnzo9pHB8XE1eQV3TP4eOYYubMo1fqGsfL5ewPPSwhMnRXGwf/AujPFho3ZOrMRhKST4lH+1girQrlHgaHvJNkK15n7YytWPKyIW60Gl4JhctcdcUT6zfu3H53u8kyM3fefIPByOPxJk2fuueefZhiyfIVq6Kio0WiziMfn12dnGKzPMPztUjkYQoEGzXtoukxtwmHvcJijb7BkWHVdWFjW8Mmzo6ePjdi9uqoBesjl+yOXnNP5Lp7I9Ydj9jwYNSWU4E55ZFJxlmPeTUfc3ENNnlGSOBvj8bpgzvUix2vcEC2FxXmxEhF0uow7dkx+puNVTIURsaLhU8swJ8jyehnthQ/sMCQE8XHVaZdongP3bWe727VPd7MdIyQ07fsZeJjBREwKUPhi5l50o5aCXztkRBBHWzDjTbF4nRGyh5FEgH/lTEp2NxQ+MXYUQkuWpQGScdG664OfqRHDs3JenYoeAvZ1ovZ73uBkZr6r/hamXz2KGyUIAiC+MFjQy/2VUXJ/shwnZgtTS4QSPh8FxeXf/zjH/BNwyS4vObmZknHgBsihpnv54OaDJr/qypb4OcrNQ+sJ+TLJsailThUWwoF7qY+YYmQGVCcXOQnb7di7FNmy0dp8306wye1RnvgvtNwTGbOPPJ047gJfl7esGMzZy/ElP6wecc9o5JHYRVfoxc+YIol2/ce8fUPxOZgoeCVJ0aqUKtBc6bK0VvLftGcxFm+aB8zuseaRYmemM5p1CQNvIwNaTzgJFGYviO5RjV2woRdd3fehcgxY+ZsV1c3LDB54aw9+/djCgdyZK1TpyFlBvOFuW5ublotG7Dhy1HI5b7+7nnT3Y1xUkzhFJAhxxYB58WC6qdH7n0q6t6Xoo7+NPr+l6MfeDX6+M+jT/wy+sHXo06+GXXyVxyBJU0RicbpF7xmP+0RnMdaYJOE/L6frL8Tvdi2HL2big2hOSGchhNHxwWia+zR8PFD9WJg9DObc+6e5hBi5HES8uXzUrHLPaK+uwy2CEv1LW+N/OHyGJiUofDThmQUxQnnuOZUAypgK1Q7SgSe7MkI7c0KGeKjbb+fmFHp64SiIHGKUTvk1xNrzowRJRlQmlm29WK6NacZsenKw7eXK5ZkYKMEQRDEDx4berFf5WSm2duhEMhJIoEz4vP58+fP/9vf/gbfNEx64403oqOjsUVOvkrFr3MyUZlBszYoUG1+ZIzPiDO80Uoc8lkpjMb0W4ns0vtzPBGI9od/zDOEdbwi2VUl2Jlr56gw5YygBUvvOv/YNdglS+4/9cj8RStWrd1y+pGn8Gd/2LP/vuysXHgxEB0ZjSmWnH/s2aq6MVKZyQMii/H3ef29wbI7L090zTSamgJidHK0jxn1gUqhf0dwyPDG7HOGl7Eh4cVKFMyJYRixWJyenrFtu+lJMY4ZM2dxA7xMXjzb7MV27dk7YeJkrVaHtTArNi5+7fqNU6dNx2dIIBA42NkVtBlz59krHUxfkFTNbzzohI1yXix4/KLIe1+G2wqZtd0/tdA3MNQ3OMI/oyRs8YGo+36O6RyBNW3hccbWB43Lfm5MmaThUnic1LtK0US9cWd5sY/mGxYmaczjz7ASCyQlQexzK8N2a6KZH7AXA7BjcXMrpXrTbbR8O0WvmZ0X23RPT0LWRrW1yBLFwnSsaBaSRC+OToJJGQrP1SaiKE64NrKOGxWwEZoHakUxpqeAJ4W6fzs0L/ZBa/aUMNNN7KJwF+3FoT5LpX2kSVIYgNLMsq0X087fz4gkKBbi2ysUS8mLEQRB/Ciw8mJ/yc+BHxkE31SUHImOQAkQ4k6VSDRvzpzi4mKpVBocHPzUU0/BNw2Tli5dqlSagnPk4+b5+nxfyVZpcCC1ByOJolgxjDDGDa3EcmOqtDac1/6wGJToJkEs2k/+OMMj0M7UyPZygeXDVpHRcYePPQSvZBPWbtpZP3pcS9usY6cfxZ9WLFh2l97OZJHsZILzNU6o2+B4e6p7RYDpdhpWDINAhW2ldhBFIJbAZAimZ9ol021+NmHlG17cO5SRD41OjItMiRcrZDjmwiMil61Ydfc9JtvV3Yvt3H332KZmcfuXK5PJCgqLNm/djukgICUaEyGZVBo+ynXKcYNfmpxhN8I+NRZVpVr1ptf4fV4hESYvFrp4v4+PX9iKoyGztgbk1/kGhPgGhYXO3xN17JcwYiBo7Hx4sZaT7Kj4pWvslfYmZwfJmqLRRL1xB3kx9DC0xailQpzuHRILxLl+uicmYEdGgB+2FwN1T20w5kQx3DWH4cmnJWGvO3mxTX+9rY/ko/pQFdYzK9FF+1LDUL3Y83VJKIqTzb2Y9nwjykTJUI7B4Zs5Q/JiH03NnRPthaIgRioSp3pJ8vxk42PkM5IVK7ORg1MfrmKPVTRj+9ZvivbRJklRIEozy+nEr+GhbIV23j3kxQiCIH6EWHmxQb/r+e/F+eM82S5NBqkf+C9v75dffvn7778/depUUVHR/v37YZqGSW+//TbsHpfpgMI16pcz01ClwXF/TKS7TIpyOAkCHNBKAD/E4jQvTOFkNfzFF4uM/1po+HSh4aN5BsSoH8zxRNbs3Vmef5nlASP2RIOzQWPKtSnETErHoN9IxLTNmH/20SswSv3h7MWrx85cvO/Bh4+dvojPmDIgjp295OXti+1CyOtNj1X/YrLb4MAe5XiZUmysBHztpc5uZ1lbovn9swq9AH7EhjTcY7rvyOjltWTZcqTDqsaPcfRw5YsEGq129tx523bsgr2aOWuOm1v7PYrtXgyL1daNhhFDrtbJyWnsuKadSJK1GzGwZMMaLgGBb8TZ2b5pr7F6m6NMy8cUyMFHPOeqx9g9XoHBJi8WkF0ZVD896sSbkQeuh288F7rgbqTGAvLrI+6+CiMGLL1Y40FnB19Ta0BW93NacQd5sQfKHTy5o5rP4B9GKhTnjZwRA8PqxTxSw1AsuIVeDKRvmsi+f6FdAoOOHbD0xlTdtSmaM2OUa3Pl81JVd5fpe3lpnXJHMdYyyyZe7C9TslAUJ1GSQXu6ARuyFbork6SVISgZSnDW2tCL9SZhgINqa6G+fwNf6J6aKGuMxFpmORx4ER7KVqialjNC028xeTGCIIgfD7byYr/Ly/KSs4kSMZ8vZJjm5uaPP/4YRmlktGLFCu7xHwjR9jRvr6/KBzm+vbUXM2jRSkB9b7V54A5oaoz62XEuVxtdnhrjfKneGTmmB8oc7i1x2Jyl35CpmxOvmRmnbo5QjQlRlvjJYb7gfbAWhLjVnEpw9zBs3rkfLummXHj8uaMnLyxcurq0tCI9LaOosHT+opWH7j+DWQMiLjEFZgSbtq0EnqZWYnmhVVodiomc3EIl8CM2JKqaNU3Yi9i4ONgpOCkwfemCkJRYsV4pFouLikrWrFs/d/5CHx9fLAkvdteGDTm5efgMq2UwGidOmry768iK23fvSS7PxQKQUqEoWegx54rBzijCn5DaWThmn1OnFzv0ol9UYujyeyPv+1lQdWtgaVP45ocx3X9UQcSOx2DEAOvFYo2TH2C92LSLXR5AExh1fQzpdgd5sRWpWhzMOKBZ3y3kS4oD4RGwCyPGsHoxr7wYvkiIkm+tF6t7aqNzjB/DNjT7Jl/lujz1kSr59CSBnz173Ubja2W9vSgBC2Mts2zixT6fmSfl8nQwMmHOSC1hQ7YCZkdSFoSSoZHxYpDATa05XgeHiwr0je7ZKfLWBKxilt2OJ+ChbEUXL+aoVK7MxkYJgiCIHzw28WL/V1X2QloKVocEDONgZ/f4449/9913cEkjoz/+8Y86nan3GMp2dPhNbhYqNgh682KqrUX4jCmc3NVCN5XQTsZXWrz1uLtgGYRCeFMGn7srNSP70ANnYZH6BkZs76FjdfWNwQGBvl5eAb5+ft4+PgZjcVHppu17LQdgvCm1DU1isek2GNRKLpc7ODgCmUyO6fb29g4ODkKhSKFQqtVqpUoFhyuRSFQqtUKhwCoKpVKr1WIKPpuFhIh8TgqaiAMJMnGuH6Zz8u8Y+8JWOHiLUCzqU1VdAxtlZsu2HfmT6lx9DFK1IiY2rqS0zL39lQcl9dVxCfHYWRixoKDgGbNmY2Er9uzb37JsnkjBfu9ikSilwXnB814BGXI2y4scopZfuMzO7MWQ/PKLiA9dsDfyvleDJy0P33Yx8tBLQTVtAbk1EXuuwIgBeLHQKGPTPawXW/ozY3A+23qcEFHrnuw1eWTlxeDxP1/EGp/bkH2F9uxjjyIBIxEC5bJM1H8kGVYv5luSKJCIUPJNvNi1rTWX1xYcnpO5bUrKqrGJi+sTFtUlLRudsXlS/sFZFWeX1z6+nl1sCMTNqRTJ2884IR/HBvo98NFSomQjOkDQIFYMhxcD3hq2zw0SeGhxVcSGbIX24XHibLb/BBrlph+iF/tkWu6CWG8UdVMp5qWyd3u216Evnm+Vd32bm229mHLMIp7Zi7lplJsL2Y0SBEEQP3Rs4sW+qyw9ERuF1WHEpHx+VUXFEN/sPAhVVFSgApxC1aqnUhJRsUHQmxdT7ysXBjpgiqXgs5ydnUNCQvV27KAloWFh8QkJcfHxTk7OSqUyITGpqLgkOWUUfA3mdlfDuEmnH7m5kzr/2LWa2gYfozHQzz8qIjIhPiE2Ji40OMTX6BUfGz9v4Ypzl57BYv1h5rwlsF3YNARvEhIaNnlKK/Dx9fX0NDSNb540eQr2ZVRqauPYcSVl5a6ubuERkXX1o7EXsDP5hYW1dfVeXp0RDg4eaX0EOrTRRBza0w1ii9HGEsap4UdsxYLrnpyvhW2cNXsObJQV0xbPi8tIkevUsI3ids+o19thT/EhJCRs4eKlWKZHVq5d6+rvhcWwm2EZDnOeMiZP0HCPjIllTPJEzZjtXv5+rBeLPHQjIL04IKMsfMsjkUd+GrHryeBJK/zi0kLa1iFTBiMGLL0YiKlV8dkqsGKUEjQRGqpHrLzYfaUO/+r3O+xGmNdb3Ap85e0ZG1bI9w3fa5175JZ7sbonN6StHx9QNcop0kflbg8vzyWw+GKhwkXvEO7llRsT3JAJgwZfhoWxyiCoOLdC78/e/m0pRsDHVnCssp8lQlyd0CBWDJMXy3Bnr3VQeyfMqP4/b3VTNMfqRLGmPR0d6Prt0LzYl7MLLpTFjAtyA20RhhlRRo5pEYYxgW4FRgdXpek6LykL7tHMdkexJIPXkRaEbOvFFOWtPIEQxULkxQiCIH482MSLfVNRsj0sBKtL+Hx4sQ0bNvz73/+GPxpJvfTSS6gAJ61IdE9kGCo2CHrzYrqnJylXZwv87WE4MZ0TDFdhUfHylatjYmPxJ3Iu6zduXrt+Q1JSMjzanHkLEOTjX9f2B5espFSp5y5eCX90Ux669ExoUDDSYQnxiWmp6elpGRkZWaNSUqMjo1g7FhO/fc8hLNYf1m+9W6Fk7/GDhCJRekYmaggiIiNDQ8O2bt+5Z+8+F1fXxrFNmLh46XJ//4DiktJtO3bBgiHwm7dg0dr1G6OiorE6JPCxQzCme7wZ7WNGfaRaGO6CuZzSp3W+LnnoTDnr2h5+8lxcXFfdtQaVtOLue/YvX7U6MJw9GpE/TExNUdppkd6Cf1yybAUW6I11WzZHjIrHWpB3mH7GRWPufD3nxfhCJqJMOXqTF3KRrBe79+WwpYd9QyL904oCS5sCsiv8YlKC6qZF7H0GLozDyoultWnNg/AzCrH6QCUaqkfuIC/22SLjwSJ7ZIdRT1YCvrQhop+P3tiEW+vF4K1CGrPUHhb9M0I+r92LWQqmSapXOYQawycVVJxd0XBtC9YdKMGjM3gdQo7MKdI7fGK+f2WyWG3qVxGne6NBrLDyYpEO6mdqE2BShsjsaCOvQ5KCAO0jNhu+Q7mpgO+kRLHQxlGBQxzTHvx7Zv77Ldngn9NzP5+Rx/Hp9Lx3W7J+NT6tKdjk+4ShzuyDeO116BvFqmxGLsIqnGzrxeRFzeggQ7EQeTGCIIgfDzbxYl+WF8/x9cbq8GIu9vb33nvvow8/cvTIka2bN2/ZtGnHtm34bMmFc+effurpl27c+N3bb//tb3+zfIPzoPXtt9+GhLAROMRnmOk+Xv8sKUTdBkpvXgzg91p9sFLeloAIBLMglUpVWzcakTzMEZ/PR6YGXmD33ffk5ObZOzi0TZuOWfMXLnJzN/3oW8rZ1W3Fms3wRzcFXgyeKzIsIj09MzElJTomJi42Li0tA4SHhMKjNY2fhMUsOfPold37jp546DF8tmTbnsPwgNg6dFMvNn/BIi9v74qKqh279lRW1XBebPWadYGBpmc6xHl+2oudwydyqPaUwaNhLqfcBTqYEVsx6aQL58V0Oj3s4fjmiVZUVdcUFBZhF5CLbBjTuG7T5tSCHJFE7OPjO3P2nJlLFsxavWTOqqWLVyxfdtfq5Vs3LN++8a6tmzdu2bps16bI3BSUDLkatVPPG/KXmLwYrFxQjsLSi0U+8IvwdaeDGmYFlk8IGjM7dMHdEfueizrR+X6xkNY1ll6scLmdQm+KshDLqbYXo6F6RHuuURjkiMU43c5eDLw327MmWMG9xBziu6hUWwqxFyPDrfViQfXpsEXYa55YIIx0kc9IUm0tUu0oVm7IV8xPkzXHiLN8BT72mItFIIla7pYSXHJiEdYdKElL6lECXyhwivJJWFhbdN/82sfXlZ1aYhfogTwuO8tBqX2oEW1iiXpvOWaZ5adTXKqIhUMZIs/WJsjgOtvFt1coNxfYJDWmuzJJNiEWjh7FQg+VRv9vLru54WPDqADuvdV8Z5Xu2X496gh7y2hlWIWTbsUxeChbQV6MIAjix4lNvNh/y4ubOgZRDPD3f/TRR3/y0kv3Hj6yecPGyRMm1lZVJ8cnRIdHmImPjkmKix+VmJSZmpaTmVWYl9fY0PDTn/wElurjjz/+/vvv8WGg+uKLL1JTU1EHTiXOTr8d1CNj1l7MQ9vlZ/rFNt0zkzXH6jALksvl5RWVsC25+QUikWjqtBnwYnv27istL9fpdM0TJmFWb17M0+B118ad8EfggTMXi4pKwfrNu/CnFfBift4+CfEJGRlZaekZKSmp4aFhKckp+DM+PQUGISc778Hzj2NJM03jp8RGx2akZ65a28XuHXrgrFqtwdYhsxfbtWdvWFi42Ys5OTuXV1Rh+qw5cz08POrrG7BATk4e58WQjfLz88PqkKQqVNs1KQZUO0oExs7MTtlae5gRW9H2sFt77Mnj8wVISqrUaivwjUhlMvhiLy9veEnsRfn40RK5DN8OvhGdvV7nYKd3sLezt7d3dLB3dgKOzk7YZQdXZ6lSgZIhZ09t2zlD9VZHkxfDUZ0lt/RicFsg8shPIw++iH+jjr2GPy0Jmb7J0ouV3NU5rD28mLJ3w6K9ME4U7YbFOO0rsP/ngtvXi4EnGpxdVaZdQ8pYFO8xYncq3kIvlrikXqJhjxZcPGVN0dqHx7HjlnDDy+MS8VwLnIX20nj4I/W+Ctm4aL4r2wHCF/B1vm7FxxaihAFR/tByv7Kk5GUN5WeW1T21EVPA6GtbfIriYNBQMqOSIKnEbt0C+HrMMksvFd2XHw4PMkQ+mZZb498xihHDiHP8bJIa05yoNx/59jLxbyekY1vDyta0QKWovfWUki4X+d7BmWvO3EHahYfgoWwFeTGCIIgfJzbxYv8uKyp3ZX+dxXx+flbWL37xi++++w7Zrq+++uo///nPv7/49yeffPKrN988c/r0xvXrm5uaivML/Ly8EdmaQd7n/Llzj126lJGaVpRf8MEHH8Be9VOXL1/OyMhAoC00v6OZx/NRKJ5IHswjY1ZejO+m1l22thsIvTALkkqlhUXFCPjzCgpFYnHj2HFIisHOlFVUqjWaMY1jMWvl6ru8vLywsJWCQsK27j4IfwQ2bb8HLQBGJY3aust6ZEXOi8XHJyARNiolNTUrIyw8PD42DmkygNZLTUk7eN9pLGkmKSEJ01Fg2qj0vYePYwrH0ZMX1Bottg6ZvdiWbTuCgoMtvVhpWTmmT5s+w8XFZfToMfBimZnZnBdbtmKli4srVock1WHaxyegQSxBhMzeydmhgiV6mBFbMfuqB+fF7Bzsa5rHFlWVpxbmxJdkWhJdkOYSYETNp02fuXnPrvCYaO55Ma3WtOM3latBN/WcoXank/khL/90ec0aLzSppRfrTvKZt2IeZD8M3os9PM78ultoc5b+o/m3tRf7bJFxUqRK2HFvHi4m0rGRMCPYl+EGRxq8EsdIerGc3VNNtybyGfnUxJvs7A3WmiETKvDSYQ2YF62PS+1j61DOALi2pe6pDaOvbmY/W5C0bLSofcAZNLu8NYHdnAW6KxMxyyx8Q8gEfT2nADZkKHw3t/Cp6nh5uwdkJeTLJ8WhhwpbHDS6p7skxXIM9h+25WBbw8ryBF+0CSuGx1rp9pr0Dc5cJNGwBifbejFJQj6vo/eHvBhBEMSPB1t5sTIX1ouphMLKvLzXXnsNFummeuvXv378sce2bto8qXnChHFNL//kJ6tXrAz2D4BNO3LwEBbop5YvXx4REVFbW5udnY06mHUkOhJ1Gyg9ebHON2dxIGDGLAjZlqzsHNgWmBekY6qqa81eDFmb6ppazFq1eo2XxWAXZgWFhG/dY/JiS5avRZwPAn39J0xqwxRLzl16Ji4mLioyCs4rNiEhIDAgKCAApgx5sZScTKzV3YtVVdX7e/sE+PgVF5dZ3qnYoxfbvHV7UFAPXmxKSyvSR03jmzExMSnJ5MWWr3R2Nj0OJq3pyYsdqhKGOGEup8Sxthy7Y/HLBs4feXh6bt+5G5W0AnnJmbPnoPGxjDOyXY6OyJHhc2JSMubCVC5fuXrOvPnTZ86aMGlyU/MEZACxsyArN0ft0B4tI2Xp4zD9gpelF/NNkVcu80JTB09ZFXnfq3Bblix58d2L7/xz8pU/vfnxf/e89iHsmJUXy5qlk6rYakDs82J7exhpgQOHlqUX2wQvNu+29mLgD9M9jNrObhCBUafaWtSfQcKHyC3xYu3ZqHh+ez5FkuuHavQTZDwFfmwfBc6jkHHZsFcobYikb5wgVrK3zOEaLp8Sj61YgcsX5prVFmGwicdBIVPCPDv8Nyvp2ChYTmxxMFxvU20rMt/7J+AzD5VED3EQxZvy5eyCuTFe2BzEd1T2My+GM1fgy36JnLQLD8JD2QpJfC55MYIgiB8htvViSqGwNDv71VdfHdx9hi9ev15XXT131ux//P3v+HOg+u1vf4s6mDUCXgxx/qjUVAT5VVU1CoWiqLgE0T6cS2VVtUwmKyktw6zVa9Z6e3tjYSv5+gVs2LYX/gicfuQpZLKCA4LgsFat3YIplpx/7NnxzVOCAwJTR6XBjiE7lpGRCSOWkZ4ZHRWD5Fd+QbHVq5+Pnb44Y9aC+YtWnHjoMv4006MXW7t+o79/gNmLOTo5czVvnjBJo9VOntKKz5GRUYgh4cUWL12u05tuQZRNjtNdnYQGsUR9uFoYxh4MnMJKFDAjNsTRn31IB2mvlavuQsWsWH3XWj8/f1RVIpGw4ygyWJZVbd3obe3vgO6NpatW6ZzZZAeyq17+TvBipWvsOyKjTi8WMm1D1ANd7khMOv3W/tf//u7nX2/+2Qdv//PLp/78r9gHf23lxTJn6KRKU1mMUqy5vxYN1SM4tCy92LIU7Ydzb3cvBu4vc5AJO9oa+fF0b83pBqSEsEfDxy3xYnkHZnKjGvLtFdpHrR+W7Bs4Dr4dO9qGTK8qum8+ShsiCQtquGfW+Dq5tRe73qq7MkmSH4C5ZmV62P1yXCqcyNB5eUxKrLOWz2Wp2yWtDGEbpPd35/WG5lQD38WUbBIwTHOI+3stWdjEsPLnyZn1AaY+JVGESz+NpJUX07RugoeyFeTFCIIgfpzYxIv9p6y41p29b03C54cG+G/evPnJJ5+8evXqe++9B4s0Yvrss89QB7NGwItB8QmJyMXU1tYrlaqs7Oydu+/Gn+PHN5tTZsg6+Qd0iYg4GYzeazZ1Ph22/e7D02fN37b74ENdXRW48PhzO/Yejo2KCQsOSU5KgR1jjVhGVmJCkr+3b3BQ0Ixly7BYfzh4/5nuz4utvmuNr6+v2Yshl5STk4fpjeOalCoVsmP4HB4eAYMDL7Zw0RJ5+7vGoB69mObB0aJET8zl5B5h43c9x010RLEajbZ5wkRUzJK71q6LimI9o52dXX5+QXhCDE8kgLdSqdWwZnDKm7Zsw2LdwVc2dd4cbpgFiVgcEOky41GvrNk6U2TE8PxGKSqW9uzFEk79+u7XPvzdP79c9ZP3fvPJlyd+8xHrxWZusfRicQ1qQcfLvhmVpI8nqnBoieI9sBinuQmaD+Z4wuzc/owNY3ORJgkF0tERVgNs2pxb4sXi5lVJ9axxkFaFog4DBalkrMsXCrzyY0Y/M9TUmNmL4Roub0uA+dU9PQknoPpApXJdnrQpxrJXBHJVSM+Xxdgk5YS80qniqGA7FdwTSuYkCndW7SqxfMPFTdGeaxR1vAIDzi7cXv18fSLKH26uj06Kc9ZioxC+lH6Oaa/eVyFsT25yUo1bBg9lK8iLEQRB/DixiRf7srx4po8XVocXk/L5Tk5OiO3Dw8MvXrwIizRiuiVeLDomdsfO3eOaxmu1uuTklB279iCwhxcTCARIYiHO782Lubi6r+iWAuuNs49eWbT0roT4hKCgwJiomMSkpPi4+EBffyTFiopLjz58Ccv0h80798MzYutQb17M3sEhPT0D02vrYDCVbVOn47OfP5tsghcDcDdYHerRi2kfHivO8MZcTnKdYPlrJktiEwpXGFETsVicmZWNiplZtWlDRGQktqjRaKqqa/Cl5FSV4NhWazRIUzo6OmGV/ILCDRs3Y2Erdu65u7i6AutCCrk8PMVt1mWvoBw5F2YKxExYoapkLnsTadjszVHHfwkLZsnKl957+i//anrqnRvvf7H953+LefBXYYv2mb3Y0leNIRbvekZmRPdcrzdEaS82WbbeHeTFXpviFuIgRp058fVyxeKMft76NThG3ovVPbUhoHoUd4OiqvfBMPtAc38N+gewus7PrfzMMpQ5FKKnlghlbJvjOJeNj1Guz5M1RSPLw2ilMDaY3l3LEnz/OT0PZmTo/GcWa8fS3PXcaISsGIbvrsFlAamu/rgb2EZxuhfW4+Spkh3ND4fLQ+HDzZmSKEc523SQcnmWvn9DQaoPVwlDO+2tbb2YNLWC135DNURejCAI4scDfjd5ItP1HxqcF/u6omRtcCBWhxdTisWzZ8++cOEC8mKffPIJLNKIydKLCRnmvpjBeLEj0REuUilK4CRw1+ietO7mtfRiERGRyLZwXiwqKhoWAF5s4qTJmBUXH79n7z07d+0JCgrGn1aSK5RzFi6HP+onpy48uXLdlpLKqrDQUP8Afz9v7wBfv+Kist37jmJuP1m0Yq1cbvIFZi+2dPkKLy+v7l6sorIKKbBp02fis5u7OxwQjNjc+QuwLid5W2L3Z/bZO6NKAjHXJIY3/wVPWBJb0fSAH5JcqExYePiWbTtQN7B95+6UvEyGYRQKRVl5xdb26ZwXc3BwXL9x85SWNuyXXC7Pzc1bs24D5lqydcfO4JgIVBbSqtVJpZ5t5wx2RlMfhUzNT5uiK5rJerHwRbujT3aOXc9RfvF3k6/+KfXsW3Of/0v15d9Hn/xV2LJ7zV5s1lMePsmmZ2Eggb89Wqk3tJfGi3P9sBinO8iLfbbIeKLCwVHBGg1OAoNOdXdZP6PcQTDyXgzuyX1UKHaNb6dg78drr8bAeK6F76lFCUoXfcbmSShzKMAYCsRClMYT8gU+dnxd52HWXUhgeahke7NCPpthGy8GkGJ7qSF5dKCrVND5I8LgNyDNS7EiS/tYL4nR662aM2MUy7NEKQZcHzjZycTwiX9ry0axww3s3ra0QNOAM0KB+lBVPx9vVB+tEUayd4BwUlZNh4eyFTSOIkEQxI8T6bhoXPnNGpwX+66iFOkkrI6fe7FQuH///m+++QbmaIT11ltvoQ6c9GLx2YRY1G2g7A4PtReb+kshgae2ewevpRcLCQldu35D84SJer0+MCgYpgBebNqMmZgVFR3NPaMEm4M/rcTn8xvGTTz18JOwSP3k/OVrB4+dWbJy7bhJLXWTJsxbtGL/vQ9iev+pGT0O6SFsHTJ7sQWLFnt4eqKSWzu8WErKqF179hYVl6jV6hkzZ2MZvd4OTgdGbOq06ViXk7Q6TPtQo3Ww/WKbtCGys1ue4U0+7QpLYivmPudj5+SAgj08PObNX4i6bduxu7yiEi4MEwsKC7EXmAg4L+bu7rFh0xb8OW58s0qlhhXFXq++ay2mmFm1fRMygFgdX4qD3q5wurFkhaNMYwovNS7C6i1O8GJ+3sawxXthvnrl3lcidjwetuZk0Jg5YdHG5kOsFxv/gItLkKnNIXFPr+U1Y+XFpsWq379DvBhAVWEeza8bg4QxbjYZ8LxHRt6L5R+c7Rjuhf0SxbjpnrbOCPcTcZo3SpA7aJKXN6DMoeCWGMSYT7RepBYLk1y040PcN44KeLQ89i9TMr8d8juUrfjthPSdGcEOMgk2ZxK+EyelpDhQubVIa3FfAbpukFqSz0gSJRmQOUUeDctCGolwQaw36obSRoD3W7ImhXpguxB6DHA9R936g+aBOlEs+7QgJ3neWHgoW6Gsm8MTiFAshNZTrs7BFgmCIIgfPDbxYt9Xlj4zKgmri+DF+Py2trYPP/wQ5miEdeLECdSBk49S8WTKYMa03xASpBGZfhAhy3c9c6j2lksK/DGLk6+f/9LlK1tapzo4OBiNXjBf8GKzZs/BrPDwiI2btyLUh83Bn92Vkpp58P4u4x/2h3OXrx0/d/m+cxfPXXoGf/afsxevhIZHwlJh05DZi82ZNx9pL1QSLgZeTG9nFx0Ti89Z2Tn29vaz58zDMhqNBitiyUmTW7AuJ76dXBjmLG9N0F2bjJYxI2tLYOSdbVi52QGWxFaseN0rAIEcny+TyUrLymF96xvG6HR6VC8jMws5StSWw8qL7di1Z3RDI9wlVkxNTV+zdj0mcjRNnoR6QhKx2NXZOWuim2e0jBtEkeHzjPHS2U8Z4MX8/YzB1c0hU9dZEjxldVDjnMCatsCiMQFZ5f7JuX5xqb7BEVEpxjlPsRUuXdM5oD2EZCKaqDesvFhTuPLdWXeMF/tikfGVia653hbZGQFfnOFtdXjYipH3Yjl3T2NfrwxDnWxA/hd1GATSylCUINWp4udXo8x+UvvE+ron1uODmfLTS7XeLiiqu5ClyvCwmxllvC8//GpNwi/Hpb7bkvXvmfmwIcPEf2cVPFubmG+0x9Y7JeILPDRIJImzfGSNkZKKYCTCBL72jEZqdmGQVMifH+v9futIZMQ4Xh07KsZJg01Dknx/3RPWg8H2huZUgyjZ9HQbZFsvpp6ynhGJUSwEo6pYkIYtEgRBED94bOLFwOvZGTIBX9L+vFhUVNTrr78OczTCmjJlCnaBU5aD/S+z01GxgTLfzwd2EiWwYnjCSBe0kiWyKV2MhreP7+Kly9qmTnd0dNTp9QsXLZk5a3Z+QSFmaXU6mJqkpGSdzjRYupU0Gu2aTabXPY8Am3fud3YxvU0VMnsxZPGcXVwsvVhkVPSmLVtT09JgMOfMnQ+Do1KrYXbgZfLy2V2zFKMUsw+/tzcOh3JtLt+lczDtUVM0sCQ2JLfVoFGpULJ/QEBVdY3BYEDd4Bw3b92O3eHYvX9/ZmkBTyQwezGArCV2AdkxiUSSmJS8bsMmTATBIWx4DCkVCr9gd69IjVhuOgbwoXyDw/LXvOo2GAODjL7+gb6BoV0ICAkIDQiN94tI8orNMqZVG9PrjIUzjBOOeK183Wvpz4yJ4zScreOkvrsMTdQbVl6sMVT51zvHi4FPFxou1DqFWjw4xhPypeXB2DWbM/JerPDIHKdIH+zTULyYrCkGJUh1yrg5VSizn8TOLLcPMbgmBhqyI/2rUmJmloc158raRxGxkkTA35wa+MdJGR9Py/1qyG8TGxC/n5gxI8qol1p8+5z4DHpF2LFxumXxXBXSE4WRqCpWtxVfzi64vyD80YrY//b06NnXcwqxRbQStg4pFmfon+/XIIpAc7pBNMrI65BsVDk8lK3QLbuPEUtRLITmkjXHYIsEQRDEDx4rL3Y2vvO+vs/Li0+mpqyKje2RWVGRY0NDN8TFfldZioX/WpCb4WCHEqQCgVQoPH369Lfffgt/NJJCEgcV4DTFy/BxSQEqNiC+rihpNrD93ibxGfSaopU4dM9OUR+qRB8vwkvM5IQEjVQqRWwPOwBJ2j9zo1vgT8yF8AF/9qhxE1oHdJviUCgqrTTfoAihYt7e3uUVlXAlKpUKzjEpOWVUappcLtfr9UFBQfgXNUerKlUqfMAqWJ3bNSsxYgHax4z6cJUwkL2NkJNntBQGyoaMfSTUw8VVLBJhF0QiJGOZzK5GDGw/uG9Ufja2HhQcAi+JKRzIjo1rara3dxAIWJu2cPHSGdtXoRwsiX/tdHpnR0exRIQ/OcXUqVb8kr3VcMVrXnOe9Jp8zKtpn9fEe73aTnvNusxOWfJTryUvey19pZ2feS17lWX5L7xWvsFWdfpj7v4ZcpRjlu6pvjrhdU9OkNaGYzFOd5wXA58tNG7L0eukbJNyYqRC+awU7J1tUe+v4MvEOMfAyHix6otrjLnsBZPvpOx/MsUKWXMsSpA7aketHosy+4lzjG/7BYVhBHy+UCAQCwGmoCgryYSCh8tiYDpGnv+1J8jebEqbEOKhRvX6lEIknBph+OPkjG9sMa6jJQdzQtEI9jLx+GC3X41PwxRLPpmWO8/izWK4WOFL6SdWXkwSkQYPZSvs9jzDSDqvFZLCAH3/RtonCIIg7misvNjpuBhYEo5HM1LT/P2CfY2hfj0Q4mf0M7KjGXxZUYKFPy0tREYJJUAMYsgxY/7xj3/AHw2rvvvuu6+++gr/4vOjjz6KTXNSCYV7wkNRq4Hy54KcYmcnlGCSgG+Z8WFfLuOlx2Sz0MsrAHzWnAn5jAgIGEkHUiGLDIhYsHB3eRiMew8fh1Gy5OS5x+9av23r7gNnHnkaf/aTC48/t37zrtrahllzFz14/glMsWTvoeOBwabsz0CFiiPoQ/25nQWY0kUCvuWAirqnJoo6xqmGVI6CxT81wJjYisUvecXmGOz1dnBPKD82Pt6c4TKz/eA9o/KzMBc5L0svxtE2bbqrqytiW41Wi2wmFoPgqZ0cHGQWI7foDaI5z3hgi4Ombrej2rkzKBVFu6N9+kD35ERpXacXa4lWvTf7DvNi4IM5ntNj1YqOYfwhvk6mXJvXzxES+on6UBVfJ4ddAsPnxXxKEvCnmaCGDNM4irtKUYdBwL3zS+lil7FlMgrsJ9xzaqxwKuJyg1MRH4CAL/DUCrxNxzCnvVkhyA3Bd9xCPmjN3pcdkm900EpEUgEf/SZAjCuqkB9ip1qXHPChLd463R04O3dl5ykcqFceL4z8dHoefCLmgjeaUh1lpi4pcb6/9pEmfCn9RHthrDjbBytykoSPgoeyFS4XP2DknYlOUYy75sHR2ChBEATxw6YPL3Y2bVRDis9r+12/uuTcnQ9Pu1RneJq92PeVpY8nJ3CjXrhJpQ5q9bVr174f1Buf+68nn3yypqbmyJEjf/rTn0aPHo1NcwpRqwb3sNhPMlIT9Bb3E4oEikUZaCUO7aXxoqjOQbRgsrKNsoYQZUuUan6iZkWqdmu2fkeO3alKR3Chxun5JpefTHD9dZv776Z5gDhXCdaCEEYpRaxxw2eoaVKb1ZuaV6/bGhMVg7Yd3zzldL/t2P2nHqmsrPVpN8hpo9LPXb6GiRznH3t23MRW82j22LSzUtAdd7UQGDRCL60JH53ITy9KcZdmeEpL/eRI00yNUY8NU7qqBCjHLFGstcWQlAaxEWO75DrBpFO2HL5jxS+9xu728vH2RBoLWQKtVjtx8mQkvGCyzLBerCAbpjEkNGzzVmsvBqbNmMnZMdQQwgelQqFWsbdi4k9IquTX7nTC5gbNklcMaW1aFGWWfF4qGqcPrLzY3GEbR/GLRca/zPL83TR3lI/PmGJbcNjnecs6DgGYMUYY5sy+5NpqpJchMKxeLLA2XSSToGQrL5a9o1Xr5YwdkhQHdR/V5+Zcb+Ub2CuM3t+t/xWuv7pJ2P4eMUgY4CCfmYyDRJRsxHknHR2pfbRJbPEQEzQlzGNkBiTsDx+0ZV+tSYA9BEfywl5pTPlqOH3izowgtICVyn2dXhs3CtsFW9M6FhDyFXNT+3+DItBeHC8pCMCqnATOBngoGyI0dNQNhXtolJsKbNt9QRAEQdyG9OHFHkxNqeu3FwPvFuaON3jAYUjQ/8nnV1dX/+tf/4JjGj698sor2Iperx81apT53jk+w9S5u35YnI8qDZRHk+L928fT48RIhOr9lfr2huKQFAfCyWAW5KkRvtHijrCznyxKMj0tDrkoBf52sET4yHN1c9+25xAck5lFy+4KDQpG2wb6+h842t+REmG+ps+cFxrIrhgSGHz8TOdLxw49cDYhKRXbghAe53rLHq1z6s6NZleYx1+1ur8zw4MDSZnPFrKVN/P5IuND1Y4wbijKJLFA3S1HIJ+exKglmAlJlPzSNfbwJjZk3jNeqdVGL08PrVqD7BjsWEPj2C3bOm9ThBdLLc+Hm46NjTMPfW/Jxq3bEpOTzYcNPsilUrMRE0mZrJk67j7DQTP9krtfaudNR2iom3Z0j4wX+9dC47VxLo1hyng3yaJk7Zut7sNhx66OdYl0Fne0KNpUIE73Ylvghm3s2LB6sZBx2SKFDCVbebGax9YZc6P5Qvb4V20tRDUGhPpIFVZEZs27IA6l9ZPiBxZgLVYCvqQkEOVYIa0KxUyz0t31v5+YAWPyY+MvU7I8VZ1JMUshQXa6OAqOzF/HDrgKwdWqD3a5vN+U4fZiyoaFKNYk5BAbIgb9WCJBEARxp9CHF9uXnFicaOy/F/tfZenZ+BjuRclakUgpl997771wTMOq3//+90uXLkUojo1ycpRI7okIQ30GClJ7O8JClB3BOcQoJciFoZXMKOalMmp2ByF7ueD+UgfEnP3k6UZn83DfTgpBiocU/8IZIVgNCY/cafGasC079+dk5UVHRuflFlh5seNnL+3ed3T/vQ8+1NMgigfvO900fnJRUdm0GfPwJwfr0eYs1unZp/kgezn/pWZX1Gdw/HWW58x4NcoxS5TgiZaxQrW7lO9qWkwgYqKrVfAmNmTl616T7veKTPEyuLlrVCrYMblcnpObO3/hIi5BtuvAvozqIkYmSkpK3toxyj3Hjr17F69ZlV1SqFApUT1OZhcGCSVMaJFy4Y0h3Ve54pfGqq0OYplFsWHO+udvkkmx8mJLU7QfzrWxF/t0oeFoqQMynigfUoiY1mj176Z7YJbNeaDcAacJtsIJX4e0Jkx7sQl7OnRuiRcDWTta1AZHHDF8V5XmgTrUpJ/onp0CJ4V2EKvko1YN4GGx+IW1WAvCxQdJMRRlhWJ+GuaaZS8T/6Qh2XxX3o+E/8zKnxLuib44tAC6nBiVBP9byk4qKvBywAdWQr60MXKgTkf3eDOb8e8QX2MHA2VD7HY+xROy95ZwEka6qI/WYLsEQRDED5g+vNj2hPjceEP/vRj4a2HuWE93AcPA0cgEAqPBcOPGDTim/uj7L7/85k9/+u6f//y/9jsbv//6a/zbHx08eNDOzmQ0pAJ+o4f7XwtyUZmB8llp4UwfLxRiljDEGU1kiXpfBd/JFMBLhWwQi4Czn3yywFDgI8OKEDxZmqc0x0umlphih4io2C27D8I6gVMXnti0/Z4VqzfCc51/7FlM4Xjw/BNz5i/NzMguKixdv3kXTBYmWgGzdu+J85Zr7T5wf0R0LDbBqSpQgcoMDiTFnh3nEmhvCuMhRNewXWgZK7SPNgmDEK9iESzEc4+QLLhuyzc+g8Uve9es9w6LMcKOadVq2DFsymj0KiwqnjV33rqtWzIqClE9sxe7e9/+jbt2zlq2qKym2i8qVKIwfRdWEsv5MGJtj7gNMSk2/wVPOFAUaBYC5pveoad7epJsfAwW5rQpS//RfANa3oY8XOdk+UZmyEkpWJehQw4Uc23LPxcYVqfpJELuOGDFd1TKZ6fonp6InR0it8qL1V/ZFD29VKyS4cAWpRjYTF97fW6Kel8530WFtVzi/GsfX4ei+olHehiaDkL/Ro+nm+b+GqQdsYBZ+7Jv/SNjI8z50miYUOw7WljgpZdPiWcfoxOwl4XuEnhqVVsK0XQDQnd1MjoTsLpZMFA2xPW5r4TeneXDTsrbEnFNwKYJgiCIHyq9ebGvK0rXx8dGBhrn13tsnuLenTUT3JMjDFZeDKmxE7HRBjkb5aqFbAQ2atSo559/Ho7ppvrfP//50Zo1H86e/dm5c/++cuXjzZu//etfMb1vwevFxcVxcTg2F6ZWv5iegpoMgjeyM3IcO3pN24WoGE1kCdIWAn97zIKwuWQP6TszBpBQeHG8a4Cdyci4q4RzEzTIjtnJWDuGvAzs2KYd++CeeuPgfadKisvR5iAzPQvWDBP75tjZS1V1jaKON6ZpJPzzNU6oyeD4eL5hW44eJhRFcRJn+vQcKlxvZcdmR9qvXToP4bgjznAotmXRi17Vq7xCo4xGdw8HvZ1AwIaj2Fl3T8/wmChnozsiMR9f37rRDdXNjRkFuVEJce7+3lIpe3z2KLWTMHmCZtpF9xWvs+UPmpVvek084apy7MyxwoP0J2jXPTMZ0ReW52RzL/a3OZ7ZXjjgUHYXeWqESJZ9YtNtcfx9rmFKtAqbMIvvplauzxvQczo9cqu8GKi+tNavLAn7wogFOM41J+pRn77Rnh8rzvTGGcHwmYzNk1BIPyk/vUzpqse2eHyGfcf0Uz3YWN3jE4QhFoMO8XhFXo6f2HSg+NucX4wdleFhh9bFvqMHRrkmV3d1kmp7sSTf33yzdKeEfKS3dE8OeCTM7l7M9dkv4aFsiHr6VhRrFk4W+ZwUbBdb74HnW/CTpH2kSXuqQX2wEj4daE436GgARoIgiDuH3rzYJ2VFC6OjUiIN0yo9ZlV7TC7xnFjsWZHOUpBsSI02JIQbArxZU2DpxcDfivLGeriL+XwhwygEApVYFBMTg9TV559/DuvUh77/5pt/LF/+TljYn1NT/5KT8+esrK/eegvT+9Abb7xRUVEh7Rj4TsLn7w4P+bprffrPpaR4146iOKnvKUcTWcG+qrXDYnhrhQOyNsgrHSt30LYP942oIc9btrfALtENuTFMYB9Z8vELmNQ269SFnke5v+/khdraMWhzUJBf1NtiZk4//FTzlOlanR6Fc6oJUvxp5gDMoxWvTnKLdukMbBilWLWzpLdcj2JBmvlFbBIFP61VC5Nicxa/5DV6i1dkotHbYHB1clbI5ZwxN0ssFms0GoVew44B3rtEUsYvVV6z3RH5LDgplDwUlr5qjButRrFmSavCejatXRluL3ZfaZebBi0V4iBGX8FwPDj226nuBT5ybMIsgZ89e/PV0B4cu4VeDJSfWWbIisS+MFKhKMWIE0H37BTUqkd0T0yQ1kdwp4MxN7ruqY0ooZ/Eza0UtQ/cwUiE0sZIlNYd3bUpSANhGbPUYuFPGpJhUn4MfD4jf3qkQdb+EB8kKQ8xjQZ/vVV7YaxyZZYowsV80Ub/jCjajT38sMAA0T03RdoQgTLMcr74AQyUDXF+5F2hhz9KNotvrxDFukuKAmRjo4C0PlxSHCjO8xenGkXxHtgXYbiLMNhJ4GMnMOgADDs76MeQ+zoIgiCIkUHWloCfeFzwOZm92N9LC+dFRTYXeb56j+u7J1z+fIzl9/exvH3U5TdHXH592AW+DKbAyov9X1XZz7PSEvVa+AsBwwDExm5ubrNnz3777bdhoHrT/z777B/Llr0THv6HgADwTmTkR2vX/q8XB/ftt9+++OKLhYWFMllnjmOOr/fnpUWowyD4vKzorqAA1BblcOLr5T32LqrvLkO/KxaAkCGaHa9BtNl/3p/jOT9Rg3UhrI5g+4kGZ3+9qUBkx+zsHSprGw7efwZmyorzj13bd+TE9Jnz58xbcvC+0xcefw4TewNzp81ZpFKbtgV5a0XXxrrAD6IagwBR+rJRWq7nmRP6nLUXuzxPZ4n2YhPaEItBaFffUbI5V4c0PnxvLHvVa9o5r4x6o4/RaHD3cHVyUqtUMLbYbj9liJXChc295rH8NfZVYkNn6iPusJ8omROjkqC/ujfTaslwe7GpsWpZR1qT76BAXIcPnPDFZhikfx6CVe8NHDk3ml3DHcXYikl8Bnkcq4cxB8qt9WKg4twKY04U9oYn4gsMWunoCM19Nd0HV9Q+PE5aG860P2fqkRpaeWEV1u0n1RfvcozwxmUB6+Js0pzsJbV6YyrSIgjasZhZLeGe8Cl9899ZBe+13C4jLg6OL2bm78wIdlawdhXi28m15xrZNjHzXAscmbwlQWDU851UkpIgdjzP6zc/GXvgxlSZxS3EkPPDf4WBsiXX/6dfddLyRWMm4cora385ilSI4w2Okr0zo0e150/7k6slCIIgbgfk0xJxecf1m5PZi71XUjA9MqKlzOOd+12+an9ArDtjcnvwYuD7ytJHk+KcJKYfRxGf7yqTqaXS0NDQs2fPfvnllzBT3fXJ7t1/jImBCzPzTmjoBy0tX//ud5hrqf/85z+HDh3y9PTk7knjVOPm+lW5dU36z29yszIcTDcfchJn+aB9uqN7eiJ+0LEAJ+S2fjN1AKMpfrHY+HyTi2+H+XJXC59rckG+CR/wJyuGEQpF7h6eY5unHH/oMlyVJXBY5y490/6kWF9G7MELT1TWjhF3fAWQTsq/p8Du4yEE9m+1uUsEnT//8BfKLYV9pTZuTBWleWFJTvZGUcPeIQ0R3wfIZC37uVfDFq+waNgxdwc7O7lMhk4AbLcPieVMeKly9F6nJa8YhnhTohWR5Z1HCCQpCoQzZdvkZgy3F8vx6uy7EHjpNcfrLF/TgK93RtwAHoHsP/9aaDhd5aiXWXwjOM5DnbDLg8bSi8nsNMX3L4B5sRWBtWnCnsa0t6LmsXXJyxskajkbGCNalovQnvLZozTH63VPTUQ8jG9T4GuHWdhj5zj/inMrsVb/SV3TJHfQYl0IycQ+hgqB4xOne2Mxs8QC/l+mZMGt9MbnM/JmRBk9VLI9mcH48w7lfFkMdgHNz0l9dzmuPGgQa55v0V2dpLsyiU1f9nHVuhmy5i5ezOnEr1gDZVNcHvuHvHgCCh+08JvOdv60V5ggCIK4zenNi/2xKH9yePjsGo8/Hx+wF+M4EBWu7Ck3kZ2dDUf2xRdfILcFY8Xp+6+//uLixc9OnQLvRES8ExLyj1Wrvnrzzf99+inmcvr++++/+eab1157raSkBOWYJWwfxP6r8mJsdHAgl/dcWopd+8vR2JgKYniq7cVonx6x/Dl2VAj2Ftih5x8BZz9BamxRsra9q5tVno/s3dmef53lWRukaA/ZOqXT201omX73oWNnH71y7vIzMGLwWX1w/rFnz168umHbXk+jF1Y3CzHwthz9R/MGH9V/tshYF9Kl151Nij08Dq3RB5oj1ViSk0DIJI7TLH11qIkn2K6Vb7CjFCKHteznxoU3DK0X3Co3OaBw/3S52rHTnvcovoAnFDOOvqJRU7QzHndHUSjTtky/7I4NmcVopMrNBWiN/sB6samJOPw42dyLZRotvJi3HltUbS7kOyjxp1lbc/SDTp72AfoBdubaKcVdDnFJaWD3RFI/6eLF9GrberHe3vXcI2WnlvqVJ0t1Sr5QwCC/2FXIamG6MS8GeTQsPACubfUtTeSLLK6iIoEo0VN9oLKHHOv1VuVdOZYXc6gxyO27uYUwLFb8rz0j1hTihmWgcAf1U9XxPS55O/O/uUU/Hzsqzb3jHmw+Ix0diXZgW2PYkLUm4FvA1jjZbXsc7snmOJ37oyyzmr1aDVDswaaUMDqZclX2TUdtJQiCIG4HevNib+bn1oeELG30eO/BQXoxcCk53lMug1dCyVYKCAjYvn37H/7wh48++uirr76Cz4Lb4vT3xYv/kpv7dccNjf/73//++9//YrHXX399zpw5KlVnxgHlwkDN8/P5Z0khNjdosPpUbyMPBeKHzE6OjI/Axw6dqGifHtHcX2t5Y2d5gPxXrQNIjYEnxzgH27dbv3aNj1DCi8GjzUnQOMgFSE9YCrUKCg2vqmtcsnL97gP3Hz720P2nHjlx7jEkvx688OTJc48fO3PpyPFzmDVt9sKY+ESJxVNvCAydFIIlKdohjpJ3b0mXpCHfXqFcl4emuCl8FzWW5+QcJG466ryqz6exVrxuhM+CZVv6M+OinxhgtRZc95z3rOespzzgcSafcR13r3P5eoeM6bqoKqV7pAS5LZTctwRiRqrmq52EqEDCWPWYA85IhGFbw8Hinxq0bp3HBrLCkpKgm5pWM+i0VyxMh8Xgi9kwzOZeLNsyL9buxXTXpshaEhhF59HoKBc82eA8HHYMR/i8RI204yZJVkK+bGJsr0MT9Mnt48U4yk4vTZhfY8yJ0hgcFc46haNW6axXGxxd4v0T5ldXX1yDZQZEzeU1fuVJUq2SbxH8Q0iQqXaWdL/LTnN2DJsas2hd6HJlHGyLJd/MKXxzfGq8syndxinFTfdsXSJmYYE7AhixXzenFXk5ovKs+Iwo1l17eUh3vfYH+axkZD+xQU66FcdhnYYDxwffkuc3CuycGSmyrhZfKl/AiMSMRMbIVXyVjq+xF9i5COxdBA5ujLjzRgj5rBRcTFBhgiAI4janNy/2en5OXUjIgnqP6ztcf7GvZ8pTb+LFwJs5GQVOjnou5dRVsBiOjo6NjY2HDx++du3ar371K1iz99577y+vvPLOhQvvv//+O++888orr1y8eHHnzp1NTU1OTk5YBStykvD5oWr1kejIL8oG+YwYB5Jiv8xO91Z0Jn34zkrWaPTZvyou8MeSnJAaO1Rs/+nCAcTMcEYLkzRKcefujAtX/naaO3IHD1Y6InnhrGRfPdZdCqXSy8cvMSWttKK2vrF59NgJ5VX1WbmFfv6Blo/OcULQG+8q2VdgP8R3VP1+ukeQ5Tj2EqF0dER/RqIAiqWZ7KMN7UJqLGWSZs4zHvOe95z7rCe81dRH3VrPu00+7TrhuEvzAy7wWdXbHSo3O+Qt1OfM1yeN10TXqEILFT5JMr2HEKujkP4Ih4lEwYcncvIXe0ZLoypVRcvtJ59yhcWDXRo+kKrLmKZlTLvLShjkqD5QgXboJ2xebDjvUUS/Qce3YfJiQPtQoyTXj2l3fxBaL8pZ8vLEwb+Erg9+MdmtNlghE7FfJXc6o+tDPj1pEHbsdvNiZuqe2FByYnHhvXORL6u5vBZTBk3NpbWJi+q8CmI1BieRorOPRVLc012v11sVSzIYbediUJaH/d/aOp8I+2Ra7mOVcYH6zsudWanu+ufuHDuGnRoXbMrrQQJ/B/W+8u7+1OYoFqUj64QtclJPvAu+aZhwfebfdtufUI5ZIE0qksTmsMTnSTOq5UXNypqZ6klrtHP36pY/YL/zSfvdV4A4MA5V4iStDdc92cOQmwRBEMTtRm9e7Gd52WVBQZnBxsY4Y32CoTbBUBFvKE0wFCcYc+INHCF+xlAv76/69GJwOn/Mz74rKCBIpRL3/vyOvb19cnJySUlJc3PzpHZNmDChrKzM29tb1DEeu1l8hnGVSsd4uF8ZldT31vvDtxUlSwL8UKxZwkBH7fmxaJw+0DxQaxnzVAYqft02sNQYYt1cb5nZcCGBNTpE+XCt0x9neLw9zf2eArvaIEW4o9gcOQ9UcHMt0aoXxrtgW0MBPm56nBq2DmWy4jPCUGf1/m7+4vkWuDPtI02a0w3IG6oPVqp2lSi3FCpWZFnmXOyMophaVUydOqpKBYflESVxDhDr3IRyLV+i5A/8lpxOiWSMxkXo6Cs2xsvCSpTp07S1uxxbHnJb9JJhZZ+ZOBsy+m4njXNnUgw7LpsQO6DeaSsvti5D948h3FnanfoQpQiHWrvMXgzg+4JthDvCdEgsYKqDFL8dyIOQ/eelCa6l/nLLZw/5zirFyqwBNRS4bb3YcJCzZ2poU7bC2XQ/HnJAmp4GZ9CcaWBTYxZXDblIsDrJ77+z2HeNvduStXFUgKdK2tn0XZXqpodT++q2fzHZ31qzlyf4osKc2DT9iuweh1qyOcoN+QK3zly/LGcMTNPtgPPFv0ni8lAlTpICf+1jzagwQRAEcZtj5cUORUXAnoCf5mYVBwY2e3kf8vXd7+t7j6/vTh/fLb6+G339Vvr4LPPxXeDjk2D0SvH1688Y8p+XFl1IjKt1c9WLO7fVtxAt9OjdkMBqcHe7PyZqcC907s5vczPdLTJKSPrIWxNu3kv/Qqu0KhTLc7KT8Y+U2H+yYABh878WGk9UOATYiTriX7gcnkEjnBylOl3lCDv2u2kej492nhWvLvSVe2mFcEPmKLoPiQRMiIMY6Y8tWfrfTHX/w3SP37S5gzdb3F+Z6PrTCSZeanZ9osEZ1u9stSMHKoNd2Jajt2JRstbJ8tXAQr4wwgWHjXzuKDOyKfGypmj0xEry/UWjjOwwy4EOAncN35694RORPdazpRh2CHqFncDRX+yVKIusVI2arM2dr6/c4tB40Hnqo+5Lfja8+a8emXbJ3TNa2pkU4zOiOHc4U/Zo6TdWXgyNDy+Mo8VW9ObFcDyjwx8xLaZz0sv4S1O078+x5dbNoIsg0V3aURG2rYQBDqptRXD0bGX6x4/Ki4GqR1Y7x/ihtSBxskFzqqdDq/2pMb5rp1lAG/to5Q8WRf5uYsbSBB9HuRgTOTEaqcDLZO7MCrFTbU4N/NeMPFie25PXxo2aHOYh7fCbOGhlk+NH4O5EDvXdZUK/zhu2xcHx8EG3Ay6X/y5Lq0KVOImSPLWPdsucEgRBELcfCKotvdjW0GDYE/BiTmZ+QAA81y/bhzS04ncBAb8OCKjw8u6nFwNIP72dl3UkOqLMxVlmMf5hb0II0elS2mWUy2f5ej+WnPDnghwUaCumGA0o3CyBUcfe69L90XgrbkxVH6niOyqxCqd4V8kvprh90R5q9pO/zzMcK3cItO+yo0I+46MTlfjJFydr7y1xgC87WGS/MEmDrFmWUaaWmCKQ3sStnmmU1QUrkFkr85cX+bLkecvSDdI0TxOjPKSRTuIge5Gf3oRRK3RRCpRivhXwgJbVQ+oEdpWRiyzBZJsLpgbJMpWDwMFH5BoqMcRJA7MVyKmltmrzl9iVb3Co3enYdNSl9bwb+0awYRiCY0DMfMI9ulolthjHHseGamsRe6gMBCsvNjdB84FN3VCvXgybvjJJ1hCJAwizOOGQOFw8sB6G/vNovbN5NFFW8PjhLsilwhWiMv3hx+bFKs6tkNmbTBb6PXRP9PyqYt2TEyWlQYyk8xorYBh/naLAy8Gp/T1lnPgOCsXCNOX6PHSb4E9LqcTCSaEeL9QnwfjcbtwYnVTk5dBxCLPj/MsmxQ3x5QgDQnOsThjpgk1zEji6uz73FazQLcfl8Y/lBU2oEidRhEv/H1MlCIIgbiG9ebFr2Rnp/v69eTGOqoF4MY5vKkr+kJd9Kj5mqrfRwWLE9T6E7Fi8TrskwO9aavLHJQUoxIY8l5qishjskZGKZOOiewtyrEDYjHwQ1uIkYHjT49QfD/Dpnn8uMDxS62T1JlxO8EHuaiESZ6EOYhBoJ/LUCC3v7LqjJdcKdO5CjyhpYI4iokwZ16BObNJkTNPBZ5WttR+z32nMAeem+9iHyCafdm055zb1EfeZT3rMe85z8cuGFa/fgrRXHyz+qSFzpk6m7XQxiIRxbAwoy8OBg+pWeTGAjnTkNDGLExaMcpZcaXTGijYHeeGHqh0dLF88LeALQ5zUh3saJLAnfmxeLHlFA9OeDOJrZYqlmX20kvpojTDUif3+epEo3kO9v0L3XAtQbi7sbsfQpZPipnuoNPrz2ylB9uLopByDvfkAZtQSNiM2snfiIQEnTvXC1jkxCrXjg7+BFbrlWHkxJO9ueqc9QRAEcTvQmxe7mpWR6md7L8bxbUXpJyUFb+Vknk+IbfUyJOh0dl0H92B4PEeJpNLFeWtY8HNpyUiEfVZa+H1lKda1If8ozs/q+k4xYbATQpT+vn3mxlTNiXpRTGfsqpLw7863Q5w5IP610PC7aR57C+yQWUMhd7SQMuPbKwWuamGoszjZKB7lJcn3l1aHoe9aPMrIs5BriGTGY+6zn/aY96wnElsLXzQseskAn7X0VXawehicO4VlPzeWr3fQugrZo7ZDknw/3dODeXD+1noxoDlZz7fr7BlATF4dNOBnIfvJpwsMF2qcutoxRhjhrHmwHicXKtM3PyovVnF2uc7X9CY4UZSb5r5atECvXG9V31OBFD8W7i5xmrfl/Y2wY7joiRI94YUx1yx89V4a+bwYr99PzIAPuh3Ylh5kJzX9UuBSAyM2uLNsSLzYJikPxoGKOkCMVG637iFYoVuOtRfzsbN+5zVBEARxW3JLvJiZ/1WWflle/O+yIlitT0sL387Lej07A7yZk4Ep/y0vRh7t+0p2yeFgV3iI5d2SbFJsUtzABhB4voUduExpCg8gBJZvTxtM4ApH9t5sz6fGOE+JUmludiPi0OWhEho1wjgXSam/vDaIvZsRTIxUzUvQgOmx6gQ3a2MoTjZIx0ZZIp+RLF+QBlRbi9QHKhHgITTSXWl/oerVybprU1ienYJgDw2lPlwlDHNGOZz4Al72XB28zB0NbGPNdkeVo8DSiPEdldozY9jDY+Dcci8GE6Rcn4e5ZiEmX5Bk42qY+XSh4f4yB7nFgKLI5oizfXDksJXpkx+PF6t9bK3Gy5lpv1eYkQpxmYIjQAv0xYttOB9xKGIVSyGno8HBaWV1X2xDSlSc58frOng+ticW8NPd9U9Wx395qwf0+O/s/OmRRqnQVEO0g2JhGlv5EUc+O6Vz4CaBSFHWAit0yyEvRhAEcYfStxdb4uP7qn/AbwMC3rbgdx0M3YvdKv6vquyF9BQPiyE7EHaIolw1x+rQJgNC99REaV04AkiUwclXLxro68as+O1U9515dlWBCm+dUCnmy4SIO1jwQS5i3FXCQDsRR4KrJNdLVuAjHx2ibItRr0nXHSiyv1zv/JMJrm9NdQe/m+4x0EHRka04WeFoJ+viB/luGvgs7O/geaFVsSCNHcrDQpWbHUZskEObs+J1Y8M9TgqdKTg0ScgftBEDt96LoQ7PtbCHdHvkzwlHHRJYnw3DG8fA3+caVqfpLB5TYyXO8sEBg8r0wTB7sQSBeIS8WP3VzYlL6v2rUuqf3og/rRh9dbNfRTLahBXDQ4eG5r4a7H5/0F4Yx/fQIoUEBB5adJ7oHu/rBmzFiiy+Tmb51XOyl4lXJPj+fWrOrR3x/h9Tc+r8XWEPUSWIr5ejwiMwjr0V6j1lAs+Ot7MxjDgo3uXK53BDtxbyYgRBEHcovXmxK1kZKX5+Rd5ec/y85/p4L/PxWe/jC7b6+B3wNZHZ73EUbzf+Wphb5uJsOWQG+7O+MB0NMgg0x+vE7B0+ptJQarpB+pbtbut6e5rH800uL453faPV3baReXe+WGy8PNrZQ935DB3Ed1EPwqV2R3t5vKQs2PweK0jrKmx+wGXF66y1ubNY+YYXaq7Qd+4LhAypfFYysgzY2cEx3F6sLliBPBdKZqP6cBdssUe0j4wTRruyh3KHkPB9acKwvHEM/GG6R2u0Go4PGzJLWh+Ojg5UpjeG1YsZsqP4QgFKHlYvVvfUxtITi8Ka8yQadgRL97TQqkdWY7oZGLHY2RXCjjE3+E5K5aps7PsAuN6qOTFac2o0LDb7581QH6wQRroy0s4fBbOc5ZINKf5/mpx5Cx0Z7Fie0d50DKNBXFSwY0i+o+YjhvbSeGGEC84gTgK9k/6u03BDtxbyYgRBEHcovXmxRzPSIr19ipIN0ys9mgo8G/M8azI9K9I8S1IMBUmGrDhDapQhyMd4J3qxr8pLdoeHOklN4Q0rIV+c7au7MgkNMjhUmwvZpzM6YleJgKkNVrw9zf3z4UklDB8vT3S1NmJ6uXJltv75myQp+gnrW5MNaHCUDKHBnAPEE0+4rvjlnfSMGMxj01EXGEnsglmmt4nd9G0IfTLcXqzIV24KY/mMKMEDW+yZ662qnSXIpGBBs9DDgEMahQwHb7S4N4UrVWLTgcFKwJfWR/QxMoP6cBXfTgG7BGzuxdxHhaJYwHmxuqc2lJ5cXHl+JcwR/hw6o69tqbywMmFxnT7AnRuRgxXD8y6Kr3rUZMfqnt6Ys2eqyt30TCtyW9KaMF3/3rE+FHSXm2VjItm3aHWcp5YK0it/MW4UbNGt4s9TMou9Hcxj2iNFBX/an5tabYi0NgxfB7YOMWKporzF9dp/YYhuIdZejMbuIAiCuEPo24ttnuL+jzPOX11i+dsplz/e7/KrQy4/2+t6bavr2ZVuOfGGO86LfVtZ+kxqcqzOIshEgsDPXn2wEq0xeF5okc8ZBduC8jhpJPzxEUqkEu4UO/avhYbHG5yT3C0sKgJ2BwWsQd/piYGi2lWCBmdtWLv4QsYQIx172HnZz+8MOwbbOPoeJ52bKRIzSSSQFAQgnYQdHArD7cUyjR335cKLJRuwxd5ATRTzUhltx/LtGheutG19LHltilt9iNIyO8bIxbLmGN2TPd9WpzlaI3DXwi6B4fNiSJDVX9mUvnGia1KQX1lS+qaJNZfXYoGhUPv4usxtU/zKEiVai+e52o2PUCYJHZdddnpp7RPr09Y324cYzE5NlOipvTBS0fXzLcp1eezrv7vJqJZdqoiFJ7qFfDQtpznEQy02nYOCAAf1vn6PuWQL1PvK+c4qbJqT0MPfbvvjMES3EJfHPpLnNKAynGhMe4IgiDuF/nsxKz487VKd4XlTL/b34vwvyorw4TbhzZyMUhdnscVbpBFtKpdnoSmGCGJXeWsCo+z0MjIhU+wnvzbWBTYHoebtDDeEQrC9GNU2i6+VySbFaR/vNTExSF5oVS7PtBxVgOHzXIMlZevsF94wwOzczsCI1exwtPfuPGVYiQSiJE/10eqh3J3IwR5FI+PFBIw41w9b7ANYS0l5sLn/HxILmM1Z+k+H541j4Eaza4ZB2m5KTOLbK+TzUtEsqI8VmvtrhV562CUwfF7MJda/8sIq52hfVAa2SG1wDB6TmbWjterRu7DYQCk/uxwOCyVojM4okBMjFYpTjNLRkWhf/ClSSH2KEyJbirQ+Lowpi8k+zaru92NiNuCFVtX2ImGIEzZtqXAH9f6c0K9sOo7HO5MyXxmT/MfJmfjcfz5ozb4ryd+obu/+EvBlU+KHcmPDgHm+RZzpgw4NbJyVUCTLrHF66I/wRLcK50sfSpNLUBdO4lQv7cXxbFUJgiCI25th9WKrgwJq3V3XBwd+fnvYsQ+K8qZ5G+UWYydC0tERtrq/Rff0JHbQAwshds0yyp5ocB6+8HXo/GOeYW+BnZ/ePKgDK0YjlTZGaR9twn7ZHDS4Ymkmo+4Yi6xdWjdhzjz9wpduXzu29FUjDKODjxjmsVNCvijBk82r3mysif4A0zFSXowvKQrEFvsGuSf2jWMdRwb+89IKT1U5oqhh4rEG5xAHcUfWFJtk2JvQVmZ3f9xp+LwYEmFuycEoFjjH+CMXJpB0XiTxWefr5pkZETWtJGPLpLJTS3scc8OSyodXYcmQsdnuo0LUHg78jsEA8S0g9ySfkaQ53QArIZsUz2vP9QilYrGq45uCEYt1H1Ej9tJU5ZocYYD1S8einTTP1CZ8NWdIRuybOYX/mJrz2rjUR8pidmUEz4k2Fns5prjqJoV5vNGUigX6ybdzC5+ujg/UK1ExSFIWrB3BNz4D5PctRyLiq/XqlvW3cBAP54t/k8TloSacJMWBtu9GIwiCIIaB3rzYY5lpcT6+N/VixYFBX1f0+tovezE7VrWLVLo9LKQPyzYyfFJSMNvXWyfu3FkIgZD2oi3tBroipTVhKNkskYBBbLk1R//P29KOvT/HE3Uzas1Pw7NCdk86JnJYYxuE1so1uXB82JxZSntBUI5ixmPuMD63G8teNZbeZa/3FHUxYgI+GycfqdZft4ERA7ebF4PBVK7I4juZIl4ISas0g/Sl5uEax+OzRcaHa52MGtaSmAQ75qNXbsxHMoKtUgfD58VqLq1xiQ9AscApytcxwhu1gJCkE7hrcErjMyRRy2GsHEKNXnkxOXumYsXuIBEWMbnAOcYPSwosB8Tgsx5TNjlOfW81uiawOwB2TD41yTLChyS5fpoH+nybmK1R3pXDd1Vh05bKNdi/UJ/0v3Yf1Aefz8w/XxqNjNWh3LATRZFmjhVGbE0LWhznU+PvkuFhF+Ok8dHK7WVicweQi0J6ODcMJfSHD9tylif6IklnHlORfdfY0B7VHCi4gknKQ7Bps4Su3vp1Z12f/wbOaORxfvhdcVA8qsFJ1hiFvkHUkyAIgrjN6c2LPZedkenvv6zR49eHXd490QNvHHQpHeU5NjT0m15ewfyf8mIuA4UfS0+5bG9E2De3zo59VJxf5OykEloEeAjxpCLVrlI0gm3RPdZslR2D9DL+6BDlH6Z7INq8fXirzX1ylAp16wiIWDFSobQ+oreHdGzJ863K9XlWdowvZDyjpPV3O8L+3D4secVQstpe5y7sYsT4jDDUmY2TbTeq9sh5MSEf0Rq2eFNQJVlLPGPxEj25iGmJVv1lli0rZsm/FhqeGuOstBzHg21qJ7ap26vEMXxerPrRu1ziTF5MKJeY01iSfH/UQbk0U+BrhyphCiedj2v2zlas2J3UdeNFCinsJBYzieGJot2V6/I0Z8fAfFk95YT4GeZX4KXHgpAkx09zqsFqmWEFl0TLl31zyjHYv9KYglQUfFAfYIErNQkuColaLITPcpJLzDjKJVqJSCkSCCybwkLoDJoRZejP3Y8Pl8ckumhV7QlETgI/e/U95SPZShzac42WzwjjWxZ6Bdvvetrt+ncwRyOM84W/iHwjUAtO8rYEnLmoJEEQBHGb05sXezUvuyIoKMjHGB5gjAjsAUz39zKuio35rhcv9kFRHufFIPz6IkeGwv9zK25WfK8wN1St7h4DsMMCDM9gyAix2HEPLB60gZBQCHcS31fmgGjzlvP5IuPPJrmV+8vN/dImMQzyeujyxV6MBO1DBFjZMXxRIhmTMlEz/3lP+KBbzsIbhtQWrUzNZ49jCwm87bRnx9g2AkT4NEJeTMSXNUVji/1B99QEYVSXIe61Uv6mrGFM9eL4vFjf9WEl9h3Qvpa52uHzYhVnVyAdhmKBaa8FfIFRh4QR+5bk661IwagPVclbEhg5a1GxcOmJRVixO2nrm8VKU5vjSisbH6M9Pxbfcl/+/XorgnxsS7W3DFcS2x5gN0UY44aqWirTww5G7LubGTEAJ3UwJwyrDE6Vfs5/nZKFcnrjtxPSp0YY7KSWbyPhwbeqthb11Z7Dx42pqp0l+FpRDZOQw3X1stv5lNuL38MfjSROD73Dt3NBFTgplmais4utJEEQBHF7I5+eZPlTArsE8wL+U1HyWGbakpjoKeHhE8LDOMaGheYHBppJ9fd7Pjvj+/blu/ObnExZhxfjpBWJ9kSEfl5a9H/tC4wA31aUXk8f5SLtEuqzEjCSouG9nR52Rrkymx1ryzJuYB0Zk+Ul+0mzKzr/v2gPO0cehNBnqx0dFV2+HUYu4okEMAKo/IhyvVV9dxn7cIqVK+TxVI6CsrX2i14y3Kr3Qa98w2vGE+7B+QpUposQcXlqtY/Y8u5WDkTp6NDGFjg1hir/atP0k4UXE6AfBlvsJ9ozY/jOaqxnVqij+PJo5y+GbZjQfy00bsi0fge0Zf/J8HmxkuOLHMK8UCzAd43tol9FUh5iPaDoC618BwVfwPdtH/e+RwoOz3EM90IJEK60mlOj2RVvV7RnGqySYgku2hdHJ8EH9Yf/zMpfmeiHtW4inOm4DooF+Bd/mRXuoLpSE49yrPhmTuEfJmYsjPVBcg2LdUokECV4ao7b4NWHg+f5FvhrWHVUx1KqhoXOlz90u/4/uKSRwenB32C7Zqm2F7PVIwiCIG57FIvTGX1HeGbhxYbOK5mp5lfAmCUVCMZ5ur+Vkznc9yvChf0pP2dVkD8MILZrKUYqZJ9rvjDs4/3qrk1B0ocdi0xk3Q7uauGSZO2L413/Msvzs2GLZrvz8XzDr9vcp0SrUIcuYhhGK70FRqwDzQN14nQv1g8yqE2nhBLGL1U2Zr/T/Bc8l4/gO8jgwrDFyk32SvsujhVCWC6KdR+m40f39CRpUzS2wsm2Xgy+yezFEAkr5qdhi/0HmRpGwaaBzCrwkb06yQ3FovDh4L3ZntNj1TJh5zHRfl9xCSoDhs+LFR6Zax9kQLEApwa2i+SLen8FNmoJXABmiVWyiCmFWKtHqh5Z7V+RzBUCyW7dKdYfNCfr+fZdeh58tPIdGUF/mJTx31kFN31YrIsXEwkYlQQpb8DXyWDxUDLfVS3w1ovTveWtieiBkY2LZn1Zh5zlkvsLIsxb+fes/L9PzfnV+LTVSf4Gtem4NQnfjKNSNjZa98Tw30p9M1AHaV04jDbqZSmBq7d2/n7nh991ffZLeKXh5cb/ORy8gY1ywnmq2lOGuhEEQRC3P8Pnxa6np3T3YpxS7OxOx8d8WJSPxWwOkm6flhReTk7IdXSQIJSyFMNDeCApDdKcGYN9HxnUR6rEuX6MumuPbrtcVYKxYcrzNU6vTHKDS0LwOXx8NM/wi8lue/PtvLRCbLqLhHyBn71yRRb6eFHhW4X2/FjEZsg3IdBCpSwlkfOD8xTV2x3bLrgN92vI4MLmPe/ZdNQFW+yIoDuFqFJaEaJ9ZFiMGNA9ORFxHTbEybZe7MO5nqM8TTliRiJg72Jq32j/kU2MQ4yN1TlJBMzcBA36E1D4MPFWm3tNsEIs6PgmBAyCee5OxeHzYjl7pul83VAsgI1C702P93PKp7J3kyqcdanrxmOtHqm/ujl6RplQZvKw4lFGrHjbgpyjKNET9bSUSizMNdgfyg37TXM63BZcUm9grtmLCYOd5DOSFSuygWpjARy0al85m0q2uP9ZfbASXygW5iTi8xfF+bwzKQP+6/n6xB3pQQ2Brn66Lt4QgtEQxXmothWhhNsE7aNNOG3x44LqdZFAKAqI1s67x+nkWy5XPhvGGxdf/J9+zWlskJPAoGMHFGqvG0EQBHGbM3xe7Gx8rLUVspCdWDzN2+vnWelflRdjYVuBdNgvszNWBQb4KNhfcIRR+NckhuG7qGXNsdqHGrHjI4nuyiT5tCRhTy9OhdBtHO8m2Zilf2y08++n2X5wD7i8n05w3Z6jT/OUSi1SDJzYwCbZwHai3gYPF+iuTlZuLBAleHTvZIakKr57uCR3vn7cEec5z3jAN9kW1oU959mwzylutFrl2O35QjhWb718ehK6wVHVYWJYvdgfZ3gkuklQLAR/odxciC0OCN2TE5DUsLwjSy3hr8vQIcP7k2ZXHGbw+2+0uHPARr0z3QMbBchw/X2u4ZOBdzh8vsh4dawLDl3Tg41iIXpUpI2RqMzwebG0Dc1qT0cUyyIRiTO8dY81Y4tWwG6gRnp/t/Izy7BWb6RvmoDSsCQk8LXHirczSP8hCYiqWkkjERYYHbamBb7UkPzRtFw4r+5YejFxlq/23E2utDjacRxiYbMiHNTwXymuemwOf1pLLBCGOqFDQHe5h6/j1qK9gK6kKL6LqntXEiOWiiNGqZpX2G17zOmhd5DDYt3T0Ln+ncsTnzidftt+73P6tWdk+WOxLU7CMGckbVErgiAI4vZn+LzY4aiIzlcq4+fJIn7jhGA31d5ufUjgzzLTvrLFLYvv5OfsjwzPdXLoHDPEHE/zGVGsu2J5lu7WDfOrPlAhrQpFjyWq012oqL+daFy4cn+R/UvNrv+0xagIH8zxfKTO6a50XaZRqpJYtz9ah++klI6O0JyoH/pLim0I6gPLLPC3Rx17lJ1BFF6mLF5pN/Gky+Kf2uB9ZEtfNU59xK1ohV1kpUrnIewyWGK74A3FqUZ0xeueGd6hyRCdWnqxXG/5kw3OMDV/muGBrBa+05uCBOj7czyx/G+mur82xQ0W6do4l8dHO5+vddqTb+ejE6FYCDGwaofpZr8BcKNNc18t4mGUYJZKzB/lIYVdyjBIC3zkZf4maoIUSPs2hbO0RqtmxqnnJ2pWpGrBpiz9thyWwyX2N+WeQvuGMLW9UsrvuJ7w7eTa842D8WLXttQ9uaH64l0VDy0vPbm46Oi8wiNzWe6dW3Z6acVDKzAXiyUuG41sF4oFQh97zcnR7L53Rfd4M6wBI+B7pIXVX9mEtXoDW3GO8UO1IUYpxrq3Oaodxeyd1b0o3lk7PdJ4JC/sxuikf83IgwUzM1AvBvgW73zvSyKB0M9e2hilvtdm74+wOTgkFMsz8UPDiE0/QFYSuvvKMqrVUzfr159z2H/d4eirTid+BXfmfOEvLo9/7PL0v25q01yv/df54b86HP6pft1D6rZNisqp0lFlIq8QvlKL8s1in4Z+pAlVIgiCIG5/lKuzBUYd+vxxAYd69GJIXX1SUvBuYe5vc7OQyfpJRiq4MirpclJCHzQbPEUdsRMjF4vTvJB/wU8q/rSUQihIsdOvDAx4ZbCO7OuKEtRnV3hokbOTg8TU7W8pRiKU1oQhctPb4m28QwEJMsTzksIApusD8mbBsMJJIrKdl6g5VemI5ALyAgiw+w9MHEL3h2udNmTq64IVwQ6iLmODmyUSiOI9lKtzuNu9bjeQIFPfUy4dE8nestiTYLKlajZNFl2jKlxqN+H4YEwZVpl8xhWeLqZW5ZUglWl6aig4VneNbHIcHOIIOFbWizVGIWJnDwW4TrkAmaxCX3lFgHx0iHJipGpKtGpOgmZBkjWz4zWYC8aEKvG9VwYoinzl2V4yHEtxrpIIJ3GgvchDLZS03xKGMwIx8OCe7mcHpVmfx140hiCZELvIBy5KQX9wUol1KqXQ/E4KIV8+dxTO6J692LUttY+vR64q/8CszG1TkleMiZ9XHTG5MKQx27c00bsgzpAd5ZEa5poYBIvkFOXL4Z4Sgok+RfERU4o8c6OESimKBaI4T+x1d1RbClERkVwS1VbMbrQXah5bl7puvF2QBxaG0PJY9/ZHfaBSUhbMPr/Zk9CN5iATJ7hoxwS5zovx3pQauC096L788MO5YaMDXbEA1E8vJko0YOE+BF8DYyhrjlHvK8f1E6vczuDs0NxXI60NZ3QyVL5nicRCFy9xYJw4fJQkJkuaVCRNKZVl1clyxyjKWxTlrYqqaaqmZeoJK+HaNDN3cKhb1qvGLZEXNsF8iUOTBC5GpNtQmFnmjkccY/I5oyzvBSUIgiBuZ5Tr89lMDfJWuIYzzIrAgOvpo87Gx+4OD13s7zfFaKhwdc5zdMh0sIdjitfrorSacI0aBKqUfkpFH+jFYhSIYiEEfoqlmYhmpY2RjLaHHym1SBip0dS7u2G7v8zOgMPqm/9Vlv6tKP+FtJQdYSGNHu5Y115seiLDSqIYN+Xa3B5vMbo1vNiGHkvl5kJJQQCj7vJjaim5iPHSCuNdJeUBcmQTjpU7PN/k8voUt7/Ptc6XcRmQJxqcDxbbIyavDVYku0v99CKdlA3me5TQ114xZxQ7pNttcF9ir9yYqntqIgIw2dgodjhK5CBkIhyjqL+l+EJGoRc4+Yu9EmRxo9Wld9k3HnSa/pj7kpetrdmSVwxzrnnAfNXtcspboI+uVnknyZwDxUo7Ad+6h8AkRiqSlASp7i7TPd11AL1hA9GmbEo8dpY7JbsLk+Gn4GWsQPNgbn8l4DNaqbrbYBT9hK1kazz7dYyUcCURCATmvBjqL5sUpzleJ/R3gF0CYpU8srU4eka5f2WKR3q4S6y/Y7i33t9dY3RWOutl9hosIJRKsORNEAiwpEgpwwf2Tz5fUh6CXe6OfFYKWxGJyCMjPGZmefau1uJjC5FZq7ywiuX8qozNk6KnlRqyIzVGJ/PzYrgcYd07gBtt6KVR3pUjSvJEChU1701iAV8rEemlYjelFOg73mctTvXqz2O56t1lOBSxfHcJvO0kxYHKu3I1x+pG7AS0CbrLzWxXUnVYH1f4vsTwGYmMkSmQ7eKr7TgYhRoTMfMmEvDFOX4jfx8+QRAEMWjQu2tOPSDUcZbLPeUyZ6lELxYphEIJohHMGLIEfvbso8Q32hBdqzYXsm9K7SgXURb+5SRkGGzXWyGP1GrGuLvDDO4KDzkaHXk+Ie50fMyhqIitYcHLAvyqXV0z7O1hBlFVnUhkzr5ZiVFKZOOiNWcabsd7Wq63ah9rVu8tl1aFIkOA2vYmfAEKMeOkEBg0Qh+dKMheFOogtsTfTuSrF7mrhUioIdEg5Fs0aDfB1MhbE9BfrbtmGhj8dufFNt3Tk9T3VisWpImiXJEQwV70JqGEkesEaieB3lPk4COCQbPEwUdsZxRp3YRKBwFyagIxYz4IexSCSfXBSvbFB8OfDuvkhVblury+D4nBSyJEqIb/IZz1uo7B4QfMDXagFaR3+/46bC7ztYLvokbHjubB0aIIV9glwBcIpFqlRKOA4eILTTZq6PDtlZr7a9hd7oZ6dylqgjoJpCKxWi531Krc7NQeDmpPRw45awBlqAyW4gTTodpRjHXvGF5o1T7apFybJ8n2G+gxKcnz1z7cjyFuXmhVbSsSZ/gIAh2FoS6iBIO0IkQxL1W9twyGgj37bvXNDING9+QE9X018rZE/PyhQYZb6DhiFGJpeYjm9JgRvWQRBEEQQ0N9tEYY6owrOYTQA//aXkK+uMC/89cBiaGLTdK6MMyB08AvCP7vLvgyMZ8v5fNlAoG8HXzAn5goMMdkvUnIFyUZ1IerdM+1IG5kN3p7AnP6XIvmVINyUQZSh6j48EngqpbPTEbL39rBEgcJvsQXWnXPTMZ3ihgPuzOMEgvEGd7qQ5W6q5PxBbFbH1l0T06UTYxDWIW62Fgdpw3fQdnjM1ADAHbs0nj2dsruY8cNm9j7vtDXIBerD1Xhq8GJI4o0jXY4HPAVEvY2TvOFy4rrrcjyo1b9ESMWirN91UercRiz695ZXG9D143mdINi9iihjx1256Zi5CL5vFR8R+zqNwX9Ldem4HTDCc7ybAvbSv1c9zYHF67nW3GmqLYUsbfoI989DMJvB/r0FCuytGfGsB0s2Cg2TRAEQdwh6J6bIikLRoSDS7rtBdMkFogSPXu8RVC9p1SU5Mlu+mbWqr+Cs5MIhSFOyk0F8DjYxJ3Ei23sHUGxHtiF9jbB/gxNKIENXEXCMGfFonTWhWErPwgQcihmJguMOhxd+NKxr0MVChEJ2JCmMhS5MDYUbN/QrQJxqXpfBXrUkS8QJXiKQp0FRj3fXYOOi3aEOEhMiAXWYCIHlpSLsKIgwEE0yktSGCgtCwGKxRk2HAoSwbP2kSbthXFWaO6vVe+vMLGvQrE6x8TSTPn0ZFlLAgfqwyEpChKnerM7yxHG7jIH30nFt1fgAzpYZBNitZdNTzgibyJJ9WIkIjgdBrkwgQX4U4TWQDuIAF86QGRigYsG8TMMFzbUB7C0MKSiGHeBm4ZRS+ET2a+AA1+BWiqK8/iBnX3qw9XS6jCksbjjkPUXova3NnOg2dVS6dgo3W3/bNfIg2SubHI8DmP23ETrcU0nam83XII48GvYHUwXgPYl0cI4utRSYZCTfOIIPcdKEARBDCuaozWieA9GK0MXNyNr/42QixilmH1Hp16OAJXvqgYCT+1AEUa7sYFf70PP4feavfcszgMbYn/W8aMzCMHxKcSop6QoULWxAF2sKPlO5fkWzbE6+dREYYQL30WFrwBfB/tDDLHG6ma5ErhRmYivlfGdVewv9awUzYNDS3/cxqAHWLW7FF+6wEvPt5Njx7H7aANW/TmQOtpK4K6RlAQpVmRrH70zAmacNagqy+kxmnurNUe6AKPKzsK+/Ai6x2EqVZsKFTOSpcWB4nhPdGUAcbyHJNtPVhcpb01UrsrBAvDXaJkBcKyO7T4aYIire3qS5nidem+Z+kgVvhd8EbprvV76fgDgwo7Li2pniRIWe16afG4q/lWty8PEO68rbIS5wQ66iOS7akshfiJh0CSlweKCACCMcbdCnGwU5/mjm0g2Nlo+LQmtrT5QgYsAWw5BEATxQ0H35ETl+nzYIllzrHRMFH4aEMYrV2artherj1YjrtN19EUPB/hZUW0tktaEiaLdBN569IEjSGb7AHsTAm30DaolrOPws0feDb9Q6IdHUT8ktOfHKldkodddnOolDHYUhjrBMsPhwhezOCj4Tu022U2DRhMGOsC+idO8ZONjlHflak83oIQfCeyT8jtLpE0xbENFugiDHIUBDnCybBPZWWCv4LupkU3DXGG4izjdWzYxTrk2T3eVohqCIAiCIAjixw76ojWHqxXLMmXNMZLyEHGWjzjZAKtliTjTR5LvL60Lh/9SrsvXHK//4ffB3mB9meZYLbrrkQlSbioEiuVZ6CDFB9WWIvWhKpgvdMvf9JaqHzwwVuiWVx+oZPsWlmehz7mTpZnohVbfU44FkE+htiIIgiAIgiCInrnRprs6GSk52BBL2MGNf/DmiyAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiCIQfBim/6FVt1zLdqHxym3FslnpUjy/cWJngIvHd9ewUiEPBJpBCTgM1qZwEcvinDBEShrSVBtLdKcbtA9O0X/fIv+epv+RvvhShAEQRAEQRB3OAhxtZfHa47XKZZlSUqCBJ5anpCPiJhEuq0EgyZO85LPSFYfqNQ+Mk53ZRLbe9B+DBMEQRAEQRDEncQLrdpHm9QHK+UzU0TJBkZKaS/SnSEcq8IAe1ljlGpXieZEPTK57PFM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bEXMYuJye4YMHfrGG29u377jiy/+/sMPP/zxxx+aQhW25cs/VkcZZDEAAAAAOVnM7fE++OBDig9nbr/88sv+/QdUQZs9Z85zz0258667xtx44yWXXtq//4B27Ts0b9GyabPmjRs3yVFWVj8SjakUpY6yFTeLidVmD0eiZfUbNGrcpImG3qKldO3abeDAC4ZdccWo0aPH3XbbpEcfnTLl+VmzZ7/33oKNGz/dunXbsWPHfvvtNx2NP20vvPCieskgiwEAAADIyWLSqXOX1atXK0FkmupEu3fvefXVGffed58Cl7KKPxBUOcnhdNkdDpvdYbHalLBMZovp1F2dpaJnsYLqmcwnZ2SxaGqaoPKaZqr52h1Op8stbo9H0VUBs3OXLucPHHjFlVeOvemme+6996mn/qbItmHDRpXYdPS++uqrrt26a4cZZDEAAAAA+VlM0mX1R19z7d1336OSULv27T1en35onNLMYpWn1KZCmypuinX6NoMsBgAAAKBgFqtaSiIVdSV9oW/zFT2LaWAaof6jr6sBWQwAAABA5bOYQpbb7QmFI/FEQgU1VYJatW7Tuk3bLl279enb97x+/YcMHTr8qqtHj77moosv6dCho9vj1W9lK24WU/WqXfsOV1wx/NJLL7tg0ODzzuvXo2evLl26tu/QURNp1rx5w0aN02VlKm8FQyGvz+9wuvRblUEWAwAAAHDmLHYyZ3m8yln1GzRs1rxFm7btunbr3q9f/0GDLxx2xRVXDh9+w5gxt42f8MADD06ePHnatGmvv/76e+8t+OST1WvXrtu3b9+33377z3/+8z9ZbevWrbfccqv2nK2IWUy1sA4dO61Zs/Zf//qXhqf2/ffff/75F3v37t2y5bPVq9csXrJk/vz5c+e+NuX5559++ulHJj169933XH/9DSNHjrrs8ssvvHBI/wHnd+7SVdmzQYOGSqMut0e7PTOyGAAAAID8LBZPJC8fdsW4225TwnryySenTHl+2rTpb8+b98EHHyxfvnzDhg27du06dOjQ8ePHFVsUXv5qO3bsWFn9Buooo4hZzOly33nnXRrVX2p//PHHzz///M033xw+fGT37j0KnkuXLps3b97sOXMmT37uoYcfnjDh9pGjRiupKcOa864beb7TtYYsBgAAANRtOVksEo0pShw8eEj1rBMnTih3GNFySmNFzGLhSHTBwoUaUhU2JbUff/zxiy/+vnv37kWLPrr22uvsDqf6yhjicm+MJzUYAAAAAHVWThbr0qXrgQMH/mNwe/HFqeoro4hZLJlK7dy5U0Myrn3xxRd9+vZVXxlkMQAAAADZWczhdKliZVw5LNNeeWWaussoYhZr2Kjx77//riEZ2qZPf1V9ZZDFAAAAAGRnsWAoPHXqS8oORrcSyWL1TOaevXprPEa3tWvXqrsMshgAAACA7CyWSKaWLl2m7GB0K50sdtVVV2s8RrcjR46ouwyyGAAAAACymMZjdFu3br26yyCLAQAAAMjOYrF4YsGChcoORrcSuXaHstiwYVdoPEY3shgAAACAHNlZzO3x3n//A8oORrdJkx5VdxlFzGJ9z+un8RjdyGIAAAAAcmRnMWWTnr16Hzh4UPHB0Hb77Xeou4xiZTFp0rTpV199pSEZ2rZs2aK+MshiAAAAALKzmASCIRWtfv75ZyUI49rQiy5WXxlFzGKa79y5r2lIhrZNmzarrwyyGAAAAICcLKbSWKPGTZ5/4YXvvvtOIcKIduzYMX8gqL4yipjFzBZr7169Pl27VgMzri1c+L76yiCLAQAAAMjJYqJ8omrRsCuu+OCDD3/55RdFiSpsP/3005XDh6uXbEXMYmK12Xv36v3+Bx9obBphlbddu3b16z9AHWWQxQAAAADkZ7EKKhg5nK5YPHH+wIE3jh17BreOGzdz1qyjZ2z79u1buXLVk0891bJVa8upUUiKm8VEs3U4nV27dXtk0qSlS5cdOnRIY/73v/99/PhxfaG2Z8/e9es37N+/X18fPnx48nPPaeJnY9DgwaFwRPtXLxlkMQAAAACny2LVqehZrJqRxQAAAACQxaofWQwAAAAAWaz6kcUAAAAAnC6L+fyBps2at2/foUOHjq1at2nUuEk8kQyHI26P12K16wFVqPSzmNlidbk8mrt4PN5QOKKjUaF+g4ZNmjbL1qx58zZt27Vt175xw0Zej1e/rT1kI4sBAAAAyM9iNruja7fuTzzx5MKF769YsXLlylWLFy+ZP3/+7Nmzp02f/txzU7Tp4YcfkXvuvXf8hAnZbrxx7DXXXFvQJZde1qp1a6utQI4rehZzuT1dunS97rrrNYUKEybcrglmPPbY488+O1lzr/DKtGk6GhXt7bffXrBwYbb3339/2bJly5d//N477zzx+OO9u/fIuVwJWQwAAABAfhbr3r2HItjZ3O75999///HU9u233351mnbgwAEFO2UcVdzUS7biZrFAIHjruHHr168/duyYppBpmmDl2y+//LJ21apkMqWOMshiAAAAAHKymMfjvf/++//1r38pRxjRjh375uabb1FH2Yqbxdq2a79nzx6NzaB24sSJMWNuVEcZZDEAAAAAOVmsQYOG8+a9owRhXDty5Ijb41VfGUXMYnaHU0FJcUkDM65NnfqS+sogiwEAAADIyWLt2rXfvHmz4oNx7Y8//ujeo4f6yihiFvMHgq++OkOjMrS99dbb6iuDLAYAAAAgJ4t16txlz569ig+GtpEjR6mvjCJmsVA48s4772pIhrbXX31VfWWQxQAAAAAUJYvde+996iujiFksEo199NFiDcnQNnnyc+orgywGAAAAoChZbNKkR9VXRq3PYjNnzlJfGWQxAAAAAI/6g37z/2Sx9h06bt26TfHB0PbKK9PUV8ZYj29HkbJYOBJ9//0PNCRD24cfLlJfGWQxAAAAAI8HTsliTZo2W7ToI8UHQ1tOFpvg9e9NpjWYapCTxfyB4CvTpmlIhrZ169arr4xBTtd6shgAAABQt433+l0mswJCBa/P/9BDDxt3f7GKdvsdE9VXhsawp7qy2PRQpL7lf7KYze4YPfqa3377TaMyruXUxXo7nMtjCQ0GAAAAQN20K5nq73CZygNChXomc4+evTZs3KgEYVA7duxY23bt1VfGRU53tdWJngmEYharOv1/TKZmzZsvWbpUAzOuDbviypN9/VdDq212OKLBAAAAAKhrDqXSH0Rjl7rc7qyiWAWVigacP3DevHe+//6fyhFqP/zww5EjR9atW7948ZL33luwePFifb1x46dnY/PmLQcOHPh7edu/f/+8d97Rzi1ZZwmKCnPXerwfROMb48lNiaRB5yvuS6ZfC0e62h3m8k4zNJguXbvOmjXr66+PabIV7fsvv9yxY+fSpUs1X1mxYqXmcvZ27Nih+arp69vvuEPVRnWUYaln6utwvhaO7k+mVRD8NJ78MBqrtjQKAAAAoPppzX+B09XIaguZLQ6TOSeVZJjMFrvD6fZ4PV6f6AuX2+N0uR1Ol36u/+rrs6ffzdCva+fqIofiicajbdLAalsQiWm0VWhDPHmx0203mVX5U3c5NCS73eH2eBo2atyyVetUusydNV/R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IC9GbGF0ZURlY29kZSBdDQo+Pg0Kc3RyZWFtDQp4Ae3AMQEAAADCoP6pZw0PKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBvA1ET97YNCmVuZHN0cmVhbQ0KZW5kb2JqDQozIDAgb2JqDQo8PA0KL1N1YnR5cGUgL1R5cGUzDQovQ2hhclByb2NzIDw8IC9DMyA3IDAgUiAvQzkgOCAwIFIgL0MxIDkgMCBSIC9DMiAxMCAwIFIgL0M0IDExIDAgUiAvQzAgMTIgMCBSDQovQzcgMTMgMCBSIC9DNSAxNCAwIFIgL0M2IDE1IDAgUiAvQzggMTYgMCBSID4+DQovRW5jb2RpbmcgPDwgL1R5cGUgL0VuY29kaW5nIC9EaWZmZXJlbmNlcyBbIDAgL0MwIC9DMSAvQzIgL0MzIC9DNCAvQzUgL0M2DQovQzcgL0M4IC9DOSBdID4+DQovV2lkdGhzIDE3IDAgUg0KL0ZvbnRCQm94IFsgMCAwIDAgMCBdDQovRm9udE1hdHJpeCBbIDEgMCAwIDEgMCAwIF0NCi9UeXBlIC9Gb250DQovVG9Vbmljb2RlIDE4IDAgUg0KL0ZpcnN0Q2hhciAwDQovTGFzdENoYXIgOQ0KL1Jlc291cmNlcyA8PCA+Pg0KPj4NCmVuZG9iag0KNyAwIG9iag0KPDwNCi9MZW5ndGggNTANCj4+DQpzdHJlYW0NCjAuOTIyMDAwIDAgMC4wNjUwMDAgMC4wMDAwMDAgMC44NTcwMDAgMC42MTAwMDAgZDEKDQplbmRzdHJlYW0NCmVuZG9iag0KOCAwIG9iag0KPDwNCi9MZW5ndGggNTENCj4+DQpzdHJlYW0NCjAuNjI4MDAwIDAgMC4wNjUwMDAgLTAuMDEwMDAwIDAuNTg4MDAwIDAuODE1MDAwIGQxCg0KZW5kc3RyZWFtDQplbmRvYmoNCjkgMCBvYmoNCjw8DQovTGVuZ3RoIDUwDQo+Pg0Kc3RyZWFtDQowLjI0OTAwMCAwIDAuMDU4MDAwIDAuMDAxMDAwIDAuMTkxMDAwIDAuMTk1MDAwIGQxCg0KZW5kc3RyZWFtDQplbmRvYmoNCjEwIDAgb2JqDQo8PA0KL0xlbmd0aCA1MQ0KPj4NCnN0cmVhbQ0KMC40ODIwMDAgMCAwLjAyNDAwMCAtMC4wMTAwMDAgMC40NDcwMDAgMC41NzkwMDAgZDEKDQplbmRzdHJlYW0NCmVuZG9iag0KMTEgMCBvYmoNCjw8DQovTGVuZ3RoIDUwDQo+Pg0Kc3RyZWFtDQowLjIzNjAwMCAwIDAuMDU1MDAwIDAuMDAwMDAwIDAuMTgxMDAwIDAuNzc0MDAwIGQxCg0KZW5kc3RyZWFtDQplbmRvYmoNCjEyIDAgb2JqDQo8PA0KL0xlbmd0aCA1MQ0KPj4NCnN0cmVhbQ0KMC41MjAwMDAgMCAwLjA0MDAwMCAtMC4wMTAwMDAgMC40OTgwMDAgMC41OTUwMDAgZDEKDQplbmRzdHJlYW0NCmVuZG9iag0KMTMgMCBvYmoNCjw8DQovTGVuZ3RoIDUxDQo+Pg0Kc3RyZWFtDQowLjYyNDAwMCAwIDAuMDQwMDAwIC0wLjAxMDAwMCAwLjU4NDAwMCAwLjU5NTAwMCBkMQoNCmVuZHN0cmVhbQ0KZW5kb2JqDQoxNCAwIG9iag0KPDwNCi9MZW5ndGggNTANCj4+DQpzdHJlYW0NCjAuNDA5MDAwIDAgMC4wMTUwMDAgMC4wMDAwMDAgMC4zNjQwMDAgMC42NjUwMDAgZDEKDQplbmRzdHJlYW0NCmVuZG9iag0KMTUgMCBvYmoNCjw8DQovTGVuZ3RoIDUwDQo+Pg0Kc3RyZWFtDQowLjU2OTAwMCAwIDAuMDc1MDAwIDAuMDAwMDAwIDAuNTI5MDAwIDAuODE1MDAwIGQxCg0KZW5kc3RyZWFtDQplbmRvYmoNCjE2IDAgb2JqDQo8PA0KL0xlbmd0aCA1MQ0KPj4NCnN0cmVhbQ0KMC42MjgwMDAgMCAwLjA0MDAwMCAtMC4wMTAwMDAgMC41NjMwMDAgMC43OTAwMDAgZDEKDQplbmRzdHJlYW0NCmVuZG9iag0KMTcgMCBvYmoNClsgMC41MiAwLjI0OSAwLjQ4MiAwLjkyMiAwLjIzNiAwLjQwOSAwLjU2OSAwLjYyNCAwLjYyOCAwLjYyOCBdDQplbmRvYmoNCjE4IDAgb2JqDQo8PA0KL0xlbmd0aCA2NTYNCj4+DQpzdHJlYW0NCi9DSURJbml0IC9Qcm9jU2V0IGZp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RSKaH37DzOcjD2Si9ZFX9QolhQmM5hU0Tp0czwrr0Hdi/svCmf7wboxrkIMVqs/5wVkGdUnCGV0PwQGFnAU/cj4DwdEcMhHH018lkkIiITOUxyTOFG4dscRGpY7jadPf3ik24J2LvqgNlH3aDgimp1nnGXAx+0A061xYN0qxYLTOxI7RWhMoqe8mcGVLTlDhzTpO3nmkb5k4y1lz1nTOnT2dtQenAyvvCFh++Rd3WivK34LR6G6HEW8D+D7/QpE6uwCXVaOwTi3pjPSO1ozBs6kGOjvxmwc/C4tX9XXTCFjHTKvT4alotIW6J55uw8mpLDf7+fUc4X/+hz+7dv/W2T///cc//Vf8Hbe//8sP018+xj+mJn///eN//ZH2335WdLbWP9L828+GftHyl98Dr+Amrv5/X+/6nRffxs9a+x+p+e+y/0jLZ+J30bidVH+kHMu0P1LSO/1d3Ybr3/7319//24//8vf/QCRq0H/9k27sAkyMbPA3YFgc9qFfz9DCH4zT35d7AOPkf7Jd/h/HDhH+DQplbmRzdHJlYW0NCmVuZG9iag0KNSAwIG9iag0KPDwNCi9UeXBlIC9QYWdlcw0KL0tpZHMgWyAxIDAgUiBdDQovQ291bnQgMQ0KL1BhcmVudCAxOSAwIFINCj4+DQplbmRvYmoNCjE5IDAgb2JqDQo8PA0KL1R5cGUgL1BhZ2VzDQovS2lkcyBbIDUgMCBSIF0NCi9Db3VudCAxDQo+Pg0KZW5kb2JqDQoyMCAwIG9iag0KPDwNCi9UeXBlIC9DYXRhbG9nDQovUGFnZXMgMTkgMCBSDQo+Pg0KZW5kb2JqDQp4cmVmDQowIDIxDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDAwMTcgMDAwMDAgbg0KMDAwMDAwMDMyNCAwMDAwMCBuDQowMDAwNTM5MjYxIDAwMDAwIG4NCjAwMDA1NDE1NTcgMDAwMDAgbg0KMDAwMDU0ODUyMyAwMDAwMCBuDQowMDAwNTM0NDU4IDAwMDAwIG4NCjAwMDA1Mzk2NjcgMDAwMDAgbg0KMDAwMDUzOTc3NSAwMDAwMCBuDQowMDAwNTM5ODg0IDAwMDAwIG4NCjAwMDA1Mzk5OTIgMDAwMDAgbg0KMDAwMDU0MDEwMiAwMDAwMCBuDQowMDAwNTQwMjExIDAwMDAwIG4NCjAwMDA1NDAzMjEgMDAwMDAgbg0KMDAwMDU0MDQzMSAwMDAwMCBuDQowMDAwNTQwNTQwIDAwMDAwIG4NCjAwMDA1NDA2NDkgMDAwMDAgbg0KMDAwMDU0MDc1OSAwMDAwMCBuDQowMDAwNTQwODQxIDAwMDAwIG4NCjAwMDA1NDg2MDUgMDAwMDAgbg0KMDAwMDU0ODY3MiAwMDAwMCBuDQp0cmFpbGVyDQo8PA0KL1NpemUgMjENCi9Sb290IDIwIDAgUg0KL0lEIFs8OTBjMWRlMTQwY2I1YmMwMDYyNTRmMDNmODE1OWNmMTM+PDkwYzFkZTE0MGNiNWJjMDA2MjU0ZjAzZjgxNTljZjEzPl0NCj4+DQpzdGFydHhyZWYNCjU0ODcyOQ0KJSVFT0YNCg=='; diff --git a/packages/syncfusion_flutter_pdf/lib/src/test/pdf_issues.dart b/packages/syncfusion_flutter_pdf/lib/src/test/pdf_issues.dart index a8bc1acc8..202ac477c 100644 --- a/packages/syncfusion_flutter_pdf/lib/src/test/pdf_issues.dart +++ b/packages/syncfusion_flutter_pdf/lib/src/test/pdf_issues.dart @@ -735,8 +735,8 @@ void pdfIssues() { final PdfDocument document = PdfDocument.fromBase64String(arabicDummiesPdf); document.security.algorithm = PdfEncryptionAlgorithm.aesx256Bit; - document.security.ownerPassword = 'ownerPassword'; - document.security.userPassword = 'userPassword'; + document.security.ownerPassword = 'syncfusion'; + document.security.userPassword = 'password'; final List bytes = document.saveSync(); expect(bytes.isNotEmpty, true); savePdf(bytes, 'FLUT_4892_PerformanceIssue.pdf'); @@ -963,6 +963,54 @@ void pdfIssues() { savePdf(bytes, 'FLUT-6676_Test.pdf'); document.dispose(); }); + test('FLUT-6786 Test', () async { + PdfDocument document = PdfDocument(); + PdfTextBoxField field = PdfTextBoxField( + document.pages.add(), + 'Text Box', + const Rect.fromLTWH(100, 20, 200, 20), + text: '', + font: PdfStandardFont(PdfFontFamily.courier, 12), + ); + document.form.fields.add(field); + List bytes = await document.save(); + document.dispose(); + document = PdfDocument(inputBytes: bytes); + field = document.form.fields[0] as PdfTextBoxField; + field.font = PdfTrueTypeFont.fromBase64String(arialTTF, 14); + field.text = 'łł'; + document.form.flattenAllFields(); + bytes = await document.save(); + savePdf(bytes, 'FLUT-6786_Test.pdf'); + document.dispose(); + }); + test('FLUT-7083 Test', () async { + final PdfDocument document = PdfDocument(); + final PdfPage page = document.pages.add(); + page.graphics.drawRectangle( + bounds: Rect.fromLTWH( + 0, 0, page.getClientSize().width, page.getClientSize().height), + brush: PdfBrushes.red); + final PdfPath path = PdfPath(); + path.addLine(const Offset(10, 100), const Offset(10, 200)); + path.addLine(const Offset(100, 100), const Offset(100, 200)); + path.addLine(const Offset(100, 200), const Offset(55, 150)); + final PdfSolidBrush brush = PdfBrushes.transparent as PdfSolidBrush; + expect(brush.color.isEmpty, true, + reason: 'Alpha channel not initiated properly.'); + page.graphics.drawPath(path, brush: brush); + final PdfPath path2 = PdfPath(); + path2.addLine(const Offset(310, 100), const Offset(310, 200)); + path2.addLine(const Offset(400, 100), const Offset(400, 200)); + path2.addLine(const Offset(400, 200), const Offset(355, 150)); + final PdfPen pen = PdfPens.transparent; + expect(pen.color.isEmpty, true, + reason: 'Alpha channel not initiated properly.'); + page.graphics.drawPath(path2, pen: pen); + final List bytes = document.saveSync(); + savePdf(bytes, 'FLUT-7083-test.pdf'); + document.dispose(); + }); } // ignore: public_member_api_docs, non_constant_identifier_names diff --git a/packages/syncfusion_flutter_pdf/pubspec.lock b/packages/syncfusion_flutter_pdf/pubspec.lock index 26e600835..21e1aea6a 100644 --- a/packages/syncfusion_flutter_pdf/pubspec.lock +++ b/packages/syncfusion_flutter_pdf/pubspec.lock @@ -7,7 +7,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.8.2" + version: "2.9.0" boolean_selector: dependency: transitive description: @@ -21,21 +21,14 @@ packages: name: characters url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" - charcode: - dependency: transitive - description: - name: charcode - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.1" + version: "1.2.1" clock: dependency: transitive description: name: clock url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.1.1" collection: dependency: transitive description: @@ -63,7 +56,7 @@ packages: name: fake_async url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.3.1" flutter: dependency: "direct main" description: flutter @@ -87,28 +80,28 @@ packages: name: matcher url: "https://pub.dartlang.org" source: hosted - version: "0.12.11" + version: "0.12.12" material_color_utilities: dependency: transitive description: name: material_color_utilities url: "https://pub.dartlang.org" source: hosted - version: "0.1.4" + version: "0.1.5" meta: dependency: transitive description: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.7.0" + version: "1.8.0" path: dependency: transitive description: name: path url: "https://pub.dartlang.org" source: hosted - version: "1.8.1" + version: "1.8.2" petitparser: dependency: transitive description: @@ -127,7 +120,7 @@ packages: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.8.2" + version: "1.9.0" stack_trace: dependency: transitive description: @@ -148,30 +141,30 @@ packages: name: string_scanner url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.1.1" syncfusion_flutter_core: dependency: "direct main" description: path: syncfusion_flutter_core - ref: "release/20.2.0.1" - resolved-ref: c663ccc1422d1fc2dc15aeba68d1b37f22207444 - url: "https://SyncfusionBuild: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@github.com/essential-studio/flutter-core" + ref: "release/20.4.0.1" + resolved-ref: "11256e0c8e32c9a4aaaea91c8c0921a728edd229" + url: "https://SyncfusionBuild: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@github.com/essential-studio/flutter-core" source: git - version: "18.3.40" + version: "20.2.36" term_glyph: dependency: transitive description: name: term_glyph url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.2.1" test_api: dependency: transitive description: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.4.9" + version: "0.4.12" typed_data: dependency: transitive description: diff --git a/packages/syncfusion_flutter_pdf/pubspec.yaml b/packages/syncfusion_flutter_pdf/pubspec.yaml index 135e9fa05..f439c655a 100644 --- a/packages/syncfusion_flutter_pdf/pubspec.yaml +++ b/packages/syncfusion_flutter_pdf/pubspec.yaml @@ -1,17 +1,22 @@ name: syncfusion_flutter_pdf description: The Flutter PDF is a library written natively in Dart for creating, reading, editing, and securing PDF files in Android, iOS, and web platforms. -version: 20.2.36-beta +version: 18.1.36-beta homepage: https://github.com/syncfusion/flutter-widgets/tree/master/packages/syncfusion_flutter_pdf environment: - sdk: '>=2.12.0 <3.0.0' + sdk: '>=2.17.0 <3.0.0' dependencies: flutter: sdk: flutter intl: ">=0.17.0 <0.20.0" xml: ">=5.1.0 <7.0.0" - syncfusion_flutter_core: ^20.2.36 + syncfusion_flutter_core: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-core + path: syncfusion_flutter_core + branch: release/20.4.0.1 + ref: release/20.4.0.1 crypto: ">=3.0.0 <4.0.0" convert: ">=3.0.0 <4.0.0" diff --git a/packages/syncfusion_flutter_pdfviewer/CHANGELOG.md b/packages/syncfusion_flutter_pdfviewer/CHANGELOG.md index 83c93aa32..07e72519e 100644 --- a/packages/syncfusion_flutter_pdfviewer/CHANGELOG.md +++ b/packages/syncfusion_flutter_pdfviewer/CHANGELOG.md @@ -1,4 +1,41 @@ -## Undefined +## [20.3.58] - 11/22/2022 + +**Bugs** + +* Now, the PDF page will not be zoomed while performing a mouse scroll in the mobile view of the web platform. + +**Features** + +* Support for the text web link navigation has been provided. + +## [20.3.52] - 10/26/2022 + +* When copying PDF content from the `SfPdfViewer` widget, spacing between the words is now added properly. + +## [20.3.47] - 09/29/2022 + +**Features** + +* Now, text search will be performed asynchronously on mobile and desktop platforms. +* Now, the busy indicator will be displayed before rendering the pages. + +**Breaking changes** + +* The `searchText` method will now return just the `PdfTextSearchResult` object instead of the `Future`. Since the search will be performed asynchronously, the results will be returned periodically on a page-by-page basis, which can be retrieved using the `addListener` method in the application. +* When we navigate to a particular page and perform a search, then the first instance to be highlighted will be the document's first one instead of the navigated page's first instance. + +## [20.2.44-beta] - 08/16/2022 + +* Now, the scrolling works with the appropriate scrolling animation on a document with the default zoom level. + +## [20.2.43-beta] - 08/08/2022 + +**Bugs** + +* Now, the PDF pages are positioned properly when setting the `initialZoomLevel`. +* Now, the cache memory will be cleared properly after loading a PDF document in the `SfPdfViewer` widget. + +## [20.2.36-beta] - 06/30/2022 **Features** @@ -68,7 +105,7 @@ The following platform packages have been renamed. No changes in your pubspec.ya * Now, PDF pages won't be overlapped when multi PDFs are placed inside `IndexedStack` -## [19.3.57-beta] - 12/07/2021 +## [19.3.57-beta] - 12/07/2021 * `DisplayMetrics` deprecation warnings for Android R SDK in Android Plugin has been cleared now. @@ -83,7 +120,7 @@ The following platform packages have been renamed. No changes in your pubspec.ya ## [19.3.53-beta] - 11/12/2021 * Now, PDF pages can be panned when text selection is disabled. - + ## [19.3.46-beta] - 10/19/2021 * Support for text selection in multi-column PDF has been provided. @@ -96,7 +133,7 @@ The following platform packages have been renamed. No changes in your pubspec.ya **Features** -* Support for screen reading has been provided. +* Support for screen reading has been provided. * Now, PDF document can be viewed page by page horizontally. * Horizontal scrolling support has been provided. * Support for text selection and text search in rotated document has been provided. @@ -126,26 +163,26 @@ The following platform packages have been renamed. No changes in your pubspec.ya **Features** -* The Web platform support has been provided. +* The Web platform support has been provided. * Support to view the rotated PDF documents in the iOS platform has been provided. -## [18.4.48-beta] - 03/16/2021 +## [18.4.48-beta] - 03/16/2021 * Now, the `computeDryLayout` has been implemented and SfPdfViewer widget will be compatible in all channels of Flutter SDK. -## [18.4.42-beta] - 02/09/2021 +## [18.4.42-beta] - 02/09/2021 **Breaking changes** * Now, the text selection color and handle color can be customized using `selectionColor` and `selectionHandleColor` properties of `TextSelectionTheme` respectively. -## [18.4.31-beta] - 12/22/2020 +## [18.4.31-beta] - 12/22/2020 **Features** * Now, the highlighted search instance in the zoomed document will be navigate properly. -## [18.4.30-beta] - 12/17/2020 +## [18.4.30-beta] - 12/17/2020 **Features** @@ -179,4 +216,4 @@ Initial release. * Page navigation - Navigate to the desired pages instantly. * Bookmark navigation - Bookmarks saved in the document are loaded and made ready for easy navigation. This feature helps navigate the topics bookmarked already within the PDF document. * Themes - Easily switch between light and dark themes. -* Localization - All static text within the PDF Viewer can be localized to any supported language. +* Localization - All static text within the PDF Viewer can be localized to any supported language. \ No newline at end of file diff --git a/packages/syncfusion_flutter_pdfviewer/README.md b/packages/syncfusion_flutter_pdfviewer/README.md index 452d1f199..2f59cb51c 100644 --- a/packages/syncfusion_flutter_pdfviewer/README.md +++ b/packages/syncfusion_flutter_pdfviewer/README.md @@ -63,15 +63,12 @@ Explore the full capabilities of our Flutter widgets on your device by installin

- - + +

- -

-

@@ -84,7 +81,7 @@ Take a look at the following to learn more about Syncfusion Flutter PDF Viewer: ## Installation -Install the latest version from [pub](https://pub.dartlang.org/packages/syncfusion_flutter_pdfviewer#-installing-tab-). +Install the latest version from [pub](https://pub.dev/packages/syncfusion_flutter_pdfviewer/install). ## Getting started @@ -406,76 +403,90 @@ Widget build(BuildContext context) { Text can be searched for in a PDF document and you can then navigate to all its occurrences. The navigation of searched text can be controlled using the **nextInstance**, **previousInstance**, and **clear** methods. ```dart -PdfViewerController _pdfViewerController; -@override -void initState() { - _pdfViewerController = PdfViewerController(); - super.initState(); -} -PdfTextSearchResult _searchResult; -@override -Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: Text('Syncfusion Flutter PdfViewer'), - actions: [ - IconButton( - icon: Icon( - Icons.search, - color: Colors.white, - ), - onPressed: () async { - _searchResult = await _pdfViewerController?.searchText('the', - searchOption: TextSearchOption.caseSensitive); - setState(() {}); - }, - ), - Visibility( - visible: _searchResult?.hasResult ?? false, - child: IconButton( - icon: Icon( - Icons.clear, + late PdfViewerController _pdfViewerController; + late PdfTextSearchResult _searchResult; + + @override + void initState() { + _pdfViewerController = PdfViewerController(); + _searchResult = PdfTextSearchResult(); + super.initState(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: const Text('Syncfusion Flutter PdfViewer'), + actions: [ + IconButton( + icon: const Icon( + Icons.search, color: Colors.white, ), onPressed: () { - setState(() { - _searchResult.clear(); - }); + _searchResult = _pdfViewerController.searchText('the', + searchOption: TextSearchOption.caseSensitive); + if (kIsWeb) { + setState(() {}); + } else { + _searchResult.addListener(() { + if (_searchResult.hasResult) { + setState(() {}); + } + }); + } }, ), - ), - Visibility( - visible: _searchResult?.hasResult ?? false, - child: IconButton( - icon: Icon( - Icons.keyboard_arrow_up, - color: Colors.white, + Visibility( + visible: _searchResult.hasResult, + child: IconButton( + icon: const Icon( + Icons.clear, + color: Colors.white, + ), + onPressed: () { + setState(() { + _searchResult.clear(); + }); + }, ), - onPressed: () { - _searchResult?.previousInstance(); - }, ), - ), - Visibility( - visible: _searchResult?.hasResult ?? false, - child: IconButton( - icon: Icon( - Icons.keyboard_arrow_down, - color: Colors.white, + Visibility( + visible: _searchResult.hasResult, + child: IconButton( + icon: const Icon( + Icons.keyboard_arrow_up, + color: Colors.white, + ), + onPressed: () { + _searchResult.previousInstance(); + }, ), - onPressed: () { - _searchResult?.nextInstance(); - }, ), - ), - ], - ), - body: SfPdfViewer.network( + Visibility( + visible: _searchResult.hasResult, + child: IconButton( + icon: const Icon( + Icons.keyboard_arrow_down, + color: Colors.white, + ), + onPressed: () { + _searchResult.nextInstance(); + }, + ), + ), + ], + ), + body: SfPdfViewer.network( 'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf', - controller:_pdfViewerController, - searchTextHighlightColor: Colors.yellow)); -} + controller: _pdfViewerController, + currentSearchTextHighlightColor: Colors.yellow.withOpacity(0.6), + otherSearchTextHighlightColor: Colors.yellow.withOpacity(0.3), + )); + } + ``` ## Enable or disable the document link annotation @@ -495,11 +506,11 @@ Widget build(BuildContext context) { ## Support and Feedback -* For any other queries, reach our [Syncfusion support team](https://www.syncfusion.com/support/directtrac/incidents/newincident) or post the queries through the [Community forums](https://www.syncfusion.com/forums) and submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter). +* For any other queries, reach our [Syncfusion support team](https://support.syncfusion.com/support/tickets/create) or post the queries through the [Community forums](https://www.syncfusion.com/forums) and submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter). * To renew the subscription, click [renew](https://www.syncfusion.com/sales/products) or contact our sales team at salessupport@syncfusion.com | Toll Free: 1-888-9 DOTNET. ## About Syncfusion Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 20,000 customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies. -Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), and [Blazor](https://www.syncfusion.com/blazor-components), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls) and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. +Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), [Flutter](https://www.syncfusion.com/flutter-widgets), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([Flutter](https://www.syncfusion.com/flutter-widgets), [WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file diff --git a/packages/syncfusion_flutter_pdfviewer/android/src/main/java/com/syncfusion/flutter/pdfviewer/SyncfusionFlutterPdfViewerPlugin.java b/packages/syncfusion_flutter_pdfviewer/android/src/main/java/com/syncfusion/flutter/pdfviewer/SyncfusionFlutterPdfViewerPlugin.java index 60c1ae341..c9f5aa38a 100644 --- a/packages/syncfusion_flutter_pdfviewer/android/src/main/java/com/syncfusion/flutter/pdfviewer/SyncfusionFlutterPdfViewerPlugin.java +++ b/packages/syncfusion_flutter_pdfviewer/android/src/main/java/com/syncfusion/flutter/pdfviewer/SyncfusionFlutterPdfViewerPlugin.java @@ -155,6 +155,7 @@ String initializePdfRenderer(byte[] path, String documentID) { PdfFileRenderer fileRenderer = new PdfFileRenderer(fileDescriptor, renderer); documentRepo.put(documentID, fileRenderer); int pageCount = renderer.getPageCount(); + file.delete(); return String.valueOf(pageCount); } catch (Exception e) { return e.toString(); diff --git a/packages/syncfusion_flutter_pdfviewer/example/pubspec.yaml b/packages/syncfusion_flutter_pdfviewer/example/pubspec.yaml index 017eb8af6..87a4cae30 100644 --- a/packages/syncfusion_flutter_pdfviewer/example/pubspec.yaml +++ b/packages/syncfusion_flutter_pdfviewer/example/pubspec.yaml @@ -6,7 +6,7 @@ description: Demonstrates how to use the syncfusion_flutter_pdfviewer plugin. publish_to: 'none' # Remove this line if you wish to publish to pub.dev environment: - sdk: '>=2.12.0 <3.0.0' + sdk: '>=2.17.0 <3.0.0' dependencies: flutter: diff --git a/packages/syncfusion_flutter_pdfviewer/lib/src/bookmark/bookmark_toolbar.dart b/packages/syncfusion_flutter_pdfviewer/lib/src/bookmark/bookmark_toolbar.dart index 3db342c7a..254401332 100644 --- a/packages/syncfusion_flutter_pdfviewer/lib/src/bookmark/bookmark_toolbar.dart +++ b/packages/syncfusion_flutter_pdfviewer/lib/src/bookmark/bookmark_toolbar.dart @@ -6,7 +6,7 @@ import 'package:syncfusion_flutter_core/theme.dart'; const double _kPdfHeaderBarHeight = 53.0; /// Height of the header text. -const double _kPdfHeaderTextHeight = 18.0; +const double _kPdfHeaderTextHeight = 24.0; /// Height of the close icon. const double _kPdfCloseIconHeight = 24.0; diff --git a/packages/syncfusion_flutter_pdfviewer/lib/src/common/pdf_provider.dart b/packages/syncfusion_flutter_pdfviewer/lib/src/common/pdf_provider.dart index d6748eac0..db77578c2 100644 --- a/packages/syncfusion_flutter_pdfviewer/lib/src/common/pdf_provider.dart +++ b/packages/syncfusion_flutter_pdfviewer/lib/src/common/pdf_provider.dart @@ -1,7 +1,6 @@ // ignore_for_file: only_throw_errors import 'dart:io'; -import 'dart:typed_data'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; diff --git a/packages/syncfusion_flutter_pdfviewer/lib/src/common/pdfviewer_plugin.dart b/packages/syncfusion_flutter_pdfviewer/lib/src/common/pdfviewer_plugin.dart index 066a5b481..fffee2adc 100644 --- a/packages/syncfusion_flutter_pdfviewer/lib/src/common/pdfviewer_plugin.dart +++ b/packages/syncfusion_flutter_pdfviewer/lib/src/common/pdfviewer_plugin.dart @@ -1,5 +1,4 @@ import 'dart:async'; -import 'dart:typed_data'; import 'package:async/async.dart'; import 'package:flutter/material.dart'; diff --git a/packages/syncfusion_flutter_pdfviewer/lib/src/control/pdf_page_view.dart b/packages/syncfusion_flutter_pdfviewer/lib/src/control/pdf_page_view.dart index 61d4f0fc9..51145712a 100644 --- a/packages/syncfusion_flutter_pdfviewer/lib/src/control/pdf_page_view.dart +++ b/packages/syncfusion_flutter_pdfviewer/lib/src/control/pdf_page_view.dart @@ -1,5 +1,3 @@ -import 'dart:typed_data'; - import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -493,6 +491,12 @@ class PdfPageViewState extends State { onPointerDown: (PointerDownEvent details) { widget.onPdfPagePointerDown(details); }, + onPointerMove: (PointerMoveEvent details) { + widget.onPdfPagePointerMove(details); + }, + onPointerUp: (PointerUpEvent details) { + widget.onPdfPagePointerUp(details); + }, child: canvasContainer)); return Stack(children: [ pdfPage, @@ -516,6 +520,16 @@ class PdfPageViewState extends State { ? Border(right: borderSide) : Border(bottom: borderSide), ), + child: Center( + child: CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation( + _pdfViewerThemeData!.progressBarColor ?? + (Theme.of(context).colorScheme.primary)), + backgroundColor: _pdfViewerThemeData!.progressBarColor == null + ? (Theme.of(context).colorScheme.primary.withOpacity(0.2)) + : _pdfViewerThemeData!.progressBarColor!.withOpacity(0.2), + ), + ), ); return child; } diff --git a/packages/syncfusion_flutter_pdfviewer/lib/src/control/pdf_scrollable.dart b/packages/syncfusion_flutter_pdfviewer/lib/src/control/pdf_scrollable.dart index adce5e37c..2ca97ffe8 100644 --- a/packages/syncfusion_flutter_pdfviewer/lib/src/control/pdf_scrollable.dart +++ b/packages/syncfusion_flutter_pdfviewer/lib/src/control/pdf_scrollable.dart @@ -158,7 +158,9 @@ class PdfScrollableState extends State { currentOffset = Offset.zero; currentZoomLevel = 1; if (widget.pdfViewerController.zoomLevel > 1) { - scaleTo(widget.pdfViewerController.zoomLevel, isZoomed: false); + Future.delayed(Duration.zero, () async { + scaleTo(widget.pdfViewerController.zoomLevel, isZoomed: false); + }); } } @@ -306,43 +308,6 @@ class PdfScrollableState extends State { isZoomChanged = true; }); } - final double scale = _transformationController.value.getMaxScaleOnAxis(); - if (widget.scrollDirection == PdfScrollDirection.vertical && - scale == 1 && - previousZoomLevel == scale && - details.velocity != Velocity.zero && - widget.pdfViewerController.scrollOffset.dy.round() != 0 && - widget.pdfViewerController.scrollOffset.dy.round() != - widget.maxScrollExtent.round()) { - final double scrollFilOffset = details.velocity.pixelsPerSecond.dy; - double currentX = _transformationController.toScene(Offset.zero).dx; - // To make translation smoother, add the following codes. - final double diffOffset = scrollFilOffset / 100; - int scrollCount = 0; - while (scrollCount < 100) { - currentX = _transformationController.toScene(Offset.zero).dx; - _transformationController.value.translate(currentX, diffOffset); - scrollCount++; - } - } - if (widget.scrollDirection == PdfScrollDirection.horizontal && - scale == 1 && - previousZoomLevel == scale && - details.velocity != Velocity.zero && - widget.pdfViewerController.scrollOffset.dx.round() != 0 && - widget.pdfViewerController.scrollOffset.dx.round() != - widget.maxScrollExtent.round()) { - final double scrollFilOffset = details.velocity.pixelsPerSecond.dx; - double currentX = _transformationController.toScene(Offset.zero).dy; - // To make translation smoother, add the following codes. - final double diffOffset = scrollFilOffset / 100; - int scrollCount = 0; - while (scrollCount < 100) { - currentX = _transformationController.toScene(Offset.zero).dy; - _transformationController.value.translate(diffOffset, currentX); - scrollCount++; - } - } } ///Triggers when scrolling performed by touch pad. diff --git a/packages/syncfusion_flutter_pdfviewer/lib/src/control/pdfviewer_canvas.dart b/packages/syncfusion_flutter_pdfviewer/lib/src/control/pdfviewer_canvas.dart index bbe6281d5..dd7451504 100644 --- a/packages/syncfusion_flutter_pdfviewer/lib/src/control/pdfviewer_canvas.dart +++ b/packages/syncfusion_flutter_pdfviewer/lib/src/control/pdfviewer_canvas.dart @@ -1,5 +1,4 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; @@ -352,6 +351,7 @@ class CanvasRenderBox extends RenderBox { late VerticalDragGestureRecognizer _verticalDragRecognizer; late PdfDocumentLinkAnnotation? _documentLinkAnnotation; late PdfUriAnnotation? _pdfUriAnnotation; + PdfTextWebLink? _pdfTextWebLink; late final PdfPageRotateAngle _rotatedAngle = pdfDocument!.pages[pageIndex].rotation; @@ -413,13 +413,12 @@ class CanvasRenderBox extends RenderBox { ThemeData? _themeData; SfLocalizations? _localizations; - Future _showHyperLinkDialog(Uri url) { + Future _showMobileHyperLinkDialog(Uri url) { _pdfViewerThemeData = SfPdfViewerTheme.of(context); _themeData = Theme.of(context); _localizations = SfLocalizations.of(context); return showDialog( context: context, - barrierDismissible: true, builder: (BuildContext context) { final Orientation orientation = MediaQuery.of(context).orientation; return Directionality( @@ -579,13 +578,12 @@ class CanvasRenderBox extends RenderBox { }); } - Future _showWebHyperLinkDialog(Uri url) { + Future _showDesktopHyperLinkDialog(Uri url) { _pdfViewerThemeData = SfPdfViewerTheme.of(context); _themeData = Theme.of(context); _localizations = SfLocalizations.of(context); return showDialog( context: context, - barrierDismissible: true, builder: (BuildContext context) { return Directionality( textDirection: textDirection, @@ -736,7 +734,7 @@ class CanvasRenderBox extends RenderBox { /// Handles the tap up event void handleTapUp(TapUpDetails details) { - if (textCollection == null && !_textSelectionHelper.enableTapSelection) { + if (textCollection!.isEmpty && !_textSelectionHelper.enableTapSelection) { clearSelection(); } if (_textSelectionHelper.enableTapSelection && @@ -745,113 +743,132 @@ class CanvasRenderBox extends RenderBox { _textSelectionHelper.enableTapSelection = false; } _viewId = pageIndex; - final double heightPercentage = - pdfDocument!.pages[_viewId!].size.height / height; - final double widthPercentage = - pdfDocument!.pages[_viewId!].size.width / width; - final PdfPage page = pdfDocument!.pages[pageIndex]; - final int length = page.annotations.count; - for (int index = 0; index < length; index++) { - if (page.annotations[index] is PdfUriAnnotation && - enableHyperlinkNavigation) { - _pdfUriAnnotation = page.annotations[index] as PdfUriAnnotation; - assert(_pdfUriAnnotation != null); - if ((details.localPosition.dy >= - (_pdfUriAnnotation!.bounds.top / heightPercentage)) && - (details.localPosition.dy <= - (_pdfUriAnnotation!.bounds.bottom / heightPercentage)) && - (details.localPosition.dx >= - (_pdfUriAnnotation!.bounds.left / heightPercentage)) && - (details.localPosition.dx <= - (_pdfUriAnnotation!.bounds.right / heightPercentage))) { - if (_pdfUriAnnotation!.uri != null) { - _isHyperLinkTapped = true; - final Uri uri = Uri.parse(_pdfUriAnnotation!.uri); - if (canShowHyperlinkDialog) { - if (_pdfUriAnnotation!.uri.contains('mailto')) { - launchUrl(uri); - } else { - kIsDesktop - ? _showWebHyperLinkDialog(uri) - : _showHyperLinkDialog(uri); - } + if (enableHyperlinkNavigation || enableDocumentLinkNavigation) { + final double heightPercentage = + pdfDocument!.pages[_viewId!].size.height / height; + final double widthPercentage = + pdfDocument!.pages[_viewId!].size.width / width; + final PdfPage page = pdfDocument!.pages[pageIndex]; + final int length = page.annotations.count; + for (int index = 0; index < length; index++) { + if (page.annotations[index] is PdfUriAnnotation && + enableHyperlinkNavigation) { + _pdfUriAnnotation = page.annotations[index] as PdfUriAnnotation; + assert(_pdfUriAnnotation != null); + if (_checkHyperLinkPosition( + details, heightPercentage, _pdfUriAnnotation!.bounds)) { + if (_pdfUriAnnotation!.uri.isNotEmpty) { + _isHyperLinkTapped = true; + final Uri uri = Uri.parse(_pdfUriAnnotation!.uri); + _showHyperLinkDialog(uri); + markNeedsPaint(); + break; + } + } + } else if (page.annotations[index] is PdfTextWebLink && + enableHyperlinkNavigation) { + _pdfTextWebLink = page.annotations[index] as PdfTextWebLink; + assert(_pdfTextWebLink != null); + if (_checkHyperLinkPosition( + details, heightPercentage, _pdfTextWebLink!.bounds)) { + if (_pdfTextWebLink!.url.isNotEmpty) { + _isHyperLinkTapped = true; + final bool isMailID = + RegExp(r'^.+@[a-zA-Z]+\.{1}[a-zA-Z]+(\.{0,1}[a-zA-Z]+)$') + .hasMatch(_pdfTextWebLink!.url); + final String scheme = isMailID + ? !_pdfTextWebLink!.url.contains('mailto') + ? 'mailto' + : '' + : (!_pdfTextWebLink!.url.contains('https') && + !_pdfTextWebLink!.url.contains('http')) + ? 'https' + : ''; + final Uri url = !_pdfTextWebLink!.url.contains(scheme) + ? scheme.contains('mailto') + ? Uri(scheme: scheme, path: _pdfTextWebLink!.url) + : Uri(scheme: scheme, host: _pdfTextWebLink!.url) + : Uri.parse(_pdfTextWebLink!.url); + _showHyperLinkDialog(url); + markNeedsPaint(); + break; } - triggerHyperLinkCallback(); - markNeedsPaint(); - break; } } - } - if (enableDocumentLinkNavigation) { - if (page.annotations[index] is PdfDocumentLinkAnnotation) { - _documentLinkAnnotation = - // ignore: avoid_as - page.annotations[index] as PdfDocumentLinkAnnotation; - assert(_documentLinkAnnotation != null); - if ((details.localPosition.dy >= - (_documentLinkAnnotation!.bounds.top / heightPercentage)) && - (details.localPosition.dy <= - (_documentLinkAnnotation!.bounds.bottom / - heightPercentage)) && - (details.localPosition.dx >= - (_documentLinkAnnotation!.bounds.left / heightPercentage)) && - (details.localPosition.dx <= - (_documentLinkAnnotation!.bounds.right / heightPercentage))) { - if (_documentLinkAnnotation!.destination?.page != null) { - _isTOCTapped = true; - final PdfPage destinationPage = - _documentLinkAnnotation!.destination!.page; - final int destinationPageIndex = - pdfDocument!.pages.indexOf(destinationPage) + 1; - Offset destinationPageOffset = - _documentLinkAnnotation!.destination!.location; - destinationPageOffset = getRotatedOffset(destinationPageOffset, - destinationPageIndex - 1, destinationPage.rotation); - final double positionX = - destinationPageOffset.dx / widthPercentage; - final double positionY = - destinationPageOffset.dy / heightPercentage; - final double pageOffset = - pdfPages[destinationPageIndex]!.pageOffset; - if (isSinglePageView) { - _totalPageOffset = Offset(positionX, positionY); - } else { - if (scrollDirection == PdfScrollDirection.horizontal) { - if (pdfViewerController.zoomLevel == 1) { - _totalPageOffset = Offset(pageOffset, positionY); + if (enableDocumentLinkNavigation) { + if (page.annotations[index] is PdfDocumentLinkAnnotation) { + _documentLinkAnnotation = + // ignore: avoid_as + page.annotations[index] as PdfDocumentLinkAnnotation; + assert(_documentLinkAnnotation != null); + if ((details.localPosition.dy >= + (_documentLinkAnnotation!.bounds.top / heightPercentage)) && + (details.localPosition.dy <= + (_documentLinkAnnotation!.bounds.bottom / + heightPercentage)) && + (details.localPosition.dx >= + (_documentLinkAnnotation!.bounds.left / + heightPercentage)) && + (details.localPosition.dx <= + (_documentLinkAnnotation!.bounds.right / + heightPercentage))) { + if (_documentLinkAnnotation!.destination?.page != null) { + _isTOCTapped = true; + final PdfPage destinationPage = + _documentLinkAnnotation!.destination!.page; + final int destinationPageIndex = + pdfDocument!.pages.indexOf(destinationPage) + 1; + Offset destinationPageOffset = + _documentLinkAnnotation!.destination!.location; + destinationPageOffset = getRotatedOffset(destinationPageOffset, + destinationPageIndex - 1, destinationPage.rotation); + final double positionX = + destinationPageOffset.dx / widthPercentage; + final double positionY = + destinationPageOffset.dy / heightPercentage; + final double pageOffset = + pdfPages[destinationPageIndex]!.pageOffset; + if (isSinglePageView) { + _totalPageOffset = Offset(positionX, positionY); + } else { + if (scrollDirection == PdfScrollDirection.horizontal) { + if (pdfViewerController.zoomLevel == 1) { + _totalPageOffset = Offset(pageOffset, positionY); + } else { + _totalPageOffset = + Offset(pageOffset + positionX, positionY); + } } else { _totalPageOffset = - Offset(pageOffset + positionX, positionY); + Offset(positionX, pageOffset + positionY); } - } else { - _totalPageOffset = Offset(positionX, pageOffset + positionY); } + _viewId = pageIndex; + _destinationPageIndex = destinationPageIndex; + + /// Mark this render object as having changed its visual appearance. + /// + /// Rather than eagerly updating this render object's display list + /// in response to writes, we instead mark the render object as needing to + /// paint, which schedules a visual update. As part of the visual update, the + /// rendering pipeline will give this render object an opportunity to update + /// its display list. + /// + /// This mechanism batches the painting work so that multiple sequential + /// writes are coalesced, removing redundant computation. + /// + /// Once markNeedsPaint has been called on a render object, + /// debugNeedsPaint returns true for that render object until just after + /// the pipeline owner has called paint on the render object. + /// + /// See also: + /// + /// * RepaintBoundary, to scope a subtree of render objects to their own + /// layer, thus limiting the number of nodes that markNeedsPaint must mark + /// dirty. + markNeedsPaint(); + break; } - _viewId = pageIndex; - _destinationPageIndex = destinationPageIndex; - - /// Mark this render object as having changed its visual appearance. - /// - /// Rather than eagerly updating this render object's display list - /// in response to writes, we instead mark the render object as needing to - /// paint, which schedules a visual update. As part of the visual update, the - /// rendering pipeline will give this render object an opportunity to update - /// its display list. - /// - /// This mechanism batches the painting work so that multiple sequential - /// writes are coalesced, removing redundant computation. - /// - /// Once markNeedsPaint has been called on a render object, - /// debugNeedsPaint returns true for that render object until just after - /// the pipeline owner has called paint on the render object. - /// - /// See also: - /// - /// * RepaintBoundary, to scope a subtree of render objects to their own - /// layer, thus limiting the number of nodes that markNeedsPaint must mark - /// dirty. - markNeedsPaint(); - break; } } } @@ -859,6 +876,32 @@ class CanvasRenderBox extends RenderBox { } } + /// Check if the hyperlink exists in the tapped position or not. + bool _checkHyperLinkPosition( + dynamic details, double heightPercentage, Rect bounds) { + if ((details.localPosition.dy >= (bounds.top / heightPercentage)) && + (details.localPosition.dy <= (bounds.bottom / heightPercentage)) && + (details.localPosition.dx >= (bounds.left / heightPercentage)) && + (details.localPosition.dx <= (bounds.right / heightPercentage))) { + return true; + } + return false; + } + + /// Show the hyperlink navigation dialog. + void _showHyperLinkDialog(Uri uri) { + if (canShowHyperlinkDialog) { + if (uri.toString().contains('mailto')) { + launchUrl(uri); + } else { + kIsDesktop + ? _showDesktopHyperLinkDialog(uri) + : _showMobileHyperLinkDialog(uri); + } + } + triggerHyperLinkCallback(uri.toString()); + } + /// Handles the long press started event.cursorMode void handleLongPressStart(LongPressStartDetails details) { if (kIsDesktop && !isMobileWebView && pdfDocument != null) { @@ -1089,10 +1132,10 @@ class CanvasRenderBox extends RenderBox { } /// Triggers callback for hyperlink navigation. - void triggerHyperLinkCallback() { + void triggerHyperLinkCallback(String url) { if (onHyperlinkClicked != null) { onHyperlinkClicked!(PdfHyperlinkClickedDetails( - _pdfUriAnnotation!.uri, + url, )); } } @@ -1363,7 +1406,8 @@ class CanvasRenderBox extends RenderBox { /// Remove history for Text Selection. void _handleHistoryEntryRemoved() { - if (textCollection != null && _textSelectionHelper.historyEntry != null) { + if (textCollection!.isNotEmpty && + _textSelectionHelper.historyEntry != null) { Navigator.of(context).maybePop(); } _textSelectionHelper.historyEntry = null; @@ -1444,7 +1488,8 @@ class CanvasRenderBox extends RenderBox { final bool hasTOC = page.annotations[index] is PdfDocumentLinkAnnotation && enableDocumentLinkNavigation; - final bool hasURI = page.annotations[index] is PdfUriAnnotation && + final bool hasURI = (page.annotations[index] is PdfUriAnnotation || + page.annotations[index] is PdfTextWebLink) && enableHyperlinkNavigation; if (hasTOC) { _documentLinkAnnotation = @@ -1457,13 +1502,22 @@ class CanvasRenderBox extends RenderBox { return true; } } else if (hasURI) { - _pdfUriAnnotation = - // ignore: avoid_as - page.annotations[index] as PdfUriAnnotation; - if ((hoverDetails.dy >= (_pdfUriAnnotation!.bounds.top)) && - (hoverDetails.dy <= (_pdfUriAnnotation!.bounds.bottom)) && - (hoverDetails.dx >= (_pdfUriAnnotation!.bounds.left)) && - (hoverDetails.dx <= (_pdfUriAnnotation!.bounds.right))) { + late Rect bounds; + if (page.annotations[index] is PdfUriAnnotation) { + _pdfUriAnnotation = + // ignore: avoid_as + page.annotations[index] as PdfUriAnnotation; + bounds = _pdfUriAnnotation!.bounds; + } else { + _pdfTextWebLink = + // ignore: avoid_as + page.annotations[index] as PdfTextWebLink; + bounds = _pdfTextWebLink!.bounds; + } + if ((hoverDetails.dy >= (bounds.top)) && + (hoverDetails.dy <= (bounds.bottom)) && + (hoverDetails.dx >= (bounds.left)) && + (hoverDetails.dx <= (bounds.right))) { return true; } } @@ -1573,16 +1627,10 @@ class CanvasRenderBox extends RenderBox { void _performHyperLinkNavigation(Canvas canvas, Offset offset) { if (pageIndex == _viewId) { if (_isHyperLinkTapped && enableHyperlinkNavigation) { - final double heightPercentage = - pdfDocument!.pages[_viewId!].size.height / height; - final Paint wordPaint = Paint() - ..color = const Color.fromRGBO(228, 238, 244, 0.75); - canvas.drawRect( - offset.translate(_pdfUriAnnotation!.bounds.left / heightPercentage, - _pdfUriAnnotation!.bounds.top / heightPercentage) & - Size(_pdfUriAnnotation!.bounds.width / heightPercentage, - _pdfUriAnnotation!.bounds.height / heightPercentage), - wordPaint); + final Rect bounds = _pdfTextWebLink != null + ? _pdfTextWebLink!.bounds + : _pdfUriAnnotation!.bounds; + _drawHyperLinkTapColor(canvas, offset, bounds); _isHyperLinkTapped = false; Future.delayed(Duration.zero, () async { markNeedsPaint(); @@ -1591,6 +1639,20 @@ class CanvasRenderBox extends RenderBox { } } + /// Draw the selection background color while tapping the hyperlink. + void _drawHyperLinkTapColor(Canvas canvas, Offset offset, Rect bounds) { + final double heightPercentage = + pdfDocument!.pages[_viewId!].size.height / height; + final Paint wordPaint = Paint() + ..color = const Color.fromRGBO(228, 238, 244, 0.75); + canvas.drawRect( + offset.translate( + bounds.left / heightPercentage, bounds.top / heightPercentage) & + Size(bounds.width / heightPercentage, + bounds.height / heightPercentage), + wordPaint); + } + /// Perform document link navigation. void _performDocumentLinkNavigation(Canvas canvas, Offset offset) { if (pageIndex == _viewId) { @@ -1625,7 +1687,7 @@ class CanvasRenderBox extends RenderBox { /// Perform text search. void _performTextSearch(Canvas canvas, Offset offset) { - if (textCollection != null && !_textSelectionHelper.selectionEnabled) { + if (textCollection!.isNotEmpty && !_textSelectionHelper.selectionEnabled) { final Paint currentInstancePaint = Paint() ..color = currentSearchTextHighlightColor; final Paint otherInstancePaint = Paint() @@ -1727,6 +1789,19 @@ class CanvasRenderBox extends RenderBox { } } } + if (wordIndex < textWordCollection.length - 1 && !_isRTLText) { + final TextWord word = textWordCollection[wordIndex]; + final TextGlyph currentWord = word.glyphs[word.text.length - 1]; + final TextGlyph nextWord = + textWordCollection[wordIndex + 1].glyphs[0]; + + if ((((currentWord.bounds.width + currentWord.bounds.left) - + nextWord.bounds.left) + .abs()) > + 1.0) { + glyphText = '$glyphText '; + } + } } } @@ -1774,7 +1849,17 @@ class CanvasRenderBox extends RenderBox { } glyphText = rtlText + glyphText; } else { - glyphText = glyphText + glyph.text; + double glyphPosition = 0; + if (glyphIndex < textWord.text.length - 1) { + final TextGlyph textGlyph = textWord.glyphs[glyphIndex]; + final double currentGlyph = + textGlyph.bounds.width + textGlyph.bounds.left; + final double nextGlyph = textWord.glyphs[glyphIndex + 1].bounds.left; + glyphPosition = (currentGlyph - nextGlyph).abs(); + } + glyphText = (glyphPosition > 1.0) + ? '$glyphText${glyph.text} ' + : glyphText + glyph.text; } return glyphText; } diff --git a/packages/syncfusion_flutter_pdfviewer/lib/src/control/scroll_head_overlay.dart b/packages/syncfusion_flutter_pdfviewer/lib/src/control/scroll_head_overlay.dart index 6db2e6890..1972d696c 100644 --- a/packages/syncfusion_flutter_pdfviewer/lib/src/control/scroll_head_overlay.dart +++ b/packages/syncfusion_flutter_pdfviewer/lib/src/control/scroll_head_overlay.dart @@ -309,12 +309,9 @@ class ScrollHeadOverlayState extends State { transformationController: widget.transformationController, key: _childKey, enableDoubleTapZooming: enableDoubleTapZoom, - // ignore: avoid_bool_literals_in_conditional_expressions - scaleEnabled: ((kIsDesktop && widget.isMobileWebView) || - !kIsDesktop || - (kIsDesktop && widget.scaleEnabled)) - ? true - : false, + scaleEnabled: + // ignore: avoid_bool_literals_in_conditional_expressions + (!kIsDesktop || (kIsDesktop && widget.scaleEnabled)) ? true : false, panEnabled: widget.isPanEnabled, onInteractionStart: _handleInteractionStart, onInteractionUpdate: _handleInteractionChanged, @@ -400,7 +397,6 @@ class ScrollHeadOverlayState extends State { await _clearSelection(); return showDialog( context: context, - barrierDismissible: true, builder: (BuildContext context) { final Orientation orientation = MediaQuery.of(context).orientation; return Directionality( diff --git a/packages/syncfusion_flutter_pdfviewer/lib/src/control/single_page_view.dart b/packages/syncfusion_flutter_pdfviewer/lib/src/control/single_page_view.dart index ce813c749..118f8f6a7 100644 --- a/packages/syncfusion_flutter_pdfviewer/lib/src/control/single_page_view.dart +++ b/packages/syncfusion_flutter_pdfviewer/lib/src/control/single_page_view.dart @@ -43,6 +43,7 @@ class SinglePageView extends StatefulWidget { this.onPdfOffsetChanged, this.isBookmarkViewOpen, this.textDirection, + this.isTablet, this.children) : super(key: key); @@ -104,6 +105,9 @@ class SinglePageView extends StatefulWidget { ///A direction of text flow. final TextDirection textDirection; + /// Indicates whether the current environment is running in Tablet + final bool isTablet; + @override SinglePageViewState createState() => SinglePageViewState(); } @@ -313,214 +317,223 @@ class SinglePageViewState extends State { ? true : false; final List pages = []; - for (int pageIndex = 0; pageIndex < widget.children.length; pageIndex++) { - final Widget page = widget.children[pageIndex]; - final bool isLandscape = - MediaQuery.of(context).orientation == Orientation.landscape; - double imageSize = widget.pdfPages[pageIndex + 1]!.pageSize.height * - widget.pdfViewerController.zoomLevel; - _topMargin = (widget.pdfPages[pageIndex + 1]!.pageSize.height - - widget.viewportDimension.height) / - 2; - greyAreaSize = widget.viewportDimension.height - - (widget.pdfPages[pageIndex + 1]!.pageSize.height); - bool isHeightFitted = false; - if (_topMargin == 0) { - isHeightFitted = true; - _leftMargin = (widget.pdfPages[pageIndex + 1]!.pageSize.width - - widget.viewportDimension.width) / + if (widget.pdfPages.isNotEmpty) { + for (int pageIndex = 0; pageIndex < widget.children.length; pageIndex++) { + final Widget page = widget.children[pageIndex]; + final bool isLandscape = + MediaQuery.of(context).orientation == Orientation.landscape; + double imageSize = widget.pdfPages[pageIndex + 1]!.pageSize.height * + widget.pdfViewerController.zoomLevel; + _topMargin = (widget.pdfPages[pageIndex + 1]!.pageSize.height - + widget.viewportDimension.height) / 2; - imageSize = widget.pdfPages[pageIndex + 1]!.pageSize.width * - double.parse( - widget.pdfViewerController.zoomLevel.toStringAsFixed(1)) - .round(); - } - pages.add(InteractiveScrollViewer( - SizedBox( - height: isLandscape && !kIsDesktop - ? childSize.height - : widget.viewportDimension.height, - width: - isLandscape ? childSize.width : widget.viewportDimension.width, - child: Center(child: page)), - clipBehavior: Clip.none, - boundaryMargin: EdgeInsets.only( - top: isHeightFitted || isLandscape - ? 0 - : (imageSize.round() <= widget.viewportDimension.height.round() - ? (childSize.height - widget.viewportDimension.height) / 2 - : _topMargin), - bottom: isHeightFitted || isLandscape - ? 0 - : (imageSize.round() <= widget.viewportDimension.height.round() - ? (childSize.height - widget.viewportDimension.height) / 2 - : _topMargin), - right: isHeightFitted - ? (imageSize <= widget.viewportDimension.width ? 0 : _leftMargin) - : 0, - left: isHeightFitted - ? (imageSize <= widget.viewportDimension.width ? 0 : _leftMargin) - : 0, - ), - constrained: false, - onDoubleTapZoomInvoked: _onDoubleTapZoomInvoked, - // ignore: avoid_bool_literals_in_conditional_expressions - scaleEnabled: ((kIsDesktop && widget.isMobileWebView) || - !kIsDesktop || - (kIsDesktop && widget.scaleEnabled)) - ? true - : false, - enableDoubleTapZooming: enableDoubleTapZoom, - transformationController: _transformationController, - onInteractionStart: (ScaleStartDetails details) { - _panStartOffset = details.localFocalPoint.dx; - if (!kIsDesktop || - (kIsDesktop && widget.isMobileWebView) || - (kIsDesktop && widget.scaleEnabled)) { - if (previousZoomLevel != _oldPreviousZoomLevel) { - _oldPreviousZoomLevel = previousZoomLevel; + greyAreaSize = widget.viewportDimension.height - + (widget.pdfPages[pageIndex + 1]!.pageSize.height); + bool isHeightFitted = false; + if (_topMargin == 0) { + isHeightFitted = true; + _leftMargin = (widget.pdfPages[pageIndex + 1]!.pageSize.width - + widget.viewportDimension.width) / + 2; + imageSize = widget.pdfPages[pageIndex + 1]!.pageSize.width * + double.parse( + widget.pdfViewerController.zoomLevel.toStringAsFixed(1)) + .round(); + } + pages.add(InteractiveScrollViewer( + SizedBox( + height: isLandscape && !kIsDesktop + ? childSize.height + : widget.viewportDimension.height, + width: isLandscape + ? childSize.width + : widget.viewportDimension.width, + child: Center(child: page)), + clipBehavior: Clip.none, + boundaryMargin: EdgeInsets.only( + top: isHeightFitted || isLandscape + ? 0 + : (imageSize.round() <= widget.viewportDimension.height.round() + ? (childSize.height - widget.viewportDimension.height) / 2 + : _topMargin), + bottom: isHeightFitted || isLandscape + ? 0 + : (imageSize.round() <= widget.viewportDimension.height.round() + ? (childSize.height - widget.viewportDimension.height) / 2 + : _topMargin), + right: isHeightFitted + ? (imageSize <= widget.viewportDimension.width + ? 0 + : _leftMargin) + : 0, + left: isHeightFitted + ? (imageSize <= widget.viewportDimension.width + ? 0 + : _leftMargin) + : 0, + ), + constrained: false, + onDoubleTapZoomInvoked: _onDoubleTapZoomInvoked, + // ignore: avoid_bool_literals_in_conditional_expressions + scaleEnabled: (!kIsDesktop || (kIsDesktop && widget.scaleEnabled)) + ? true + : false, + enableDoubleTapZooming: enableDoubleTapZoom, + transformationController: _transformationController, + onInteractionStart: (ScaleStartDetails details) { + _panStartOffset = details.localFocalPoint.dx; + if (!kIsDesktop || + (kIsDesktop && widget.isMobileWebView) || + (kIsDesktop && widget.scaleEnabled)) { + if (previousZoomLevel != _oldPreviousZoomLevel) { + _oldPreviousZoomLevel = previousZoomLevel; + } + previousZoomLevel = widget.pdfViewerController.zoomLevel; } - previousZoomLevel = widget.pdfViewerController.zoomLevel; - } - _paddingWidthScale = 0; - _paddingHeightScale = 0; - }, - onInteractionUpdate: (ScaleUpdateDetails details) { - if (widget.interactionMode == PdfInteractionMode.pan) { - _panUpdateOffset = details.localFocalPoint.dx; - if (_panStartOffset != _panUpdateOffset) { - if (_panStartOffset < details.localFocalPoint.dx) { - _canJumpPrevious = true; - } else { - _canJumpNext = true; + _paddingWidthScale = 0; + _paddingHeightScale = 0; + }, + onInteractionUpdate: (ScaleUpdateDetails details) { + if (widget.interactionMode == PdfInteractionMode.pan) { + _panUpdateOffset = details.localFocalPoint.dx; + if (_panStartOffset != _panUpdateOffset) { + if (_panStartOffset < details.localFocalPoint.dx) { + _canJumpPrevious = true; + } else { + _canJumpNext = true; + } } } - } - _currentOffsetOfInteractionUpdate = - _transformationController.toScene(Offset.zero); - if (!kIsDesktop || - (kIsDesktop && widget.isMobileWebView) || - (kIsDesktop && widget.scaleEnabled)) { - widget.interactionUpdate( - _transformationController.value.getMaxScaleOnAxis()); - } - final double currentScale = - _transformationController.value.getMaxScaleOnAxis(); - if (details.scale <= 1) { - if (((kIsDesktop && !widget.isMobileWebView) || - (widget.viewportDimension.width > - widget.viewportDimension.height)) && - widget.viewportDimension.width.round() >= - (widget.pdfPages[widget.pdfViewerController.pageNumber]! - .pageSize.width * - currentScale) - .round()) { - setState(() { - _paddingWidthScale = details.scale * currentScale; - }); + _currentOffsetOfInteractionUpdate = + _transformationController.toScene(Offset.zero); + if (!kIsDesktop || + (kIsDesktop && widget.isMobileWebView) || + (kIsDesktop && widget.scaleEnabled)) { + widget.interactionUpdate( + _transformationController.value.getMaxScaleOnAxis()); } - if (widget.viewportDimension.height.round() >= - (widget.pdfPages[widget.pdfViewerController.pageNumber]! - .pageSize.height * - _transformationController.value.getMaxScaleOnAxis()) - .round()) { - setState(() { - _paddingHeightScale = (details.scale) * currentScale; - }); + final double currentScale = + _transformationController.value.getMaxScaleOnAxis(); + if (details.scale <= 1) { + if (((kIsDesktop && !widget.isMobileWebView) || + (widget.viewportDimension.width > + widget.viewportDimension.height)) && + widget.viewportDimension.width.round() >= + (widget.pdfPages[widget.pdfViewerController.pageNumber]! + .pageSize.width * + currentScale) + .round()) { + setState(() { + _paddingWidthScale = details.scale * currentScale; + }); + } + if (widget.viewportDimension.height.round() >= + (widget.pdfPages[widget.pdfViewerController.pageNumber]! + .pageSize.height * + _transformationController.value.getMaxScaleOnAxis()) + .round()) { + setState(() { + _paddingHeightScale = (details.scale) * currentScale; + }); + } } - } - if (details.scale == 1) { - if (_transformationController - .toScene(Offset(widget.viewportDimension.width, 0)) - .dx - .round() + - _leftMargin.abs().round() >= - widget.viewportDimension.width || - _transformationController.toScene(Offset.zero).dx.round() <= - _leftMargin.abs().round()) { - _canPanOnZoom = true; + if (details.scale == 1) { + if (_transformationController + .toScene( + Offset(widget.viewportDimension.width, 0)) + .dx + .round() + + _leftMargin.abs().round() >= + widget.viewportDimension.width || + _transformationController.toScene(Offset.zero).dx.round() <= + _leftMargin.abs().round()) { + _canPanOnZoom = true; + } else { + _canScroll = true; + } } else { _canScroll = true; } - } else { - _canScroll = true; - } - widget.onPdfOffsetChanged! - .call(_transformationController.toScene(Offset.zero)); - }, - onInteractionEnd: (ScaleEndDetails details) { - if (widget.interactionMode == PdfInteractionMode.pan) { - final double pannedDistance = - (_panStartOffset - _panUpdateOffset).abs(); - if (pannedDistance > 300) { - if (_canJumpPrevious && - widget.pdfViewerController.pageNumber != 1) { - widget.pageController.animateToPage( - widget.pdfViewerController.pageNumber - 2, - duration: const Duration(milliseconds: 500), - curve: Curves.ease); - } else if (_canJumpNext && - widget.pdfViewerController.pageNumber != - widget.pdfViewerController.pageCount) { - widget.pageController.animateToPage( - widget.pdfViewerController.pageNumber, - duration: const Duration(milliseconds: 500), - curve: Curves.ease); - } - _canJumpPrevious = false; - _canJumpNext = false; - } else { - if (_canJumpPrevious) { - widget.pageController.animateTo( - widget.pageController.offset - 10, - duration: const Duration(milliseconds: 100), - curve: Curves.ease); - } else if (_canJumpNext) { - widget.pageController.animateTo( - widget.pageController.offset + 10, - duration: const Duration(milliseconds: 100), - curve: Curves.ease); + widget.onPdfOffsetChanged! + .call(_transformationController.toScene(Offset.zero)); + }, + onInteractionEnd: (ScaleEndDetails details) { + if (widget.interactionMode == PdfInteractionMode.pan) { + final double pannedDistance = + (_panStartOffset - _panUpdateOffset).abs(); + if (pannedDistance > 300) { + if (_canJumpPrevious && + widget.pdfViewerController.pageNumber != 1) { + widget.pageController.animateToPage( + widget.pdfViewerController.pageNumber - 2, + duration: const Duration(milliseconds: 500), + curve: Curves.ease); + } else if (_canJumpNext && + widget.pdfViewerController.pageNumber != + widget.pdfViewerController.pageCount) { + widget.pageController.animateToPage( + widget.pdfViewerController.pageNumber, + duration: const Duration(milliseconds: 500), + curve: Curves.ease); + } + _canJumpPrevious = false; + _canJumpNext = false; + } else { + if (_canJumpPrevious) { + widget.pageController.animateTo( + widget.pageController.offset - 10, + duration: const Duration(milliseconds: 100), + curve: Curves.ease); + } else if (_canJumpNext) { + widget.pageController.animateTo( + widget.pageController.offset + 10, + duration: const Duration(milliseconds: 100), + curve: Curves.ease); + } } } - } - if (!kIsDesktop || - (kIsDesktop && widget.isMobileWebView) || - (kIsDesktop && widget.scaleEnabled)) { - widget.onZoomLevelChanged( - _transformationController.value.getMaxScaleOnAxis()); - } - currentOffset = _transformationController.toScene(Offset.zero); - if (_canScroll) { - _canPanOnZoom = false; - _canScroll = false; - } - _paddingWidthScale = 0; - _paddingHeightScale = 0; - if (widget.viewportDimension.width > - widget.pdfPages[widget.pdfViewerController.pageNumber]!.pageSize - .width * - _transformationController.value.getMaxScaleOnAxis()) { - setState(() { - if (!_isMousePointer) { - _transformationController.value - .translate(_currentOffsetOfInteractionUpdate.dx); - _isOverFlowed = false; - } - }); - } else { - if (kIsDesktop && !widget.isMobileWebView) { - /// Invoked when pdf pages width greater viewport width - if (_isOverFlowed == false) { - _transformationController.value - .translate(_currentOffsetOfInteractionUpdate.dx); - _isOverFlowed = true; + if (!kIsDesktop || + (kIsDesktop && widget.isMobileWebView) || + (kIsDesktop && widget.scaleEnabled)) { + widget.onZoomLevelChanged( + _transformationController.value.getMaxScaleOnAxis()); + } + currentOffset = _transformationController.toScene(Offset.zero); + if (_canScroll) { + _canPanOnZoom = false; + _canScroll = false; + } + _paddingWidthScale = 0; + _paddingHeightScale = 0; + if (widget.viewportDimension.width > + widget.pdfPages[widget.pdfViewerController.pageNumber]! + .pageSize.width * + _transformationController.value.getMaxScaleOnAxis() && + (kIsDesktop || + (widget.isMobileWebView && isLandscape) || + (widget.isTablet && isLandscape))) { + setState(() { + if (!_isMousePointer) { + _transformationController.value + .translate(_currentOffsetOfInteractionUpdate.dx); + _isOverFlowed = false; + } + }); + } else { + if (kIsDesktop && !widget.isMobileWebView) { + /// Invoked when pdf pages width greater viewport width + if (_isOverFlowed == false) { + _transformationController.value + .translate(_currentOffsetOfInteractionUpdate.dx); + _isOverFlowed = true; + } } } - } - _isMousePointer = false; - setState(() {}); - }, - )); + _isMousePointer = false; + setState(() {}); + }, + )); + } } _scrollHeadPosition = widget.pdfViewerController.pageNumber == 1 ? 0 @@ -635,51 +648,77 @@ class SinglePageViewState extends State { _transformationController.value.getMaxScaleOnAxis(); final double pdfPageHeight = widget.pdfPages[widget.pdfViewerController.pageNumber]!.pageSize.height; - final double totalPageOffset = + + final double pdfPageWidth = widget.pdfPages[widget.pdfViewerController.pageNumber]!.pageSize.width; + final bool isPortrait = + MediaQuery.of(context).orientation == Orientation.portrait; if (widget.pdfViewerController.zoomLevel <= 1) { if (kIsDesktop && !widget.isMobileWebView) { offset = Offset.zero; } else { - offset = Offset(0, offset.dy); + if ((widget.isMobileWebView || widget.isTablet) && + isPortrait && + widget.viewportDimension.width > pdfPageWidth) { + offset = Offset(offset.dx, 0); + } else { + offset = Offset(0, offset.dy); + } } } - if (widget.viewportDimension.height > pdfPageHeight) { + + /// Calculates the offset when the viewport width is greater than the page width. + if ((widget.isMobileWebView || widget.isTablet) && + isPortrait && + widget.viewportDimension.width > pdfPageWidth) { + offset = Offset( + (tapPosition.dx > widget.viewportDimension.width / 2) + ? offset.dx + (widget.viewportDimension.width - pdfPageWidth) / 2 + : (offset.dx / 2), + offset.dy); + + offset = Offset( + ((widget.pdfViewerController.zoomLevel) > 1 + ? offset.dx + + (widget.viewportDimension.width - pdfPageWidth) / 2 + : 0.0) + .clamp( + 0, + (((widget.viewportDimension.width - pdfPageWidth) + + pdfPageWidth) / + 2) - + (widget.viewportDimension.width - pdfPageWidth) / 2), + (offset.dy - (widget.viewportDimension.height - pdfPageHeight)).clamp( + 0, + (offset.dy - (widget.viewportDimension.height - pdfPageHeight)) + .abs())); + } + + /// Calculates the offset when the viewport height is greater than the page height. + else { + if (widget.viewportDimension.height > pdfPageHeight) { + offset = Offset( + offset.dx, + (tapPosition.dy > widget.viewportDimension.height / 2) + ? offset.dy + pdfPageHeight / 2 + : (offset.dy / 2)); + } + offset = Offset( - offset.dx, - (tapPosition.dy > widget.viewportDimension.height / 2) - ? offset.dy + - (widget.viewportDimension.height - - widget - .pdfPages[widget.pdfViewerController.pageNumber]! - .pageSize - .height) / - 2 - : (offset.dy / 2)); + (offset.dx - (widget.viewportDimension.width - pdfPageWidth)).clamp( + 0, + (offset.dx - (widget.viewportDimension.width - pdfPageWidth)) + .abs()), + ((widget.pdfViewerController.zoomLevel) > 1 + ? offset.dy + greyAreaSize / 2 + : 0.0) + .clamp( + 0, + (((widget.viewportDimension.height - pdfPageHeight) + + pdfPageHeight) / + 2) - + greyAreaSize / 2)); } - offset = Offset( - (offset.dx - (widget.viewportDimension.width - totalPageOffset)).clamp( - 0, - (offset.dx - (widget.viewportDimension.width - totalPageOffset)) - .abs()), - ((widget.pdfViewerController.zoomLevel) > 1 - ? offset.dy + greyAreaSize / 2 - : 0.0) - .clamp( - 0, - (((widget.viewportDimension.height - - widget - .pdfPages[ - widget.pdfViewerController.pageNumber]! - .pageSize - .height) + - widget - .pdfPages[ - widget.pdfViewerController.pageNumber]! - .pageSize - .height) / - 2) - - greyAreaSize / 2)); setState(() { _canPanOnZoom = false; @@ -851,7 +890,6 @@ class SinglePageViewState extends State { await _clearSelection(); return showDialog( context: context, - barrierDismissible: true, builder: (BuildContext context) { final Orientation orientation = MediaQuery.of(context).orientation; return AlertDialog( diff --git a/packages/syncfusion_flutter_pdfviewer/lib/src/pdfviewer.dart b/packages/syncfusion_flutter_pdfviewer/lib/src/pdfviewer.dart index 243949a2c..c2b747091 100644 --- a/packages/syncfusion_flutter_pdfviewer/lib/src/pdfviewer.dart +++ b/packages/syncfusion_flutter_pdfviewer/lib/src/pdfviewer.dart @@ -14,8 +14,8 @@ // ignore_for_file: avoid_setters_without_getters, use_setters_to_change_properties import 'dart:io'; +import 'dart:isolate'; import 'dart:math'; -import 'dart:typed_data'; import 'dart:ui'; import 'package:async/async.dart'; @@ -145,8 +145,8 @@ class SfPdfViewer extends StatefulWidget { this.scrollDirection = PdfScrollDirection.vertical, this.pageLayoutMode = PdfPageLayoutMode.continuous, this.currentSearchTextHighlightColor = - const Color.fromRGBO(229, 110, 0, 0.6), - this.otherSearchTextHighlightColor = const Color.fromRGBO(229, 110, 0, 0.3), + const Color.fromARGB(80, 249, 125, 0), + this.otherSearchTextHighlightColor = const Color.fromARGB(50, 255, 255, 1), this.password, this.canShowPasswordDialog = true, this.canShowHyperlinkDialog = true, @@ -201,8 +201,8 @@ class SfPdfViewer extends StatefulWidget { this.scrollDirection = PdfScrollDirection.vertical, this.pageLayoutMode = PdfPageLayoutMode.continuous, this.currentSearchTextHighlightColor = - const Color.fromRGBO(229, 110, 0, 0.6), - this.otherSearchTextHighlightColor = const Color.fromRGBO(229, 110, 0, 0.3), + const Color.fromARGB(80, 249, 125, 0), + this.otherSearchTextHighlightColor = const Color.fromARGB(50, 255, 255, 1), this.password, this.canShowPasswordDialog = true, this.canShowHyperlinkDialog = true, @@ -255,8 +255,8 @@ class SfPdfViewer extends StatefulWidget { this.scrollDirection = PdfScrollDirection.vertical, this.pageLayoutMode = PdfPageLayoutMode.continuous, this.currentSearchTextHighlightColor = - const Color.fromRGBO(229, 110, 0, 0.6), - this.otherSearchTextHighlightColor = const Color.fromRGBO(229, 110, 0, 0.3), + const Color.fromARGB(80, 249, 125, 0), + this.otherSearchTextHighlightColor = const Color.fromARGB(50, 255, 255, 1), this.password, this.canShowPasswordDialog = true, this.canShowHyperlinkDialog = true, @@ -313,8 +313,8 @@ class SfPdfViewer extends StatefulWidget { this.scrollDirection = PdfScrollDirection.vertical, this.pageLayoutMode = PdfPageLayoutMode.continuous, this.currentSearchTextHighlightColor = - const Color.fromRGBO(229, 110, 0, 0.6), - this.otherSearchTextHighlightColor = const Color.fromRGBO(229, 110, 0, 0.3), + const Color.fromARGB(80, 249, 125, 0), + this.otherSearchTextHighlightColor = const Color.fromARGB(50, 255, 255, 1), this.password, this.canShowPasswordDialog = true, this.canShowHyperlinkDialog = true, @@ -572,12 +572,12 @@ class SfPdfViewer extends StatefulWidget { /// Current instance search text highlight color. /// - /// Defaults to Color.fromRGBO(229, 110, 0, 0.6). + /// Defaults to Color.fromARGB(80, 249, 125, 0). final Color currentSearchTextHighlightColor; ///Other instance search text highlight color. /// - /// Defaults to Color.fromRGBO(229, 110, 0, 0.3). + /// Defaults to Color.fromARGB(50, 255, 255, 1). final Color otherSearchTextHighlightColor; /// Called after the document is loaded in [SfPdfViewer]. @@ -871,7 +871,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { PdfDocument? _document; bool _hasError = false; bool _panEnabled = true; - bool _isMobile = false; + bool _isMobileView = false; bool _isSearchStarted = false; bool _isKeyPadRaised = false; bool _isTextSelectionCleared = false; @@ -883,7 +883,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { final Map> _pdfPagesKey = >{}; SystemMouseCursor _cursor = SystemMouseCursors.basic; - List? _textCollection; + List? _textCollection = []; PdfTextExtractor? _pdfTextExtractor; double _maxScrollExtent = 0; Size _pdfDimension = Size.zero; @@ -923,6 +923,12 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { double _previousTiledZoomLevel = 1; TextDirection _textDirection = TextDirection.ltr; bool _isOrientationChanged = false; + bool _isTextExtractionCompleted = false; + final List _matchedTextPageIndices = []; + final Map _extractedTextCollection = {}; + Isolate? _textSearchIsolate; + Isolate? _textExtractionIsolate; + bool _isTablet = false; /// PdfViewer theme data. SfPdfViewerThemeData? _pdfViewerThemeData; @@ -947,7 +953,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { _tempScrollDirection = _scrollDirection; _pageLayoutMode = widget.pageLayoutMode; _pdfViewerController = widget.controller ?? PdfViewerController(); - _pdfViewerController.addListener(_handleControllerValueChange); + _pdfViewerController._addListener(_handleControllerValueChange); _setInitialScrollOffset(); _offsetBeforeOrientationChange = Offset.zero; _hasError = false; @@ -976,20 +982,20 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { // _pdfViewerController. if (oldWidget.controller == null) { if (widget.controller != null) { - _pdfViewerController.removeListener(_handleControllerValueChange); + _pdfViewerController._removeListener(_handleControllerValueChange); _pdfViewerController._reset(); _pdfViewerController = widget.controller!; - _pdfViewerController.addListener(_handleControllerValueChange); + _pdfViewerController._addListener(_handleControllerValueChange); } } else { if (widget.controller == null) { - _pdfViewerController.removeListener(_handleControllerValueChange); + _pdfViewerController._removeListener(_handleControllerValueChange); _pdfViewerController = PdfViewerController(); - _pdfViewerController.addListener(_handleControllerValueChange); + _pdfViewerController._addListener(_handleControllerValueChange); } else if (widget.controller != oldWidget.controller) { - _pdfViewerController.removeListener(_handleControllerValueChange); + _pdfViewerController._removeListener(_handleControllerValueChange); _pdfViewerController = widget.controller!; - _pdfViewerController.addListener(_handleControllerValueChange); + _pdfViewerController._addListener(_handleControllerValueChange); } } _scrollDirection = widget.pageLayoutMode == PdfPageLayoutMode.single @@ -1041,10 +1047,14 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { _pdfDocumentLoadCancellableOperation?.cancel(); _getHeightCancellableOperation?.cancel(); _getWidthCancellableOperation?.cancel(); + _matchedTextPageIndices.clear(); + _extractedTextCollection.clear(); _pdfViewerThemeData = null; _localizations = null; imageCache.clear(); + _killTextSearchIsolate(); _plugin.closeDocument(); + _killTextExtractionIsolate(); _disposeCollection(_originalHeight); _disposeCollection(_originalWidth); _renderedImages.clear(); @@ -1062,7 +1072,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { widget .onTextSelectionChanged!(PdfTextSelectionChangedDetails(null, null)); } - _pdfViewerController.removeListener(_handleControllerValueChange); + _pdfViewerController._removeListener(_handleControllerValueChange); WidgetsBinding.instance.removeObserver(this); super.dispose(); } @@ -1080,7 +1090,12 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { ?.canvasRenderBox ?.disposeMouseSelection(); _isTextSelectionCleared = false; + _killTextExtractionIsolate(); + _killTextSearchIsolate(); _isEncrypted = false; + _matchedTextPageIndices.clear(); + _extractedTextCollection.clear(); + _isTextExtractionCompleted = false; _errorTextPresent = false; _passwordVisible = true; _isEncryptedDocument = false; @@ -1131,6 +1146,9 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { _document = await _pdfDocumentLoadCancellableOperation?.value; if (_document != null) { _pdfTextExtractor = PdfTextExtractor(_document!); + if (!kIsWeb) { + _performTextExtraction(); + } } final int pageCount = await _plugin.initializePdfRenderer(_pdfBytes); _pdfViewerController._pageCount = pageCount; @@ -1154,6 +1172,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { } catch (e) { _pdfViewerController._reset(); _hasError = true; + _killTextExtractionIsolate(); final String errorMessage = e.toString(); if (errorMessage.contains('Invalid cross reference table') || errorMessage.contains('FormatException: Invalid radix-10 number') || @@ -1185,7 +1204,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { } } if (widget.canShowPasswordDialog && !_isPasswordUsed) { - if (_isMobile) { + if (_isMobileView) { _checkMount(); _showPasswordDialog(); } else { @@ -1214,6 +1233,51 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { } } + /// Perform text extraction for mobile, windows and macOS platforms. + Future _performTextExtraction() async { + final ReceivePort receivePort = ReceivePort(); + receivePort.listen((dynamic message) { + if (message is SendPort) { + message.send([ + receivePort.sendPort, + _pdfTextExtractor, + _document?.pages.count, + ]); + } else if (message is Map) { + _extractedTextCollection.addAll(message); + _isTextExtractionCompleted = true; + if (_pdfViewerController._searchText.isNotEmpty) { + _pdfViewerController._notifyPropertyChangedListeners( + property: 'searchText'); + } + } + }); + _textExtractionIsolate = + await Isolate.spawn(_extractTextAsync, receivePort.sendPort); + } + + /// Text extraction runs in a separate thread + static Future _extractTextAsync(SendPort sendPort) async { + final ReceivePort receivePort = ReceivePort(); + sendPort.send(receivePort.sendPort); + // ignore: always_specify_types + final documentDetails = await receivePort.first; + final SendPort replyPort = documentDetails[0]; + final Map extractedTextCollection = {}; + for (int i = 0; i < documentDetails[2]; i++) { + extractedTextCollection[i] = + documentDetails[1].extractText(startPageIndex: i).toLowerCase(); + } + replyPort.send(extractedTextCollection); + } + + /// Terminates the text extraction isolate. + void _killTextExtractionIsolate() { + if (_textExtractionIsolate != null) { + _textExtractionIsolate?.kill(priority: Isolate.immediate); + } + } + /// Show the password dialog box for web. Widget _showWebPasswordDialogue() { return Container( @@ -1800,12 +1864,12 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { xOffset: _pdfViewerController._horizontalOffset, yOffset: _pdfViewerController._verticalOffset); } - _pdfViewerController.notifyPropertyChangedListeners( + _pdfViewerController._notifyPropertyChangedListeners( property: 'pageNavigate'); - _pdfViewerController.notifyPropertyChangedListeners( + _pdfViewerController._notifyPropertyChangedListeners( property: 'jumpToBookmark'); if (_pdfViewerController._searchText.isNotEmpty) { - _pdfViewerController.notifyPropertyChangedListeners( + _pdfViewerController._notifyPropertyChangedListeners( property: 'searchText'); } if (_pdfViewerController.zoomLevel > 1 && @@ -1816,21 +1880,22 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { } } - /// Find whether device is mobile or Laptop. + /// Find whether device is mobile or tablet. void _findDevice(BuildContext context) { /// Standard diagonal offset of tablet. const double kPdfStandardDiagonalOffset = 1100.0; final Size size = MediaQuery.of(context).size; final double diagonal = sqrt((size.width * size.width) + (size.height * size.height)); - _isMobile = diagonal < kPdfStandardDiagonalOffset; + _isMobileView = diagonal < kPdfStandardDiagonalOffset; + _isTablet = diagonal > kPdfStandardDiagonalOffset; } /// Get the global rect of viewport region. Rect? _getViewportGlobalRect() { Rect? viewportGlobalRect; if (kIsDesktop && - !_isMobile && + !_isMobileView && ((widget.pageLayoutMode == PdfPageLayoutMode.single && _singlePageViewKey.currentContext != null) || (_pdfScrollableStateKey.currentContext != null && @@ -1995,7 +2060,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { _isOverflowed = _originalWidth![index] > // ignore: avoid_as _viewportConstraints.maxWidth as bool; - if (kIsDesktop && !_isMobile) { + if (kIsDesktop && !_isMobileView) { if (_originalWidth![index] > _maxPdfPageWidth != null) { _maxPdfPageWidth = @@ -2021,14 +2086,14 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { viewportDimension, widget.interactionMode, (kIsDesktop && - !_isMobile && + !_isMobileView && !_isOverflowed && widget.pageLayoutMode == PdfPageLayoutMode.continuous) ? _originalWidth![index] : calculatedSize.width, (kIsDesktop && - !_isMobile && + !_isMobileView && !_isOverflowed && widget.pageLayoutMode == PdfPageLayoutMode.continuous) @@ -2048,7 +2113,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { widget.currentSearchTextHighlightColor, widget.otherSearchTextHighlightColor, _textCollection, - _isMobile, + _isMobileView, _pdfViewerController._pdfTextSearchResult, _pdfScrollableStateKey, _singlePageViewKey, @@ -2066,7 +2131,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { index == _pdfViewerController.pageCount - 1 ? 0.0 : widget.pageSpacing; - if (kIsDesktop && !_isMobile && !_isOverflowed) { + if (kIsDesktop && !_isMobileView && !_isOverflowed) { _pdfPages[pageIndex] = PdfPageInfo( totalHeight, Size(_originalWidth![index], @@ -2161,7 +2226,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { widget.canShowScrollHead, widget.canShowScrollStatus, _pdfPages, - _isMobile, + _isMobileView, widget.enableDoubleTapZooming, widget.interactionMode, _isScaleEnabled, @@ -2170,6 +2235,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { _handlePdfOffsetChanged, isBookmarkViewOpen, _textDirection, + _isTablet, children), ); if (_isSinglePageViewPageChanged && @@ -2232,7 +2298,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { widget.canShowScrollStatus, widget.canShowScrollHead, _pdfViewerController, - _isMobile, + _isMobileView, _pdfDimension, _totalImageSize, viewportDimension, @@ -2291,7 +2357,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { _pdfViewerController._zoomLevel = 1.0; if (_singlePageViewKey.currentState != null) { _singlePageViewKey.currentState!.previousZoomLevel = 1; - _pdfViewerController.notifyPropertyChangedListeners( + _pdfViewerController._notifyPropertyChangedListeners( property: 'zoomLevel'); } _previousHorizontalOffset = 0.0; @@ -2314,7 +2380,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { final double previousScale = _singlePageViewKey.currentState!.previousZoomLevel; if (previousScale != _pdfViewerController._zoomLevel) { - _pdfViewerController.notifyPropertyChangedListeners( + _pdfViewerController._notifyPropertyChangedListeners( property: 'zoomLevel'); } } @@ -2359,14 +2425,14 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { : totalImageHeight / heightFactor.clamp(1, 3); _totalImageSize = Size(totalImageWidth / zoomLevel, totalImageHeight / zoomLevel); - if (_isMobile && + if (_isMobileView && !_isKeyPadRaised && childHeight > _viewportConstraints.maxHeight && (totalImageHeight / zoomLevel).floor() <= _viewportConstraints.maxHeight.floor()) { childHeight = _viewportConstraints.maxHeight; } - if (_isMobile && + if (_isMobileView && childWidth > _viewportConstraints.maxWidth && totalImageWidth / zoomLevel <= _viewportConstraints.maxWidth) { childWidth = _viewportConstraints.maxWidth; @@ -2380,7 +2446,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { } void _handlePdfPagePointerMove(PointerMoveEvent details) { - if (details.kind == PointerDeviceKind.touch && kIsDesktop && !_isMobile) { + if (details.kind == PointerDeviceKind.touch && kIsDesktop) { setState(() { _isScaleEnabled = true; }); @@ -2388,7 +2454,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { } void _handlePdfPagePointerUp(PointerUpEvent details) { - if (details.kind == PointerDeviceKind.touch && kIsDesktop && !_isMobile) { + if (details.kind == PointerDeviceKind.touch && kIsDesktop) { setState(() { _isScaleEnabled = false; }); @@ -2420,7 +2486,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { } if (!_isScaleEnabled && event.kind == PointerDeviceKind.touch && - (!kIsDesktop || _isMobile)) { + (!kIsDesktop)) { setState(() { _isScaleEnabled = true; }); @@ -2444,7 +2510,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { void _handleDoubleTap() { _checkMount(); - if (!kIsDesktop || _isMobile) { + if (!kIsDesktop || _isMobileView) { _pdfPagesKey[_pdfViewerController.pageNumber] ?.currentState ?.canvasRenderBox @@ -2453,7 +2519,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { } void _handleBookmarkViewChanged(bool hasBookmark) { - if (!kIsWeb || (kIsWeb && _isMobile)) { + if (!kIsWeb || (kIsWeb && _isMobileView)) { _checkMount(); } } @@ -2808,7 +2874,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { final double greyArea = (_singlePageViewKey.currentState?.greyAreaSize ?? 0) / 2; double heightPercentage = 1.0; - if (kIsDesktop && !_isMobile) { + if (kIsDesktop && !_isMobileView) { heightPercentage = _document!.pages[_pdfViewerController.pageNumber - 1].size.height / _pdfPages[_pdfViewerController.pageNumber]!.pageSize.height; @@ -2837,7 +2903,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { } _pdfViewerController.zoomLevel = zoomLevel; double heightPercentage = 1.0; - if (kIsDesktop && !_isMobile) { + if (kIsDesktop && !_isMobileView) { heightPercentage = _document! .pages[_pdfViewerController.pageNumber - 1].size.height / _pdfPages[_pdfViewerController.pageNumber]!.pageSize.height; @@ -2969,7 +3035,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { ).enforce(constraints); } else { if (widget.pageLayoutMode == PdfPageLayoutMode.single && - (!_isMobile || _viewportConstraints.maxWidth > newHeight)) { + (!_isMobileView || _viewportConstraints.maxWidth > newHeight)) { constraints = BoxConstraints.tightFor( height: newHeight, ).enforce(constraints); @@ -3088,7 +3154,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { .getRotatedOffset(bookmarkOffset, index - 1, pdfPage.rotation); } if (kIsDesktop && - !_isMobile && + !_isMobileView && widget.pageLayoutMode == PdfPageLayoutMode.continuous) { heightPercentage = 1.0; } @@ -3262,16 +3328,16 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { } } else if (property == 'searchText') { _isSearchStarted = true; + _matchedTextPageIndices.clear(); _pdfViewerController._pdfTextSearchResult - .removeListener(_handleTextSearch); - _textCollection = _pdfTextExtractor?.findText( - [_pdfViewerController._searchText], - searchOption: _pdfViewerController._textSearchOption, - ); - if (_textCollection != null) { + ._removeListener(_handleTextSearch); + if (kIsWeb) { + _textCollection = _pdfTextExtractor?.findText( + [_pdfViewerController._searchText], + searchOption: _pdfViewerController._textSearchOption, + ); if (_textCollection!.isEmpty) { _pdfViewerController._pdfTextSearchResult._currentOccurrenceIndex = 0; - _pdfViewerController._pdfTextSearchResult._totalSearchTextCount = 0; _pdfViewerController._pdfTextSearchResult._updateResult(false); } else { @@ -3285,12 +3351,92 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { _pdfViewerController._pdfTextSearchResult._updateResult(true); } _pdfViewerController._pdfTextSearchResult - .addListener(_handleTextSearch); + ._addListener(_handleTextSearch); setState(() {}); + } else { + if (_isTextExtractionCompleted) { + final String searchText = + _pdfViewerController._searchText.toLowerCase(); + _extractedTextCollection.forEach((int key, String value) { + if (value.contains(searchText)) { + _matchedTextPageIndices.add(key); + } + }); + _performTextSearch(); + } } } } + /// Perform text search for mobile, windows and macOS platforms. + Future _performTextSearch() async { + _pdfViewerController._pdfTextSearchResult._addListener(_handleTextSearch); + setState(() {}); + _pdfViewerController._pdfTextSearchResult.clear(); + final ReceivePort receivePort = ReceivePort(); + receivePort.listen((dynamic message) { + if (message is SendPort) { + message.send([ + receivePort.sendPort, + _pdfTextExtractor, + _pdfViewerController._searchText, + _pdfViewerController._textSearchOption, + _matchedTextPageIndices, + ]); + } else if (message is List) { + _textCollection!.addAll(message); + if (_textCollection!.isNotEmpty && + _pdfViewerController._pdfTextSearchResult.totalInstanceCount == 0) { + _pdfViewerController._pdfTextSearchResult._updateResult(true); + _pdfViewerController._pdfTextSearchResult._currentOccurrenceIndex = 1; + _isPageChanged = false; + if (_pdfPages.isNotEmpty) { + _jumpToSearchInstance(); + } + _pdfViewerController._pdfTextSearchResult._totalSearchTextCount = + _textCollection!.length; + } + if (_textCollection!.isNotEmpty) { + _pdfViewerController._pdfTextSearchResult._totalSearchTextCount = + _textCollection!.length; + } + } else if (message is String) { + if (_textCollection!.isEmpty) { + _pdfViewerController._pdfTextSearchResult._currentOccurrenceIndex = 0; + _pdfViewerController._pdfTextSearchResult._totalSearchTextCount = 0; + _pdfViewerController._pdfTextSearchResult._updateResult(false); + } + _pdfViewerController._pdfTextSearchResult + ._updateSearchCompletedStatus(true); + } + }); + _textSearchIsolate = + await Isolate.spawn(_findTextAsync, receivePort.sendPort); + } + + /// Text search is run in separate thread + static Future _findTextAsync(SendPort sendPort) async { + final ReceivePort receivePort = ReceivePort(); + sendPort.send(receivePort.sendPort); + // ignore: always_specify_types + final searchDetails = await receivePort.first; + final SendPort replyPort = searchDetails[0]; + for (int i = 0; i < searchDetails[4].length; i++) { + final List result = searchDetails[1].findText([ + searchDetails[2], + ], startPageIndex: searchDetails[4][i], searchOption: searchDetails[3]); + replyPort.send(result); + } + replyPort.send('SearchCompleted'); + } + + /// Terminates the text search isolate. + void _killTextSearchIsolate() { + if (_textSearchIsolate != null) { + _textSearchIsolate?.kill(priority: Isolate.immediate); + } + } + int _getInstanceInPage(int pageNumber, {bool lookForFirst = true}) { int? instance = 0; if (lookForFirst) { @@ -3326,6 +3472,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { _updateSearchInstance(isNext: isNext); _isPageChanged = false; } + const int searchInstanceTopMargin = 20; final int currentInstancePageIndex = _textCollection![ _pdfViewerController._pdfTextSearchResult.currentInstanceIndex - 1] @@ -3350,37 +3497,38 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { .topLeft; } final double heightPercentage = (kIsDesktop && - !_isMobile && + !_isMobileView && !_isOverflowed && widget.pageLayoutMode == PdfPageLayoutMode.continuous) ? 1 - : _originalHeight![currentInstancePageIndex - 1] / - // ignore: avoid_as - _pdfPages[currentInstancePageIndex]!.pageSize.height as double; + : _document!.pages[currentInstancePageIndex - 1].size.height / + _pdfPages[currentInstancePageIndex]!.pageSize.height; final double widthPercentage = (kIsDesktop && - !_isMobile && + !_isMobileView && !_isOverflowed && widget.pageLayoutMode == PdfPageLayoutMode.continuous) ? 1 - : _originalWidth![currentInstancePageIndex - 1] / - // ignore: avoid_as - _pdfPages[currentInstancePageIndex]!.pageSize.width as double; + : _document!.pages[currentInstancePageIndex - 1].size.width / + _pdfPages[currentInstancePageIndex]!.pageSize.width; double searchOffsetX = topOffset.dx / widthPercentage; - double searchOffsetY = _pdfPages[currentInstancePageIndex]!.pageOffset + - (topOffset.dy / heightPercentage); + double searchOffsetY = (_pdfPages[currentInstancePageIndex]!.pageOffset + + (topOffset.dy / heightPercentage)) - + searchInstanceTopMargin; + if (_scrollDirection == PdfScrollDirection.horizontal) { searchOffsetX = _pdfPages[currentInstancePageIndex]!.pageOffset + topOffset.dx / widthPercentage; - searchOffsetY = topOffset.dy / heightPercentage; + searchOffsetY = + (topOffset.dy / heightPercentage) - searchInstanceTopMargin; } final Offset offset = _pdfScrollableStateKey.currentState?.currentOffset ?? Offset.zero; final Rect viewport = Rect.fromLTWH( offset.dx, - offset.dy, + offset.dy - searchInstanceTopMargin, _viewportConstraints.biggest.width / _pdfViewerController.zoomLevel, _viewportConstraints.biggest.height / _pdfViewerController.zoomLevel); final Offset singleLayoutOffset = @@ -3445,21 +3593,29 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { ._pdfTextSearchResult.totalInstanceCount; _jumpToSearchInstance(isNext: false); }); - } else if (property == 'clear') { - setState(() { - _isSearchStarted = false; - _textCollection = null; - _pdfViewerController._pdfTextSearchResult._currentOccurrenceIndex = 0; - _pdfViewerController._pdfTextSearchResult._totalSearchTextCount = 0; - _pdfViewerController._pdfTextSearchResult._updateResult(false); - _pdfPagesKey[_pdfViewerController.pageNumber] - ?.currentState - ?.focusNode - .requestFocus(); - }); - return; } } + if (property == 'clear') { + setState(() { + if (!kIsWeb) { + _killTextSearchIsolate(); + } + + _isSearchStarted = false; + _textCollection = []; + + _pdfViewerController._pdfTextSearchResult + ._updateSearchCompletedStatus(false); + _pdfViewerController._pdfTextSearchResult._currentOccurrenceIndex = 0; + _pdfViewerController._pdfTextSearchResult._totalSearchTextCount = 0; + _pdfViewerController._pdfTextSearchResult._updateResult(false); + _pdfPagesKey[_pdfViewerController.pageNumber] + ?.currentState + ?.focusNode + .requestFocus(); + }); + return; + } } void _handlePdfOffsetChanged(Offset offset) { @@ -3543,7 +3699,7 @@ class SfPdfViewerState extends State with WidgetsBindingObserver { /// } ///} /// ``` -class PdfViewerController extends _ValueChangeNotifier { +class PdfViewerController extends ChangeNotifier with _ValueChangeNotifier { /// Zoom level double _zoomLevel = 1; @@ -3562,13 +3718,13 @@ class PdfViewerController extends _ValueChangeNotifier { /// Sets the current page number. set _pageNumber(int num) { _currentPageNumber = num; - notifyPropertyChangedListeners(property: 'pageChanged'); + notifyListeners(); } /// Sets the page count. set _pageCount(int pageCount) { _totalPages = pageCount; - notifyPropertyChangedListeners(property: 'pageCount'); + _notifyPropertyChangedListeners(property: 'pageCount'); } /// PdfBookmark instance @@ -3653,7 +3809,7 @@ class PdfViewerController extends _ValueChangeNotifier { return; } _zoomLevel = newValue; - notifyPropertyChangedListeners(property: 'zoomLevel'); + _notifyPropertyChangedListeners(property: 'zoomLevel'); } /// Current page number displayed in the [SfPdfViewer]. @@ -3868,7 +4024,7 @@ class PdfViewerController extends _ValueChangeNotifier { /// ``` void jumpToBookmark(PdfBookmark bookmark) { _pdfBookmark = bookmark; - notifyPropertyChangedListeners(property: 'jumpToBookmark'); + _notifyPropertyChangedListeners(property: 'jumpToBookmark'); } /// Jumps the scroll position of [SfPdfViewer] to the specified offset value. @@ -3928,7 +4084,7 @@ class PdfViewerController extends _ValueChangeNotifier { void jumpTo({double xOffset = 0.0, double yOffset = 0.0}) { _horizontalOffset = xOffset; _verticalOffset = yOffset; - notifyPropertyChangedListeners(property: 'jumpTo'); + _notifyPropertyChangedListeners(property: 'jumpTo'); } /// Navigates to the specified page number in a PDF document. @@ -3983,7 +4139,7 @@ class PdfViewerController extends _ValueChangeNotifier { /// ``` void jumpToPage(int pageNumber) { _pageNavigator = Pagination(Navigation.jumpToPage, index: pageNumber); - notifyPropertyChangedListeners(property: 'pageNavigate'); + _notifyPropertyChangedListeners(property: 'pageNavigate'); } /// Navigates to the previous page of a PDF document. @@ -4035,7 +4191,7 @@ class PdfViewerController extends _ValueChangeNotifier { /// ``` void previousPage() { _pageNavigator = Pagination(Navigation.previousPage); - notifyPropertyChangedListeners(property: 'pageNavigate'); + _notifyPropertyChangedListeners(property: 'pageNavigate'); } /// Navigates to the next page of a PDF document. @@ -4087,7 +4243,7 @@ class PdfViewerController extends _ValueChangeNotifier { /// ``` void nextPage() { _pageNavigator = Pagination(Navigation.nextPage); - notifyPropertyChangedListeners(property: 'pageNavigate'); + _notifyPropertyChangedListeners(property: 'pageNavigate'); } /// Navigates to the first page of a PDF document. @@ -4139,7 +4295,7 @@ class PdfViewerController extends _ValueChangeNotifier { /// ``` void firstPage() { _pageNavigator = Pagination(Navigation.firstPage); - notifyPropertyChangedListeners(property: 'pageNavigate'); + _notifyPropertyChangedListeners(property: 'pageNavigate'); } /// Navigates to the last page of a PDF document. @@ -4192,143 +4348,156 @@ class PdfViewerController extends _ValueChangeNotifier { /// ``` void lastPage() { _pageNavigator = Pagination(Navigation.lastPage); - notifyPropertyChangedListeners(property: 'pageNavigate'); + _notifyPropertyChangedListeners(property: 'pageNavigate'); } /// Searches the given text in the document. /// - /// Returns the [PdfTextSearchResult] object using which the search - /// navigation can be performed on the instances found. + /// This method returns the [PdfTextSearchResult] object using which the search navigation can be performed on the instances found. + /// + /// On mobile and desktop platforms, the search will be performed asynchronously + /// and so the results will be returned periodically on a page-by-page basis, + /// which can be retrieved using the [PdfTextSearchResult.addListener] method in the application. /// - /// * text - _required_ - The text to be searched in the document. - /// * searchOption - _optional_ - Defines the constants that specify the - /// option for text search. + /// Whereas in the web platform, the search will be performed synchronously + /// and so the result will be returned only after completing the search on all the pages. + /// This is since [isolate] is not supported for the web platform yet. + /// + /// * searchText - required - The text to be searched in the document. + /// * searchOption - optional - Defines the constants that specify the option for text search. /// /// This example demonstrates how to search text in [SfPdfViewer]. /// /// ```dart /// class MyAppState extends State { /// - /// late PdfViewerController _pdfViewerController; - /// late PdfTextSearchResult _searchResult; + /// late PdfViewerController _pdfViewerController; + /// late PdfTextSearchResult _searchResult; /// - /// @override - /// void initState() { - /// _pdfViewerController = PdfViewerController(); - /// _searchResult = PdfTextSearchResult(); - /// super.initState(); - /// } - /// - /// void _showDialog(BuildContext context) - /// { - /// showDialog( - /// context: context, - /// builder: (BuildContext context) { - /// return AlertDialog( - /// title: Text('Search Result'), - /// content: Text('No more occurrences found. Would you like to continue to search from the beginning?'), - /// actions: [ - /// FlatButton( - /// onPressed: () { - /// _searchResult.nextInstance(); - /// Navigator.of(context).pop(); - /// }, - /// child: Text('YES'), - /// ), - /// FlatButton( - /// onPressed: () { - /// _searchResult.clear(); - /// Navigator.of(context).pop(); - /// }, - /// child: Text('NO'), - /// ), - /// ], - /// ); - /// }, - /// ); - /// } + /// @override + /// void initState() { + /// _pdfViewerController = PdfViewerController(); + /// _searchResult = PdfTextSearchResult(); + /// super.initState(); + /// } /// - /// @override - /// Widget build(BuildContext context) { - /// return MaterialApp( - /// home: Scaffold( - /// appBar: AppBar( - /// title: Text('Syncfusion Flutter PdfViewer'), + /// void _showDialog(BuildContext context) { + /// showDialog( + /// context: context, + /// builder: (BuildContext context) { + /// return AlertDialog( + /// title: const Text('Search Result'), + /// content: const Text( + /// 'No more occurrences found. Would you like to continue to search from the beginning?'), /// actions: [ - /// IconButton( - /// icon: Icon( - /// Icons.search, - /// color: Colors.white, - /// ), - /// onPressed: () async { - /// _searchResult = await _pdfViewerController.searchText( - /// 'PDF', searchOption: TextSearchOption.caseSensitive); - /// setState(() {}); - /// }, - /// ), - /// Visibility( - /// visible: _searchResult.hasResult, - /// child: IconButton( - /// icon: Icon( - /// Icons.clear, - /// color: Colors.white, - /// ), - /// onPressed: () { - /// setState(() { - /// _searchResult.clear(); - /// }); - /// }, - /// ), - /// ), - /// Visibility( - /// visible: _searchResult.hasResult, - /// child: IconButton( - /// icon: Icon( - /// Icons.navigate_before, - /// color: Colors.white, - /// ), - /// onPressed: () { - /// _searchResult.previousInstance(); - /// }, - /// ), + /// TextButton( + /// onPressed: () { + /// _searchResult.nextInstance(); + /// Navigator.of(context).pop(); + /// }, + /// child: const Text('YES'), /// ), - /// Visibility( - /// visible: _searchResult.hasResult, - /// child: IconButton( - /// icon: Icon( - /// Icons.navigate_next, - /// color: Colors.white, - /// ), - /// onPressed: () { - /// if (_searchResult.currentInstanceIndex == - /// _searchResult.totalInstanceCount) { - /// _showDialog(context); - /// } - /// else { - /// _searchResult.nextInstance(); - /// } - /// }, - /// ), + /// TextButton( + /// onPressed: () { + /// _searchResult.clear(); + /// Navigator.of(context).pop(); + /// }, + /// child: const Text('NO'), /// ), /// ], - /// ), - /// body: - /// SfPdfViewer.asset( - /// 'assets/flutter-succinctly.pdf', - /// controller: _pdfViewerController, - /// currentSearchTextHighlightColor: Colors.blue, - /// otherSearchTextHighlightColor: Colors.yellow, - /// ) - /// ) + /// ); + /// }, /// ); /// } - ///} + /// + /// @override + /// Widget build(BuildContext context) { + /// return MaterialApp( + /// home: Scaffold( + /// appBar: AppBar( + /// title: const Text('Syncfusion Flutter PdfViewer'), + /// actions: [ + /// IconButton( + /// icon: const Icon( + /// Icons.search, + /// color: Colors.white, + /// ), + /// onPressed: () { + /// _searchResult = _pdfViewerController.searchText('the', + /// searchOption: TextSearchOption.caseSensitive); + /// if (kIsWeb) { + /// setState(() {}); + /// } else { + /// _searchResult.addListener(() { + /// if (_searchResult.hasResult) { + /// setState(() {}); + /// } + /// }); + /// } + /// }), + /// Visibility( + /// visible: _searchResult.hasResult, + /// child: IconButton( + /// icon: const Icon( + /// Icons.clear, + /// color: Colors.white, + /// ), + /// onPressed: () { + /// setState(() { + /// _searchResult.clear(); + /// }); + /// }, + /// ), + /// ), + /// Visibility( + /// visible: _searchResult.hasResult, + /// child: IconButton( + /// icon: const Icon( + /// Icons.navigate_before, + /// color: Colors.white, + /// ), + /// onPressed: () { + /// _searchResult.previousInstance(); + /// }, + /// ), + /// ), + /// Visibility( + /// visible: _searchResult.hasResult, + /// child: IconButton( + /// icon: const Icon( + /// Icons.navigate_next, + /// color: Colors.white, + /// ), + /// onPressed: () { + /// if ((_searchResult.currentInstanceIndex == + /// _searchResult.totalInstanceCount && + /// kIsWeb) || + /// (_searchResult.currentInstanceIndex == + /// _searchResult.totalInstanceCount && + /// _searchResult.isSearchCompleted)) { + /// _showDialog(context); + /// } else { + /// _searchResult.nextInstance(); + /// } + /// }, + /// ), + /// ), + /// ], + /// ), + /// body: SfPdfViewer.network( + /// 'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf', + /// controller: _pdfViewerController, + /// currentSearchTextHighlightColor: Colors.blue, + /// otherSearchTextHighlightColor: Colors.yellow, + /// ))); + /// } + /// } ///''' - Future searchText(String searchText, - {TextSearchOption? searchOption}) async { + PdfTextSearchResult searchText(String searchText, + {TextSearchOption? searchOption}) { _searchText = searchText; _textSearchOption = searchOption; - notifyPropertyChangedListeners(property: 'searchText'); + _notifyPropertyChangedListeners(property: 'searchText'); return _pdfTextSearchResult; } @@ -4336,7 +4505,7 @@ class PdfViewerController extends _ValueChangeNotifier { /// /// Returns `true`, if the text selection is cleared properly. bool clearSelection() { - notifyPropertyChangedListeners(property: 'clearTextSelection'); + _notifyPropertyChangedListeners(property: 'clearTextSelection'); return _clearTextSelection; } @@ -4350,12 +4519,12 @@ class PdfViewerController extends _ValueChangeNotifier { _searchText = ''; _pageNavigator = null; _pdfBookmark = null; - notifyPropertyChangedListeners(); + _notifyPropertyChangedListeners(); } } /// PdfTextSearchResult holds the details of TextSearch -class PdfTextSearchResult extends _ValueChangeNotifier { +class PdfTextSearchResult extends ChangeNotifier with _ValueChangeNotifier { /// Current instance number of the searched text. int _currentInstanceIndex = 0; @@ -4365,10 +4534,13 @@ class PdfTextSearchResult extends _ValueChangeNotifier { /// Indicates whether the text search context is alive for searching bool _hasResult = false; + /// Indicates whether the text search is completed or not . + bool _isSearchCompleted = false; + /// Sets the current highlighted search text index in the document. set _currentOccurrenceIndex(int num) { _currentInstanceIndex = num; - notifyPropertyChangedListeners(property: 'currentInstance'); + notifyListeners(); } /// The current highlighted search text index in the document. @@ -4379,7 +4551,7 @@ class PdfTextSearchResult extends _ValueChangeNotifier { /// Sets the total instance of the searched text in the PDF document. set _totalSearchTextCount(int totalInstanceCount) { _totalInstanceCount = totalInstanceCount; - notifyPropertyChangedListeners(property: 'totalInstance'); + notifyListeners(); } /// Indicates the total instance of the searched text in the PDF document. @@ -4390,7 +4562,7 @@ class PdfTextSearchResult extends _ValueChangeNotifier { /// Updates whether the text search context is alive for searching void _updateResult(bool hasResult) { _hasResult = hasResult; - notifyPropertyChangedListeners(property: 'result'); + notifyListeners(); } /// Indicates whether the text search context is alive for searching @@ -4398,13 +4570,24 @@ class PdfTextSearchResult extends _ValueChangeNotifier { return _hasResult; } + /// Updates whether the text search is completed or not. + void _updateSearchCompletedStatus(bool isSearchCompleted) { + _isSearchCompleted = isSearchCompleted; + notifyListeners(); + } + + /// Indicates whether the text search is completed or not. + bool get isSearchCompleted { + return _isSearchCompleted; + } + /// Moves to the next searched text instance in the document. /// /// Using this method, the [SfPdfViewer] will move to the next searched text instance /// in the document. If this method is called after reaching the last instance, /// then the first instance will be again highlighted and the process continues. void nextInstance() { - notifyPropertyChangedListeners(property: 'nextInstance'); + _notifyPropertyChangedListeners(property: 'nextInstance'); } /// Moves to the previous searched text instance in the document. @@ -4413,7 +4596,7 @@ class PdfTextSearchResult extends _ValueChangeNotifier { /// instance in the document. If this method is called from the first instance, /// then the last (previous) instance will be highlighted and the process continues. void previousInstance() { - notifyPropertyChangedListeners(property: 'previousInstance'); + _notifyPropertyChangedListeners(property: 'previousInstance'); } /// Clears the [PdfTextSearchResult] object and cancels the search process. @@ -4422,28 +4605,28 @@ class PdfTextSearchResult extends _ValueChangeNotifier { /// the [PdfTextSearchResult] object will be cleared, which in turn changes the /// [hasResult] property value to 'false`. void clear() { - notifyPropertyChangedListeners(property: 'clear'); + _notifyPropertyChangedListeners(property: 'clear'); } } /// _ValueChangeNotifier class listener invoked whenever PdfViewerController property changed. class _ValueChangeNotifier { - late _PdfControllerListener listener; + late _PdfControllerListener _listener; final ObserverList<_PdfControllerListener> _listeners = ObserverList<_PdfControllerListener>(); - void addListener(_PdfControllerListener listener) { + void _addListener(_PdfControllerListener listener) { _listeners.add(listener); } - void removeListener(_PdfControllerListener listener) { + void _removeListener(_PdfControllerListener listener) { _listeners.remove(listener); } @protected - void notifyPropertyChangedListeners({String? property}) { - for (listener in _listeners) { - listener(property: property); + void _notifyPropertyChangedListeners({String? property}) { + for (_listener in _listeners) { + _listener(property: property); } } } diff --git a/packages/syncfusion_flutter_pdfviewer/lib/src/test/textsearch.dart b/packages/syncfusion_flutter_pdfviewer/lib/src/test/textsearch.dart index aef08b26a..18bf45696 100644 --- a/packages/syncfusion_flutter_pdfviewer/lib/src/test/textsearch.dart +++ b/packages/syncfusion_flutter_pdfviewer/lib/src/test/textsearch.dart @@ -38,10 +38,10 @@ void _initiateTextSearchTestWidget(String choice) { void _textSearchTestTestCase() { _initiateTextSearchTestWidget(''); - test('Ensure SearchText API in document load callback', () async { - expect(_searchResult!.totalInstanceCount, 44); - expect(_controller.pageNumber, 3); - }, timeout: const Timeout(Duration(minutes: 3))); + // test('Ensure SearchText API in document load callback', () async { + // expect(_searchResult!.totalInstanceCount, 44); + // expect(_controller.pageNumber, 3); + // }, timeout: const Timeout(Duration(minutes: 3))); } Offset _initialScrollOffset = Offset.zero; @@ -79,8 +79,8 @@ class _TextSearchTestState extends State { Icons.search, color: Colors.white, ), - onPressed: () async { - _searchResult = await _controller.searchText( + onPressed: () { + _searchResult = _controller.searchText( 'the', ); setState(() {}); @@ -140,7 +140,7 @@ class _TextSearchTestState extends State { debugPrint(details.error); }, onDocumentLoaded: (PdfDocumentLoadedDetails details) async { - _searchResult = await _controller.searchText('gis'); + // _searchResult = _controller.searchText('gis'); }, ) : Container()), diff --git a/packages/syncfusion_flutter_pdfviewer/pubspec.yaml b/packages/syncfusion_flutter_pdfviewer/pubspec.yaml index aca4958dc..46dd3a790 100644 --- a/packages/syncfusion_flutter_pdfviewer/pubspec.yaml +++ b/packages/syncfusion_flutter_pdfviewer/pubspec.yaml @@ -1,10 +1,10 @@ name: syncfusion_flutter_pdfviewer description: Flutter PDF Viewer library is used to display a PDF document seamlessly and efficiently. -version: 20.2.36-beta +version: 18.3.35 homepage: https://github.com/syncfusion/flutter-widgets/tree/master/packages/syncfusion_flutter_pdfviewer environment: - sdk: '>=2.12.0 <3.0.0' + sdk: '>=2.17.0 <3.0.0' flutter: ">=1.20.0" flutter: @@ -36,20 +36,50 @@ dependencies: uuid: ^3.0.5 intl: ^0.17.0 - syncfusion_pdfviewer_platform_interface: ^20.2.36 + syncfusion_pdfviewer_platform_interface: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-pdfviewer + path: flutter_pdfviewer/syncfusion_pdfviewer_platform_interface + branch: release/20.4.0.1 + ref: release/20.4.0.1 - syncfusion_pdfviewer_web: ^20.2.36 + syncfusion_pdfviewer_web: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-pdfviewer + path: flutter_pdfviewer/syncfusion_pdfviewer_web + branch: release/20.4.0.1 + ref: release/20.4.0.1 - syncfusion_pdfviewer_macos: ^20.2.36 + syncfusion_pdfviewer_macos: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-pdfviewer + path: flutter_pdfviewer/syncfusion_pdfviewer_macos + branch: release/20.4.0.1 + ref: release/20.4.0.1 - syncfusion_pdfviewer_windows: ^20.2.36 + syncfusion_pdfviewer_windows: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-pdfviewer + path: flutter_pdfviewer/syncfusion_pdfviewer_windows + branch: release/20.4.0.1 + ref: release/20.4.0.1 - syncfusion_flutter_core: ^20.2.36 + syncfusion_flutter_core: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-core + path: syncfusion_flutter_core + branch: release/20.4.0.1 + ref: release/20.4.0.1 - syncfusion_flutter_pdf: ^20.2.36 + syncfusion_flutter_pdf: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-pdf + path: flutter_pdf/syncfusion_flutter_pdf + branch: release/20.4.0.1 + ref: release/20.4.0.1 url_launcher: ^6.1.0 dev_dependencies: flutter_test: - sdk: flutter \ No newline at end of file + sdk: flutter diff --git a/packages/syncfusion_flutter_signaturepad/README.md b/packages/syncfusion_flutter_signaturepad/README.md index d8d07239c..c8407f9bf 100644 --- a/packages/syncfusion_flutter_signaturepad/README.md +++ b/packages/syncfusion_flutter_signaturepad/README.md @@ -34,15 +34,12 @@ Explore the full capability of our Flutter widgets on your device by installing

- - + +

- -

-

@@ -254,11 +251,11 @@ You can clear the signature drawn in the SignaturePad using the clear() method a ## Support and feedback -* If you have any questions, you can reach out to our [Syncfusion support team](https://www.syncfusion.com/support/directtrac/incidents/newincident) or post question on our [community forums](https://www.syncfusion.com/forums) . Submit a feature request or a bug through our [feedback portal](https://www.syncfusion.com/feedback/flutter). +* If you have any questions, you can reach out to our [Syncfusion support team](https://support.syncfusion.com/support/tickets/create) or post question on our [community forums](https://www.syncfusion.com/forums) . Submit a feature request or a bug through our [feedback portal](https://www.syncfusion.com/feedback/flutter). * To renew your subscription, click [renew](https://www.syncfusion.com/sales/products) or contact our sales team at salessupport@syncfusion.com | Toll Free: 1-888-9 DOTNET. ## About Syncfusion Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 20,000 customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies. -Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), and [Blazor](https://www.syncfusion.com/blazor-components), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls) and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. +Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), [Flutter](https://www.syncfusion.com/flutter-widgets), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([.NET MAUI](https://www.syncfusion.com/maui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([Flutter](https://www.syncfusion.com/flutter-widgets), [.NET MAUI](https://www.syncfusion.com/maui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file diff --git a/packages/syncfusion_flutter_signaturepad/example/linux/flutter/generated_plugin_registrant.cc b/packages/syncfusion_flutter_signaturepad/example/linux/flutter/generated_plugin_registrant.cc index d38195aa0..e71a16d23 100644 --- a/packages/syncfusion_flutter_signaturepad/example/linux/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_flutter_signaturepad/example/linux/flutter/generated_plugin_registrant.cc @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" diff --git a/packages/syncfusion_flutter_signaturepad/example/linux/flutter/generated_plugin_registrant.h b/packages/syncfusion_flutter_signaturepad/example/linux/flutter/generated_plugin_registrant.h index 9bf747894..e0f0a47bc 100644 --- a/packages/syncfusion_flutter_signaturepad/example/linux/flutter/generated_plugin_registrant.h +++ b/packages/syncfusion_flutter_signaturepad/example/linux/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/syncfusion_flutter_signaturepad/example/linux/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_signaturepad/example/linux/flutter/generated_plugins.cmake index 51436ae8c..2e1de87a7 100644 --- a/packages/syncfusion_flutter_signaturepad/example/linux/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_signaturepad/example/linux/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_signaturepad/example/pubspec.yaml b/packages/syncfusion_flutter_signaturepad/example/pubspec.yaml index c97e4126e..733431412 100644 --- a/packages/syncfusion_flutter_signaturepad/example/pubspec.yaml +++ b/packages/syncfusion_flutter_signaturepad/example/pubspec.yaml @@ -4,7 +4,7 @@ description: This project demonstrates how to use Syncfusion Flutter SignaturePa version: 1.0.0+1 environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: diff --git a/packages/syncfusion_flutter_signaturepad/example/windows/flutter/generated_plugin_registrant.cc b/packages/syncfusion_flutter_signaturepad/example/windows/flutter/generated_plugin_registrant.cc index 4bfa0f3a3..8b6d4680a 100644 --- a/packages/syncfusion_flutter_signaturepad/example/windows/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_flutter_signaturepad/example/windows/flutter/generated_plugin_registrant.cc @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" diff --git a/packages/syncfusion_flutter_signaturepad/example/windows/flutter/generated_plugin_registrant.h b/packages/syncfusion_flutter_signaturepad/example/windows/flutter/generated_plugin_registrant.h index 9846246b4..dc139d85a 100644 --- a/packages/syncfusion_flutter_signaturepad/example/windows/flutter/generated_plugin_registrant.h +++ b/packages/syncfusion_flutter_signaturepad/example/windows/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/syncfusion_flutter_signaturepad/example/windows/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_signaturepad/example/windows/flutter/generated_plugins.cmake index 4d10c2518..b93c4c30c 100644 --- a/packages/syncfusion_flutter_signaturepad/example/windows/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_signaturepad/example/windows/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_signaturepad/pubspec.yaml b/packages/syncfusion_flutter_signaturepad/pubspec.yaml index 565385c15..00fc89afe 100644 --- a/packages/syncfusion_flutter_signaturepad/pubspec.yaml +++ b/packages/syncfusion_flutter_signaturepad/pubspec.yaml @@ -1,15 +1,20 @@ name: syncfusion_flutter_signaturepad description: The Flutter Signature Pad widget allows you to capture smooth and more realistic signatures through drawn gestures and save it as an image. -version: 20.2.36 +version: 18.3.35 homepage: https://github.com/syncfusion/flutter-examples environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: sdk: flutter - syncfusion_flutter_core: ^20.2.36 + syncfusion_flutter_core: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-core + path: syncfusion_flutter_core + branch: release/20.4.0.1 + ref: release/20.4.0.1 dev_dependencies: flutter_test: diff --git a/packages/syncfusion_flutter_sliders/CHANGELOG.md b/packages/syncfusion_flutter_sliders/CHANGELOG.md index 7874e5572..ca8b9e725 100644 --- a/packages/syncfusion_flutter_sliders/CHANGELOG.md +++ b/packages/syncfusion_flutter_sliders/CHANGELOG.md @@ -1,5 +1,46 @@ ## Unreleased +## Range Slider + +**Bugs** + +* #FB39325 - Now, the "AnimationController methods should not be used after calling dispose" exception will no longer be thrown when dragging the range slider. + +## Slider + +**Bugs** + +* #FB39325 - Now, the "AnimationController methods should not be used after calling dispose" exception will no longer be thrown when dragging the slider. + +## [20.3.59] - 11/29/2022 + +## Range Selector + +**Bugs** + +* Now, the range selector thumb vertical and horizontal dragging works properly when you wrap it inside the scrollable widget. + +## Range Slider + +**Bugs** + +* Now, the range slider thumb vertical and horizontal dragging works properly when you wrap it inside the scrollable widget. + +## Slider + +**Bugs** + +* Now, the slider thumb vertical and horizontal dragging works properly when you wrap it inside the scrollable widget. + +## [20.3.47] - 09/29/2022 + +## Range Slider + +**Bug** +* #FB37062 - Now, the discrete RangeSlider thumbs get overlapped when placed inside a Row widget. + +## [20.2.36] - 07/01/2022 + ## Slider **Features** diff --git a/packages/syncfusion_flutter_sliders/README.md b/packages/syncfusion_flutter_sliders/README.md index fb06f6eeb..730a16f71 100644 --- a/packages/syncfusion_flutter_sliders/README.md +++ b/packages/syncfusion_flutter_sliders/README.md @@ -83,15 +83,12 @@ Explore the full capability of our Flutter widgets on your device by installing

- - + +

- -

-

@@ -389,11 +386,11 @@ The following screenshot illustrates the result of the above code sample. ## Support and Feedback -* For any other queries, reach our [Syncfusion support team](https://www.syncfusion.com/support/directtrac/incidents/newincident) or post the queries through the [Community forums](https://www.syncfusion.com/forums) and submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter). +* For any other queries, reach our [Syncfusion support team](https://support.syncfusion.com/support/tickets/create) or post the queries through the [Community forums](https://www.syncfusion.com/forums) and submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter). * To renew the subscription, click [renew](https://www.syncfusion.com/sales/products) or contact our sales team at salessupport@syncfusion.com | Toll Free: 1-888-9 DOTNET. ## About Syncfusion Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 20,000 customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies. -Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls) and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. +Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), [Flutter](https://www.syncfusion.com/flutter-widgets), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([.NET MAUI](https://www.syncfusion.com/maui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([Flutter](https://www.syncfusion.com/flutter-widgets), [.NET MAUI](https://www.syncfusion.com/maui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file diff --git a/packages/syncfusion_flutter_sliders/example/ios/Flutter/Debug.xcconfig b/packages/syncfusion_flutter_sliders/example/ios/Flutter/Debug.xcconfig index e8efba114..592ceee85 100644 --- a/packages/syncfusion_flutter_sliders/example/ios/Flutter/Debug.xcconfig +++ b/packages/syncfusion_flutter_sliders/example/ios/Flutter/Debug.xcconfig @@ -1,2 +1 @@ -#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "Generated.xcconfig" diff --git a/packages/syncfusion_flutter_sliders/example/linux/flutter/generated_plugin_registrant.cc b/packages/syncfusion_flutter_sliders/example/linux/flutter/generated_plugin_registrant.cc index d38195aa0..e71a16d23 100644 --- a/packages/syncfusion_flutter_sliders/example/linux/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_flutter_sliders/example/linux/flutter/generated_plugin_registrant.cc @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" diff --git a/packages/syncfusion_flutter_sliders/example/linux/flutter/generated_plugin_registrant.h b/packages/syncfusion_flutter_sliders/example/linux/flutter/generated_plugin_registrant.h index 9bf747894..e0f0a47bc 100644 --- a/packages/syncfusion_flutter_sliders/example/linux/flutter/generated_plugin_registrant.h +++ b/packages/syncfusion_flutter_sliders/example/linux/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/syncfusion_flutter_sliders/example/linux/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_sliders/example/linux/flutter/generated_plugins.cmake index 51436ae8c..2e1de87a7 100644 --- a/packages/syncfusion_flutter_sliders/example/linux/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_sliders/example/linux/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_sliders/example/pubspec.yaml b/packages/syncfusion_flutter_sliders/example/pubspec.yaml index c1bb98963..74d6d0a61 100644 --- a/packages/syncfusion_flutter_sliders/example/pubspec.yaml +++ b/packages/syncfusion_flutter_sliders/example/pubspec.yaml @@ -14,7 +14,7 @@ description: A new Flutter project. version: 1.0.0+1 environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: diff --git a/packages/syncfusion_flutter_sliders/example/windows/flutter/generated_plugin_registrant.cc b/packages/syncfusion_flutter_sliders/example/windows/flutter/generated_plugin_registrant.cc index 4bfa0f3a3..8b6d4680a 100644 --- a/packages/syncfusion_flutter_sliders/example/windows/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_flutter_sliders/example/windows/flutter/generated_plugin_registrant.cc @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" diff --git a/packages/syncfusion_flutter_sliders/example/windows/flutter/generated_plugin_registrant.h b/packages/syncfusion_flutter_sliders/example/windows/flutter/generated_plugin_registrant.h index 9846246b4..dc139d85a 100644 --- a/packages/syncfusion_flutter_sliders/example/windows/flutter/generated_plugin_registrant.h +++ b/packages/syncfusion_flutter_sliders/example/windows/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/syncfusion_flutter_sliders/example/windows/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_sliders/example/windows/flutter/generated_plugins.cmake index 4d10c2518..b93c4c30c 100644 --- a/packages/syncfusion_flutter_sliders/example/windows/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_sliders/example/windows/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_sliders/lib/src/range_selector.dart b/packages/syncfusion_flutter_sliders/lib/src/range_selector.dart index da81a7d4a..88740c629 100644 --- a/packages/syncfusion_flutter_sliders/lib/src/range_selector.dart +++ b/packages/syncfusion_flutter_sliders/lib/src/range_selector.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'dart:math' as math; import 'package:flutter/foundation.dart'; +import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:intl/intl.dart' show DateFormat, NumberFormat; @@ -1899,6 +1900,7 @@ class _RangeSelectorRenderObjectWidget extends RenderObjectWidget { textDirection: Directionality.of(context), mediaQueryData: MediaQuery.of(context), state: state, + gestureSettings: MediaQuery.of(context).gestureSettings, ); } @@ -2083,6 +2085,7 @@ class _RenderRangeSelector extends RenderBaseRangeSlider { required TextDirection textDirection, required MediaQueryData mediaQueryData, required _SfRangeSelectorState state, + required DeviceGestureSettings gestureSettings, }) : _state = state, _isEnabled = enabled, _deferUpdateDelay = deferUpdateDelay, @@ -2124,7 +2127,8 @@ class _RenderRangeSelector extends RenderBaseRangeSlider { sliderType: SliderType.horizontal, tooltipPosition: null, textDirection: textDirection, - mediaQueryData: mediaQueryData) { + mediaQueryData: mediaQueryData, + gestureSettings: gestureSettings) { _inactiveRegionColor = rangeSelectorThemeData.inactiveRegionColor!; _activeRegionColor = rangeSelectorThemeData.activeRegionColor!; } diff --git a/packages/syncfusion_flutter_sliders/lib/src/range_slider.dart b/packages/syncfusion_flutter_sliders/lib/src/range_slider.dart index ea6292e5a..3d5a03cb0 100644 --- a/packages/syncfusion_flutter_sliders/lib/src/range_slider.dart +++ b/packages/syncfusion_flutter_sliders/lib/src/range_slider.dart @@ -1,5 +1,6 @@ import 'dart:math' as math; import 'package:flutter/foundation.dart'; +import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:intl/intl.dart' show DateFormat, NumberFormat; @@ -1777,6 +1778,7 @@ class _RangeSliderRenderObjectWidget extends RenderObjectWidget { textDirection: Directionality.of(context), mediaQueryData: MediaQuery.of(context), state: state, + gestureSettings: MediaQuery.of(context).gestureSettings, ); } @@ -1956,46 +1958,49 @@ class _RenderRangeSlider extends RenderBaseRangeSlider { required TextDirection textDirection, required MediaQueryData mediaQueryData, required _SfRangeSliderState state, + required DeviceGestureSettings gestureSettings, }) : _state = state, _onChanged = onChanged, _semanticFormatterCallback = semanticFormatterCallback, super( - min: min, - max: max, - values: values, - onChangeStart: onChangeStart, - onChangeEnd: onChangeEnd, - interval: interval, - stepSize: stepSize, - stepDuration: stepDuration, - minorTicksPerInterval: minorTicksPerInterval, - showTicks: showTicks, - showLabels: showLabels, - showDividers: showDividers, - enableTooltip: enableTooltip, - shouldAlwaysShowTooltip: shouldAlwaysShowTooltip, - enableIntervalSelection: enableIntervalSelection, - dragMode: dragMode, - isInversed: isInversed, - labelPlacement: labelPlacement, - edgeLabelPlacement: edgeLabelPlacement, - numberFormat: numberFormat, - dateFormat: dateFormat, - dateIntervalType: dateIntervalType, - labelFormatterCallback: labelFormatterCallback, - tooltipTextFormatterCallback: tooltipTextFormatterCallback, - trackShape: trackShape, - dividerShape: dividerShape, - overlayShape: overlayShape, - thumbShape: thumbShape, - tickShape: tickShape, - minorTickShape: minorTickShape, - tooltipShape: tooltipShape, - sliderThemeData: sliderThemeData, - sliderType: sliderType, - tooltipPosition: tooltipPosition, - textDirection: textDirection, - mediaQueryData: mediaQueryData); + min: min, + max: max, + values: values, + onChangeStart: onChangeStart, + onChangeEnd: onChangeEnd, + interval: interval, + stepSize: stepSize, + stepDuration: stepDuration, + minorTicksPerInterval: minorTicksPerInterval, + showTicks: showTicks, + showLabels: showLabels, + showDividers: showDividers, + enableTooltip: enableTooltip, + shouldAlwaysShowTooltip: shouldAlwaysShowTooltip, + enableIntervalSelection: enableIntervalSelection, + dragMode: dragMode, + isInversed: isInversed, + labelPlacement: labelPlacement, + edgeLabelPlacement: edgeLabelPlacement, + numberFormat: numberFormat, + dateFormat: dateFormat, + dateIntervalType: dateIntervalType, + labelFormatterCallback: labelFormatterCallback, + tooltipTextFormatterCallback: tooltipTextFormatterCallback, + trackShape: trackShape, + dividerShape: dividerShape, + overlayShape: overlayShape, + thumbShape: thumbShape, + tickShape: tickShape, + minorTickShape: minorTickShape, + tooltipShape: tooltipShape, + sliderThemeData: sliderThemeData, + sliderType: sliderType, + tooltipPosition: tooltipPosition, + textDirection: textDirection, + mediaQueryData: mediaQueryData, + gestureSettings: gestureSettings, + ); final _SfRangeSliderState _state; diff --git a/packages/syncfusion_flutter_sliders/lib/src/range_slider_base.dart b/packages/syncfusion_flutter_sliders/lib/src/range_slider_base.dart index fa64f63cf..8c70e9795 100644 --- a/packages/syncfusion_flutter_sliders/lib/src/range_slider_base.dart +++ b/packages/syncfusion_flutter_sliders/lib/src/range_slider_base.dart @@ -57,6 +57,7 @@ abstract class RenderBaseRangeSlider extends RenderBaseSlider required TextDirection textDirection, required MediaQueryData mediaQueryData, required bool isInversed, + required DeviceGestureSettings gestureSettings, }) : _values = values!, _dragMode = dragMode, _enableIntervalSelection = enableIntervalSelection, @@ -99,7 +100,8 @@ abstract class RenderBaseRangeSlider extends RenderBaseSlider ..onStart = _onDragStart ..onUpdate = _onDragUpdate ..onEnd = _onDragEnd - ..onCancel = _onDragCancel; + ..onCancel = _onDragCancel + ..gestureSettings = gestureSettings; } if (sliderType == SliderType.vertical) { verticalDragGestureRecognizer = VerticalDragGestureRecognizer() @@ -107,7 +109,8 @@ abstract class RenderBaseRangeSlider extends RenderBaseSlider ..onStart = _onVerticalDragStart ..onUpdate = _onVerticalDragUpdate ..onEnd = _onVerticalDragEnd - ..onCancel = _onVerticalDragCancel; + ..onCancel = _onVerticalDragCancel + ..gestureSettings = gestureSettings; } tapGestureRecognizer = TapGestureRecognizer() ..team = team @@ -260,9 +263,13 @@ abstract class RenderBaseRangeSlider extends RenderBaseSlider endPositionController.value = getFactorFromValue(actualValues.end); } - double get minThumbGap => sliderType == SliderType.horizontal - ? (actualMax - actualMin) * (8 / actualTrackRect.width).clamp(0.0, 1.0) - : (actualMax - actualMin) * (8 / actualTrackRect.height).clamp(0.0, 1.0); + double get minThumbGap => isDiscrete + ? 0 + : sliderType == SliderType.horizontal + ? (actualMax - actualMin) * + (8 / actualTrackRect.width).clamp(0.0, 1.0) + : (actualMax - actualMin) * + (8 / actualTrackRect.height).clamp(0.0, 1.0); SfRangeValues get actualValues => isDateTime ? _valuesInMilliseconds : _values; @@ -1084,6 +1091,14 @@ abstract class RenderBaseRangeSlider extends RenderBaseSlider super.detach(); } + @override + void dispose() { + horizontalDragGestureRecognizer?.dispose(); + verticalDragGestureRecognizer?.dispose(); + tapGestureRecognizer.dispose(); + super.dispose(); + } + @override MouseCursor get cursor => MouseCursor.defer; diff --git a/packages/syncfusion_flutter_sliders/lib/src/slider.dart b/packages/syncfusion_flutter_sliders/lib/src/slider.dart index ad7d2557d..01db3d25f 100644 --- a/packages/syncfusion_flutter_sliders/lib/src/slider.dart +++ b/packages/syncfusion_flutter_sliders/lib/src/slider.dart @@ -1585,7 +1585,8 @@ class _SliderRenderObjectWidget extends RenderObjectWidget { tooltipPosition: tooltipPosition, textDirection: Directionality.of(context), mediaQueryData: MediaQuery.of(context), - state: state); + state: state, + gestureSettings: MediaQuery.of(context).gestureSettings); } @override @@ -1753,6 +1754,7 @@ class _RenderSlider extends RenderBaseSlider implements MouseTrackerAnnotation { required TextDirection textDirection, required MediaQueryData mediaQueryData, required _SfSliderState state, + required DeviceGestureSettings gestureSettings, }) : _state = state, _value = value, _semanticFormatterCallback = semanticFormatterCallback, @@ -1797,7 +1799,8 @@ class _RenderSlider extends RenderBaseSlider implements MouseTrackerAnnotation { ..onStart = _onDragStart ..onUpdate = _onDragUpdate ..onEnd = _onDragEnd - ..onCancel = _onDragCancel; + ..onCancel = _onDragCancel + ..gestureSettings = gestureSettings; } if (sliderType == SliderType.vertical) { @@ -1806,7 +1809,8 @@ class _RenderSlider extends RenderBaseSlider implements MouseTrackerAnnotation { ..onStart = _onVerticalDragStart ..onUpdate = _onVerticalDragUpdate ..onEnd = _onVerticalDragEnd - ..onCancel = _onVerticalDragCancel; + ..onCancel = _onVerticalDragCancel + ..gestureSettings = gestureSettings; } tapGestureRecognizer = TapGestureRecognizer() @@ -2160,6 +2164,14 @@ class _RenderSlider extends RenderBaseSlider implements MouseTrackerAnnotation { } } + @override + void dispose() { + horizontalDragGestureRecognizer?.dispose(); + verticalDragGestureRecognizer?.dispose(); + tapGestureRecognizer.dispose(); + super.dispose(); + } + @override MouseCursor get cursor => MouseCursor.defer; diff --git a/packages/syncfusion_flutter_sliders/pubspec.yaml b/packages/syncfusion_flutter_sliders/pubspec.yaml index b5fe21f3d..9a0cddf17 100644 --- a/packages/syncfusion_flutter_sliders/pubspec.yaml +++ b/packages/syncfusion_flutter_sliders/pubspec.yaml @@ -4,7 +4,7 @@ version: 20.2.36 homepage: https://github.com/syncfusion/flutter-widgets/tree/master/packages/syncfusion_flutter_sliders environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: @@ -12,10 +12,15 @@ dependencies: intl: ">=0.15.0 <0.20.0" - syncfusion_flutter_core: ^20.2.36 + syncfusion_flutter_core: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-core + path: syncfusion_flutter_core + branch: release/20.4.0.1 + ref: release/20.4.0.1 dev_dependencies: flutter_test: sdk: flutter -flutter: \ No newline at end of file +flutter: diff --git a/packages/syncfusion_flutter_treemap/CHANGELOG.md b/packages/syncfusion_flutter_treemap/CHANGELOG.md index 7a9852f98..df968a328 100644 --- a/packages/syncfusion_flutter_treemap/CHANGELOG.md +++ b/packages/syncfusion_flutter_treemap/CHANGELOG.md @@ -1,4 +1,4 @@ -## Unreleased +## [20.2.36] - 07/01/2022 **Features** diff --git a/packages/syncfusion_flutter_treemap/README.md b/packages/syncfusion_flutter_treemap/README.md index 8969937eb..884167c4d 100644 --- a/packages/syncfusion_flutter_treemap/README.md +++ b/packages/syncfusion_flutter_treemap/README.md @@ -78,15 +78,12 @@ Explore the full capability of our Flutter widgets on your device by installing

- - + +

- -

-

@@ -252,11 +249,11 @@ The following screenshot illustrates the result of the above code sample. ## Support and feedback -* For questions, reach out to our [Syncfusion support team](https://www.syncfusion.com/support/directtrac/incidents/newincident) or post them through the [Community forums](https://www.syncfusion.com/forums). Submit a feature request or a bug in our [Feedback portal](https://www.syncfusion.com/feedback/flutter). +* For questions, reach out to our [Syncfusion support team](https://support.syncfusion.com/support/tickets/create) or post them through the [Community forums](https://www.syncfusion.com/forums). Submit a feature request or a bug in our [Feedback portal](https://www.syncfusion.com/feedback/flutter). * To renew your subscription, click [renew](https://www.syncfusion.com/sales/products) or contact our sales team at sales@syncfusion.com | Toll Free: 1-888-9 DOTNET. ## About Syncfusion Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 20,000 customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies. -Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls) and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to-deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. +Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), [Flutter](https://www.syncfusion.com/flutter-widgets), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([Flutter](https://www.syncfusion.com/flutter-widgets), [WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to-deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file diff --git a/packages/syncfusion_flutter_treemap/example/linux/flutter/generated_plugin_registrant.cc b/packages/syncfusion_flutter_treemap/example/linux/flutter/generated_plugin_registrant.cc index d38195aa0..e71a16d23 100644 --- a/packages/syncfusion_flutter_treemap/example/linux/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_flutter_treemap/example/linux/flutter/generated_plugin_registrant.cc @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" diff --git a/packages/syncfusion_flutter_treemap/example/linux/flutter/generated_plugin_registrant.h b/packages/syncfusion_flutter_treemap/example/linux/flutter/generated_plugin_registrant.h index 9bf747894..e0f0a47bc 100644 --- a/packages/syncfusion_flutter_treemap/example/linux/flutter/generated_plugin_registrant.h +++ b/packages/syncfusion_flutter_treemap/example/linux/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/syncfusion_flutter_treemap/example/linux/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_treemap/example/linux/flutter/generated_plugins.cmake index 51436ae8c..2e1de87a7 100644 --- a/packages/syncfusion_flutter_treemap/example/linux/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_treemap/example/linux/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_treemap/example/pubspec.yaml b/packages/syncfusion_flutter_treemap/example/pubspec.yaml index d2cda59d0..5fa443f5d 100644 --- a/packages/syncfusion_flutter_treemap/example/pubspec.yaml +++ b/packages/syncfusion_flutter_treemap/example/pubspec.yaml @@ -14,14 +14,14 @@ description: A new Flutter project. version: 1.0.0+1 environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: sdk: flutter syncfusion_flutter_treemap: - path: ../../syncfusion_flutter_treemap/ + path: ../ # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. diff --git a/packages/syncfusion_flutter_treemap/example/windows/flutter/generated_plugin_registrant.cc b/packages/syncfusion_flutter_treemap/example/windows/flutter/generated_plugin_registrant.cc index 4bfa0f3a3..8b6d4680a 100644 --- a/packages/syncfusion_flutter_treemap/example/windows/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_flutter_treemap/example/windows/flutter/generated_plugin_registrant.cc @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" diff --git a/packages/syncfusion_flutter_treemap/example/windows/flutter/generated_plugin_registrant.h b/packages/syncfusion_flutter_treemap/example/windows/flutter/generated_plugin_registrant.h index 9846246b4..dc139d85a 100644 --- a/packages/syncfusion_flutter_treemap/example/windows/flutter/generated_plugin_registrant.h +++ b/packages/syncfusion_flutter_treemap/example/windows/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/syncfusion_flutter_treemap/example/windows/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_treemap/example/windows/flutter/generated_plugins.cmake index 4d10c2518..b93c4c30c 100644 --- a/packages/syncfusion_flutter_treemap/example/windows/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_treemap/example/windows/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_treemap/lib/src/legend.dart b/packages/syncfusion_flutter_treemap/lib/src/legend.dart index 061fe0540..eeff601d3 100644 --- a/packages/syncfusion_flutter_treemap/lib/src/legend.dart +++ b/packages/syncfusion_flutter_treemap/lib/src/legend.dart @@ -1464,7 +1464,7 @@ class TreemapLegend extends DiagnosticableTree { } @override - int get hashCode => hashValues(padding, offset, spacing, direction, + int get hashCode => Object.hash(padding, offset, spacing, direction, overflowMode, position, textStyle, title); @override diff --git a/packages/syncfusion_flutter_treemap/lib/treemap.dart b/packages/syncfusion_flutter_treemap/lib/treemap.dart index 70090cb51..b15ee7b6d 100644 --- a/packages/syncfusion_flutter_treemap/lib/treemap.dart +++ b/packages/syncfusion_flutter_treemap/lib/treemap.dart @@ -776,7 +776,7 @@ class TreemapLevel extends DiagnosticableTree { } @override - int get hashCode => hashValues( + int get hashCode => Object.hash( groupMapper, color, border, colorValueMapper, padding, tooltipBuilder); } @@ -996,7 +996,7 @@ class TreemapSelectionSettings extends DiagnosticableTree { } @override - int get hashCode => hashValues(color, border); + int get hashCode => Object.hash(color, border); } /// Customizes the appearance of the tooltip. @@ -1212,7 +1212,7 @@ class TreemapTooltipSettings extends DiagnosticableTree { @override int get hashCode => - hashValues(color, hideDelay, borderColor, borderWidth, borderRadius); + Object.hash(color, hideDelay, borderColor, borderWidth, borderRadius); /// Creates a copy of this class but with the given fields /// replaced with the new values. diff --git a/packages/syncfusion_flutter_treemap/pubspec.yaml b/packages/syncfusion_flutter_treemap/pubspec.yaml index a7d6fed81..10cb97e39 100644 --- a/packages/syncfusion_flutter_treemap/pubspec.yaml +++ b/packages/syncfusion_flutter_treemap/pubspec.yaml @@ -4,13 +4,18 @@ version: 20.2.36-beta homepage: https://github.com/syncfusion/flutter-widgets/tree/master/packages/syncfusion_flutter_treemap environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: sdk: flutter - syncfusion_flutter_core: ^20.2.36 + syncfusion_flutter_core: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-core + path: syncfusion_flutter_core + branch: release/20.4.0.1 + ref: release/20.4.0.1 dev_dependencies: flutter_test: diff --git a/packages/syncfusion_flutter_xlsio/README.md b/packages/syncfusion_flutter_xlsio/README.md index e770604fa..50910e978 100644 --- a/packages/syncfusion_flutter_xlsio/README.md +++ b/packages/syncfusion_flutter_xlsio/README.md @@ -53,15 +53,12 @@ Explore the full capability of our Flutter widgets on your device by installing

- - + +

- -

-

@@ -637,11 +634,11 @@ workbook.dispose(); ## Support and feedback -* For any other queries, contact our [Syncfusion support team](https://www.syncfusion.com/support/directtrac/incidents/newincident) or post the queries through the [Community forums](https://www.syncfusion.com/forums). You can also submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter). +* For any other queries, contact our [Syncfusion support team](https://support.syncfusion.com/support/tickets/create) or post the queries through the [Community forums](https://www.syncfusion.com/forums). You can also submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter). * To renew the subscription, click [renew](https://www.syncfusion.com/sales/products) or contact our sales team at sales@syncfusion.com | Toll Free: 1-888-9 DOTNET. ## About Syncfusion Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 20,000 customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies. -Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls) and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to-deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. +Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), [Flutter](https://www.syncfusion.com/flutter-widgets), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([Flutter](https://www.syncfusion.com/flutter-widgets), [WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to-deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file diff --git a/packages/syncfusion_flutter_xlsio/example/lib/main.dart b/packages/syncfusion_flutter_xlsio/example/lib/main.dart index 90443e145..11d43f2df 100644 --- a/packages/syncfusion_flutter_xlsio/example/lib/main.dart +++ b/packages/syncfusion_flutter_xlsio/example/lib/main.dart @@ -45,9 +45,9 @@ class _CreateExcelState extends State { children: [ TextButton( style: TextButton.styleFrom( - primary: Colors.white, + foregroundColor: Colors.white, backgroundColor: Colors.lightBlue, - onSurface: Colors.grey, + disabledForegroundColor: Colors.grey, ), onPressed: generateExcel, child: const Text('Generate Excel'), diff --git a/packages/syncfusion_flutter_xlsio/example/linux/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_xlsio/example/linux/flutter/generated_plugins.cmake index 51436ae8c..2e1de87a7 100644 --- a/packages/syncfusion_flutter_xlsio/example/linux/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_xlsio/example/linux/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_xlsio/example/macos/Flutter/GeneratedPluginRegistrant.swift b/packages/syncfusion_flutter_xlsio/example/macos/Flutter/GeneratedPluginRegistrant.swift index 7ce0a99b8..0d56f519c 100644 --- a/packages/syncfusion_flutter_xlsio/example/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/packages/syncfusion_flutter_xlsio/example/macos/Flutter/GeneratedPluginRegistrant.swift @@ -2,8 +2,6 @@ // Generated file. Do not edit. // -// clang-format off - import FlutterMacOS import Foundation diff --git a/packages/syncfusion_flutter_xlsio/example/pubspec.yaml b/packages/syncfusion_flutter_xlsio/example/pubspec.yaml index 494339b5c..dc641cdac 100644 --- a/packages/syncfusion_flutter_xlsio/example/pubspec.yaml +++ b/packages/syncfusion_flutter_xlsio/example/pubspec.yaml @@ -2,7 +2,7 @@ name: xlsio_example description: Demo for creating a Excel file using syncfusion_flutter_xlsio package. environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: diff --git a/packages/syncfusion_flutter_xlsio/example/windows/flutter/generated_plugins.cmake b/packages/syncfusion_flutter_xlsio/example/windows/flutter/generated_plugins.cmake index 4d10c2518..b93c4c30c 100644 --- a/packages/syncfusion_flutter_xlsio/example/windows/flutter/generated_plugins.cmake +++ b/packages/syncfusion_flutter_xlsio/example/windows/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/autofilters.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/autofilters.dart index 317695319..9181588a2 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/autofilters.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/autofilters.dart @@ -1,4 +1,7 @@ -part of xlsio; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; ///tets Method For Autofilter void xlsioAutoFilters() { diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/autofit.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/autofit.dart index 9d10a8940..6ee9daade 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/autofit.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/autofit.dart @@ -1,4 +1,7 @@ -part of xlsio; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioAutoFit() { diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/build_in_style.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/build_in_style.dart index 0d5b06939..1c08c76fe 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/build_in_style.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/build_in_style.dart @@ -1,4 +1,7 @@ -part of xlsio; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioBuildInStyle() { diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/cell_style.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/cell_style.dart index 2e1408d1b..aa3e32b12 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/cell_style.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/cell_style.dart @@ -1,6 +1,9 @@ // ignore_for_file: avoid_print - -part of xlsio; +import 'dart:ui'; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioCellStyle() { @@ -1955,5 +1958,44 @@ void xlsioCellStyle() { saveAsExcel(bytes, 'ExcelCellStyleBordercolorRgb.xlsx'); workbook.dispose(); }); + test('line styles', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + //Line styles for all borders + sheet.getRangeByName('A1').cellStyle.borders.all.lineStyle = + LineStyle.dashed; + sheet.getRangeByName('B2').cellStyle.borders.all.lineStyle = + LineStyle.dotted; + sheet.getRangeByName('C3').cellStyle.borders.all.lineStyle = + LineStyle.hair; + sheet.getRangeByName('D4').cellStyle.borders.all.lineStyle = + LineStyle.dashDot; + sheet.getRangeByName('E5').cellStyle.borders.all.lineStyle = + LineStyle.mediumDashDot; + sheet.getRangeByName('F6').cellStyle.borders.all.lineStyle = + LineStyle.mediumDashDotDot; + sheet.getRangeByName('G7').cellStyle.borders.all.lineStyle = + LineStyle.mediumDashed; + sheet.getRangeByName('H8').cellStyle.borders.all.lineStyle = + LineStyle.slantDashDot; + sheet.getRangeByName('I9').cellStyle.borders.all.lineStyle = + LineStyle.dashDotDot; + sheet.getRangeByName('J10').cellStyle.borders.all.lineStyle = + LineStyle.thick; + sheet.getRangeByName('K11').cellStyle.borders.all.lineStyle = + LineStyle.thin; + sheet.getRangeByName('L12').cellStyle.borders.all.lineStyle = + LineStyle.medium; + sheet.getRangeByName('M13').cellStyle.borders.all.lineStyle = + LineStyle.double; + //set color for all border. + final Range range = sheet.getRangeByName('A1:M13'); + range.cellStyle.borders.all.colorRgb = + const Color.fromARGB(255, 240, 7, 7); + + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'ExcelLineStyle.xlsx'); + workbook.dispose(); + }); }); } diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/conditional_formatting.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/conditional_formatting.dart index ae820b90f..9e173e932 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/conditional_formatting.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/conditional_formatting.dart @@ -1,4 +1,8 @@ -part of xlsio; +import 'dart:ui'; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioConditionalFormatting() { diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/culture.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/culture.dart index a099984ea..14bae8a47 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/culture.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/culture.dart @@ -1,4 +1,7 @@ -part of xlsio; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioCulture() { diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/datavalidation.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/datavalidation.dart index c9ff97647..398a20ce6 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/datavalidation.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/datavalidation.dart @@ -1,4 +1,7 @@ -part of xlsio; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioDataValidation() { diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/date_time.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/date_time.dart index bfccdf45c..863050cf6 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/date_time.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/date_time.dart @@ -1,4 +1,7 @@ -part of xlsio; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioDateTime() { diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/delete_column.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/delete_column.dart index 078eed268..4ded2fb48 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/delete_column.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/delete_column.dart @@ -1,4 +1,7 @@ -part of xlsio; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioDeleteColumn() { diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/delete_row.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/delete_row.dart index 881fec604..2772847b4 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/delete_row.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/delete_row.dart @@ -1,4 +1,7 @@ -part of xlsio; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioDeleteRow() { diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/display_text.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/display_text.dart index 32a1792c4..6c3b6cf89 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/display_text.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/display_text.dart @@ -1,4 +1,7 @@ -part of xlsio; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioDisplayText() { diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/formulas.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/formulas.dart index 33b4d3491..6de94022a 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/formulas.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/formulas.dart @@ -1,4 +1,7 @@ -part of xlsio; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioFormulas() { @@ -383,44 +386,6 @@ void xlsioFormulas() { workbook.dispose(); }); - test('formula with error cases 2', () { - final Workbook workbook = Workbook(1); - final Worksheet sheet = workbook.worksheets[0]; - sheet.getRangeByName('A1').text = '10.0'; - sheet.getRangeByName('B1').text = '20.0'; - sheet.enableSheetCalculations(); - - final Range range1 = sheet.getRangeByIndex(1, 3); - range1.formula = '=A1+Name'; - final Range range2 = sheet.getRangeByIndex(1, 4); - range2.formula = '=Name+A1'; - final Range range3 = sheet.getRangeByIndex(1, 5); - range3.formula = '="A1+"-B1"'; - final Range range4 = sheet.getRangeByIndex(1, 6); - range4.formula = '=,A1'; - final Range range5 = sheet.getRangeByIndex(1, 7); - range5.formula = '=%D1'; - final Range range6 = sheet.getRangeByIndex(1, 8); - range6.formula = '=1C'; - - try { - sheet.calcEngine!._pullUpdatedValue('1C'); - } catch (e) { - expect(e.toString(), 'Exception: #NAME?'); - } - - expect(range1.calculatedValue, '#NAME?'); - expect(range2.calculatedValue, '#NAME?'); - expect(range3.calculatedValue, 'Exception: mismatched string quotes'); - expect(range4.calculatedValue, '#NAME?'); - expect(range5.calculatedValue, '#NAME?'); - expect(range6.calculatedValue, '#NAME?'); - - final List bytes = workbook.saveAsStream(); - saveAsExcel(bytes, 'ExcelFormula_5.xlsx'); - workbook.dispose(); - }); - test('formula with error cases 3', () { final Workbook workbook = Workbook(1); final Worksheet sheet = workbook.worksheets[0]; @@ -981,42 +946,6 @@ void xlsioFormulas() { workbook.dispose(); }); - test('Today', () { - final Workbook workbook = Workbook(); - final Worksheet sheet = workbook.worksheets[0]; - sheet.getRangeByName('B2').setText('Text'); - - sheet.enableSheetCalculations(); - - final Range range = sheet.getRangeByName('A1'); - range.formula = '=TODAY()'; - final String value = Range._toOADate(DateTime.now()).toInt().toString(); - expect(range.calculatedValue, value); - - final List bytes = workbook.saveAsStream(); - saveAsExcel(bytes, 'Today.xlsx'); - workbook.dispose(); - }); - - test('Now', () { - final Workbook workbook = Workbook(); - final Worksheet sheet = workbook.worksheets[0]; - sheet.getRangeByName('B2').setText('Text'); - - sheet.enableSheetCalculations(); - - final Range range = sheet.getRangeByName('A1'); - range.formula = '=NOW()'; - final String value = Range._toOADate(DateTime.now()).toStringAsFixed(2); - final String calculatedValue = - double.parse(range.calculatedValue!).toStringAsFixed(2); - expect(calculatedValue, value); - - final List bytes = workbook.saveAsStream(); - saveAsExcel(bytes, 'Now.xlsx'); - workbook.dispose(); - }); - test('Trim', () { final Workbook workbook = Workbook(); final Worksheet sheet = workbook.worksheets[0]; diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/hyperlink.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/hyperlink.dart index b0584dabf..ef2aaf2f8 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/hyperlink.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/hyperlink.dart @@ -1,4 +1,7 @@ -part of xlsio; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioHyperlinks() { diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/image.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/image.dart index 315ecbcc9..5d89166d1 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/image.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/image.dart @@ -1,4 +1,7 @@ -part of xlsio; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioImage() { diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/image_hyperlink.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/image_hyperlink.dart index 654357dcc..c2fd0413e 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/image_hyperlink.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/image_hyperlink.dart @@ -1,4 +1,7 @@ -part of xlsio; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioImageHyperlink() { diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/images.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/images.dart index 020053de8..ea31bc629 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/images.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/images.dart @@ -112,32 +112,45 @@ String image8png = String image9jpg = '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'; -String _invoicejpeg = +// ignore: public_member_api_docs +String invoicejpeg = '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'; -String _assetspng = +// ignore: public_member_api_docs +String assetspng = 'iVBORw0KGgoAAAANSUhEUgAAALgAAAAxCAMAAABeUpPlAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAEvUExURQAAACBggDBQjytVijBQjy1TjDBQjy5SjTBUjzBTjy5Rji9RjjBSjy9RjjBSjy9TkC9TkC9SkC9SkC9Tjy9SkC9Tjy9SkC9Sjy9SkC9SjzBSji9SkDtZhy9SjzZVizxZhkNcgklgfVBjeVZndGNua2pxZ3d4Xn17WYqCUJGGTJeJSJ2MQ6SQP7eaMcShKMulJNGoH96vFuWyEuu2DfK5Cfi9BP/AAP/BBv/DC//EEf/HHv/KKv/LLf/MMv/NM//QQP/TTf/UUP/XXf/YYv/ZZv/ZZ//aa//bbf/ccv/cc//ff//iiP/kkv/ll//nnf/pp//rr//ttv/tuP/uuv/vvf/wwf/ww//yyf/yzP/z0P/01P/11//33v/33//44v/55v/66v/99f/99//++////17SrzgAAAAddFJOUwAIEBggKDA4QFBYaHB4gIeXp7e/x8/X3+fv8Pf+kCxoBAAAAAlwSFlzAAAXEQAAFxEByibzPwAAAnNJREFUaEPtmmtT00AUhpebF27SKqWKp4KIiFJKrUlbpAIiaqNQghZUBBqy//83eHb3NIkfZJxkJ3bHPDOdnj27H57debP90DDJ2MTMPTCCQm7qpnIWTFPXEHLDSnsUD3v5ecWyTaCytlKC4i3hPTQLC+vUNoLqEhRHUHwaFl9RyxCsZcgzdgOgQg1jqD2EcTYJT2loEC9ghuVgjUYGsQGzrAAbNDIIC+YZgBn34O8AoDjVRpGJp00mnjaZeNr87+IdfrVJZUroEW/0OP9I9TXUT/VtT4/4Lnf5CdXXMHjinavXvb9wGjjxRu/Edigrex7nl/vRwt475/zig3gQBMI9nIuNFnEh3fJkVhx+0X7//TBSoO9Z+9M5Lnnren7XPWhG5uKjQ1wmQMUgCEOYil2Z/oaIEjXDuQToEFeH7XA8wvqpvyN7QWF3VCG+AvH+XAJ0iKt4t7yfTXG+PmYB6Rdo2X6HHOGi/lEHixKgQRzVuq7rfvHkOYon8auwokJc8YpQPFwUHw3iLbwiFOpx2/rBxdlTEQ10pA4WxUWDeP8iVFlBAj9ZUMYFf9hELJKLRzT9nca3bdUJCgy03E/dacoVWIZzCUguThc4gvcKJrrrepiZoEBDjs+ASobDL92zzXAuAcnFO5QUlZWtI/xN/IyDoLDr+OvD/eM3osQmbiCci4+GjP8bMvG0ycTTJhNPGxS/Dy9pYBIlYHko08AgqlBgd+AZjQyiDDl2Gx7VaGgM1mOYZOwuPKGxMazC3BBjow9gxah/aK1VAPkiwvg8LJSr1B14autLIIIiGDPklQ9BCT/F8MWPifyc6g8+xfzUMGOM/QKf1TYzheY9SAAAAABJRU5ErkJggg=='; -String _categoriespng = +// ignore: public_member_api_docs +String categoriespng = 'iVBORw0KGgoAAAANSUhEUgAAALUAAAAyCAMAAAAtOGr7AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFKUExURQAAACBggDBQjytVijBQjy1TjDBQjy5SjTBUjy5RjjBTjzBSjy9RjjBSjzBSjy5Sjy9TkC9Sjy9SkC9Sjy9SkC9Tjy9SkC9Tjy9SkC9Sjy9SkC9Sjy9Sji9RjwCwUAGtUQOqVAakWAayVAehWQmeXAqbXQuzWAyZYBCPZRG1XBKNaBOJaRWHbBaDbRiBcBl/chx5dh65ZR9zeiBveyNqfyVngihhhii8aytbiixYiy2+by5UjS5Vji9SjzK/cjPAcz/Ee0DEfEfGgU3IhVDJh13NkGLOk2bQlmfQl2vRmW3Sm3LTnnPUn3nVo3/Xp4jarZLdtJTetpffuJ3hvKLiv6fkw6/myLLnyrbozbjpzrrq0L3r0sHs1MPs1sju2cnu2szv3NDw39Ty4dfz5Nv05t716N/16eL26+b37ur48fX8+Pf9+vv+/P///3KYjh4AAAAedFJOUwAIEBggKDA4QEhQYGhwgI+Xn6evt7/Hz9ff5+/w+IqmL+QAAAAJcEhZcwAAFxEAABcRAcom8z8AAANjSURBVGhD7Zr7UxMxEIAPxTcV5FlRWjigPBRRRJDCVtTaCtSi2GJ5iXBC6dn9/391N8lxV3WYptDazPSbgSR74fpdsklupliC9nudfdD89Hd13JTCTGhIhQ2gs006X+sFmH82MRxpdqITM3MAYTncfbA0reLNz/gCDF4j6RAsjaiQCUTnoduybgzBpAqYwcgy3KWhfqmapjADXdYDeKpapjAB/dYAjKuWKQzDIwsgqlrGsAJkrermAC3rhtGybhwt68bxn6wXVVkjutarR4j4c2tKNWskiyeXuoOmdQ7RKey6+FW1BfbhrxeqWiUpPFC12tCzzmLxLZer66Kp0Le+LFrWsVL5vaoGaXLrbHBiF3Mu4h6lZ54yHVGIp04Ri2Ie4pz/iOIpOVre4URO4kbKxRyVIsX87hTFs49cqwot6zxuqFokknBxv3DKq+pDwS3vF3iB5tHJbJ5yJ5qVrbVjdL7Rs+SQLrtYpGoSC+jsetZ+d8q8zNpRxWK5EB1r+zCQIFkePBnxMiQppiJWolZWqvNOkRT7hZ1n0STKQRbWfnftFKvZWiLsvA/Ny8tUyIj8rSYo4ZK8fAJlHez+140v5hLW9mo6vR2wpsuZNEGxgLW6KEuVz6IMdKd2WesI0LOWwyawaetmfOtYSUY45meISBjuz48ctA52F+uSV3aVaK3G4B6SR07sYIZ4o8okXLEahbpnTWXlWPvdifixxnmpZZ1wzz9IyfwrrwmK7KpNzUsrlde+daC74I+nuBAtaxrgE3E2xteltcwZT0ytNTs7FSt9Px83+c7h7SEB60D3H3TX+lmTpXwPOSCZYmaTzgaypvpZweGFxzuzmGk+NbAs3rJk1BWKFdZ+d0px7iGvVYOedcTmZYPO+lTEJuXyTkpY29soB5TODAq+YSGnIJ+Oo3zwfeI/r7D2u0fidIOzz+JSVWhaV4k8QEi++knXol7WYky9/ePKqY81vYbsZdJfxDtGPaiPNSUq5XLZeaeaV02drOtMy7pxGGs9CGOqYQrRZbB6wJyv7SRjMGDdh+eqZQpPoNu6A8ujqmkG0QUIWZQir1TbDGYh3GZZ1wdhrvm/Q/eIzgLc4u/Rbz+G19NmbCSjkwvA+cG096v/Ymh2VugnLEZa0NETlvEm52FviHLasn4DZpogxUlu6fkAAAAASUVORK5CYII='; -String _liabilitiespng = +// ignore: public_member_api_docs +String liabilitiespng = 'iVBORw0KGgoAAAANSUhEUgAAALkAAAAyCAMAAAA3BIp1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAE1UExURQAAACBggDBQjytVijBQjy1TjDBQjy5SjTBUjy5RjjBTjzBSjy9RjjBSjzBSjy5Sjy9TkC9Sjy9SkC9Sjy9SkC9Tjy9SkC9Tjy9SkC9Sjy9SkC9Sjy9Sji9Rjy9SjzVRjDpQiEBPhUtNflVLd1pLc2VIbGtHaXZFYoFEW4ZCWIpAVJBAUZU/TZs+SqA9RrE6PLY5OLw4NcA3McY2LtE0J9YzI9wyIN03Jd47Kt5AL+BKOuFSQ+JWR+NaTONbTeVlV+VlWOdwY+dyZul9cemBduqEeeqFeuuIfuuKf+yOhOyOhe2Yj++fl/CnoPGrpPKwqfK0rvO4svS/ufXEv/XGwfbKxfbNyffPy/jU0PjW0vnZ1vnc2frf3Pri4Prk4vvl4/vo5vzr6fzu7f739v75+P78/P///5zti1kAAAAedFJOUwAIEBggKDA4QEhQYGhwgI+Xn6evt7/Hz9ff5+/w+IqmL+QAAAAJcEhZcwAAFxEAABcRAcom8z8AAAK+SURBVGhD7Zp7U9pAEMBPa99SrQ+ktC6WWmttFV8Y1L5EaCvYKsZSWrQIyH3/j9C9vQ0GptMhMZPpTfObIdxu7jK/C3uXP4IgRu6PTYMZxMdHb2lpRWyW04YwNqS9h6cA5l9mNrdMIJtZWgBI6Ns+DXPLnDeD1TQkh1E8BnMbnDKF7DxMCHFzFlY4YQ4bKbiHt/w5hyaxBOPiIbziyCQyEBczsMqRSWzCYwGQ5cgoUoDm3DYLiMxDJzIPn8g8fK5rvsvfTF4ecQtR53Sip1ffEL/4Ms+1fm3rVlk6LY3bnM5RoqdX/xC/XNO8IL/rBuM2p3OUoJZVu9zppgPgmub9uM2Jq4RjHhT/rbkW2z1uS/lNpTB+U5ey/sE51z1UpALl9ZCtQkPKi8/UwsHNj6rliSDM37Zl1W7QwsvL83bTrivDK2k67NvtTtX+ymsWJ3JWOmzIA7ViL0qfftJsPBGEefkUI6vW2VMxe7Gv6+BUC2fUMs21Lnd8F1Eg1UKU1Q3URvgrYIe/mVfUNOlLz9gHwZhb74vFE21OsbqZLmk6uM1Rt1RE1Ji87GANeScIc+uYVp8H81xLj6Axaq3S8vZGEOYVqQqdq2Ug877ixu3IueDgBGBOmr3mg9a5Q99MBiIwc6umzUnyz3uLtuUMXcEqb+d+4N4fonnHVuxpDbUjH+LjhMzPZbO7t/eYY7emfcZFhPPE3V0VCZZ81W5TB2/4NNfL64g1ULtzWtDmB/v4DFV175LW5taJVDPiAB9DOOgdFjmmm1/UZb3hy/yfIDIPn8g8fCLz8DHaPAlrHJhENgViEsx6pahZgxnxAF5wZBKvYULchdQ6h+aQTUNMYLk849gcFiExJMSNJCyY8c7fIbsIcFu997/zBJ4um7PBrK+kQdWKYiTO/74wgRR+EnTHidHJhM4bwKOpGNa4EL8BYS6F4xWJ0ZAAAAAASUVORK5CYII='; - -String _man1jpg = +// ignore: public_member_api_docs +String man1jpg = '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'; -String _man2png = +// ignore: public_member_api_docs +String man2png = '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'; -String _man3jpg = +// ignore: public_member_api_docs +String man3jpg = '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'; -String _man4png = +// ignore: public_member_api_docs +String man4png = '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'; -String _man5jpg = +// ignore: public_member_api_docs +String man5jpg = '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'; -String _man6png = +// ignore: public_member_api_docs +String man6png = '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'; -String _man7jpg = +// ignore: public_member_api_docs +String man7jpg = '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'; -String _man8png = +// ignore: public_member_api_docs +String man8png = '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'; -String _man9jpg = +// ignore: public_member_api_docs +String man9jpg = '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'; -String _man10png = +// ignore: public_member_api_docs +String man10png = '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'; diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/import_data.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/import_data.dart index 6b3cf4aea..ee5256d37 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/import_data.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/import_data.dart @@ -1,4 +1,8 @@ -part of xlsio; +import 'dart:convert'; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioImport() { @@ -169,7 +173,7 @@ List<_Customers> _getCustomersHyperlink() { _Customers customer = _Customers('Andy Bernard', 45000, 58000, 29); final Hyperlink link = Hyperlink.add( 'https://www.google.com', 'Hyperlink', 'Google', HyperlinkType.url); - Picture pic = Picture(base64.decode(_man1jpg)); + Picture pic = Picture(base64.decode(man1jpg)); pic.width = 200; pic.height = 200; customer.image = pic; @@ -177,7 +181,7 @@ List<_Customers> _getCustomersHyperlink() { reports.add(customer); customer = _Customers('Jim Halpert', 34000, 65000, 91); - pic = Picture(base64.decode(_man2png)); + pic = Picture(base64.decode(man2png)); pic.width = 200; pic.height = 200; customer.image = pic; @@ -185,7 +189,7 @@ List<_Customers> _getCustomersHyperlink() { reports.add(customer); customer = _Customers('Karen Fillippelli', 75000, 64000, -15); - pic = Picture(base64.decode(_man3jpg)); + pic = Picture(base64.decode(man3jpg)); pic.width = 200; pic.height = 200; customer.image = pic; @@ -193,7 +197,7 @@ List<_Customers> _getCustomersHyperlink() { reports.add(customer); customer = _Customers('Phyllis Lapin', 56500, 33600, -40); - pic = Picture(base64.decode(_man4png)); + pic = Picture(base64.decode(man4png)); pic.width = 200; pic.height = 200; customer.image = pic; @@ -201,7 +205,7 @@ List<_Customers> _getCustomersHyperlink() { reports.add(customer); customer = _Customers('Stanley Hudson', 46500, 52000, 12); - pic = Picture(base64.decode(_man5jpg)); + pic = Picture(base64.decode(man5jpg)); pic.width = 200; pic.height = 200; customer.image = pic; @@ -237,7 +241,7 @@ List<_Customers> _getCustomersImageHyperlink() { final Hyperlink link = Hyperlink.add('https://www.syncfusion.com', 'Hyperlink', 'Syncfusion', HyperlinkType.url); - Picture pic = Picture(base64.decode(_man6png)); + Picture pic = Picture(base64.decode(man6png)); pic.width = 200; pic.height = 200; pic.hyperlink = link; @@ -246,7 +250,7 @@ List<_Customers> _getCustomersImageHyperlink() { customer.image = pic; reports.add(customer); - pic = Picture(base64.decode(_man7jpg)); + pic = Picture(base64.decode(man7jpg)); pic.width = 200; pic.height = 200; pic.hyperlink = link; @@ -255,7 +259,7 @@ List<_Customers> _getCustomersImageHyperlink() { customer.image = pic; reports.add(customer); - pic = Picture(base64.decode(_man8png)); + pic = Picture(base64.decode(man8png)); pic.width = 200; pic.height = 200; pic.hyperlink = link; @@ -264,7 +268,7 @@ List<_Customers> _getCustomersImageHyperlink() { customer.image = pic; reports.add(customer); - pic = Picture(base64.decode(_man9jpg)); + pic = Picture(base64.decode(man9jpg)); pic.width = 200; pic.height = 200; pic.hyperlink = link; @@ -273,7 +277,7 @@ List<_Customers> _getCustomersImageHyperlink() { customer.image = pic; reports.add(customer); - pic = Picture(base64.decode(_man10png)); + pic = Picture(base64.decode(man10png)); pic.width = 200; pic.height = 200; pic.hyperlink = link; diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/insert_column.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/insert_column.dart index 4168a3e08..218fe50e4 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/insert_column.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/insert_column.dart @@ -1,4 +1,7 @@ -part of xlsio; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioInsertColumn() { diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/insert_row.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/insert_row.dart index eb0abae2c..f6f4aaa37 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/insert_row.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/insert_row.dart @@ -1,4 +1,7 @@ -part of xlsio; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioInsertRow() { diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/merge_un_merge_cell.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/merge_un_merge_cell.dart index 79d5df589..32b166346 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/merge_un_merge_cell.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/merge_un_merge_cell.dart @@ -1,4 +1,7 @@ -part of xlsio; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioMergeUnmergeCells() { diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/number.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/number.dart index 309fb568e..96b554d11 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/number.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/number.dart @@ -1,4 +1,7 @@ -part of xlsio; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioNumber() { diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/number_format.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/number_format.dart index 5ed5309d7..1c3095cd4 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/number_format.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/number_format.dart @@ -1,4 +1,7 @@ -part of xlsio; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioNumberFormat() { diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/sample_browser_samples.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/sample_browser_samples.dart index 87498aeec..be6461a65 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/sample_browser_samples.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/sample_browser_samples.dart @@ -1,4 +1,9 @@ -part of xlsio; +import 'dart:ui'; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import 'package:intl/intl.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void sampleBrowserSamples() { @@ -280,7 +285,7 @@ void sampleBrowserSamples() { range9.cellStyle.hAlign = HAlignType.center; range9.cellStyle.vAlign = VAlignType.center; - final Picture picture = sheet.pictures.addBase64(3, 4, _invoicejpeg); + final Picture picture = sheet.pictures.addBase64(3, 4, invoicejpeg); picture.lastRow = 7; picture.lastColumn = 8; @@ -538,19 +543,19 @@ void sampleBrowserSamples() { sheet.getRangeByIndex(14, 5).formula = '=E12-E13'; // sheet1 Image Hyperlink - final Picture picture = sheet.pictures.addBase64(2, 2, _assetspng); + final Picture picture = sheet.pictures.addBase64(2, 2, assetspng); picture.height = 30; picture.width = 100; sheet.hyperlinks .addImage(picture, HyperlinkType.workbook, 'Assets!B1', 'Assets'); - final Picture picture1 = sheet.pictures.addBase64(2, 3, _liabilitiespng); + final Picture picture1 = sheet.pictures.addBase64(2, 3, liabilitiespng); picture1.height = 30; picture1.width = 100; sheet.hyperlinks.addImage( picture1, HyperlinkType.workbook, 'Liabilities!B1', 'Liabilities'); - final Picture picture2 = sheet.pictures.addBase64(2, 4, _categoriespng); + final Picture picture2 = sheet.pictures.addBase64(2, 4, categoriespng); picture2.height = 30; picture2.width = 100; sheet.hyperlinks.addImage( diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/table.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/table.dart index 8c570a036..b8d866cb9 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/table.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/table.dart @@ -1,4 +1,7 @@ -part of xlsio; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioTable() { diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/text.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/text.dart index 54c50a8d6..737b7582d 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/text.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/text.dart @@ -1,4 +1,7 @@ -part of xlsio; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioText() { diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/workbook_protection.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/workbook_protection.dart index b419c272e..f3ded96ca 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/workbook_protection.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/workbook_protection.dart @@ -1,4 +1,7 @@ -part of xlsio; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioWorkbookProtection() { diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/worksheet_protection.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/worksheet_protection.dart index fc468f01e..cf9ecca61 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/worksheet_protection.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/worksheet_protection.dart @@ -1,4 +1,7 @@ -part of xlsio; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioWorksheetProtection() { diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/xlsio_workbook.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/xlsio_workbook.dart index ba417573b..1e99286bd 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/xlsio_workbook.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/xlsio_workbook.dart @@ -1,4 +1,6 @@ -part of xlsio; +import '../../xlsio.dart'; +// ignore: depend_on_referenced_packages, directives_ordering +import 'package:flutter_test/flutter_test.dart'; // ignore: public_member_api_docs void saveAsExcel(List? bytes, String fileName) { diff --git a/packages/syncfusion_flutter_xlsio/lib/src/test/xlsio_worksheet.dart b/packages/syncfusion_flutter_xlsio/lib/src/test/xlsio_worksheet.dart index 616743ac3..51c0552a2 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/test/xlsio_worksheet.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/test/xlsio_worksheet.dart @@ -1,8 +1,197 @@ -part of xlsio; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import '../../xlsio.dart'; +import 'xlsio_workbook.dart'; // ignore: public_member_api_docs void xlsioWorksheet() { group('SaveWorksheet', () { + test('FLUT_6815_1', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.enableSheetCalculations(); + final Style style9 = workbook.styles.add('style9'); + style9.backColor = '#CFEBF1'; + style9.bold = true; + style9.vAlign = VAlignType.center; + style9.borders.bottom.lineStyle = LineStyle.medium; + style9.borders.bottom.color = '#308DA2'; + style9.borders.right.lineStyle = LineStyle.thin; + style9.borders.right.color = '#A6A6A6'; + style9.numberFormat = '#,##0.00'; + + sheet.getRangeByName('I9').setValue(40); + sheet.getRangeByName('I10').setValue(403625154); + sheet.getRangeByName('I11').setValue(60); + + const int sumLength = 12; + // here is code set formula: + final Range range11 = sheet.getRangeByName('H$sumLength:I$sumLength'); + range11.merge(); + range11.cellStyle = style9; + const int lastValue = sumLength - 1; + range11.setFormula('=SUM(I9:I$lastValue)'); + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6815_1.xlsx'); + workbook.dispose(); + }); + test('worksheet tab color-1', () { + // Create a new Excel Document. + final Workbook workbook = Workbook(2); + // Accessing sheet via index. + final Worksheet sheet = workbook.worksheets[1]; + sheet.getRangeByName('A1:M10').setText('TabColor'); + //Applied tab color for worksheet. + sheet.tabColor = '#0000FF'; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'Worksheet-TabColor1.xlsx'); + workbook.dispose(); + }); + + test('worksheet tab color-2', () { + // Create a new Excel Document. + final Workbook workbook = Workbook(2); + // Accessing sheet via index. + final Worksheet sheet = workbook.worksheets[1]; + sheet.getRangeByName('A1:M10').setText('TabColor'); + //Applied tab color for worksheet. + sheet.tabColor = '#FF0000'; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'Worksheet-TabColor2.xlsx'); + workbook.dispose(); + }); + + test('worksheet tab color-3', () { + // Create a new Excel Document. + final Workbook workbook = Workbook(2); + // Accessing sheet via index. + final Worksheet sheet = workbook.worksheets[1]; + sheet.getRangeByName('A1:M10').setText('TabColor'); + //Applied tab color for worksheet. + sheet.tabColor = '#FFFFFF'; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'Worksheet-TabColor3.xlsx'); + workbook.dispose(); + }); + + test('worksheet tab color-4', () { + // Create a new Excel Document. + final Workbook workbook = Workbook(2); + // Accessing sheet via index. + final Worksheet sheet = workbook.worksheets[1]; + sheet.getRangeByName('A1:M10').setText('TabColor'); + //Applied tab color for worksheet. + sheet.tabColor = '#000000'; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'Worksheet-TabColor4.xlsx'); + workbook.dispose(); + }); + + test('worksheet tab color-5', () { + // Create a new Excel Document. + final Workbook workbook = Workbook(2); + // Accessing sheet via index. + final Worksheet sheet = workbook.worksheets[1]; + sheet.getRangeByName('A1:M10').setText('TabColor'); + //Applied tab color for worksheet. + sheet.tabColor = '#008000'; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'Worksheet-TabColor5.xlsx'); + workbook.dispose(); + }); + + test('worksheet tab color-6', () { + // Create a new Excel Document. + final Workbook workbook = Workbook(10); + // Accessing sheet via index. + final Worksheet sheet = workbook.worksheets[1]; + sheet.getRangeByName('A1:M10').setText('TabColor'); + //Applied tab color for worksheet. + sheet.tabColor = '#FF0000'; + // Accessing sheet via index. + final Worksheet sheet2 = workbook.worksheets[2]; + sheet.getRangeByName('A1:M10').setText('TabColor'); + //Applied tab color for worksheet. + sheet2.tabColor = '#FF0000'; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'Worksheet-TabColor6.xlsx'); + workbook.dispose(); + }); + + test('worksheet tab color-7', () { + // Create a new Excel Document. + final Workbook workbook = Workbook(10); + // Accessing sheet via index. + final Worksheet sheet = workbook.worksheets[1]; + sheet.getRangeByName('A1:M10').setText('TabColor'); + //Applied tab color for worksheet. + sheet.tabColor = '#FF0000'; + // Accessing sheet via index. + final Worksheet sheet2 = workbook.worksheets[2]; + sheet.getRangeByName('A1:M10').setText('TabColor'); + //Applied tab color for worksheet. + sheet2.tabColor = '#FFFFFF'; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'Worksheet-TabColor7.xlsx'); + workbook.dispose(); + }); + + test('worksheet tab color-8', () { + // Create a new Excel Document. + final Workbook workbook = Workbook(10); + // Accessing sheet via index. + final Worksheet sheet = workbook.worksheets[1]; + sheet.getRangeByName('A1:M10').setText('TabColor'); + //Applied tab color for worksheet. + sheet.tabColor = '#008000'; + // Accessing sheet via index. + final Worksheet sheet2 = workbook.worksheets[2]; + sheet.getRangeByName('A1:M10').setText('TabColor'); + //Applied tab color for worksheet. + sheet2.tabColor = '#FFFFFF'; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'Worksheet-TabColor8.xlsx'); + workbook.dispose(); + }); + + test('worksheet tab color-9', () { + // Create a new Excel Document. + final Workbook workbook = Workbook(10); + + // Accessing sheet via index. + final Worksheet sheet = workbook.worksheets[1]; + sheet.getRangeByName('A1:M10').setText('TabColor'); + //Applied tab color for worksheet. + sheet.tabColor = '#FF0000'; + // Accessing sheet via index. + final Worksheet sheet2 = workbook.worksheets[2]; + sheet.getRangeByName('A1:M10').setText('TabColor'); + //Applied tab color for worksheet. + sheet2.tabColor = '#FFFFFF'; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'Worksheet-TabColor9.xlsx'); + workbook.dispose(); + }); + + test('worksheet tab color-10', () { + // Create a new Excel Document. + final Workbook workbook = Workbook(10); + + // Accessing sheet via index. + final Worksheet sheet = workbook.worksheets[1]; + sheet.getRangeByName('A1:M10').setText('TabColor'); + //Applied tab color for worksheet. + sheet.tabColor = '#FF0000'; + // Accessing sheet via index. + final Worksheet sheet2 = workbook.worksheets[2]; + sheet.getRangeByName('A1:M10').setText('TabColor'); + //Applied tab color for worksheet. + sheet2.tabColor = '#FFFFFF'; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'Worksheet-TabColor10.xlsx'); + workbook.dispose(); + }); + test('Empty', () { final Workbook workbook = Workbook(); final List bytes = workbook.saveAsStream(); @@ -275,5 +464,613 @@ void xlsioWorksheet() { saveAsExcel(bytes, 'LRTForCreatedSheet.xlsx'); workbook.dispose(); }); + + test('Hide/show worksheet', () { + // Create a new Excel Document. + final Workbook workbook = Workbook(10); + + // Accessing sheet via index. + final Worksheet sheet = workbook.worksheets[2]; + sheet.getRangeByName('A1:M10').setText('Visibility'); + + ///set the visibility for the worksheet. + sheet.visibility = WorksheetVisibility.hidden; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'HideWorksheet.xlsx'); + workbook.dispose(); + }); + + test('Hide/show worksheets-1', () { + // Create a new Excel Document. + final Workbook workbook = Workbook(20); + + // Accessing sheet via index. + final Worksheet sheet = workbook.worksheets[3]; + final Worksheet sheet2 = workbook.worksheets[10]; + sheet.getRangeByName('A1:M10').setText('Visibility'); + + ///set the visibility for the worksheet. + sheet.visibility = WorksheetVisibility.hidden; + sheet2.visibility = WorksheetVisibility.hidden; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'HideWorksheet1.xlsx'); + workbook.dispose(); + }); + + test('Hide/show worksheet-2', () { + // Create a new Excel Document. + final Workbook workbook = Workbook(20); + + // Accessing sheet via index. + final Worksheet sheet = workbook.worksheets[3]; + final Worksheet sheet2 = workbook.worksheets[10]; + sheet.getRangeByName('A1:M10').setText('Visibility'); + + ///set the visibility for the worksheet. + sheet.visibility = WorksheetVisibility.visible; + sheet2.visibility = WorksheetVisibility.visible; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'HideWorksheet2.xlsx'); + workbook.dispose(); + }); + }); + //test cases for the move worksheet + group('FLUT-6742-Moving worksheet', () { + //moving worksheet + test('FLUT_6742_1', () { + // Create a new Excel Document. + final Workbook workbook = Workbook(20); + final Worksheet sheet = workbook.worksheets[10]; + final Worksheet sheet1 = workbook.worksheets[3]; + sheet.getRangeByName('A1:B10').text = 'Moving Sheet'; + sheet1.getRangeByName('A1:B20').dateTime = DateTime(2006, 9, 10); + sheet.hyperlinks.add(sheet.getRangeByName('C1:C5'), HyperlinkType.url, + 'http://www.gmail.com'); + + //Move worksheet + workbook.worksheets.moveTo(workbook.worksheets[10], 5); + workbook.worksheets.moveTo(workbook.worksheets[3], 15); + + //save and dispose. + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6742_1.xlsx'); + workbook.dispose(); + }); + //Moving worksheet with image + test('FLUT_6742_2', () { + final Workbook workbook = Workbook(5); + final Worksheet sheet = workbook.worksheets[0]; + final Worksheet sheet2 = workbook.worksheets[2]; + + final Picture picture1 = sheet.pictures.addBase64(1, 2, image24png); + picture1.rotation = 60; + + final Picture picture2 = sheet2.pictures.addBase64(24, 10, image14png); + picture2.rotation = 120; + + final Picture picture3 = sheet.pictures.addBase64(8, 15, image15jpg); + picture3.rotation = 90; + + final Picture picture4 = sheet2.pictures.addBase64(1, 2, image24png); + picture4.rotation = 90; + + //Move worksheet + workbook.worksheets.moveTo(workbook.worksheets[0], 3); + workbook.worksheets.moveTo(workbook.worksheets[1], 0); + + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6742_2.xlsx'); + workbook.dispose(); + }); + //_Moving_worksheet_with_dataValidation + test('FLUT_6742_3', () { + //Creating one worksheet and accessing the first sheet + final Workbook workbook = Workbook(5); + final Worksheet sheet = workbook.worksheets[0]; + + //Accessing the first cell in excel-sheet and applying the date properties + final DataValidation dateValidation = + sheet.getRangeByName('A1').dataValidation; + dateValidation.allowType = ExcelDataValidationType.date; + dateValidation.comparisonOperator = + ExcelDataValidationComparisonOperator.between; + dateValidation.firstDateTime = DateTime(1997, 07, 22); + dateValidation.secondDateTime = DateTime(1997, 07, 25); + dateValidation.errorBoxText = + 'date value should be given and it should be between 22ndJuly1997 and 25thJuly1997'; + dateValidation.errorBoxTitle = 'ERROR'; + dateValidation.promptBoxText = 'Data validation for date'; + dateValidation.showPromptBox = true; + + expect(dateValidation.allowType, ExcelDataValidationType.date); + expect(dateValidation.comparisonOperator, + ExcelDataValidationComparisonOperator.between); + expect(dateValidation.firstDateTime, DateTime(1997, 07, 22)); + expect(dateValidation.secondDateTime, DateTime(1997, 07, 25)); + expect(dateValidation.errorBoxText, + 'date value should be given and it should be between 22ndJuly1997 and 25thJuly1997'); + expect(dateValidation.promptBoxText, 'Data validation for date'); + expect(dateValidation.errorBoxTitle, 'ERROR'); + expect(dateValidation.showPromptBox, true); + + //move worksheet + workbook.worksheets.moveTo(workbook.worksheets[0], 2); + + //Save and dispose Workbook + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6742_3.xlsx'); + workbook.dispose(); + }); + //_Moving_worksheet_with_table + test('FLUT_6742_4', () { + // Create a new Excel Document. + final Workbook workbook = Workbook(10); + final Worksheet sheet = workbook.worksheets[5]; + final Worksheet sheet2 = workbook.worksheets[6]; + + //Load data + sheet.getRangeByName('A1').setText('Fruits'); + sheet.getRangeByName('A2').setText('banana'); + sheet.getRangeByName('A3').setText('Cherry'); + sheet.getRangeByName('A4').setText('Banana'); + + sheet.getRangeByName('B1').setText('CostA'); + sheet.getRangeByName('B2').setNumber(744.6); + sheet.getRangeByName('B3').setNumber(5079.6); + sheet.getRangeByName('B4').setNumber(1267.5); + + sheet.getRangeByName('C1').setText('CostB'); + sheet.getRangeByName('C2').setNumber(162.56); + sheet.getRangeByName('C3').setNumber(1249.2); + sheet.getRangeByName('C4').setNumber(1062.5); + + ///Create table with the data in given range + sheet2 + .getRangeByName('A1') + .setText(sheet.getRangeByName('A1').displayText); + sheet2 + .getRangeByName('A2') + .setText(sheet.getRangeByName('A2').displayText); + sheet2 + .getRangeByName('A3') + .setText(sheet.getRangeByName('A3').displayText); + sheet2 + .getRangeByName('A4') + .setText(sheet.getRangeByName('A4').displayText); + + sheet2 + .getRangeByName('B1') + .setText(sheet.getRangeByName('B1').displayText); + sheet2 + .getRangeByName('B2') + .setNumber(sheet.getRangeByName('B2').getNumber()); + sheet2 + .getRangeByName('B3') + .setNumber(sheet.getRangeByName('B3').getNumber()); + sheet2 + .getRangeByName('B4') + .setNumber(sheet.getRangeByName('B4').getNumber()); + + sheet2 + .getRangeByName('C1') + .setText(sheet.getRangeByName('C1').displayText); + sheet2 + .getRangeByName('C2') + .setNumber(sheet.getRangeByName('B2').getNumber()); + sheet2 + .getRangeByName('C3') + .setNumber(sheet.getRangeByName('B2').getNumber()); + sheet2 + .getRangeByName('C4') + .setNumber(sheet.getRangeByName('B2').getNumber()); + final ExcelTable table = sheet2.tableCollection + .create('Table1', sheet2.getRangeByName('A1:C4')); + + expect(table.builtInTableStyle, ExcelTableBuiltInStyle.tableStyleMedium2); + + //Move worksheet + workbook.worksheets.moveTo(workbook.worksheets[5], 2); + workbook.worksheets.moveTo(workbook.worksheets[6], 0); + + //save and dispose. + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6742_4.xlsx'); + workbook.dispose(); + }); + //_Moving_worksheet_with_AutoFilterfilter + test('FLUT_6742_5', () { + // Create a new Excel Document. + final Workbook workbook = Workbook(10); + final Worksheet sheet = workbook.worksheets[0]; + final Worksheet sheet1 = workbook.worksheets[9]; + final Worksheet sheet2 = workbook.worksheets[5]; + //Load data + sheet.getRangeByName('A1').setText('Angela Davis'); + sheet.getRangeByName('A2').setText('aNgeLa DaViS.'); + sheet.getRangeByName('A3').setText('Enoch Powell'); + sheet.getRangeByName('A4').setText('Al-Biruni'); + sheet.getRangeByName('A5').setText('ANgeLa DAViS'); + sheet.getRangeByName('A6').setText('Will Roscoe'); + sheet.getRangeByName('A7').setText('al-biruNi'); + sheet.getRangeByName('A8').setText('Christopher Hogwood'); + sheet.getRangeByName('A9').setText('Al-BirUni'); + sheet.getRangeByName('A10').setText('KarlMarx'); + + sheet.getRangeByName('B1').setText('India'); + sheet.getRangeByName('B2').setText('America'); + sheet.getRangeByName('B3').setText('Australia'); + sheet.getRangeByName('B4').setText('Russia'); + sheet.getRangeByName('B5').setText('Canada'); + sheet.getRangeByName('B6').setText('Japan'); + sheet.getRangeByName('B7').setText('China'); + sheet.getRangeByName('B8').setText('Srilanka'); + sheet.getRangeByName('B9').setText('Africa'); + sheet.getRangeByName('B10').setText('France'); + + sheet.getRangeByName('C1').setText('DOJ'); + sheet.getRangeByName('C2').dateTime = DateTime(2006, 9, 10); + sheet.getRangeByName('C3').dateTime = DateTime(2000, 6, 10); + sheet.getRangeByName('C4').dateTime = DateTime(2002, 9, 18); + sheet.getRangeByName('C5').dateTime = DateTime(2009, 5, 23); + sheet.getRangeByName('C6').dateTime = DateTime(2012, 1, 6); + sheet.getRangeByName('C7').dateTime = DateTime(2007, 7, 19); + sheet.getRangeByName('C8').dateTime = DateTime(2008, 6, 30); + sheet.getRangeByName('C9').dateTime = DateTime(2002, 4, 16); + sheet.getRangeByName('C10').dateTime = DateTime(2008, 11, 29); + + //Intialize Filter Range for text Filter + sheet1.getRangeByName('A1').setText(sheet.getRangeByName('A1').getText()); + sheet1.getRangeByName('A2').setText(sheet.getRangeByName('A2').getText()); + sheet1.getRangeByName('A3').setText(sheet.getRangeByName('A3').getText()); + sheet1.getRangeByName('A4').setText(sheet.getRangeByName('A4').getText()); + sheet1.getRangeByName('A5').setText(sheet.getRangeByName('A5').getText()); + sheet1.getRangeByName('A6').setText(sheet.getRangeByName('A6').getText()); + sheet1.getRangeByName('A7').setText(sheet.getRangeByName('A7').getText()); + sheet1.getRangeByName('A8').setText(sheet.getRangeByName('A8').getText()); + sheet1.getRangeByName('A9').setText(sheet.getRangeByName('A9').getText()); + sheet1 + .getRangeByName('A10') + .setText(sheet.getRangeByName('A10').getText()); + + sheet1.getRangeByName('B1').setText(sheet.getRangeByName('B1').getText()); + sheet1.getRangeByName('B2').setText(sheet.getRangeByName('B2').getText()); + sheet1.getRangeByName('B3').setText(sheet.getRangeByName('B3').getText()); + sheet1.getRangeByName('B4').setText(sheet.getRangeByName('B4').getText()); + sheet1.getRangeByName('B5').setText(sheet.getRangeByName('B5').getText()); + sheet1.getRangeByName('B6').setText(sheet.getRangeByName('B6').getText()); + sheet1.getRangeByName('B7').setText(sheet.getRangeByName('B7').getText()); + sheet1.getRangeByName('B8').setText(sheet.getRangeByName('B8').getText()); + sheet1.getRangeByName('B9').setText(sheet.getRangeByName('B9').getText()); + sheet1 + .getRangeByName('B10') + .setText(sheet.getRangeByName('B10').getText()); + + sheet.autoFilters.filterRange = sheet.getRangeByName('A1:B10'); + final AutoFilter autofilter = sheet.autoFilters[0]; + autofilter.addTextFilter({'Angela Davis', 'Al-BirUni'}); + + //Intialize Filter Range + sheet2.getRangeByName('A1').setText('DOJ'); + sheet2.getRangeByName('A2').dateTime = + sheet.getRangeByName('A1').getDateTime(); + sheet2.getRangeByName('A3').dateTime = + sheet.getRangeByName('A1').getDateTime(); + sheet2.getRangeByName('A4').dateTime = + sheet.getRangeByName('A1').getDateTime(); + sheet2.getRangeByName('A5').dateTime = + sheet.getRangeByName('A1').getDateTime(); + sheet2.getRangeByName('A6').dateTime = + sheet.getRangeByName('A1').getDateTime(); + sheet2.getRangeByName('A7').dateTime = + sheet.getRangeByName('A1').getDateTime(); + sheet2.getRangeByName('A8').dateTime = + sheet.getRangeByName('A1').getDateTime(); + sheet2.getRangeByName('A9').dateTime = + sheet.getRangeByName('A1').getDateTime(); + sheet2.getRangeByName('A10').dateTime = + sheet.getRangeByName('A1').getDateTime(); + sheet2.autoFilters.filterRange = sheet2.getRangeByName('A1:A10'); + final AutoFilter autofilter1 = sheet.autoFilters[1]; + autofilter1.addDateFilter(DateTime(2006, 9), DateTimeFilterType.month); + + //Move worksheet + workbook.worksheets.moveTo(workbook.worksheets[9], 0); + workbook.worksheets.moveTo(workbook.worksheets[6], 1); + + //save and dispose. + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6742_5.xlsx'); + workbook.dispose(); + }); + //Moving_worksheet_with_conditional_Formattings + test('FLUT_6742_6', () { + // Create a new Excel Document. + final Workbook workbook = Workbook(10); + + // Accessing sheet via index. + final Worksheet sheet = workbook.worksheets[5]; + + // Applying conditional formatting. + final ConditionalFormats conditions = + sheet.getRangeByName('A1:A4').conditionalFormats; + final ConditionalFormat condition1 = conditions.addCondition(); + condition1.formatType = ExcelCFType.cellValue; + condition1.operator = ExcelComparisonOperator.between; + condition1.firstFormula = '10'; + condition1.secondFormula = '20'; + condition1.backColor = '#209301'; + condition1.fontColor = '#FFFFFF'; + condition1.isBold = true; + condition1.isItalic = true; + condition1.underline = true; + condition1.bottomBorderStyle = LineStyle.double; + condition1.bottomBorderColor = '#738911'; + sheet.getRangeByIndex(1, 1).number = 16; + sheet.getRangeByIndex(2, 1).number = 18; + sheet.getRangeByIndex(3, 1).number = 12; + sheet.getRangeByIndex(4, 1).number = 10; + + // Applying conditional formatting. + final ConditionalFormats conditions1 = + sheet.getRangeByName('B1:B8').conditionalFormats; + final ConditionalFormat condition2 = conditions1.addCondition(); + condition2.formatType = ExcelCFType.cellValue; + condition2.operator = ExcelComparisonOperator.between; + condition2.firstFormula = r'=$A$4'; + condition2.secondFormula = r'=$A$2'; + condition2.backColor = '#382102'; + condition2.fontColor = '#FF328F'; + condition2.isBold = true; + condition2.isItalic = true; + condition2.underline = true; + condition2.rightBorderStyle = LineStyle.thick; + condition2.rightBorderColor = '#20099F'; + condition2.numberFormat = '0.00'; + + sheet.getRangeByIndex(1, 2).number = + sheet.getRangeByIndex(1, 1).getNumber(); + sheet.getRangeByIndex(2, 2).number = + sheet.getRangeByIndex(2, 1).getNumber(); + sheet.getRangeByIndex(3, 2).number = + sheet.getRangeByIndex(3, 1).getNumber(); + sheet.getRangeByIndex(4, 2).number = + sheet.getRangeByIndex(4, 1).getNumber(); + sheet.getRangeByIndex(5, 2).number = 10; + sheet.getRangeByIndex(6, 2).number = 12; + sheet.getRangeByIndex(7, 2).number = 13; + sheet.getRangeByIndex(8, 2).number = 20; + + condition1.backColor = '#7AD223'; + + ///move worksheet + workbook.worksheets.moveTo(workbook.worksheets[5], 0); + + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6742_6.xlsx'); + workbook.dispose(); + }); + + //Moving worksheet with formula + test('FLUT_6742_7', () { + final Workbook workbook = Workbook(10); + final Worksheet sheet = workbook.worksheets[0]; + final Worksheet sheet1 = workbook.worksheets[1]; + sheet1.getRangeByIndex(1, 1).number = 10; + sheet1.getRangeByIndex(1, 2).number = 20; + sheet1.getRangeByIndex(1, 3).number = 12; + sheet1.getRangeByIndex(2, 1).number = 23; + sheet1.getRangeByIndex(2, 2).number = 43; + sheet1.getRangeByIndex(2, 3).number = 31; + sheet1.getRangeByIndex(3, 1).number = 25; + sheet1.getRangeByIndex(3, 2).number = 52; + sheet1.getRangeByIndex(3, 3).number = 23; + sheet1.getRangeByIndex(4, 1).number = 41; + sheet1.getRangeByIndex(4, 2).number = 75; + sheet1.getRangeByIndex(4, 3).number = 54; + sheet.getRangeByIndex(1, 1).number = 10; + sheet.getRangeByIndex(1, 2).number = 20; + sheet.getRangeByIndex(1, 3).number = 12; + sheet.getRangeByIndex(2, 1).number = 23; + sheet.getRangeByIndex(2, 2).number = 43; + sheet.getRangeByIndex(2, 3).number = 31; + sheet.getRangeByIndex(3, 1).number = 25; + sheet.getRangeByIndex(3, 2).number = 52; + sheet.getRangeByIndex(3, 3).number = 23; + sheet.getRangeByIndex(4, 1).number = 41; + sheet.getRangeByIndex(4, 2).number = 75; + sheet.getRangeByIndex(4, 3).number = 54; + + sheet.enableSheetCalculations(); + Range range = sheet.getRangeByName('A6'); + range.formula = '=Sheet2!B1-Sheet1!A1'; + range = sheet.getRangeByName('A7'); + range.formula = '=Sheet2!C1*Sheet1!B1'; + range = sheet.getRangeByName('A8'); + range.formula = '=Sheet2!B3/Sheet1!B2'; + range = sheet.getRangeByName('A9'); + range.formula = '=Sheet1!B2>Sheet1!A1'; + range = sheet.getRangeByName('A9'); + range.formula = '=Sheet1!B2>Sheet2!A1'; + expect('TRUE', range.calculatedValue); + range = sheet.getRangeByName('A10'); + range.formula = '=Sheet1!B3 bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6742_7.xlsx'); + workbook.dispose(); + }); + + //_Moving_Locked_Worksheet + test('FLUT_6742_8', () { + final Workbook workbook = Workbook(3); + final Worksheet sheet = workbook.worksheets[0]; + final Worksheet sheet1 = workbook.worksheets[2]; + final Range range = sheet.getRangeByName('A1:D4'); + final Range range2 = sheet1.getRangeByName('B1:D10'); + range.setText('LOckedSheet'); + range2.setText('LOckedSheet'); + sheet.protect('Syncfusion'); + sheet1.protect('Syncfusion'); + workbook.worksheets.moveTo(workbook.worksheets[0], 2); + workbook.worksheets.moveTo(workbook.worksheets[1], 0); + //range.cellStyle.locked = false; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6742_8.xlsx'); + workbook.dispose(); + }); + //_tryTo_Move_worksheet_with_Neagtive_Destination_index + test('FLUT_6742_9', () { + try { + final Workbook workbook = Workbook(15); + final Worksheet sheet = workbook.worksheets[10]; + sheet.getRangeByName('A1:S21').text = 'Moving Sheet'; + //Move worksheet + workbook.worksheets.moveTo(workbook.worksheets[10], -1); + } catch (e) { + expect('Exception: destinationIndex should be starts from 0', + e.toString()); + } + }); + //_tryTo_move_worksheet_with_outofBoundryIndex + test('FLUT_6742_10', () { + try { + final Workbook workbook = Workbook(15); + final Worksheet sheet = workbook.worksheets[10]; + sheet.getRangeByName('A1:S21').text = 'Moving Sheet'; + //Move worksheet + workbook.worksheets.moveTo(workbook.worksheets[10], 100); + } catch (e) { + expect( + 'Exception: destinationIndex should be in the range of worksheet count', + e.toString()); + } + }); + }); + //test cases for freeze pane + group('FLUT-6934-Freeze panes', () { + // Freeze top row + test('FLUT_6934_1', () { + final Workbook workbook = Workbook(); + final Worksheet worksheet = workbook.worksheets[0]; + // Freeze top row + worksheet.getRangeByName('A1:H10').text = 'FreezePane'; + worksheet.getRangeByName('A2').freezePanes(); + + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6934_1.xlsx'); + workbook.dispose(); + }); + // Freeze left column + test('FLUT_6934_2', () { + final Workbook workbook = Workbook(); + final Worksheet worksheet = workbook.worksheets[0]; + // Freeze left column + worksheet.getRangeByName('A1:H10').text = 'FreezePane'; + worksheet.getRangeByName('B1').freezePanes(); + + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6934_2.xlsx'); + workbook.dispose(); + }); + // Freeze both row and column + test('FLUT_6934_3', () { + final Workbook workbook = Workbook(); + final Worksheet worksheet = workbook.worksheets[0]; + // Freeze both row and column + worksheet.getRangeByName('A1:H10').text = 'FreezePane'; + worksheet.getRangeByName('B2').freezePanes(); + + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6934_3.xlsx'); + workbook.dispose(); + }); + // Freeze both rows and columns + test('FLUT_6934_4', () { + final Workbook workbook = Workbook(); + final Worksheet worksheet = workbook.worksheets[0]; + // Freeze both rows and columns + worksheet.getRangeByName('A1:M40').text = 'FreezePane'; + worksheet.getRangeByName('D4').freezePanes(); + + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6934_4.xlsx'); + workbook.dispose(); + }); + // Freeze both row and column + test('FLUT_6934_5', () { + final Workbook workbook = Workbook(); + final Worksheet worksheet = workbook.worksheets[0]; + // Freeze panes with more than one cell as input range + worksheet.getRangeByName('A1:H10').text = 'FreezePane'; + worksheet.getRangeByName('C3:G8').freezePanes(); + + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6934_5.xlsx'); + workbook.dispose(); + }); + + /// Removes the existing freeze panes from the worksheet. + test('FLUT_6934_6', () { + final Workbook workbook = Workbook(); + final Worksheet worksheet = workbook.worksheets[0]; + + worksheet.getRangeByName('A1:H10').text = 'FreezePane'; + worksheet.getRangeByName('C4').freezePanes(); + // Removes the existing freeze panes + worksheet.unfreezePanes(); + + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6934_6.xlsx'); + workbook.dispose(); + }); + // Freeze rows and columns in multiple sheets + test('FLUT_6934_7', () { + final Workbook workbook = Workbook(3); + final Worksheet sheet1 = workbook.worksheets[0]; + // Freeze rows in sheet1 + sheet1.getRangeByName('A1:H10').text = 'FreezePane'; + sheet1.getRangeByName('A5').freezePanes(); + + final Worksheet sheet2 = workbook.worksheets[1]; + // Freeze columns in sheet2 + sheet2.getRangeByName('A1:H10').text = 'FreezePane'; + sheet2.getRangeByName('D1').freezePanes(); + + final Worksheet sheet3 = workbook.worksheets[2]; + // Freeze both rows and columns in sheet3 + sheet3.getRangeByName('A1:H10').text = 'FreezePane'; + sheet3.getRangeByName('C4').freezePanes(); + + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6934_7.xlsx'); + workbook.dispose(); + }); }); } diff --git a/packages/syncfusion_flutter_xlsio/lib/src/xlsio/autoFilters/autofilter_impl.dart b/packages/syncfusion_flutter_xlsio/lib/src/xlsio/autoFilters/autofilter_impl.dart index 114b941bb..8ce645381 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/xlsio/autoFilters/autofilter_impl.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/xlsio/autoFilters/autofilter_impl.dart @@ -134,13 +134,6 @@ class _AutoFilterImpl implements AutoFilter { bool get _isFiltered { if (_typeOfFilter == _ExcelFilterType.notUsed) { return _isFilterUsed; - } else if (_typeOfFilter == _ExcelFilterType.combinationFilter) { - final _CombinationFilter filteredItem = - _filteredItems as _CombinationFilter; - if (filteredItem == null) { - _isFilterUsed = false; - return _isFilterUsed; - } } _isFilterUsed = true; return _isFilterUsed; @@ -197,10 +190,7 @@ class _AutoFilterImpl implements AutoFilter { _filtertype = _ExcelFilterType.combinationFilter; for (final String filter in filterCollection) { - if (filter.trim() == null) { - combinationFilter._isBlank = true; - throw Exception('Filter text'); - } else if (!combinationFilter._textFilterCollection.contains(filter)) { + if (!combinationFilter._textFilterCollection.contains(filter)) { final _TextFilter textFilter = _TextFilter(); textFilter._text = filter.trim(); _combinationFilter._filterCollection.add(textFilter); @@ -260,319 +250,303 @@ class _AutoFilterImpl implements AutoFilter { /// Apply the dynamic filter. void _applyDynamicFilter() { - if (_dateFilter != null) { - if (_dateFilter._dateFilterType == DynamicFilterType.none) { - _removeDynamicFilter(); - return; - } - final Range filterRange = _autoFilterCollection.filterRange; - for (int row = filterRange.row + 1; row <= filterRange.lastRow; row++) { - final Range range = _worksheet.getRangeByIndex(row, _colIndex); - DateTime? dateTime; - if (range._dateTime != null) { - bool isVisible = false; - final DateTime currentDate = DateTime.now(); - dateTime = range._dateTime; - DateTime startDate; - DateTime endDate; - int temp; - switch (_dateFilter._dateFilterType) { - case DynamicFilterType.yesterday: - if ((dateTime!.year == currentDate.year) && - (dateTime.month == currentDate.month) && - (dateTime.day == currentDate.day - 1)) { - isVisible = true; - } - break; - case DynamicFilterType.today: - if ((dateTime!.year == currentDate.year) && - (dateTime.month == currentDate.month) && - (dateTime.day == currentDate.day)) { - isVisible = true; - } - break; - case DynamicFilterType.tomorrow: - if ((dateTime!.year == currentDate.year) && - (dateTime.month == currentDate.month) && - (dateTime.day == currentDate.day + 1)) { - isVisible = true; - } - break; - case DynamicFilterType.thisWeek: - startDate = currentDate.add(Duration(days: -currentDate.weekday)); - endDate = startDate.add(const Duration(days: 6)); - if ((dateTime!.year >= startDate.year && - dateTime.year <= endDate.year) && - (dateTime.month >= startDate.month && - dateTime.month <= endDate.month) && - (dateTime.day >= startDate.day && - dateTime.day <= endDate.day)) { - isVisible = true; - } - break; - case DynamicFilterType.nextWeek: - startDate = - currentDate.add(Duration(days: 7 - currentDate.weekday)); - endDate = startDate.add(const Duration(days: 6)); - if ((dateTime!.year >= startDate.year && - dateTime.year <= endDate.year) && - (dateTime.month >= startDate.month && - dateTime.month <= endDate.month) && - (dateTime.day >= startDate.day && - dateTime.day <= endDate.day)) { - isVisible = true; - } - break; - case DynamicFilterType.lastWeek: - endDate = - currentDate.add(Duration(days: -(currentDate.weekday + 1))); - startDate = endDate.add(const Duration(days: -6)); - if ((dateTime!.year >= startDate.year && - dateTime.year <= endDate.year) && - (dateTime.month >= startDate.month && - dateTime.month <= endDate.month) && - (dateTime.day >= startDate.day && - dateTime.day <= endDate.day)) { - isVisible = true; - } - break; - case DynamicFilterType.lastMonth: - final Jiffy jiffyLast = Jiffy(currentDate).add(months: -1); - startDate = DateTime( - jiffyLast.year, - jiffyLast.month, - jiffyLast.day, - jiffyLast.hour, - jiffyLast.minute, - jiffyLast.second); - if ((dateTime!.year == startDate.year) && - (dateTime.month == startDate.month)) { - isVisible = true; - } - break; - case DynamicFilterType.nextMonth: - final Jiffy jiffyNext = Jiffy(currentDate).add(months: 1); - startDate = DateTime( - jiffyNext.year, - jiffyNext.month, - jiffyNext.day, - jiffyNext.hour, - jiffyNext.minute, - jiffyNext.second); - if ((dateTime!.year == startDate.year) && - (dateTime.month == startDate.month)) { - isVisible = true; - } - break; - case DynamicFilterType.thisMonth: - if ((dateTime!.year == currentDate.year) && - (dateTime.month == currentDate.month)) { - isVisible = true; - } - break; - case DynamicFilterType.thisYear: - if (dateTime!.year == currentDate.year) { - isVisible = true; - } - break; - case DynamicFilterType.lastYear: - if (dateTime!.year == currentDate.year - 1) { - isVisible = true; - } - break; - case DynamicFilterType.nextYear: - if (dateTime!.year == currentDate.year + 1) { + if (_dateFilter._dateFilterType == DynamicFilterType.none) { + _removeDynamicFilter(); + return; + } + final Range filterRange = _autoFilterCollection.filterRange; + for (int row = filterRange.row + 1; row <= filterRange.lastRow; row++) { + final Range range = _worksheet.getRangeByIndex(row, _colIndex); + DateTime? dateTime; + if (range._dateTime != null) { + bool isVisible = false; + final DateTime currentDate = DateTime.now(); + dateTime = range._dateTime; + DateTime startDate; + DateTime endDate; + int temp; + switch (_dateFilter._dateFilterType) { + case DynamicFilterType.yesterday: + if ((dateTime!.year == currentDate.year) && + (dateTime.month == currentDate.month) && + (dateTime.day == currentDate.day - 1)) { + isVisible = true; + } + break; + case DynamicFilterType.today: + if ((dateTime!.year == currentDate.year) && + (dateTime.month == currentDate.month) && + (dateTime.day == currentDate.day)) { + isVisible = true; + } + break; + case DynamicFilterType.tomorrow: + if ((dateTime!.year == currentDate.year) && + (dateTime.month == currentDate.month) && + (dateTime.day == currentDate.day + 1)) { + isVisible = true; + } + break; + case DynamicFilterType.thisWeek: + startDate = currentDate.add(Duration(days: -currentDate.weekday)); + endDate = startDate.add(const Duration(days: 6)); + if ((dateTime!.year >= startDate.year && + dateTime.year <= endDate.year) && + (dateTime.month >= startDate.month && + dateTime.month <= endDate.month) && + (dateTime.day >= startDate.day && + dateTime.day <= endDate.day)) { + isVisible = true; + } + break; + case DynamicFilterType.nextWeek: + startDate = + currentDate.add(Duration(days: 7 - currentDate.weekday)); + endDate = startDate.add(const Duration(days: 6)); + if ((dateTime!.year >= startDate.year && + dateTime.year <= endDate.year) && + (dateTime.month >= startDate.month && + dateTime.month <= endDate.month) && + (dateTime.day >= startDate.day && + dateTime.day <= endDate.day)) { + isVisible = true; + } + break; + case DynamicFilterType.lastWeek: + endDate = + currentDate.add(Duration(days: -(currentDate.weekday + 1))); + startDate = endDate.add(const Duration(days: -6)); + if ((dateTime!.year >= startDate.year && + dateTime.year <= endDate.year) && + (dateTime.month >= startDate.month && + dateTime.month <= endDate.month) && + (dateTime.day >= startDate.day && + dateTime.day <= endDate.day)) { + isVisible = true; + } + break; + case DynamicFilterType.lastMonth: + final Jiffy jiffyLast = Jiffy(currentDate).add(months: -1); + startDate = DateTime(jiffyLast.year, jiffyLast.month, jiffyLast.day, + jiffyLast.hour, jiffyLast.minute, jiffyLast.second); + if ((dateTime!.year == startDate.year) && + (dateTime.month == startDate.month)) { + isVisible = true; + } + break; + case DynamicFilterType.nextMonth: + final Jiffy jiffyNext = Jiffy(currentDate).add(months: 1); + startDate = DateTime(jiffyNext.year, jiffyNext.month, jiffyNext.day, + jiffyNext.hour, jiffyNext.minute, jiffyNext.second); + if ((dateTime!.year == startDate.year) && + (dateTime.month == startDate.month)) { + isVisible = true; + } + break; + case DynamicFilterType.thisMonth: + if ((dateTime!.year == currentDate.year) && + (dateTime.month == currentDate.month)) { + isVisible = true; + } + break; + case DynamicFilterType.thisYear: + if (dateTime!.year == currentDate.year) { + isVisible = true; + } + break; + case DynamicFilterType.lastYear: + if (dateTime!.year == currentDate.year - 1) { + isVisible = true; + } + break; + case DynamicFilterType.nextYear: + if (dateTime!.year == currentDate.year + 1) { + isVisible = true; + } + break; + case DynamicFilterType.thisQuarter: + temp = currentDate.month / 3 as int; + if (currentDate.month % 3 != 0) { + temp++; + } + for (int monthIndex = temp * 3 - 2; + monthIndex <= temp * 3; + monthIndex++) { + if (dateTime!.year == currentDate.year && + dateTime.month == monthIndex) { isVisible = true; + break; } - break; - case DynamicFilterType.thisQuarter: - temp = currentDate.month / 3 as int; - if (currentDate.month % 3 != 0) { - temp++; - } - for (int monthIndex = temp * 3 - 2; + } + break; + case DynamicFilterType.nextQuarter: + temp = currentDate.month / 3 as int; + if (currentDate.month % 3 != 0) { + temp++; + } + if (temp == 4) { + temp = 1; + for (int monthIndex = (temp * 3) - 2; monthIndex <= temp * 3; monthIndex++) { - if (dateTime!.year == currentDate.year && + if (dateTime!.year == currentDate.year + 1 && dateTime.month == monthIndex) { isVisible = true; break; } } - break; - case DynamicFilterType.nextQuarter: - temp = currentDate.month / 3 as int; - if (currentDate.month % 3 != 0) { - temp++; - } - if (temp == 4) { - temp = 1; - for (int monthIndex = (temp * 3) - 2; - monthIndex <= temp * 3; - monthIndex++) { - if (dateTime!.year == currentDate.year + 1 && - dateTime.month == monthIndex) { - isVisible = true; - break; - } - } - } else { - temp++; - for (int monthIndex = (temp * 3) - 2; - monthIndex <= temp * 3; - monthIndex++) { - if (dateTime!.year == currentDate.year && - dateTime.month == monthIndex) { - isVisible = true; - break; - } - } - } - break; - case DynamicFilterType.lastQuarter: - temp = currentDate.month / 3 as int; - if (currentDate.month % 3 != 0) { - temp++; - } - if (temp == 1) { - temp = 4; - for (int monthIndex = (temp * 3) - 2; - monthIndex <= temp * 3; - monthIndex++) { - if (dateTime!.year == currentDate.year - 1 && - dateTime.month == monthIndex) { - isVisible = true; - break; - } - } - } else { - temp--; - for (int monthIndex = (temp * 3) - 2; - monthIndex <= temp * 3; - monthIndex++) { - if (dateTime!.year == currentDate.year && - dateTime.month == monthIndex) { - isVisible = true; - break; - } - } - } - break; - case DynamicFilterType.quarter1: - for (int monthIndex = 1; monthIndex <= 3; monthIndex++) { - if (dateTime!.month == monthIndex) { - isVisible = true; - break; - } - } - break; - case DynamicFilterType.quarter2: - for (int monthIndex = 4; monthIndex <= 6; monthIndex++) { - if (dateTime!.month == monthIndex) { + } else { + temp++; + for (int monthIndex = (temp * 3) - 2; + monthIndex <= temp * 3; + monthIndex++) { + if (dateTime!.year == currentDate.year && + dateTime.month == monthIndex) { isVisible = true; break; } } - break; - case DynamicFilterType.quarter3: - for (int monthIndex = 7; monthIndex <= 9; monthIndex++) { - if (dateTime!.month == monthIndex) { + } + break; + case DynamicFilterType.lastQuarter: + temp = currentDate.month / 3 as int; + if (currentDate.month % 3 != 0) { + temp++; + } + if (temp == 1) { + temp = 4; + for (int monthIndex = (temp * 3) - 2; + monthIndex <= temp * 3; + monthIndex++) { + if (dateTime!.year == currentDate.year - 1 && + dateTime.month == monthIndex) { isVisible = true; break; } } - break; - case DynamicFilterType.quarter4: - for (int monthIndex = 10; monthIndex <= 12; monthIndex++) { - if (dateTime!.month == monthIndex) { + } else { + temp--; + for (int monthIndex = (temp * 3) - 2; + monthIndex <= temp * 3; + monthIndex++) { + if (dateTime!.year == currentDate.year && + dateTime.month == monthIndex) { isVisible = true; break; } } - break; - case DynamicFilterType.january: - if (dateTime!.month == 1) { - isVisible = true; - } - break; - case DynamicFilterType.february: - if (dateTime!.month == 2) { - isVisible = true; - } - break; - case DynamicFilterType.march: - if (dateTime!.month == 3) { - isVisible = true; - } - break; - case DynamicFilterType.april: - if (dateTime!.month == 4) { - isVisible = true; - } - break; - case DynamicFilterType.may: - if (dateTime!.month == 5) { - isVisible = true; - } - break; - case DynamicFilterType.june: - if (dateTime!.month == 6) { - isVisible = true; - } - break; - case DynamicFilterType.july: - if (dateTime!.month == 7) { - isVisible = true; - } - break; - case DynamicFilterType.august: - if (dateTime!.month == 8) { - isVisible = true; - } - break; - case DynamicFilterType.september: - if (dateTime!.month == 9) { - isVisible = true; - } - break; - case DynamicFilterType.october: - if (dateTime!.month == 10) { + } + break; + case DynamicFilterType.quarter1: + for (int monthIndex = 1; monthIndex <= 3; monthIndex++) { + if (dateTime!.month == monthIndex) { isVisible = true; + break; } - break; - case DynamicFilterType.november: - if (dateTime!.month == 11) { + } + break; + case DynamicFilterType.quarter2: + for (int monthIndex = 4; monthIndex <= 6; monthIndex++) { + if (dateTime!.month == monthIndex) { isVisible = true; + break; } - break; - case DynamicFilterType.december: - if (dateTime!.month == 12) { + } + break; + case DynamicFilterType.quarter3: + for (int monthIndex = 7; monthIndex <= 9; monthIndex++) { + if (dateTime!.month == monthIndex) { isVisible = true; + break; } - break; - case DynamicFilterType.yearToDate: - if (currentDate.year == dateTime!.year && - currentDate.day >= dateTime.day && - currentDate.month >= dateTime.month) { + } + break; + case DynamicFilterType.quarter4: + for (int monthIndex = 10; monthIndex <= 12; monthIndex++) { + if (dateTime!.month == monthIndex) { isVisible = true; + break; } - break; - case DynamicFilterType.none: - break; - } - range.showRows(isVisible); - } else - range.showRows(false); - } + } + break; + case DynamicFilterType.january: + if (dateTime!.month == 1) { + isVisible = true; + } + break; + case DynamicFilterType.february: + if (dateTime!.month == 2) { + isVisible = true; + } + break; + case DynamicFilterType.march: + if (dateTime!.month == 3) { + isVisible = true; + } + break; + case DynamicFilterType.april: + if (dateTime!.month == 4) { + isVisible = true; + } + break; + case DynamicFilterType.may: + if (dateTime!.month == 5) { + isVisible = true; + } + break; + case DynamicFilterType.june: + if (dateTime!.month == 6) { + isVisible = true; + } + break; + case DynamicFilterType.july: + if (dateTime!.month == 7) { + isVisible = true; + } + break; + case DynamicFilterType.august: + if (dateTime!.month == 8) { + isVisible = true; + } + break; + case DynamicFilterType.september: + if (dateTime!.month == 9) { + isVisible = true; + } + break; + case DynamicFilterType.october: + if (dateTime!.month == 10) { + isVisible = true; + } + break; + case DynamicFilterType.november: + if (dateTime!.month == 11) { + isVisible = true; + } + break; + case DynamicFilterType.december: + if (dateTime!.month == 12) { + isVisible = true; + } + break; + case DynamicFilterType.yearToDate: + if (currentDate.year == dateTime!.year && + currentDate.day >= dateTime.day && + currentDate.month >= dateTime.month) { + isVisible = true; + } + break; + case DynamicFilterType.none: + break; + } + range.showRows(isVisible); + } else + range.showRows(false); } } /// Remove the existing dynamic filter from filter collection. bool _removeDynamicFilter() { - if (_dateFilter == null) { - return false; - } - _filtertype = _ExcelFilterType.customFilter; _dateFilter._dateFilterType = DynamicFilterType.none; @@ -599,51 +573,49 @@ class _AutoFilterImpl implements AutoFilter { /// Apply the date time filter. void _applyDateTimeFilter() { - if (_combinationFilter != null) { - final Range filterRange = _autoFilterCollection.filterRange; - for (int row = filterRange.row + 1; row <= filterRange.lastRow; row++) { - final Range range = _worksheet.getRangeByIndex(row, _colIndex); - if (range.dateTime != null) { - for (int index = 0; - index < _combinationFilter._filterCollection.length; - index++) { - final _MultipleFilter filter = - _combinationFilter._filterCollection[index]; - if (filter._combinationFilterType == - _ExcelCombinationFilterType.dateTimeFilter) { - final _DateTimeFilter dateTimeFilter = filter as _DateTimeFilter; - final DateTimeFilterType dateGroup = dateTimeFilter._groupingType; - final DateTime filterDate = dateTimeFilter._dateTime; - final DateTime? dateTime = range.dateTime; - if (filterDate.year == dateTime!.year) { - if (dateGroup == DateTimeFilterType.year) { + final Range filterRange = _autoFilterCollection.filterRange; + for (int row = filterRange.row + 1; row <= filterRange.lastRow; row++) { + final Range range = _worksheet.getRangeByIndex(row, _colIndex); + if (range.dateTime != null) { + for (int index = 0; + index < _combinationFilter._filterCollection.length; + index++) { + final _MultipleFilter filter = + _combinationFilter._filterCollection[index]; + if (filter._combinationFilterType == + _ExcelCombinationFilterType.dateTimeFilter) { + final _DateTimeFilter dateTimeFilter = filter as _DateTimeFilter; + final DateTimeFilterType dateGroup = dateTimeFilter._groupingType; + final DateTime filterDate = dateTimeFilter._dateTime; + final DateTime? dateTime = range.dateTime; + if (filterDate.year == dateTime!.year) { + if (dateGroup == DateTimeFilterType.year) { + range.showRows(true); + break; + } + if (filterDate.month == dateTime.month) { + if (dateGroup == DateTimeFilterType.month) { range.showRows(true); break; } - if (filterDate.month == dateTime.month) { - if (dateGroup == DateTimeFilterType.month) { + if (filterDate.day == dateTime.day) { + if (dateGroup == DateTimeFilterType.day) { range.showRows(true); break; } - if (filterDate.day == dateTime.day) { - if (dateGroup == DateTimeFilterType.day) { + if (filterDate.hour == dateTime.hour) { + if (dateGroup == DateTimeFilterType.hour) { range.showRows(true); break; } - if (filterDate.hour == dateTime.hour) { - if (dateGroup == DateTimeFilterType.hour) { + if (filterDate.minute == dateTime.minute) { + if (dateGroup == DateTimeFilterType.minute) { range.showRows(true); break; } - if (filterDate.minute == dateTime.minute) { - if (dateGroup == DateTimeFilterType.minute) { - range.showRows(true); - break; - } - if (filterDate.second == dateTime.second) { - range.showRows(true); - break; - } + if (filterDate.second == dateTime.second) { + range.showRows(true); + break; } } } @@ -835,109 +807,108 @@ class _AutoFilterImpl implements AutoFilter { stringA = a.toString(); stringB = b.toString(); } - if (conditionOperator != null) { - switch (conditionOperator) { - case ExcelFilterCondition.less: - if (doubleA < doubleB) { - temp = true; - } else { - temp = false; - } - break; - case ExcelFilterCondition.equal: - if (a.runtimeType == String && b.runtimeType == String) { - if (stringA == stringB) { - temp = true; - } else { - temp = false; - } - } else { - if (doubleA == doubleB) { - temp = true; - } else { - temp = false; - } - } - break; - case ExcelFilterCondition.lessOrEqual: - if (doubleA <= doubleB) { - temp = true; - } else { - temp = false; - } - break; - case ExcelFilterCondition.greater: - if (doubleA > doubleB) { - temp = true; - } else { - temp = false; - } - break; - case ExcelFilterCondition.notEqual: - if (doubleA != doubleB) { - temp = true; - } else { - temp = false; - } - break; - case ExcelFilterCondition.greaterOrEqual: - if (doubleA >= doubleB) { - temp = true; - } else { - temp = false; - } - break; - case ExcelFilterCondition.contains: - if (stringA.contains(stringB)) { - temp = true; - } else { - temp = false; - } - break; - case ExcelFilterCondition.doesNotContain: - if (!stringA.contains(stringB)) { - temp = true; - } else { - temp = false; - } - break; - case ExcelFilterCondition.beginsWith: - if (stringA.startsWith(stringB)) { - temp = true; - } else { - temp = false; - } - break; - case ExcelFilterCondition.doesNotBeginWith: - if (!stringA.startsWith(stringB)) { - temp = true; - } else { - temp = false; - } - break; - case ExcelFilterCondition.endsWith: - if (stringA.endsWith(stringB)) { + + switch (conditionOperator) { + case ExcelFilterCondition.less: + if (doubleA < doubleB) { + temp = true; + } else { + temp = false; + } + break; + case ExcelFilterCondition.equal: + if (a.runtimeType == String && b.runtimeType == String) { + if (stringA == stringB) { temp = true; } else { temp = false; } - break; - case ExcelFilterCondition.doesNotEndWith: - if (!stringA.endsWith(stringB)) { + } else { + if (doubleA == doubleB) { temp = true; } else { temp = false; } - break; - } - if (isFirstCondition) { - _firstConditionboolList.add(temp); - _rangeListtemp.add(key); - } else { - _secondConditionboolList.add(temp); - if (_rangeListtemp.isEmpty) { - _rangeListtemp.add(key); } + break; + case ExcelFilterCondition.lessOrEqual: + if (doubleA <= doubleB) { + temp = true; + } else { + temp = false; + } + break; + case ExcelFilterCondition.greater: + if (doubleA > doubleB) { + temp = true; + } else { + temp = false; + } + break; + case ExcelFilterCondition.notEqual: + if (doubleA != doubleB) { + temp = true; + } else { + temp = false; + } + break; + case ExcelFilterCondition.greaterOrEqual: + if (doubleA >= doubleB) { + temp = true; + } else { + temp = false; + } + break; + case ExcelFilterCondition.contains: + if (stringA.contains(stringB)) { + temp = true; + } else { + temp = false; + } + break; + case ExcelFilterCondition.doesNotContain: + if (!stringA.contains(stringB)) { + temp = true; + } else { + temp = false; + } + break; + case ExcelFilterCondition.beginsWith: + if (stringA.startsWith(stringB)) { + temp = true; + } else { + temp = false; + } + break; + case ExcelFilterCondition.doesNotBeginWith: + if (!stringA.startsWith(stringB)) { + temp = true; + } else { + temp = false; + } + break; + case ExcelFilterCondition.endsWith: + if (stringA.endsWith(stringB)) { + temp = true; + } else { + temp = false; + } + break; + case ExcelFilterCondition.doesNotEndWith: + if (!stringA.endsWith(stringB)) { + temp = true; + } else { + temp = false; + } + break; + } + if (isFirstCondition) { + _firstConditionboolList.add(temp); + _rangeListtemp.add(key); + } else { + _secondConditionboolList.add(temp); + if (_rangeListtemp.isEmpty) { + _rangeListtemp.add(key); } } } diff --git a/packages/syncfusion_flutter_xlsio/lib/src/xlsio/autoFilters/autofiltercollection.dart b/packages/syncfusion_flutter_xlsio/lib/src/xlsio/autoFilters/autofiltercollection.dart index c45b64137..33fbaa940 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/xlsio/autoFilters/autofiltercollection.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/xlsio/autoFilters/autofiltercollection.dart @@ -38,85 +38,74 @@ class AutoFilterCollection { ///Get filterRange Range get filterRange { - if (_range != null) { - return _range; - } else { - throw Exception('value Not Declared yet'); - } + return _range; } ///Set range to be filtered. set filterRange(Range value) { - if (value == null) { - throw Exception("Can't filter ranges from worksheet"); - } - value = _updateFilterRange(value); _range = value; _innerList.clear(); - if (value != null) { - for (int i = value.column; i <= value.lastColumn; i++) { - _innerList.add(_AutoFilterImpl(this, _worksheet, _topRow, _bottomRow)); + for (int i = value.column; i <= value.lastColumn; i++) { + _innerList.add(_AutoFilterImpl(this, _worksheet, _topRow, _bottomRow)); - final _AutoFilterImpl filter = - _innerList[_innerList.length - 1] as _AutoFilterImpl; + final _AutoFilterImpl filter = + _innerList[_innerList.length - 1] as _AutoFilterImpl; - filter._colIndex = i; - } + filter._colIndex = i; } } /// Update range to be filtered. Range _updateFilterRange(Range filterRange) { - if (filterRange != null) { - _initializeFilterRange(filterRange.row, filterRange.column, - filterRange.lastRow, filterRange.lastColumn); - final int tempTopRow = _topRow; - final int tempLeftColumn = _leftColumn; - final int tempBottomRow = _bottomRow; - final int tempRightColumn = _rightColumn; + _initializeFilterRange(filterRange.row, filterRange.column, + filterRange.lastRow, filterRange.lastColumn); + final int tempTopRow = _topRow; + final int tempLeftColumn = _leftColumn; + final int tempBottomRow = _bottomRow; + final int tempRightColumn = _rightColumn; - if (filterRange.isSingleRange) { - //checkRange(_topRow, _leftColumn); - bool isEmptyCell = false; - if ((filterRange.worksheet) - .getRangeByIndex(_topRow, _leftColumn) - .cells - .isEmpty) { - isEmptyCell = true; - } - filterRange = _includeAdjacents( - _topRow, _leftColumn, _bottomRow, _rightColumn, filterRange, true); - if (isEmptyCell) { - if (tempTopRow == _topRow) { - if (!_isRowNotEmpty( - _topRow, _leftColumn, _rightColumn, filterRange)) { - _topRow++; - } + if (filterRange.isSingleRange) { + //checkRange(_topRow, _leftColumn); + bool isEmptyCell = false; + if ((filterRange.worksheet) + .getRangeByIndex(_topRow, _leftColumn) + .cells + .isEmpty) { + isEmptyCell = true; + } + filterRange = _includeAdjacents( + _topRow, _leftColumn, _bottomRow, _rightColumn, filterRange, true); + if (isEmptyCell) { + if (tempTopRow == _topRow) { + if (!_isRowNotEmpty( + _topRow, _leftColumn, _rightColumn, filterRange)) { + _topRow++; } - if (tempLeftColumn == _leftColumn) { - if (!_isColumnNotEmpty( - _leftColumn, _topRow, _bottomRow, filterRange)) { - _leftColumn++; - } + } + if (tempLeftColumn == _leftColumn) { + if (!_isColumnNotEmpty( + _leftColumn, _topRow, _bottomRow, filterRange)) { + _leftColumn++; } - if (tempBottomRow == _bottomRow) { - if (!_isRowNotEmpty( - _bottomRow, _leftColumn, _rightColumn, filterRange)) { - _bottomRow--; - } + } + if (tempBottomRow == _bottomRow) { + if (!_isRowNotEmpty( + _bottomRow, _leftColumn, _rightColumn, filterRange)) { + _bottomRow--; } - if (tempRightColumn == _rightColumn) { - if (!_isColumnNotEmpty( - _rightColumn, _topRow, _bottomRow, filterRange)) { - _rightColumn--; - } + } + if (tempRightColumn == _rightColumn) { + if (!_isColumnNotEmpty( + _rightColumn, _topRow, _bottomRow, filterRange)) { + _rightColumn--; } } } } + return filterRange; } @@ -285,9 +274,6 @@ class AutoFilterCollection { ///Operator for get column index AutoFilter operator [](int columnIndex) { - if (columnIndex == null) { - throw Exception('index Cant be Null'); - } if (columnIndex > _innerList.length) { throw Exception('index Out of Range'); } diff --git a/packages/syncfusion_flutter_xlsio/lib/src/xlsio/cell_styles/borders.dart b/packages/syncfusion_flutter_xlsio/lib/src/xlsio/cell_styles/borders.dart index 6a2ee44f4..521325d56 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/xlsio/cell_styles/borders.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/xlsio/cell_styles/borders.dart @@ -224,7 +224,7 @@ class BordersCollection implements Borders { @override // ignore: avoid_equals_and_hash_code_on_mutable_classes - int get hashCode => hashValues(all, left, right, top, bottom); + int get hashCode => Object.hash(all, left, right, top, bottom); /// Crear all the borders. void _clear() {} diff --git a/packages/syncfusion_flutter_xlsio/lib/src/xlsio/cell_styles/cell_style.dart b/packages/syncfusion_flutter_xlsio/lib/src/xlsio/cell_styles/cell_style.dart index 7e58d95de..02faf3192 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/xlsio/cell_styles/cell_style.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/xlsio/cell_styles/cell_style.dart @@ -263,7 +263,7 @@ class CellStyle implements Style { @override // ignore: avoid_equals_and_hash_code_on_mutable_classes - int get hashCode => hashValues( + int get hashCode => Object.hash( name, backColor, fontName, diff --git a/packages/syncfusion_flutter_xlsio/lib/src/xlsio/general/enums.dart b/packages/syncfusion_flutter_xlsio/lib/src/xlsio/general/enums.dart index c25663896..037e21a93 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/xlsio/general/enums.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/xlsio/general/enums.dart @@ -50,20 +50,47 @@ enum CellType { /// Specifies the line style for the cell border. enum LineStyle { - /// Thin line. + /// Specifies the thin line style for the cell border. thin, - /// Thick line. + /// Specifies the thick line style for the cell border. thick, - /// Medium line. + /// Specifies the medium line style for the cell border. medium, - /// No line. + /// Specifies the none line style for the cell border. none, - /// double line. - double + /// Specifies the double line style for the cell border. + double, + + /// Specifies the dotted line style for the cell border. + dotted, + + /// Specifies the dashed line style for the cell border. + dashed, + + ///Specifies the hair line style for the cell border + hair, + + ///Specifies the mediumDashed line style for the cell border. + mediumDashed, + + ///Specifies the dashDot line style for the cell border. + dashDot, + + ///Specifies the mediumDashDot line style for the cell border. + mediumDashDot, + + ///Specifies the dashDotDot line style for the cell border. + dashDotDot, + + ///Specifies the mediumDashDotDot line style for the cell border. + mediumDashDotDot, + + ///Specifies the slantedDashDot line style for the cell border. + slantDashDot } /// Possible format types. @@ -1145,3 +1172,275 @@ enum ExcelLogicalOperator { /// Represents the logical AND operation. and } + +///Represents visible/hidden of worksheets. +enum WorksheetVisibility { + ///Worksheet is visible to the user. + visible, + + ///Worksheet is hidden to the user. + hidden +} + +///Enumeration of page order for sheet in Excel. +enum ExcelPageOrder { + ///Represents Down, then over setting. + downThenOver, + + ///Represents Over, then down setting. + overThenDown +} + +///Enumeration of page orientation types in Excel. +enum ExcelPageOrientation { + ///Represents landscape orientation. + landscape, + + ///Represents portrait orientation. + portrait +} + +///Enumeration of paper size types in Excel. +enum ExcelPaperSize { + /// Represents paper size of 10 inches X 14 inches + paper10x14, + + ///Represents paper size of 11 inches X 17 inches + paper11x17, + + ///Represents A3 (297 mm x 420 mm) paper size. + paperA3, + + ///Represents A4 (210 mm x 297 mm) paper size. + paperA4, + + ///Represents A4 Small (210 mm x 297 mm) paper size. + paperA4Small, + + ///Represents A5 (148 mm x 210 mm) paper size. + paperA5, + + ///Represents B4 (250 mm x 353 mm) paper size. + paperB4, + + ///Represents B5 (176 mm x 250 mm) paper size. + paperB5, + + ///Represents C paper size. + paperCsheet, + + ///Represents D paper size. + paperDsheet, + + ///Represents Envelope# 10 paper size(4-1/8 X 9-1/2 inches). + paperEnvelope10, + + ///Represents Envelope# 11 paper size( (4-1/2 X 10-3/8 inches). + paperEnvelope11, + + ///Represents Envelope# 12 paper size(4-3/4 X 11 inches). + paperEnvelope12, + + ///Represents Envelope# 14 paper size(5 X 11-1/2 inches). + paperEnvelope14, + + ///Represents Envelope# 9 paper size(3-7/8 X 8-7/8 inches). + paperEnvelope9, + + ///Represents B4 Envelope paper size (250 mm x 353 mm). + paperEnvelopeB4, + + ///Represents B5 Envelope paper size (176 mm x 250 mm). + paperEnvelopeB5, + + ///Represents B6 Envelope paper size (176 mm x 125 mm). + paperEnvelopeB6, + + ///Represents C3 Envelope paper size (324 mm x 458 mm). + paperEnvelopeC3, + + ///Represents C4 Envelope paper size (229 mm x 324 mm). + paperEnvelopeC4, + + ///Represents C5 Envelope paper size (162 mm x 229 mm). + paperEnvelopeC5, + + ///Represents C6 Envelope paper size (114 mm x 162 mm). + paperEnvelopeC6, + + ///Represents C65 Envelope paper size (114 mm x 229 mm). + paperEnvelopeC65, + + ///Represents DL Envelope paper size (110 mm x 220 mm). + paperEnvelopeDL, + + ///Represents Italy Envelope paper size (110 mm x 230 mm). + paperEnvelopeItaly, + + ///Represents Monarch Envelope paper size (3-7/8 X 7-1/2 inches). + paperEnvelopeMonarch, + + ///Represents Personal Envelope paper size (3-5/8 X 6-1/2 inches). + paperEnvelopePersonal, + + ///Represents E paper size. + paperEsheet, + + ///Represents Executive paper size (7-1/2 X 10-1/2 inches). + paperExecutive, + + ///Represents German Fanfold paper size (8-1/2 X 13 inches). + paperFanfoldLegalGerman, + + ///Represents German Standard Fanfold paper size (8-1/2 X 12 inches). + paperFanfoldStdGerman, + + ///Represents U.S. Standard Fanfold paper size (14-7/8 X 11 inches). + paperFanfoldUS, + + ///Represents Folio paper size (8-1/2 X 13 inches). + paperFolio, + + ///Represents Ledger paper size (17 X 11 inches). + paperLedger, + + ///Represents Legal paper size (8-1/2 X 14 inches). + paperLegal, + + ///Represents Letter paper size (8-1/2 X 11 inches). + paperLetter, + + ///Represents Letter Small paper size. + paperLetterSmall, + + ///Represents Note paper size. + paperNote, + + ///Represents Quarto paper size(215 mm x 275 mm). + paperQuarto, + + ///Represents Statement paper size(5-1/2 X 8-1/2 inches). + paperStatement, + + ///Represents Tabloid paper size(11 X 17 inches). + paperTabloid, + + ///Represents User paper size. + paperUser, + + /// Represents ISO B4 paper size(250 mm by 353 mm). + iSOB4, + + /// Represents Japanese double postcard(200 mm by 148 mm). + japaneseDoublePostcard, + + /// Represents Standard paper(9 in. by 11 in.). + standardPaper9By11, + + /// Represents Standard paper(10 in. by 11 in.). + standardPaper10By11, + + /// Represents Standard paper(15 in. by 11 in.). + standardPaper15By11, + + /// Represents Invite envelope (220 mm by 220 mm). + inviteEnvelope, + + /// Represents Letter extra paper (9.275 in. by 12 in.). + letterExtraPaper9275By12, + + /// Represents Legal extra paper (9.275 in. by 15 in.). + legalExtraPaper9275By15, + + /// Represents Tabloid extra paper (11.69 in. by 18 in.). + tabloidExtraPaper, + + /// Represents A4 extra paper (236 mm by 322 mm). + a4ExtraPaper, + + /// Represents Letter transverse paper (8.275 in. by 11 in.). + letterTransversePaper, + + /// Represents A4 transverse paper (210 mm by 297 mm). + a4TransversePaper, + + /// Represents Letter extra transverse paper (9.275 in. by 12 in.). + letterExtraTransversePaper, + + /// Represents SuperA/SuperA/A4 paper (227 mm by 356 mm). + superASuperAA4Paper, + + /// Represents SuperB/SuperB/A3 paper (305 mm by 487 mm). + superBSuperBA3Paper, + + /// Represents Letter plus paper (8.5 in. by 12.69 in.). + letterPlusPaper, + + /// Represents A4 plus paper (210 mm by 330 mm). + a4PlusPaper, + + /// Represents A5 transverse paper (148 mm by 210 mm). + a5TransversePaper, + + /// Represents JIS B5 transverse paper (182 mm by 257 mm). + jISB5TransversePaper, + + /// Represents A3 extra paper (322 mm by 445 mm). + a3ExtraPaper, + + /// Represents A5 extra paper (174 mm by 235 mm). + a5ExtraPpaper, + + /// Represents ISO B5 extra paper (201 mm by 276 mm). + iSOB5ExtraPaper, + + /// Represents A2 paper (420 mm by 594 mm). + a2Paper, + + /// Represents A3 transverse paper (297 mm by 420 mm). + a3TransversePaper, + + /// Represents A3 extra transverse paper (322 mm by 445 mm). + a3ExtraTransversePaper +} + +///Enumeration of Replace Error Values when printing in Excel. +enum CellErrorPrintOptions { + ///Prints cell errors as blank. + blank, + + ///Prints cell errors as dash(--). + dash, + + ///Prints the displayed cell text for errors. + displayed, + + ///Prints cell errors as #N/A + notAvailable +} + +/// Possible values for active pane. +enum _ActivePane { + /// Bottom left pane, when both vertical and horizontal splits are applied. + /// This value is also used when only a horizontal split has been applied, + /// dividing the pane into upper and lower regions. In that case, this value + /// specifies the bottom pane. + bottomLeft, + + /// Bottom right pane, when both vertical and horizontal splits are applied. + bottomRight, + + /// Top left pane, when both vertical and horizontal splits are applied. + /// This value is also used when only a horizontal split has been applied, + /// dividing the pane into upper and lower regions. In that case, this value + /// specifies the top pane. This value is also used when only a vertical split + /// has been applied, dividing the pane into right and left regions.In that + /// case, this value specifies the left pane. + topLeft, + + /// Top right pane, when both vertical and horizontal splits are applied. + /// This value is also used when only a vertical split has been applied, + /// dividing the pane into right and left regions. In that case, this + /// value specifies the right pane. + topRight +} diff --git a/packages/syncfusion_flutter_xlsio/lib/src/xlsio/general/serialize_workbook.dart b/packages/syncfusion_flutter_xlsio/lib/src/xlsio/general/serialize_workbook.dart index 8ae809266..0254d586e 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/xlsio/general/serialize_workbook.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/xlsio/general/serialize_workbook.dart @@ -84,24 +84,72 @@ class SerializeWorkbook { _serializeWorkbookProtection(builder); builder.element('bookViews', nest: () { builder.element('workbookView', nest: () { - builder.attribute('activeTab', '0'); + int firstsheet = 0; + if (_workbook.worksheets[0].visibility == + WorksheetVisibility.hidden) { + for (int i = 1; i < _workbook.worksheets.count; i++) { + if (_workbook.worksheets[i].visibility == + WorksheetVisibility.visible) { + firstsheet = i; + break; + } + } + } + builder.attribute('activeTab', firstsheet.toString()); }); }); builder.element('sheets', nest: () { for (int i = 0; i < _workbook.worksheets.count; i++) { builder.element('sheet', nest: () { builder.attribute('name', _workbook.worksheets[i].name); - builder.attribute('sheetId', (i + 1).toString()); + builder.attribute( + 'sheetId', (_workbook.worksheets[i].index).toString()); + if (_workbook.worksheets[i].visibility == + WorksheetVisibility.hidden) { + builder.attribute('state', 'hidden'); + } builder.attribute('r:id', 'rId${i + 1}'); }); } }); + final List list = _workbook.innerNamesCollection; + if (list.isNotEmpty) { + builder.element('definedNames', nest: () { + for (int i = 0; i < list.length; i++) { + builder.element('definedName', nest: () { + builder.attribute('name', list[i].name); + builder.attribute('comment', list[i].description); + if (list[i].isLocal) { + builder.attribute( + 'localSheetId', + _getLocalSheetIndex(_workbook, list[i]).toString(), + ); + } + if (!list[i].isVisible) { + builder.attribute('hidden', '1'); + } + builder.text(list[i].value); + }); + } + }); + } }); final String stringXml = builder.buildDocument().toString(); final List bytes = utf8.encode(stringXml); _addToArchive(bytes, 'xl/workbook.xml'); } + /// Get local sSheet id. + int _getLocalSheetIndex(Workbook workbook, Name list) { + int result = -1; + for (int i = 0; i < workbook.worksheets.count; i++) { + if (workbook.worksheets[i].name == list.scope) { + result = i; + } + } + return result; + } + /// Serializes workbook protection options. void _serializeWorkbookProtection(XmlBuilder builder) { if (_workbook._bWindowProtect || _workbook._bCellProtect) { @@ -189,15 +237,21 @@ class SerializeWorkbook { builder.attribute('xmlns:mc', 'http://schemas.openxmlformats.org/markup-compatibility/2006'); - if (!sheet._isSummaryRowBelow) { - builder.element('sheetPr', nest: () { + builder.element('sheetPr', nest: () { + if (!sheet._isSummaryRowBelow) { builder.element('OutlinePr', nest: () { builder.attribute('summaryBelow', '0'); }); - }); - } else { - builder.element('sheetPr', nest: () {}); - } + } + if (sheet.pageSetup.isFitToPage) { + builder.element('pageSetUpPr', nest: () { + builder.attribute('fitToPage', '1'); + }); + } + if (sheet._isTapColorApplied) { + _serializeTabColor(sheet, builder); + } + }); _saveSheetView(sheet, builder); builder.element('sheetFormatPr', nest: () { builder.attribute('defaultRowHeight', sheet._standardHeight.toString()); @@ -377,20 +431,36 @@ class SerializeWorkbook { _serializeConditionalFormatting(builder, sheet); _serializeDataValidations(builder, sheet); _serializeHyperlinks(builder, sheet); - builder.element('pageMargins', nest: () { - builder.attribute('left', '0.75'); - builder.attribute('right', '0.75'); - builder.attribute('top', '1'); - builder.attribute('bottom', '1'); - builder.attribute('header', '0.5'); - builder.attribute('footer', '0.5'); - }); + if (sheet.pageSetup.showGridlines || + sheet.pageSetup.showHeadings || + sheet.pageSetup.isCenterHorizontally || + sheet.pageSetup.isCenterVertically) { + _serializePrintOptions(builder, sheet); + } + _validatePageMargins(sheet); + _serializePageMargins(builder, sheet); + + if (sheet.pageSetup.order == ExcelPageOrder.overThenDown || + sheet.pageSetup.orientation == ExcelPageOrientation.landscape || + sheet.pageSetup.printErrors != CellErrorPrintOptions.displayed || + sheet.pageSetup.isBlackAndWhite || + sheet.pageSetup.isDraft || + (sheet.pageSetup.printQuality != 0 && + sheet.pageSetup.printQuality != 600) || + !sheet.pageSetup.autoFirstPageNumber || + sheet.pageSetup.fitToPagesWide > 1 || + sheet.pageSetup.fitToPagesTall > 1 || + sheet.pageSetup.firstPageNumber != 1 || + sheet.pageSetup.paperSize != ExcelPaperSize.paperA4) { + _serializePageSetup(builder, sheet); + } builder.element('headerFooter', nest: () { builder.attribute('scaleWithDoc', '1'); builder.attribute('alignWithMargins', '0'); builder.attribute('differentFirst', '0'); builder.attribute('differentOddEven', '0'); }); + if ((sheet.pictures.count > 0) || (sheet.charts != null && sheet.chartCount > 0)) { _workbook._drawingCount++; @@ -427,13 +497,349 @@ class SerializeWorkbook { }); final List rel = _saveSheetRelations(sheet); - _addToArchive(rel, 'xl/worksheets/_rels/sheet${sheet.index}.xml.rels'); + _addToArchive(rel, 'xl/worksheets/_rels/sheet${index + 1}.xml.rels'); }); final String stringXml = builder.buildDocument().toString(); final List bytes = utf8.encode(stringXml); _addToArchive(bytes, 'xl/worksheets/sheet${index + 1}.xml'); } + /// Serializes worksheet printOptions + void _serializePrintOptions(XmlBuilder builder, Worksheet sheet) { + builder.element('printOptions', nest: () { + if (sheet.pageSetup.isCenterHorizontally) { + builder.attribute('horizontalCentered', '1'); + } + if (sheet.pageSetup.isCenterVertically) { + builder.attribute('verticalCentered', '1'); + } + if (sheet.pageSetup.showHeadings) { + builder.attribute('headings', '1'); + } + if (sheet.pageSetup.showGridlines) { + builder.attribute('gridLines', '1'); + } + }); + } + + /// Validate whether Page margins are fit into the Page + void _validatePageMargins(Worksheet sheet) { + if ((sheet.pageSetup as _PageSetupImpl) + ._paperHight + .containsKey(sheet.pageSetup.paperSize) && + (sheet.pageSetup as _PageSetupImpl) + ._paperWidth + .containsKey(sheet.pageSetup.paperSize)) { + final double maxHight = + sheet.pageSetup.topMargin + sheet.pageSetup.bottomMargin; + final double maxWidth = + sheet.pageSetup.leftMargin + sheet.pageSetup.rightMargin; + (sheet.pageSetup as _PageSetupImpl) + ._paperHight + .forEach((ExcelPaperSize key, double value) { + if (sheet.pageSetup.paperSize == key) { + if (maxHight > value) { + throw Exception( + 'Top Margin and Bottom Margin size exceeds the allowed size'); + } + } + }); + (sheet.pageSetup as _PageSetupImpl) + ._paperWidth + .forEach((ExcelPaperSize key, double value) { + if (sheet.pageSetup.paperSize == key) { + if (maxWidth > value) { + throw Exception( + 'Left Margin and Right Margin size exceeds the allowed size'); + } + } + }); + } + } + + /// Serializes pageMargins + void _serializePageMargins(XmlBuilder builder, Worksheet sheet) { + builder.element('pageMargins', nest: () { + builder.attribute('left', sheet.pageSetup.leftMargin.toString()); + builder.attribute('right', sheet.pageSetup.rightMargin.toString()); + builder.attribute('top', sheet.pageSetup.topMargin.toString()); + builder.attribute('bottom', sheet.pageSetup.bottomMargin.toString()); + builder.attribute('header', sheet.pageSetup.headerMargin.toString()); + builder.attribute('footer', sheet.pageSetup.footerMargin.toString()); + }); + } + + /// Serialize pageSetup + void _serializePageSetup(XmlBuilder builder, Worksheet sheet) { + builder.element('pageSetup', nest: () { + _serializePaperSize(builder, sheet); + + if (sheet.pageSetup.firstPageNumber != 1) { + builder.attribute( + 'firstPageNumber', sheet.pageSetup.firstPageNumber.toString()); + } + if (sheet.pageSetup.fitToPagesWide > 1) { + builder.attribute( + 'fitToWidth', sheet.pageSetup.fitToPagesWide.toString()); + } + if (sheet.pageSetup.fitToPagesTall > 1) { + builder.attribute( + 'fitToHeight', sheet.pageSetup.fitToPagesTall.toString()); + } + if (sheet.pageSetup.order == ExcelPageOrder.overThenDown) { + builder.attribute('pageOrder', 'overThenDown'); + } + if (sheet.pageSetup.orientation == ExcelPageOrientation.landscape) { + builder.attribute('orientation', 'landscape'); + } else { + builder.attribute('orientation', 'portrait'); + } + if (sheet.pageSetup.isBlackAndWhite) { + builder.attribute('blackAndWhite', '1'); + } + if (sheet.pageSetup.isDraft) { + builder.attribute('draft', '1'); + } + if (!sheet.pageSetup.autoFirstPageNumber) { + builder.attribute('useFirstPageNumber', '1'); + } + if (sheet.pageSetup.printErrors != CellErrorPrintOptions.displayed) { + switch (sheet.pageSetup.printErrors) { + case CellErrorPrintOptions.blank: + builder.attribute('errors', 'blank'); + break; + case CellErrorPrintOptions.dash: + builder.attribute('errors', 'dash'); + break; + case CellErrorPrintOptions.notAvailable: + builder.attribute('errors', 'NA'); + break; + case CellErrorPrintOptions.displayed: + break; + } + } + if (sheet.pageSetup.printQuality != 0 && + sheet.pageSetup.printQuality != 600) { + if (sheet.pageSetup.printQuality <= 38528) { + builder.attribute( + 'horizontalDpi', sheet.pageSetup.printQuality.toString()); + builder.attribute( + 'verticalDpi', sheet.pageSetup.printQuality.toString()); + } else { + builder.attribute('horizontalDpi', '38528'); + builder.attribute('verticalDpi', '38528'); + } + } + }); + } + + /// Serialize paperSize + void _serializePaperSize(XmlBuilder builder, Worksheet sheet) { + switch (sheet.pageSetup.paperSize) { + case ExcelPaperSize.a2Paper: + builder.attribute('paperSize', '66'); + break; + case ExcelPaperSize.paperDsheet: + builder.attribute('paperSize', '25'); + break; + case ExcelPaperSize.paperEnvelope10: + builder.attribute('paperSize', '20'); + break; + case ExcelPaperSize.paperEnvelope11: + builder.attribute('paperSize', '21'); + break; + case ExcelPaperSize.paperEnvelope12: + builder.attribute('paperSize', '22'); + break; + case ExcelPaperSize.paperEnvelope14: + builder.attribute('paperSize', '23'); + break; + case ExcelPaperSize.paperEnvelope9: + builder.attribute('paperSize', '19'); + break; + case ExcelPaperSize.paperEnvelopeB4: + builder.attribute('paperSize', '33'); + break; + case ExcelPaperSize.paperEnvelopeB5: + builder.attribute('paperSize', '34'); + break; + case ExcelPaperSize.paperEnvelopeB6: + builder.attribute('paperSize', '35'); + break; + case ExcelPaperSize.paperEnvelopeC3: + builder.attribute('paperSize', '29'); + break; + case ExcelPaperSize.paperEnvelopeC4: + builder.attribute('paperSize', '30'); + break; + case ExcelPaperSize.paperEnvelopeC5: + builder.attribute('paperSize', '28'); + break; + case ExcelPaperSize.paperEnvelopeC6: + builder.attribute('paperSize', '31'); + break; + case ExcelPaperSize.paperEnvelopeC65: + builder.attribute('paperSize', '32'); + break; + case ExcelPaperSize.paperEnvelopeDL: + builder.attribute('paperSize', '27'); + break; + case ExcelPaperSize.paperEnvelopeItaly: + builder.attribute('paperSize', '36'); + break; + case ExcelPaperSize.paperEnvelopeMonarch: + builder.attribute('paperSize', '37'); + break; + case ExcelPaperSize.paperEnvelopePersonal: + builder.attribute('paperSize', '38'); + break; + case ExcelPaperSize.paperEsheet: + builder.attribute('paperSize', '26'); + break; + case ExcelPaperSize.paperExecutive: + builder.attribute('paperSize', '7'); + break; + case ExcelPaperSize.paperFanfoldLegalGerman: + builder.attribute('paperSize', '41'); + break; + case ExcelPaperSize.paperFanfoldStdGerman: + builder.attribute('paperSize', '40'); + break; + case ExcelPaperSize.paperFanfoldUS: + builder.attribute('paperSize', '39'); + break; + case ExcelPaperSize.paperFolio: + builder.attribute('paperSize', '14'); + break; + case ExcelPaperSize.paperLedger: + builder.attribute('paperSize', '4'); + break; + case ExcelPaperSize.paperLegal: + builder.attribute('paperSize', '5'); + break; + case ExcelPaperSize.paperLetter: + builder.attribute('paperSize', '1'); + break; + case ExcelPaperSize.paperLetterSmall: + builder.attribute('paperSize', '2'); + break; + case ExcelPaperSize.paperNote: + builder.attribute('paperSize', '18'); + break; + case ExcelPaperSize.paperQuarto: + builder.attribute('paperSize', '15'); + break; + case ExcelPaperSize.paperStatement: + builder.attribute('paperSize', '6'); + break; + case ExcelPaperSize.paperTabloid: + builder.attribute('paperSize', '3'); + break; + case ExcelPaperSize.paperUser: + builder.attribute('paperSize', '256'); + break; + case ExcelPaperSize.standardPaper9By11: + builder.attribute('paperSize', '44'); + break; + case ExcelPaperSize.standardPaper10By11: + builder.attribute('paperSize', '45'); + break; + case ExcelPaperSize.standardPaper15By11: + builder.attribute('paperSize', '46'); + break; + case ExcelPaperSize.tabloidExtraPaper: + builder.attribute('paperSize', '52'); + break; + case ExcelPaperSize.superASuperAA4Paper: + builder.attribute('paperSize', '57'); + break; + case ExcelPaperSize.superBSuperBA3Paper: + builder.attribute('paperSize', '58'); + break; + case ExcelPaperSize.paper10x14: + builder.attribute('paperSize', '16'); + break; + case ExcelPaperSize.paper11x17: + builder.attribute('paperSize', '17'); + break; + case ExcelPaperSize.paperA3: + builder.attribute('paperSize', '8'); + break; + case ExcelPaperSize.paperA4: + builder.attribute('paperSize', '9'); + break; + case ExcelPaperSize.paperA4Small: + builder.attribute('paperSize', '10'); + break; + case ExcelPaperSize.paperA5: + builder.attribute('paperSize', '11'); + break; + case ExcelPaperSize.paperB4: + builder.attribute('paperSize', '12'); + break; + case ExcelPaperSize.paperB5: + builder.attribute('paperSize', '13'); + break; + case ExcelPaperSize.paperCsheet: + builder.attribute('paperSize', '24'); + break; + case ExcelPaperSize.iSOB4: + builder.attribute('paperSize', '42'); + break; + case ExcelPaperSize.japaneseDoublePostcard: + builder.attribute('paperSize', '43'); + break; + case ExcelPaperSize.inviteEnvelope: + builder.attribute('paperSize', '47'); + break; + case ExcelPaperSize.letterExtraPaper9275By12: + builder.attribute('paperSize', '50'); + break; + case ExcelPaperSize.legalExtraPaper9275By15: + builder.attribute('paperSize', '51'); + break; + case ExcelPaperSize.a4ExtraPaper: + builder.attribute('paperSize', '53'); + break; + case ExcelPaperSize.letterTransversePaper: + builder.attribute('paperSize', '54'); + break; + case ExcelPaperSize.a4TransversePaper: + builder.attribute('paperSize', '55'); + break; + case ExcelPaperSize.letterExtraTransversePaper: + builder.attribute('paperSize', '56'); + break; + case ExcelPaperSize.letterPlusPaper: + builder.attribute('paperSize', '59'); + break; + case ExcelPaperSize.a4PlusPaper: + builder.attribute('paperSize', '60'); + break; + case ExcelPaperSize.a5TransversePaper: + builder.attribute('paperSize', '61'); + break; + case ExcelPaperSize.jISB5TransversePaper: + builder.attribute('paperSize', '62'); + break; + case ExcelPaperSize.a3ExtraPaper: + builder.attribute('paperSize', '63'); + break; + case ExcelPaperSize.a5ExtraPpaper: + builder.attribute('paperSize', '64'); + break; + case ExcelPaperSize.iSOB5ExtraPaper: + builder.attribute('paperSize', '65'); + break; + case ExcelPaperSize.a3TransversePaper: + builder.attribute('paperSize', '67'); + break; + case ExcelPaperSize.a3ExtraTransversePaper: + builder.attribute('paperSize', '68'); + break; + } + } + /// Serializes single protection option. void _serializeProtectionAttribute( XmlBuilder builder, String attributeName, bool flag, bool defaultValue) { @@ -987,10 +1393,45 @@ class SerializeWorkbook { if (!sheet.showGridlines) { builder.attribute('showGridLines', '0'); } + if (sheet._isfreezePane || + sheet._verticalSplit != 0 || + sheet._horizontalSplit != 0) { + _savePane(sheet, builder); + } }); }); } + /// Serialize worksheet Pane. + static void _savePane(Worksheet sheet, XmlBuilder builder) { + builder.element('pane', nest: () { + if (sheet._verticalSplit != 0) { + builder.attribute('xSplit', sheet._verticalSplit.toString()); + } + if (sheet._horizontalSplit != 0) { + builder.attribute('ySplit', sheet._horizontalSplit.toString()); + } + if (sheet._topLeftCell != '') { + builder.attribute('topLeftCell', sheet._topLeftCell); + } + switch (sheet._activePane) { + case _ActivePane.bottomRight: + builder.attribute('activePane', 'bottomRight'); + break; + case _ActivePane.bottomLeft: + builder.attribute('activePane', 'bottomLeft'); + break; + case _ActivePane.topRight: + builder.attribute('activePane', 'topRight'); + break; + case _ActivePane.topLeft: + builder.attribute('activePane', 'topLeft'); + break; + } + builder.attribute('state', 'frozen'); + }); + } + /// Serialize workbook shared string. void _saveSharedString() { final XmlBuilder builder = XmlBuilder(); @@ -1600,13 +2041,7 @@ class SerializeWorkbook { void _serializeBorder(Border border, XmlBuilder builder, String borderType) { builder.element(borderType, nest: () { builder.attribute( - 'style', - border.lineStyle - .toString() - .split('.') - .toList() - .removeAt(1) - .toLowerCase()); + 'style', border.lineStyle.toString().split('.').toList().removeAt(1)); builder.element('color', nest: () { if (border.color.length == 7) { builder.attribute('rgb', 'FF${border.color.replaceAll('#', '')}'); @@ -3025,12 +3460,7 @@ class SerializeWorkbook { ///Serializes auto filters. void _serializeAutoFilters( XmlBuilder builder, AutoFilterCollection? autoFilters) { - if (builder == null) { - throw Exception('writer'); - } - if (autoFilters == null || - autoFilters._innerList.isEmpty || - autoFilters.filterRange == null) { + if (autoFilters == null || autoFilters._innerList.isEmpty) { return; } builder.element('autoFilter', nest: () { @@ -3052,14 +3482,6 @@ class SerializeWorkbook { XmlBuilder builder, _AutoFilterImpl autoFilter, ) { - if (builder == null) { - throw Exception('writer'); - } - - if (autoFilter == null) { - throw Exception('AutoFilter'); - } - builder.element('filterColumn', nest: () { _serializeAttributeInt(builder, 'colId', autoFilter._colIndex - 1, -1); @@ -3088,13 +3510,6 @@ class SerializeWorkbook { /// Serialize color filter. void _serializeColorFilter(XmlBuilder builder, _ColorFilter filter) { - if (builder == null) { - throw Exception('writer'); - } - - if (filter == null) { - throw Exception('filter'); - } builder.element('colorFilter', nest: () { builder.attribute('dxfId', _iDxfIndex.toString()); _iDxfIndex++; @@ -3106,14 +3521,6 @@ class SerializeWorkbook { /// Serialize the dynmaic filter. void _serializeDateFilter(XmlBuilder builder, _DynamicFilter filter) { - if (builder == null) { - throw Exception('writer'); - } - - if (filter == null) { - throw Exception('filter'); - } - if (filter._dateFilterType != DynamicFilterType.none) { builder.element('dynamicFilter', nest: () { final String? dateTime = @@ -3229,14 +3636,6 @@ class SerializeWorkbook { ///SerializeCombination filter void _serializeFilters(XmlBuilder builder, _AutoFilterImpl autoFilter) { - if (builder == null) { - throw Exception('writer'); - } - - if (autoFilter == null) { - throw Exception('AutoFilter'); - } - builder.element('filters', nest: () { if (autoFilter._filteredItems._filterType == _ExcelFilterType.combinationFilter) { @@ -3249,12 +3648,6 @@ class SerializeWorkbook { ///SerializeCombination filter void _serializeCombinationFilters( XmlBuilder builder, _CombinationFilter combinationFilter) { - if (builder == null) { - throw Exception('writer'); - } - if (combinationFilter == null) { - throw Exception('CombinationFilter'); - } if (combinationFilter._isBlank) { builder.attribute('blank', 1); } @@ -3273,13 +3666,6 @@ class SerializeWorkbook { /// Serialize the date time filter. void _serializeDateTimeFilter(XmlBuilder builder, _DateTimeFilter filter) { - if (builder == null) { - throw Exception('writer'); - } - - if (filter == null) { - throw Exception('filter'); - } final DateTimeFilterType dateGroup = filter._groupingType; final DateTime date = filter._dateTimeValue; builder.element('dateGroupItem', nest: () { @@ -3344,9 +3730,6 @@ class SerializeWorkbook { ///Serialization of filter void _serializeFilter(XmlBuilder builder, String strFilterValue) { - if (builder == null) { - throw Exception('writer'); - } builder.element('filter', nest: () { builder.attribute('val', strFilterValue); }); @@ -3354,14 +3737,6 @@ class SerializeWorkbook { /// Serializes custom filters. void _serializeCustomFilter(XmlBuilder builder, _AutoFilterImpl autoFilter) { - if (builder == null) { - throw Exception('writer'); - } - - if (autoFilter == null) { - throw Exception('AutoFilter'); - } - builder.element('customFilters', nest: () { final bool isAnd = autoFilter.logicalOperator == ExcelLogicalOperator.and; _serializeAttributes(builder, 'and', isAnd, false); @@ -3381,14 +3756,6 @@ class SerializeWorkbook { /// Serializes custom filters. void __serializeCustomFilters(XmlBuilder builder, AutoFilterCondition autoFilterCondition, _AutoFilterImpl autoFilter) { - if (builder == null) { - throw Exception('writer'); - } - - if (autoFilterCondition == null) { - throw Exception('AutoFilterCondition'); - } - _customFilterCondition(builder, autoFilterCondition, autoFilter, 0); } @@ -3437,7 +3804,7 @@ class SerializeWorkbook { _ExcelFilterDataType.matchAllNonBlanks) { builder.attribute('operator', 'notEqual'); builder.attribute('val', 0); - } else if (autoFilterCondition.conditionOperator != null) { + } else { conditionOperator = autoFilterCondition.conditionOperator; final String operatorValue = _getAFconditionalOperatorName(conditionOperator); @@ -3488,4 +3855,18 @@ class SerializeWorkbook { } return empty; } + + ///Serialize tabcolor + void _serializeTabColor(Worksheet sheet, XmlBuilder builder) { + String worksheetTabColor = ''; + + if (sheet.tabColor.length == 7) { + worksheetTabColor = 'FF${sheet.tabColor.replaceAll('#', '')}'; + } else { + worksheetTabColor = sheet.tabColor; + } + builder.element('tabColor', nest: () { + builder.attribute('rgb', worksheetTabColor); + }); + } } diff --git a/packages/syncfusion_flutter_xlsio/lib/src/xlsio/general/workbook.dart b/packages/syncfusion_flutter_xlsio/lib/src/xlsio/general/workbook.dart index 958838153..9f83eee71 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/xlsio/general/workbook.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/xlsio/general/workbook.dart @@ -49,6 +49,18 @@ class Workbook { /// Represents the build in properties. BuiltInProperties? _builtInProperties; + ///Represents workbook named range collection. + Names? _namesColl; + + ///Represents workbook named range collection. + Names get names { + _namesColl ??= _WorkbookNamesCollection(this); + return _namesColl!; + } + + /// Represents the name collection in the workbook. + late List innerNamesCollection; + /// Represents the font collection in the workbook. late List fonts; @@ -6151,6 +6163,7 @@ class Workbook { void _initialize() { _sharedString = {}; fonts = []; + innerNamesCollection = []; borders = []; _styles = StylesCollection(this); _rawFormats = FormatsCollection(this); @@ -6186,6 +6199,50 @@ class Workbook { return bytes!; } + /// Saves workbook as CSV format. + /// ```dart + /// Workbook workbook = new Workbook(); + /// Worksheet sheet = workbook.worksheets[0]; + /// List bytes = workbook.saveAsCSV(','); + /// worksheet.getRangeByName('A1').setText('Hello world'); + /// final List bytes = workbook.saveAsCSV(','); + /// saveAsExcel(bytes, 'Output.csv'); + /// workbook.dispose(); + /// ``` + List saveAsCSV(String separator) { + final StringBuffer stringBuffer = StringBuffer(); + final Worksheet sheet = _worksheets![0]; + for (int i = sheet.getFirstRow(); i <= sheet.getLastRow(); i++) { + for (int j = sheet.getFirstColumn(); j <= sheet.getLastColumn(); j++) { + final Range range = sheet.getRangeByIndex(i, j); + final CellType valType = range.type; + String results = ''; + if (valType != CellType.blank) { + results = range.displayText; + //serializing formula + if ((valType == CellType.formula) && (results == '')) { + if (range.calculatedValue != null) { + results = range.calculatedValue.toString(); + } else { + results = range.formula.toString(); + } + } + if (results.contains(separator)) { + results = '"$results"'; + } + stringBuffer.write(results); + } + if (j != sheet.getLastColumn()) { + stringBuffer.write(separator); + } + } + stringBuffer.writeln(); + } + final String stringCSV = stringBuffer.toString(); + final List bytes = utf8.encode(stringCSV); + return bytes; + } + /// Check whether the cell style font already exists. _ExtendCompareStyle _isNewFont(CellStyle toCompareStyle) { bool result = false; @@ -6717,6 +6774,8 @@ class Workbook { fonts.clear(); + innerNamesCollection.clear(); + borders.clear(); fills.clear(); diff --git a/packages/syncfusion_flutter_xlsio/lib/src/xlsio/range/range.dart b/packages/syncfusion_flutter_xlsio/lib/src/xlsio/range/range.dart index 14d4f72c0..158af746d 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/xlsio/range/range.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/xlsio/range/range.dart @@ -798,6 +798,33 @@ class Range { return strValue; } + /// Creates freeze panes that keep the selected rows and columns visible in the range while scrolling the worksheet. + /// ```dart + /// final Workbook workbook = Workbook(); + /// final Worksheet worksheet = workbook.worksheets[0]; + /// worksheet.getRangeByName('A1:H10').text = "Freeze panes"; + /// worksheet.getRangeByName('B2').freezePanes(); + /// final List bytes = workbook.saveAsStream(); + /// saveAsExcel(bytes, 'FreezePanes.xlsx'); + /// workbook.dispose(); + /// ``` + void freezePanes() { + worksheet._isfreezePane = true; + worksheet._horizontalSplit = row - 1; + worksheet._verticalSplit = column - 1; + worksheet._topLeftCell = + worksheet.getRangeByIndex(row, column).addressLocal; + if (row > 1 && column > 1) { + worksheet._activePane = _ActivePane.bottomRight; + } else if (row > 1 && column <= 1) { + worksheet._activePane = _ActivePane.bottomLeft; + } else if (row <= 1 && column > 1) { + worksheet._activePane = _ActivePane.topRight; + } else { + worksheet._activePane = _ActivePane.topLeft; + } + } + /// Get count of the present Range int get count { int tempCount = 0; diff --git a/packages/syncfusion_flutter_xlsio/lib/src/xlsio/worksheet/worksheet.dart b/packages/syncfusion_flutter_xlsio/lib/src/xlsio/worksheet/worksheet.dart index db831b31c..bf5cd75bf 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/xlsio/worksheet/worksheet.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/xlsio/worksheet/worksheet.dart @@ -44,15 +44,42 @@ class Worksheet { ///Represents the datavalidation table _DataValidationTable? _mdataValidation; + // Represents the number of columns visible in the top pane + int _verticalSplit = 0; + + // Represents the number of rows visible in the left pane + int _horizontalSplit = 0; + + // Represents topLeftCell + String _topLeftCell = ''; + + // Represents is panes are frozen + bool _isfreezePane = false; + + // Represents active pane + late _ActivePane _activePane; + ///Represents autoFilter class AutoFilterCollection? _autoFilters; + ///Represents worksheet named range collection. + Names? _namesColl; + + ///Represents worksheet named range collection. + Names get names { + _namesColl ??= _WorksheetNamesCollection(this); + return _namesColl!; + } + /// Represents auto fit manager. _AutoFitManager get _autoFitManager { final _AutoFitManager autoFit = _AutoFitManager._withSheet(this); return autoFit; } + ///Get the page setup settings for the worksheet. Read-only. + PageSetup? _pageSetup; + ///Get a collection of tables in the worksheet. Read-only. ExcelTableCollection? _tableCollection; @@ -107,9 +134,18 @@ class Worksheet { ///Collection of all merged cells in the current worksheet. MergedCellCollection? _mergeCells; + /// Represents tab color of the sheet. + late String _tabColor; + + ///Determine whether the tab color is applied on the worksheet or not. + bool _isTapColorApplied = false; + /// Collection of all hyperlinks in the current worksheet. HyperlinkCollection? _hyperlinks; + /// Represents the visibility of worksheet. + WorksheetVisibility _visibility = WorksheetVisibility.visible; + /// Represents parent workbook. Workbook get workbook { return _book; @@ -237,6 +273,12 @@ class Worksheet { return _tableCollection!; } + /// Represents the page setup settings for the worksheet. + PageSetup get pageSetup { + _pageSetup ??= _PageSetupImpl(this); + return _pageSetup!; + } + /// Gets/Sets a Conditional Format collections in the worksheet. // ignore: library_private_types_in_public_api List<_ConditionalFormatsImpl> conditionalFormats = @@ -258,12 +300,39 @@ class Worksheet { return _rows!; } + ///Get the tab color for the worksheet. + String get tabColor { + return _tabColor; + } + + ///Set the tab color for the worksheet. + set tabColor(String value) { + _tabColor = value; + _isTapColorApplied = true; + } + // ignore: public_member_api_docs AutoFilterCollection get autoFilters { _autoFilters ??= AutoFilterCollection(this); return _autoFilters!; } + ///Get the visibility of worksheet. + WorksheetVisibility get visibility { + return _visibility; + } + + ///Set the visibility of worksheet. + set visibility(WorksheetVisibility visibilty) { + if (_book.worksheets.innerList.length <= 1 && + visibilty == WorksheetVisibility.hidden) { + throw Exception( + 'A workbook must contain at least one visible worksheet.'); + } else { + _visibility = visibilty; + } + } + /// Checks if specified cell has correct row and column index. void checkRange(int row, int column) { if (row < 1 || @@ -584,9 +653,15 @@ class Worksheet { if (value.isNotEmpty && value[0] == '=') { range.setFormula(value.substring(1)); } else { + double? doubleValue; + DateTime? dateValue; + if (value.runtimeType == double) { + doubleValue = double.tryParse(value); + } else { + dateValue = DateTime.tryParse(value); + } + final CultureInfo cultureInfo = _book._getCultureInfo(); - final double? doubleValue = double.tryParse(value); - final DateTime? dateValue = DateTime.tryParse(value); final bool bDateTime = !value.contains(cultureInfo.dateTimeFormat.dateSeparator) && dateValue != null; @@ -2160,6 +2235,24 @@ class Worksheet { return i; } + /// Removes the existing freeze panes from the worksheet. + /// ```dart + /// final Workbook workbook = Workbook(); + /// final Worksheet worksheet = workbook.worksheets[0]; + /// worksheet.getRangeByName('A1:H10').text = "Freeze panes"; + /// worksheet.getRangeByName('B2').freezePanes(); + /// worksheet.unfreezePanes(); + /// final List bytes = workbook.saveAsStream(); + /// saveAsExcel(bytes, 'UnfreezePanes.xlsx'); + /// workbook.dispose(); + /// ``` + void unfreezePanes() { + _horizontalSplit = 0; + _verticalSplit = 0; + _topLeftCell = ''; + _isfreezePane = false; + } + /// Imports collection of ExcelDataRows into a worksheet. /// ```dart /// //Create a new Excel Document. diff --git a/packages/syncfusion_flutter_xlsio/lib/src/xlsio/worksheet/worksheet_collection.dart b/packages/syncfusion_flutter_xlsio/lib/src/xlsio/worksheet/worksheet_collection.dart index c90003a99..ac79fcf21 100644 --- a/packages/syncfusion_flutter_xlsio/lib/src/xlsio/worksheet/worksheet_collection.dart +++ b/packages/syncfusion_flutter_xlsio/lib/src/xlsio/worksheet/worksheet_collection.dart @@ -113,4 +113,50 @@ class WorksheetCollection { } _worksheets.clear(); } + + /// Represents moving worksheet . + void moveTo(Worksheet sourceWorksheet, int destinationIndex) { + if (innerList.length <= 1) + throw Exception('It requires at least two sheets to change positions.'); + if (innerList.length - 1 < destinationIndex) + throw Exception( + 'destinationIndex should be in the range of worksheet count'); + if (destinationIndex < 0) + throw Exception('destinationIndex should be starts from 0'); + + if (sourceWorksheet.index - 1 != destinationIndex) { + final List tempInnerList = []; + bool isDestinationWorksheet = false; + final int sourceWorkSheetIndex = sourceWorksheet.index - 1; + if (sourceWorkSheetIndex > -1) { + for (int count = 0; count <= innerList.length - 1; count++) { + if (count == destinationIndex) { + tempInnerList.add(sourceWorksheet); + if (destinationIndex != innerList.length - 1) { + isDestinationWorksheet = true; + } + } + if (count < destinationIndex || count > destinationIndex) { + if (!tempInnerList.contains(innerList[count]) && + innerList[count] != sourceWorksheet) { + tempInnerList.add(innerList[count]); + if (innerList[count] == innerList[innerList.length - 1] && + destinationIndex - 1 == innerList.length - 1) { + tempInnerList.add(sourceWorksheet); + } + } else { + destinationIndex += 1; + } + } + if (isDestinationWorksheet) { + tempInnerList.add(innerList[destinationIndex]); + isDestinationWorksheet = false; + } + } + } + for (int count1 = 0; count1 <= tempInnerList.length - 1; count1++) { + innerList[count1] = tempInnerList[count1]; + } + } + } } diff --git a/packages/syncfusion_flutter_xlsio/lib/xlsio.dart b/packages/syncfusion_flutter_xlsio/lib/xlsio.dart index d5d7f19a8..647917904 100644 --- a/packages/syncfusion_flutter_xlsio/lib/xlsio.dart +++ b/packages/syncfusion_flutter_xlsio/lib/xlsio.dart @@ -11,7 +11,6 @@ import 'dart:ui'; import 'package:archive/archive.dart'; import 'package:crypto/crypto.dart'; // ignore: depend_on_referenced_packages -import 'package:flutter_test/flutter_test.dart'; import 'package:image/image.dart' as img; import 'package:intl/date_symbol_data_local.dart'; import 'package:intl/date_symbols.dart'; @@ -22,36 +21,7 @@ import 'package:jiffy/jiffy.dart'; import 'package:syncfusion_officecore/officecore.dart'; import 'package:xml/xml.dart'; -//testing -part 'src/test/autofilters.dart'; -part 'src/test/autofit.dart'; -part 'src/test/build_in_style.dart'; -part 'src/test/cell_style.dart'; -part 'src/test/conditional_formatting.dart'; -part 'src/test/culture.dart'; -part 'src/test/datavalidation.dart'; -part 'src/test/date_time.dart'; -part 'src/test/delete_column.dart'; -part 'src/test/delete_row.dart'; -part 'src/test/display_text.dart'; -part 'src/test/formulas.dart'; -part 'src/test/hyperlink.dart'; -part 'src/test/image.dart'; -part 'src/test/image_hyperlink.dart'; part 'src/test/images.dart'; -part 'src/test/import_data.dart'; -part 'src/test/insert_column.dart'; -part 'src/test/insert_row.dart'; -part 'src/test/merge_un_merge_cell.dart'; -part 'src/test/number.dart'; -part 'src/test/number_format.dart'; -part 'src/test/sample_browser_samples.dart'; -part 'src/test/table.dart'; -part 'src/test/text.dart'; -part 'src/test/workbook_protection.dart'; -part 'src/test/worksheet_protection.dart'; -part 'src/test/xlsio_workbook.dart'; -part 'src/test/xlsio_worksheet.dart'; part 'src/xlsio/autoFilters/auto_filter.dart'; part 'src/xlsio/autoFilters/autofilter_impl.dart'; part 'src/xlsio/autoFilters/autofiltercollection.dart'; @@ -138,9 +108,16 @@ part 'src/xlsio/hyperlinks/hyperlink.dart'; part 'src/xlsio/hyperlinks/hyperlink_collection.dart'; part 'src/xlsio/images/picture.dart'; part 'src/xlsio/images/pictures_collection.dart'; +part 'src/xlsio/named_range/names_coll.dart'; +part 'src/xlsio/named_range/worksheet_names_collections.dart'; +part 'src/xlsio/named_range/workbook_names_collections.dart'; +part 'src/xlsio/named_range/name.dart'; +part 'src/xlsio/named_range/name_impl.dart'; part 'src/xlsio/merged_cells/extend_style.dart'; part 'src/xlsio/merged_cells/merge_cells.dart'; part 'src/xlsio/merged_cells/merged_cell_collection.dart'; +part 'src/xlsio/page_setup/page_setup.dart'; +part 'src/xlsio/page_setup/page_setup_impl.dart'; part 'src/xlsio/range/column.dart'; part 'src/xlsio/range/column_collection.dart'; part 'src/xlsio/range/range.dart'; diff --git a/packages/syncfusion_flutter_xlsio/pubspec.yaml b/packages/syncfusion_flutter_xlsio/pubspec.yaml index 01aa7f5d2..db14306a8 100644 --- a/packages/syncfusion_flutter_xlsio/pubspec.yaml +++ b/packages/syncfusion_flutter_xlsio/pubspec.yaml @@ -1,10 +1,10 @@ name: syncfusion_flutter_xlsio description: Flutter XlsIO is a Dart library for creating Excel documents with formulas, charts, images, hyperlinks, autofit rows and columns, and more. -version: 20.2.36-beta.1 +version: 18.3.35-beta.1 homepage: https://github.com/syncfusion/flutter-widgets/tree/master/packages/syncfusion_flutter_xlsio environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: @@ -15,8 +15,13 @@ dependencies: intl: ">=0.17.0 <0.20.0" crypto: ">=3.0.0 <4.0.0" jiffy: ^5.0.0 - syncfusion_officecore: ^20.2.36 + syncfusion_officecore: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-officecore + path: flutter_officecore/syncfusion_flutter_officecore + branch: release/20.4.0.1 + ref: release/20.4.0.1 dev_dependencies: flutter_test: - sdk: flutter \ No newline at end of file + sdk: flutter diff --git a/packages/syncfusion_localizations/README.md b/packages/syncfusion_localizations/README.md index 8be4eb866..5e533b583 100644 --- a/packages/syncfusion_localizations/README.md +++ b/packages/syncfusion_localizations/README.md @@ -91,15 +91,12 @@ Explore the full capabilities of our Flutter widgets on your device by installin

- - + +

- -

-

@@ -113,11 +110,11 @@ Take a look at the following to learn more about Syncfusion Flutter widgets: ## Support and Feedback -* For any other queries, reach our [Syncfusion support team](https://www.syncfusion.com/support/directtrac/incidents/newincident) or post the queries through the [Community forums](https://www.syncfusion.com/forums) and submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter). +* For any other queries, reach our [Syncfusion support team](https://support.syncfusion.com/support/tickets/create) or post the queries through the [Community forums](https://www.syncfusion.com/forums) and submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter). * To renew the subscription, click [renew](https://www.syncfusion.com/sales/products) or contact our sales team at salessupport@syncfusion.com | Toll Free: 1-888-9 DOTNET. ## About Syncfusion Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 20,000 customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies. -Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), and [Blazor](https://www.syncfusion.com/blazor-components), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls) , [.NET MAUI](https://www.syncfusion.com/maui-controls) and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file +Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), [Flutter](https://www.syncfusion.com/flutter-widgets), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [.NET MAUI](https://www.syncfusion.com/maui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([Flutter](https://www.syncfusion.com/flutter-widgets), [WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls) , [.NET MAUI](https://www.syncfusion.com/maui-controls), and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file diff --git a/packages/syncfusion_localizations/example/linux/flutter/generated_plugin_registrant.cc b/packages/syncfusion_localizations/example/linux/flutter/generated_plugin_registrant.cc index d38195aa0..e71a16d23 100644 --- a/packages/syncfusion_localizations/example/linux/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_localizations/example/linux/flutter/generated_plugin_registrant.cc @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" diff --git a/packages/syncfusion_localizations/example/linux/flutter/generated_plugin_registrant.h b/packages/syncfusion_localizations/example/linux/flutter/generated_plugin_registrant.h index 9bf747894..e0f0a47bc 100644 --- a/packages/syncfusion_localizations/example/linux/flutter/generated_plugin_registrant.h +++ b/packages/syncfusion_localizations/example/linux/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/syncfusion_localizations/example/linux/flutter/generated_plugins.cmake b/packages/syncfusion_localizations/example/linux/flutter/generated_plugins.cmake index 51436ae8c..2e1de87a7 100644 --- a/packages/syncfusion_localizations/example/linux/flutter/generated_plugins.cmake +++ b/packages/syncfusion_localizations/example/linux/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_localizations/example/pubspec.yaml b/packages/syncfusion_localizations/example/pubspec.yaml index 383b1e8e9..4cfc22954 100644 --- a/packages/syncfusion_localizations/example/pubspec.yaml +++ b/packages/syncfusion_localizations/example/pubspec.yaml @@ -3,7 +3,7 @@ description: This project holds information about the usage of the syncfusion_lo version: 1.0.0 environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: diff --git a/packages/syncfusion_localizations/example/windows/flutter/generated_plugin_registrant.cc b/packages/syncfusion_localizations/example/windows/flutter/generated_plugin_registrant.cc index 9d034609d..8b6d4680a 100644 --- a/packages/syncfusion_localizations/example/windows/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_localizations/example/windows/flutter/generated_plugin_registrant.cc @@ -2,8 +2,10 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" void RegisterPlugins(flutter::PluginRegistry* registry) { -} \ No newline at end of file +} diff --git a/packages/syncfusion_localizations/example/windows/flutter/generated_plugin_registrant.h b/packages/syncfusion_localizations/example/windows/flutter/generated_plugin_registrant.h index c77ec994b..dc139d85a 100644 --- a/packages/syncfusion_localizations/example/windows/flutter/generated_plugin_registrant.h +++ b/packages/syncfusion_localizations/example/windows/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ @@ -10,4 +12,4 @@ // Registers Flutter plugins. void RegisterPlugins(flutter::PluginRegistry* registry); -#endif // GENERATED_PLUGIN_REGISTRANT_ \ No newline at end of file +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/syncfusion_localizations/example/windows/flutter/generated_plugins.cmake b/packages/syncfusion_localizations/example/windows/flutter/generated_plugins.cmake index 4d10c2518..b93c4c30c 100644 --- a/packages/syncfusion_localizations/example/windows/flutter/generated_plugins.cmake +++ b/packages/syncfusion_localizations/example/windows/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_localizations/lib/src/l10n/generated_syncfusion_localizations.dart b/packages/syncfusion_localizations/lib/src/l10n/generated_syncfusion_localizations.dart index 2d3fc5a4d..638b9533e 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/generated_syncfusion_localizations.dart +++ b/packages/syncfusion_localizations/lib/src/l10n/generated_syncfusion_localizations.dart @@ -22,6 +22,12 @@ class SfLocalizationsAf extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Na'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Na Of Gelyk'; + @override String get allDayLabel => r'Heeldag'; @@ -52,6 +58,30 @@ class SfLocalizationsAf extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Werksweek'; + @override + String get andDataGridFilteringLabel => r'En'; + + @override + String get beforeDataGridFilteringLabel => r'Voor Of Gelyk'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Voorheen'; + + @override + String get beginsWithDataGridFilteringLabel => r'Begin Met'; + + @override + String get cancelDataGridFilteringLabel => r'Kanselleer'; + + @override + String get clearFilterDataGridFilteringLabel => r'Vee filter uit'; + + @override + String get containsDataGridFilteringLabel => r'Bevat'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Datum filters'; + @override String get daySpanCountLabel => r'Dag'; @@ -61,24 +91,81 @@ class SfLocalizationsAf extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Begin nie met'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Bevat nie'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Eindig nie met'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Is Nie Gelyk nie'; + + @override + String get emptyDataGridFilteringLabel => r'Leeg'; + + @override + String get endsWithDataGridFilteringLabel => r'Eindig met'; + + @override + String get equalsDataGridFilteringLabel => r'Gelyk'; + + @override + String get fromDataGridFilteringLabel => r'Van'; + + @override + String get greaterThanDataGridFilteringLabel => r'Groter as'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Groter as of gelyk'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Minder as'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Minder as of gelyk'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'Geen gebeure nie'; + @override + String get noMatchesDataGridFilteringLabel => r'Geen wedstryde nie'; + @override String get noSelectedDateCalendarLabel => r'Geen gekose datum nie'; + @override + String get notEmptyDataGridFilteringLabel => r'Nie leeg nie'; + + @override + String get notNullDataGridFilteringLabel => r'Nie Nul nie'; + + @override + String get nullDataGridFilteringLabel => r'Nul'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Getalfilters'; + @override String get ofDataPagerLabel => r'van'; + @override + String get okDataGridFilteringLabel => r'OK'; + + @override + String get orDataGridFilteringLabel => r'Of'; + @override String get pagesDataPagerLabel => r'bladsye'; @@ -156,6 +243,12 @@ class SfLocalizationsAf extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Soek'; + + @override + String get selectAllDataGridFilteringLabel => r'Kies Alles'; + @override String get series => r'Reeks'; @@ -201,6 +294,37 @@ class SfLocalizationsAf extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Wys rye waar'; + + @override + String get sortAToZDataGridFilteringLabel => r'Sorteer A tot Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Sorteer en Filter'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Sorteer Grootste Na Kleinste'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Sorteer nuutste na oudste'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Sorteer oudste na nuutste'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Sorteer Kleinste Na Grootste'; + + @override + String get sortZToADataGridFilteringLabel => r'Sorteer Z tot A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Teks filters'; + @override String get todayLabel => r'Vandag'; @@ -217,6 +341,12 @@ class SfLocalizationsAm extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'በኋላ'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'በኋላ ወይም እኩል'; + @override String get allDayLabel => r'ሙሉ ቀን'; @@ -247,6 +377,30 @@ class SfLocalizationsAm extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'የስራ ሳምንት'; + @override + String get andDataGridFilteringLabel => r'እና'; + + @override + String get beforeDataGridFilteringLabel => r'በፊት ወይም እኩል'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'ከዚህ በፊት'; + + @override + String get beginsWithDataGridFilteringLabel => r'ጋር ይጀምራል'; + + @override + String get cancelDataGridFilteringLabel => r'ሰርዝ'; + + @override + String get clearFilterDataGridFilteringLabel => r'ማጣሪያን አጽዳ'; + + @override + String get containsDataGridFilteringLabel => r'ይዟል'; + + @override + String get dateFiltersDataGridFilteringLabel => r'የቀን ማጣሪያዎች'; + @override String get daySpanCountLabel => r'ቀን'; @@ -256,24 +410,81 @@ class SfLocalizationsAm extends SfGlobalLocalizations { @override String get dhualqiLabel => r'ዙ አል-ቂዳህ'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'በ አይጀምርም።'; + + @override + String get doesNotContainDataGridFilteringLabel => r'አልያዘም።'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'አያልቅም።'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'እኩል አይደለም'; + + @override + String get emptyDataGridFilteringLabel => r'ባዶ'; + + @override + String get endsWithDataGridFilteringLabel => r'ጋር ያበቃል'; + + @override + String get equalsDataGridFilteringLabel => r'እኩል ነው።'; + + @override + String get fromDataGridFilteringLabel => r'ከ'; + + @override + String get greaterThanDataGridFilteringLabel => r'ከዚያ ይበልጣል'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'ይበልጣል ወይም እኩል'; + @override String get jumada1Label => r'ጁማዳ አል-አወል'; @override String get jumada2Label => r'ጁማዳ አል-ታኒ'; + @override + String get lessThanDataGridFilteringLabel => r'ያነሰ'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'ያነሰ ወይም እኩል'; + @override String get muharramLabel => r'ሙሀረም'; @override String get noEventsCalendarLabel => r'ምንም ክስተቶች የሉም'; + @override + String get noMatchesDataGridFilteringLabel => r'ምንም ግጥሚያዎች የሉም'; + @override String get noSelectedDateCalendarLabel => r'የተመረጠ ቀን የለም።'; + @override + String get notEmptyDataGridFilteringLabel => r'ባዶ አይደለም'; + + @override + String get notNullDataGridFilteringLabel => r'ኑል አይደለም።'; + + @override + String get nullDataGridFilteringLabel => r'ከንቱ'; + + @override + String get numberFiltersDataGridFilteringLabel => r'የቁጥር ማጣሪያዎች'; + @override String get ofDataPagerLabel => r'የ'; + @override + String get okDataGridFilteringLabel => r'እሺ'; + + @override + String get orDataGridFilteringLabel => r'ወይም'; + @override String get pagesDataPagerLabel => r'ገጾች'; @@ -311,7 +522,7 @@ class SfLocalizationsAm extends SfGlobalLocalizations { String get pdfHyperlinkLabel => r'ድህረ ገጽ ክፈት'; @override - String get pdfInvalidPageNumberLabel => r'እባክህ የሚሰራ ቁጥር አስገባ'; + String get pdfInvalidPageNumberLabel => r'እባክዎ ትክክለኛ ቁጥር ያስገቡ'; @override String get pdfNoBookmarksLabel => r'ምንም ዕልባቶች አልተገኙም።'; @@ -349,6 +560,12 @@ class SfLocalizationsAm extends SfGlobalLocalizations { @override String get safarLabel => r'ሳፋራ'; + @override + String get searchDataGridFilteringLabel => r'ፈልግ'; + + @override + String get selectAllDataGridFilteringLabel => r'ሁሉንም ምረጥ'; + @override String get series => r'ተከታታይ'; @@ -356,7 +573,7 @@ class SfLocalizationsAm extends SfGlobalLocalizations { String get shaabanLabel => r'ሻዕባን'; @override - String get shawwalLabel => r'ሻውል'; + String get shawwalLabel => r'ሻዋል'; @override String get shortDhualhiLabel => r'ዙል-ሀ'; @@ -371,7 +588,7 @@ class SfLocalizationsAm extends SfGlobalLocalizations { String get shortJumada2Label => r'ጁም. II'; @override - String get shortMuharramLabel => r'ሙህ.'; + String get shortMuharramLabel => r'ሙህ'; @override String get shortRabi1Label => r'ራቢ. አይ'; @@ -394,6 +611,33 @@ class SfLocalizationsAm extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'ሻው'; + @override + String get showRowsWhereDataGridFilteringLabel => r'ረድፎችን የት አሳይ'; + + @override + String get sortAToZDataGridFilteringLabel => r'ከ A እስከ Z ደርድር'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'ደርድር እና አጣራ'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => r'ትልቁን ወደ ትንሹ ደርድር'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => r'አዲሱን ወደ አሮጌው ደርድር'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => r'አሮጌውን ወደ አዲሱ ደርድር'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => r'ትንሹን ወደ ትልቁ ደርድር'; + + @override + String get sortZToADataGridFilteringLabel => r'Z ወደ A ደርድር'; + + @override + String get textFiltersDataGridFilteringLabel => r'የጽሑፍ ማጣሪያዎች'; + @override String get todayLabel => r'ዛሬ'; @@ -410,6 +654,12 @@ class SfLocalizationsAr extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'بعد، بعدما'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'بعد أو يساوي'; + @override String get allDayLabel => r'طوال اليوم'; @@ -440,6 +690,30 @@ class SfLocalizationsAr extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'أسبوع العمل'; + @override + String get andDataGridFilteringLabel => r'و'; + + @override + String get beforeDataGridFilteringLabel => r'قبل أو يساوي'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'قبل'; + + @override + String get beginsWithDataGridFilteringLabel => r'يبدأ ب'; + + @override + String get cancelDataGridFilteringLabel => r'يلغي'; + + @override + String get clearFilterDataGridFilteringLabel => r'مرشح واضح'; + + @override + String get containsDataGridFilteringLabel => r'يتضمن'; + + @override + String get dateFiltersDataGridFilteringLabel => r'مرشحات التاريخ'; + @override String get daySpanCountLabel => r'يوم'; @@ -449,24 +723,81 @@ class SfLocalizationsAr extends SfGlobalLocalizations { @override String get dhualqiLabel => r'ذو القعدة'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'لا تبدأ بـ'; + + @override + String get doesNotContainDataGridFilteringLabel => r'لا يحتوي'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'لا تنتهي بـ'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'لا يساوي'; + + @override + String get emptyDataGridFilteringLabel => r'فارغة'; + + @override + String get endsWithDataGridFilteringLabel => r'ينتهي بـ'; + + @override + String get equalsDataGridFilteringLabel => r'يساوي'; + + @override + String get fromDataGridFilteringLabel => r'من'; + + @override + String get greaterThanDataGridFilteringLabel => r'أكثر من'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'أكبر من أو يساوي'; + @override String get jumada1Label => r'جمادى الاول'; @override String get jumada2Label => r'جمادى الثانية'; + @override + String get lessThanDataGridFilteringLabel => r'أقل من'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'اصغر من او يساوي'; + @override String get muharramLabel => r'شهر محرم'; @override String get noEventsCalendarLabel => r'لا أحداث'; + @override + String get noMatchesDataGridFilteringLabel => r'لا يوجد تطابق'; + @override String get noSelectedDateCalendarLabel => r'لا يوجد تاريخ محدد'; + @override + String get notEmptyDataGridFilteringLabel => r'ليس فارغًا'; + + @override + String get notNullDataGridFilteringLabel => r'غير فارغة'; + + @override + String get nullDataGridFilteringLabel => r'لا شيء'; + + @override + String get numberFiltersDataGridFilteringLabel => r'مرشحات الرقم'; + @override String get ofDataPagerLabel => r'من'; + @override + String get okDataGridFilteringLabel => r'نعم'; + + @override + String get orDataGridFilteringLabel => r'أو'; + @override String get pagesDataPagerLabel => r'الصفحات'; @@ -543,7 +874,13 @@ class SfLocalizationsAr extends SfGlobalLocalizations { String get safarLabel => r'سفر'; @override - String get series => r'مسلسل'; + String get searchDataGridFilteringLabel => r'يبحث'; + + @override + String get selectAllDataGridFilteringLabel => r'اختر الكل'; + + @override + String get series => r'سلسلة'; @override String get shaabanLabel => r'شعبان'; @@ -558,10 +895,10 @@ class SfLocalizationsAr extends SfGlobalLocalizations { String get shortDhualqiLabel => r'ذو القعدة'; @override - String get shortJumada1Label => r'جام. أنا'; + String get shortJumada1Label => r'جم. أنا'; @override - String get shortJumada2Label => r'جام. ثانيًا'; + String get shortJumada2Label => r'جم. ثانيًا'; @override String get shortMuharramLabel => r'موه.'; @@ -577,7 +914,7 @@ class SfLocalizationsAr extends SfGlobalLocalizations { @override String get shortRamadanLabel => - r'الرامات الذاكرة العشوائية في الهواتف والحواسيب.'; + r'الرامات الذاكرة العشوائية في الهواتف والحواسيب.'; @override String get shortSafarLabel => r'ساف.'; @@ -588,6 +925,37 @@ class SfLocalizationsAr extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'شو.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'إظهار الصفوف حيث'; + + @override + String get sortAToZDataGridFilteringLabel => r'فرز من الألف إلى الياء'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'الفرز والتصفية'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'الفرز من الأكبر إلى الأصغر'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'فرز من الأحدث إلى الأقدم'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'فرز من الأقدم إلى الأحدث'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'الفرز من الأصغر إلى الأكبر'; + + @override + String get sortZToADataGridFilteringLabel => r'فرز Z إلى A.'; + + @override + String get textFiltersDataGridFilteringLabel => r'مرشحات النص'; + @override String get todayLabel => r'اليوم'; @@ -604,6 +972,12 @@ class SfLocalizationsAz extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'sonra'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Sonra Və ya Bərabər'; + @override String get allDayLabel => r'Bütün gün'; @@ -635,37 +1009,118 @@ class SfLocalizationsAz extends SfGlobalLocalizations { String get allowedViewWorkWeekLabel => r'İş həftəsi'; @override - String get daySpanCountLabel => r'Gün'; + String get andDataGridFilteringLabel => r'Və'; @override - String get dhualhiLabel => r'Zilhiccə'; + String get beforeDataGridFilteringLabel => r'Əvvəl Və ya Bərabər'; @override - String get dhualqiLabel => r'Zilqidə'; + String get beforeOrEqualDataGridFilteringLabel => r'Əvvəl'; @override - String get jumada1Label => r'Cümə əl-əvvəl'; + String get beginsWithDataGridFilteringLabel => r'ilə başlayır'; @override - String get jumada2Label => r'Cümədə əl-sani'; + String get cancelDataGridFilteringLabel => r'Ləğv et'; @override - String get muharramLabel => r'Məhərrəm'; + String get clearFilterDataGridFilteringLabel => r'Filtri təmizləyin'; @override - String get noEventsCalendarLabel => r'Tədbir yoxdur'; + String get containsDataGridFilteringLabel => r'ehtiva edir'; @override - String get noSelectedDateCalendarLabel => r'Seçilmiş tarix yoxdur'; + String get dateFiltersDataGridFilteringLabel => r'Tarix Filtrləri'; @override - String get ofDataPagerLabel => r'of'; + String get daySpanCountLabel => r'Gün'; @override - String get pagesDataPagerLabel => r'səhifələr'; + String get dhualhiLabel => r'Zilhiccə'; @override - String get passwordDialogContentLabel => + String get dhualqiLabel => r'Zilqidə'; + + @override + String get doesNotBeginWithDataGridFilteringLabel => r'İlə Başlamaz'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Tərkibində Yoxdur'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'İlə Bitmir'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Bərabər Deyil'; + + @override + String get emptyDataGridFilteringLabel => r'Boş'; + + @override + String get endsWithDataGridFilteringLabel => r'ilə bitir'; + + @override + String get equalsDataGridFilteringLabel => r'Bərabərdir'; + + @override + String get fromDataGridFilteringLabel => r'From'; + + @override + String get greaterThanDataGridFilteringLabel => r'Böyük'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Böyük Və ya Bərabər'; + + @override + String get jumada1Label => r'Cümə əl-əvvəl'; + + @override + String get jumada2Label => r'Cüməda əl-sani'; + + @override + String get lessThanDataGridFilteringLabel => r'Daha az'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Az Və ya Bərabər'; + + @override + String get muharramLabel => r'Məhərrəm'; + + @override + String get noEventsCalendarLabel => r'Tədbir yoxdur'; + + @override + String get noMatchesDataGridFilteringLabel => r'Uyğunluq yoxdur'; + + @override + String get noSelectedDateCalendarLabel => r'Seçilmiş tarix yoxdur'; + + @override + String get notEmptyDataGridFilteringLabel => r'Boş deyil'; + + @override + String get notNullDataGridFilteringLabel => r'Null deyil'; + + @override + String get nullDataGridFilteringLabel => r'Sıfır'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Nömrə Filtrləri'; + + @override + String get ofDataPagerLabel => r'of'; + + @override + String get okDataGridFilteringLabel => r'tamam'; + + @override + String get orDataGridFilteringLabel => r'Və ya'; + + @override + String get pagesDataPagerLabel => r'səhifələr'; + + @override + String get passwordDialogContentLabel => r'Bu PDF faylını açmaq üçün parolu daxil edin'; @override @@ -738,6 +1193,12 @@ class SfLocalizationsAz extends SfGlobalLocalizations { @override String get safarLabel => r'Səfər'; + @override + String get searchDataGridFilteringLabel => r'Axtar'; + + @override + String get selectAllDataGridFilteringLabel => r'Hamısını seç'; + @override String get series => r'Serial'; @@ -783,6 +1244,38 @@ class SfLocalizationsAz extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Şou.'; + @override + String get showRowsWhereDataGridFilteringLabel => + r'Sətirləri harada göstərin'; + + @override + String get sortAToZDataGridFilteringLabel => r'A-dan Z-yə çeşidləyin'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Çeşidləyin və Filtr edin'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Ən böyükdən kiçiyə çeşidləyin'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Ən yenidən köhnəyə çeşidləyin'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Ən köhnədən ən yeniyə çeşidləyin'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Ən kiçikdən böyüyə çeşidləyin'; + + @override + String get sortZToADataGridFilteringLabel => r'Z-dən A sıralayın'; + + @override + String get textFiltersDataGridFilteringLabel => r'Mətn Filtrləri'; + @override String get todayLabel => r'Bu gün'; @@ -799,6 +1292,12 @@ class SfLocalizationsBe extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Пасля'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Пасля або роўна'; + @override String get allDayLabel => r'Увесь дзень'; @@ -812,23 +1311,47 @@ class SfLocalizationsBe extends SfGlobalLocalizations { String get allowedViewScheduleLabel => r'Расклад'; @override - String get allowedViewTimelineDayLabel => r'Дзень шкалы часу'; + String get allowedViewTimelineDayLabel => r'Дзень часовай шкалы'; @override - String get allowedViewTimelineMonthLabel => r'Месяц часавай шкалы'; + String get allowedViewTimelineMonthLabel => r'Храналогія Месяц'; @override - String get allowedViewTimelineWeekLabel => r'Тыдзень хронікі'; + String get allowedViewTimelineWeekLabel => r'Храналогія тыдня'; @override - String get allowedViewTimelineWorkWeekLabel => r'Тэрмін працоўнага тыдня'; + String get allowedViewTimelineWorkWeekLabel => r'Графік працоўнага тыдня'; @override - String get allowedViewWeekLabel => r'Тыдзень'; + String get allowedViewWeekLabel => r'тыдзень'; @override String get allowedViewWorkWeekLabel => r'Працоўны тыдзень'; + @override + String get andDataGridFilteringLabel => r'І'; + + @override + String get beforeDataGridFilteringLabel => r'Раней або роўна'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Раней'; + + @override + String get beginsWithDataGridFilteringLabel => r'Пачынаецца з'; + + @override + String get cancelDataGridFilteringLabel => r'Адмяніць'; + + @override + String get clearFilterDataGridFilteringLabel => r'Ачысціць фільтр'; + + @override + String get containsDataGridFilteringLabel => r'Змяшчае'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Фільтры даты'; + @override String get daySpanCountLabel => r'Дзень'; @@ -839,10 +1362,46 @@ class SfLocalizationsBe extends SfGlobalLocalizations { String get dhualqiLabel => r'Зу аль-Кіда'; @override - String get jumada1Label => r'Джумада аль-авваль'; + String get doesNotBeginWithDataGridFilteringLabel => r'Не пачынаецца з'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Не ўтрымлівае'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Не заканчваецца'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Не роўна'; + + @override + String get emptyDataGridFilteringLabel => r'Пусты'; + + @override + String get endsWithDataGridFilteringLabel => r'Заканчваецца с'; + + @override + String get equalsDataGridFilteringLabel => r'Роўнае'; + + @override + String get fromDataGridFilteringLabel => r'Ад'; + + @override + String get greaterThanDataGridFilteringLabel => r'Больш чым'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Больш або роўна'; + + @override + String get jumada1Label => r'Джумада аль-аўваль'; + + @override + String get jumada2Label => r'Джумада аль-тані'; + + @override + String get lessThanDataGridFilteringLabel => r'Менш чым'; @override - String get jumada2Label => r'Джумада аль-Тані'; + String get lessThanOrEqualDataGridFilteringLabel => r'Менш або роўна'; @override String get muharramLabel => r'Мухарам'; @@ -851,20 +1410,41 @@ class SfLocalizationsBe extends SfGlobalLocalizations { String get noEventsCalendarLabel => r'Няма падзей'; @override - String get noSelectedDateCalendarLabel => r'Няма выбранай даты'; + String get noMatchesDataGridFilteringLabel => r'Супадзенняў няма'; + + @override + String get noSelectedDateCalendarLabel => r'Дата не выбрана'; + + @override + String get notEmptyDataGridFilteringLabel => r'Не пусты'; + + @override + String get notNullDataGridFilteringLabel => r'Не Null'; + + @override + String get nullDataGridFilteringLabel => r'Нуль'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Лікавыя фільтры'; @override String get ofDataPagerLabel => r'з'; @override - String get pagesDataPagerLabel => r'старонак'; + String get okDataGridFilteringLabel => r'добра'; + + @override + String get orDataGridFilteringLabel => r'Або'; + + @override + String get pagesDataPagerLabel => r'старонкі'; @override String get passwordDialogContentLabel => r'Увядзіце пароль, каб адкрыць гэты файл PDF'; @override - String get passwordDialogHeaderTextLabel => r'Абаронены паролем'; + String get passwordDialogHeaderTextLabel => r'Абарона паролем'; @override String get passwordDialogHintTextLabel => r'Увядзіце пароль'; @@ -886,41 +1466,40 @@ class SfLocalizationsBe extends SfGlobalLocalizations { r'Вы хочаце адкрыць старонку па адрасе'; @override - String get pdfHyperlinkDialogCancelLabel => r'АДМЕНАЦЬ'; + String get pdfHyperlinkDialogCancelLabel => r'СКАСАВАЦЬ'; @override - String get pdfHyperlinkDialogOpenLabel => r'АДКРЫЦЬ'; + String get pdfHyperlinkDialogOpenLabel => r'АДКРЫТАЯ'; @override - String get pdfHyperlinkLabel => r'Адкрыйце вэб-старонку'; + String get pdfHyperlinkLabel => r'Адкрыць вэб-старонку'; @override - String get pdfInvalidPageNumberLabel => - r'Калі ласка, увядзіце сапраўдны нумар'; + String get pdfInvalidPageNumberLabel => r'Увядзіце правільны нумар'; @override - String get pdfNoBookmarksLabel => r'Закладак не знойдзена'; + String get pdfNoBookmarksLabel => r'Закладкі не знойдзены'; @override - String get pdfPaginationDialogCancelLabel => r'АДМЕНАЦЬ'; + String get pdfPaginationDialogCancelLabel => r'СКАСАВАЦЬ'; @override String get pdfPaginationDialogOkLabel => r'добра'; @override - String get pdfPasswordDialogCancelLabel => r'АДМЕНАЦЬ'; + String get pdfPasswordDialogCancelLabel => r'СКАСАВАЦЬ'; @override - String get pdfPasswordDialogOpenLabel => r'АДКРЫЦЬ'; + String get pdfPasswordDialogOpenLabel => r'АДКРЫТАЯ'; @override String get pdfScrollStatusOfLabel => r'з'; @override - String get rabi1Label => r'Рабі аль-авваль'; + String get rabi1Label => r'Рабі аль-аўваль'; @override - String get rabi2Label => r'Рабі аль-Тані'; + String get rabi2Label => r'Рабі аль-тані'; @override String get rajabLabel => r'Раджаб'; @@ -929,13 +1508,19 @@ class SfLocalizationsBe extends SfGlobalLocalizations { String get ramadanLabel => r'Рамадан'; @override - String get rowsPerPageDataPagerLabel => r'Радкі на старонцы'; + String get rowsPerPageDataPagerLabel => r'Радкоў на старонцы'; @override String get safarLabel => r'Сафар'; @override - String get series => r'Серыял'; + String get searchDataGridFilteringLabel => r'Пошук'; + + @override + String get selectAllDataGridFilteringLabel => r'Абраць усё'; + + @override + String get series => r'серыял'; @override String get shaabanLabel => r'Шаабан'; @@ -944,31 +1529,31 @@ class SfLocalizationsBe extends SfGlobalLocalizations { String get shawwalLabel => r'Шаўваль'; @override - String get shortDhualhiLabel => r'Зуль-Х'; + String get shortDhualhiLabel => r'Зу' "'" r'л-Х'; @override - String get shortDhualqiLabel => r'Dhu' "'" r'l-Q'; + String get shortDhualqiLabel => r'Зу' "'" r'л-К' "'" r'ю'; @override - String get shortJumada1Label => r'Jum. я'; + String get shortJumada1Label => r'Джам. я'; @override - String get shortJumada2Label => r'Jum. II'; + String get shortJumada2Label => r'Джам. II'; @override - String get shortMuharramLabel => r'Мух.'; + String get shortMuharramLabel => r'мух'; @override - String get shortRabi1Label => r'Рабі. я'; + String get shortRabi1Label => r'Рабіна. я'; @override - String get shortRabi2Label => r'Рабі. II'; + String get shortRabi2Label => r'Рабіна. II'; @override String get shortRajabLabel => r'Радж.'; @override - String get shortRamadanLabel => r'Баран.'; + String get shortRamadanLabel => r'Таран.'; @override String get shortSafarLabel => r'Саф.'; @@ -977,13 +1562,44 @@ class SfLocalizationsBe extends SfGlobalLocalizations { String get shortShaabanLabel => r'Ша.'; @override - String get shortShawwalLabel => r'Шо.'; + String get shortShawwalLabel => r'Шоу.'; + + @override + String get showRowsWhereDataGridFilteringLabel => r'Паказаць радкі, дзе'; + + @override + String get sortAToZDataGridFilteringLabel => r'Сартаванне ад А да Я'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Сартаваць і фільтраваць'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Сартаваць ад самага вялікага да меншага'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Сартаваць ад найноўшых да самых старых'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Сартаваць ад старых да новых'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Сартаванне ад найменшага да самага вялікага'; + + @override + String get sortZToADataGridFilteringLabel => r'Сартаваць ад Я да А'; + + @override + String get textFiltersDataGridFilteringLabel => r'Тэкставыя фільтры'; @override - String get todayLabel => r'Сёння'; + String get todayLabel => r'сёння'; @override - String get weeknumberLabel => r'Тыдзень'; + String get weeknumberLabel => r'тыдзень'; } /// The translations for Bulgarian (`bg`). @@ -995,6 +1611,12 @@ class SfLocalizationsBg extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'След'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'След Или Равно'; + @override String get allDayLabel => r'Цял ден'; @@ -1011,13 +1633,14 @@ class SfLocalizationsBg extends SfGlobalLocalizations { String get allowedViewTimelineDayLabel => r'Ден на хронологията'; @override - String get allowedViewTimelineMonthLabel => r'Месец на хронологията'; + String get allowedViewTimelineMonthLabel => r'Времева линия Месец'; @override String get allowedViewTimelineWeekLabel => r'Седмица на хронологията'; @override - String get allowedViewTimelineWorkWeekLabel => r'График на работната седмица'; + String get allowedViewTimelineWorkWeekLabel => + r'Времева линия Работна седмица'; @override String get allowedViewWeekLabel => r'седмица'; @@ -1025,6 +1648,30 @@ class SfLocalizationsBg extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Работна седмица'; + @override + String get andDataGridFilteringLabel => r'И'; + + @override + String get beforeDataGridFilteringLabel => r'Преди или Равно'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Преди'; + + @override + String get beginsWithDataGridFilteringLabel => r'Започва с'; + + @override + String get cancelDataGridFilteringLabel => r'Отказ'; + + @override + String get clearFilterDataGridFilteringLabel => r'Изчистване на филтъра'; + + @override + String get containsDataGridFilteringLabel => r'Съдържа'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Филтри за дата'; + @override String get daySpanCountLabel => r'ден'; @@ -1032,26 +1679,84 @@ class SfLocalizationsBg extends SfGlobalLocalizations { String get dhualhiLabel => r'Зу ал-Хиджа'; @override - String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + String get dhualqiLabel => r'Зу ал-Кида'; + + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Не започва с'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Не съдържа'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Не завършва с'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Не е равно'; + + @override + String get emptyDataGridFilteringLabel => r'празна'; + + @override + String get endsWithDataGridFilteringLabel => r'Завършва със'; + + @override + String get equalsDataGridFilteringLabel => r'Се равнява'; + + @override + String get fromDataGridFilteringLabel => r'от'; + + @override + String get greaterThanDataGridFilteringLabel => r'По-голяма от'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'По-голямо от или равно'; @override String get jumada1Label => r'Джумада ал-аввал'; @override - String get jumada2Label => r'Джумада ал-Тани'; + String get jumada2Label => r'Джумада ал-тани'; @override - String get muharramLabel => r'Мухарам'; + String get lessThanDataGridFilteringLabel => r'По-малко от'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'По-малко или равно'; + + @override + String get muharramLabel => r'Мухаррам'; @override String get noEventsCalendarLabel => r'Няма събития'; + @override + String get noMatchesDataGridFilteringLabel => r'Няма съвпадения'; + @override String get noSelectedDateCalendarLabel => r'Няма избрана дата'; + @override + String get notEmptyDataGridFilteringLabel => r'Не е празно'; + + @override + String get notNullDataGridFilteringLabel => r'Не е нула'; + + @override + String get nullDataGridFilteringLabel => r'Нула'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Числови филтри'; + @override String get ofDataPagerLabel => r'на'; + @override + String get okDataGridFilteringLabel => r'Добре'; + + @override + String get orDataGridFilteringLabel => r'Или'; + @override String get pagesDataPagerLabel => r'страници'; @@ -1081,13 +1786,13 @@ class SfLocalizationsBg extends SfGlobalLocalizations { String get pdfHyperlinkContentLabel => r'Искате ли да отворите страницата на'; @override - String get pdfHyperlinkDialogCancelLabel => r'ОТМЕНИ'; + String get pdfHyperlinkDialogCancelLabel => r'ОТМЕНЯНЕ'; @override String get pdfHyperlinkDialogOpenLabel => r'ОТВОРЕНО'; @override - String get pdfHyperlinkLabel => r'Отворете уеб страница'; + String get pdfHyperlinkLabel => r'Отворете уеб страницата'; @override String get pdfInvalidPageNumberLabel => r'Моля въведете валиден номер'; @@ -1096,13 +1801,13 @@ class SfLocalizationsBg extends SfGlobalLocalizations { String get pdfNoBookmarksLabel => r'Няма намерени отметки'; @override - String get pdfPaginationDialogCancelLabel => r'ОТМЕНИ'; + String get pdfPaginationDialogCancelLabel => r'ОТМЕНЯНЕ'; @override String get pdfPaginationDialogOkLabel => r'Добре'; @override - String get pdfPasswordDialogCancelLabel => r'ОТМЕНИ'; + String get pdfPasswordDialogCancelLabel => r'ОТМЕНЯНЕ'; @override String get pdfPasswordDialogOpenLabel => r'ОТВОРЕНО'; @@ -1114,7 +1819,7 @@ class SfLocalizationsBg extends SfGlobalLocalizations { String get rabi1Label => r'Раби ал-аввал'; @override - String get rabi2Label => r'Раби ал-Тани'; + String get rabi2Label => r'Раби ал-тани'; @override String get rajabLabel => r'Раджаб'; @@ -1128,6 +1833,12 @@ class SfLocalizationsBg extends SfGlobalLocalizations { @override String get safarLabel => r'Сафар'; + @override + String get searchDataGridFilteringLabel => r'Търсене'; + + @override + String get selectAllDataGridFilteringLabel => r'Избери всички'; + @override String get series => r'Серия'; @@ -1135,22 +1846,22 @@ class SfLocalizationsBg extends SfGlobalLocalizations { String get shaabanLabel => r'Шаабан'; @override - String get shawwalLabel => r'Shawwal'; + String get shawwalLabel => r'Шавал'; @override - String get shortDhualhiLabel => r'Dhu' "'" r'l-H'; + String get shortDhualhiLabel => r'Зул-Х'; @override - String get shortDhualqiLabel => r'Dhu' "'" r'l-Q'; + String get shortDhualqiLabel => r'Зул-Кю'; @override - String get shortJumada1Label => r'Jum. аз'; + String get shortJumada1Label => r'Джъм. аз'; @override - String get shortJumada2Label => r'Jum. II'; + String get shortJumada2Label => r'Джъм. II'; @override - String get shortMuharramLabel => r'Мъх'; + String get shortMuharramLabel => r'Мъх.'; @override String get shortRabi1Label => r'Раби. аз'; @@ -1162,22 +1873,53 @@ class SfLocalizationsBg extends SfGlobalLocalizations { String get shortRajabLabel => r'Радж.'; @override - String get shortRamadanLabel => r'Рам.'; + String get shortRamadanLabel => r'Рам'; @override - String get shortSafarLabel => r'Saf.'; + String get shortSafarLabel => r'Саф.'; @override - String get shortShaabanLabel => r'Ша'; + String get shortShaabanLabel => r'Ша.'; @override String get shortShawwalLabel => r'Шоу.'; @override - String get todayLabel => r'днес'; + String get showRowsWhereDataGridFilteringLabel => r'Покажи редове къде'; @override - String get weeknumberLabel => r'седмица'; + String get sortAToZDataGridFilteringLabel => r'Сортиране от А до Я'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Сортиране и филтриране'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Сортиране от най-големия към най-малкия'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Сортиране от най-новите към най-старите'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Сортиране от най-старите към най-новите'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Сортиране от най-малкото към най-голямото'; + + @override + String get sortZToADataGridFilteringLabel => r'Сортиране от Я до А'; + + @override + String get textFiltersDataGridFilteringLabel => r'Текстови филтри'; + + @override + String get todayLabel => r'Днес'; + + @override + String get weeknumberLabel => r'седмица'; } /// The translations for Bengali Bangla (`bn`). @@ -1189,6 +1931,12 @@ class SfLocalizationsBn extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'পরে'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'পরে বা সমান'; + @override String get allDayLabel => r'সারাদিন'; @@ -1219,6 +1967,30 @@ class SfLocalizationsBn extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'কর্ম সপ্তাহ'; + @override + String get andDataGridFilteringLabel => r'এবং'; + + @override + String get beforeDataGridFilteringLabel => r'আগে বা সমান'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'আগে'; + + @override + String get beginsWithDataGridFilteringLabel => r'সঙ্গে শুরু'; + + @override + String get cancelDataGridFilteringLabel => r'বাতিল করুন'; + + @override + String get clearFilterDataGridFilteringLabel => r'স্বচ্ছ ছাকুনী'; + + @override + String get containsDataGridFilteringLabel => r'ধারণ করে'; + + @override + String get dateFiltersDataGridFilteringLabel => r'তারিখ ফিল্টার'; + @override String get daySpanCountLabel => r'দিন'; @@ -1228,6 +2000,36 @@ class SfLocalizationsBn extends SfGlobalLocalizations { @override String get dhualqiLabel => r'যুল-কিদাহ'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'দিয়ে শুরু হয় না'; + + @override + String get doesNotContainDataGridFilteringLabel => r'থাকে না'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'দিয়ে শেষ হয় না'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'সমান না'; + + @override + String get emptyDataGridFilteringLabel => r'খালি'; + + @override + String get endsWithDataGridFilteringLabel => r'দিয়ে শেষ হয়'; + + @override + String get equalsDataGridFilteringLabel => r'সমান'; + + @override + String get fromDataGridFilteringLabel => r'থেকে'; + + @override + String get greaterThanDataGridFilteringLabel => r'অপেক্ষা বৃহত্তর'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'বৃহত্তর অথবা সমান'; + @override String get jumada1Label => r'জুমাদা আল আউয়াল'; @@ -1235,23 +2037,50 @@ class SfLocalizationsBn extends SfGlobalLocalizations { String get jumada2Label => r'জুমাদা আল-থানি'; @override - String get muharramLabel => r'মহররম'; + String get lessThanDataGridFilteringLabel => r'এর চেয়ে কম'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'কম বা সমান'; + + @override + String get muharramLabel => r'মহরম'; @override String get noEventsCalendarLabel => r'কোনো ঘটনা নেই'; + @override + String get noMatchesDataGridFilteringLabel => r'মিল নেই'; + @override String get noSelectedDateCalendarLabel => r'কোনো নির্বাচিত তারিখ নেই'; + @override + String get notEmptyDataGridFilteringLabel => r'খালি না'; + + @override + String get notNullDataGridFilteringLabel => r'নাল না'; + + @override + String get nullDataGridFilteringLabel => r'শূন্য'; + + @override + String get numberFiltersDataGridFilteringLabel => r'নম্বর ফিল্টার'; + @override String get ofDataPagerLabel => r'এর'; + @override + String get okDataGridFilteringLabel => r'ঠিক আছে'; + + @override + String get orDataGridFilteringLabel => r'বা'; + @override String get pagesDataPagerLabel => r'পৃষ্ঠাগুলি'; @override String get passwordDialogContentLabel => - r'এই PDF ফাইল খুলতে পাসওয়ার্ড লিখুন'; + r'এই পিডিএফ ফাইল খুলতে পাসওয়ার্ড লিখুন'; @override String get passwordDialogHeaderTextLabel => r'পাসওয়ার্ড সুরক্ষিত'; @@ -1322,6 +2151,12 @@ class SfLocalizationsBn extends SfGlobalLocalizations { @override String get safarLabel => r'সাফার'; + @override + String get searchDataGridFilteringLabel => r'অনুসন্ধান করুন'; + + @override + String get selectAllDataGridFilteringLabel => r'সব নির্বাচন করুন'; + @override String get series => r'সিরিজ'; @@ -1367,6 +2202,37 @@ class SfLocalizationsBn extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'শ.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'যেখানে সারি দেখান'; + + @override + String get sortAToZDataGridFilteringLabel => r'A থেকে Z সাজান'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'বাছাই এবং ফিল্টার'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'সবচেয়ে বড় থেকে ছোট সাজান'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'নতুন থেকে পুরাতন সাজান'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'পুরাতন থেকে নতুন বাছাই করুন'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'সবচেয়ে ছোট থেকে বড় সাজান'; + + @override + String get sortZToADataGridFilteringLabel => r'Z থেকে A সাজান'; + + @override + String get textFiltersDataGridFilteringLabel => r'টেক্সট ফিল্টার'; + @override String get todayLabel => r'আজ'; @@ -1383,6 +2249,12 @@ class SfLocalizationsBs extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Poslije'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Nakon ili jednako'; + @override String get allDayLabel => r'Cijeli dan'; @@ -1396,7 +2268,7 @@ class SfLocalizationsBs extends SfGlobalLocalizations { String get allowedViewScheduleLabel => r'Raspored'; @override - String get allowedViewTimelineDayLabel => r'Timeline Day'; + String get allowedViewTimelineDayLabel => r'Dan vremenske linije'; @override String get allowedViewTimelineMonthLabel => r'Timeline Month'; @@ -1414,6 +2286,30 @@ class SfLocalizationsBs extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Radna sedmica'; + @override + String get andDataGridFilteringLabel => r'I'; + + @override + String get beforeDataGridFilteringLabel => r'Prije ili jednako'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Prije'; + + @override + String get beginsWithDataGridFilteringLabel => r'Počinje sa'; + + @override + String get cancelDataGridFilteringLabel => r'Otkaži'; + + @override + String get clearFilterDataGridFilteringLabel => r'Obriši filter'; + + @override + String get containsDataGridFilteringLabel => r'Sadrži'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Filteri datuma'; + @override String get daySpanCountLabel => r'Dan'; @@ -1423,24 +2319,81 @@ class SfLocalizationsBs extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Ne počinje sa'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Ne sadrži'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Ne završava sa'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Nije jednako'; + + @override + String get emptyDataGridFilteringLabel => r'Prazan'; + + @override + String get endsWithDataGridFilteringLabel => r'Završava sa'; + + @override + String get equalsDataGridFilteringLabel => r'Jednako'; + + @override + String get fromDataGridFilteringLabel => r'Od'; + + @override + String get greaterThanDataGridFilteringLabel => r'Veci nego'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Veće ili jednako'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Manje od'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Manje od ili jednako'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'Nema događaja'; + @override + String get noMatchesDataGridFilteringLabel => r'Nema poklapanja'; + @override String get noSelectedDateCalendarLabel => r'Nema odabranog datuma'; + @override + String get notEmptyDataGridFilteringLabel => r'Not Empty'; + + @override + String get notNullDataGridFilteringLabel => r'Ne Null'; + + @override + String get nullDataGridFilteringLabel => r'Null'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Brojčani filteri'; + @override String get ofDataPagerLabel => r'of'; + @override + String get okDataGridFilteringLabel => r'uredu'; + + @override + String get orDataGridFilteringLabel => r'Or'; + @override String get pagesDataPagerLabel => r'stranice'; @@ -1518,6 +2471,12 @@ class SfLocalizationsBs extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Traži'; + + @override + String get selectAllDataGridFilteringLabel => r'Označi sve'; + @override String get series => r'Serije'; @@ -1563,6 +2522,37 @@ class SfLocalizationsBs extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Pokaži redove gdje'; + + @override + String get sortAToZDataGridFilteringLabel => r'Sortiraj od A do Ž'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Sortiraj i filtriraj'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Sortiraj od najvećeg do najmanjeg'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Sortiraj od najnovijeg do najstarijeg'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Sortiraj od najstarijih do najnovijih'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Sortiraj od najmanjeg do najvećeg'; + + @override + String get sortZToADataGridFilteringLabel => r'Sortiraj od Z do A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Filteri teksta'; + @override String get todayLabel => r'Danas'; @@ -1579,6 +2569,12 @@ class SfLocalizationsCa extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Després'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Després o igual'; + @override String get allDayLabel => r'Tot el dia'; @@ -1610,6 +2606,30 @@ class SfLocalizationsCa extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Setmana Laboral'; + @override + String get andDataGridFilteringLabel => r'I'; + + @override + String get beforeDataGridFilteringLabel => r'Abans o igual'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Abans'; + + @override + String get beginsWithDataGridFilteringLabel => r'Comença amb'; + + @override + String get cancelDataGridFilteringLabel => r'Cancel · lar'; + + @override + String get clearFilterDataGridFilteringLabel => r'Esborra el filtre'; + + @override + String get containsDataGridFilteringLabel => r'Conté'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Filtres de data'; + @override String get daySpanCountLabel => r'Dia'; @@ -1619,24 +2639,81 @@ class SfLocalizationsCa extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'No comença amb'; + + @override + String get doesNotContainDataGridFilteringLabel => r'No Conté'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'No Acaba Amb'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'No és igual'; + + @override + String get emptyDataGridFilteringLabel => r'Buit'; + + @override + String get endsWithDataGridFilteringLabel => r'Acaba amb'; + + @override + String get equalsDataGridFilteringLabel => r'És igual'; + + @override + String get fromDataGridFilteringLabel => r'Des de'; + + @override + String get greaterThanDataGridFilteringLabel => r'Més gran que'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Major que o igual'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Menys que'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Menys que o igual'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'No hi ha esdeveniments'; + @override + String get noMatchesDataGridFilteringLabel => r'Sense coincidències'; + @override String get noSelectedDateCalendarLabel => r'Cap data seleccionada'; + @override + String get notEmptyDataGridFilteringLabel => r'No buit'; + + @override + String get notNullDataGridFilteringLabel => r'No nul'; + + @override + String get nullDataGridFilteringLabel => r'Nul'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Filtres de nombre'; + @override String get ofDataPagerLabel => r'de'; + @override + String get okDataGridFilteringLabel => r'D' "'" r'acord'; + + @override + String get orDataGridFilteringLabel => r'O'; + @override String get pagesDataPagerLabel => r'pàgines'; @@ -1714,6 +2791,12 @@ class SfLocalizationsCa extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Cerca'; + + @override + String get selectAllDataGridFilteringLabel => r'Seleccionar tot'; + @override String get series => r'Sèrie'; @@ -1760,26 +2843,63 @@ class SfLocalizationsCa extends SfGlobalLocalizations { String get shortShawwalLabel => r'Shaw.'; @override - String get todayLabel => r'Avui'; + String get showRowsWhereDataGridFilteringLabel => r'Mostra les files on'; @override - String get weeknumberLabel => r'Setmana'; -} + String get sortAToZDataGridFilteringLabel => r'Ordena de la A a la Z'; -/// The translations for Czech (`cs`). -class SfLocalizationsCs extends SfGlobalLocalizations { - /// Creating an argument constructor of SfLocalizationsCs class - const SfLocalizationsCs({ - String localeName = 'cs', - }) : super( - localeName: localeName, - ); + @override + String get sortAndFilterDataGridFilteringLabel => r'Ordena i filtra'; @override - String get allDayLabel => r'Celý den'; + String get sortLargestToSmallestDataGridFilteringLabel => + r'Ordena del més gran al més petit'; @override - String get allowedViewDayLabel => r'Den'; + String get sortNewestToOldestDataGridFilteringLabel => + r'Ordena el més nou al més antic'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Ordena del més antic al més recent'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Ordena del més petit al més gran'; + + @override + String get sortZToADataGridFilteringLabel => r'Ordena de Z a A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Filtres de text'; + + @override + String get todayLabel => r'Avui'; + + @override + String get weeknumberLabel => r'Setmana'; +} + +/// The translations for Czech (`cs`). +class SfLocalizationsCs extends SfGlobalLocalizations { + /// Creating an argument constructor of SfLocalizationsCs class + const SfLocalizationsCs({ + String localeName = 'cs', + }) : super( + localeName: localeName, + ); + + @override + String get afterDataGridFilteringLabel => r'Po'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Po nebo rovno'; + + @override + String get allDayLabel => r'Celý den'; + + @override + String get allowedViewDayLabel => r'Den'; @override String get allowedViewMonthLabel => r'Měsíc'; @@ -1805,6 +2925,30 @@ class SfLocalizationsCs extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Pracovní týden'; + @override + String get andDataGridFilteringLabel => r'A'; + + @override + String get beforeDataGridFilteringLabel => r'Před nebo rovno'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Před'; + + @override + String get beginsWithDataGridFilteringLabel => r'Začíná s'; + + @override + String get cancelDataGridFilteringLabel => r'zrušení'; + + @override + String get clearFilterDataGridFilteringLabel => r'Vymazat filtr'; + + @override + String get containsDataGridFilteringLabel => r'Obsahuje'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Datumové filtry'; + @override String get daySpanCountLabel => r'Den'; @@ -1814,24 +2958,82 @@ class SfLocalizationsCs extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Nezačíná s'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Neobsahuje'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Nekončí s'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Nerovná se'; + + @override + String get emptyDataGridFilteringLabel => r'Prázdný'; + + @override + String get endsWithDataGridFilteringLabel => r'Končí s'; + + @override + String get equalsDataGridFilteringLabel => r'Rovná se'; + + @override + String get fromDataGridFilteringLabel => r'Z'; + + @override + String get greaterThanDataGridFilteringLabel => r'Větší než'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'Větší než nebo rovno'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Méně než'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Méně než nebo rovno'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'Žádné události'; + @override + String get noMatchesDataGridFilteringLabel => r'Žádné shody'; + @override String get noSelectedDateCalendarLabel => r'Žádné vybrané datum'; + @override + String get notEmptyDataGridFilteringLabel => r'Není prázdný'; + + @override + String get notNullDataGridFilteringLabel => r'Nenulový'; + + @override + String get nullDataGridFilteringLabel => r'Nula'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Filtry čísel'; + @override String get ofDataPagerLabel => r'z'; + @override + String get okDataGridFilteringLabel => r'OK'; + + @override + String get orDataGridFilteringLabel => r'Nebo'; + @override String get pagesDataPagerLabel => r'stránky'; @@ -1908,6 +3110,12 @@ class SfLocalizationsCs extends SfGlobalLocalizations { @override String get safarLabel => r'Šafář'; + @override + String get searchDataGridFilteringLabel => r'Vyhledávání'; + + @override + String get selectAllDataGridFilteringLabel => r'Vybrat vše'; + @override String get series => r'Série'; @@ -1953,6 +3161,37 @@ class SfLocalizationsCs extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Zobrazit řádky kde'; + + @override + String get sortAToZDataGridFilteringLabel => r'Seřadit od A do Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Řadit a filtrovat'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Seřadit od největšího po nejmenší'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Řadit od nejnovějšího k nejstaršímu'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Seřadit od nejstarších po nejnovější'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Seřadit od nejmenšího po největší'; + + @override + String get sortZToADataGridFilteringLabel => r'Seřadit od Z do A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Textové filtry'; + @override String get todayLabel => r'Dnes'; @@ -1969,6 +3208,12 @@ class SfLocalizationsDa extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Efter'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Efter Eller Lige'; + @override String get allDayLabel => r'Hele dagen'; @@ -1991,7 +3236,7 @@ class SfLocalizationsDa extends SfGlobalLocalizations { String get allowedViewTimelineWeekLabel => r'Tidslinje uge'; @override - String get allowedViewTimelineWorkWeekLabel => r'Tidslinje Arbejdsuge'; + String get allowedViewTimelineWorkWeekLabel => r'Tidslinje arbejdsuge'; @override String get allowedViewWeekLabel => r'Uge'; @@ -1999,6 +3244,30 @@ class SfLocalizationsDa extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Arbejdsuge'; + @override + String get andDataGridFilteringLabel => r'Og'; + + @override + String get beforeDataGridFilteringLabel => r'Før Eller Lige'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Før'; + + @override + String get beginsWithDataGridFilteringLabel => r'Starter med'; + + @override + String get cancelDataGridFilteringLabel => r'Afbestille'; + + @override + String get clearFilterDataGridFilteringLabel => r'Ryd filter'; + + @override + String get containsDataGridFilteringLabel => r'Indeholder'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Dato filtre'; + @override String get daySpanCountLabel => r'Dag'; @@ -2008,24 +3277,82 @@ class SfLocalizationsDa extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Begynder ikke med'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Indeholder ikke'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Slutter ikke med'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Er ikke ens'; + + @override + String get emptyDataGridFilteringLabel => r'Tom'; + + @override + String get endsWithDataGridFilteringLabel => r'Ender med'; + + @override + String get equalsDataGridFilteringLabel => r'Lige med'; + + @override + String get fromDataGridFilteringLabel => r'Fra'; + + @override + String get greaterThanDataGridFilteringLabel => r'Bedre end'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'Større end eller lige'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Mindre end'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Mindre end eller lige'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'Ingen begivenheder'; + @override + String get noMatchesDataGridFilteringLabel => r'Ingen kampe'; + @override String get noSelectedDateCalendarLabel => r'Ingen valgt dato'; + @override + String get notEmptyDataGridFilteringLabel => r'Ikke tom'; + + @override + String get notNullDataGridFilteringLabel => r'Ikke Nul'; + + @override + String get nullDataGridFilteringLabel => r'Nul'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Nummerfiltre'; + @override String get ofDataPagerLabel => r'af'; + @override + String get okDataGridFilteringLabel => r'Okay'; + + @override + String get orDataGridFilteringLabel => r'Eller'; + @override String get pagesDataPagerLabel => r'sider'; @@ -2102,6 +3429,12 @@ class SfLocalizationsDa extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Søg'; + + @override + String get selectAllDataGridFilteringLabel => r'Vælg alle'; + @override String get series => r'Serie'; @@ -2147,6 +3480,37 @@ class SfLocalizationsDa extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Vis rækker hvor'; + + @override + String get sortAToZDataGridFilteringLabel => r'Sorter fra A til Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Sorter og filtrer'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Sorter Størst Til Mindst'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Sorter nyeste til ældste'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Sorter ældst til nyeste'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Sorter mindst til størst'; + + @override + String get sortZToADataGridFilteringLabel => r'Sorter Z til A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Tekstfiltre'; + @override String get todayLabel => r'I dag'; @@ -2163,6 +3527,12 @@ class SfLocalizationsDe extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Nach'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Nach oder gleich'; + @override String get allDayLabel => r'Den ganzen Tag'; @@ -2173,19 +3543,19 @@ class SfLocalizationsDe extends SfGlobalLocalizations { String get allowedViewMonthLabel => r'Monat'; @override - String get allowedViewScheduleLabel => r'Zeitplan'; + String get allowedViewScheduleLabel => r'Zeitlicher Ablauf'; @override - String get allowedViewTimelineDayLabel => r'Zeitleiste Tag'; + String get allowedViewTimelineDayLabel => r'Timeline-Tag'; @override - String get allowedViewTimelineMonthLabel => r'Zeitachse Monat'; + String get allowedViewTimelineMonthLabel => r'Timeline-Monat'; @override - String get allowedViewTimelineWeekLabel => r'Zeitleiste Woche'; + String get allowedViewTimelineWeekLabel => r'Timeline-Woche'; @override - String get allowedViewTimelineWorkWeekLabel => r'Zeitleiste Arbeitswoche'; + String get allowedViewTimelineWorkWeekLabel => r'Zeitplan Arbeitswoche'; @override String get allowedViewWeekLabel => r'Woche'; @@ -2193,6 +3563,30 @@ class SfLocalizationsDe extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Arbeitswoche'; + @override + String get andDataGridFilteringLabel => r'Und'; + + @override + String get beforeDataGridFilteringLabel => r'Vor oder gleich'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Vor'; + + @override + String get beginsWithDataGridFilteringLabel => r'Beginnt mit'; + + @override + String get cancelDataGridFilteringLabel => r'Absagen'; + + @override + String get clearFilterDataGridFilteringLabel => r'Filter löschen'; + + @override + String get containsDataGridFilteringLabel => r'Enthält'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Datumsfilter'; + @override String get daySpanCountLabel => r'Tag'; @@ -2202,24 +3596,83 @@ class SfLocalizationsDe extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qidah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Beginnt nicht mit'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Beinhaltet nicht'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Endet nicht mit'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Ist nicht gleich'; + + @override + String get emptyDataGridFilteringLabel => r'Leer'; + + @override + String get endsWithDataGridFilteringLabel => r'Endet mit'; + + @override + String get equalsDataGridFilteringLabel => r'Gleich'; + + @override + String get fromDataGridFilteringLabel => r'Aus'; + + @override + String get greaterThanDataGridFilteringLabel => r'Größer als'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'Größer als oder gleich'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Weniger als'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => + r'Weniger als oder gleich'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'Keine Ereignisse'; + @override + String get noMatchesDataGridFilteringLabel => r'Keine Treffer'; + @override String get noSelectedDateCalendarLabel => r'Kein ausgewähltes Datum'; + @override + String get notEmptyDataGridFilteringLabel => r'Nicht leer'; + + @override + String get notNullDataGridFilteringLabel => r'Nicht null'; + + @override + String get nullDataGridFilteringLabel => r'Null'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Zahlenfilter'; + @override String get ofDataPagerLabel => r'von'; + @override + String get okDataGridFilteringLabel => r'OK'; + + @override + String get orDataGridFilteringLabel => r'Oder'; + @override String get pagesDataPagerLabel => r'Seiten'; @@ -2297,11 +3750,17 @@ class SfLocalizationsDe extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Suche'; + + @override + String get selectAllDataGridFilteringLabel => r'Wählen Sie Alle'; + @override String get series => r'Serie'; @override - String get shaabanLabel => r'Schaaban'; + String get shaabanLabel => r'Shaaban'; @override String get shawwalLabel => r'Shawwal'; @@ -2343,13 +3802,44 @@ class SfLocalizationsDe extends SfGlobalLocalizations { String get shortShawwalLabel => r'Schau.'; @override - String get todayLabel => r'Heute'; + String get showRowsWhereDataGridFilteringLabel => r'Zeig Zeilen wo'; @override - String get weeknumberLabel => r'Woche'; -} + String get sortAToZDataGridFilteringLabel => r'A bis Z sortieren'; -/// The translations for Modern Greek (`el`). + @override + String get sortAndFilterDataGridFilteringLabel => r'Sortieren und filtern'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Vom Größten zum Kleinsten sortieren'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Vom Neusten zum Ältesten sortieren'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Vom Ältesten zum Neuesten sortieren'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Vom Kleinsten zum Größten sortieren'; + + @override + String get sortZToADataGridFilteringLabel => r'Z bis A sortieren'; + + @override + String get textFiltersDataGridFilteringLabel => r'Textfilter'; + + @override + String get todayLabel => r'Heute'; + + @override + String get weeknumberLabel => r'Woche'; +} + +/// The translations for Modern Greek (`el`). class SfLocalizationsEl extends SfGlobalLocalizations { /// Creating an argument constructor of SfLocalizationsEl class const SfLocalizationsEl({ @@ -2358,6 +3848,12 @@ class SfLocalizationsEl extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Μετά'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Μετά Ή Ίσα'; + @override String get allDayLabel => r'Ολη μέρα'; @@ -2377,7 +3873,7 @@ class SfLocalizationsEl extends SfGlobalLocalizations { String get allowedViewTimelineMonthLabel => r'Χρονολόγιο Μήνας'; @override - String get allowedViewTimelineWeekLabel => r'Εβδομάδα Χρονολογίου'; + String get allowedViewTimelineWeekLabel => r'Χρονολόγιο Εβδομάδα'; @override String get allowedViewTimelineWorkWeekLabel => @@ -2389,6 +3885,30 @@ class SfLocalizationsEl extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Εβδομάδα εργασίας'; + @override + String get andDataGridFilteringLabel => r'Και'; + + @override + String get beforeDataGridFilteringLabel => r'Πριν ή ίσο'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Πριν'; + + @override + String get beginsWithDataGridFilteringLabel => r'Ξεκινάει με'; + + @override + String get cancelDataGridFilteringLabel => r'Ματαίωση'; + + @override + String get clearFilterDataGridFilteringLabel => r'Διαγραφή φίλτρου'; + + @override + String get containsDataGridFilteringLabel => r'Περιέχει'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Φίλτρα ημερομηνίας'; + @override String get daySpanCountLabel => r'Ημέρα'; @@ -2398,12 +3918,49 @@ class SfLocalizationsEl extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Δεν ξεκινά με'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Δεν περιέχει'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Δεν τελειώνει με'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Δεν ισούται'; + + @override + String get emptyDataGridFilteringLabel => r'Αδειάζω'; + + @override + String get endsWithDataGridFilteringLabel => r'Τελειώνει με'; + + @override + String get equalsDataGridFilteringLabel => r'Ίσο'; + + @override + String get fromDataGridFilteringLabel => r'Από'; + + @override + String get greaterThanDataGridFilteringLabel => r'Μεγαλύτερος από'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'Μεγαλύτερο από ή ίσο'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Τζουμάντα αλ-θάνι'; + @override + String get lessThanDataGridFilteringLabel => r'Λιγότερο από'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Λιγότερο από ή ίσο'; + @override String get muharramLabel => r'Μουχαράμ'; @@ -2411,11 +3968,33 @@ class SfLocalizationsEl extends SfGlobalLocalizations { String get noEventsCalendarLabel => r'Δεν υπάρχουν εκδηλώσεις'; @override - String get noSelectedDateCalendarLabel => r'Καμία επιλεγμένη ημερομηνία'; + String get noMatchesDataGridFilteringLabel => r'Χωρίς αγώνες'; + + @override + String get noSelectedDateCalendarLabel => + r'Δεν υπάρχει επιλεγμένη ημερομηνία'; + + @override + String get notEmptyDataGridFilteringLabel => r'Οχι άδειο'; + + @override + String get notNullDataGridFilteringLabel => r'Οχι κενό'; + + @override + String get nullDataGridFilteringLabel => r'Μηδενικό'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Φίλτρα αριθμών'; @override String get ofDataPagerLabel => r'του'; + @override + String get okDataGridFilteringLabel => r'Εντάξει'; + + @override + String get orDataGridFilteringLabel => r'Ή'; + @override String get pagesDataPagerLabel => r'σελίδες'; @@ -2494,6 +4073,12 @@ class SfLocalizationsEl extends SfGlobalLocalizations { @override String get safarLabel => r'Σαφάρ'; + @override + String get searchDataGridFilteringLabel => r'Αναζήτηση'; + + @override + String get selectAllDataGridFilteringLabel => r'Επιλογή όλων'; + @override String get series => r'Σειρά'; @@ -2539,6 +4124,38 @@ class SfLocalizationsEl extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Εμφάνιση σειρών όπου'; + + @override + String get sortAToZDataGridFilteringLabel => r'Ταξινόμηση από Α έως Ω'; + + @override + String get sortAndFilterDataGridFilteringLabel => + r'Ταξινόμηση και φιλτράρισμα'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Ταξινόμηση από το μεγαλύτερο στο μικρότερο'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Ταξινόμηση νεότερο προς παλαιότερο'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Ταξινόμηση από το παλαιότερο στο νεότερο'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Ταξινόμηση από το μικρότερο προς το μεγαλύτερο'; + + @override + String get sortZToADataGridFilteringLabel => r'Ταξινόμηση Z σε A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Φίλτρα κειμένου'; + @override String get todayLabel => r'Σήμερα'; @@ -2555,6 +4172,12 @@ class SfLocalizationsEn extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'After'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'After Or Equal'; + @override String get allDayLabel => r'All Day'; @@ -2585,6 +4208,30 @@ class SfLocalizationsEn extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Work Week'; + @override + String get andDataGridFilteringLabel => r'And'; + + @override + String get beforeDataGridFilteringLabel => r'Before Or Equal'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Before'; + + @override + String get beginsWithDataGridFilteringLabel => r'Begins With'; + + @override + String get cancelDataGridFilteringLabel => r'Cancel'; + + @override + String get clearFilterDataGridFilteringLabel => r'Clear Filter'; + + @override + String get containsDataGridFilteringLabel => r'Contains'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Date Filters'; + @override String get daySpanCountLabel => r'Day'; @@ -2594,24 +4241,82 @@ class SfLocalizationsEn extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Does Not Begin With'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Does Not Contain'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Does Not End With'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Does Not Equal'; + + @override + String get emptyDataGridFilteringLabel => r'Empty'; + + @override + String get endsWithDataGridFilteringLabel => r'Ends With'; + + @override + String get equalsDataGridFilteringLabel => r'Equals'; + + @override + String get fromDataGridFilteringLabel => r'From'; + + @override + String get greaterThanDataGridFilteringLabel => r'Greater Than'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'Greater Than Or Equal'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Less Than'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Less Than Or Equal'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'No events'; + @override + String get noMatchesDataGridFilteringLabel => r'No matches'; + @override String get noSelectedDateCalendarLabel => r'No selected date'; + @override + String get notEmptyDataGridFilteringLabel => r'Not Empty'; + + @override + String get notNullDataGridFilteringLabel => r'Not Null'; + + @override + String get nullDataGridFilteringLabel => r'Null'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Number Filters'; + @override String get ofDataPagerLabel => r'of'; + @override + String get okDataGridFilteringLabel => r'OK'; + + @override + String get orDataGridFilteringLabel => r'Or'; + @override String get pagesDataPagerLabel => r'pages'; @@ -2688,6 +4393,12 @@ class SfLocalizationsEn extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Search'; + + @override + String get selectAllDataGridFilteringLabel => r'Select All'; + @override String get series => r'Series'; @@ -2733,6 +4444,37 @@ class SfLocalizationsEn extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Show rows where'; + + @override + String get sortAToZDataGridFilteringLabel => r'Sort A To Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Sort and Filter'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Sort Largest To Smallest'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Sort Newest To Oldest'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Sort Oldest To Newest'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Sort Smallest To Largest'; + + @override + String get sortZToADataGridFilteringLabel => r'Sort Z To A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Text Filters'; + @override String get todayLabel => r'Today'; @@ -2749,6 +4491,12 @@ class SfLocalizationsEs extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Después'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'después o igual'; + @override String get allDayLabel => r'Todo el dia'; @@ -2780,6 +4528,30 @@ class SfLocalizationsEs extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Semana de trabajo'; + @override + String get andDataGridFilteringLabel => r'Y'; + + @override + String get beforeDataGridFilteringLabel => r'antes o igual'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Antes'; + + @override + String get beginsWithDataGridFilteringLabel => r'Empieza con'; + + @override + String get cancelDataGridFilteringLabel => r'Cancelar'; + + @override + String get clearFilterDataGridFilteringLabel => r'Filtro claro'; + + @override + String get containsDataGridFilteringLabel => r'Contiene'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Filtros de fecha'; + @override String get daySpanCountLabel => r'Día'; @@ -2789,24 +4561,81 @@ class SfLocalizationsEs extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'no comienza con'; + + @override + String get doesNotContainDataGridFilteringLabel => r'No contiene'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'no termina con'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'No es igual'; + + @override + String get emptyDataGridFilteringLabel => r'Vacío'; + + @override + String get endsWithDataGridFilteringLabel => r'Termina con'; + + @override + String get equalsDataGridFilteringLabel => r'igual'; + + @override + String get fromDataGridFilteringLabel => r'De'; + + @override + String get greaterThanDataGridFilteringLabel => r'Mas grande que'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Mayor que o igual'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Menos que'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Menor o igual'; + @override String get muharramLabel => r'muharram'; @override String get noEventsCalendarLabel => r'No hay eventos'; + @override + String get noMatchesDataGridFilteringLabel => r'No hay coincidencias'; + @override String get noSelectedDateCalendarLabel => r'Sin fecha seleccionada'; + @override + String get notEmptyDataGridFilteringLabel => r'No vacío'; + + @override + String get notNullDataGridFilteringLabel => r'No nulo'; + + @override + String get nullDataGridFilteringLabel => r'Nulo'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Filtros numéricos'; + @override String get ofDataPagerLabel => r'de'; + @override + String get okDataGridFilteringLabel => r'OK'; + + @override + String get orDataGridFilteringLabel => r'O'; + @override String get pagesDataPagerLabel => r'paginas'; @@ -2883,6 +4712,12 @@ class SfLocalizationsEs extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Búsqueda'; + + @override + String get selectAllDataGridFilteringLabel => r'Seleccionar todo'; + @override String get series => r'Serie'; @@ -2899,7 +4734,7 @@ class SfLocalizationsEs extends SfGlobalLocalizations { String get shortDhualqiLabel => r'Dhu' "'" r'l-Q'; @override - String get shortJumada1Label => r'Jum. I'; + String get shortJumada1Label => r'Jum. yo'; @override String get shortJumada2Label => r'Jum. II'; @@ -2908,10 +4743,10 @@ class SfLocalizationsEs extends SfGlobalLocalizations { String get shortMuharramLabel => r'Muh.'; @override - String get shortRabi1Label => r'Rabí. I'; + String get shortRabi1Label => r'Rabí. yo'; @override - String get shortRabi2Label => r'Rabi. II'; + String get shortRabi2Label => r'Rabí. Yo'; @override String get shortRajabLabel => r'Raj.'; @@ -2929,21 +4764,58 @@ class SfLocalizationsEs extends SfGlobalLocalizations { String get shortShawwalLabel => r'Shaw.'; @override - String get todayLabel => r'Hoy dia'; + String get showRowsWhereDataGridFilteringLabel => r'Mostrar filas donde'; @override - String get weeknumberLabel => r'Semana'; -} + String get sortAToZDataGridFilteringLabel => r'Ordenar de la A a la Z'; -/// The translations for Estonian (`et`). -class SfLocalizationsEt extends SfGlobalLocalizations { - /// Creating an argument constructor of SfLocalizationsEt class - const SfLocalizationsEt({ - String localeName = 'et', - }) : super( - localeName: localeName, + @override + String get sortAndFilterDataGridFilteringLabel => r'Ordenar y filtrar'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Ordenar de mayor a menor'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Ordenar de más reciente a más antiguo'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Ordenar de más antiguo a más nuevo'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Ordenar de menor a mayor'; + + @override + String get sortZToADataGridFilteringLabel => r'Ordenar de Z a A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Filtros de texto'; + + @override + String get todayLabel => r'Este Dia'; + + @override + String get weeknumberLabel => r'Semana'; +} + +/// The translations for Estonian (`et`). +class SfLocalizationsEt extends SfGlobalLocalizations { + /// Creating an argument constructor of SfLocalizationsEt class + const SfLocalizationsEt({ + String localeName = 'et', + }) : super( + localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Pärast'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Pärast või Võrdne'; + @override String get allDayLabel => r'Terve päev'; @@ -2974,6 +4846,30 @@ class SfLocalizationsEt extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Töönädal'; + @override + String get andDataGridFilteringLabel => r'Ja'; + + @override + String get beforeDataGridFilteringLabel => r'Enne või Võrdne'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Enne'; + + @override + String get beginsWithDataGridFilteringLabel => r'Algab'; + + @override + String get cancelDataGridFilteringLabel => r'Tühista'; + + @override + String get clearFilterDataGridFilteringLabel => r'Tühjenda filter'; + + @override + String get containsDataGridFilteringLabel => r'Sisaldab'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Kuupäeva filtrid'; + @override String get daySpanCountLabel => r'päev'; @@ -2983,24 +4879,82 @@ class SfLocalizationsEt extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Ei alga'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Ei sisalda'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Ei lõpe'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Ei võrdu'; + + @override + String get emptyDataGridFilteringLabel => r'Tühi'; + + @override + String get endsWithDataGridFilteringLabel => r'Lõpeb'; + + @override + String get equalsDataGridFilteringLabel => r'Võrdub'; + + @override + String get fromDataGridFilteringLabel => r'Alates'; + + @override + String get greaterThanDataGridFilteringLabel => r'Suurem kui'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'Suurem Kui või Võrdne'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Vähem kui'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Väiksem või võrdne'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'Sündmusi pole'; + @override + String get noMatchesDataGridFilteringLabel => r'Vasteid pole'; + @override String get noSelectedDateCalendarLabel => r'Kuupäeva pole valitud'; + @override + String get notEmptyDataGridFilteringLabel => r'Pole tühi'; + + @override + String get notNullDataGridFilteringLabel => r'Mitte Null'; + + @override + String get nullDataGridFilteringLabel => r'Null'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Numbrifiltrid'; + @override String get ofDataPagerLabel => r'kohta'; + @override + String get okDataGridFilteringLabel => r'Okei'; + + @override + String get orDataGridFilteringLabel => r'Või'; + @override String get pagesDataPagerLabel => r'lehekülgi'; @@ -3077,6 +5031,12 @@ class SfLocalizationsEt extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Otsing'; + + @override + String get selectAllDataGridFilteringLabel => r'Vali kõik'; + @override String get series => r'seeria'; @@ -3093,7 +5053,7 @@ class SfLocalizationsEt extends SfGlobalLocalizations { String get shortDhualqiLabel => r'Dhu' "'" r'l-Q'; @override - String get shortJumada1Label => r'Jum. ma'; + String get shortJumada1Label => r'Jum. I'; @override String get shortJumada2Label => r'Jum. II'; @@ -3102,7 +5062,7 @@ class SfLocalizationsEt extends SfGlobalLocalizations { String get shortMuharramLabel => r'Muh.'; @override - String get shortRabi1Label => r'Rabi. ma'; + String get shortRabi1Label => r'Rabi. I'; @override String get shortRabi2Label => r'Rabi. II'; @@ -3122,6 +5082,37 @@ class SfLocalizationsEt extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Näita ridu, kus'; + + @override + String get sortAToZDataGridFilteringLabel => r'Sorteeri A–Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Sorteeri ja filtreeri'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Sorteeri suurimast väikseimani'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Sorteeri uusimatest vanimateks'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Sorteeri vanimast uusimaks'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Sorteeri väikseimast suurimaks'; + + @override + String get sortZToADataGridFilteringLabel => r'Sorteeri Z kuni A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Tekstifiltrid'; + @override String get todayLabel => r'Täna'; @@ -3138,6 +5129,12 @@ class SfLocalizationsEu extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Ondoren'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Ondoren Edo Berdin'; + @override String get allDayLabel => r'Egun osoan'; @@ -3168,6 +5165,30 @@ class SfLocalizationsEu extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Lan Astea'; + @override + String get andDataGridFilteringLabel => r'Eta'; + + @override + String get beforeDataGridFilteringLabel => r'Aurretik Edo Berdin'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Aurretik'; + + @override + String get beginsWithDataGridFilteringLabel => r'Hasten da'; + + @override + String get cancelDataGridFilteringLabel => r'Utzi'; + + @override + String get clearFilterDataGridFilteringLabel => r'Garbitu iragazkia'; + + @override + String get containsDataGridFilteringLabel => r'Dauka'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Data-iragazkiak'; + @override String get daySpanCountLabel => r'Eguna'; @@ -3177,24 +5198,82 @@ class SfLocalizationsEu extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Ez Da Hasten'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Ez dauka'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Ez Du Bukatzen'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Ez Du Berdin'; + + @override + String get emptyDataGridFilteringLabel => r'Hutsik'; + + @override + String get endsWithDataGridFilteringLabel => r'Honekin amaitzen da'; + + @override + String get equalsDataGridFilteringLabel => r'Berdin'; + + @override + String get fromDataGridFilteringLabel => r'Bertatik'; + + @override + String get greaterThanDataGridFilteringLabel => r'Baino handiagoa'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'Handiagoa Edo Berdin'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Baino gutxiago'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Gutxiago Edo Berdin'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'Ez dago ekitaldirik'; + @override + String get noMatchesDataGridFilteringLabel => r'Partidurik ez'; + @override String get noSelectedDateCalendarLabel => r'Ez dago data hautaturik'; + @override + String get notEmptyDataGridFilteringLabel => r'Ez Hutsik'; + + @override + String get notNullDataGridFilteringLabel => r'Ez Nulua'; + + @override + String get nullDataGridFilteringLabel => r'Nulua'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Zenbaki-iragazkiak'; + @override String get ofDataPagerLabel => r'de'; + @override + String get okDataGridFilteringLabel => r'Ados'; + + @override + String get orDataGridFilteringLabel => r'Edo'; + @override String get pagesDataPagerLabel => r'orrialdeak'; @@ -3272,6 +5351,12 @@ class SfLocalizationsEu extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Bilatu'; + + @override + String get selectAllDataGridFilteringLabel => r'Hautatu guztiak'; + @override String get series => r'Seriea'; @@ -3317,6 +5402,37 @@ class SfLocalizationsEu extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Erakutsi errenkadak non'; + + @override + String get sortAToZDataGridFilteringLabel => r'Ordenatu Atik Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Ordenatu eta Iragazi'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Ordenatu handienetik txikienetik'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Ordenatu berrienetik zaharrenetik'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Ordenatu zaharrenetik berrienera'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Ordenatu txikienetik handienera'; + + @override + String get sortZToADataGridFilteringLabel => r'Ordenatu Ztik A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Testu-iragazkiak'; + @override String get todayLabel => r'Gaur'; @@ -3333,6 +5449,12 @@ class SfLocalizationsFa extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'بعد از'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'بعد یا برابر'; + @override String get allDayLabel => r'تمام روز'; @@ -3363,6 +5485,30 @@ class SfLocalizationsFa extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'هفته کاری'; + @override + String get andDataGridFilteringLabel => r'و'; + + @override + String get beforeDataGridFilteringLabel => r'قبل یا برابر'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'قبل از'; + + @override + String get beginsWithDataGridFilteringLabel => r'شروع با'; + + @override + String get cancelDataGridFilteringLabel => r'لغو کنید'; + + @override + String get clearFilterDataGridFilteringLabel => r'فیلتر را پاک کنید'; + + @override + String get containsDataGridFilteringLabel => r'حاوی'; + + @override + String get dateFiltersDataGridFilteringLabel => r'فیلترهای تاریخ'; + @override String get daySpanCountLabel => r'روز'; @@ -3372,24 +5518,81 @@ class SfLocalizationsFa extends SfGlobalLocalizations { @override String get dhualqiLabel => r'ذی القعده'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'با شروع نمی شود'; + + @override + String get doesNotContainDataGridFilteringLabel => r'شامل نمی شود'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'به پایان نمی رسد'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'برابر نیست'; + + @override + String get emptyDataGridFilteringLabel => r'خالی'; + + @override + String get endsWithDataGridFilteringLabel => r'به پایان می رسد با'; + + @override + String get equalsDataGridFilteringLabel => r'برابر است'; + + @override + String get fromDataGridFilteringLabel => r'از جانب'; + + @override + String get greaterThanDataGridFilteringLabel => r'بزرگتر از'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'بزرگتر یا مساوی'; + @override String get jumada1Label => r'جمادی الاول'; @override String get jumada2Label => r'جمادی الثانی'; + @override + String get lessThanDataGridFilteringLabel => r'کمتر از'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'کمتر یا برابر'; + @override String get muharramLabel => r'محرم'; @override String get noEventsCalendarLabel => r'هیچ رویدادی وجود ندارد'; + @override + String get noMatchesDataGridFilteringLabel => r'هیچ بازی'; + @override String get noSelectedDateCalendarLabel => r'تاریخ انتخابی وجود ندارد'; + @override + String get notEmptyDataGridFilteringLabel => r'خالی نیست'; + + @override + String get notNullDataGridFilteringLabel => r'تهی نیست'; + + @override + String get nullDataGridFilteringLabel => r'خالی'; + + @override + String get numberFiltersDataGridFilteringLabel => r'فیلترهای اعداد'; + @override String get ofDataPagerLabel => r'از'; + @override + String get okDataGridFilteringLabel => r'خوب'; + + @override + String get orDataGridFilteringLabel => r'یا'; + @override String get pagesDataPagerLabel => r'صفحات'; @@ -3466,6 +5669,12 @@ class SfLocalizationsFa extends SfGlobalLocalizations { @override String get safarLabel => r'صفر'; + @override + String get searchDataGridFilteringLabel => r'جستجو کردن'; + + @override + String get selectAllDataGridFilteringLabel => r'انتخاب همه'; + @override String get series => r'سلسله'; @@ -3488,7 +5697,7 @@ class SfLocalizationsFa extends SfGlobalLocalizations { String get shortJumada2Label => r'جام. II'; @override - String get shortMuharramLabel => r'ماه'; + String get shortMuharramLabel => r'مه'; @override String get shortRabi1Label => r'ربیع من'; @@ -3512,14 +5721,45 @@ class SfLocalizationsFa extends SfGlobalLocalizations { String get shortShawwalLabel => r'شاو'; @override - String get todayLabel => r'امروز'; + String get showRowsWhereDataGridFilteringLabel => r'نشان دادن ردیف ها در کجا'; @override - String get weeknumberLabel => r'هفته'; -} + String get sortAToZDataGridFilteringLabel => r'مرتب سازی A به Z'; -/// The translations for Finnish (`fi`). -class SfLocalizationsFi extends SfGlobalLocalizations { + @override + String get sortAndFilterDataGridFilteringLabel => r'مرتب سازی و فیلتر کردن'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'مرتب سازی بزرگترین به کوچکترین'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'مرتب سازی جدیدترین به قدیمی ترین'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'مرتب سازی قدیمی ترین به جدیدترین'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'مرتب سازی کوچک ترین به بزرگ ترین'; + + @override + String get sortZToADataGridFilteringLabel => r'Z به A مرتب کنید'; + + @override + String get textFiltersDataGridFilteringLabel => r'فیلترهای متن'; + + @override + String get todayLabel => r'امروز'; + + @override + String get weeknumberLabel => r'هفته'; +} + +/// The translations for Finnish (`fi`). +class SfLocalizationsFi extends SfGlobalLocalizations { /// Creating an argument constructor of SfLocalizationsFi class const SfLocalizationsFi({ String localeName = 'fi', @@ -3527,6 +5767,12 @@ class SfLocalizationsFi extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Jälkeen'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Jälkeen tai Equal'; + @override String get allDayLabel => r'Koko päivä'; @@ -3557,6 +5803,30 @@ class SfLocalizationsFi extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Työviikko'; + @override + String get andDataGridFilteringLabel => r'Ja'; + + @override + String get beforeDataGridFilteringLabel => r'Ennen tai Tasa-arvoinen'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Ennen'; + + @override + String get beginsWithDataGridFilteringLabel => r'Alkaa jollakin'; + + @override + String get cancelDataGridFilteringLabel => r'Peruuttaa'; + + @override + String get clearFilterDataGridFilteringLabel => r'Tyhjennä suodatin'; + + @override + String get containsDataGridFilteringLabel => r'Sisältää'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Päivämääräsuodattimet'; + @override String get daySpanCountLabel => r'Päivä'; @@ -3566,30 +5836,89 @@ class SfLocalizationsFi extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Ei ala'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Ei sisällä'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Ei lopu'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Ei ole sama'; + + @override + String get emptyDataGridFilteringLabel => r'Tyhjä'; + + @override + String get endsWithDataGridFilteringLabel => r'Loppuu'; + + @override + String get equalsDataGridFilteringLabel => r'Yhtä'; + + @override + String get fromDataGridFilteringLabel => r'From'; + + @override + String get greaterThanDataGridFilteringLabel => r'Suurempi kuin'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'Suurempi kuin tai yhtä suuri'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Vähemmän kuin'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => + r'Pienempi kuin tai yhtä suuri'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'Ei tapahtumia'; + @override + String get noMatchesDataGridFilteringLabel => r'Ei osumia'; + @override String get noSelectedDateCalendarLabel => r'Ei valittua päivämäärää'; + @override + String get notEmptyDataGridFilteringLabel => r'Ei tyhjä'; + + @override + String get notNullDataGridFilteringLabel => r'Ei tyhjä'; + + @override + String get nullDataGridFilteringLabel => r'Tyhjä'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Numerosuodattimet'; + @override String get ofDataPagerLabel => r'/'; + @override + String get okDataGridFilteringLabel => r'OK'; + + @override + String get orDataGridFilteringLabel => r'Tai'; + @override String get pagesDataPagerLabel => r'sivuja'; @override String get passwordDialogContentLabel => - r'Kirjoita salasana avataksesi tämän PDF-tiedoston'; + r'Syötä salasana avataksesi tämän PDF-tiedoston'; @override String get passwordDialogHeaderTextLabel => r'Salasana suojattu'; @@ -3660,6 +5989,12 @@ class SfLocalizationsFi extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Hae'; + + @override + String get selectAllDataGridFilteringLabel => r'Valitse kaikki'; + @override String get series => r'Sarja'; @@ -3705,6 +6040,37 @@ class SfLocalizationsFi extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Näytä rivit missä'; + + @override + String get sortAToZDataGridFilteringLabel => r'Lajittele A–Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Lajittele ja Suodata'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Lajittele suurimmasta pienimpään'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Lajittele uusimmasta vanhimpaan'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Lajittele vanhimmasta uusimpaan'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Lajittele pienimmästä suurimpaan'; + + @override + String get sortZToADataGridFilteringLabel => r'Lajittele Z-A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Tekstisuodattimet'; + @override String get todayLabel => r'Tänään'; @@ -3721,6 +6087,12 @@ class SfLocalizationsFil extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Pagkatapos'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Pagkatapos ng Or Equal'; + @override String get allDayLabel => r'Buong araw'; @@ -3752,6 +6124,30 @@ class SfLocalizationsFil extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Linggo ng trabaho'; + @override + String get andDataGridFilteringLabel => r'At'; + + @override + String get beforeDataGridFilteringLabel => r'Bago O Kapantay'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'dati'; + + @override + String get beginsWithDataGridFilteringLabel => r'Nagsisimula sa'; + + @override + String get cancelDataGridFilteringLabel => r'Kanselahin'; + + @override + String get clearFilterDataGridFilteringLabel => r'I-clear ang Filter'; + + @override + String get containsDataGridFilteringLabel => r'Naglalaman'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Mga Filter ng Petsa'; + @override String get daySpanCountLabel => r'Araw'; @@ -3761,24 +6157,82 @@ class SfLocalizationsFil extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Hindi Nagsisimula Sa'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Hindi Naglalaman'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Hindi Nagtatapos Sa'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Ay hindi katumbas ng'; + + @override + String get emptyDataGridFilteringLabel => r'Walang laman'; + + @override + String get endsWithDataGridFilteringLabel => r'Nagtatapos Sa'; + + @override + String get equalsDataGridFilteringLabel => r'katumbas'; + + @override + String get fromDataGridFilteringLabel => r'Mula sa'; + + @override + String get greaterThanDataGridFilteringLabel => r'Mahigit sa'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Higit sa O Katumbas'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Mas mababa sa'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => + r'Mas Mababa sa O Katumbas'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'Walang mga kaganapan'; + @override + String get noMatchesDataGridFilteringLabel => r'Walang tugma'; + @override String get noSelectedDateCalendarLabel => r'Walang napiling petsa'; + @override + String get notEmptyDataGridFilteringLabel => r'Hindi Walang laman'; + + @override + String get notNullDataGridFilteringLabel => r'Hindi Null'; + + @override + String get nullDataGridFilteringLabel => r'Wala'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Mga Filter ng Numero'; + @override String get ofDataPagerLabel => r'ng'; + @override + String get okDataGridFilteringLabel => r'OK'; + + @override + String get orDataGridFilteringLabel => r'O kaya'; + @override String get pagesDataPagerLabel => r'mga pahina'; @@ -3856,6 +6310,12 @@ class SfLocalizationsFil extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Maghanap'; + + @override + String get selectAllDataGridFilteringLabel => r'Piliin lahat'; + @override String get series => r'Serye'; @@ -3901,6 +6361,40 @@ class SfLocalizationsFil extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => + r'Ipakita ang mga hilera kung saan'; + + @override + String get sortAToZDataGridFilteringLabel => r'Pagbukud-bukurin A hanggang Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => + r'Pagbukud-bukurin at Salain'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Pagbukud-bukurin ang Pinakamalaki Hanggang Pinakamaliit'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Pagbukud-bukurin ang Pinakabago Hanggang sa Pinakaluma'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Pagbukud-bukurin ang Pinakaluma Hanggang Pinakabago'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Pagbukud-bukurin ang Pinakamaliit Hanggang Pinakamalaki'; + + @override + String get sortZToADataGridFilteringLabel => + r'Pagbukud-bukurin ang Z Hanggang A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Mga Filter ng Teksto'; + @override String get todayLabel => r'Ngayong araw'; @@ -3917,6 +6411,12 @@ class SfLocalizationsFr extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Après'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Après ou égal'; + @override String get allDayLabel => r'Toute la journée'; @@ -3943,38 +6443,120 @@ class SfLocalizationsFr extends SfGlobalLocalizations { r'Chronologie de la semaine de travail'; @override - String get allowedViewWeekLabel => r'Semaine'; + String get allowedViewWeekLabel => r'La semaine'; @override String get allowedViewWorkWeekLabel => r'Semaine de travail'; + @override + String get andDataGridFilteringLabel => r'Et'; + + @override + String get beforeDataGridFilteringLabel => r'Avant ou égal'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Avant de'; + + @override + String get beginsWithDataGridFilteringLabel => r'Commence par'; + + @override + String get cancelDataGridFilteringLabel => r'Annuler'; + + @override + String get clearFilterDataGridFilteringLabel => r'Effacer le filtre'; + + @override + String get containsDataGridFilteringLabel => r'Contient'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Filtres de dates'; + @override String get daySpanCountLabel => r'Jour'; @override - String get dhualhiLabel => r'Safar'; + String get dhualhiLabel => r'Dhu al-Hijjah'; @override String get dhualqiLabel => r'Dhou al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Ne commence pas par'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Ne contient pas'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Ne se termine pas par'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'N' "'" r'est pas égal'; + + @override + String get emptyDataGridFilteringLabel => r'Vide'; + + @override + String get endsWithDataGridFilteringLabel => r'Se termine par'; + + @override + String get equalsDataGridFilteringLabel => r'Équivaut à'; + + @override + String get fromDataGridFilteringLabel => r'De'; + + @override + String get greaterThanDataGridFilteringLabel => r'Plus grand que'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'Meilleur que ou égal'; + @override String get jumada1Label => r'Djoumada al-awwal'; @override String get jumada2Label => r'Djoumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Moins que'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Inférieur ou égal'; + @override String get muharramLabel => r'Mouharram'; @override String get noEventsCalendarLabel => r'Pas d' "'" r'événements'; + @override + String get noMatchesDataGridFilteringLabel => r'Pas de correspondance'; + @override String get noSelectedDateCalendarLabel => r'Aucune date sélectionnée'; + @override + String get notEmptyDataGridFilteringLabel => r'Pas vide'; + + @override + String get notNullDataGridFilteringLabel => r'Non nul'; + + @override + String get nullDataGridFilteringLabel => r'Nul'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Filtres numériques'; + @override String get ofDataPagerLabel => r'de'; + @override + String get okDataGridFilteringLabel => r'D' "'" r'ACCORD'; + + @override + String get orDataGridFilteringLabel => r'Ou'; + @override String get pagesDataPagerLabel => r'pages'; @@ -4007,7 +6589,7 @@ class SfLocalizationsFr extends SfGlobalLocalizations { String get pdfHyperlinkDialogCancelLabel => r'ANNULER'; @override - String get pdfHyperlinkDialogOpenLabel => r'OUVRIR'; + String get pdfHyperlinkDialogOpenLabel => r'OUVERT'; @override String get pdfHyperlinkLabel => r'Ouvrir la page Web'; @@ -4023,13 +6605,13 @@ class SfLocalizationsFr extends SfGlobalLocalizations { String get pdfPaginationDialogCancelLabel => r'ANNULER'; @override - String get pdfPaginationDialogOkLabel => r'd' "'" r'accord'; + String get pdfPaginationDialogOkLabel => r'D' "'" r'ACCORD'; @override String get pdfPasswordDialogCancelLabel => r'ANNULER'; @override - String get pdfPasswordDialogOpenLabel => r'OUVRIR'; + String get pdfPasswordDialogOpenLabel => r'OUVERT'; @override String get pdfScrollStatusOfLabel => r'de'; @@ -4053,7 +6635,13 @@ class SfLocalizationsFr extends SfGlobalLocalizations { String get safarLabel => r'Safar'; @override - String get series => r'Séries'; + String get searchDataGridFilteringLabel => r'Chercher'; + + @override + String get selectAllDataGridFilteringLabel => r'Tout sélectionner'; + + @override + String get series => r'Série'; @override String get shaabanLabel => r'Sha' "'" r'aban'; @@ -4098,21 +6686,58 @@ class SfLocalizationsFr extends SfGlobalLocalizations { String get shortShawwalLabel => r'Shaw.'; @override - String get todayLabel => r'Aujourd' "'" r'hui'; + String get showRowsWhereDataGridFilteringLabel => r'Afficher les lignes où'; @override - String get weeknumberLabel => r'La semaine'; -} + String get sortAToZDataGridFilteringLabel => r'Trier de A à Z'; -/// The translations for Galician (`gl`). -class SfLocalizationsGl extends SfGlobalLocalizations { - /// Creating an argument constructor of SfLocalizationsGl class - const SfLocalizationsGl({ - String localeName = 'gl', - }) : super( + @override + String get sortAndFilterDataGridFilteringLabel => r'Trier et filtrer'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Trier du plus grand au plus petit'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Trier du plus récent au plus ancien'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Trier du plus ancien au plus récent'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Trier du plus petit au plus grand'; + + @override + String get sortZToADataGridFilteringLabel => r'Trier Z à A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Filtres de texte'; + + @override + String get todayLabel => r'Aujourd' "'" r'hui'; + + @override + String get weeknumberLabel => r'La semaine'; +} + +/// The translations for Galician (`gl`). +class SfLocalizationsGl extends SfGlobalLocalizations { + /// Creating an argument constructor of SfLocalizationsGl class + const SfLocalizationsGl({ + String localeName = 'gl', + }) : super( localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Despois'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Despois Ou Igual'; + @override String get allDayLabel => r'Todo o día'; @@ -4132,7 +6757,7 @@ class SfLocalizationsGl extends SfGlobalLocalizations { String get allowedViewTimelineMonthLabel => r'Mes do cronograma'; @override - String get allowedViewTimelineWeekLabel => r'Semana do cronograma'; + String get allowedViewTimelineWeekLabel => r'Timeline Week'; @override String get allowedViewTimelineWorkWeekLabel => r'Timeline Work Week'; @@ -4143,6 +6768,30 @@ class SfLocalizationsGl extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Semana de Traballo'; + @override + String get andDataGridFilteringLabel => r'E'; + + @override + String get beforeDataGridFilteringLabel => r'Antes Ou Igual'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Antes'; + + @override + String get beginsWithDataGridFilteringLabel => r'Comeza por'; + + @override + String get cancelDataGridFilteringLabel => r'Cancelar'; + + @override + String get clearFilterDataGridFilteringLabel => r'Borrar filtro'; + + @override + String get containsDataGridFilteringLabel => r'Contén'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Filtros de data'; + @override String get daySpanCountLabel => r'Día'; @@ -4152,24 +6801,81 @@ class SfLocalizationsGl extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Non Comeza Con'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Non Contén'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Non Remata Con'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Non é igual'; + + @override + String get emptyDataGridFilteringLabel => r'Baleiro'; + + @override + String get endsWithDataGridFilteringLabel => r'Remata con'; + + @override + String get equalsDataGridFilteringLabel => r'Iguais'; + + @override + String get fromDataGridFilteringLabel => r'Desde'; + + @override + String get greaterThanDataGridFilteringLabel => r'Máis grande cá'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Maior Que Ou Igual'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Menos de'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Menos Ou Igual'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'Non hai eventos'; + @override + String get noMatchesDataGridFilteringLabel => r'Non hai coincidencias'; + @override String get noSelectedDateCalendarLabel => r'Sen data seleccionada'; + @override + String get notEmptyDataGridFilteringLabel => r'Non baleiro'; + + @override + String get notNullDataGridFilteringLabel => r'Non nulo'; + + @override + String get nullDataGridFilteringLabel => r'Nulo'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Filtros de número'; + @override String get ofDataPagerLabel => r'de'; + @override + String get okDataGridFilteringLabel => r'Ok'; + + @override + String get orDataGridFilteringLabel => r'Ou'; + @override String get pagesDataPagerLabel => r'páxinas'; @@ -4246,6 +6952,12 @@ class SfLocalizationsGl extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Busca'; + + @override + String get selectAllDataGridFilteringLabel => r'Seleccionar todo'; + @override String get series => r'Serie'; @@ -4291,6 +7003,37 @@ class SfLocalizationsGl extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Mostrar as filas onde'; + + @override + String get sortAToZDataGridFilteringLabel => r'Ordenar da A a Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Ordenar e filtrar'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Ordenar de maior a menor'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Ordenar o máis novo ao máis antigo'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Ordenar do máis antigo ao máis novo'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Ordenar de menor a maior'; + + @override + String get sortZToADataGridFilteringLabel => r'Ordenar de Z a A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Filtros de texto'; + @override String get todayLabel => r'Hoxe'; @@ -4307,6 +7050,12 @@ class SfLocalizationsGu extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'પછી'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'અથવા સમાન પછી'; + @override String get allDayLabel => r'બધા દિવસ'; @@ -4332,11 +7081,35 @@ class SfLocalizationsGu extends SfGlobalLocalizations { String get allowedViewTimelineWorkWeekLabel => r'સમયરેખા કાર્ય સપ્તાહ'; @override - String get allowedViewWeekLabel => r'સપ્તાહ'; + String get allowedViewWeekLabel => r'અઠવાડિયું'; @override String get allowedViewWorkWeekLabel => r'કાર્ય સપ્તાહ'; + @override + String get andDataGridFilteringLabel => r'અને'; + + @override + String get beforeDataGridFilteringLabel => r'પહેલાં અથવા સમાન'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'પહેલાં'; + + @override + String get beginsWithDataGridFilteringLabel => r'સાથે શરૂ થાય છે'; + + @override + String get cancelDataGridFilteringLabel => r'રદ કરો'; + + @override + String get clearFilterDataGridFilteringLabel => r'ફિલ્ટર સાફ કરો'; + + @override + String get containsDataGridFilteringLabel => r'સમાવે છે'; + + @override + String get dateFiltersDataGridFilteringLabel => r'તારીખ ફિલ્ટર્સ'; + @override String get daySpanCountLabel => r'દિવસ'; @@ -4346,24 +7119,82 @@ class SfLocalizationsGu extends SfGlobalLocalizations { @override String get dhualqiLabel => r'ધુ અલ-કિદાહ'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'સાથે શરૂ થતું નથી'; + + @override + String get doesNotContainDataGridFilteringLabel => r'સમાવતું નથી'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'સાથે સમાપ્ત થતું નથી'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'સમાન નથી'; + + @override + String get emptyDataGridFilteringLabel => r'ખાલી'; + + @override + String get endsWithDataGridFilteringLabel => r'સાથે સમાપ્ત થાય છે'; + + @override + String get equalsDataGridFilteringLabel => r'સમકક્ષ'; + + @override + String get fromDataGridFilteringLabel => r'થી'; + + @override + String get greaterThanDataGridFilteringLabel => r'કરતા વધારે'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'તેના કરતા વધારે અથવા સમાન'; + @override String get jumada1Label => r'જુમાદા અલ-અવ્વલ'; @override String get jumada2Label => r'જુમાદા અલ-થાની'; + @override + String get lessThanDataGridFilteringLabel => r'કરતાં ઓછી'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'તેનાથી ઓછું અથવા સમાન'; + @override String get muharramLabel => r'મોહરમ'; @override String get noEventsCalendarLabel => r'કોઈ ઇવેન્ટ નથી'; + @override + String get noMatchesDataGridFilteringLabel => r'કોઈ મેળ નથી'; + @override String get noSelectedDateCalendarLabel => r'કોઈ તારીખ પસંદ કરી નથી'; + @override + String get notEmptyDataGridFilteringLabel => r'ખાલી નથી'; + + @override + String get notNullDataGridFilteringLabel => r'શૂન્ય નથી'; + + @override + String get nullDataGridFilteringLabel => r'શૂન્ય'; + + @override + String get numberFiltersDataGridFilteringLabel => r'નંબર ફિલ્ટર્સ'; + @override String get ofDataPagerLabel => r'ના'; + @override + String get okDataGridFilteringLabel => r'બરાબર'; + + @override + String get orDataGridFilteringLabel => r'અથવા'; + @override String get pagesDataPagerLabel => r'પૃષ્ઠો'; @@ -4440,6 +7271,12 @@ class SfLocalizationsGu extends SfGlobalLocalizations { @override String get safarLabel => r'સફર'; + @override + String get searchDataGridFilteringLabel => r'શોધો'; + + @override + String get selectAllDataGridFilteringLabel => r'બધા પસંદ કરો'; + @override String get series => r'શ્રેણી'; @@ -4485,11 +7322,42 @@ class SfLocalizationsGu extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'શૉ.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'જ્યાં પંક્તિઓ બતાવો'; + + @override + String get sortAToZDataGridFilteringLabel => r'A થી Z સૉર્ટ કરો'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'સૉર્ટ કરો અને ફિલ્ટર કરો'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'સૌથી મોટાથી નાનામાં સૉર્ટ કરો'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'સૌથી નવાથી જૂનામાં સૉર્ટ કરો'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'સૌથી જૂનાથી નવામાં સૉર્ટ કરો'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'સૌથી નાનાથી મોટામાં સૉર્ટ કરો'; + + @override + String get sortZToADataGridFilteringLabel => r'Z થી A સૉર્ટ કરો'; + + @override + String get textFiltersDataGridFilteringLabel => r'ટેક્સ્ટ ફિલ્ટર્સ'; + @override String get todayLabel => r'આજે'; @override - String get weeknumberLabel => r'સપ્તાહ'; + String get weeknumberLabel => r'અઠવાડિયું'; } /// The translations for Hebrew (`he`). @@ -4501,6 +7369,12 @@ class SfLocalizationsHe extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'לאחר'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'אחרי או שווה'; + @override String get allDayLabel => r'כל היום'; @@ -4523,7 +7397,7 @@ class SfLocalizationsHe extends SfGlobalLocalizations { String get allowedViewTimelineWeekLabel => r'שבוע ציר הזמן'; @override - String get allowedViewTimelineWorkWeekLabel => r'שבוע העבודה של ציר הזמן'; + String get allowedViewTimelineWorkWeekLabel => r'שבוע העבודה של ציר זמן'; @override String get allowedViewWeekLabel => r'שָׁבוּעַ'; @@ -4531,6 +7405,30 @@ class SfLocalizationsHe extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'שבוע עבודה'; + @override + String get andDataGridFilteringLabel => r'ו'; + + @override + String get beforeDataGridFilteringLabel => r'לפני או שווה'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'לפני'; + + @override + String get beginsWithDataGridFilteringLabel => r'מתחיל עם'; + + @override + String get cancelDataGridFilteringLabel => r'לְבַטֵל'; + + @override + String get clearFilterDataGridFilteringLabel => r'נקה מסנן'; + + @override + String get containsDataGridFilteringLabel => r'מכיל'; + + @override + String get dateFiltersDataGridFilteringLabel => r'מסנני תאריכים'; + @override String get daySpanCountLabel => r'יְוֹם'; @@ -4541,23 +7439,80 @@ class SfLocalizationsHe extends SfGlobalLocalizations { String get dhualqiLabel => r'דהו אל-קיאדה'; @override - String get jumada1Label => r'ג' "'" r'ומדה אל-אוואל'; + String get doesNotBeginWithDataGridFilteringLabel => r'לא מתחיל עם'; + + @override + String get doesNotContainDataGridFilteringLabel => r'לא מכיל'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'לא מסתיים ב'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'לא שווה'; + + @override + String get emptyDataGridFilteringLabel => r'ריק'; + + @override + String get endsWithDataGridFilteringLabel => r'מסתיים עם'; + + @override + String get equalsDataGridFilteringLabel => r'שווים'; + + @override + String get fromDataGridFilteringLabel => r'מ'; + + @override + String get greaterThanDataGridFilteringLabel => r'גדול מ'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'גדול או שווה'; + + @override + String get jumada1Label => r'ג' "'" r'ומדה אל-אוול'; @override String get jumada2Label => r'ג' "'" r'ומדה אל-ת' "'" r'אני'; + @override + String get lessThanDataGridFilteringLabel => r'פחות מ'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'פחות מ או שווה'; + @override String get muharramLabel => r'מוחרם'; @override String get noEventsCalendarLabel => r'אין אירועים'; + @override + String get noMatchesDataGridFilteringLabel => r'אין התאמה'; + @override String get noSelectedDateCalendarLabel => r'לא נבחר תאריך'; + @override + String get notEmptyDataGridFilteringLabel => r'לא ריק'; + + @override + String get notNullDataGridFilteringLabel => r'לא ריק'; + + @override + String get nullDataGridFilteringLabel => r'ריק'; + + @override + String get numberFiltersDataGridFilteringLabel => r'מסנני מספרים'; + @override String get ofDataPagerLabel => r'שֶׁל'; + @override + String get okDataGridFilteringLabel => r'בסדר'; + + @override + String get orDataGridFilteringLabel => r'אוֹ'; + @override String get pagesDataPagerLabel => r'דפים'; @@ -4584,7 +7539,7 @@ class SfLocalizationsHe extends SfGlobalLocalizations { String get pdfGoToPageLabel => r'לך לעמוד'; @override - String get pdfHyperlinkContentLabel => r'האם אתה רוצה לפתוח את הדף ב'; + String get pdfHyperlinkContentLabel => r'האם אתה רוצה לפתוח את העמוד ב'; @override String get pdfHyperlinkDialogCancelLabel => r'לְבַטֵל'; @@ -4629,11 +7584,17 @@ class SfLocalizationsHe extends SfGlobalLocalizations { String get ramadanLabel => r'רמדאן'; @override - String get rowsPerPageDataPagerLabel => r'שורות בעמוד'; + String get rowsPerPageDataPagerLabel => r'שורות לכל עמוד'; @override String get safarLabel => r'ספאר'; + @override + String get searchDataGridFilteringLabel => r'לחפש'; + + @override + String get selectAllDataGridFilteringLabel => r'בחר הכל'; + @override String get series => r'סִדרָה'; @@ -4641,7 +7602,7 @@ class SfLocalizationsHe extends SfGlobalLocalizations { String get shaabanLabel => r'שעבן'; @override - String get shawwalLabel => r'שוואל'; + String get shawwalLabel => r'שווואל'; @override String get shortDhualhiLabel => r'דהו' "'" "'" r'ל-ה'; @@ -4680,21 +7641,58 @@ class SfLocalizationsHe extends SfGlobalLocalizations { String get shortShawwalLabel => r'שו.'; @override - String get todayLabel => r'היום'; + String get showRowsWhereDataGridFilteringLabel => r'הצג שורות היכן'; @override - String get weeknumberLabel => r'שָׁבוּעַ'; -} + String get sortAToZDataGridFilteringLabel => r'מיין מא' "'" r' עד ת' "'"; -/// The translations for Hindi (`hi`). -class SfLocalizationsHi extends SfGlobalLocalizations { - /// Creating an argument constructor of SfLocalizationsHi class + @override + String get sortAndFilterDataGridFilteringLabel => r'מיון ומסנן'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'מיין מהגדול לקטן ביותר'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'מיין מהחדש לישן ביותר'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'מיין מהישן ביותר לחדש ביותר'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'מיין מהקטן לגדול ביותר'; + + @override + String get sortZToADataGridFilteringLabel => r'מיין Z עד A'; + + @override + String get textFiltersDataGridFilteringLabel => r'מסנני טקסט'; + + @override + String get todayLabel => r'היום'; + + @override + String get weeknumberLabel => r'שָׁבוּעַ'; +} + +/// The translations for Hindi (`hi`). +class SfLocalizationsHi extends SfGlobalLocalizations { + /// Creating an argument constructor of SfLocalizationsHi class const SfLocalizationsHi({ String localeName = 'hi', }) : super( localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'बाद में'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'के बाद या बराबर'; + @override String get allDayLabel => r'पूरे दिन'; @@ -4725,14 +7723,69 @@ class SfLocalizationsHi extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'कार्य सप्ताह'; + @override + String get andDataGridFilteringLabel => r'और'; + + @override + String get beforeDataGridFilteringLabel => r'पहले या बराबर'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'पहले'; + + @override + String get beginsWithDataGridFilteringLabel => r'साथ शुरू होता है'; + + @override + String get cancelDataGridFilteringLabel => r'रद्द करना'; + + @override + String get clearFilterDataGridFilteringLabel => r'स्पष्ट निस्यंदक'; + + @override + String get containsDataGridFilteringLabel => r'रोकना'; + + @override + String get dateFiltersDataGridFilteringLabel => r'दिनांक फ़िल्टर'; + @override String get daySpanCountLabel => r'दिन'; @override - String get dhualhiLabel => r'धू अल-हिज्जाही'; + String get dhualhiLabel => r'धू अल-हिज्जाह'; + + @override + String get dhualqiLabel => r'धू अल-क़ीदाह'; + + @override + String get doesNotBeginWithDataGridFilteringLabel => + r'से प्रारंभ नहीं होता है'; + + @override + String get doesNotContainDataGridFilteringLabel => r'शामिल नहीं है'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'से समाप्त नहीं होता है'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'बराबर नही हैं'; + + @override + String get emptyDataGridFilteringLabel => r'खाली'; + + @override + String get endsWithDataGridFilteringLabel => r'इसी के साथ समाप्त होता है'; + + @override + String get equalsDataGridFilteringLabel => r'बराबर'; + + @override + String get fromDataGridFilteringLabel => r'से'; + + @override + String get greaterThanDataGridFilteringLabel => r'से अधिक'; @override - String get dhualqiLabel => r'धू अल क़िदाही'; + String get greaterThanOrEqualDataGridFilteringLabel => r'से बड़ा या बराबर'; @override String get jumada1Label => r'जुमादा अल-अव्वल'; @@ -4740,24 +7793,51 @@ class SfLocalizationsHi extends SfGlobalLocalizations { @override String get jumada2Label => r'जुमादा अल-थानी'; + @override + String get lessThanDataGridFilteringLabel => r'से कम'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'इससे कम या इसके बराबर'; + @override String get muharramLabel => r'मुहर्रम'; @override String get noEventsCalendarLabel => r'कोई आयोजन नहीं'; + @override + String get noMatchesDataGridFilteringLabel => r'कोई मेल नहीं'; + @override String get noSelectedDateCalendarLabel => r'कोई चयनित तिथि नहीं'; + @override + String get notEmptyDataGridFilteringLabel => r'खाली नहीं है'; + + @override + String get notNullDataGridFilteringLabel => r'शून्य नहीं'; + + @override + String get nullDataGridFilteringLabel => r'शून्य'; + + @override + String get numberFiltersDataGridFilteringLabel => r'नंबर फिल्टर'; + @override String get ofDataPagerLabel => r'का'; + @override + String get okDataGridFilteringLabel => r'ठीक है'; + + @override + String get orDataGridFilteringLabel => r'या'; + @override String get pagesDataPagerLabel => r'पृष्ठों'; @override String get passwordDialogContentLabel => - r'इस पीडीएफ फाइल को खोलने के लिए पासवर्ड दर्ज करें'; + r'इस पीडीएफ फाइल को खोलने के लिए पासवर्ड डालें'; @override String get passwordDialogHeaderTextLabel => r'पासवर्ड से सुरक्षित'; @@ -4772,25 +7852,25 @@ class SfLocalizationsHi extends SfGlobalLocalizations { String get pdfBookmarksLabel => r'बुकमार्क'; @override - String get pdfEnterPageNumberLabel => r'पेज नंबर दर्ज करें'; + String get pdfEnterPageNumberLabel => r'पृष्ठ संख्या दर्ज करें'; @override String get pdfGoToPageLabel => r'पृष्ठ पर जाओ'; @override - String get pdfHyperlinkContentLabel => r'क्या आप यहां पेज खोलना चाहते हैं'; + String get pdfHyperlinkContentLabel => r'क्या आप पर पृष्ठ खोलना चाहते हैं'; @override - String get pdfHyperlinkDialogCancelLabel => r'रद्द करें'; + String get pdfHyperlinkDialogCancelLabel => r'रद्द करना'; @override - String get pdfHyperlinkDialogOpenLabel => r'खुला'; + String get pdfHyperlinkDialogOpenLabel => r'खोलना'; @override String get pdfHyperlinkLabel => r'वेब पेज खोलें'; @override - String get pdfInvalidPageNumberLabel => r'कृपया एक सही संख्या डालिये'; + String get pdfInvalidPageNumberLabel => r'कृपया सही अंक दर्ज करें'; @override String get pdfNoBookmarksLabel => r'कोई बुकमार्क नहीं मिला'; @@ -4799,13 +7879,13 @@ class SfLocalizationsHi extends SfGlobalLocalizations { String get pdfPaginationDialogCancelLabel => r'रद्द करना'; @override - String get pdfPaginationDialogOkLabel => r'ठीक'; + String get pdfPaginationDialogOkLabel => r'ठीक है'; @override String get pdfPasswordDialogCancelLabel => r'रद्द करना'; @override - String get pdfPasswordDialogOpenLabel => r'खुला हुआ'; + String get pdfPasswordDialogOpenLabel => r'खोलना'; @override String get pdfScrollStatusOfLabel => r'का'; @@ -4814,10 +7894,10 @@ class SfLocalizationsHi extends SfGlobalLocalizations { String get rabi1Label => r'रबी अल-अव्वल'; @override - String get rabi2Label => r'रबी अल-थानी'; + String get rabi2Label => r'रबी ' "'" r'अल-थानी'; @override - String get rajabLabel => r'राजाबी'; + String get rajabLabel => r'रज्जब'; @override String get ramadanLabel => r'रमजान'; @@ -4828,29 +7908,35 @@ class SfLocalizationsHi extends SfGlobalLocalizations { @override String get safarLabel => r'सफ़र'; + @override + String get searchDataGridFilteringLabel => r'खोज'; + + @override + String get selectAllDataGridFilteringLabel => r'सभी का चयन करे'; + @override String get series => r'श्रृंखला'; @override - String get shaabanLabel => r'शाबानो'; + String get shaabanLabel => r'शाबान'; @override String get shawwalLabel => r'शावाल'; @override - String get shortDhualhiLabel => r'धुल-हो'; + String get shortDhualhiLabel => r'धुल-एच'; @override String get shortDhualqiLabel => r'धुल-क्यू'; @override - String get shortJumada1Label => r'जम. मैं'; + String get shortJumada1Label => r'जम। मैं'; @override - String get shortJumada2Label => r'जम. द्वितीय'; + String get shortJumada2Label => r'जम। द्वितीय'; @override - String get shortMuharramLabel => r'मुह.'; + String get shortMuharramLabel => r'मुह।'; @override String get shortRabi1Label => r'रबी। मैं'; @@ -4859,13 +7945,13 @@ class SfLocalizationsHi extends SfGlobalLocalizations { String get shortRabi2Label => r'रबी। द्वितीय'; @override - String get shortRajabLabel => r'राज.'; + String get shortRajabLabel => r'राज।'; @override String get shortRamadanLabel => r'टक्कर मारना।'; @override - String get shortSafarLabel => r'साफ.'; + String get shortSafarLabel => r'सफ।'; @override String get shortShaabanLabel => r'शा.'; @@ -4873,6 +7959,38 @@ class SfLocalizationsHi extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'शॉ।'; + @override + String get showRowsWhereDataGridFilteringLabel => r'पंक्तियाँ कहाँ दिखाएँ'; + + @override + String get sortAToZDataGridFilteringLabel => r'A से Z तक क्रमबद्ध करें'; + + @override + String get sortAndFilterDataGridFilteringLabel => + r'क्रमबद्ध करें और फ़िल्टर करें'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'सबसे बड़े को सबसे छोटे के क्रम में लगाएं'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'सबसे नए से सबसे पुराने के क्रम में लगाएं'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'सबसे पुराने से नए के क्रम में लगाएं'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'सबसे छोटे से बड़े के क्रम में लगाएं'; + + @override + String get sortZToADataGridFilteringLabel => r'Z से A तक क्रमबद्ध करें'; + + @override + String get textFiltersDataGridFilteringLabel => r'पाठ फ़िल्टर'; + @override String get todayLabel => r'आज'; @@ -4889,6 +8007,12 @@ class SfLocalizationsHr extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Nakon'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Nakon ili jednako'; + @override String get allDayLabel => r'Cijeli dan'; @@ -4920,35 +8044,116 @@ class SfLocalizationsHr extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Radni tjedan'; + @override + String get andDataGridFilteringLabel => r'I'; + + @override + String get beforeDataGridFilteringLabel => r'Prije ili jednako'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Prije'; + + @override + String get beginsWithDataGridFilteringLabel => r'Počinje sa'; + + @override + String get cancelDataGridFilteringLabel => r'Otkazati'; + + @override + String get clearFilterDataGridFilteringLabel => r'Obriši filtar'; + + @override + String get containsDataGridFilteringLabel => r'Sadrži'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Filtri datuma'; + @override String get daySpanCountLabel => r'Dan'; @override - String get dhualhiLabel => r'Dhu al-Hijjah'; + String get dhualhiLabel => r'zul-hidždže'; @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; @override - String get jumada1Label => r'Jumada al-awwal'; + String get doesNotBeginWithDataGridFilteringLabel => r'Ne počinje s'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Ne sadrži'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Ne završava sa'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Nije jednako'; + + @override + String get emptyDataGridFilteringLabel => r'Prazan'; + + @override + String get endsWithDataGridFilteringLabel => r'Završava sa'; + + @override + String get equalsDataGridFilteringLabel => r'Jednako'; + + @override + String get fromDataGridFilteringLabel => r'Iz'; + + @override + String get greaterThanDataGridFilteringLabel => r'Veći od'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Veće ili jednako'; + + @override + String get jumada1Label => r'džumade el-evval'; @override String get jumada2Label => r'Jumada al-thani'; @override - String get muharramLabel => r'Muharem'; + String get lessThanDataGridFilteringLabel => r'Manje od'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Manje ili jednako'; + + @override + String get muharramLabel => r'Muharrema'; @override String get noEventsCalendarLabel => r'Nema događaja'; + @override + String get noMatchesDataGridFilteringLabel => r'Nema podudaranja'; + @override String get noSelectedDateCalendarLabel => r'Nema odabranog datuma'; + @override + String get notEmptyDataGridFilteringLabel => r'Nije prazno'; + + @override + String get notNullDataGridFilteringLabel => r'Nije Null'; + + @override + String get nullDataGridFilteringLabel => r'Null'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Filtri brojeva'; + @override String get ofDataPagerLabel => r'od'; @override - String get pagesDataPagerLabel => r'stranicama'; + String get okDataGridFilteringLabel => r'u redu'; + + @override + String get orDataGridFilteringLabel => r'Ili'; + + @override + String get pagesDataPagerLabel => r'stranice'; @override String get passwordDialogContentLabel => @@ -4979,16 +8184,16 @@ class SfLocalizationsHr extends SfGlobalLocalizations { String get pdfHyperlinkDialogCancelLabel => r'OTKAZATI'; @override - String get pdfHyperlinkDialogOpenLabel => r'OTVOREN'; + String get pdfHyperlinkDialogOpenLabel => r'OTVORENA'; @override - String get pdfHyperlinkLabel => r'Otvorite web stranicu'; + String get pdfHyperlinkLabel => r'Otvori web stranicu'; @override - String get pdfInvalidPageNumberLabel => r'Unesite valjani broj'; + String get pdfInvalidPageNumberLabel => r'Unesite važeći broj'; @override - String get pdfNoBookmarksLabel => r'Nije pronađena nijedna oznaka'; + String get pdfNoBookmarksLabel => r'Nema pronađenih oznaka'; @override String get pdfPaginationDialogCancelLabel => r'OTKAZATI'; @@ -5006,16 +8211,16 @@ class SfLocalizationsHr extends SfGlobalLocalizations { String get pdfScrollStatusOfLabel => r'od'; @override - String get rabi1Label => r'Rabi' "'" r' el-evval'; + String get rabi1Label => r'Rabi' "'" r' al-awwal'; @override String get rabi2Label => r'Rabi' "'" r' al-thani'; @override - String get rajabLabel => r'Radžab'; + String get rajabLabel => r'Radžeb'; @override - String get ramadanLabel => r'ramazana'; + String get ramadanLabel => r'Ramazan'; @override String get rowsPerPageDataPagerLabel => r'Redovi po stranici'; @@ -5023,20 +8228,26 @@ class SfLocalizationsHr extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'traži'; + + @override + String get selectAllDataGridFilteringLabel => r'Odaberi sve'; + @override String get series => r'Niz'; @override - String get shaabanLabel => r'Sha' "'" r'aban'; + String get shaabanLabel => r'ša' "'" r'aban'; @override - String get shawwalLabel => r'Shawwal'; + String get shawwalLabel => r'ševval'; @override - String get shortDhualhiLabel => r'Dhu' "'" r'l-H'; + String get shortDhualhiLabel => r'Zul-H'; @override - String get shortDhualqiLabel => r'Dhu' "'" r'l-Q'; + String get shortDhualqiLabel => r'Zul-Q'; @override String get shortJumada1Label => r'Jum. ja'; @@ -5068,6 +8279,37 @@ class SfLocalizationsHr extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Pokaži retke gdje'; + + @override + String get sortAToZDataGridFilteringLabel => r'Poredaj od A do Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Sortiraj i filtriraj'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Poredaj od najvećeg prema najmanjem'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Poredaj od najnovijeg do najstarijeg'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Poredaj od najstarijeg do najnovijeg'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Poredaj od najmanjeg do najvećeg'; + + @override + String get sortZToADataGridFilteringLabel => r'Poredaj od Z do A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Filtri teksta'; + @override String get todayLabel => r'Danas'; @@ -5084,6 +8326,12 @@ class SfLocalizationsHu extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Után'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Után vagy egyenlő'; + @override String get allDayLabel => r'Egész nap'; @@ -5115,120 +8363,210 @@ class SfLocalizationsHu extends SfGlobalLocalizations { String get allowedViewWorkWeekLabel => r'Munkahét'; @override - String get daySpanCountLabel => r'Nap'; + String get andDataGridFilteringLabel => r'És'; @override - String get dhualhiLabel => r'Dhu al-Hijjah'; + String get beforeDataGridFilteringLabel => r'Előtte vagy egyenlő'; @override - String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + String get beforeOrEqualDataGridFilteringLabel => r'Előtt'; @override - String get jumada1Label => r'Jumada al-awwal'; + String get beginsWithDataGridFilteringLabel => r'Ezzel kezdődik'; @override - String get jumada2Label => r'Jumada al-thani'; + String get cancelDataGridFilteringLabel => r'Megszünteti'; @override - String get muharramLabel => r'Muharram'; + String get clearFilterDataGridFilteringLabel => r'Szűrő törlése'; @override - String get noEventsCalendarLabel => r'Nincsenek események'; + String get containsDataGridFilteringLabel => r'Tartalmaz'; @override - String get noSelectedDateCalendarLabel => r'Nincs kiválasztott dátum'; + String get dateFiltersDataGridFilteringLabel => r'Dátumszűrők'; @override - String get ofDataPagerLabel => r'nak,-nek'; + String get daySpanCountLabel => r'Nap'; @override - String get pagesDataPagerLabel => r'oldalakat'; + String get dhualhiLabel => r'Dhu al-Hijjah'; @override - String get passwordDialogContentLabel => - r'Írja be a jelszót a PDF-fájl megnyitásához'; + String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; @override - String get passwordDialogHeaderTextLabel => r'Jelszóval védett'; + String get doesNotBeginWithDataGridFilteringLabel => r'Nem azzal kezdődik'; @override - String get passwordDialogHintTextLabel => r'Írd be a jelszót'; + String get doesNotContainDataGridFilteringLabel => r'Nem tartalmaz'; @override - String get passwordDialogInvalidPasswordLabel => r'Érvénytelen jelszó'; + String get doesNotEndWithDataGridFilteringLabel => r'Nem ér véget'; @override - String get pdfBookmarksLabel => r'Könyvjelzők'; + String get doesNotEqualDataGridFilteringLabel => r'Nem egyenlő'; @override - String get pdfEnterPageNumberLabel => r'Írja be az oldalszámot'; + String get emptyDataGridFilteringLabel => r'Üres'; @override - String get pdfGoToPageLabel => r'Menj az oldalra'; + String get endsWithDataGridFilteringLabel => r'Végződik'; @override - String get pdfHyperlinkContentLabel => r'Meg akarja nyitni az oldalt a címen'; + String get equalsDataGridFilteringLabel => r'Egyenlő'; @override - String get pdfHyperlinkDialogCancelLabel => r'MEGSZÜNTETI'; + String get fromDataGridFilteringLabel => r'Tól től'; @override - String get pdfHyperlinkDialogOpenLabel => r'NYISD KI'; + String get greaterThanDataGridFilteringLabel => r'Nagyobb, mint'; @override - String get pdfHyperlinkLabel => r'Weboldal megnyitása'; + String get greaterThanOrEqualDataGridFilteringLabel => + r'Nagyobb, mint vagy egyenlő'; @override - String get pdfInvalidPageNumberLabel => r'Adjon meg egy érvényes számot'; + String get jumada1Label => r'Jumada al-awwal'; @override - String get pdfNoBookmarksLabel => r'Nem találhatók könyvjelzők'; + String get jumada2Label => r'Jumada al-thani'; @override - String get pdfPaginationDialogCancelLabel => r'MEGSZÜNTETI'; + String get lessThanDataGridFilteringLabel => r'Kevesebb, mint'; @override - String get pdfPaginationDialogOkLabel => r'rendben'; + String get lessThanOrEqualDataGridFilteringLabel => + r'Kevesebb, mint vagy egyenlő'; @override - String get pdfPasswordDialogCancelLabel => r'MEGSZÜNTETI'; + String get muharramLabel => r'Muharram'; @override - String get pdfPasswordDialogOpenLabel => r'NYISD KI'; + String get noEventsCalendarLabel => r'Nincsenek események'; @override - String get pdfScrollStatusOfLabel => r'nak,-nek'; + String get noMatchesDataGridFilteringLabel => r'Nincs egyezés'; @override - String get rabi1Label => r'Rabi' "'" r' al-awwal'; + String get noSelectedDateCalendarLabel => r'Nincs kiválasztott dátum'; @override - String get rabi2Label => r'Rabi' "'" r' al-thani'; + String get notEmptyDataGridFilteringLabel => r'Nem üres'; @override - String get rajabLabel => r'Rajab'; + String get notNullDataGridFilteringLabel => r'Nem nulla'; @override - String get ramadanLabel => r'Ramadan'; + String get nullDataGridFilteringLabel => r'Nulla'; @override - String get rowsPerPageDataPagerLabel => r'Sorok oldalanként'; + String get numberFiltersDataGridFilteringLabel => r'Számszűrők'; @override - String get safarLabel => r'Safar'; + String get ofDataPagerLabel => r'nak,-nek'; @override - String get series => r'Sorozat'; + String get okDataGridFilteringLabel => r'rendben'; @override - String get shaabanLabel => r'Sha' "'" r'aban'; + String get orDataGridFilteringLabel => r'Vagy'; @override - String get shawwalLabel => r'Shawwal'; + String get pagesDataPagerLabel => r'oldalakat'; @override - String get shortDhualhiLabel => r'Dhu' "'" r'l-H'; - + String get passwordDialogContentLabel => + r'Írja be a jelszót a PDF-fájl megnyitásához'; + + @override + String get passwordDialogHeaderTextLabel => r'Jelszóval védett'; + + @override + String get passwordDialogHintTextLabel => r'Írd be a jelszót'; + + @override + String get passwordDialogInvalidPasswordLabel => r'Érvénytelen jelszó'; + + @override + String get pdfBookmarksLabel => r'Könyvjelzők'; + + @override + String get pdfEnterPageNumberLabel => r'Írja be az oldalszámot'; + + @override + String get pdfGoToPageLabel => r'Menj az oldalra'; + + @override + String get pdfHyperlinkContentLabel => r'Meg akarja nyitni az oldalt a címen'; + + @override + String get pdfHyperlinkDialogCancelLabel => r'MEGSZÜNTETI'; + + @override + String get pdfHyperlinkDialogOpenLabel => r'NYISD KI'; + + @override + String get pdfHyperlinkLabel => r'Weboldal megnyitása'; + + @override + String get pdfInvalidPageNumberLabel => + r'Kérjük, adjon meg egy érvényes számot'; + + @override + String get pdfNoBookmarksLabel => r'Nem találhatók könyvjelzők'; + + @override + String get pdfPaginationDialogCancelLabel => r'MEGSZÜNTETI'; + + @override + String get pdfPaginationDialogOkLabel => r'rendben'; + + @override + String get pdfPasswordDialogCancelLabel => r'MEGSZÜNTETI'; + + @override + String get pdfPasswordDialogOpenLabel => r'NYISD KI'; + + @override + String get pdfScrollStatusOfLabel => r'nak,-nek'; + + @override + String get rabi1Label => r'Rabi' "'" r' al-awwal'; + + @override + String get rabi2Label => r'Rabi' "'" r' al-thani'; + + @override + String get rajabLabel => r'Rajab'; + + @override + String get ramadanLabel => r'Ramadán'; + + @override + String get rowsPerPageDataPagerLabel => r'Sorok oldalanként'; + + @override + String get safarLabel => r'Safar'; + + @override + String get searchDataGridFilteringLabel => r'Keresés'; + + @override + String get selectAllDataGridFilteringLabel => r'Mindet kiválaszt'; + + @override + String get series => r'Sorozat'; + + @override + String get shaabanLabel => r'Sha' "'" r'aban'; + + @override + String get shawwalLabel => r'Shawwal'; + + @override + String get shortDhualhiLabel => r'Dhu' "'" r'l-H'; + @override String get shortDhualqiLabel => r'Dhu' "'" r'l-Q'; @@ -5262,6 +8600,37 @@ class SfLocalizationsHu extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Sorok megjelenítése hol'; + + @override + String get sortAToZDataGridFilteringLabel => r'Rendezés A-tól Z-ig'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Rendezés és szűrés'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Rendezés a legnagyobbtól a legkisebbig'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Rendezés a legújabbtól a legrégebbig'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Rendezés a legrégebbitől a legújabbig'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Rendezés a legkisebbtől a legnagyobbig'; + + @override + String get sortZToADataGridFilteringLabel => r'Rendezés Z-ből A-ba'; + + @override + String get textFiltersDataGridFilteringLabel => r'Szövegszűrők'; + @override String get todayLabel => r'Ma'; @@ -5278,6 +8647,12 @@ class SfLocalizationsHy extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'հետո'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Կամ հավասարից հետո'; + @override String get allDayLabel => r'Ամբողջ օրը'; @@ -5309,6 +8684,30 @@ class SfLocalizationsHy extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Աշխատանքային շաբաթ'; + @override + String get andDataGridFilteringLabel => r'Եվ'; + + @override + String get beforeDataGridFilteringLabel => r'Նախքան կամ հավասարը'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Նախքան'; + + @override + String get beginsWithDataGridFilteringLabel => r'Սկսվում է'; + + @override + String get cancelDataGridFilteringLabel => r'Չեղարկել'; + + @override + String get clearFilterDataGridFilteringLabel => r'Մաքրել զտիչը'; + + @override + String get containsDataGridFilteringLabel => r'Պարունակում է'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Ամսաթվի զտիչներ'; + @override String get daySpanCountLabel => r'Օր'; @@ -5319,23 +8718,81 @@ class SfLocalizationsHy extends SfGlobalLocalizations { String get dhualqiLabel => r'Դհու ալ-Քիդա'; @override - String get jumada1Label => r'Ջումադա ալ-ավալ'; + String get doesNotBeginWithDataGridFilteringLabel => r'Չի սկսվում'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Չի պարունակում'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Չի ավարտվում'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Չի հավասարվում'; + + @override + String get emptyDataGridFilteringLabel => r'Դատարկ'; + + @override + String get endsWithDataGridFilteringLabel => r'Ավարտվում է'; + + @override + String get equalsDataGridFilteringLabel => r'Հավասար է'; + + @override + String get fromDataGridFilteringLabel => r'Սկսած'; + + @override + String get greaterThanDataGridFilteringLabel => r'Ավելի մեծ քան'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'Ավելի մեծ, քան հավասար'; + + @override + String get jumada1Label => r'Ջումադա ալ-ավվալ'; @override String get jumada2Label => r'Ջումադա ալ-Թանի'; @override - String get muharramLabel => r'Մուհարամ'; + String get lessThanDataGridFilteringLabel => r'Ավելի քիչ քան'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Ավելի քիչ, քան հավասար'; + + @override + String get muharramLabel => r'Մուհարրամ'; @override String get noEventsCalendarLabel => r'Միջոցառումներ չկան'; + @override + String get noMatchesDataGridFilteringLabel => r'Համընկնումներ չկան'; + @override String get noSelectedDateCalendarLabel => r'Ընտրված ամսաթիվ չկա'; + @override + String get notEmptyDataGridFilteringLabel => r'Ոչ դատարկ'; + + @override + String get notNullDataGridFilteringLabel => r'Ոչ զրոյական'; + + @override + String get nullDataGridFilteringLabel => r'Դատարկ'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Թվերի զտիչներ'; + @override String get ofDataPagerLabel => r'-ից'; + @override + String get okDataGridFilteringLabel => r'լավ'; + + @override + String get orDataGridFilteringLabel => r'Կամ'; + @override String get pagesDataPagerLabel => r'էջեր'; @@ -5362,7 +8819,7 @@ class SfLocalizationsHy extends SfGlobalLocalizations { String get pdfGoToPageLabel => r'Գնալ դեպի էջ'; @override - String get pdfHyperlinkContentLabel => r'Ցանկանու՞մ եք բացել էջը ժամը'; + String get pdfHyperlinkContentLabel => r'Ցանկանու՞մ եք բացել էջը'; @override String get pdfHyperlinkDialogCancelLabel => r'ՉԵՂԱՐԿԵԼ'; @@ -5412,6 +8869,12 @@ class SfLocalizationsHy extends SfGlobalLocalizations { @override String get safarLabel => r'Սաֆար'; + @override + String get searchDataGridFilteringLabel => r'Որոնում'; + + @override + String get selectAllDataGridFilteringLabel => r'Ընտրել բոլորը'; + @override String get series => r'Սերիա'; @@ -5457,6 +8920,37 @@ class SfLocalizationsHy extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Շոու.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Ցույց տալ տողերը, որտեղ'; + + @override + String get sortAToZDataGridFilteringLabel => r'Տեսակավորել A-ից Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Տեսակավորել և զտել'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Տեսակավորել ամենամեծից փոքրից'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Տեսակավորել ամենանորից ամենահինը'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Տեսակավորել ամենահինը նորագույնին'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Տեսակավորել ամենափոքրից ամենամեծը'; + + @override + String get sortZToADataGridFilteringLabel => r'Տեսակավորել Z-ը A-ին'; + + @override + String get textFiltersDataGridFilteringLabel => r'Տեքստի զտիչներ'; + @override String get todayLabel => r'Այսօր'; @@ -5473,6 +8967,12 @@ class SfLocalizationsId extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Setelah'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Setelah Atau Sama'; + @override String get allDayLabel => r'Sepanjang hari'; @@ -5489,19 +8989,43 @@ class SfLocalizationsId extends SfGlobalLocalizations { String get allowedViewTimelineDayLabel => r'Hari Garis Waktu'; @override - String get allowedViewTimelineMonthLabel => r'Garis Waktu Bulan'; + String get allowedViewTimelineMonthLabel => r'Bulan Garis Waktu'; @override - String get allowedViewTimelineWeekLabel => r'Garis Waktu Minggu'; + String get allowedViewTimelineWeekLabel => r'Minggu Garis Waktu'; @override - String get allowedViewTimelineWorkWeekLabel => r'Garis Waktu Minggu Kerja'; + String get allowedViewTimelineWorkWeekLabel => r'Minggu Kerja Timeline'; @override String get allowedViewWeekLabel => r'Pekan'; @override - String get allowedViewWorkWeekLabel => r'minggu kerja'; + String get allowedViewWorkWeekLabel => r'Minggu Kerja'; + + @override + String get andDataGridFilteringLabel => r'Dan'; + + @override + String get beforeDataGridFilteringLabel => r'Sebelum Atau Sama'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Sebelum'; + + @override + String get beginsWithDataGridFilteringLabel => r'Dimulai dengan'; + + @override + String get cancelDataGridFilteringLabel => r'Membatalkan'; + + @override + String get clearFilterDataGridFilteringLabel => r'Hapus Filter'; + + @override + String get containsDataGridFilteringLabel => r'Mengandung'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Filter Tanggal'; @override String get daySpanCountLabel => r'Hari'; @@ -5510,7 +9034,38 @@ class SfLocalizationsId extends SfGlobalLocalizations { String get dhualhiLabel => r'Dzulhijjah'; @override - String get dhualqiLabel => r'Dzulqidah'; + String get dhualqiLabel => r'Dhu al-Qidah'; + + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Tidak Dimulai Dengan'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Tidak mengandung'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Tidak Berakhir Dengan'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Tidak sama'; + + @override + String get emptyDataGridFilteringLabel => r'Kosong'; + + @override + String get endsWithDataGridFilteringLabel => r'Berakhir dengan'; + + @override + String get equalsDataGridFilteringLabel => r'Sama dengan'; + + @override + String get fromDataGridFilteringLabel => r'Dari'; + + @override + String get greaterThanDataGridFilteringLabel => r'Lebih besar dari'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'Lebih Besar Dari Atau Sama Dengan'; @override String get jumada1Label => r'Jumada al-awwal'; @@ -5518,18 +9073,45 @@ class SfLocalizationsId extends SfGlobalLocalizations { @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Kurang dari'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Kurang Dari Atau Sama'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'Tidak ada acara'; + @override + String get noMatchesDataGridFilteringLabel => r'Tidak ada yang cocok'; + @override String get noSelectedDateCalendarLabel => r'Tidak ada tanggal yang dipilih'; + @override + String get notEmptyDataGridFilteringLabel => r'Tidak kosong'; + + @override + String get notNullDataGridFilteringLabel => r'Bukan Nol'; + + @override + String get nullDataGridFilteringLabel => r'Batal'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Filter Angka'; + @override String get ofDataPagerLabel => r'dari'; + @override + String get okDataGridFilteringLabel => r'Oke'; + + @override + String get orDataGridFilteringLabel => r'Atau'; + @override String get pagesDataPagerLabel => r'halaman'; @@ -5569,7 +9151,7 @@ class SfLocalizationsId extends SfGlobalLocalizations { String get pdfHyperlinkLabel => r'Buka Halaman Web'; @override - String get pdfInvalidPageNumberLabel => r'Harap masukkan nomor yang valid'; + String get pdfInvalidPageNumberLabel => r'Masukkan nomor yang valid'; @override String get pdfNoBookmarksLabel => r'Tidak ada bookmark yang ditemukan'; @@ -5578,7 +9160,7 @@ class SfLocalizationsId extends SfGlobalLocalizations { String get pdfPaginationDialogCancelLabel => r'MEMBATALKAN'; @override - String get pdfPaginationDialogOkLabel => r'oke'; + String get pdfPaginationDialogOkLabel => r'Oke'; @override String get pdfPasswordDialogCancelLabel => r'MEMBATALKAN'; @@ -5590,7 +9172,7 @@ class SfLocalizationsId extends SfGlobalLocalizations { String get pdfScrollStatusOfLabel => r'dari'; @override - String get rabi1Label => r'Rabi' "'" r' al-awwal'; + String get rabi1Label => r'Rabi' "'" r' al-awal'; @override String get rabi2Label => r'Rabi' "'" r' al-thani'; @@ -5605,7 +9187,13 @@ class SfLocalizationsId extends SfGlobalLocalizations { String get rowsPerPageDataPagerLabel => r'Baris per halaman'; @override - String get safarLabel => r'Safari'; + String get safarLabel => r'Safar'; + + @override + String get searchDataGridFilteringLabel => r'Mencari'; + + @override + String get selectAllDataGridFilteringLabel => r'Pilih Semua'; @override String get series => r'Seri'; @@ -5617,13 +9205,13 @@ class SfLocalizationsId extends SfGlobalLocalizations { String get shawwalLabel => r'Syawal'; @override - String get shortDhualhiLabel => r'Dhu' "'" r'l-H'; + String get shortDhualhiLabel => r'Dzul-H'; @override - String get shortDhualqiLabel => r'Dzul Q'; + String get shortDhualqiLabel => r'Dzul-Q'; @override - String get shortJumada1Label => r'Jum. saya'; + String get shortJumada1Label => r'Jum. Saya'; @override String get shortJumada2Label => r'Jum. II'; @@ -5632,7 +9220,7 @@ class SfLocalizationsId extends SfGlobalLocalizations { String get shortMuharramLabel => r'Muh.'; @override - String get shortRabi1Label => r'Rabi. saya'; + String get shortRabi1Label => r'Rabi. Saya'; @override String get shortRabi2Label => r'Rabi. II'; @@ -5641,16 +9229,47 @@ class SfLocalizationsId extends SfGlobalLocalizations { String get shortRajabLabel => r'Raj.'; @override - String get shortRamadanLabel => r'Rama.'; + String get shortRamadanLabel => r'Ram.'; @override - String get shortSafarLabel => r'saf.'; + String get shortSafarLabel => r'Aman'; @override String get shortShaabanLabel => r'Sha.'; @override - String get shortShawwalLabel => r'Shaw'; + String get shortShawwalLabel => r'Shaw.'; + + @override + String get showRowsWhereDataGridFilteringLabel => r'Tampilkan baris di mana'; + + @override + String get sortAToZDataGridFilteringLabel => r'Urutkan A Sampai Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Sortir dan Filter'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Urutkan Terbesar Hingga Terkecil'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Urutkan Terbaru Ke Terlama'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Urutkan Terlama Ke Terbaru'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Urutkan Terkecil Hingga Terbesar'; + + @override + String get sortZToADataGridFilteringLabel => r'Urutkan Z Ke A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Filter Teks'; @override String get todayLabel => r'Hari ini'; @@ -5668,6 +9287,12 @@ class SfLocalizationsIs extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Eftir'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Eftir Or Equal'; + @override String get allDayLabel => r'Allan daginn'; @@ -5698,6 +9323,30 @@ class SfLocalizationsIs extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Vinnuvika'; + @override + String get andDataGridFilteringLabel => r'Og'; + + @override + String get beforeDataGridFilteringLabel => r'Áður eða jafnt'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Áður'; + + @override + String get beginsWithDataGridFilteringLabel => r'Byrjar með'; + + @override + String get cancelDataGridFilteringLabel => r'Hætta við'; + + @override + String get clearFilterDataGridFilteringLabel => r'Hreinsaðu síu'; + + @override + String get containsDataGridFilteringLabel => r'Inniheldur'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Dagsetningarsíur'; + @override String get daySpanCountLabel => r'Dagur'; @@ -5707,24 +9356,81 @@ class SfLocalizationsIs extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Byrjar ekki á'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Inniheldur ekki'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Endar ekki með'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Er ekki jafn'; + + @override + String get emptyDataGridFilteringLabel => r'Tómt'; + + @override + String get endsWithDataGridFilteringLabel => r'Endar Með'; + + @override + String get equalsDataGridFilteringLabel => r'Jafnt'; + + @override + String get fromDataGridFilteringLabel => r'Frá'; + + @override + String get greaterThanDataGridFilteringLabel => r'Meiri en'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Stærri en eða jafn'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Minna en'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Minna en eða jafnt'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'Engir viðburðir'; + @override + String get noMatchesDataGridFilteringLabel => r'Engar samsvörun'; + @override String get noSelectedDateCalendarLabel => r'Engin valin dagsetning'; + @override + String get notEmptyDataGridFilteringLabel => r'Ekki tómt'; + + @override + String get notNullDataGridFilteringLabel => r'Ekki Null'; + + @override + String get nullDataGridFilteringLabel => r'Núll'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Númerasíur'; + @override String get ofDataPagerLabel => r'af'; + @override + String get okDataGridFilteringLabel => r'Allt í lagi'; + + @override + String get orDataGridFilteringLabel => r'Eða'; + @override String get pagesDataPagerLabel => r'síður'; @@ -5763,7 +9469,7 @@ class SfLocalizationsIs extends SfGlobalLocalizations { String get pdfHyperlinkLabel => r'Opnaðu vefsíðu'; @override - String get pdfInvalidPageNumberLabel => r'Vinsamlega sláðu inn gilt númer'; + String get pdfInvalidPageNumberLabel => r'Vinsamlegast sláðu inn gilt númer'; @override String get pdfNoBookmarksLabel => r'Engin bókamerki fundust'; @@ -5796,10 +9502,16 @@ class SfLocalizationsIs extends SfGlobalLocalizations { String get ramadanLabel => r'Ramadan'; @override - String get rowsPerPageDataPagerLabel => r'Raðir á síðu'; + String get rowsPerPageDataPagerLabel => r'Raðir á síðu'; + + @override + String get safarLabel => r'Safar'; + + @override + String get searchDataGridFilteringLabel => r'Leita'; @override - String get safarLabel => r'Safar'; + String get selectAllDataGridFilteringLabel => r'Velja allt'; @override String get series => r'Röð'; @@ -5846,6 +9558,37 @@ class SfLocalizationsIs extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Sýna línur hvar'; + + @override + String get sortAToZDataGridFilteringLabel => r'Raða A Til Ö'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Raða og sía'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Raða Stærsta Til Minnsta'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Raða nýjustu í elstu'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Raða elstu í nýjustu'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Raða minnstu í stærstu'; + + @override + String get sortZToADataGridFilteringLabel => r'Raða Z Til A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Textasíur'; + @override String get todayLabel => r'Í dag'; @@ -5862,6 +9605,12 @@ class SfLocalizationsIt extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Dopo'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Dopo o uguale'; + @override String get allDayLabel => r'Tutto il giorno'; @@ -5875,19 +9624,17 @@ class SfLocalizationsIt extends SfGlobalLocalizations { String get allowedViewScheduleLabel => r'Programma'; @override - String get allowedViewTimelineDayLabel => - r'Giornata della sequenza temporale'; + String get allowedViewTimelineDayLabel => r'Giorno della cronologia'; @override - String get allowedViewTimelineMonthLabel => r'Mese della sequenza temporale'; + String get allowedViewTimelineMonthLabel => r'Mese cronologico'; @override - String get allowedViewTimelineWeekLabel => - r'Settimana della sequenza temporale'; + String get allowedViewTimelineWeekLabel => r'Settimana della cronologia'; @override String get allowedViewTimelineWorkWeekLabel => - r'Settimana del lavoro cronologico'; + r'Cronologia della settimana lavorativa'; @override String get allowedViewWeekLabel => r'Settimana'; @@ -5895,6 +9642,30 @@ class SfLocalizationsIt extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Settimana di lavoro'; + @override + String get andDataGridFilteringLabel => r'E'; + + @override + String get beforeDataGridFilteringLabel => r'Prima o uguale'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Prima'; + + @override + String get beginsWithDataGridFilteringLabel => r'Inizia con'; + + @override + String get cancelDataGridFilteringLabel => r'Annulla'; + + @override + String get clearFilterDataGridFilteringLabel => r'Filtro pulito'; + + @override + String get containsDataGridFilteringLabel => r'Contiene'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Filtri data'; + @override String get daySpanCountLabel => r'Giorno'; @@ -5902,7 +9673,37 @@ class SfLocalizationsIt extends SfGlobalLocalizations { String get dhualhiLabel => r'Dhu al-Hijjah'; @override - String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + String get dhualqiLabel => r'Dhu al-Qidah'; + + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Non inizia con'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Non contiene'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Non finisce con'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Non è uguale'; + + @override + String get emptyDataGridFilteringLabel => r'Vuoto'; + + @override + String get endsWithDataGridFilteringLabel => r'Finisce con'; + + @override + String get equalsDataGridFilteringLabel => r'È uguale a'; + + @override + String get fromDataGridFilteringLabel => r'Da'; + + @override + String get greaterThanDataGridFilteringLabel => r'Più grande di'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Maggiore o uguale'; @override String get jumada1Label => r'Jumada al-awwal'; @@ -5910,18 +9711,45 @@ class SfLocalizationsIt extends SfGlobalLocalizations { @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Meno di'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Minore o uguale'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'Nessun evento'; + @override + String get noMatchesDataGridFilteringLabel => r'Nessuna corrispondenza'; + @override String get noSelectedDateCalendarLabel => r'Nessuna data selezionata'; + @override + String get notEmptyDataGridFilteringLabel => r'Non vuoto'; + + @override + String get notNullDataGridFilteringLabel => r'Non nullo'; + + @override + String get nullDataGridFilteringLabel => r'Nullo'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Filtri numerici'; + @override String get ofDataPagerLabel => r'di'; + @override + String get okDataGridFilteringLabel => r'OK'; + + @override + String get orDataGridFilteringLabel => r'O'; + @override String get pagesDataPagerLabel => r'pagine'; @@ -5948,7 +9776,7 @@ class SfLocalizationsIt extends SfGlobalLocalizations { String get pdfGoToPageLabel => r'Vai alla pagina'; @override - String get pdfHyperlinkContentLabel => r'Vuoi aprire la pagina a'; + String get pdfHyperlinkContentLabel => r'Vuoi aprire la pagina in'; @override String get pdfHyperlinkDialogCancelLabel => r'ANNULLA'; @@ -5970,7 +9798,7 @@ class SfLocalizationsIt extends SfGlobalLocalizations { String get pdfPaginationDialogCancelLabel => r'ANNULLA'; @override - String get pdfPaginationDialogOkLabel => r'ok'; + String get pdfPaginationDialogOkLabel => r'OK'; @override String get pdfPasswordDialogCancelLabel => r'ANNULLA'; @@ -5999,6 +9827,12 @@ class SfLocalizationsIt extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Ricerca'; + + @override + String get selectAllDataGridFilteringLabel => r'Seleziona tutto'; + @override String get series => r'Serie'; @@ -6015,19 +9849,19 @@ class SfLocalizationsIt extends SfGlobalLocalizations { String get shortDhualqiLabel => r'Dhu' "'" r'l-Q'; @override - String get shortJumada1Label => r'Salto. io'; + String get shortJumada1Label => r'Jum. io'; @override - String get shortJumada2Label => r'Salto. II'; + String get shortJumada2Label => r'Jum. II'; @override - String get shortMuharramLabel => r'Mah.'; + String get shortMuharramLabel => r'Muh.'; @override - String get shortRabi1Label => r'Rabi. io'; + String get shortRabi1Label => r'Rabbi. io'; @override - String get shortRabi2Label => r'Rabi. II'; + String get shortRabi2Label => r'Rabbi. II'; @override String get shortRajabLabel => r'Raj.'; @@ -6044,6 +9878,37 @@ class SfLocalizationsIt extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Mostra righe dove'; + + @override + String get sortAToZDataGridFilteringLabel => r'Ordina dalla A alla Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Ordina e filtra'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Ordina dal più grande al più piccolo'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Ordina dal più recente al più vecchio'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Ordina dal più vecchio al più recente'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Ordina dal più piccolo al più grande'; + + @override + String get sortZToADataGridFilteringLabel => r'Ordina dalla Z alla A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Filtri di testo'; + @override String get todayLabel => r'In data odierna'; @@ -6060,6 +9925,12 @@ class SfLocalizationsJa extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'後'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'後または等しい'; + @override String get allDayLabel => r'一日中'; @@ -6079,49 +9950,130 @@ class SfLocalizationsJa extends SfGlobalLocalizations { String get allowedViewTimelineMonthLabel => r'タイムライン月'; @override - String get allowedViewTimelineWeekLabel => r'タイムラインウィーク'; + String get allowedViewTimelineWeekLabel => r'タイムライン 週'; @override - String get allowedViewTimelineWorkWeekLabel => r'タイムラインワークウィーク'; + String get allowedViewTimelineWorkWeekLabel => r'タイムライン 作業週'; @override String get allowedViewWeekLabel => r'週'; @override - String get allowedViewWorkWeekLabel => r'労働週'; + String get allowedViewWorkWeekLabel => r'勤務週'; + + @override + String get andDataGridFilteringLabel => r'と'; + + @override + String get beforeDataGridFilteringLabel => r'前または等しい'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'前'; + + @override + String get beginsWithDataGridFilteringLabel => r'次で始まる'; + + @override + String get cancelDataGridFilteringLabel => r'キャンセル'; + + @override + String get clearFilterDataGridFilteringLabel => r'フィルターをクリア'; + + @override + String get containsDataGridFilteringLabel => r'含む'; + + @override + String get dateFiltersDataGridFilteringLabel => r'日付フィルター'; @override String get daySpanCountLabel => r'日'; @override - String get dhualhiLabel => r'ズーアルヒジャ'; + String get dhualhiLabel => r'ドゥ アル ヒジャ'; + + @override + String get dhualqiLabel => r'ドゥ アルキダ'; + + @override + String get doesNotBeginWithDataGridFilteringLabel => r'次で始まらない'; + + @override + String get doesNotContainDataGridFilteringLabel => r'含まない'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'次で終わらない'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'等しくない'; + + @override + String get emptyDataGridFilteringLabel => r'空の'; + + @override + String get endsWithDataGridFilteringLabel => r'で終わる'; @override - String get dhualqiLabel => r'ズーアルチーダー'; + String get equalsDataGridFilteringLabel => r'等しい'; @override - String get jumada1Label => r'ジュマーダ・アル・アウワル'; + String get fromDataGridFilteringLabel => r'から'; @override - String get jumada2Label => r'ジュマーダ・アルタニ'; + String get greaterThanDataGridFilteringLabel => r'より大きい'; @override - String get muharramLabel => r'ムハッラム'; + String get greaterThanOrEqualDataGridFilteringLabel => r'以上'; + + @override + String get jumada1Label => r'ジュマーダ・アル・アワル'; + + @override + String get jumada2Label => r'ジュマーダ アルタニ'; + + @override + String get lessThanDataGridFilteringLabel => r'未満'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'以下'; + + @override + String get muharramLabel => r'ムハラム'; @override String get noEventsCalendarLabel => r'イベントなし'; + @override + String get noMatchesDataGridFilteringLabel => r'一致するものはありません'; + @override String get noSelectedDateCalendarLabel => r'日付が選択されていません'; + @override + String get notEmptyDataGridFilteringLabel => r'空ではない'; + + @override + String get notNullDataGridFilteringLabel => r'ヌルではない'; + + @override + String get nullDataGridFilteringLabel => r'ヌル'; + + @override + String get numberFiltersDataGridFilteringLabel => r'数値フィルター'; + @override String get ofDataPagerLabel => r'の'; + @override + String get okDataGridFilteringLabel => r'わかった'; + + @override + String get orDataGridFilteringLabel => r'または'; + @override String get pagesDataPagerLabel => r'ページ'; @override - String get passwordDialogContentLabel => r'このPDFファイルを開くためのパスワードを入力してください'; + String get passwordDialogContentLabel => r'このPDFファイルを開くにはパスワードを入力してください'; @override String get passwordDialogHeaderTextLabel => r'守られたパスワード'; @@ -6142,7 +10094,7 @@ class SfLocalizationsJa extends SfGlobalLocalizations { String get pdfGoToPageLabel => r'ページに移動'; @override - String get pdfHyperlinkContentLabel => r'次のページを開きますか'; + String get pdfHyperlinkContentLabel => r'でページを開きますか?'; @override String get pdfHyperlinkDialogCancelLabel => r'キャンセル'; @@ -6151,7 +10103,7 @@ class SfLocalizationsJa extends SfGlobalLocalizations { String get pdfHyperlinkDialogOpenLabel => r'開いた'; @override - String get pdfHyperlinkLabel => r'Webページを開く'; + String get pdfHyperlinkLabel => r'ウェブページを開く'; @override String get pdfInvalidPageNumberLabel => r'有効な数値を入力してください'; @@ -6175,10 +10127,10 @@ class SfLocalizationsJa extends SfGlobalLocalizations { String get pdfScrollStatusOfLabel => r'の'; @override - String get rabi1Label => r'ラビー・ウル・アウワル'; + String get rabi1Label => r'ラビアルアワル'; @override - String get rabi2Label => r'ラビー・アル・タニ'; + String get rabi2Label => r'ラビアルタニ'; @override String get rajabLabel => r'ラジャブ'; @@ -6187,40 +10139,46 @@ class SfLocalizationsJa extends SfGlobalLocalizations { String get ramadanLabel => r'ラマダン'; @override - String get rowsPerPageDataPagerLabel => r'1ページあたりの行数'; + String get rowsPerPageDataPagerLabel => r'ページあたりの行数'; @override - String get safarLabel => r'Safar'; + String get safarLabel => r'サファル'; + + @override + String get searchDataGridFilteringLabel => r'探す'; + + @override + String get selectAllDataGridFilteringLabel => r'すべて選択'; @override String get series => r'シリーズ'; @override - String get shaabanLabel => r'シャアバーン'; + String get shaabanLabel => r'シャアバン'; @override - String get shawwalLabel => r'シャウワール'; + String get shawwalLabel => r'シャワル'; @override - String get shortDhualhiLabel => r'Dhu' "'" r'l-H'; + String get shortDhualhiLabel => r'デュル-H'; @override - String get shortDhualqiLabel => r'Dhu' "'" r'l-Q'; + String get shortDhualqiLabel => r'デュルQ'; @override String get shortJumada1Label => r'ジャム。私'; @override - String get shortJumada2Label => r'ジャム。 II'; + String get shortJumada2Label => r'ジャム。 Ⅱ'; @override - String get shortMuharramLabel => r'ムー。'; + String get shortMuharramLabel => r'うーん。'; @override String get shortRabi1Label => r'ラビ。私'; @override - String get shortRabi2Label => r'ラビ。 II'; + String get shortRabi2Label => r'ラビ。 Ⅱ'; @override String get shortRajabLabel => r'ラージ。'; @@ -6229,14 +10187,42 @@ class SfLocalizationsJa extends SfGlobalLocalizations { String get shortRamadanLabel => r'RAM。'; @override - String get shortSafarLabel => r'Saf。'; + String get shortSafarLabel => r'サフ。'; @override - String get shortShaabanLabel => r'シャ。'; + String get shortShaabanLabel => r'しゃ。'; @override String get shortShawwalLabel => r'ショー。'; + @override + String get showRowsWhereDataGridFilteringLabel => r'行を表示'; + + @override + String get sortAToZDataGridFilteringLabel => r'A から Z に並べ替える'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'並べ替えとフィルター'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'大きいものから小さいものへ並べ替え'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => r'新しいものから古いものへ並べ替え'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => r'古いものから新しいものへ並べ替え'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => r'最小から最大への並べ替え'; + + @override + String get sortZToADataGridFilteringLabel => r'Z から A に並べ替え'; + + @override + String get textFiltersDataGridFilteringLabel => r'テキスト フィルター'; + @override String get todayLabel => r'今日'; @@ -6253,11 +10239,17 @@ class SfLocalizationsKa extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'შემდეგ'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'შემდეგ ან თანაბარი'; + @override String get allDayLabel => r'Მთელი დღე'; @override - String get allowedViewDayLabel => r'Დღეს'; + String get allowedViewDayLabel => r'Დღის'; @override String get allowedViewMonthLabel => r'თვე'; @@ -6284,31 +10276,112 @@ class SfLocalizationsKa extends SfGlobalLocalizations { String get allowedViewWorkWeekLabel => r'Სამუშაო კვირა'; @override - String get daySpanCountLabel => r'Დღეს'; + String get andDataGridFilteringLabel => r'და'; + + @override + String get beforeDataGridFilteringLabel => r'ადრე ან თანაბარი'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'მანამდე'; + + @override + String get beginsWithDataGridFilteringLabel => r'Იწყება'; + + @override + String get cancelDataGridFilteringLabel => r'გაუქმება'; + + @override + String get clearFilterDataGridFilteringLabel => r'ფილტრის გასუფთავება'; + + @override + String get containsDataGridFilteringLabel => r'შეიცავს'; + + @override + String get dateFiltersDataGridFilteringLabel => r'თარიღის ფილტრები'; + + @override + String get daySpanCountLabel => r'Დღის'; + + @override + String get dhualhiLabel => r'დჰულ-ჰიჯა'; + + @override + String get dhualqiLabel => r'დჰულ-ქიდა'; + + @override + String get doesNotBeginWithDataGridFilteringLabel => r'არ იწყება'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Არ შეიცავს'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'არ მთავრდება'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'არ უდრის'; + + @override + String get emptyDataGridFilteringLabel => r'ცარიელი'; + + @override + String get endsWithDataGridFilteringLabel => r'მთავრდება'; + + @override + String get equalsDataGridFilteringLabel => r'უდრის'; + + @override + String get fromDataGridFilteringLabel => r'დან'; + + @override + String get greaterThanDataGridFilteringLabel => r'Მეტია, ვიდრე'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'მეტი ან თანაბარი'; + + @override + String get jumada1Label => r'ჯუმადა ალ-ავვალი'; + + @override + String get jumada2Label => r'ჯუმადა ალ-თანი'; + + @override + String get lessThanDataGridFilteringLabel => r'Ნაკლები ვიდრე'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'ნაკლები ან თანაბარი'; + + @override + String get muharramLabel => r'მუჰარამი'; + + @override + String get noEventsCalendarLabel => r'არანაირი მოვლენა'; + + @override + String get noMatchesDataGridFilteringLabel => r'არანაირი მატჩი'; @override - String get dhualhiLabel => r'დჰულ-ჰიჯა'; + String get noSelectedDateCalendarLabel => r'არჩეული თარიღი არ არის'; @override - String get dhualqiLabel => r'დჰულ-ქიდა'; + String get notEmptyDataGridFilteringLabel => r'Არ არის ცარიელი'; @override - String get jumada1Label => r'ჯუმადა ალ-ავვალი'; + String get notNullDataGridFilteringLabel => r'არა ნულოვანი'; @override - String get jumada2Label => r'ჯუმადა ალ-თანი'; + String get nullDataGridFilteringLabel => r'ნულოვანი'; @override - String get muharramLabel => r'მუჰარამი'; + String get numberFiltersDataGridFilteringLabel => r'რიცხვების ფილტრები'; @override - String get noEventsCalendarLabel => r'არანაირი მოვლენა'; + String get ofDataPagerLabel => r'დან'; @override - String get noSelectedDateCalendarLabel => r'არჩეული თარიღი არ არის'; + String get okDataGridFilteringLabel => r'კარგი'; @override - String get ofDataPagerLabel => r'დან'; + String get orDataGridFilteringLabel => r'ან'; @override String get pagesDataPagerLabel => r'გვერდები'; @@ -6336,7 +10409,7 @@ class SfLocalizationsKa extends SfGlobalLocalizations { String get pdfGoToPageLabel => r'Გადადით გვერდზე'; @override - String get pdfHyperlinkContentLabel => r'გსურთ გახსნათ გვერდი:'; + String get pdfHyperlinkContentLabel => r'გსურთ გახსნათ გვერდი'; @override String get pdfHyperlinkDialogCancelLabel => r'გაუქმება'; @@ -6386,6 +10459,12 @@ class SfLocalizationsKa extends SfGlobalLocalizations { @override String get safarLabel => r'საფარი'; + @override + String get searchDataGridFilteringLabel => r'ძიება'; + + @override + String get selectAllDataGridFilteringLabel => r'Მონიშნე ყველა'; + @override String get series => r'სერიალი'; @@ -6431,6 +10510,37 @@ class SfLocalizationsKa extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'შოუ.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'აჩვენე რიგები სად'; + + @override + String get sortAToZDataGridFilteringLabel => r'დალაგება A-დან Z-მდე'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'დალაგება და გაფილტვრა'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'სორტირება დიდიდან პატარამდე'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'დალაგება უახლესიდან ძველზე'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'დალაგება უძველესიდან უახლესზე'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'დახარისხება პატარადან დიდამდე'; + + @override + String get sortZToADataGridFilteringLabel => r'დახარისხება Z-ზე A'; + + @override + String get textFiltersDataGridFilteringLabel => r'ტექსტის ფილტრები'; + @override String get todayLabel => r'დღეს'; @@ -6447,6 +10557,12 @@ class SfLocalizationsKk extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Кейін'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Кейін немесе Тең'; + @override String get allDayLabel => r'Күні бойы'; @@ -6477,6 +10593,30 @@ class SfLocalizationsKk extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Жұмыс аптасы'; + @override + String get andDataGridFilteringLabel => r'Және'; + + @override + String get beforeDataGridFilteringLabel => r'Бұрын немесе Тең'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Бұрын'; + + @override + String get beginsWithDataGridFilteringLabel => r'-мен басталады'; + + @override + String get cancelDataGridFilteringLabel => r'Болдырмау'; + + @override + String get clearFilterDataGridFilteringLabel => r'Сүзгіні тазалау'; + + @override + String get containsDataGridFilteringLabel => r'Құрамында'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Күн сүзгілері'; + @override String get daySpanCountLabel => r'Күн'; @@ -6484,7 +10624,37 @@ class SfLocalizationsKk extends SfGlobalLocalizations { String get dhualhiLabel => r'Зул-Хиджа'; @override - String get dhualqiLabel => r'Зу әл-Қида'; + String get dhualqiLabel => r'Зул-Қида'; + + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Бастамайды'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Құрамында жоқ'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'-мен бітпейді'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Тең емес'; + + @override + String get emptyDataGridFilteringLabel => r'Бос'; + + @override + String get endsWithDataGridFilteringLabel => r'Аяқталады'; + + @override + String get equalsDataGridFilteringLabel => r'Тең'; + + @override + String get fromDataGridFilteringLabel => r'бастап'; + + @override + String get greaterThanDataGridFilteringLabel => r'Үлкенірек'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Үлкен немесе тең'; @override String get jumada1Label => r'Жұмада әл-әууәл'; @@ -6492,17 +10662,44 @@ class SfLocalizationsKk extends SfGlobalLocalizations { @override String get jumada2Label => r'Жұмада әл-Тани'; + @override + String get lessThanDataGridFilteringLabel => r'Одан азырақ'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Кіші немесе Тең'; + @override String get muharramLabel => r'Мухаррам'; @override String get noEventsCalendarLabel => r'Оқиғалар жоқ'; + @override + String get noMatchesDataGridFilteringLabel => r'Сәйкестік жоқ'; + @override String get noSelectedDateCalendarLabel => r'Таңдалған күн жоқ'; @override - String get ofDataPagerLabel => r'бойынша'; + String get notEmptyDataGridFilteringLabel => r'Бос емес'; + + @override + String get notNullDataGridFilteringLabel => r'Нөл емес'; + + @override + String get nullDataGridFilteringLabel => r'Нөл'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Сандық сүзгілер'; + + @override + String get ofDataPagerLabel => r'ның'; + + @override + String get okDataGridFilteringLabel => r'ЖАРАЙДЫ МА'; + + @override + String get orDataGridFilteringLabel => r'Немесе'; @override String get pagesDataPagerLabel => r'беттер'; @@ -6518,7 +10715,7 @@ class SfLocalizationsKk extends SfGlobalLocalizations { String get passwordDialogHintTextLabel => r'Құпия сөзді енгізіңіз'; @override - String get passwordDialogInvalidPasswordLabel => r'Құпия сөз жарамсыз'; + String get passwordDialogInvalidPasswordLabel => r'Жарамсыз құпия сөз'; @override String get pdfBookmarksLabel => r'Бетбелгілер'; @@ -6530,7 +10727,7 @@ class SfLocalizationsKk extends SfGlobalLocalizations { String get pdfGoToPageLabel => r'Бетке өту'; @override - String get pdfHyperlinkContentLabel => r'бетті ашқыңыз келе ме?'; + String get pdfHyperlinkContentLabel => r'бетті ашқыңыз келе ме'; @override String get pdfHyperlinkDialogCancelLabel => r'БАС ТАРТУ'; @@ -6560,7 +10757,7 @@ class SfLocalizationsKk extends SfGlobalLocalizations { String get pdfPasswordDialogOpenLabel => r'АШЫҚ'; @override - String get pdfScrollStatusOfLabel => r'бойынша'; + String get pdfScrollStatusOfLabel => r'ның'; @override String get rabi1Label => r'Раби' "'" r' әл-әууәл'; @@ -6580,6 +10777,12 @@ class SfLocalizationsKk extends SfGlobalLocalizations { @override String get safarLabel => r'Сафар'; + @override + String get searchDataGridFilteringLabel => r'Іздеу'; + + @override + String get selectAllDataGridFilteringLabel => r'Барлығын таңдаңыз'; + @override String get series => r'Сериялар'; @@ -6593,7 +10796,7 @@ class SfLocalizationsKk extends SfGlobalLocalizations { String get shortDhualhiLabel => r'Зул-Х'; @override - String get shortDhualqiLabel => r'Зул-Қ'; + String get shortDhualqiLabel => r'Зуль-Қ'; @override String get shortJumada1Label => r'Jum. I'; @@ -6625,6 +10828,38 @@ class SfLocalizationsKk extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Шоу.'; + @override + String get showRowsWhereDataGridFilteringLabel => + r'Қай жерде жолдарды көрсетіңіз'; + + @override + String get sortAToZDataGridFilteringLabel => r'Адан Яға дейін сұрыптау'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Сұрыптау және сүзу'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Үлкеннен кішіге сұрыптау'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Ең жаңадан ең ескіге сұрыптау'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Ең ескіден ең жаңасына сұрыптау'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Ең кішіден үлкенге сұрыптау'; + + @override + String get sortZToADataGridFilteringLabel => r'Z-ден A-ға сұрыптау'; + + @override + String get textFiltersDataGridFilteringLabel => r'Мәтін сүзгілері'; + @override String get todayLabel => r'Бүгін'; @@ -6641,6 +10876,12 @@ class SfLocalizationsKm extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'បន្ទាប់ពី'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'បន្ទាប់ពី ឬស្មើ'; + @override String get allDayLabel => r'ពេញមួយថ្ងៃ'; @@ -6657,7 +10898,7 @@ class SfLocalizationsKm extends SfGlobalLocalizations { String get allowedViewTimelineDayLabel => r'ថ្ងៃកំណត់ពេលវេលា'; @override - String get allowedViewTimelineMonthLabel => r'តារាងពេលវេលាខែ'; + String get allowedViewTimelineMonthLabel => r'ខែពេលវេលា'; @override String get allowedViewTimelineWeekLabel => r'Timeline សប្តាហ៍'; @@ -6671,6 +10912,30 @@ class SfLocalizationsKm extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'សប្តាហ៍ការងារ'; + @override + String get andDataGridFilteringLabel => r'និង'; + + @override + String get beforeDataGridFilteringLabel => r'មុន ឬស្មើ'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'ពីមុន'; + + @override + String get beginsWithDataGridFilteringLabel => r'ចាប់ផ្តើមជាមួយ'; + + @override + String get cancelDataGridFilteringLabel => r'បោះបង់'; + + @override + String get clearFilterDataGridFilteringLabel => r'ជម្រះតម្រង'; + + @override + String get containsDataGridFilteringLabel => r'មាន'; + + @override + String get dateFiltersDataGridFilteringLabel => r'តម្រងកាលបរិច្ឆេទ'; + @override String get daySpanCountLabel => r'ថ្ងៃ'; @@ -6680,25 +10945,82 @@ class SfLocalizationsKm extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'មិនចាប់ផ្តើមជាមួយ'; + + @override + String get doesNotContainDataGridFilteringLabel => r'មិនមានផ្ទុក'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'មិនបញ្ចប់ដោយ'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'មិនស្មើគ្នា'; + + @override + String get emptyDataGridFilteringLabel => r'ទទេ'; + + @override + String get endsWithDataGridFilteringLabel => r'បញ្ចប់ដោយ'; + + @override + String get equalsDataGridFilteringLabel => r'ស្មើ'; + + @override + String get fromDataGridFilteringLabel => r'ពី'; + + @override + String get greaterThanDataGridFilteringLabel => r'ធំជាង'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'ធំជាង ឬស្មើ'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'ជូម៉ាដា អាល់ថានី'; + @override + String get lessThanDataGridFilteringLabel => r'តិច​ជាង'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'តិចជាង ឬស្មើ'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'គ្មានព្រឹត្តិការណ៍'; + @override + String get noMatchesDataGridFilteringLabel => r'គ្មានការប្រកួត'; + @override String get noSelectedDateCalendarLabel => r'គ្មានកាលបរិច្ឆេទដែលបានជ្រើសរើសទេ។'; + @override + String get notEmptyDataGridFilteringLabel => r'មិនទទេ'; + + @override + String get notNullDataGridFilteringLabel => r'មិនមែន Null'; + + @override + String get nullDataGridFilteringLabel => r'ទុកជាមោឃៈ'; + + @override + String get numberFiltersDataGridFilteringLabel => r'តម្រងលេខ'; + @override String get ofDataPagerLabel => r'នៃ'; + @override + String get okDataGridFilteringLabel => r'យល់ព្រម'; + + @override + String get orDataGridFilteringLabel => r'ឬ'; + @override String get pagesDataPagerLabel => r'ទំព័រ'; @@ -6775,14 +11097,20 @@ class SfLocalizationsKm extends SfGlobalLocalizations { @override String get safarLabel => r'សាហ្វារ'; + @override + String get searchDataGridFilteringLabel => r'ស្វែងរក'; + + @override + String get selectAllDataGridFilteringLabel => r'ជ្រើសរើស​ទាំងអស់'; + @override String get series => r'ស៊េរី'; @override - String get shaabanLabel => r'សារ៉ាបាន'; + String get shaabanLabel => r'សាបាន'; @override - String get shawwalLabel => r'Shawwal'; + String get shawwalLabel => r'សាវ៉ាវ'; @override String get shortDhualhiLabel => r'Dhu' "'" r'l-H'; @@ -6820,6 +11148,37 @@ class SfLocalizationsKm extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw ។'; + @override + String get showRowsWhereDataGridFilteringLabel => r'បង្ហាញជួរនៅកន្លែងណា'; + + @override + String get sortAToZDataGridFilteringLabel => r'តម្រៀប A ដល់ Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'តម្រៀបនិងត្រង'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'តម្រៀបធំបំផុតទៅតូចបំផុត។'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'តម្រៀបថ្មីបំផុតទៅចាស់បំផុត។'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'តម្រៀបចាស់បំផុតទៅថ្មីបំផុត។'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'តម្រៀបតូចបំផុតទៅធំបំផុត។'; + + @override + String get sortZToADataGridFilteringLabel => r'តម្រៀប Z ទៅ A'; + + @override + String get textFiltersDataGridFilteringLabel => r'តម្រងអត្ថបទ'; + @override String get todayLabel => r'ថ្ងៃនេះ'; @@ -6836,6 +11195,13 @@ class SfLocalizationsKn extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => '\u{ca8}\u{c82}\u{ca4}\u{cb0}'; + + @override + String get afterOrEqualDataGridFilteringLabel => + '\u{ca8}\u{c82}\u{ca4}\u{cb0}\u{20}\u{c85}\u{ca5}\u{cb5}\u{cbe}\u{20}\u{cb8}\u{cae}\u{cbe}\u{ca8}'; + @override String get allDayLabel => '\u{c87}\u{ca1}\u{cbf}\u{cd5}\u{20}\u{ca6}\u{cbf}\u{ca8}'; @@ -6874,6 +11240,37 @@ class SfLocalizationsKn extends SfGlobalLocalizations { String get allowedViewWorkWeekLabel => '\u{c95}\u{cc6}\u{cb2}\u{cb8}\u{ca6}\u{20}\u{cb5}\u{cbe}\u{cb0}'; + @override + String get andDataGridFilteringLabel => '\u{cae}\u{ca4}\u{ccd}\u{ca4}\u{cc1}'; + + @override + String get beforeDataGridFilteringLabel => + '\u{cae}\u{cca}\u{ca6}\u{cb2}\u{cc1}\u{20}\u{c85}\u{ca5}\u{cb5}\u{cbe}\u{20}\u{cb8}\u{cae}\u{cbe}\u{ca8}'; + + @override + String get beforeOrEqualDataGridFilteringLabel => + '\u{cae}\u{cca}\u{ca6}\u{cb2}\u{cc1}'; + + @override + String get beginsWithDataGridFilteringLabel => + '\u{c87}\u{ca6}\u{cb0}\u{cca}\u{c82}\u{ca6}\u{cbf}\u{c97}\u{cc6}\u{20}\u{caa}\u{ccd}\u{cb0}\u{cbe}\u{cb0}\u{c82}\u{cad}\u{cb5}\u{cbe}\u{c97}\u{cc1}\u{ca4}\u{ccd}\u{ca4}\u{ca6}\u{cc6}'; + + @override + String get cancelDataGridFilteringLabel => + '\u{cb0}\u{ca6}\u{ccd}\u{ca6}\u{cc1}\u{cae}\u{cbe}\u{ca1}\u{cbf}'; + + @override + String get clearFilterDataGridFilteringLabel => + '\u{cab}\u{cbf}\u{cb2}\u{ccd}\u{c9f}\u{cb0}\u{ccd}\u{20}\u{c85}\u{ca8}\u{ccd}\u{ca8}\u{cc1}\u{20}\u{ca4}\u{cc6}\u{cb0}\u{cb5}\u{cc1}\u{c97}\u{cca}\u{cb3}\u{cbf}\u{cb8}\u{cbf}'; + + @override + String get containsDataGridFilteringLabel => + '\u{c92}\u{cb3}\u{c97}\u{cca}\u{c82}\u{ca1}\u{cbf}\u{ca6}\u{cc6}'; + + @override + String get dateFiltersDataGridFilteringLabel => + '\u{ca6}\u{cbf}\u{ca8}\u{cbe}\u{c82}\u{c95}\u{20}\u{cb6}\u{ccb}\u{ca7}\u{c95}\u{c97}\u{cb3}\u{cc1}'; + @override String get daySpanCountLabel => '\u{ca6}\u{cbf}\u{ca8}'; @@ -6885,6 +11282,44 @@ class SfLocalizationsKn extends SfGlobalLocalizations { String get dhualqiLabel => '\u{ca7}\u{cc1}\u{20}\u{c85}\u{cb2}\u{ccd}\u{2d}\u{c96}\u{cbf}\u{ca6}\u{cbe}'; + @override + String get doesNotBeginWithDataGridFilteringLabel => + '\u{c87}\u{ca6}\u{cb0}\u{cca}\u{c82}\u{ca6}\u{cbf}\u{c97}\u{cc6}\u{20}\u{caa}\u{ccd}\u{cb0}\u{cbe}\u{cb0}\u{c82}\u{cad}\u{cb5}\u{cbe}\u{c97}\u{cc1}\u{cb5}\u{cc1}\u{ca6}\u{cbf}\u{cb2}\u{ccd}\u{cb2}'; + + @override + String get doesNotContainDataGridFilteringLabel => + '\u{c92}\u{cb3}\u{c97}\u{cca}\u{c82}\u{ca1}\u{cbf}\u{cb2}\u{ccd}\u{cb2}'; + + @override + String get doesNotEndWithDataGridFilteringLabel => + '\u{c87}\u{ca6}\u{cb0}\u{cca}\u{c82}\u{ca6}\u{cbf}\u{c97}\u{cc6}\u{20}\u{c95}\u{cca}\u{ca8}\u{cc6}\u{c97}\u{cca}\u{cb3}\u{ccd}\u{cb3}\u{cc1}\u{cb5}\u{cc1}\u{ca6}\u{cbf}\u{cb2}\u{ccd}\u{cb2}'; + + @override + String get doesNotEqualDataGridFilteringLabel => + '\u{cb8}\u{cae}\u{cbe}\u{ca8}\u{cb5}\u{cbe}\u{c97}\u{cbf}\u{cb2}\u{ccd}\u{cb2}'; + + @override + String get emptyDataGridFilteringLabel => '\u{c96}\u{cbe}\u{cb2}\u{cbf}'; + + @override + String get endsWithDataGridFilteringLabel => + '\u{c87}\u{ca6}\u{cb0}\u{cca}\u{c82}\u{ca6}\u{cbf}\u{c97}\u{cc6}\u{20}\u{c95}\u{cca}\u{ca8}\u{cc6}\u{c97}\u{cca}\u{cb3}\u{ccd}\u{cb3}\u{cc1}\u{ca4}\u{ccd}\u{ca4}\u{ca6}\u{cc6}'; + + @override + String get equalsDataGridFilteringLabel => + '\u{cb8}\u{cae}\u{ca8}\u{cbe}\u{c97}\u{cbf}\u{cb0}\u{cc1}\u{ca4}\u{ccd}\u{ca4}\u{ca6}\u{cc6}'; + + @override + String get fromDataGridFilteringLabel => '\u{c87}\u{c82}\u{ca6}'; + + @override + String get greaterThanDataGridFilteringLabel => + '\u{c85}\u{ca6}\u{c95}\u{ccd}\u{c95}\u{cbf}\u{c82}\u{ca4}\u{20}\u{cb9}\u{cc6}\u{c9a}\u{ccd}\u{c9a}\u{cc1}'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + '\u{c97}\u{ccd}\u{cb0}\u{cc7}\u{c9f}\u{cb0}\u{ccd}\u{20}\u{ca6}\u{ccd}\u{caf}\u{cbe}\u{ca8}\u{ccd}\u{20}\u{c85}\u{ca5}\u{cb5}\u{cbe}\u{20}\u{c88}\u{c95}\u{ccd}\u{cb5}\u{cb2}\u{ccd}'; + @override String get jumada1Label => '\u{c9c}\u{cc1}\u{cae}\u{cbe}\u{ca6}\u{cbe}\u{20}\u{c85}\u{cb2}\u{ccd}\u{2d}\u{c85}\u{cb5}\u{ccd}\u{cb5}\u{cb2}\u{ccd}'; @@ -6893,19 +11328,53 @@ class SfLocalizationsKn extends SfGlobalLocalizations { String get jumada2Label => '\u{c9c}\u{cc1}\u{cae}\u{cbe}\u{ca6}\u{cbe}\u{20}\u{c85}\u{cb2}\u{ccd}\u{2d}\u{ca5}\u{cbe}\u{ca8}\u{cbf}'; + @override + String get lessThanDataGridFilteringLabel => + '\u{c95}\u{ca1}\u{cbf}\u{cae}\u{cc6}'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => + '\u{c95}\u{ca1}\u{cbf}\u{cae}\u{cc6}\u{20}\u{c85}\u{ca5}\u{cb5}\u{cbe}\u{20}\u{cb8}\u{cae}\u{cbe}\u{ca8}'; + @override String get muharramLabel => '\u{cae}\u{cca}\u{cb9}\u{cb0}\u{c82}'; @override - String get noEventsCalendarLabel => - '\u{caf}\u{cbe}\u{cb5}\u{cc1}\u{ca6}\u{cc7}\u{20}\u{c98}\u{c9f}\u{ca8}\u{cc6}\u{c97}\u{cb3}\u{cbf}\u{cb2}\u{ccd}\u{cb2}'; + String get noEventsCalendarLabel => + '\u{caf}\u{cbe}\u{cb5}\u{cc1}\u{ca6}\u{cc7}\u{20}\u{c98}\u{c9f}\u{ca8}\u{cc6}\u{c97}\u{cb3}\u{cbf}\u{cb2}\u{ccd}\u{cb2}'; + + @override + String get noMatchesDataGridFilteringLabel => + '\u{caf}\u{cbe}\u{cb5}\u{cc1}\u{ca6}\u{cc7}\u{20}\u{cb9}\u{cca}\u{c82}\u{ca6}\u{cbe}\u{ca3}\u{cbf}\u{c95}\u{cc6}\u{c97}\u{cb3}\u{cbf}\u{cb2}\u{ccd}\u{cb2}'; + + @override + String get noSelectedDateCalendarLabel => + '\u{caf}\u{cbe}\u{cb5}\u{cc1}\u{ca6}\u{cc7}\u{20}\u{c86}\u{caf}\u{ccd}\u{c95}\u{cc6}\u{20}\u{ca6}\u{cbf}\u{ca8}\u{cbe}\u{c82}\u{c95}\u{cb5}\u{cbf}\u{cb2}\u{ccd}\u{cb2}'; + + @override + String get notEmptyDataGridFilteringLabel => + '\u{c96}\u{cbe}\u{cb2}\u{cbf}\u{20}\u{c87}\u{cb2}\u{ccd}\u{cb2}'; + + @override + String get notNullDataGridFilteringLabel => + '\u{cb6}\u{cc2}\u{ca8}\u{ccd}\u{caf}\u{cb5}\u{cb2}\u{ccd}\u{cb2}'; + + @override + String get nullDataGridFilteringLabel => + '\u{cb6}\u{cc2}\u{ca8}\u{ccd}\u{caf}'; + + @override + String get numberFiltersDataGridFilteringLabel => + '\u{cb8}\u{c82}\u{c96}\u{ccd}\u{caf}\u{cc6}\u{20}\u{cb6}\u{ccb}\u{ca7}\u{c95}\u{c97}\u{cb3}\u{cc1}'; + + @override + String get ofDataPagerLabel => '\u{ca8}'; @override - String get noSelectedDateCalendarLabel => - '\u{caf}\u{cbe}\u{cb5}\u{cc1}\u{ca6}\u{cc7}\u{20}\u{c86}\u{caf}\u{ccd}\u{c95}\u{cc6}\u{20}\u{ca6}\u{cbf}\u{ca8}\u{cbe}\u{c82}\u{c95}\u{cb5}\u{cbf}\u{cb2}\u{ccd}\u{cb2}'; + String get okDataGridFilteringLabel => '\u{cb8}\u{cb0}\u{cbf}'; @override - String get ofDataPagerLabel => '\u{ca8}'; + String get orDataGridFilteringLabel => '\u{c85}\u{ca5}\u{cb5}\u{cbe}'; @override String get pagesDataPagerLabel => @@ -6913,7 +11382,7 @@ class SfLocalizationsKn extends SfGlobalLocalizations { @override String get passwordDialogContentLabel => - '\u{c88}\u{20}\u{50}\u{44}\u{46}\u{20}\u{cab}\u{cc8}\u{cb2}\u{ccd}\u{20}\u{c85}\u{ca8}\u{ccd}\u{ca8}\u{cc1}\u{20}\u{ca4}\u{cc6}\u{cb0}\u{cc6}\u{caf}\u{cb2}\u{cc1}\u{20}\u{caa}\u{cbe}\u{cb8}\u{ccd}\u{cb5}\u{cb0}\u{ccd}\u{ca1}\u{ccd}\u{20}\u{c85}\u{ca8}\u{ccd}\u{ca8}\u{cc1}\u{20}\u{ca8}\u{cae}\u{cc2}\u{ca6}\u{cbf}\u{cb8}\u{cbf}'; + '\u{c88}\u{20}\u{50}\u{44}\u{46}\u{20}\u{cab}\u{cc8}\u{cb2}\u{ccd}\u{20}\u{ca4}\u{cc6}\u{cb0}\u{cc6}\u{caf}\u{cb2}\u{cc1}\u{20}\u{caa}\u{cbe}\u{cb8}\u{ccd}\u{200c}\u{cb5}\u{cb0}\u{ccd}\u{ca1}\u{ccd}\u{20}\u{ca8}\u{cae}\u{cc2}\u{ca6}\u{cbf}\u{cb8}\u{cbf}'; @override String get passwordDialogHeaderTextLabel => @@ -7002,6 +11471,14 @@ class SfLocalizationsKn extends SfGlobalLocalizations { @override String get safarLabel => '\u{cb8}\u{cab}\u{cb0}\u{ccd}'; + @override + String get searchDataGridFilteringLabel => + '\u{cb9}\u{cc1}\u{ca1}\u{cc1}\u{c95}\u{cbf}\u{20}\u{4b}\u{61}\u{6e}\u{6e}\u{61}\u{64}\u{61}'; + + @override + String get selectAllDataGridFilteringLabel => + '\u{c8e}\u{cb2}\u{ccd}\u{cb2}\u{cb5}\u{ca8}\u{ccd}\u{ca8}\u{cc1}\u{20}\u{c86}\u{cb0}\u{cbf}\u{cb8}\u{cc1}'; + @override String get series => '\u{cb8}\u{cb0}\u{ca3}\u{cbf}'; @@ -7030,10 +11507,10 @@ class SfLocalizationsKn extends SfGlobalLocalizations { String get shortMuharramLabel => '\u{cae}\u{cc1}\u{cb9}\u{ccd}'; @override - String get shortRabi1Label => '\u{cb0}\u{cac}\u{cbf}\u{2e}\u{20}\u{49}'; + String get shortRabi1Label => '\u{cb0}\u{cac}\u{cbf}\u{20}\u{49}'; @override - String get shortRabi2Label => '\u{cb0}\u{cac}\u{cbf}\u{2e}\u{20}\u{49}\u{49}'; + String get shortRabi2Label => '\u{cb0}\u{cac}\u{cbf}\u{20}\u{49}\u{49}'; @override String get shortRajabLabel => '\u{cb0}\u{cbe}\u{c9c}\u{ccd}\u{2e}'; @@ -7050,6 +11527,42 @@ class SfLocalizationsKn extends SfGlobalLocalizations { @override String get shortShawwalLabel => '\u{cb6}\u{cbe}\u{2e}'; + @override + String get showRowsWhereDataGridFilteringLabel => + '\u{c85}\u{cb2}\u{ccd}\u{cb2}\u{cbf}\u{20}\u{cb8}\u{cbe}\u{cb2}\u{cc1}\u{c97}\u{cb3}\u{ca8}\u{ccd}\u{ca8}\u{cc1}\u{20}\u{ca4}\u{ccb}\u{cb0}\u{cbf}\u{cb8}\u{cbf}'; + + @override + String get sortAToZDataGridFilteringLabel => + '\u{41}\u{20}\u{ca8}\u{cbf}\u{c82}\u{ca6}\u{20}\u{5a}\u{20}\u{c97}\u{cc6}\u{20}\u{cb5}\u{cbf}\u{c82}\u{c97}\u{ca1}\u{cbf}\u{cb8}\u{cbf}'; + + @override + String get sortAndFilterDataGridFilteringLabel => + '\u{cb5}\u{cbf}\u{c82}\u{c97}\u{ca1}\u{cbf}\u{cb8}\u{cbf}\u{20}\u{cae}\u{ca4}\u{ccd}\u{ca4}\u{cc1}\u{20}\u{cab}\u{cbf}\u{cb2}\u{ccd}\u{c9f}\u{cb0}\u{ccd}\u{20}\u{cae}\u{cbe}\u{ca1}\u{cbf}'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + '\u{ca6}\u{cca}\u{ca1}\u{ccd}\u{ca1}\u{ca6}\u{cb0}\u{cbf}\u{c82}\u{ca6}\u{20}\u{c9a}\u{cbf}\u{c95}\u{ccd}\u{c95}\u{ca6}\u{c95}\u{ccd}\u{c95}\u{cc6}\u{20}\u{cb5}\u{cbf}\u{c82}\u{c97}\u{ca1}\u{cbf}\u{cb8}\u{cbf}'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + '\u{cb9}\u{cca}\u{cb8}\u{ca6}\u{ca8}\u{ccd}\u{ca8}\u{cc1}\u{20}\u{cb9}\u{cb3}\u{cc6}\u{caf}\u{ca6}\u{c95}\u{ccd}\u{c95}\u{cc6}\u{20}\u{cb5}\u{cbf}\u{c82}\u{c97}\u{ca1}\u{cbf}\u{cb8}\u{cbf}'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + '\u{cb9}\u{cb3}\u{cc6}\u{caf}\u{ca6}\u{cb0}\u{cbf}\u{c82}\u{ca6}\u{20}\u{cb9}\u{cca}\u{cb8}\u{ca6}\u{c95}\u{ccd}\u{c95}\u{cc6}\u{20}\u{cb5}\u{cbf}\u{c82}\u{c97}\u{ca1}\u{cbf}\u{cb8}\u{cbf}'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + '\u{c9a}\u{cbf}\u{c95}\u{ccd}\u{c95}\u{ca6}\u{cb0}\u{cbf}\u{c82}\u{ca6}\u{20}\u{ca6}\u{cca}\u{ca1}\u{ccd}\u{ca1}\u{ca6}\u{c95}\u{ccd}\u{c95}\u{cc6}\u{20}\u{cb5}\u{cbf}\u{c82}\u{c97}\u{ca1}\u{cbf}\u{cb8}\u{cbf}'; + + @override + String get sortZToADataGridFilteringLabel => + '\u{5a}\u{20}\u{ca8}\u{cbf}\u{c82}\u{ca6}\u{20}\u{41}\u{20}\u{c97}\u{cc6}\u{20}\u{cb5}\u{cbf}\u{c82}\u{c97}\u{ca1}\u{cbf}\u{cb8}\u{cbf}'; + + @override + String get textFiltersDataGridFilteringLabel => + '\u{caa}\u{ca0}\u{ccd}\u{caf}\u{20}\u{cb6}\u{ccb}\u{ca7}\u{c95}\u{c97}\u{cb3}\u{cc1}'; + @override String get todayLabel => '\u{c87}\u{c82}\u{ca6}\u{cc1}'; @@ -7066,11 +11579,17 @@ class SfLocalizationsKo extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'후에'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'후 또는 같음'; + @override String get allDayLabel => r'하루 종일'; @override - String get allowedViewDayLabel => r'일'; + String get allowedViewDayLabel => r'낮'; @override String get allowedViewMonthLabel => r'월'; @@ -7079,50 +11598,131 @@ class SfLocalizationsKo extends SfGlobalLocalizations { String get allowedViewScheduleLabel => r'일정'; @override - String get allowedViewTimelineDayLabel => r'타임라인의 날'; + String get allowedViewTimelineDayLabel => r'타임라인 데이'; @override String get allowedViewTimelineMonthLabel => r'타임라인 월'; @override - String get allowedViewTimelineWeekLabel => r'타임라인 주간'; + String get allowedViewTimelineWeekLabel => r'타임라인 위크'; @override - String get allowedViewTimelineWorkWeekLabel => r'타임라인 작업 주간'; + String get allowedViewTimelineWorkWeekLabel => r'타임라인 작업 주'; @override String get allowedViewWeekLabel => r'주'; @override - String get allowedViewWorkWeekLabel => r'작업 주간'; + String get allowedViewWorkWeekLabel => r'근무 주'; @override - String get daySpanCountLabel => r'일'; + String get andDataGridFilteringLabel => r'그리고'; + + @override + String get beforeDataGridFilteringLabel => r'이전 또는 같음'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'전에'; + + @override + String get beginsWithDataGridFilteringLabel => r'다음으로 시작'; + + @override + String get cancelDataGridFilteringLabel => r'취소'; + + @override + String get clearFilterDataGridFilteringLabel => r'필터 지우기'; + + @override + String get containsDataGridFilteringLabel => r'포함'; + + @override + String get dateFiltersDataGridFilteringLabel => r'날짜 필터'; + + @override + String get daySpanCountLabel => r'낮'; @override String get dhualhiLabel => r'두 알 히자'; @override - String get dhualqiLabel => r'두 알 키다'; + String get dhualqiLabel => r'두 알 키이다'; + + @override + String get doesNotBeginWithDataGridFilteringLabel => r'다음으로 시작하지 않음'; + + @override + String get doesNotContainDataGridFilteringLabel => r'포함되어 있지 않다'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'다음으로 끝나지 않음'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'같지 않음'; + + @override + String get emptyDataGridFilteringLabel => r'비어 있는'; + + @override + String get endsWithDataGridFilteringLabel => r'로 끝나다'; + + @override + String get equalsDataGridFilteringLabel => r'같음'; + + @override + String get fromDataGridFilteringLabel => r'에서'; + + @override + String get greaterThanDataGridFilteringLabel => r'보다 큰'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'크거나 같음'; @override String get jumada1Label => r'주마다 알-아왈'; @override - String get jumada2Label => r'주마다 알타니'; + String get jumada2Label => r'주마다 알 타니'; + + @override + String get lessThanDataGridFilteringLabel => r'미만'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'작거나 같음'; @override String get muharramLabel => r'무하람'; @override - String get noEventsCalendarLabel => r'이벤트 없음'; + String get noEventsCalendarLabel => r'일정 없음'; + + @override + String get noMatchesDataGridFilteringLabel => r'맞지 않는다'; + + @override + String get noSelectedDateCalendarLabel => r'선택한 날짜 없음'; + + @override + String get notEmptyDataGridFilteringLabel => r'비어 있지 않음'; + + @override + String get notNullDataGridFilteringLabel => r'널이 아님'; @override - String get noSelectedDateCalendarLabel => r'선택한 날짜가 없습니다'; + String get nullDataGridFilteringLabel => r'없는'; + + @override + String get numberFiltersDataGridFilteringLabel => r'숫자 필터'; @override String get ofDataPagerLabel => r'의'; + @override + String get okDataGridFilteringLabel => r'확인'; + + @override + String get orDataGridFilteringLabel => r'또는'; + @override String get pagesDataPagerLabel => r'페이지'; @@ -7139,7 +11739,7 @@ class SfLocalizationsKo extends SfGlobalLocalizations { String get passwordDialogInvalidPasswordLabel => r'유효하지 않은 비밀번호'; @override - String get pdfBookmarksLabel => r'책갈피'; + String get pdfBookmarksLabel => r'북마크'; @override String get pdfEnterPageNumberLabel => r'페이지 번호 입력'; @@ -7148,7 +11748,7 @@ class SfLocalizationsKo extends SfGlobalLocalizations { String get pdfGoToPageLabel => r'페이지로 이동'; @override - String get pdfHyperlinkContentLabel => r'페이지를 열시겠습니까?'; + String get pdfHyperlinkContentLabel => r'에서 페이지를 열시겠습니까?'; @override String get pdfHyperlinkDialogCancelLabel => r'취소'; @@ -7160,22 +11760,22 @@ class SfLocalizationsKo extends SfGlobalLocalizations { String get pdfHyperlinkLabel => r'웹 페이지 열기'; @override - String get pdfInvalidPageNumberLabel => r'유효한 숫자를 입력하세요'; + String get pdfInvalidPageNumberLabel => r'유효한 숫자를 입력하세요.'; @override - String get pdfNoBookmarksLabel => r'북마크를 찾을 수 없습니다'; + String get pdfNoBookmarksLabel => r'북마크가 없습니다.'; @override String get pdfPaginationDialogCancelLabel => r'취소'; @override - String get pdfPaginationDialogOkLabel => r'좋아요'; + String get pdfPaginationDialogOkLabel => r'확인'; @override String get pdfPasswordDialogCancelLabel => r'취소'; @override - String get pdfPasswordDialogOpenLabel => r'열려있는'; + String get pdfPasswordDialogOpenLabel => r'열려 있는'; @override String get pdfScrollStatusOfLabel => r'의'; @@ -7184,10 +11784,10 @@ class SfLocalizationsKo extends SfGlobalLocalizations { String get rabi1Label => r'라비 알-아왈'; @override - String get rabi2Label => r'라비 알타니'; + String get rabi2Label => r'라비 알 타니'; @override - String get rajabLabel => r'라자브'; + String get rajabLabel => r'라잡'; @override String get ramadanLabel => r'라마단'; @@ -7198,6 +11798,12 @@ class SfLocalizationsKo extends SfGlobalLocalizations { @override String get safarLabel => r'사파르'; + @override + String get searchDataGridFilteringLabel => r'검색'; + + @override + String get selectAllDataGridFilteringLabel => r'모두 선택'; + @override String get series => r'시리즈'; @@ -7220,7 +11826,7 @@ class SfLocalizationsKo extends SfGlobalLocalizations { String get shortJumada2Label => r'줌. II'; @override - String get shortMuharramLabel => r'음.'; + String get shortMuharramLabel => r'머.'; @override String get shortRabi1Label => r'라비. 나'; @@ -7243,6 +11849,33 @@ class SfLocalizationsKo extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'쇼.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'어디에 행 표시'; + + @override + String get sortAToZDataGridFilteringLabel => r'A부터 Z까지 정렬'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'정렬 및 필터링'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => r'내림차순 정렬'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => r'최신순으로 정렬'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => r'가장 오래된 것부터 최신순으로 정렬'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => r'작은 것부터 큰 것까지 정렬'; + + @override + String get sortZToADataGridFilteringLabel => r'Z를 A로 정렬'; + + @override + String get textFiltersDataGridFilteringLabel => r'텍스트 필터'; + @override String get todayLabel => r'오늘'; @@ -7259,11 +11892,17 @@ class SfLocalizationsKy extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Кийин'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Кийин же барабар'; + @override String get allDayLabel => r'Күн бою'; @override - String get allowedViewDayLabel => r'Күн'; + String get allowedViewDayLabel => r'күн'; @override String get allowedViewMonthLabel => r'Ай'; @@ -7281,7 +11920,7 @@ class SfLocalizationsKy extends SfGlobalLocalizations { String get allowedViewTimelineWeekLabel => r'Timeline Week'; @override - String get allowedViewTimelineWorkWeekLabel => r'Иш жумалыгы'; + String get allowedViewTimelineWorkWeekLabel => r'Хронология иш жумасы'; @override String get allowedViewWeekLabel => r'Апта'; @@ -7290,7 +11929,31 @@ class SfLocalizationsKy extends SfGlobalLocalizations { String get allowedViewWorkWeekLabel => r'Жумуш аптасы'; @override - String get daySpanCountLabel => r'Күн'; + String get andDataGridFilteringLabel => r'Жана'; + + @override + String get beforeDataGridFilteringLabel => r'Мурун же барабар'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Мурда'; + + @override + String get beginsWithDataGridFilteringLabel => r'Менен башталат'; + + @override + String get cancelDataGridFilteringLabel => r'Жокко чыгаруу'; + + @override + String get clearFilterDataGridFilteringLabel => r'Чыпканы тазалоо'; + + @override + String get containsDataGridFilteringLabel => r'камтыйт'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Дата чыпкалары'; + + @override + String get daySpanCountLabel => r'күн'; @override String get dhualhiLabel => r'Зул Хижжа'; @@ -7298,24 +11961,81 @@ class SfLocalizationsKy extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Зул кыда'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'менен башталбайт'; + + @override + String get doesNotContainDataGridFilteringLabel => r'камтыбайт'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'менен бүтпөйт'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Тең эмес'; + + @override + String get emptyDataGridFilteringLabel => r'бош'; + + @override + String get endsWithDataGridFilteringLabel => r'менен аяктайт'; + + @override + String get equalsDataGridFilteringLabel => r'барабар'; + + @override + String get fromDataGridFilteringLabel => r'From'; + + @override + String get greaterThanDataGridFilteringLabel => r'Чоңураак'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Чоңураак же барабар'; + @override String get jumada1Label => r'Жумада аль-аввал'; @override String get jumada2Label => r'Жумада ал-Тани'; + @override + String get lessThanDataGridFilteringLabel => r'Азыраак'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Аз же барабар'; + @override String get muharramLabel => r'Мухаррам'; @override String get noEventsCalendarLabel => r'Окуялар жок'; + @override + String get noMatchesDataGridFilteringLabel => r'Дал келгендер жок'; + @override String get noSelectedDateCalendarLabel => r'Тандалган дата жок'; + @override + String get notEmptyDataGridFilteringLabel => r'Бош эмес'; + + @override + String get notNullDataGridFilteringLabel => r'Null эмес'; + + @override + String get nullDataGridFilteringLabel => r'Нөл'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Сан чыпкалары'; + @override String get ofDataPagerLabel => r'нын'; + @override + String get okDataGridFilteringLabel => r'макул'; + + @override + String get orDataGridFilteringLabel => r'Же'; + @override String get pagesDataPagerLabel => r'барактар'; @@ -7384,7 +12104,7 @@ class SfLocalizationsKy extends SfGlobalLocalizations { String get rajabLabel => r'Ражаб'; @override - String get ramadanLabel => r'Рамазан'; + String get ramadanLabel => r'Орозо айт'; @override String get rowsPerPageDataPagerLabel => r'Ар бир беттеги саптар'; @@ -7392,6 +12112,12 @@ class SfLocalizationsKy extends SfGlobalLocalizations { @override String get safarLabel => r'Сафар'; + @override + String get searchDataGridFilteringLabel => r'Издөө'; + + @override + String get selectAllDataGridFilteringLabel => r'Баарын тандаңыз'; + @override String get series => r'Сериялар'; @@ -7437,6 +12163,38 @@ class SfLocalizationsKy extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Шоу.'; + @override + String get showRowsWhereDataGridFilteringLabel => + r'Кайсы жерде катарларды көрсөтүү'; + + @override + String get sortAToZDataGridFilteringLabel => r'Адан Яга чейин сорттоо'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Сорттоо жана чыпкалоо'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Чоңунан кичинесинен иреттөө'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Эң жаңыдан эң эскиге иреттөө'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Эң эскиден эң жаңысына иреттөө'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Кичинеден чоңго иреттөө'; + + @override + String get sortZToADataGridFilteringLabel => r'Zдан Ага чейин сорттоо'; + + @override + String get textFiltersDataGridFilteringLabel => r'Текст чыпкалары'; + @override String get todayLabel => r'Бүгүн'; @@ -7453,6 +12211,13 @@ class SfLocalizationsLo extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'ຫຼັງຈາກ'; + + @override + String get afterOrEqualDataGridFilteringLabel => + r'ຫຼັງ​ຈາກ​ຫຼື​ເທົ່າ​ທຽມ​ກັນ​'; + @override String get allDayLabel => r'ຫມົດ​ມື້'; @@ -7484,31 +12249,113 @@ class SfLocalizationsLo extends SfGlobalLocalizations { String get allowedViewWorkWeekLabel => r'ອາທິດເຮັດວຽກ'; @override - String get daySpanCountLabel => r'ມື້'; + String get andDataGridFilteringLabel => r'ແລະ'; + + @override + String get beforeDataGridFilteringLabel => r'ກ່ອນ ຫຼື ເທົ່າກັນ'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'ກ່ອນ'; + + @override + String get beginsWithDataGridFilteringLabel => r'ເລີ່ມຕົ້ນດ້ວຍ'; + + @override + String get cancelDataGridFilteringLabel => r'ຍົກເລີກ'; + + @override + String get clearFilterDataGridFilteringLabel => r'ລ້າງການກັ່ນຕອງ'; + + @override + String get containsDataGridFilteringLabel => r'ປະກອບດ້ວຍ'; + + @override + String get dateFiltersDataGridFilteringLabel => r'ການກັ່ນຕອງວັນທີ'; + + @override + String get daySpanCountLabel => r'ມື້'; + + @override + String get dhualhiLabel => r'Dhu al-Hijjah'; + + @override + String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + + @override + String get doesNotBeginWithDataGridFilteringLabel => r'ບໍ່ໄດ້ເລີ່ມຕົ້ນດ້ວຍ'; + + @override + String get doesNotContainDataGridFilteringLabel => r'ບໍ່ມີ'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'ບໍ່ສິ້ນສຸດດ້ວຍ'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'ບໍ່ເທົ່າກັນ'; + + @override + String get emptyDataGridFilteringLabel => r'ຫວ່າງເປົ່າ'; + + @override + String get endsWithDataGridFilteringLabel => r'ສິ້ນສຸດດ້ວຍ'; + + @override + String get equalsDataGridFilteringLabel => r'ເທົ່າກັບ'; + + @override + String get fromDataGridFilteringLabel => r'ຈາກ'; + + @override + String get greaterThanDataGridFilteringLabel => r'ໃຫຍ່​ກວ່າ'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'ຍິ່ງໃຫຍ່ກວ່າຫຼືເທົ່າທຽມກັນ'; + + @override + String get jumada1Label => r'Jumada al-awwal'; + + @override + String get jumada2Label => r'ຈູມາດາ ອານທານີ'; + + @override + String get lessThanDataGridFilteringLabel => r'ຫນ້ອຍ​ກ​່​ວາ'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'ໜ້ອຍກວ່າ ຫຼື ເທົ່າກັນ'; + + @override + String get muharramLabel => r'ມູຮາຣາມ'; + + @override + String get noEventsCalendarLabel => r'ບໍ່ມີເຫດການ'; + + @override + String get noMatchesDataGridFilteringLabel => r'ບໍ່ມີຂໍ້ມູນທີ່ກົງກັນ'; @override - String get dhualhiLabel => r'Dhu al-Hijjah'; + String get noSelectedDateCalendarLabel => r'ບໍ່ມີວັນທີເລືອກ'; @override - String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + String get notEmptyDataGridFilteringLabel => r'ບໍ່ຫວ່າງ'; @override - String get jumada1Label => r'Jumada al-awwal'; + String get notNullDataGridFilteringLabel => r'ບໍ່ແມ່ນ Null'; @override - String get jumada2Label => r'ຈູມາດາ ອານທານີ'; + String get nullDataGridFilteringLabel => r'null'; @override - String get muharramLabel => r'ມູຮາຣາມ'; + String get numberFiltersDataGridFilteringLabel => r'ຕົວກອງຕົວເລກ'; @override - String get noEventsCalendarLabel => r'ບໍ່ມີເຫດການ'; + String get ofDataPagerLabel => r'ຂອງ'; @override - String get noSelectedDateCalendarLabel => r'ບໍ່ມີວັນທີທີ່ເລືອກ'; + String get okDataGridFilteringLabel => r'ຕົກ​ລົງ'; @override - String get ofDataPagerLabel => r'ຂອງ'; + String get orDataGridFilteringLabel => r'ຫຼື'; @override String get pagesDataPagerLabel => r'ໜ້າ'; @@ -7585,6 +12432,12 @@ class SfLocalizationsLo extends SfGlobalLocalizations { @override String get safarLabel => r'ຊາຟາ'; + @override + String get searchDataGridFilteringLabel => r'ຊອກຫາ'; + + @override + String get selectAllDataGridFilteringLabel => r'ເລືອກ​ທັງ​ຫມົດ'; + @override String get series => r'ຊຸດ'; @@ -7592,7 +12445,7 @@ class SfLocalizationsLo extends SfGlobalLocalizations { String get shaabanLabel => r'ຊາອາບານ'; @override - String get shawwalLabel => r'ຊວາວ'; + String get shawwalLabel => r'ຊະວາວ'; @override String get shortDhualhiLabel => r'Dhu' "'" r'l-H'; @@ -7630,6 +12483,37 @@ class SfLocalizationsLo extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'ແຊວ.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'ສະແດງແຖວຢູ່ບ່ອນ'; + + @override + String get sortAToZDataGridFilteringLabel => r'ຈັດຮຽງ A ຫາ Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'ຄັດແລະການກັ່ນຕອງ'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'ຈັດຮຽງໃຫຍ່ສຸດຫານ້ອຍສຸດ'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'ຈັດຮຽງໃໝ່ສຸດຫາເກົ່າທີ່ສຸດ'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'ຈັດຮຽງເກົ່າສຸດຫາໃໝ່ສຸດ'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'ຈັດລຽງນ້ອຍສຸດຫາໃຫຍ່ທີ່ສຸດ'; + + @override + String get sortZToADataGridFilteringLabel => r'ຈັດຮຽງ Z ຫາ A'; + + @override + String get textFiltersDataGridFilteringLabel => r'ຕົວກອງຂໍ້ຄວາມ'; + @override String get todayLabel => r'ມື້​ນີ້'; @@ -7646,6 +12530,12 @@ class SfLocalizationsLt extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Po to'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Po arba lygus'; + @override String get allDayLabel => r'Visą dieną'; @@ -7676,6 +12566,30 @@ class SfLocalizationsLt extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Darbo savaitė'; + @override + String get andDataGridFilteringLabel => r'Ir'; + + @override + String get beforeDataGridFilteringLabel => r'Prieš arba lygus'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Prieš'; + + @override + String get beginsWithDataGridFilteringLabel => r'Prasideda su'; + + @override + String get cancelDataGridFilteringLabel => r'Atšaukti'; + + @override + String get clearFilterDataGridFilteringLabel => r'Išvalyti filtrą'; + + @override + String get containsDataGridFilteringLabel => r'Sudėtyje yra'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Datos filtrai'; + @override String get daySpanCountLabel => r'Diena'; @@ -7685,24 +12599,81 @@ class SfLocalizationsLt extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Neprasideda su'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Sudėtyje nėra'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Nesibaigia'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Nelygu'; + + @override + String get emptyDataGridFilteringLabel => r'Tuščia'; + + @override + String get endsWithDataGridFilteringLabel => r'Baigiasi su'; + + @override + String get equalsDataGridFilteringLabel => r'Lygu'; + + @override + String get fromDataGridFilteringLabel => r'Iš'; + + @override + String get greaterThanDataGridFilteringLabel => r'Geresnis negu'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Didesnis nei lygus'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-Thani'; + @override + String get lessThanDataGridFilteringLabel => r'Mažiau nei'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Mažiau nei arba lygus'; + @override String get muharramLabel => r'Muharramas'; @override String get noEventsCalendarLabel => r'Jokių įvykių'; + @override + String get noMatchesDataGridFilteringLabel => r'Jokių atitikmenų'; + @override String get noSelectedDateCalendarLabel => r'Nėra pasirinktos datos'; + @override + String get notEmptyDataGridFilteringLabel => r'Ne Tuščias'; + + @override + String get notNullDataGridFilteringLabel => r'Ne Null'; + + @override + String get nullDataGridFilteringLabel => r'Null'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Skaičių filtrai'; + @override String get ofDataPagerLabel => r'apie'; + @override + String get okDataGridFilteringLabel => r'Gerai'; + + @override + String get orDataGridFilteringLabel => r'Arba'; + @override String get pagesDataPagerLabel => r'puslapių'; @@ -7779,6 +12750,12 @@ class SfLocalizationsLt extends SfGlobalLocalizations { @override String get safarLabel => r'Safaras'; + @override + String get searchDataGridFilteringLabel => r'Paieška'; + + @override + String get selectAllDataGridFilteringLabel => r'Pasirinkti viską'; + @override String get series => r'Serija'; @@ -7801,7 +12778,7 @@ class SfLocalizationsLt extends SfGlobalLocalizations { String get shortJumada2Label => r'Jum. II'; @override - String get shortMuharramLabel => r'aha.'; + String get shortMuharramLabel => r'Muh.'; @override String get shortRabi1Label => r'Rabi. aš'; @@ -7824,6 +12801,37 @@ class SfLocalizationsLt extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Rodyti eilutes kur'; + + @override + String get sortAToZDataGridFilteringLabel => r'Rūšiuoti nuo A iki Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Rūšiuoti ir filtruoti'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Rūšiuoti nuo didžiausio iki mažiausio'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Rūšiuoti nuo naujausių iki seniausių'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Rūšiuoti nuo seniausių iki naujausių'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Rūšiuoti nuo mažiausio iki didžiausio'; + + @override + String get sortZToADataGridFilteringLabel => r'Rūšiuoti nuo Z iki A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Teksto filtrai'; + @override String get todayLabel => r'Šiandien'; @@ -7840,6 +12848,12 @@ class SfLocalizationsLv extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Pēc'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Pēc vai vienāds'; + @override String get allDayLabel => r'Visu dienu'; @@ -7870,33 +12884,115 @@ class SfLocalizationsLv extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Darba nedēļa'; + @override + String get andDataGridFilteringLabel => r'Un'; + + @override + String get beforeDataGridFilteringLabel => r'Pirms vai vienāds'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Pirms tam'; + + @override + String get beginsWithDataGridFilteringLabel => r'Sākas ar'; + + @override + String get cancelDataGridFilteringLabel => r'Atcelt'; + + @override + String get clearFilterDataGridFilteringLabel => r'Notīrīt filtru'; + + @override + String get containsDataGridFilteringLabel => r'Satur'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Datumu filtri'; + @override String get daySpanCountLabel => r'diena'; @override - String get dhualhiLabel => r'Dhu al-Hijjah'; + String get dhualhiLabel => r'Dhu al-Hidžja'; @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Nesākas ar'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Nesatur'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Nebeidzas ar'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Nav vienāds'; + + @override + String get emptyDataGridFilteringLabel => r'Tukšs'; + + @override + String get endsWithDataGridFilteringLabel => r'Beidzas ar'; + + @override + String get equalsDataGridFilteringLabel => r'Vienāds'; + + @override + String get fromDataGridFilteringLabel => r'No'; + + @override + String get greaterThanDataGridFilteringLabel => r'Pārāks nekā'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'Lielāks par vai vienāds'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-tani'; + @override + String get lessThanDataGridFilteringLabel => r'Mazāk nekā'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Mazāk nekā vai vienāds'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'Nav notikumu'; + @override + String get noMatchesDataGridFilteringLabel => r'Nav nevienas spēles'; + @override String get noSelectedDateCalendarLabel => r'Nav izvēlēts datums'; + @override + String get notEmptyDataGridFilteringLabel => r'Nav tukšs'; + + @override + String get notNullDataGridFilteringLabel => r'Nav Null'; + + @override + String get nullDataGridFilteringLabel => r'Null'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Skaitļu filtri'; + @override String get ofDataPagerLabel => r'no'; + @override + String get okDataGridFilteringLabel => r'labi'; + + @override + String get orDataGridFilteringLabel => r'Or'; + @override String get pagesDataPagerLabel => r'lapas'; @@ -7973,6 +13069,12 @@ class SfLocalizationsLv extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Meklēt'; + + @override + String get selectAllDataGridFilteringLabel => r'Izvēlēties visus'; + @override String get series => r'sērija'; @@ -8018,6 +13120,37 @@ class SfLocalizationsLv extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Šo.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Rādīt rindas, kur'; + + @override + String get sortAToZDataGridFilteringLabel => r'Kārtot no A līdz Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Kārtot un filtrēt'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Kārtot no lielākā uz mazāko'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Kārtot no jaunākajiem uz vecākajiem'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Kārtot no vecāko uz jaunāko'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Kārtot no mazākā uz lielāko'; + + @override + String get sortZToADataGridFilteringLabel => r'Kārtot no Z līdz A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Teksta filtri'; + @override String get todayLabel => r'Šodien'; @@ -8034,6 +13167,12 @@ class SfLocalizationsMk extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'По'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'По Или еднакви'; + @override String get allDayLabel => r'Цел ден'; @@ -8050,7 +13189,7 @@ class SfLocalizationsMk extends SfGlobalLocalizations { String get allowedViewTimelineDayLabel => r'Ден на времеплов'; @override - String get allowedViewTimelineMonthLabel => r'Времеплов месец'; + String get allowedViewTimelineMonthLabel => r'Месец на времеплов'; @override String get allowedViewTimelineWeekLabel => r'Недела на времеплов'; @@ -8065,32 +13204,114 @@ class SfLocalizationsMk extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Работна недела'; + @override + String get andDataGridFilteringLabel => r'И'; + + @override + String get beforeDataGridFilteringLabel => r'Пред или еднакви'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Пред'; + + @override + String get beginsWithDataGridFilteringLabel => r'Започнува со'; + + @override + String get cancelDataGridFilteringLabel => r'Откажи'; + + @override + String get clearFilterDataGridFilteringLabel => r'Исчистете го филтерот'; + + @override + String get containsDataGridFilteringLabel => r'Содржи'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Филтри за датум'; + @override String get daySpanCountLabel => r'Ден'; @override - String get dhualhiLabel => r'Зу ал-Хиџа'; + String get dhualhiLabel => r'Зу ал Хиџа'; + + @override + String get dhualqiLabel => r'Зу ал-Кида'; + + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Не започнува со'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Не содржи'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Не завршува со'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Не е еднакво'; + + @override + String get emptyDataGridFilteringLabel => r'Празен'; + + @override + String get endsWithDataGridFilteringLabel => r'Завршува со'; + + @override + String get equalsDataGridFilteringLabel => r'Еднакви'; + + @override + String get fromDataGridFilteringLabel => r'Од'; + + @override + String get greaterThanDataGridFilteringLabel => r'Поголема од'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'Поголема од Или еднаква'; + + @override + String get jumada1Label => r'Џумада ал-аввал'; + + @override + String get jumada2Label => r'Џумада ал-тани'; + + @override + String get lessThanDataGridFilteringLabel => r'Помалку од'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Помалку од или еднакви'; + + @override + String get muharramLabel => r'Мухарам'; + + @override + String get noEventsCalendarLabel => r'Нема настани'; + + @override + String get noMatchesDataGridFilteringLabel => r'Нема совпаѓања'; + + @override + String get noSelectedDateCalendarLabel => r'Нема избран датум'; @override - String get dhualqiLabel => r'Зу ал-Кида'; + String get notEmptyDataGridFilteringLabel => r'Не е празен'; @override - String get jumada1Label => r'Џумада ал-аввал'; + String get notNullDataGridFilteringLabel => r'Не Нулта'; @override - String get jumada2Label => r'Џумада ал-тани'; + String get nullDataGridFilteringLabel => r'Нула'; @override - String get muharramLabel => r'Мухарам'; + String get numberFiltersDataGridFilteringLabel => r'Филтри за броеви'; @override - String get noEventsCalendarLabel => r'Нема настани'; + String get ofDataPagerLabel => r'на'; @override - String get noSelectedDateCalendarLabel => r'Нема избран датум'; + String get okDataGridFilteringLabel => r'добро'; @override - String get ofDataPagerLabel => r'на'; + String get orDataGridFilteringLabel => r'Или'; @override String get pagesDataPagerLabel => r'страници'; @@ -8128,10 +13349,10 @@ class SfLocalizationsMk extends SfGlobalLocalizations { String get pdfHyperlinkDialogOpenLabel => r'ОТВОРЕНО'; @override - String get pdfHyperlinkLabel => r'Отворете веб-страница'; + String get pdfHyperlinkLabel => r'Отворете ја веб-страницата'; @override - String get pdfInvalidPageNumberLabel => r'Ве молиме внесете важечки број'; + String get pdfInvalidPageNumberLabel => r'Внесете важечки број'; @override String get pdfNoBookmarksLabel => r'Не се пронајдени обележувачи'; @@ -8169,6 +13390,12 @@ class SfLocalizationsMk extends SfGlobalLocalizations { @override String get safarLabel => r'Сафар'; + @override + String get searchDataGridFilteringLabel => r'Пребарување'; + + @override + String get selectAllDataGridFilteringLabel => r'Селектирај се'; + @override String get series => r'Серии'; @@ -8182,7 +13409,7 @@ class SfLocalizationsMk extends SfGlobalLocalizations { String get shortDhualhiLabel => r'Дул-Х'; @override - String get shortDhualqiLabel => r'Дул-К'; + String get shortDhualqiLabel => r'Ду' "'" r'л-К'; @override String get shortJumada1Label => r'Џум. Јас'; @@ -8203,7 +13430,7 @@ class SfLocalizationsMk extends SfGlobalLocalizations { String get shortRajabLabel => r'Раџ.'; @override - String get shortRamadanLabel => r'Рам.'; + String get shortRamadanLabel => r'Овен.'; @override String get shortSafarLabel => r'Саф.'; @@ -8215,7 +13442,38 @@ class SfLocalizationsMk extends SfGlobalLocalizations { String get shortShawwalLabel => r'Шо.'; @override - String get todayLabel => r'Денеска'; + String get showRowsWhereDataGridFilteringLabel => r'Прикажи ги редовите каде'; + + @override + String get sortAToZDataGridFilteringLabel => r'Подреди од А до Ш'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Сортирање и филтрирање'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Подреди од најголем до најмал'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Подреди најновото до најстарото'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Подреди од најстарото до најновото'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Подреди од најмал до најголем'; + + @override + String get sortZToADataGridFilteringLabel => r'Подреди од Ш до А'; + + @override + String get textFiltersDataGridFilteringLabel => r'Филтри за текст'; + + @override + String get todayLabel => r'Денес'; @override String get weeknumberLabel => r'Недела'; @@ -8230,6 +13488,12 @@ class SfLocalizationsMl extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'ശേഷം'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'ശേഷം അല്ലെങ്കിൽ തുല്യം'; + @override String get allDayLabel => r'ദിവസം മുഴുവൻ'; @@ -8260,6 +13524,30 @@ class SfLocalizationsMl extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'പ്രവൃത്തി ആഴ്ച'; + @override + String get andDataGridFilteringLabel => r'ഒപ്പം'; + + @override + String get beforeDataGridFilteringLabel => r'മുമ്പോ തുല്യമോ'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'മുമ്പ്'; + + @override + String get beginsWithDataGridFilteringLabel => r'കൂടെ തുടങ്ങുന്നു'; + + @override + String get cancelDataGridFilteringLabel => r'റദ്ദാക്കുക'; + + @override + String get clearFilterDataGridFilteringLabel => r'ഫിൽട്ടർ മായ്‌ക്കുക'; + + @override + String get containsDataGridFilteringLabel => r'അടങ്ങിയിരിക്കുന്നു'; + + @override + String get dateFiltersDataGridFilteringLabel => r'തീയതി ഫിൽട്ടറുകൾ'; + @override String get daySpanCountLabel => r'ദിവസം'; @@ -8269,24 +13557,84 @@ class SfLocalizationsMl extends SfGlobalLocalizations { @override String get dhualqiLabel => r'ദു അൽ-ക്വിദ'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'കൂടെ തുടങ്ങുന്നില്ല'; + + @override + String get doesNotContainDataGridFilteringLabel => r'അടങ്ങിയിട്ടില്ല'; + + @override + String get doesNotEndWithDataGridFilteringLabel => + r'കൊണ്ട് അവസാനിക്കുന്നില്ല'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'തുല്യമല്ല'; + + @override + String get emptyDataGridFilteringLabel => r'ശൂന്യം'; + + @override + String get endsWithDataGridFilteringLabel => r'കൂടെ അവസാനിക്കുന്നു'; + + @override + String get equalsDataGridFilteringLabel => r'തുല്യമാണ്'; + + @override + String get fromDataGridFilteringLabel => r'നിന്ന്'; + + @override + String get greaterThanDataGridFilteringLabel => r'അതിലും വലുത്'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'വലുത് അല്ലെങ്കിൽ തുല്യം'; + @override String get jumada1Label => r'ജുമാദ അൽ അവ്വൽ'; @override String get jumada2Label => r'ജുമാദ അൽതാനി'; + @override + String get lessThanDataGridFilteringLabel => r'അതിൽ കുറവ്'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => + r'കുറവ് അല്ലെങ്കിൽ തുല്യം'; + @override String get muharramLabel => r'മുഹറം'; @override String get noEventsCalendarLabel => r'ഇവന്റുകളൊന്നുമില്ല'; + @override + String get noMatchesDataGridFilteringLabel => r'പൊരുത്തങ്ങളൊന്നുമില്ല'; + @override String get noSelectedDateCalendarLabel => r'തിരഞ്ഞെടുത്ത തീയതിയില്ല'; + @override + String get notEmptyDataGridFilteringLabel => r'ശൂന്യമല്ല'; + + @override + String get notNullDataGridFilteringLabel => r'നൾ അല്ല'; + + @override + String get nullDataGridFilteringLabel => r'ശൂന്യം'; + + @override + String get numberFiltersDataGridFilteringLabel => r'നമ്പർ ഫിൽട്ടറുകൾ'; + @override String get ofDataPagerLabel => r'യുടെ'; + @override + String get okDataGridFilteringLabel => r'ശരി'; + + @override + String get orDataGridFilteringLabel => r'അഥവാ'; + @override String get pagesDataPagerLabel => r'പേജുകൾ'; @@ -8363,6 +13711,12 @@ class SfLocalizationsMl extends SfGlobalLocalizations { @override String get safarLabel => r'സഫർ'; + @override + String get searchDataGridFilteringLabel => r'തിരയുക'; + + @override + String get selectAllDataGridFilteringLabel => r'എല്ലാം തിരഞ്ഞെടുക്കുക'; + @override String get series => r'പരമ്പര'; @@ -8408,6 +13762,37 @@ class SfLocalizationsMl extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'ഷാ.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'എവിടെ വരികൾ കാണിക്കുക'; + + @override + String get sortAToZDataGridFilteringLabel => r'A മുതൽ Z വരെ അടുക്കുക'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'അടുക്കി ഫിൽട്ടർ ചെയ്യുക'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'ഏറ്റവും വലുത് മുതൽ ചെറുത് വരെ അടുക്കുക'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'ഏറ്റവും പുതിയത് മുതൽ പഴയത് വരെ അടുക്കുക'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'ഏറ്റവും പഴയത് മുതൽ പുതിയത് വരെ അടുക്കുക'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'ചെറുത് മുതൽ വലുത് വരെ അടുക്കുക'; + + @override + String get sortZToADataGridFilteringLabel => r'Z മുതൽ A വരെ അടുക്കുക'; + + @override + String get textFiltersDataGridFilteringLabel => r'ടെക്സ്റ്റ് ഫിൽട്ടറുകൾ'; + @override String get todayLabel => r'ഇന്ന്'; @@ -8424,6 +13809,12 @@ class SfLocalizationsMn extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Дараа нь'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Дараа эсвэл тэнцүү'; + @override String get allDayLabel => r'Бүх өдөр'; @@ -8454,33 +13845,114 @@ class SfLocalizationsMn extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Ажлын долоо хоног'; + @override + String get andDataGridFilteringLabel => r'Тэгээд'; + + @override + String get beforeDataGridFilteringLabel => r'Өмнө эсвэл Тэнцүү'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Өмнө нь'; + + @override + String get beginsWithDataGridFilteringLabel => r'-аар эхэлдэг'; + + @override + String get cancelDataGridFilteringLabel => r'Цуцлах'; + + @override + String get clearFilterDataGridFilteringLabel => r'Шүүлтүүрийг арилгах'; + + @override + String get containsDataGridFilteringLabel => r'агуулсан'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Огноо шүүлтүүрүүд'; + @override String get daySpanCountLabel => r'Өдөр'; @override - String get dhualhiLabel => r'Зу аль-Хижа'; + String get dhualhiLabel => r'Зул Хижжа'; @override String get dhualqiLabel => r'Зу аль-Кида'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'-аас эхэлдэггүй'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Агуулаагүй'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Үүгээр дуусахгүй'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Тэнцэхгүй'; + + @override + String get emptyDataGridFilteringLabel => r'Хоосон'; + + @override + String get endsWithDataGridFilteringLabel => r'-ээр төгсдөг'; + + @override + String get equalsDataGridFilteringLabel => r'Тэнцүү'; + + @override + String get fromDataGridFilteringLabel => r'-аас'; + + @override + String get greaterThanDataGridFilteringLabel => r'Илүү их'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Их буюу тэнцүү'; + @override String get jumada1Label => r'Жумада аль-аввал'; @override String get jumada2Label => r'Жумада аль-Тани'; + @override + String get lessThanDataGridFilteringLabel => r'Ээс бага'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'-ээс бага эсвэл тэнцүү'; + @override String get muharramLabel => r'Мухаррам'; @override String get noEventsCalendarLabel => r'Үйл явдал алга'; + @override + String get noMatchesDataGridFilteringLabel => r'Тохирох зүйл алга'; + @override String get noSelectedDateCalendarLabel => r'Сонгосон огноо алга'; + @override + String get notEmptyDataGridFilteringLabel => r'Хоосон биш'; + + @override + String get notNullDataGridFilteringLabel => r'Null биш'; + + @override + String get nullDataGridFilteringLabel => r'Null'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Тооны шүүлтүүрүүд'; + @override String get ofDataPagerLabel => r'-ийн'; + @override + String get okDataGridFilteringLabel => r'БОЛЖ БАЙНА УУ'; + + @override + String get orDataGridFilteringLabel => r'Эсвэл'; + @override String get pagesDataPagerLabel => r'хуудаснууд'; @@ -8558,6 +14030,12 @@ class SfLocalizationsMn extends SfGlobalLocalizations { @override String get safarLabel => r'Сафар'; + @override + String get searchDataGridFilteringLabel => r'Хайх'; + + @override + String get selectAllDataGridFilteringLabel => r'Бүгдийг сонгох'; + @override String get series => r'Цуврал'; @@ -8603,6 +14081,37 @@ class SfLocalizationsMn extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Шоу.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Хаана мөрүүдийг харуул'; + + @override + String get sortAToZDataGridFilteringLabel => r'А-аас Я хүртэл эрэмбэлэх'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Ангилах, шүүх'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Томоос жижиг рүү ангилах'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Хамгийн шинэээс хамгийн хуучин руу эрэмбэлэх'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Хамгийн хуучинаас шинэ рүү эрэмбэлэх'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Хамгийн жижигээс томд эрэмбэлэх'; + + @override + String get sortZToADataGridFilteringLabel => r'Z-ээс А хүртэл эрэмбэлэх'; + + @override + String get textFiltersDataGridFilteringLabel => r'Текст шүүлтүүрүүд'; + @override String get todayLabel => r'Өнөөдөр'; @@ -8619,6 +14128,12 @@ class SfLocalizationsMr extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'नंतर'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'नंतर किंवा समान'; + @override String get allDayLabel => r'संपूर्ण दिवस'; @@ -8647,34 +14162,116 @@ class SfLocalizationsMr extends SfGlobalLocalizations { String get allowedViewWeekLabel => r'आठवडा'; @override - String get allowedViewWorkWeekLabel => r'कामाचा आठवडा'; + String get allowedViewWorkWeekLabel => r'कामाचा आठवडा'; + + @override + String get andDataGridFilteringLabel => r'आणि'; + + @override + String get beforeDataGridFilteringLabel => r'आधी किंवा समान'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'आधी'; + + @override + String get beginsWithDataGridFilteringLabel => r'ने सुरुवात होते'; + + @override + String get cancelDataGridFilteringLabel => r'रद्द करा'; + + @override + String get clearFilterDataGridFilteringLabel => r'फिल्टर साफ करा'; + + @override + String get containsDataGridFilteringLabel => r'समाविष्ट आहे'; + + @override + String get dateFiltersDataGridFilteringLabel => r'तारीख फिल्टर'; + + @override + String get daySpanCountLabel => r'दिवस'; + + @override + String get dhualhiLabel => r'धु अल-हिज्जा'; + + @override + String get dhualqiLabel => r'धु अल-किदाह'; + + @override + String get doesNotBeginWithDataGridFilteringLabel => r'ने सुरुवात होत नाही'; + + @override + String get doesNotContainDataGridFilteringLabel => r'समाविष्ट नाही'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'सह संपत नाही'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'समान नाही'; + + @override + String get emptyDataGridFilteringLabel => r'रिकामे'; + + @override + String get endsWithDataGridFilteringLabel => r'यासह समाप्त होते'; + + @override + String get equalsDataGridFilteringLabel => r'बरोबरी'; + + @override + String get fromDataGridFilteringLabel => r'पासून'; + + @override + String get greaterThanDataGridFilteringLabel => r'या पेक्षा मोठे'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'पेक्षा मोठे किंवा समान'; + + @override + String get jumada1Label => r'जुमदा अल-अव्वाल'; + + @override + String get jumada2Label => r'जुमादा अल-थानी'; + + @override + String get lessThanDataGridFilteringLabel => r'च्या पेक्षा कमी'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'पेक्षा कमी किंवा समान'; + + @override + String get muharramLabel => r'मोहरम'; + + @override + String get noEventsCalendarLabel => r'कार्यक्रम नाहीत'; @override - String get daySpanCountLabel => r'दिवस'; + String get noMatchesDataGridFilteringLabel => r'कोणतेही सामने नाहीत'; @override - String get dhualhiLabel => r'धु अल-हिज्जा'; + String get noSelectedDateCalendarLabel => r'निवडलेली तारीख नाही'; @override - String get dhualqiLabel => r'धु अल-किदाह'; + String get notEmptyDataGridFilteringLabel => r'रिकामे नाही'; @override - String get jumada1Label => r'जुमदा अल-अव्वल'; + String get notNullDataGridFilteringLabel => r'शून्य नाही'; @override - String get jumada2Label => r'जुमादा अल-थानी'; + String get nullDataGridFilteringLabel => r'निरर्थक'; @override - String get muharramLabel => r'मोहरम'; + String get numberFiltersDataGridFilteringLabel => r'संख्या फिल्टर'; @override - String get noEventsCalendarLabel => r'कार्यक्रम नाहीत'; + String get ofDataPagerLabel => r'च्या'; @override - String get noSelectedDateCalendarLabel => r'निवडलेली तारीख नाही'; + String get okDataGridFilteringLabel => r'ठीक आहे'; @override - String get ofDataPagerLabel => r'च्या'; + String get orDataGridFilteringLabel => r'किंवा'; @override String get pagesDataPagerLabel => r'पृष्ठे'; @@ -8738,7 +14335,7 @@ class SfLocalizationsMr extends SfGlobalLocalizations { String get rabi1Label => r'रबी अल अव्वल'; @override - String get rabi2Label => r'रबी अल-थानी'; + String get rabi2Label => r'रबी अल थानी'; @override String get rajabLabel => r'रजब'; @@ -8752,6 +14349,12 @@ class SfLocalizationsMr extends SfGlobalLocalizations { @override String get safarLabel => r'सफर'; + @override + String get searchDataGridFilteringLabel => r'शोधा'; + + @override + String get selectAllDataGridFilteringLabel => r'सर्व निवडा'; + @override String get series => r'मालिका'; @@ -8768,10 +14371,10 @@ class SfLocalizationsMr extends SfGlobalLocalizations { String get shortDhualqiLabel => r'धूल-प्र'; @override - String get shortJumada1Label => r'जम. आय'; + String get shortJumada1Label => r'जुम. आय'; @override - String get shortJumada2Label => r'जम. II'; + String get shortJumada2Label => r'जुम. II'; @override String get shortMuharramLabel => r'मुह.'; @@ -8797,6 +14400,38 @@ class SfLocalizationsMr extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'शॉ.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'कुठे पंक्ती दाखवा'; + + @override + String get sortAToZDataGridFilteringLabel => r'A ते Z क्रमवारी लावा'; + + @override + String get sortAndFilterDataGridFilteringLabel => + r'क्रमवारी लावा आणि फिल्टर करा'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'सर्वात मोठ्या ते सर्वात लहान क्रमवारी लावा'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'सर्वात नवीन ते सर्वात जुने क्रमवारी लावा'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'सर्वात जुनी ते नवीनतम क्रमवारी लावा'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'सर्वात लहान ते सर्वात मोठ्या क्रमवारी लावा'; + + @override + String get sortZToADataGridFilteringLabel => r'Z ते A क्रमवारी लावा'; + + @override + String get textFiltersDataGridFilteringLabel => r'मजकूर फिल्टर'; + @override String get todayLabel => r'आज'; @@ -8813,6 +14448,12 @@ class SfLocalizationsMs extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Selepas'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Selepas Atau Sama'; + @override String get allDayLabel => r'Sepanjang hari'; @@ -8843,6 +14484,30 @@ class SfLocalizationsMs extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Minggu Kerja'; + @override + String get andDataGridFilteringLabel => r'Dan'; + + @override + String get beforeDataGridFilteringLabel => r'Sebelum Atau Sama'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Sebelum ini'; + + @override + String get beginsWithDataGridFilteringLabel => r'Bermula dengan'; + + @override + String get cancelDataGridFilteringLabel => r'Batal'; + + @override + String get clearFilterDataGridFilteringLabel => r'Kosongkan Penapis'; + + @override + String get containsDataGridFilteringLabel => r'Mengandungi'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Penapis Tarikh'; + @override String get daySpanCountLabel => r'Hari'; @@ -8852,24 +14517,83 @@ class SfLocalizationsMs extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Tidak Bermula Dengan'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Tidak mengandungi'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Tidak Berakhir Dengan'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Tidak Sama'; + + @override + String get emptyDataGridFilteringLabel => r'kosong'; + + @override + String get endsWithDataGridFilteringLabel => r'Berakhir Dengan'; + + @override + String get equalsDataGridFilteringLabel => r'sama'; + + @override + String get fromDataGridFilteringLabel => r'daripada'; + + @override + String get greaterThanDataGridFilteringLabel => r'Lebih besar daripada'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'Lebih Besar Daripada Atau Sama'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Kurang daripada'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => + r'Kurang Daripada Atau Sama'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'Tiada acara'; + @override + String get noMatchesDataGridFilteringLabel => r'Tiada perlawanan'; + @override String get noSelectedDateCalendarLabel => r'Tiada tarikh yang dipilih'; + @override + String get notEmptyDataGridFilteringLabel => r'Tidak kosong'; + + @override + String get notNullDataGridFilteringLabel => r'Bukan Null'; + + @override + String get nullDataGridFilteringLabel => r'batal'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Penapis Nombor'; + @override String get ofDataPagerLabel => r'daripada'; + @override + String get okDataGridFilteringLabel => r'okey'; + + @override + String get orDataGridFilteringLabel => r'Ataupun'; + @override String get pagesDataPagerLabel => r'muka surat'; @@ -8947,6 +14671,12 @@ class SfLocalizationsMs extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Cari'; + + @override + String get selectAllDataGridFilteringLabel => r'Pilih semua'; + @override String get series => r'Siri'; @@ -8992,6 +14722,37 @@ class SfLocalizationsMs extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Tunjukkan baris di mana'; + + @override + String get sortAToZDataGridFilteringLabel => r'Susun A Hingga Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Isih dan Tapis'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Susun Terbesar Kepada Terkecil'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Susun Terbaharu Hingga Terlama'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Isih Terlama Kepada Terbaharu'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Susun Terkecil Kepada Terbesar'; + + @override + String get sortZToADataGridFilteringLabel => r'Isih Z Hingga A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Penapis Teks'; + @override String get todayLabel => r'Hari ini'; @@ -9008,6 +14769,13 @@ class SfLocalizationsMy extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'ပြီးနောက်'; + + @override + String get afterOrEqualDataGridFilteringLabel => + r'ပြီးနောက် သို့မဟုတ် အနှိုင်းမဲ့'; + @override String get allDayLabel => r'တနေကုန်'; @@ -9024,7 +14792,7 @@ class SfLocalizationsMy extends SfGlobalLocalizations { String get allowedViewTimelineDayLabel => r'Timeline နေ့'; @override - String get allowedViewTimelineMonthLabel => r'အချိန်စာရင်းလ'; + String get allowedViewTimelineMonthLabel => r'Timeline လ'; @override String get allowedViewTimelineWeekLabel => r'Timeline Week'; @@ -9038,6 +14806,30 @@ class SfLocalizationsMy extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'အလုပ်ရက်သတ္တပတ်'; + @override + String get andDataGridFilteringLabel => r'နှင့်'; + + @override + String get beforeDataGridFilteringLabel => r'မီ သို့မဟုတ် သာတူညီမျှ'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'မီ'; + + @override + String get beginsWithDataGridFilteringLabel => r'ဖြင့်စတင်သည်။'; + + @override + String get cancelDataGridFilteringLabel => r'မလုပ်တော့'; + + @override + String get clearFilterDataGridFilteringLabel => r'Filter ကိုရှင်းလင်းပါ။'; + + @override + String get containsDataGridFilteringLabel => r'ပါရှိသည်။'; + + @override + String get dateFiltersDataGridFilteringLabel => r'ရက်စွဲ စစ်ထုတ်မှုများ'; + @override String get daySpanCountLabel => r'နေ့'; @@ -9047,24 +14839,83 @@ class SfLocalizationsMy extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'ဖြင့် မစတင်ပါ။'; + + @override + String get doesNotContainDataGridFilteringLabel => r'မပါဝင်ပါ။'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'ဖြင့် မဆုံးပါ။'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'မညီမျှပါ။'; + + @override + String get emptyDataGridFilteringLabel => r'ဗလာ'; + + @override + String get endsWithDataGridFilteringLabel => r'ဖြင့် အဆုံးသတ်သည်။'; + + @override + String get equalsDataGridFilteringLabel => r'ညီမျှသည်။'; + + @override + String get fromDataGridFilteringLabel => r'ထံမှ'; + + @override + String get greaterThanDataGridFilteringLabel => r'ထက်မြတ်'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'ပိုကြီးသည် သို့မဟုတ် သာတူညီမျှ'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'ထက်ငယ်သော'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => + r'လျော့နည်းသည် သို့မဟုတ် ညီမျှသည်။'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'ပွဲများမရှိပါ။'; + @override + String get noMatchesDataGridFilteringLabel => r'တိုက်ဆိုင်မှု မရှိပါ။'; + @override String get noSelectedDateCalendarLabel => r'ရွေးထားသည့်ရက်စွဲမရှိပါ။'; + @override + String get notEmptyDataGridFilteringLabel => r'ဗလာမဟုတ်ပါ။'; + + @override + String get notNullDataGridFilteringLabel => r'Null မဟုတ်ပါ။'; + + @override + String get nullDataGridFilteringLabel => r'Null'; + + @override + String get numberFiltersDataGridFilteringLabel => r'နံပါတ် စစ်ထုတ်မှုများ'; + @override String get ofDataPagerLabel => r'၏'; + @override + String get okDataGridFilteringLabel => r'အဆင်ပြေလား'; + + @override + String get orDataGridFilteringLabel => r'သို့မဟုတ်'; + @override String get pagesDataPagerLabel => r'စာမျက်နှာများ'; @@ -9076,7 +14927,7 @@ class SfLocalizationsMy extends SfGlobalLocalizations { String get passwordDialogHeaderTextLabel => r'စကားဝှက်ကို ကာကွယ်ထားသည်။'; @override - String get passwordDialogHintTextLabel => r'စကားဝှက်ထည့်ပါ။'; + String get passwordDialogHintTextLabel => r'Password ရိုက်ထည့်ပါ။'; @override String get passwordDialogInvalidPasswordLabel => r'မမှန်ကန်သော စကားဝှက်'; @@ -9113,7 +14964,7 @@ class SfLocalizationsMy extends SfGlobalLocalizations { String get pdfPaginationDialogCancelLabel => r'မလုပ်တော့ပါ။'; @override - String get pdfPaginationDialogOkLabel => r'အိုကေတယ်နော်'; + String get pdfPaginationDialogOkLabel => r'အဆင်ပြေလား'; @override String get pdfPasswordDialogCancelLabel => r'မလုပ်တော့ပါ။'; @@ -9134,7 +14985,7 @@ class SfLocalizationsMy extends SfGlobalLocalizations { String get rajabLabel => r'ရာဂျပ်'; @override - String get ramadanLabel => r'ရမ်ဇာန်'; + String get ramadanLabel => r'ရမဿွာန်'; @override String get rowsPerPageDataPagerLabel => r'စာမျက်နှာအလိုက် အတန်းများ'; @@ -9142,6 +14993,12 @@ class SfLocalizationsMy extends SfGlobalLocalizations { @override String get safarLabel => r'ဆာဖာရာ'; + @override + String get searchDataGridFilteringLabel => r'ရှာရန်'; + + @override + String get selectAllDataGridFilteringLabel => r'အားလုံးကို ရွေးပါ။'; + @override String get series => r'စီးရီး'; @@ -9187,6 +15044,37 @@ class SfLocalizationsMy extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'ရှော။'; + @override + String get showRowsWhereDataGridFilteringLabel => r'အတန်းပြပါ။'; + + @override + String get sortAToZDataGridFilteringLabel => r'A မှ Z ကိုစီပါ။'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'စီစစ်ပြီး စစ်ထုတ်ပါ။'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'အကြီးဆုံးမှအသေးဆုံးကိုစီပါ။'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'အသစ်ဆုံးမှ အဟောင်းဆုံးသို့ စီပါ။'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'အဟောင်းဆုံးမှ အသစ်ဆုံးသို့ စီပါ။'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'အသေးဆုံးမှ အကြီးဆုံးသို့ စီပါ။'; + + @override + String get sortZToADataGridFilteringLabel => r'Z မှ A ကိုစီပါ။'; + + @override + String get textFiltersDataGridFilteringLabel => r'စာသားစစ်ထုတ်မှုများ'; + @override String get todayLabel => r'ဒီနေ့'; @@ -9203,6 +15091,12 @@ class SfLocalizationsNb extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Etter'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Etter Eller Like'; + @override String get allDayLabel => r'Hele dagen'; @@ -9233,6 +15127,30 @@ class SfLocalizationsNb extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Arbeidsuke'; + @override + String get andDataGridFilteringLabel => r'Og'; + + @override + String get beforeDataGridFilteringLabel => r'Før eller lik'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Før'; + + @override + String get beginsWithDataGridFilteringLabel => r'Begynner med'; + + @override + String get cancelDataGridFilteringLabel => r'Avbryt'; + + @override + String get clearFilterDataGridFilteringLabel => r'Tøm filter'; + + @override + String get containsDataGridFilteringLabel => r'Inneholder'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Datofiltre'; + @override String get daySpanCountLabel => r'Dag'; @@ -9242,12 +15160,49 @@ class SfLocalizationsNb extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Begynner ikke med'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Inneholder ikke'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Slutter ikke med'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Er ikke lik'; + + @override + String get emptyDataGridFilteringLabel => r'Tømme'; + + @override + String get endsWithDataGridFilteringLabel => r'Slutter med'; + + @override + String get equalsDataGridFilteringLabel => r'Er lik'; + + @override + String get fromDataGridFilteringLabel => r'Fra'; + + @override + String get greaterThanDataGridFilteringLabel => r'Større enn'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'Større enn eller lik'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Mindre enn'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Mindre enn eller lik'; + @override String get muharramLabel => r'Muharram'; @@ -9255,10 +15210,31 @@ class SfLocalizationsNb extends SfGlobalLocalizations { String get noEventsCalendarLabel => r'Ingen hendelser'; @override - String get noSelectedDateCalendarLabel => r'Ingen valgt dato'; + String get noMatchesDataGridFilteringLabel => r'Ingen treff'; + + @override + String get noSelectedDateCalendarLabel => r'Ingen valgt dato'; + + @override + String get notEmptyDataGridFilteringLabel => r'Ikke tom'; + + @override + String get notNullDataGridFilteringLabel => r'Ikke null'; + + @override + String get nullDataGridFilteringLabel => r'Null'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Nummerfiltre'; + + @override + String get ofDataPagerLabel => r'av'; + + @override + String get okDataGridFilteringLabel => r'OK'; @override - String get ofDataPagerLabel => r'av'; + String get orDataGridFilteringLabel => r'Eller'; @override String get pagesDataPagerLabel => r'sider'; @@ -9336,6 +15312,12 @@ class SfLocalizationsNb extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Søk'; + + @override + String get selectAllDataGridFilteringLabel => r'Velg alle'; + @override String get series => r'Serie'; @@ -9381,6 +15363,37 @@ class SfLocalizationsNb extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Vis rader hvor'; + + @override + String get sortAToZDataGridFilteringLabel => r'Sorter A til Å'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Sorter og filtrer'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Sorter størst til minste'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Sorter nyeste til eldste'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Sorter eldste til nyeste'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Sorter minste til største'; + + @override + String get sortZToADataGridFilteringLabel => r'Sorter Z til A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Tekstfiltre'; + @override String get todayLabel => r'I dag'; @@ -9397,6 +15410,12 @@ class SfLocalizationsNe extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'पछि'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'पछि वा बराबर'; + @override String get allDayLabel => r'दिनभरि'; @@ -9427,6 +15446,30 @@ class SfLocalizationsNe extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'कार्य हप्ता'; + @override + String get andDataGridFilteringLabel => r'र'; + + @override + String get beforeDataGridFilteringLabel => r'अघि वा बराबर'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'पहिले'; + + @override + String get beginsWithDataGridFilteringLabel => r'बाट सुरु हुन्छ'; + + @override + String get cancelDataGridFilteringLabel => r'रद्द गर्नुहोस्'; + + @override + String get clearFilterDataGridFilteringLabel => r'फिल्टर खाली गर्नुहोस्'; + + @override + String get containsDataGridFilteringLabel => r'समावेश गर्दछ'; + + @override + String get dateFiltersDataGridFilteringLabel => r'मिति फिल्टरहरू'; + @override String get daySpanCountLabel => r'दिन'; @@ -9436,24 +15479,82 @@ class SfLocalizationsNe extends SfGlobalLocalizations { @override String get dhualqiLabel => r'धु अल-किदाह'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'बाट सुरु हुँदैन'; + + @override + String get doesNotContainDataGridFilteringLabel => r'समावेश गर्दैन'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'संग समाप्त हुँदैन'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'बराबर हुँदैन'; + + @override + String get emptyDataGridFilteringLabel => r'खाली'; + + @override + String get endsWithDataGridFilteringLabel => r'संग समाप्त हुन्छ'; + + @override + String get equalsDataGridFilteringLabel => r'बराबर हुन्छ'; + + @override + String get fromDataGridFilteringLabel => r'बाट'; + + @override + String get greaterThanDataGridFilteringLabel => r'भन्दा ठुलो'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'भन्दा ग्रेटर वा बराबर'; + @override String get jumada1Label => r'जुमाद अल अव्वल'; @override String get jumada2Label => r'जुमादा अल थानी'; + @override + String get lessThanDataGridFilteringLabel => r'भन्दा कम'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'भन्दा कम वा बराबर'; + @override String get muharramLabel => r'मुहर्रम'; @override String get noEventsCalendarLabel => r'कुनै घटनाहरू छैनन्'; + @override + String get noMatchesDataGridFilteringLabel => r'कुनै मेल छैन'; + @override String get noSelectedDateCalendarLabel => r'कुनै चयन गरिएको मिति छैन'; + @override + String get notEmptyDataGridFilteringLabel => r'खाली छैन'; + + @override + String get notNullDataGridFilteringLabel => r'शून्य होइन'; + + @override + String get nullDataGridFilteringLabel => r'खाली'; + + @override + String get numberFiltersDataGridFilteringLabel => r'नम्बर फिल्टरहरू'; + @override String get ofDataPagerLabel => r'को'; + @override + String get okDataGridFilteringLabel => r'ठिक छ'; + + @override + String get orDataGridFilteringLabel => r'वा'; + @override String get pagesDataPagerLabel => r'पृष्ठहरू'; @@ -9531,6 +15632,12 @@ class SfLocalizationsNe extends SfGlobalLocalizations { @override String get safarLabel => r'सफार'; + @override + String get searchDataGridFilteringLabel => r'खोज्नुहोस्'; + + @override + String get selectAllDataGridFilteringLabel => r'सबै छान्नु'; + @override String get series => r'शृङ्खला'; @@ -9576,6 +15683,38 @@ class SfLocalizationsNe extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'शा।'; + @override + String get showRowsWhereDataGridFilteringLabel => + r'जहाँ पङ्क्तिहरू देखाउनुहोस्'; + + @override + String get sortAToZDataGridFilteringLabel => r'A देखि Z क्रमबद्ध गर्नुहोस्'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'क्रमबद्ध र फिल्टर'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'सबैभन्दा ठूलो देखि सानो क्रमबद्ध गर्नुहोस्'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'सबैभन्दा नयाँ देखि पुरानो क्रमबद्ध गर्नुहोस्'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'सबैभन्दा पुरानो देखि नयाँ क्रमबद्ध गर्नुहोस्'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'सबैभन्दा सानो देखि ठुलो क्रमबद्ध गर्नुहोस्'; + + @override + String get sortZToADataGridFilteringLabel => r'Z मा A क्रमबद्ध गर्नुहोस्'; + + @override + String get textFiltersDataGridFilteringLabel => r'पाठ फिल्टरहरू'; + @override String get todayLabel => r'आज'; @@ -9592,6 +15731,12 @@ class SfLocalizationsNl extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Na'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Na of gelijk'; + @override String get allDayLabel => r'De hele dag'; @@ -9605,13 +15750,13 @@ class SfLocalizationsNl extends SfGlobalLocalizations { String get allowedViewScheduleLabel => r'Schema'; @override - String get allowedViewTimelineDayLabel => r'Tijdlijn Dag'; + String get allowedViewTimelineDayLabel => r'Tijdlijn dag'; @override String get allowedViewTimelineMonthLabel => r'Tijdlijn maand'; @override - String get allowedViewTimelineWeekLabel => r'Tijdlijnweek'; + String get allowedViewTimelineWeekLabel => r'Tijdlijn week'; @override String get allowedViewTimelineWorkWeekLabel => r'Tijdlijn Werkweek'; @@ -9622,6 +15767,30 @@ class SfLocalizationsNl extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Werkweek'; + @override + String get andDataGridFilteringLabel => r'En'; + + @override + String get beforeDataGridFilteringLabel => r'Voor of gelijk'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Voordat'; + + @override + String get beginsWithDataGridFilteringLabel => r'Begint met'; + + @override + String get cancelDataGridFilteringLabel => r'Annuleren'; + + @override + String get clearFilterDataGridFilteringLabel => r'Filter wissen'; + + @override + String get containsDataGridFilteringLabel => r'Bevat'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Datumfilters'; + @override String get daySpanCountLabel => r'Dag'; @@ -9631,24 +15800,82 @@ class SfLocalizationsNl extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Begint niet met'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Bevat geen'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Eindigt niet met'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Is niet gelijk aan'; + + @override + String get emptyDataGridFilteringLabel => r'Leeg'; + + @override + String get endsWithDataGridFilteringLabel => r'Eindigt met'; + + @override + String get equalsDataGridFilteringLabel => r'gelijk aan'; + + @override + String get fromDataGridFilteringLabel => r'Van'; + + @override + String get greaterThanDataGridFilteringLabel => r'Groter dan'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'Groter dan of gelijk aan'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Minder dan'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Minder dan of gelijk'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'Geen evenementen'; + @override + String get noMatchesDataGridFilteringLabel => r'Geen overeenkomsten'; + @override String get noSelectedDateCalendarLabel => r'Geen geselecteerde datum'; + @override + String get notEmptyDataGridFilteringLabel => r'Niet leeg'; + + @override + String get notNullDataGridFilteringLabel => r'Niet nul'; + + @override + String get nullDataGridFilteringLabel => r'Nul'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Nummerfilters'; + @override String get ofDataPagerLabel => r'van'; + @override + String get okDataGridFilteringLabel => r'Oké'; + + @override + String get orDataGridFilteringLabel => r'Of'; + @override String get pagesDataPagerLabel => r'Pagina' "'" r's'; @@ -9669,13 +15896,13 @@ class SfLocalizationsNl extends SfGlobalLocalizations { String get pdfBookmarksLabel => r'Bladwijzers'; @override - String get pdfEnterPageNumberLabel => r'Voer paginanummer in'; + String get pdfEnterPageNumberLabel => r'Voer het paginanummer in'; @override String get pdfGoToPageLabel => r'Ga naar pagina'; @override - String get pdfHyperlinkContentLabel => r'Wil je de pagina openen op'; + String get pdfHyperlinkContentLabel => r'Wilt u de pagina openen op'; @override String get pdfHyperlinkDialogCancelLabel => r'ANNULEREN'; @@ -9696,7 +15923,7 @@ class SfLocalizationsNl extends SfGlobalLocalizations { String get pdfPaginationDialogCancelLabel => r'ANNULEREN'; @override - String get pdfPaginationDialogOkLabel => r'Oke'; + String get pdfPaginationDialogOkLabel => r'Oké'; @override String get pdfPasswordDialogCancelLabel => r'ANNULEREN'; @@ -9708,10 +15935,10 @@ class SfLocalizationsNl extends SfGlobalLocalizations { String get pdfScrollStatusOfLabel => r'van'; @override - String get rabi1Label => r'Rabi' "'" r' al-awwali'; + String get rabi1Label => r'Rabi' "'" r' al-Awwal'; @override - String get rabi2Label => r'Rabi' "'" r' al Thani'; + String get rabi2Label => r'Rabi' "'" r' al-thani'; @override String get rajabLabel => r'Rajab'; @@ -9723,7 +15950,13 @@ class SfLocalizationsNl extends SfGlobalLocalizations { String get rowsPerPageDataPagerLabel => r'Rijen per pagina'; @override - String get safarLabel => r'Safari'; + String get safarLabel => r'Safar'; + + @override + String get searchDataGridFilteringLabel => r'Zoeken'; + + @override + String get selectAllDataGridFilteringLabel => r'Selecteer alles'; @override String get series => r'Serie'; @@ -9735,16 +15968,16 @@ class SfLocalizationsNl extends SfGlobalLocalizations { String get shawwalLabel => r'Shawwal'; @override - String get shortDhualhiLabel => r'Dhu' "'" r'l-H'; + String get shortDhualhiLabel => r'Dhul-H'; @override String get shortDhualqiLabel => r'Dhu' "'" r'l-Q'; @override - String get shortJumada1Label => r'jum. l'; + String get shortJumada1Label => r'Jum. l'; @override - String get shortJumada2Label => r'jum. II'; + String get shortJumada2Label => r'Jum. II'; @override String get shortMuharramLabel => r'Muh.'; @@ -9762,13 +15995,44 @@ class SfLocalizationsNl extends SfGlobalLocalizations { String get shortRamadanLabel => r'RAM.'; @override - String get shortSafarLabel => r'saf.'; + String get shortSafarLabel => r'Veilig'; + + @override + String get shortShaabanLabel => r'Sha.'; + + @override + String get shortShawwalLabel => r'Shaw.'; + + @override + String get showRowsWhereDataGridFilteringLabel => r'Toon rijen waar'; + + @override + String get sortAToZDataGridFilteringLabel => r'Sorteer van A tot Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Sorteren en filteren'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Sorteer van groot naar klein'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Sorteer nieuwste naar oudste'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Sorteer oudste naar nieuwste'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Sorteer klein naar groot'; @override - String get shortShaabanLabel => r'scha.'; + String get sortZToADataGridFilteringLabel => r'Sorteer Z naar A'; @override - String get shortShawwalLabel => r'Sjaa.'; + String get textFiltersDataGridFilteringLabel => r'Tekstfilters'; @override String get todayLabel => r'Vandaag'; @@ -9786,6 +16050,12 @@ class SfLocalizationsNo extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Etter'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Etter Eller Like'; + @override String get allDayLabel => r'Hele dagen'; @@ -9816,32 +16086,114 @@ class SfLocalizationsNo extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Arbeidsuke'; + @override + String get andDataGridFilteringLabel => r'Og'; + + @override + String get beforeDataGridFilteringLabel => r'Før eller lik'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Før'; + + @override + String get beginsWithDataGridFilteringLabel => r'Begynner med'; + + @override + String get cancelDataGridFilteringLabel => r'Avbryt'; + + @override + String get clearFilterDataGridFilteringLabel => r'Tøm filter'; + + @override + String get containsDataGridFilteringLabel => r'Inneholder'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Datofiltre'; + @override String get daySpanCountLabel => r'Dag'; @override - String get dhualhiLabel => r'Dhu al-Hijjah'; + String get dhualhiLabel => r'Dhu al-Hijjah'; + + @override + String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Begynner ikke med'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Inneholder ikke'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Slutter ikke med'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Er ikke lik'; + + @override + String get emptyDataGridFilteringLabel => r'Tømme'; + + @override + String get endsWithDataGridFilteringLabel => r'Slutter med'; + + @override + String get equalsDataGridFilteringLabel => r'Er lik'; + + @override + String get fromDataGridFilteringLabel => r'Fra'; + + @override + String get greaterThanDataGridFilteringLabel => r'Større enn'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'Større enn eller lik'; + + @override + String get jumada1Label => r'Jumada al-awwal'; + + @override + String get jumada2Label => r'Jumada al-thani'; + + @override + String get lessThanDataGridFilteringLabel => r'Mindre enn'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Mindre enn eller lik'; + + @override + String get muharramLabel => r'Muharram'; + + @override + String get noEventsCalendarLabel => r'Ingen hendelser'; + + @override + String get noMatchesDataGridFilteringLabel => r'Ingen treff'; + + @override + String get noSelectedDateCalendarLabel => r'Ingen valgt dato'; @override - String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + String get notEmptyDataGridFilteringLabel => r'Ikke tom'; @override - String get jumada1Label => r'Jumada al-awwal'; + String get notNullDataGridFilteringLabel => r'Ikke null'; @override - String get jumada2Label => r'Jumada al-thani'; + String get nullDataGridFilteringLabel => r'Null'; @override - String get muharramLabel => r'Muharram'; + String get numberFiltersDataGridFilteringLabel => r'Nummerfiltre'; @override - String get noEventsCalendarLabel => r'Ingen hendelser'; + String get ofDataPagerLabel => r'av'; @override - String get noSelectedDateCalendarLabel => r'Ingen valgt dato'; + String get okDataGridFilteringLabel => r'OK'; @override - String get ofDataPagerLabel => r'av'; + String get orDataGridFilteringLabel => r'Eller'; @override String get pagesDataPagerLabel => r'sider'; @@ -9919,6 +16271,12 @@ class SfLocalizationsNo extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Søk'; + + @override + String get selectAllDataGridFilteringLabel => r'Velg alle'; + @override String get series => r'Serie'; @@ -9964,6 +16322,37 @@ class SfLocalizationsNo extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Vis rader hvor'; + + @override + String get sortAToZDataGridFilteringLabel => r'Sorter A til Å'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Sorter og filtrer'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Sorter størst til minste'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Sorter nyeste til eldste'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Sorter eldste til nyeste'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Sorter minste til største'; + + @override + String get sortZToADataGridFilteringLabel => r'Sorter Z til A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Tekstfiltre'; + @override String get todayLabel => r'I dag'; @@ -9980,6 +16369,12 @@ class SfLocalizationsOr extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'ପରେ'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'କିମ୍ବା ସମାନ ପରେ |'; + @override String get allDayLabel => r'ଦିନ ସାରା'; @@ -10010,6 +16405,30 @@ class SfLocalizationsOr extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'କାର୍ଯ୍ୟ ସପ୍ତାହ'; + @override + String get andDataGridFilteringLabel => r'ଏବଂ'; + + @override + String get beforeDataGridFilteringLabel => r'ପୂର୍ବରୁ କିମ୍ବା ସମାନ |'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'ପୂର୍ବରୁ'; + + @override + String get beginsWithDataGridFilteringLabel => r'ସହିତ ଆରମ୍ଭ ହୁଏ |'; + + @override + String get cancelDataGridFilteringLabel => r'ବାତିଲ୍ କରନ୍ତୁ |'; + + @override + String get clearFilterDataGridFilteringLabel => r'ଫିଲ୍ଟର୍ ସଫା କରନ୍ତୁ |'; + + @override + String get containsDataGridFilteringLabel => r'ଧାରଣ କରେ |'; + + @override + String get dateFiltersDataGridFilteringLabel => r'ତାରିଖ ଫିଲ୍ଟର୍ |'; + @override String get daySpanCountLabel => r'ଦିନ'; @@ -10019,6 +16438,38 @@ class SfLocalizationsOr extends SfGlobalLocalizations { @override String get dhualqiLabel => r'ଧୁ ଅଲ-କଇଦା |'; + @override + String get doesNotBeginWithDataGridFilteringLabel => + r'ସହିତ ଆରମ୍ଭ ହୁଏ ନାହିଁ |'; + + @override + String get doesNotContainDataGridFilteringLabel => r'ଧାରଣ କରେ ନାହିଁ |'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'ସହିତ ସମାପ୍ତ ହୁଏ ନାହିଁ |'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'ସମାନ ନୁହେଁ |'; + + @override + String get emptyDataGridFilteringLabel => r'ଖାଲି'; + + @override + String get endsWithDataGridFilteringLabel => r'ସହିତ ଶେଷ ହୁଏ |'; + + @override + String get equalsDataGridFilteringLabel => r'ସମାନ |'; + + @override + String get fromDataGridFilteringLabel => r'ଠାରୁ'; + + @override + String get greaterThanDataGridFilteringLabel => r'ଠାରୁ ବଡ'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'ଠାରୁ ବଡ କିମ୍ବା ସମାନ |'; + @override String get jumada1Label => r'ଜୁମାଡା ଅଲ-ଅୱାଲ |'; @@ -10026,18 +16477,45 @@ class SfLocalizationsOr extends SfGlobalLocalizations { String get jumada2Label => r'ଜୁମାଡା ଅଲ-ଥାନି |'; @override - String get muharramLabel => r'ମୁହରାମ |'; + String get lessThanDataGridFilteringLabel => r'ଠାରୁ କମ୍'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'କମ୍ କିମ୍ବା ସମାନ |'; + + @override + String get muharramLabel => r'ମୁହରାମ'; @override String get noEventsCalendarLabel => r'କ events ଣସି ଘଟଣା ନାହିଁ |'; + @override + String get noMatchesDataGridFilteringLabel => r'କ matches ଣସି ମେଳକ ନାହିଁ |'; + @override String get noSelectedDateCalendarLabel => r'କ selected ଣସି ମନୋନୀତ ତାରିଖ ନାହିଁ |'; + @override + String get notEmptyDataGridFilteringLabel => r'ଖାଲି ନୁହେଁ |'; + + @override + String get notNullDataGridFilteringLabel => r'ନଲ୍ ନୁହେଁ |'; + + @override + String get nullDataGridFilteringLabel => r'ନଲ୍'; + + @override + String get numberFiltersDataGridFilteringLabel => r'ସଂଖ୍ୟା ଫିଲ୍ଟର୍ |'; + @override String get ofDataPagerLabel => r'ର'; + @override + String get okDataGridFilteringLabel => r'ଠିକ୍ ଅଛି'; + + @override + String get orDataGridFilteringLabel => r'କିମ୍ବା'; + @override String get pagesDataPagerLabel => r'ପୃଷ୍ଠାଗୁଡ଼ିକ |'; @@ -10055,7 +16533,7 @@ class SfLocalizationsOr extends SfGlobalLocalizations { String get passwordDialogInvalidPasswordLabel => r'ଅବ val ଧ ପାସୱାର୍ଡ |'; @override - String get pdfBookmarksLabel => r'ବୁକମାର୍କସ୍'; + String get pdfBookmarksLabel => r'ବୁକମାର୍କଗୁଡିକ'; @override String get pdfEnterPageNumberLabel => r'ପୃଷ୍ଠା ନମ୍ବର ପ୍ରବେଶ କରନ୍ତୁ |'; @@ -10064,7 +16542,7 @@ class SfLocalizationsOr extends SfGlobalLocalizations { String get pdfGoToPageLabel => r'ପୃଷ୍ଠାକୁ ଯାଆନ୍ତୁ |'; @override - String get pdfHyperlinkContentLabel => r'ଆପଣ ପେଜ୍ ଖୋଲିବାକୁ ଚାହୁଁଛନ୍ତି କି?'; + String get pdfHyperlinkContentLabel => r'ଆପଣ ପୃଷ୍ଠା ଖୋଲିବାକୁ ଚାହୁଁଛନ୍ତି କି?'; @override String get pdfHyperlinkDialogCancelLabel => r'ବାତିଲ୍'; @@ -10098,7 +16576,7 @@ class SfLocalizationsOr extends SfGlobalLocalizations { String get pdfScrollStatusOfLabel => r'ର'; @override - String get rabi1Label => r'ରବି ' "'" r'ଅଲ-ଆୱାଲ୍ |'; + String get rabi1Label => r'ରବି ' "'" r'ଅଲ-ଅୱାଲ୍ |'; @override String get rabi2Label => r'ରବି ' "'" r'ଅଲ-ଥାନି |'; @@ -10115,6 +16593,12 @@ class SfLocalizationsOr extends SfGlobalLocalizations { @override String get safarLabel => r'ସଫର |'; + @override + String get searchDataGridFilteringLabel => r'ସନ୍ଧାନ କର |'; + + @override + String get selectAllDataGridFilteringLabel => r'ସବୁ ବାଛ'; + @override String get series => r'ସିରିଜ୍'; @@ -10160,6 +16644,38 @@ class SfLocalizationsOr extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'ଶ।'; + @override + String get showRowsWhereDataGridFilteringLabel => + r'ଧାଡିଗୁଡିକ କେଉଁଠାରେ ଦେଖାନ୍ତୁ |'; + + @override + String get sortAToZDataGridFilteringLabel => r'A ରୁ Z ସର୍ଟ କରନ୍ତୁ |'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'ସର୍ଟ ଏବଂ ଫିଲ୍ଟର୍ |'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'ବଡ଼ରୁ ଛୋଟ ପର୍ଯ୍ୟନ୍ତ ସର୍ଟ କରନ୍ତୁ |'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'ପୁରାତନରୁ ନୂତନକୁ ସର୍ଟ କରନ୍ତୁ |'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'ପୁରାତନରୁ ନୂତନକୁ ସର୍ଟ କରନ୍ତୁ |'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'ଛୋଟରୁ ବଡକୁ ସର୍ଟ କରନ୍ତୁ |'; + + @override + String get sortZToADataGridFilteringLabel => r'Z ରୁ A ସର୍ଟ କରନ୍ତୁ |'; + + @override + String get textFiltersDataGridFilteringLabel => r'ପାଠ୍ୟ ଫିଲ୍ଟର୍ |'; + @override String get todayLabel => r'ଆଜି |'; @@ -10176,6 +16692,12 @@ class SfLocalizationsPa extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'ਤੋਂ ਬਾਅਦ'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'ਬਾਅਦ ਜਾਂ ਬਰਾਬਰ'; + @override String get allDayLabel => r'ਸਾਰਾ ਦਿਨ'; @@ -10198,7 +16720,7 @@ class SfLocalizationsPa extends SfGlobalLocalizations { String get allowedViewTimelineWeekLabel => r'ਸਮਾਂਰੇਖਾ ਹਫ਼ਤਾ'; @override - String get allowedViewTimelineWorkWeekLabel => r'ਸਮਾਂਰੇਖਾ ਕਾਰਜ ਹਫ਼ਤਾ'; + String get allowedViewTimelineWorkWeekLabel => r'ਟਾਈਮਲਾਈਨ ਕੰਮ ਹਫ਼ਤਾ'; @override String get allowedViewWeekLabel => r'ਹਫ਼ਤਾ'; @@ -10206,6 +16728,30 @@ class SfLocalizationsPa extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'ਕੰਮ ਦਾ ਹਫ਼ਤਾ'; + @override + String get andDataGridFilteringLabel => r'ਅਤੇ'; + + @override + String get beforeDataGridFilteringLabel => r'ਅੱਗੇ ਜਾਂ ਬਰਾਬਰ'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'ਅੱਗੇ'; + + @override + String get beginsWithDataGridFilteringLabel => r'ਨਾਲ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ'; + + @override + String get cancelDataGridFilteringLabel => r'ਰੱਦ ਕਰੋ'; + + @override + String get clearFilterDataGridFilteringLabel => r'ਫਿਲਟਰ ਸਾਫ਼ ਕਰੋ'; + + @override + String get containsDataGridFilteringLabel => r'ਸ਼ਾਮਿਲ ਹੈ'; + + @override + String get dateFiltersDataGridFilteringLabel => r'ਮਿਤੀ ਫਿਲਟਰ'; + @override String get daySpanCountLabel => r'ਦਿਨ'; @@ -10215,24 +16761,82 @@ class SfLocalizationsPa extends SfGlobalLocalizations { @override String get dhualqiLabel => r'ਧੂ ਅਲ-ਕਾਇਦਾ'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'ਨਾਲ ਸ਼ੁਰੂ ਨਹੀਂ ਹੁੰਦਾ'; + + @override + String get doesNotContainDataGridFilteringLabel => r'ਸ਼ਾਮਲ ਨਹੀਂ ਹੈ'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'ਨਾਲ ਖਤਮ ਨਹੀਂ ਹੁੰਦਾ'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'ਬਰਾਬਰ ਨਹੀਂ ਹੈ'; + + @override + String get emptyDataGridFilteringLabel => r'ਖਾਲੀ'; + + @override + String get endsWithDataGridFilteringLabel => r'ਨਾਲ ਖਤਮ ਹੁੰਦਾ ਹੈ'; + + @override + String get equalsDataGridFilteringLabel => r'ਬਰਾਬਰ'; + + @override + String get fromDataGridFilteringLabel => r'ਤੋਂ'; + + @override + String get greaterThanDataGridFilteringLabel => r'ਵੱਧ'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'ਇਸ ਤੋਂ ਵੱਧ ਜਾਂ ਬਰਾਬਰ'; + @override String get jumada1Label => r'ਜੁਮਾਦਾ ਅਲ-ਅੱਵਲ'; @override String get jumada2Label => r'ਜੁਮਾਦਾ ਅਲ-ਥਾਨੀ'; + @override + String get lessThanDataGridFilteringLabel => r'ਉਸ ਤੋਂ ਘਟ'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'ਇਸ ਤੋਂ ਘੱਟ ਜਾਂ ਬਰਾਬਰ'; + @override String get muharramLabel => r'ਮੁਹੱਰਮ'; @override String get noEventsCalendarLabel => r'ਕੋਈ ਸਮਾਗਮ ਨਹੀਂ'; + @override + String get noMatchesDataGridFilteringLabel => r'ਕੋਈ ਮੇਲ ਨਹੀਂ'; + @override String get noSelectedDateCalendarLabel => r'ਕੋਈ ਚੁਣੀ ਤਾਰੀਖ ਨਹੀਂ ਹੈ'; + @override + String get notEmptyDataGridFilteringLabel => r'ਖਾਲੀ ਨਹੀਂ'; + + @override + String get notNullDataGridFilteringLabel => r'ਨਲ ਨਹੀਂ'; + + @override + String get nullDataGridFilteringLabel => r'ਨਲ'; + + @override + String get numberFiltersDataGridFilteringLabel => r'ਨੰਬਰ ਫਿਲਟਰ'; + @override String get ofDataPagerLabel => r'ਦੇ'; + @override + String get okDataGridFilteringLabel => r'ਠੀਕ ਹੈ'; + + @override + String get orDataGridFilteringLabel => r'ਜਾਂ'; + @override String get pagesDataPagerLabel => r'ਪੰਨੇ'; @@ -10310,6 +16914,12 @@ class SfLocalizationsPa extends SfGlobalLocalizations { @override String get safarLabel => r'ਸਫਰ'; + @override + String get searchDataGridFilteringLabel => r'ਖੋਜ'; + + @override + String get selectAllDataGridFilteringLabel => r'ਸਾਰਿਆ ਨੂੰ ਚੁਣੋ'; + @override String get series => r'ਲੜੀ'; @@ -10355,6 +16965,37 @@ class SfLocalizationsPa extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'ਸ਼ਾ.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'ਕਤਾਰਾਂ ਦਿਖਾਓ ਕਿੱਥੇ'; + + @override + String get sortAToZDataGridFilteringLabel => r'A ਤੋਂ Z ਨੂੰ ਕ੍ਰਮਬੱਧ ਕਰੋ'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'ਕ੍ਰਮਬੱਧ ਅਤੇ ਫਿਲਟਰ'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'ਸਭ ਤੋਂ ਵੱਡੇ ਤੋਂ ਛੋਟੇ ਨੂੰ ਛਾਂਟੋ'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'ਸਭ ਤੋਂ ਨਵੇਂ ਤੋਂ ਪੁਰਾਣੇ ਨੂੰ ਕ੍ਰਮਬੱਧ ਕਰੋ'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'ਸਭ ਤੋਂ ਪੁਰਾਣੇ ਤੋਂ ਨਵੀਨਤਮ ਕ੍ਰਮਬੱਧ ਕਰੋ'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'ਸਭ ਤੋਂ ਛੋਟੇ ਤੋਂ ਵੱਡੇ ਨੂੰ ਛਾਂਟੋ'; + + @override + String get sortZToADataGridFilteringLabel => r'Z ਤੋਂ A ਨੂੰ ਕ੍ਰਮਬੱਧ ਕਰੋ'; + + @override + String get textFiltersDataGridFilteringLabel => r'ਟੈਕਸਟ ਫਿਲਟਰ'; + @override String get todayLabel => r'ਅੱਜ'; @@ -10371,6 +17012,12 @@ class SfLocalizationsPl extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Później'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Po lub równe'; + @override String get allDayLabel => r'Cały dzień'; @@ -10390,7 +17037,7 @@ class SfLocalizationsPl extends SfGlobalLocalizations { String get allowedViewTimelineMonthLabel => r'Miesiąc osi czasu'; @override - String get allowedViewTimelineWeekLabel => r'Tydzień na osi czasu'; + String get allowedViewTimelineWeekLabel => r'Tydzień osi czasu'; @override String get allowedViewTimelineWorkWeekLabel => r'Tydzień pracy na osi czasu'; @@ -10401,33 +17048,114 @@ class SfLocalizationsPl extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Tydzień pracy'; + @override + String get andDataGridFilteringLabel => r'I'; + + @override + String get beforeDataGridFilteringLabel => r'Przed Lub Równy'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Zanim'; + + @override + String get beginsWithDataGridFilteringLabel => r'Zaczyna się z'; + + @override + String get cancelDataGridFilteringLabel => r'Anulować'; + + @override + String get clearFilterDataGridFilteringLabel => r'Czysty filtr'; + + @override + String get containsDataGridFilteringLabel => r'Zawiera'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Filtry daty'; + @override String get daySpanCountLabel => r'Dzień'; @override - String get dhualhiLabel => r'Zu al-Hidżdżah'; + String get dhualhiLabel => r'Du al-Hijjah'; + + @override + String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Nie zaczyna się od'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Nie zawiera'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Nie kończy się na'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Nie równa się'; + + @override + String get emptyDataGridFilteringLabel => r'Pusty'; + + @override + String get endsWithDataGridFilteringLabel => r'Kończy się na'; + + @override + String get equalsDataGridFilteringLabel => r'Równa się'; + + @override + String get fromDataGridFilteringLabel => r'Z'; + + @override + String get greaterThanDataGridFilteringLabel => r'Lepszy niż'; @override - String get dhualqiLabel => r'Zu al-Qi' "'" r'dah'; + String get greaterThanOrEqualDataGridFilteringLabel => r'Większe lub równe'; @override String get jumada1Label => r'Jumada al-awwal'; @override - String get jumada2Label => r'Jumada al-thani'; + String get jumada2Label => r'Jumada al Thani'; @override - String get muharramLabel => r'Muharram'; + String get lessThanDataGridFilteringLabel => r'Mniej niż'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Mniej niż lub równo'; + + @override + String get muharramLabel => r'muharrama'; @override String get noEventsCalendarLabel => r'Brak wydarzeń'; @override - String get noSelectedDateCalendarLabel => r'Nie wybrano daty'; + String get noMatchesDataGridFilteringLabel => r'Brak wyników'; + + @override + String get noSelectedDateCalendarLabel => r'Brak wybranej daty'; + + @override + String get notEmptyDataGridFilteringLabel => r'Nie pusty'; + + @override + String get notNullDataGridFilteringLabel => r'Nie jest zerem'; + + @override + String get nullDataGridFilteringLabel => r'Zero'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Filtry liczbowe'; @override String get ofDataPagerLabel => r'z'; + @override + String get okDataGridFilteringLabel => r'OK'; + + @override + String get orDataGridFilteringLabel => r'Lub'; + @override String get pagesDataPagerLabel => r'strony'; @@ -10448,17 +17176,16 @@ class SfLocalizationsPl extends SfGlobalLocalizations { String get pdfBookmarksLabel => r'Zakładki'; @override - String get pdfEnterPageNumberLabel => r'Wpisz numer strony'; + String get pdfEnterPageNumberLabel => r'Wprowadź numer strony'; @override String get pdfGoToPageLabel => r'Idź do strony'; @override - String get pdfHyperlinkContentLabel => - r'Czy chcesz otworzyć stronę pod adresem?'; + String get pdfHyperlinkContentLabel => r'Czy chcesz otworzyć stronę o godz'; @override - String get pdfHyperlinkDialogCancelLabel => r'ANULUJ'; + String get pdfHyperlinkDialogCancelLabel => r'ANULOWAĆ'; @override String get pdfHyperlinkDialogOpenLabel => r'OTWARTY'; @@ -10473,13 +17200,13 @@ class SfLocalizationsPl extends SfGlobalLocalizations { String get pdfNoBookmarksLabel => r'Nie znaleziono zakładek'; @override - String get pdfPaginationDialogCancelLabel => r'ANULUJ'; + String get pdfPaginationDialogCancelLabel => r'ANULOWAĆ'; @override - String get pdfPaginationDialogOkLabel => r'ok'; + String get pdfPaginationDialogOkLabel => r'OK'; @override - String get pdfPasswordDialogCancelLabel => r'ANULUJ'; + String get pdfPasswordDialogCancelLabel => r'ANULOWAĆ'; @override String get pdfPasswordDialogOpenLabel => r'OTWARTY'; @@ -10488,13 +17215,13 @@ class SfLocalizationsPl extends SfGlobalLocalizations { String get pdfScrollStatusOfLabel => r'z'; @override - String get rabi1Label => r'Rabi' "'" r' al-awwal'; + String get rabi1Label => r'Rabi al-awwal'; @override - String get rabi2Label => r'Rabi’ al-thani'; + String get rabi2Label => r'Rabi' "'" r' al-thani'; @override - String get rajabLabel => r'Rajab'; + String get rajabLabel => r'Radżab'; @override String get ramadanLabel => r'Ramadan'; @@ -10505,11 +17232,17 @@ class SfLocalizationsPl extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Szukaj'; + + @override + String get selectAllDataGridFilteringLabel => r'Zaznacz wszystko'; + @override String get series => r'Seria'; @override - String get shaabanLabel => r'Szaaban'; + String get shaabanLabel => r'Sha' "'" r'aban'; @override String get shawwalLabel => r'Shawwal'; @@ -10521,16 +17254,16 @@ class SfLocalizationsPl extends SfGlobalLocalizations { String get shortDhualqiLabel => r'Dhu' "'" r'l-Q'; @override - String get shortJumada1Label => r'Skok. i'; + String get shortJumada1Label => r'sok. I'; @override - String get shortJumada2Label => r'Skok. II'; + String get shortJumada2Label => r'sok. II'; @override String get shortMuharramLabel => r'Muh.'; @override - String get shortRabi1Label => r'Rabi. i'; + String get shortRabi1Label => r'Rabi. I'; @override String get shortRabi2Label => r'Rabi. II'; @@ -10542,13 +17275,44 @@ class SfLocalizationsPl extends SfGlobalLocalizations { String get shortRamadanLabel => r'Baran.'; @override - String get shortSafarLabel => r'Saf.'; + String get shortSafarLabel => r'bezpieczny'; @override String get shortShaabanLabel => r'Sha.'; @override - String get shortShawwalLabel => r'Shaw.'; + String get shortShawwalLabel => r'Shawa.'; + + @override + String get showRowsWhereDataGridFilteringLabel => r'Pokaż wiersze gdzie'; + + @override + String get sortAToZDataGridFilteringLabel => r'Sortuj od A do Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Sortuj i filtruj'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Sortuj od największego do najmniejszego'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Sortuj od najnowszych do najstarszych'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Sortuj od najstarszych do najnowszych'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Sortuj od najmniejszego do największego'; + + @override + String get sortZToADataGridFilteringLabel => r'Sortuj od Z do A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Filtry tekstowe'; @override String get todayLabel => r'Dziś'; @@ -10566,6 +17330,12 @@ class SfLocalizationsPs extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'وروسته'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'وروسته یا مساوي'; + @override String get allDayLabel => r'ټوله ورځ'; @@ -10596,6 +17366,30 @@ class SfLocalizationsPs extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'کاري اونۍ'; + @override + String get andDataGridFilteringLabel => r'او'; + + @override + String get beforeDataGridFilteringLabel => r'مخکې یا مساوي'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'مخکې'; + + @override + String get beginsWithDataGridFilteringLabel => r'سره پیل کیږي'; + + @override + String get cancelDataGridFilteringLabel => r'لغوه کړئ'; + + @override + String get clearFilterDataGridFilteringLabel => r'فلټر پاک کړئ'; + + @override + String get containsDataGridFilteringLabel => r'لري'; + + @override + String get dateFiltersDataGridFilteringLabel => r'د نیټې فلټرونه'; + @override String get daySpanCountLabel => r'ورځ'; @@ -10606,23 +17400,81 @@ class SfLocalizationsPs extends SfGlobalLocalizations { String get dhualqiLabel => r'ذو القعده'; @override - String get jumada1Label => r'جمادی الاول'; + String get doesNotBeginWithDataGridFilteringLabel => r'سره پیل نه کوي'; + + @override + String get doesNotContainDataGridFilteringLabel => r'نه لري'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'سره پای نه لري'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'برابر نه دی'; + + @override + String get emptyDataGridFilteringLabel => r'خالي'; + + @override + String get endsWithDataGridFilteringLabel => r'سره پای ته رسیږي'; + + @override + String get equalsDataGridFilteringLabel => r'مساوي'; + + @override + String get fromDataGridFilteringLabel => r'څخه'; + + @override + String get greaterThanDataGridFilteringLabel => r'په پرتله لوی'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'په پرتله لوی یا مساوي'; + + @override + String get jumada1Label => r'جمعه الاول'; @override String get jumada2Label => r'جمعه الثاني'; + @override + String get lessThanDataGridFilteringLabel => r'په پرتله لږ'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'لږ یا مساوي'; + @override String get muharramLabel => r'محرم'; @override String get noEventsCalendarLabel => r'هیڅ پیښه نشته'; + @override + String get noMatchesDataGridFilteringLabel => r'هیڅ لوبه نشته'; + @override String get noSelectedDateCalendarLabel => r'نه ټاکل شوې نیټه'; + @override + String get notEmptyDataGridFilteringLabel => r'نه خالي'; + + @override + String get notNullDataGridFilteringLabel => r'نه نول'; + + @override + String get nullDataGridFilteringLabel => r'نول'; + + @override + String get numberFiltersDataGridFilteringLabel => r'د شمیر فلټرونه'; + @override String get ofDataPagerLabel => r'د'; + @override + String get okDataGridFilteringLabel => r'سمه ده'; + + @override + String get orDataGridFilteringLabel => r'یا'; + @override String get pagesDataPagerLabel => r'پاڼې'; @@ -10646,10 +17498,10 @@ class SfLocalizationsPs extends SfGlobalLocalizations { String get pdfEnterPageNumberLabel => r'د پاڼې شمیره دننه کړئ'; @override - String get pdfGoToPageLabel => r'پاڼې ته لاړ شئ'; + String get pdfGoToPageLabel => r'مخ ته لاړ شئ'; @override - String get pdfHyperlinkContentLabel => r'ایا تاسو غواړئ چې پاڼه پرانیزئ'; + String get pdfHyperlinkContentLabel => r'ایا تاسو غواړئ پاڼه پرانیزئ'; @override String get pdfHyperlinkDialogCancelLabel => r'فسخه کول'; @@ -10668,13 +17520,13 @@ class SfLocalizationsPs extends SfGlobalLocalizations { String get pdfNoBookmarksLabel => r'هیڅ بک مارک ونه موندل شو'; @override - String get pdfPaginationDialogCancelLabel => r'لغوه کول'; + String get pdfPaginationDialogCancelLabel => r'فسخه کول'; @override String get pdfPaginationDialogOkLabel => r'سمه ده'; @override - String get pdfPasswordDialogCancelLabel => r'لغوه کول'; + String get pdfPasswordDialogCancelLabel => r'فسخه کول'; @override String get pdfPasswordDialogOpenLabel => r'خلاص'; @@ -10700,6 +17552,12 @@ class SfLocalizationsPs extends SfGlobalLocalizations { @override String get safarLabel => r'صفر'; + @override + String get searchDataGridFilteringLabel => r'لټون'; + + @override + String get selectAllDataGridFilteringLabel => r'ټول وټاکئ'; + @override String get series => r'لړۍ'; @@ -10725,10 +17583,10 @@ class SfLocalizationsPs extends SfGlobalLocalizations { String get shortMuharramLabel => r'Muh.'; @override - String get shortRabi1Label => r'ربیع زه'; + String get shortRabi1Label => r'ربیع. زه'; @override - String get shortRabi2Label => r'ربیع II'; + String get shortRabi2Label => r'ربیع. II'; @override String get shortRajabLabel => r'راج.'; @@ -10745,6 +17603,37 @@ class SfLocalizationsPs extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'شو.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'قطارونه وښایاست چیرته'; + + @override + String get sortAToZDataGridFilteringLabel => r'له A څخه Z ترتیب کړئ'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'ترتیب او فلټر کړئ'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'له لوی څخه کوچنی ترتیب کړئ'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'له نوي څخه تر ټولو زوړ ترتیب کړئ'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'له زاړه څخه تر نوي پورې ترتیب کړئ'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'له کوچنی څخه تر ټولو لوی ترتیب کړئ'; + + @override + String get sortZToADataGridFilteringLabel => r'له Z څخه A ترتیب کړئ'; + + @override + String get textFiltersDataGridFilteringLabel => r'د متن فلټرونه'; + @override String get todayLabel => r'نن'; @@ -10761,6 +17650,12 @@ class SfLocalizationsPt extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Depois'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Depois Ou Igual'; + @override String get allDayLabel => r'Dia todo'; @@ -10771,20 +17666,20 @@ class SfLocalizationsPt extends SfGlobalLocalizations { String get allowedViewMonthLabel => r'Mês'; @override - String get allowedViewScheduleLabel => r'Agendar'; + String get allowedViewScheduleLabel => r'Cronograma'; @override String get allowedViewTimelineDayLabel => r'Dia da linha do tempo'; @override - String get allowedViewTimelineMonthLabel => r'Mês da linha do tempo'; + String get allowedViewTimelineMonthLabel => r'Cronograma Mês'; @override - String get allowedViewTimelineWeekLabel => r'Semana da linha do tempo'; + String get allowedViewTimelineWeekLabel => r'Semana Cronológica'; @override String get allowedViewTimelineWorkWeekLabel => - r'Semana de trabalho da linha do tempo'; + r'Cronograma Semana de Trabalho'; @override String get allowedViewWeekLabel => r'Semana'; @@ -10792,6 +17687,30 @@ class SfLocalizationsPt extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Semana de trabalho'; + @override + String get andDataGridFilteringLabel => r'E'; + + @override + String get beforeDataGridFilteringLabel => r'Antes Ou Igual'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Antes da'; + + @override + String get beginsWithDataGridFilteringLabel => r'Começa com'; + + @override + String get cancelDataGridFilteringLabel => r'Cancelar'; + + @override + String get clearFilterDataGridFilteringLabel => r'Filtro limpo'; + + @override + String get containsDataGridFilteringLabel => r'contém'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Filtros de Data'; + @override String get daySpanCountLabel => r'Dia'; @@ -10801,24 +17720,81 @@ class SfLocalizationsPt extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Não começa com'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Não contém'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Não termina com'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Não é igual'; + + @override + String get emptyDataGridFilteringLabel => r'Vazio'; + + @override + String get endsWithDataGridFilteringLabel => r'Termina com'; + + @override + String get equalsDataGridFilteringLabel => r'É igual a'; + + @override + String get fromDataGridFilteringLabel => r'A partir de'; + + @override + String get greaterThanDataGridFilteringLabel => r'Maior que'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Maior ou igual'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Menor que'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Menor ou igual'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'Sem eventos'; + @override + String get noMatchesDataGridFilteringLabel => r'Sem combinações'; + @override String get noSelectedDateCalendarLabel => r'Nenhuma data selecionada'; + @override + String get notEmptyDataGridFilteringLabel => r'Não está vazio'; + + @override + String get notNullDataGridFilteringLabel => r'Não nulo'; + + @override + String get nullDataGridFilteringLabel => r'Nulo'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Filtros de número'; + @override String get ofDataPagerLabel => r'do'; + @override + String get okDataGridFilteringLabel => r'OK'; + + @override + String get orDataGridFilteringLabel => r'Ou'; + @override String get pagesDataPagerLabel => r'Páginas'; @@ -10839,7 +17815,7 @@ class SfLocalizationsPt extends SfGlobalLocalizations { String get pdfBookmarksLabel => r'Favoritos'; @override - String get pdfEnterPageNumberLabel => r'Digite o número da página'; + String get pdfEnterPageNumberLabel => r'Insira o número da página'; @override String get pdfGoToPageLabel => r'Vá para página'; @@ -10896,169 +17872,260 @@ class SfLocalizationsPt extends SfGlobalLocalizations { String get safarLabel => r'Safar'; @override - String get series => r'Series'; + String get searchDataGridFilteringLabel => r'Procurar'; + + @override + String get selectAllDataGridFilteringLabel => r'Selecionar tudo'; + + @override + String get series => r'Series'; + + @override + String get shaabanLabel => r'Sha' "'" r'aban'; + + @override + String get shawwalLabel => r'Shawwal'; + + @override + String get shortDhualhiLabel => r'Dhu' "'" r'l-H'; + + @override + String get shortDhualqiLabel => r'Dhu' "'" r'l-Q'; + + @override + String get shortJumada1Label => r'Jum. EU'; + + @override + String get shortJumada2Label => r'Jum. II'; + + @override + String get shortMuharramLabel => r'Muh.'; + + @override + String get shortRabi1Label => r'Rabi. EU'; + + @override + String get shortRabi2Label => r'Rabi. II'; + + @override + String get shortRajabLabel => r'Raj.'; + + @override + String get shortRamadanLabel => r'RAM.'; + + @override + String get shortSafarLabel => r'seguro'; + + @override + String get shortShaabanLabel => r'Sha.'; + + @override + String get shortShawwalLabel => r'Shaw.'; + + @override + String get showRowsWhereDataGridFilteringLabel => r'Mostrar linhas onde'; + + @override + String get sortAToZDataGridFilteringLabel => r'Ordenar de A a Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Classificar e Filtrar'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Ordenar do maior para o menor'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Ordenar do mais recente ao mais antigo'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Classificar do mais antigo para o mais recente'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Classificar do menor para o maior'; + + @override + String get sortZToADataGridFilteringLabel => r'Ordenar de Z a A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Filtros de texto'; + + @override + String get todayLabel => r'Hoje'; + + @override + String get weeknumberLabel => r'Semana'; +} + +/// The translations for Portuguese, as used in Portugal (`pt_PT`). +class SfLocalizationsPtPt extends SfLocalizationsPt { + /// Creating an argument constructor of SfLocalizationsPtPt class + const SfLocalizationsPtPt({ + String localeName = 'pt_PT', + }) : super( + localeName: localeName, + ); + + @override + String get pdfEnterPageNumberLabel => r'Digite o número da página'; +} + +/// The translations for Romanian Moldavian Moldovan (`ro`). +class SfLocalizationsRo extends SfGlobalLocalizations { + /// Creating an argument constructor of SfLocalizationsRo class + const SfLocalizationsRo({ + String localeName = 'ro', + }) : super( + localeName: localeName, + ); + + @override + String get afterDataGridFilteringLabel => r'După'; @override - String get shaabanLabel => r'Sha' "'" r'aban'; + String get afterOrEqualDataGridFilteringLabel => r'După Sau Egal'; @override - String get shawwalLabel => r'Shawwal'; + String get allDayLabel => r'Toată ziua'; @override - String get shortDhualhiLabel => r'Dhu' "'" r'l-H'; + String get allowedViewDayLabel => r'Zi'; @override - String get shortDhualqiLabel => r'Dhu' "'" r'l-Q'; + String get allowedViewMonthLabel => r'Lună'; @override - String get shortJumada1Label => r'Jum. eu'; + String get allowedViewScheduleLabel => r'Programa'; @override - String get shortJumada2Label => r'Jum. II'; + String get allowedViewTimelineDayLabel => r'Ziua cronologică'; @override - String get shortMuharramLabel => r'Muh.'; + String get allowedViewTimelineMonthLabel => r'Cronologie Luna'; @override - String get shortRabi1Label => r'Rabino. eu'; + String get allowedViewTimelineWeekLabel => r'Săptămâna cronologică'; @override - String get shortRabi2Label => r'Rabino. II'; + String get allowedViewTimelineWorkWeekLabel => + r'Cronologie Săptămâna de lucru'; @override - String get shortRajabLabel => r'Raj.'; + String get allowedViewWeekLabel => r'Săptămână'; @override - String get shortRamadanLabel => r'RAM.'; + String get allowedViewWorkWeekLabel => r'Saptamana de lucru'; @override - String get shortSafarLabel => r'Saf.'; + String get andDataGridFilteringLabel => r'Și'; @override - String get shortShaabanLabel => r'Sha.'; + String get beforeDataGridFilteringLabel => r'Înainte sau egal'; @override - String get shortShawwalLabel => r'Shaw.'; + String get beforeOrEqualDataGridFilteringLabel => r'Inainte de'; @override - String get todayLabel => r'Hoje'; + String get beginsWithDataGridFilteringLabel => r'Începe cu'; @override - String get weeknumberLabel => r'Semana'; -} - -/// The translations for Portuguese, as used in Portugal (`pt_PT`). -class SfLocalizationsPtPt extends SfLocalizationsPt { - /// Creating an argument constructor of SfLocalizationsPtPt class - const SfLocalizationsPtPt({ - String localeName = 'pt_PT', - }) : super( - localeName: localeName, - ); + String get cancelDataGridFilteringLabel => r'Anulare'; @override - String get noEventsCalendarLabel => r'Nenhum evento'; + String get clearFilterDataGridFilteringLabel => r'Șterge filtrul'; @override - String get ofDataPagerLabel => r'de'; + String get containsDataGridFilteringLabel => r'Conține'; @override - String get pagesDataPagerLabel => r'páginas'; + String get dateFiltersDataGridFilteringLabel => r'Filtre de dată'; @override - String get pdfBookmarksLabel => r'Marcadores'; + String get daySpanCountLabel => r'Zi'; @override - String get pdfScrollStatusOfLabel => r'de'; + String get dhualhiLabel => r'Dhu al-Hijjah'; @override - String get pdfGoToPageLabel => r'Ir para a página'; + String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; @override - String get pdfInvalidPageNumberLabel => r'Insira um número válido'; + String get doesNotBeginWithDataGridFilteringLabel => r'Nu Începe Cu'; @override - String get passwordDialogInvalidPasswordLabel => r'Senha inválida'; + String get doesNotContainDataGridFilteringLabel => r'Nu contine'; @override - String get pdfPasswordDialogOpenLabel => r'ABERTO'; + String get doesNotEndWithDataGridFilteringLabel => r'Nu se termină cu'; @override - String get allowedViewScheduleLabel => r'Cronograma'; + String get doesNotEqualDataGridFilteringLabel => r'Nu este egal'; @override - String get allDayLabel => r'Todo o dia'; + String get emptyDataGridFilteringLabel => r'Gol'; @override - String get shortRamadanLabel => r'Carneiro.'; -} - -/// The translations for Romanian Moldavian Moldovan (`ro`). -class SfLocalizationsRo extends SfGlobalLocalizations { - /// Creating an argument constructor of SfLocalizationsRo class - const SfLocalizationsRo({ - String localeName = 'ro', - }) : super( - localeName: localeName, - ); + String get endsWithDataGridFilteringLabel => r'Se termină cu'; @override - String get allDayLabel => r'Toată ziua'; + String get equalsDataGridFilteringLabel => r'Egal'; @override - String get allowedViewDayLabel => r'Zi'; + String get fromDataGridFilteringLabel => r'Din'; @override - String get allowedViewMonthLabel => r'Lună'; + String get greaterThanDataGridFilteringLabel => r'Mai mare ca'; @override - String get allowedViewScheduleLabel => r'Programa'; + String get greaterThanOrEqualDataGridFilteringLabel => r'Mai mare sau egal'; @override - String get allowedViewTimelineDayLabel => r'Ziua cronologică'; + String get jumada1Label => r'Jumada al-awwal'; @override - String get allowedViewTimelineMonthLabel => r'Cronologie Luna'; + String get jumada2Label => r'Jumada al-thani'; @override - String get allowedViewTimelineWeekLabel => r'Săptămâna cronologică'; + String get lessThanDataGridFilteringLabel => r'Mai puțin decât'; @override - String get allowedViewTimelineWorkWeekLabel => - r'Cronologie Săptămâna de lucru'; + String get lessThanOrEqualDataGridFilteringLabel => r'Mai puțin sau egal'; @override - String get allowedViewWeekLabel => r'Săptămână'; + String get muharramLabel => r'Muharram'; @override - String get allowedViewWorkWeekLabel => r'Saptamana de lucru'; + String get noEventsCalendarLabel => r'Fără evenimente'; @override - String get daySpanCountLabel => r'Zi'; + String get noMatchesDataGridFilteringLabel => r'Nici-o potrivire'; @override - String get dhualhiLabel => r'Dhu al-Hijjah'; + String get noSelectedDateCalendarLabel => r'Nicio dată selectată'; @override - String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + String get notEmptyDataGridFilteringLabel => r'Nu Gol'; @override - String get jumada1Label => r'Jumada al-awwal'; + String get notNullDataGridFilteringLabel => r'Nu nul'; @override - String get jumada2Label => r'Jumada al-thani'; + String get nullDataGridFilteringLabel => r'Nul'; @override - String get muharramLabel => r'Muharram'; + String get numberFiltersDataGridFilteringLabel => r'Filtre de numere'; @override - String get noEventsCalendarLabel => r'Fără evenimente'; + String get ofDataPagerLabel => r'de'; @override - String get noSelectedDateCalendarLabel => r'Nicio dată selectată'; + String get okDataGridFilteringLabel => r'O.K'; @override - String get ofDataPagerLabel => r'de'; + String get orDataGridFilteringLabel => r'Sau'; @override String get pagesDataPagerLabel => r'pagini'; @@ -11108,7 +18175,7 @@ class SfLocalizationsRo extends SfGlobalLocalizations { String get pdfPaginationDialogCancelLabel => r'ANULARE'; @override - String get pdfPaginationDialogOkLabel => r'Bine'; + String get pdfPaginationDialogOkLabel => r'O.K'; @override String get pdfPasswordDialogCancelLabel => r'ANULARE'; @@ -11137,6 +18204,12 @@ class SfLocalizationsRo extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Căutare'; + + @override + String get selectAllDataGridFilteringLabel => r'Selectează tot'; + @override String get series => r'Serie'; @@ -11183,7 +18256,38 @@ class SfLocalizationsRo extends SfGlobalLocalizations { String get shortShawwalLabel => r'Shaw.'; @override - String get todayLabel => r'Azi'; + String get showRowsWhereDataGridFilteringLabel => r'Afișați rândurile unde'; + + @override + String get sortAToZDataGridFilteringLabel => r'Sortați de la A la Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Sortați și filtrați'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Sortați de la cel mai mare la cel mai mic'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Sortați de la cel mai nou la cel mai vechi'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Sortați de la cel mai vechi la cel mai nou'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Sortați de la cel mai mic la cel mai mare'; + + @override + String get sortZToADataGridFilteringLabel => r'Sortați de la Z la A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Filtre de text'; + + @override + String get todayLabel => r'Astăzi'; @override String get weeknumberLabel => r'Săptămână'; @@ -11198,6 +18302,12 @@ class SfLocalizationsRu extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'После'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'После или равно'; + @override String get allDayLabel => r'Весь день'; @@ -11223,11 +18333,35 @@ class SfLocalizationsRu extends SfGlobalLocalizations { String get allowedViewTimelineWorkWeekLabel => r'Рабочая неделя'; @override - String get allowedViewWeekLabel => r'Неделю'; + String get allowedViewWeekLabel => r'Неделя'; @override String get allowedViewWorkWeekLabel => r'Рабочая неделя'; + @override + String get andDataGridFilteringLabel => r'А также'; + + @override + String get beforeDataGridFilteringLabel => r'Перед или равным'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'До'; + + @override + String get beginsWithDataGridFilteringLabel => r'Начинается с'; + + @override + String get cancelDataGridFilteringLabel => r'Отмена'; + + @override + String get clearFilterDataGridFilteringLabel => r'Очистить фильтр'; + + @override + String get containsDataGridFilteringLabel => r'Содержит'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Фильтры даты'; + @override String get daySpanCountLabel => r'День'; @@ -11237,24 +18371,81 @@ class SfLocalizationsRu extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Зу аль-Кида'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Не начинается с'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Не содержит'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Не заканчивается с'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Не равно'; + + @override + String get emptyDataGridFilteringLabel => r'Пустой'; + + @override + String get endsWithDataGridFilteringLabel => r'Заканчивается с'; + + @override + String get equalsDataGridFilteringLabel => r'Равно'; + + @override + String get fromDataGridFilteringLabel => r'Из'; + + @override + String get greaterThanDataGridFilteringLabel => r'Лучше чем'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Больше или равно'; + @override String get jumada1Label => r'Джумада аль-авваль'; @override String get jumada2Label => r'Джумада аль-тани'; + @override + String get lessThanDataGridFilteringLabel => r'Меньше, чем'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Меньше или равно'; + @override String get muharramLabel => r'Мухаррам'; @override String get noEventsCalendarLabel => r'Нет событий'; + @override + String get noMatchesDataGridFilteringLabel => r'Нет совпадений'; + @override String get noSelectedDateCalendarLabel => r'Дата не выбрана'; + @override + String get notEmptyDataGridFilteringLabel => r'Не пустой'; + + @override + String get notNullDataGridFilteringLabel => r'Ненулевой'; + + @override + String get nullDataGridFilteringLabel => r'Нулевой'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Числовые фильтры'; + @override String get ofDataPagerLabel => r'из'; + @override + String get okDataGridFilteringLabel => r'ХОРОШО'; + + @override + String get orDataGridFilteringLabel => r'Или же'; + @override String get pagesDataPagerLabel => r'страницы'; @@ -11269,7 +18460,7 @@ class SfLocalizationsRu extends SfGlobalLocalizations { String get passwordDialogHintTextLabel => r'Введите пароль'; @override - String get passwordDialogInvalidPasswordLabel => r'неправильный пароль'; + String get passwordDialogInvalidPasswordLabel => r'Неверный пароль'; @override String get pdfBookmarksLabel => r'Закладки'; @@ -11284,7 +18475,7 @@ class SfLocalizationsRu extends SfGlobalLocalizations { String get pdfHyperlinkContentLabel => r'Вы хотите открыть страницу в'; @override - String get pdfHyperlinkDialogCancelLabel => r'ОТМЕНА'; + String get pdfHyperlinkDialogCancelLabel => r'ОТМЕНИТЬ'; @override String get pdfHyperlinkDialogOpenLabel => r'ОТКРЫТЫМ'; @@ -11303,7 +18494,7 @@ class SfLocalizationsRu extends SfGlobalLocalizations { String get pdfPaginationDialogCancelLabel => r'ОТМЕНИТЬ'; @override - String get pdfPaginationDialogOkLabel => r'Ok'; + String get pdfPaginationDialogOkLabel => r'ХОРОШО'; @override String get pdfPasswordDialogCancelLabel => r'ОТМЕНИТЬ'; @@ -11333,7 +18524,13 @@ class SfLocalizationsRu extends SfGlobalLocalizations { String get safarLabel => r'Сафар'; @override - String get series => r'Ряд'; + String get searchDataGridFilteringLabel => r'Поиск'; + + @override + String get selectAllDataGridFilteringLabel => r'Выбрать все'; + + @override + String get series => r'Серии'; @override String get shaabanLabel => r'Шаабан'; @@ -11366,7 +18563,7 @@ class SfLocalizationsRu extends SfGlobalLocalizations { String get shortRajabLabel => r'Радж.'; @override - String get shortRamadanLabel => r'ОЗУ.'; + String get shortRamadanLabel => r'Баран.'; @override String get shortSafarLabel => r'Саф.'; @@ -11377,11 +18574,42 @@ class SfLocalizationsRu extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Шоу.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Показать строки, где'; + + @override + String get sortAToZDataGridFilteringLabel => r'Сортировать от А до Я'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Сортировка и фильтрация'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Сортировать от большего к меньшему'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Сортировать от новых к старым'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Сортировать от старых к новым'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Сортировать от меньшего к большему'; + + @override + String get sortZToADataGridFilteringLabel => r'Сортировать от Я до А'; + + @override + String get textFiltersDataGridFilteringLabel => r'Текстовые фильтры'; + @override String get todayLabel => r'Сегодня'; @override - String get weeknumberLabel => r'Неделю'; + String get weeknumberLabel => r'Неделя'; } /// The translations for Sinhala Sinhalese (`si`). @@ -11393,11 +18621,17 @@ class SfLocalizationsSi extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'පසු'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'පසු හෝ සමාන'; + @override String get allDayLabel => r'මුළු දවසම'; @override - String get allowedViewDayLabel => r'දිනය'; + String get allowedViewDayLabel => r'දින'; @override String get allowedViewMonthLabel => r'මාසික'; @@ -11424,31 +18658,113 @@ class SfLocalizationsSi extends SfGlobalLocalizations { String get allowedViewWorkWeekLabel => r'වැඩ සතිය'; @override - String get daySpanCountLabel => r'දිනය'; + String get andDataGridFilteringLabel => r'හා'; @override - String get dhualhiLabel => r'Dhu al-Hijjah'; + String get beforeDataGridFilteringLabel => r'පෙර හෝ සමාන'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'කලින්'; + + @override + String get beginsWithDataGridFilteringLabel => r'සමඟ ආරම්භ වේ'; + + @override + String get cancelDataGridFilteringLabel => r'අවලංගු කරන්න'; + + @override + String get clearFilterDataGridFilteringLabel => r'පෙරහන හිස් කරන්න'; + + @override + String get containsDataGridFilteringLabel => r'අඩංගු වේ'; + + @override + String get dateFiltersDataGridFilteringLabel => r'දින පෙරහන්'; + + @override + String get daySpanCountLabel => r'දින'; + + @override + String get dhualhiLabel => r'ඩු අල්-හිජ්ජා'; @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'සමඟ ආරම්භ නොවේ'; + + @override + String get doesNotContainDataGridFilteringLabel => r'අඩංගු නොවේ'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'සමඟ අවසන් නොවේ'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'සමාන නොවේ'; + + @override + String get emptyDataGridFilteringLabel => r'හිස්'; + + @override + String get endsWithDataGridFilteringLabel => r'සමඟ අවසන් වේ'; + + @override + String get equalsDataGridFilteringLabel => r'සමාන'; + + @override + String get fromDataGridFilteringLabel => r'සිට'; + + @override + String get greaterThanDataGridFilteringLabel => r'වඩා විශාලයි'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'වඩා විශාල හෝ සමාන වේ'; + @override String get jumada1Label => r'Jumada al-awwal'; @override - String get jumada2Label => r'ජුමාදා අල්-තානි'; + String get jumada2Label => r'ජුමාදා අල්-තානි'; + + @override + String get lessThanDataGridFilteringLabel => r'අඩු'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'අඩු හෝ සමානයි'; + + @override + String get muharramLabel => r'මුහර්රම්'; + + @override + String get noEventsCalendarLabel => r'සිදුවීම් නැත'; + + @override + String get noMatchesDataGridFilteringLabel => r'ගැලපීම් නැත'; + + @override + String get noSelectedDateCalendarLabel => r'තෝරාගත් දිනයක් නැත'; + + @override + String get notEmptyDataGridFilteringLabel => r'හිස් නොවේ'; + + @override + String get notNullDataGridFilteringLabel => r'Null නොවේ'; + + @override + String get nullDataGridFilteringLabel => r'ශුන්‍ය'; @override - String get muharramLabel => r'මුහර්රම්'; + String get numberFiltersDataGridFilteringLabel => r'අංක පෙරහන්'; @override - String get noEventsCalendarLabel => r'සිදුවීම් නැත'; + String get ofDataPagerLabel => r'වල'; @override - String get noSelectedDateCalendarLabel => r'තෝරාගත් දිනයක් නැත'; + String get okDataGridFilteringLabel => r'හරි'; @override - String get ofDataPagerLabel => r'වල'; + String get orDataGridFilteringLabel => r'හෝ'; @override String get pagesDataPagerLabel => r'පිටු'; @@ -11526,6 +18842,12 @@ class SfLocalizationsSi extends SfGlobalLocalizations { @override String get safarLabel => r'සෆාර්'; + @override + String get searchDataGridFilteringLabel => r'සොයන්න'; + + @override + String get selectAllDataGridFilteringLabel => r'සියල්ල තෝරන්න'; + @override String get series => r'මාලාවක්'; @@ -11571,6 +18893,37 @@ class SfLocalizationsSi extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'ෂෝ.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'කොහෙද පේළි පෙන්වන්න'; + + @override + String get sortAToZDataGridFilteringLabel => r'A සිට Z දක්වා වර්ග කරන්න'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'වර්ග කිරීම සහ පෙරීම'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'විශාලතම සිට කුඩාම දක්වා වර්ග කරන්න'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'අලුත්ම සිට පැරණිම දක්වා වර්ග කරන්න'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'පැරණිතම සිට අලුත්ම දක්වා වර්ග කරන්න'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'කුඩාම සිට විශාල දක්වා වර්ග කරන්න'; + + @override + String get sortZToADataGridFilteringLabel => r'Z සිට A දක්වා වර්ග කරන්න'; + + @override + String get textFiltersDataGridFilteringLabel => r'පෙළ පෙරහන්'; + @override String get todayLabel => r'අද'; @@ -11587,6 +18940,12 @@ class SfLocalizationsSk extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Po'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Po alebo Equal'; + @override String get allDayLabel => r'Celý deň'; @@ -11617,6 +18976,30 @@ class SfLocalizationsSk extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Pracovný týždeň'; + @override + String get andDataGridFilteringLabel => r'A'; + + @override + String get beforeDataGridFilteringLabel => r'Pred alebo Equal'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Predtým'; + + @override + String get beginsWithDataGridFilteringLabel => r'Zacina s'; + + @override + String get cancelDataGridFilteringLabel => r'Zrušiť'; + + @override + String get clearFilterDataGridFilteringLabel => r'Vymazať filter'; + + @override + String get containsDataGridFilteringLabel => r'Obsahuje'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Dátumové filtre'; + @override String get daySpanCountLabel => r'deň'; @@ -11626,12 +19009,48 @@ class SfLocalizationsSk extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Nezačína s'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Neobsahuje'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Nekončí s'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Nerovná sa'; + + @override + String get emptyDataGridFilteringLabel => r'Prázdny'; + + @override + String get endsWithDataGridFilteringLabel => r'Končí s'; + + @override + String get equalsDataGridFilteringLabel => r'Rovná sa'; + + @override + String get fromDataGridFilteringLabel => r'Od'; + + @override + String get greaterThanDataGridFilteringLabel => r'Väčší než'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Väčšie alebo rovné'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Menej ako'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Menej než alebo rovné'; + @override String get muharramLabel => r'Muharram'; @@ -11639,11 +19058,32 @@ class SfLocalizationsSk extends SfGlobalLocalizations { String get noEventsCalendarLabel => r'Žiadne udalosti'; @override - String get noSelectedDateCalendarLabel => r'Nie je vybraný dátum'; + String get noMatchesDataGridFilteringLabel => r'Žiadne zhody'; + + @override + String get noSelectedDateCalendarLabel => r'Žiadny vybratý dátum'; + + @override + String get notEmptyDataGridFilteringLabel => r'Nie prázdny'; + + @override + String get notNullDataGridFilteringLabel => r'Nie Null'; + + @override + String get nullDataGridFilteringLabel => r'Nulový'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Filtre čísel'; @override String get ofDataPagerLabel => r'z'; + @override + String get okDataGridFilteringLabel => r'OK'; + + @override + String get orDataGridFilteringLabel => r'Alebo'; + @override String get pagesDataPagerLabel => r'stránky'; @@ -11682,7 +19122,7 @@ class SfLocalizationsSk extends SfGlobalLocalizations { String get pdfHyperlinkLabel => r'Otvorte webovú stránku'; @override - String get pdfInvalidPageNumberLabel => r'Prosím zadajte platné číslo'; + String get pdfInvalidPageNumberLabel => r'Prosím vložte platné číslo'; @override String get pdfNoBookmarksLabel => r'Nenašli sa žiadne záložky'; @@ -11720,6 +19160,12 @@ class SfLocalizationsSk extends SfGlobalLocalizations { @override String get safarLabel => r'Šafár'; + @override + String get searchDataGridFilteringLabel => r'Vyhľadávanie'; + + @override + String get selectAllDataGridFilteringLabel => r'Vybrať všetko'; + @override String get series => r'séria'; @@ -11766,7 +19212,38 @@ class SfLocalizationsSk extends SfGlobalLocalizations { String get shortShawwalLabel => r'Shaw.'; @override - String get todayLabel => r'dnes'; + String get showRowsWhereDataGridFilteringLabel => r'Zobraziť riadky kde'; + + @override + String get sortAToZDataGridFilteringLabel => r'Zoradiť od A po Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Triediť a filtrovať'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Zoradiť od najväčšieho po najmenšie'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Zoradiť od najnovších po najstaršie'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Zoradiť od najstarších po najnovšie'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Zoradiť od najmenšieho po najväčšie'; + + @override + String get sortZToADataGridFilteringLabel => r'Zoradiť od Z po A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Textové filtre'; + + @override + String get todayLabel => r'Dnes'; @override String get weeknumberLabel => r'týždeň'; @@ -11781,11 +19258,17 @@ class SfLocalizationsSl extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Po'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Po ali enako'; + @override String get allDayLabel => r'Ves dan'; @override - String get allowedViewDayLabel => r'dan'; + String get allowedViewDayLabel => r'Dan'; @override String get allowedViewMonthLabel => r'mesec'; @@ -11812,7 +19295,31 @@ class SfLocalizationsSl extends SfGlobalLocalizations { String get allowedViewWorkWeekLabel => r'Delovni teden'; @override - String get daySpanCountLabel => r'dan'; + String get andDataGridFilteringLabel => r'in'; + + @override + String get beforeDataGridFilteringLabel => r'Pred ali enako'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'prej'; + + @override + String get beginsWithDataGridFilteringLabel => r'Začne se z'; + + @override + String get cancelDataGridFilteringLabel => r'Prekliči'; + + @override + String get clearFilterDataGridFilteringLabel => r'Počisti filter'; + + @override + String get containsDataGridFilteringLabel => r'Vsebuje'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Datumski filtri'; + + @override + String get daySpanCountLabel => r'Dan'; @override String get dhualhiLabel => r'Dhu al-Hijjah'; @@ -11820,30 +19327,87 @@ class SfLocalizationsSl extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Se ne začne z'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Ne vsebuje'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Se ne konča z'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Ni enako'; + + @override + String get emptyDataGridFilteringLabel => r'Prazno'; + + @override + String get endsWithDataGridFilteringLabel => r'Konča se z'; + + @override + String get equalsDataGridFilteringLabel => r'Enako'; + + @override + String get fromDataGridFilteringLabel => r'Od'; + + @override + String get greaterThanDataGridFilteringLabel => r'Večji kot'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Večje ali enako'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Manj kot'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Manj ali enako'; + @override String get muharramLabel => r'Muharram'; @override - String get noEventsCalendarLabel => r'Brez dogodkov'; + String get noEventsCalendarLabel => r'Ni dogodkov'; + + @override + String get noMatchesDataGridFilteringLabel => r'Ni ujemanja'; @override String get noSelectedDateCalendarLabel => r'Ni izbranega datuma'; + @override + String get notEmptyDataGridFilteringLabel => r'Ni prazno'; + + @override + String get notNullDataGridFilteringLabel => r'Ni Null'; + + @override + String get nullDataGridFilteringLabel => r'Nič'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Številčni filtri'; + @override String get ofDataPagerLabel => r'od'; + @override + String get okDataGridFilteringLabel => r'v redu'; + + @override + String get orDataGridFilteringLabel => r'oz'; + @override String get pagesDataPagerLabel => r'strani'; @override String get passwordDialogContentLabel => - r'Vnesite geslo za odpiranje te datoteke PDF'; + r'Vnesite geslo, da odprete to datoteko PDF'; @override String get passwordDialogHeaderTextLabel => r'Zaščiteno z geslom'; @@ -11873,13 +19437,13 @@ class SfLocalizationsSl extends SfGlobalLocalizations { String get pdfHyperlinkDialogOpenLabel => r'ODPRTO'; @override - String get pdfHyperlinkLabel => r'Odprite spletno stran'; + String get pdfHyperlinkLabel => r'Odpri spletno stran'; @override String get pdfInvalidPageNumberLabel => r'Vnesite veljavno številko'; @override - String get pdfNoBookmarksLabel => r'Najden ni bil noben zaznamek'; + String get pdfNoBookmarksLabel => r'Ni najdenih zaznamkov'; @override String get pdfPaginationDialogCancelLabel => r'PREKLIC'; @@ -11903,19 +19467,25 @@ class SfLocalizationsSl extends SfGlobalLocalizations { String get rabi2Label => r'Rabi' "'" r' al-thani'; @override - String get rajabLabel => r'Radžab'; + String get rajabLabel => r'Rajab'; @override String get ramadanLabel => r'Ramadan'; @override - String get rowsPerPageDataPagerLabel => r'Vrstice na stran'; + String get rowsPerPageDataPagerLabel => r'Vrstic na stran'; @override String get safarLabel => r'Safar'; @override - String get series => r'Serija'; + String get searchDataGridFilteringLabel => r'Iskanje'; + + @override + String get selectAllDataGridFilteringLabel => r'Izberi vse'; + + @override + String get series => r'serija'; @override String get shaabanLabel => r'Sha' "'" r'aban'; @@ -11954,13 +19524,44 @@ class SfLocalizationsSl extends SfGlobalLocalizations { String get shortSafarLabel => r'Saf.'; @override - String get shortShaabanLabel => r'Sha'; + String get shortShaabanLabel => r'Sha.'; @override String get shortShawwalLabel => r'Shaw.'; @override - String get todayLabel => r'danes'; + String get showRowsWhereDataGridFilteringLabel => r'Pokaži vrstice, kje'; + + @override + String get sortAToZDataGridFilteringLabel => r'Razvrsti od A do Ž'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Razvrsti in filtriraj'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Razvrsti od največjega do najmanjšega'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Razvrsti od najnovejšega do najstarejšega'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Razvrsti od starejšega do najnovejšega'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Razvrsti od najmanjšega do največjega'; + + @override + String get sortZToADataGridFilteringLabel => r'Razvrsti od Ž do A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Besedilni filtri'; + + @override + String get todayLabel => r'Danes'; @override String get weeknumberLabel => r'teden'; @@ -11975,11 +19576,17 @@ class SfLocalizationsSq extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Pas'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Pas Ose E barabartë'; + @override String get allDayLabel => r'Gjithe diten'; @override - String get allowedViewDayLabel => r'ditë'; + String get allowedViewDayLabel => r'Dita'; @override String get allowedViewMonthLabel => r'Muaj'; @@ -12006,31 +19613,114 @@ class SfLocalizationsSq extends SfGlobalLocalizations { String get allowedViewWorkWeekLabel => r'Java e punës'; @override - String get daySpanCountLabel => r'ditë'; + String get andDataGridFilteringLabel => r'Dhe'; + + @override + String get beforeDataGridFilteringLabel => r'Para Ose të Barabarta'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Përpara'; + + @override + String get beginsWithDataGridFilteringLabel => r'Fillon me'; + + @override + String get cancelDataGridFilteringLabel => r'Anulo'; + + @override + String get clearFilterDataGridFilteringLabel => r'Pastro filtrin'; + + @override + String get containsDataGridFilteringLabel => r'Përmban'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Filtrat e datës'; + + @override + String get daySpanCountLabel => r'Dita'; + + @override + String get dhualhiLabel => r'Dhul Hixhe'; + + @override + String get dhualqiLabel => r'Dhul-Kida'; + + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Nuk Fillon Me'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Nuk permban'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Nuk përfundon me'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Nuk është e barabartë'; + + @override + String get emptyDataGridFilteringLabel => r'Bosh'; + + @override + String get endsWithDataGridFilteringLabel => r'Përfundon me'; + + @override + String get equalsDataGridFilteringLabel => r'Të barabartë'; + + @override + String get fromDataGridFilteringLabel => r'Nga'; + + @override + String get greaterThanDataGridFilteringLabel => r'Më e madhe se'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'Më i madh se Ose i barabartë'; + + @override + String get jumada1Label => r'Xhumade el-evvel'; + + @override + String get jumada2Label => r'Xhumada al-thani'; + + @override + String get lessThanDataGridFilteringLabel => r'Më pak se'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => + r'Më pak se ose e barabartë'; + + @override + String get muharramLabel => r'Muharrem'; + + @override + String get noEventsCalendarLabel => r'Asnjë ngjarje'; + + @override + String get noMatchesDataGridFilteringLabel => r'Nuk ka ndeshje'; @override - String get dhualhiLabel => r'Dhul Hixhe'; + String get noSelectedDateCalendarLabel => r'Asnjë datë e zgjedhur'; @override - String get dhualqiLabel => r'Dhul Kida'; + String get notEmptyDataGridFilteringLabel => r'Jo bosh'; @override - String get jumada1Label => r'Xhumada el-evvel'; + String get notNullDataGridFilteringLabel => r'Jo Null'; @override - String get jumada2Label => r'Xhumada al-thani'; + String get nullDataGridFilteringLabel => r'I pavlefshëm'; @override - String get muharramLabel => r'Muharrem'; + String get numberFiltersDataGridFilteringLabel => r'Filtrat e numrave'; @override - String get noEventsCalendarLabel => r'Asnjë ngjarje'; + String get ofDataPagerLabel => r'e'; @override - String get noSelectedDateCalendarLabel => r'Asnjë datë e zgjedhur'; + String get okDataGridFilteringLabel => r'Ne rregull'; @override - String get ofDataPagerLabel => r'e'; + String get orDataGridFilteringLabel => r'Ose'; @override String get pagesDataPagerLabel => r'faqet'; @@ -12109,11 +19799,17 @@ class SfLocalizationsSq extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Kërko'; + + @override + String get selectAllDataGridFilteringLabel => r'Selektoj të gjitha'; + @override String get series => r'Seria'; @override - String get shaabanLabel => r'Sha' "'" r'ban'; + String get shaabanLabel => r'Shaban'; @override String get shawwalLabel => r'Shevali'; @@ -12154,6 +19850,37 @@ class SfLocalizationsSq extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Trego rreshtat ku'; + + @override + String get sortAToZDataGridFilteringLabel => r'Rendit nga A në Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Rendit dhe filtro'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Rendit nga më i madhi tek më i vogli'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Rendit nga më i riu tek më i vjetri'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Rendit nga më i vjetri tek më i riu'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Rendit nga më i vogli në më i madhi'; + + @override + String get sortZToADataGridFilteringLabel => r'Rendit Z në A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Filtrat e tekstit'; + @override String get todayLabel => r'Sot'; @@ -12170,6 +19897,12 @@ class SfLocalizationsSr extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'После'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'После или једнако'; + @override String get allDayLabel => r'Цео дан'; @@ -12201,6 +19934,30 @@ class SfLocalizationsSr extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Радна недеља'; + @override + String get andDataGridFilteringLabel => r'И'; + + @override + String get beforeDataGridFilteringLabel => r'Пре или једнако'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'пре него што'; + + @override + String get beginsWithDataGridFilteringLabel => r'Почиње са'; + + @override + String get cancelDataGridFilteringLabel => r'Поништити, отказати'; + + @override + String get clearFilterDataGridFilteringLabel => r'Обриши филтер'; + + @override + String get containsDataGridFilteringLabel => r'Садржи'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Дате Филтерс'; + @override String get daySpanCountLabel => r'Дан'; @@ -12210,24 +19967,81 @@ class SfLocalizationsSr extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Дху ал-Ки' "'" r'дах'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Не почиње са'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Не садржи'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Не завршава са'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Није једнако'; + + @override + String get emptyDataGridFilteringLabel => r'Празан'; + + @override + String get endsWithDataGridFilteringLabel => r'Завршава са'; + + @override + String get equalsDataGridFilteringLabel => r'Једнако'; + + @override + String get fromDataGridFilteringLabel => r'Од'; + + @override + String get greaterThanDataGridFilteringLabel => r'Веће од'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Веће или једнако'; + @override String get jumada1Label => r'Јумада ал-аввал'; @override String get jumada2Label => r'Јумада ал-тхани'; + @override + String get lessThanDataGridFilteringLabel => r'Мање од'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Мање од или једнако'; + @override String get muharramLabel => r'Мухаррам'; @override String get noEventsCalendarLabel => r'Нема догађаја'; + @override + String get noMatchesDataGridFilteringLabel => r'Нема резултата'; + @override String get noSelectedDateCalendarLabel => r'Нема изабраног датума'; + @override + String get notEmptyDataGridFilteringLabel => r'Није празна'; + + @override + String get notNullDataGridFilteringLabel => r'Не Нулл'; + + @override + String get nullDataGridFilteringLabel => r'Нула'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Бројчани филтери'; + @override String get ofDataPagerLabel => r'оф'; + @override + String get okDataGridFilteringLabel => r'У реду'; + + @override + String get orDataGridFilteringLabel => r'Ор'; + @override String get pagesDataPagerLabel => r'странице'; @@ -12306,7 +20120,13 @@ class SfLocalizationsSr extends SfGlobalLocalizations { String get safarLabel => r'Сафар'; @override - String get series => r'Серије'; + String get searchDataGridFilteringLabel => r'Претрага'; + + @override + String get selectAllDataGridFilteringLabel => r'Изабери све'; + + @override + String get series => r'Сериес'; @override String get shaabanLabel => r'Сха' "'" r'абан'; @@ -12350,6 +20170,37 @@ class SfLocalizationsSr extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Схав.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Покажи редове где'; + + @override + String get sortAToZDataGridFilteringLabel => r'Сортирај од А до З'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Сортирај и филтрирај'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Сортирај од највећег до најмањег'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Сортирај од најновијег до најстаријег'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Сортирај од најстаријих до најновијих'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Сортирај од најмањег до највећег'; + + @override + String get sortZToADataGridFilteringLabel => r'Сортирај од З до А'; + + @override + String get textFiltersDataGridFilteringLabel => r'Филтери за текст'; + @override String get todayLabel => r'Данас'; @@ -12376,6 +20227,12 @@ class SfLocalizationsSv extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Efter'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Efter Eller Lika'; + @override String get allDayLabel => r'Hela dagen'; @@ -12398,7 +20255,7 @@ class SfLocalizationsSv extends SfGlobalLocalizations { String get allowedViewTimelineWeekLabel => r'Tidslinjevecka'; @override - String get allowedViewTimelineWorkWeekLabel => r'Tidslinje Arbetsvecka'; + String get allowedViewTimelineWorkWeekLabel => r'Tidslinje arbetsvecka'; @override String get allowedViewWeekLabel => r'Vecka'; @@ -12406,6 +20263,30 @@ class SfLocalizationsSv extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Arbetsvecka'; + @override + String get andDataGridFilteringLabel => r'Och'; + + @override + String get beforeDataGridFilteringLabel => r'Före Eller Lika'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Innan'; + + @override + String get beginsWithDataGridFilteringLabel => r'Börjar med'; + + @override + String get cancelDataGridFilteringLabel => r'Avbryt'; + + @override + String get clearFilterDataGridFilteringLabel => r'Rensa filtret'; + + @override + String get containsDataGridFilteringLabel => r'Innehåller'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Datumfilter'; + @override String get daySpanCountLabel => r'Dag'; @@ -12415,24 +20296,82 @@ class SfLocalizationsSv extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Börjar inte med'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Innehåller inte'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Slutar inte med'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Är inte lika med'; + + @override + String get emptyDataGridFilteringLabel => r'Tömma'; + + @override + String get endsWithDataGridFilteringLabel => r'Slutar med'; + + @override + String get equalsDataGridFilteringLabel => r'Lika'; + + @override + String get fromDataGridFilteringLabel => r'Från'; + + @override + String get greaterThanDataGridFilteringLabel => r'Större än'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'Större än eller lika med'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Mindre än'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Mindre än eller lika'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'Inga händelser'; + @override + String get noMatchesDataGridFilteringLabel => r'Inga träffar'; + @override String get noSelectedDateCalendarLabel => r'Inget valt datum'; + @override + String get notEmptyDataGridFilteringLabel => r'Inte tom'; + + @override + String get notNullDataGridFilteringLabel => r'Inte Null'; + + @override + String get nullDataGridFilteringLabel => r'Null'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Nummerfilter'; + @override String get ofDataPagerLabel => r'av'; + @override + String get okDataGridFilteringLabel => r'OK'; + + @override + String get orDataGridFilteringLabel => r'Eller'; + @override String get pagesDataPagerLabel => r'sidor'; @@ -12465,7 +20404,7 @@ class SfLocalizationsSv extends SfGlobalLocalizations { String get pdfHyperlinkDialogCancelLabel => r'AVBRYT'; @override - String get pdfHyperlinkDialogOpenLabel => r'ÖPPEN'; + String get pdfHyperlinkDialogOpenLabel => r'ÖPPNA'; @override String get pdfHyperlinkLabel => r'Öppna webbsidan'; @@ -12478,16 +20417,16 @@ class SfLocalizationsSv extends SfGlobalLocalizations { String get pdfNoBookmarksLabel => r'Inga bokmärken hittades'; @override - String get pdfPaginationDialogCancelLabel => r'ANNULLERA'; + String get pdfPaginationDialogCancelLabel => r'AVBRYT'; @override String get pdfPaginationDialogOkLabel => r'OK'; @override - String get pdfPasswordDialogCancelLabel => r'ANNULLERA'; + String get pdfPasswordDialogCancelLabel => r'AVBRYT'; @override - String get pdfPasswordDialogOpenLabel => r'ÖPPET'; + String get pdfPasswordDialogOpenLabel => r'ÖPPNA'; @override String get pdfScrollStatusOfLabel => r'av'; @@ -12510,6 +20449,12 @@ class SfLocalizationsSv extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Sök'; + + @override + String get selectAllDataGridFilteringLabel => r'Välj alla'; + @override String get series => r'Serier'; @@ -12555,6 +20500,37 @@ class SfLocalizationsSv extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Visa rader var'; + + @override + String get sortAToZDataGridFilteringLabel => r'Sortera A till Ö'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Sortera och filtrera'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Sortera Störst Till Minst'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Sortera Nyast Till Äldst'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Sortera äldst till nyaste'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Sortera minsta till största'; + + @override + String get sortZToADataGridFilteringLabel => r'Sortera från Z till A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Textfilter'; + @override String get todayLabel => r'I dag'; @@ -12571,6 +20547,12 @@ class SfLocalizationsSw extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Baada ya'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Baada ya Au Sawa'; + @override String get allDayLabel => r'Siku nzima'; @@ -12599,34 +20581,116 @@ class SfLocalizationsSw extends SfGlobalLocalizations { String get allowedViewWeekLabel => r'Wiki'; @override - String get allowedViewWorkWeekLabel => r'Wiki ya Kazi'; + String get allowedViewWorkWeekLabel => r'Wiki ya Kazi'; + + @override + String get andDataGridFilteringLabel => r'Na'; + + @override + String get beforeDataGridFilteringLabel => r'Kabla Au Sawa'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Kabla'; + + @override + String get beginsWithDataGridFilteringLabel => r'Huanza Na'; + + @override + String get cancelDataGridFilteringLabel => r'Ghairi'; + + @override + String get clearFilterDataGridFilteringLabel => r'Futa Kichujio'; + + @override + String get containsDataGridFilteringLabel => r'Ina'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Vichujio vya Tarehe'; + + @override + String get daySpanCountLabel => r'Siku'; + + @override + String get dhualhiLabel => r'Dhu al-Hijjah'; + + @override + String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Huanza Na'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Haina'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Haiishii Na'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Hailingani'; + + @override + String get emptyDataGridFilteringLabel => r'Tupu'; + + @override + String get endsWithDataGridFilteringLabel => r'Inaisha Na'; + + @override + String get equalsDataGridFilteringLabel => r'Sawa'; + + @override + String get fromDataGridFilteringLabel => r'Kutoka'; + + @override + String get greaterThanDataGridFilteringLabel => r'Kubwa kuliko'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'Kubwa Kuliko Au Sawa'; + + @override + String get jumada1Label => r'Jumada al-awwal'; + + @override + String get jumada2Label => r'Jumada al-thani'; + + @override + String get lessThanDataGridFilteringLabel => r'Chini ya'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Chini ya Au Sawa'; + + @override + String get muharramLabel => r'Muharram'; + + @override + String get noEventsCalendarLabel => r'Hakuna matukio'; @override - String get daySpanCountLabel => r'Siku'; + String get noMatchesDataGridFilteringLabel => r'Hakuna zinazolingana'; @override - String get dhualhiLabel => r'Dhu al-Hijjah'; + String get noSelectedDateCalendarLabel => r'Hakuna tarehe iliyochaguliwa'; @override - String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + String get notEmptyDataGridFilteringLabel => r'Sio Tupu'; @override - String get jumada1Label => r'Jumada al-awwal'; + String get notNullDataGridFilteringLabel => r'Sio Null'; @override - String get jumada2Label => r'Jumada al-thani'; + String get nullDataGridFilteringLabel => r'Null'; @override - String get muharramLabel => r'Muharram'; + String get numberFiltersDataGridFilteringLabel => r'Vichujio vya Nambari'; @override - String get noEventsCalendarLabel => r'Hakuna matukio'; + String get ofDataPagerLabel => r'ya'; @override - String get noSelectedDateCalendarLabel => r'Hakuna tarehe iliyochaguliwa'; + String get okDataGridFilteringLabel => r'sawa'; @override - String get ofDataPagerLabel => r'ya'; + String get orDataGridFilteringLabel => r'Au'; @override String get pagesDataPagerLabel => r'kurasa'; @@ -12651,7 +20715,7 @@ class SfLocalizationsSw extends SfGlobalLocalizations { String get pdfEnterPageNumberLabel => r'Ingiza nambari ya ukurasa'; @override - String get pdfGoToPageLabel => r'Nenda kwa ukurasa'; + String get pdfGoToPageLabel => r'Nenda kwenye ukurasa'; @override String get pdfHyperlinkContentLabel => r'Je, unataka kufungua ukurasa katika'; @@ -12704,6 +20768,12 @@ class SfLocalizationsSw extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Tafuta'; + + @override + String get selectAllDataGridFilteringLabel => r'Chagua Zote'; + @override String get series => r'Msururu'; @@ -12749,6 +20819,37 @@ class SfLocalizationsSw extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Onyesha safu mlalo wapi'; + + @override + String get sortAToZDataGridFilteringLabel => r'Panga A hadi Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Panga na Chuja'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Panga Kubwa Hadi Ndogo'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Panga Mpya Zaidi Kwa Kongwe Zaidi'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Panga Kongwe Kwa Mpya Zaidi'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Panga Ndogo Kwa Kubwa Zaidi'; + + @override + String get sortZToADataGridFilteringLabel => r'Panga Z hadi A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Vichujio vya Maandishi'; + @override String get todayLabel => r'Leo'; @@ -12765,6 +20866,12 @@ class SfLocalizationsTa extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'பிறகு'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'பிறகு அல்லது சமம்'; + @override String get allDayLabel => r'நாள் முழுவதும்'; @@ -12778,7 +20885,7 @@ class SfLocalizationsTa extends SfGlobalLocalizations { String get allowedViewScheduleLabel => r'அட்டவணை'; @override - String get allowedViewTimelineDayLabel => r'காலவரிசை நாள்'; + String get allowedViewTimelineDayLabel => r'காலக்கெடு நாள்'; @override String get allowedViewTimelineMonthLabel => r'காலவரிசை மாதம்'; @@ -12795,6 +20902,30 @@ class SfLocalizationsTa extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'வேலை வாரம்'; + @override + String get andDataGridFilteringLabel => r'மற்றும்'; + + @override + String get beforeDataGridFilteringLabel => r'முன் அல்லது சமம்'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'முன்பு'; + + @override + String get beginsWithDataGridFilteringLabel => r'உடன் தொடங்குகிறது'; + + @override + String get cancelDataGridFilteringLabel => r'ரத்து செய்'; + + @override + String get clearFilterDataGridFilteringLabel => r'வடிகட்டியை அழி'; + + @override + String get containsDataGridFilteringLabel => r'கொண்டுள்ளது'; + + @override + String get dateFiltersDataGridFilteringLabel => r'தேதி வடிகட்டிகள்'; + @override String get daySpanCountLabel => r'நாள்'; @@ -12802,7 +20933,38 @@ class SfLocalizationsTa extends SfGlobalLocalizations { String get dhualhiLabel => r'து அல்-ஹிஜ்ஜா'; @override - String get dhualqiLabel => r'து அல்-கிடா'; + String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + + @override + String get doesNotBeginWithDataGridFilteringLabel => r'உடன் தொடங்கவில்லை'; + + @override + String get doesNotContainDataGridFilteringLabel => r'கொண்டிருக்கும் இல்லை'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'உடன் முடிவடையவில்லை'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'சமமாக இல்லை'; + + @override + String get emptyDataGridFilteringLabel => r'காலியாக'; + + @override + String get endsWithDataGridFilteringLabel => r'உடன் முடிகிறது'; + + @override + String get equalsDataGridFilteringLabel => r'சமம்'; + + @override + String get fromDataGridFilteringLabel => r'இருந்து'; + + @override + String get greaterThanDataGridFilteringLabel => r'விட பெரியது'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'பெரியது அல்லது சமமானது'; @override String get jumada1Label => r'ஜுமாதா அல்-அவ்வல்'; @@ -12810,18 +20972,46 @@ class SfLocalizationsTa extends SfGlobalLocalizations { @override String get jumada2Label => r'ஜுமாதா அல்-தானி'; + @override + String get lessThanDataGridFilteringLabel => r'விட குறைவாக'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => + r'குறைவானது அல்லது சமமானது'; + @override String get muharramLabel => r'முஹர்ரம்'; @override String get noEventsCalendarLabel => r'நிகழ்வுகள் இல்லை'; + @override + String get noMatchesDataGridFilteringLabel => r'பொருத்தங்கள் இல்லை'; + @override String get noSelectedDateCalendarLabel => r'தேர்ந்தெடுக்கப்பட்ட தேதி இல்லை'; + @override + String get notEmptyDataGridFilteringLabel => r'காலியாக இல்லை'; + + @override + String get notNullDataGridFilteringLabel => r'பூஜ்யமாக இல்லை'; + + @override + String get nullDataGridFilteringLabel => r'ஏதுமில்லை'; + + @override + String get numberFiltersDataGridFilteringLabel => r'எண் வடிப்பான்கள்'; + @override String get ofDataPagerLabel => r'இன்'; + @override + String get okDataGridFilteringLabel => r'சரி'; + + @override + String get orDataGridFilteringLabel => r'அல்லது'; + @override String get pagesDataPagerLabel => r'பக்கங்கள்'; @@ -12899,6 +21089,12 @@ class SfLocalizationsTa extends SfGlobalLocalizations { @override String get safarLabel => r'சஃபர்'; + @override + String get searchDataGridFilteringLabel => r'தேடு'; + + @override + String get selectAllDataGridFilteringLabel => r'அனைத்தையும் தெரிவுசெய்'; + @override String get series => r'தொடர்'; @@ -12942,7 +21138,41 @@ class SfLocalizationsTa extends SfGlobalLocalizations { String get shortShaabanLabel => r'ஷா.'; @override - String get shortShawwalLabel => r'ஷா.'; + String get shortShawwalLabel => r'ஷா'; + + @override + String get showRowsWhereDataGridFilteringLabel => r'எங்கே வரிசைகளைக் காட்டு'; + + @override + String get sortAToZDataGridFilteringLabel => + r'A முதல் Z வரை வரிசைப்படுத்தவும்'; + + @override + String get sortAndFilterDataGridFilteringLabel => + r'வரிசைப்படுத்தி வடிகட்டவும்'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'பெரியது முதல் சிறியது வரை வரிசைப்படுத்தவும்'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'புதியது முதல் பழையது என வரிசைப்படுத்தவும்'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'பழமையானது முதல் புதியது வரை வரிசைப்படுத்தவும்'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'சிறியது முதல் பெரியது வரை வரிசைப்படுத்தவும்'; + + @override + String get sortZToADataGridFilteringLabel => + r'Z முதல் A வரை வரிசைப்படுத்தவும்'; + + @override + String get textFiltersDataGridFilteringLabel => r'உரை வடிப்பான்கள்'; @override String get todayLabel => r'இன்று'; @@ -12960,6 +21190,12 @@ class SfLocalizationsTe extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'తర్వాత'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'తర్వాత లేదా సమానం'; + @override String get allDayLabel => r'రోజంతా'; @@ -12990,6 +21226,30 @@ class SfLocalizationsTe extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'పని వారం'; + @override + String get andDataGridFilteringLabel => r'మరియు'; + + @override + String get beforeDataGridFilteringLabel => r'ముందు లేదా సమానం'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'ముందు'; + + @override + String get beginsWithDataGridFilteringLabel => r'ప్రారంభమవుతుంది'; + + @override + String get cancelDataGridFilteringLabel => r'రద్దు చేయండి'; + + @override + String get clearFilterDataGridFilteringLabel => r'ఫిల్టర్‌ని క్లియర్ చేయండి'; + + @override + String get containsDataGridFilteringLabel => r'కలిగి ఉంది'; + + @override + String get dateFiltersDataGridFilteringLabel => r'తేదీ ఫిల్టర్లు'; + @override String get daySpanCountLabel => r'రోజు'; @@ -12997,7 +21257,38 @@ class SfLocalizationsTe extends SfGlobalLocalizations { String get dhualhiLabel => r'ధు అల్-హిజ్జా'; @override - String get dhualqiLabel => r'ధు అల్-ఖైదా'; + String get dhualqiLabel => r'ధు అల్-కి' "'" r'దా'; + + @override + String get doesNotBeginWithDataGridFilteringLabel => r'తో ప్రారంభం కాదు'; + + @override + String get doesNotContainDataGridFilteringLabel => r'దింట్లో ఉండదు'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'దీనితో అంతం కాదు'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'సమానం కాదు'; + + @override + String get emptyDataGridFilteringLabel => r'ఖాళీ'; + + @override + String get endsWithDataGridFilteringLabel => r'తో ముగుస్తుంది'; + + @override + String get equalsDataGridFilteringLabel => r'సమానం'; + + @override + String get fromDataGridFilteringLabel => r'నుండి'; + + @override + String get greaterThanDataGridFilteringLabel => r'అంతకన్నా ఎక్కువ'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'గ్రేటర్ దాన్ లేదా ఈక్వల్'; @override String get jumada1Label => r'జుమాదా అల్-అవ్వల్'; @@ -13005,18 +21296,45 @@ class SfLocalizationsTe extends SfGlobalLocalizations { @override String get jumada2Label => r'జుమాదా అల్-థాని'; + @override + String get lessThanDataGridFilteringLabel => r'కంటే తక్కువ'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'తక్కువ లేదా సమానం'; + @override String get muharramLabel => r'ముహర్రం'; @override String get noEventsCalendarLabel => r'ఈవెంట్‌లు లేవు'; + @override + String get noMatchesDataGridFilteringLabel => r'మ్యాచ్‌లు లేవు'; + @override String get noSelectedDateCalendarLabel => r'ఎంచుకున్న తేదీ లేదు'; + @override + String get notEmptyDataGridFilteringLabel => r'ఖాళీ కాదు'; + + @override + String get notNullDataGridFilteringLabel => r'శూన్యం కాదు'; + + @override + String get nullDataGridFilteringLabel => r'శూన్య'; + + @override + String get numberFiltersDataGridFilteringLabel => r'సంఖ్య ఫిల్టర్లు'; + @override String get ofDataPagerLabel => r'యొక్క'; + @override + String get okDataGridFilteringLabel => r'అలాగే'; + + @override + String get orDataGridFilteringLabel => r'లేదా'; + @override String get pagesDataPagerLabel => r'పేజీలు'; @@ -13095,6 +21413,12 @@ class SfLocalizationsTe extends SfGlobalLocalizations { @override String get safarLabel => r'సఫర్'; + @override + String get searchDataGridFilteringLabel => r'వెతకండి'; + + @override + String get selectAllDataGridFilteringLabel => r'అన్ని ఎంచుకోండి'; + @override String get series => r'సిరీస్'; @@ -13140,6 +21464,41 @@ class SfLocalizationsTe extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'షా'; + @override + String get showRowsWhereDataGridFilteringLabel => + r'అడ్డు వరుసలను ఎక్కడ చూపించు'; + + @override + String get sortAToZDataGridFilteringLabel => + r'A నుండి Z వరకు క్రమబద్ధీకరించండి'; + + @override + String get sortAndFilterDataGridFilteringLabel => + r'క్రమబద్ధీకరించండి మరియు ఫిల్టర్ చేయండి'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'పెద్దది నుండి చిన్నది వరకు క్రమబద్ధీకరించండి'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'సరికొత్తది నుండి పాతది వరకు క్రమబద్ధీకరించండి'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'పాతది నుండి కొత్తది వరకు క్రమబద్ధీకరించండి'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'చిన్నది నుండి పెద్దది వరకు క్రమబద్ధీకరించండి'; + + @override + String get sortZToADataGridFilteringLabel => + r'Z నుండి A వరకు క్రమబద్ధీకరించండి'; + + @override + String get textFiltersDataGridFilteringLabel => r'టెక్స్ట్ ఫిల్టర్లు'; + @override String get todayLabel => r'ఈరోజు'; @@ -13156,6 +21515,12 @@ class SfLocalizationsTh extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'หลังจาก'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'หลังจากหรือเท่ากับ'; + @override String get allDayLabel => r'ทั้งวัน'; @@ -13178,7 +21543,7 @@ class SfLocalizationsTh extends SfGlobalLocalizations { String get allowedViewTimelineWeekLabel => r'ไทม์ไลน์สัปดาห์'; @override - String get allowedViewTimelineWorkWeekLabel => r'ไทม์ไลน์งานสัปดาห์'; + String get allowedViewTimelineWorkWeekLabel => r'ไทม์ไลน์สัปดาห์การทำงาน'; @override String get allowedViewWeekLabel => r'สัปดาห์'; @@ -13186,32 +21551,113 @@ class SfLocalizationsTh extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'สัปดาห์การทำงาน'; + @override + String get andDataGridFilteringLabel => r'และ'; + + @override + String get beforeDataGridFilteringLabel => r'ก่อนหรือเท่ากับ'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'ก่อน'; + + @override + String get beginsWithDataGridFilteringLabel => r'เริ่มต้นด้วย'; + + @override + String get cancelDataGridFilteringLabel => r'ยกเลิก'; + + @override + String get clearFilterDataGridFilteringLabel => r'ล้างตัวกรอง'; + + @override + String get containsDataGridFilteringLabel => r'ประกอบด้วย'; + + @override + String get dateFiltersDataGridFilteringLabel => r'ตัวกรองวันที่'; + @override String get daySpanCountLabel => r'วัน'; @override - String get dhualhiLabel => r'ดูอัลฮิจญะฮ์'; + String get dhualhiLabel => r'ดุอัลฮิจญะห์'; + + @override + String get dhualqiLabel => r'ดุอัลกิดาห์'; + + @override + String get doesNotBeginWithDataGridFilteringLabel => r'ไม่ได้ขึ้นต้นด้วย'; + + @override + String get doesNotContainDataGridFilteringLabel => r'ไม่มี'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'ไม่สิ้นสุดด้วย'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'ไม่เท่าเทียมกัน'; + + @override + String get emptyDataGridFilteringLabel => r'ว่างเปล่า'; + + @override + String get endsWithDataGridFilteringLabel => r'ลงท้ายด้วย'; + + @override + String get equalsDataGridFilteringLabel => r'เท่ากับ'; + + @override + String get fromDataGridFilteringLabel => r'จาก'; + + @override + String get greaterThanDataGridFilteringLabel => r'มากกว่า'; @override - String get dhualqiLabel => r'ญุมาดา อัล-ธานี'; + String get greaterThanOrEqualDataGridFilteringLabel => r'มากกว่าหรือเท่ากับ'; @override String get jumada1Label => r'ญุมาดา อัลเอาวัล'; @override - String get jumada2Label => r'Jumada al-thani'; + String get jumada2Label => r'ญุมาดา อัล-ธานี'; + + @override + String get lessThanDataGridFilteringLabel => r'น้อยกว่า'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'น้อยกว่าหรือเท่ากับ'; + + @override + String get muharramLabel => r'มุฮัรรอม'; + + @override + String get noEventsCalendarLabel => r'ไม่มีกิจกรรม'; + + @override + String get noMatchesDataGridFilteringLabel => r'ไม่ตรงกัน'; + + @override + String get noSelectedDateCalendarLabel => r'ไม่มีวันที่เลือก'; + + @override + String get notEmptyDataGridFilteringLabel => r'ไม่ว่างเปล่า'; + + @override + String get notNullDataGridFilteringLabel => r'ไม่เป็นโมฆะ'; + + @override + String get nullDataGridFilteringLabel => r'โมฆะ'; @override - String get muharramLabel => r'มูฮัรรอม'; + String get numberFiltersDataGridFilteringLabel => r'ตัวกรองตัวเลข'; @override - String get noEventsCalendarLabel => r'ไม่มีกิจกรรม'; + String get ofDataPagerLabel => r'ของ'; @override - String get noSelectedDateCalendarLabel => r'ไม่ได้เลือกวันที่'; + String get okDataGridFilteringLabel => r'ตกลง'; @override - String get ofDataPagerLabel => r'ของ'; + String get orDataGridFilteringLabel => r'หรือ'; @override String get pagesDataPagerLabel => r'หน้า'; @@ -13238,7 +21684,7 @@ class SfLocalizationsTh extends SfGlobalLocalizations { String get pdfGoToPageLabel => r'ไปที่หน้า'; @override - String get pdfHyperlinkContentLabel => r'ต้องการเปิดเพจที่'; + String get pdfHyperlinkContentLabel => r'คุณต้องการเปิดเพจที่'; @override String get pdfHyperlinkDialogCancelLabel => r'ยกเลิก'; @@ -13250,10 +21696,10 @@ class SfLocalizationsTh extends SfGlobalLocalizations { String get pdfHyperlinkLabel => r'เปิดหน้าเว็บ'; @override - String get pdfInvalidPageNumberLabel => r'กรุณาใส่ตัวเลขที่ถูกต้อง'; + String get pdfInvalidPageNumberLabel => r'โปรดป้อนหมายเลขที่ถูกต้อง'; @override - String get pdfNoBookmarksLabel => r'ไม่พบบุ๊คมาร์ค'; + String get pdfNoBookmarksLabel => r'ไม่พบบุ๊กมาร์ก'; @override String get pdfPaginationDialogCancelLabel => r'ยกเลิก'; @@ -13271,16 +21717,16 @@ class SfLocalizationsTh extends SfGlobalLocalizations { String get pdfScrollStatusOfLabel => r'ของ'; @override - String get rabi1Label => r'เราะบี อัลเอาวัล'; + String get rabi1Label => r'รอบิอัลเอาวัล'; @override - String get rabi2Label => r'รอบีอัล-ธานี'; + String get rabi2Label => r'รอบิอัล-ธานี'; @override - String get rajabLabel => r'ราชภัฏ'; + String get rajabLabel => r'ราชาบ'; @override - String get ramadanLabel => r'รอมฎอน'; + String get ramadanLabel => r'เดือนรอมฎอน'; @override String get rowsPerPageDataPagerLabel => r'แถวต่อหน้า'; @@ -13288,6 +21734,12 @@ class SfLocalizationsTh extends SfGlobalLocalizations { @override String get safarLabel => r'ซาฟาร์'; + @override + String get searchDataGridFilteringLabel => r'ค้นหา'; + + @override + String get selectAllDataGridFilteringLabel => r'เลือกทั้งหมด'; + @override String get series => r'ชุด'; @@ -13298,40 +21750,71 @@ class SfLocalizationsTh extends SfGlobalLocalizations { String get shawwalLabel => r'เชาวาล'; @override - String get shortDhualhiLabel => r'ดุลฮัก'; + String get shortDhualhiLabel => r'ดุอัล-เอช'; @override String get shortDhualqiLabel => r'ดุล-คิว'; @override - String get shortJumada1Label => r'จั้ม. ฉัน'; + String get shortJumada1Label => r'จุ๋ม. ฉัน'; @override - String get shortJumada2Label => r'จั้ม. II'; + String get shortJumada2Label => r'จุ๋ม. ครั้งที่สอง'; @override - String get shortMuharramLabel => r'มุ้ย.'; + String get shortMuharramLabel => r'มึ.'; @override - String get shortRabi1Label => r'รบี. ฉัน'; + String get shortRabi1Label => r'ระบี. ฉัน'; @override - String get shortRabi2Label => r'รบี. II'; + String get shortRabi2Label => r'ระบี. ครั้งที่สอง'; @override - String get shortRajabLabel => r'ราช.'; + String get shortRajabLabel => r'ราชา'; @override String get shortRamadanLabel => r'แกะ.'; @override - String get shortSafarLabel => r'เซฟ.'; + String get shortSafarLabel => r'ปลอดภัย'; + + @override + String get shortShaabanLabel => r'ชา'; + + @override + String get shortShawwalLabel => r'ชอว์'; + + @override + String get showRowsWhereDataGridFilteringLabel => r'แสดงแถวที่'; + + @override + String get sortAToZDataGridFilteringLabel => r'เรียง A ถึง Z'; @override - String get shortShaabanLabel => r'ชา.'; + String get sortAndFilterDataGridFilteringLabel => r'จัดเรียงและกรอง'; @override - String get shortShawwalLabel => r'ชอว์.'; + String get sortLargestToSmallestDataGridFilteringLabel => + r'เรียงจากมากไปน้อย'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'เรียงลำดับใหม่ที่สุดไปเก่าที่สุด'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'เรียงจากเก่าสุดไปใหม่สุด'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'เรียงลำดับจากน้อยไปมาก'; + + @override + String get sortZToADataGridFilteringLabel => r'เรียง Z ถึง A'; + + @override + String get textFiltersDataGridFilteringLabel => r'ตัวกรองข้อความ'; @override String get todayLabel => r'วันนี้'; @@ -13349,6 +21832,12 @@ class SfLocalizationsTl extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Pagkatapos'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Pagkatapos ng Or Equal'; + @override String get allDayLabel => r'Buong araw'; @@ -13380,6 +21869,30 @@ class SfLocalizationsTl extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Linggo ng trabaho'; + @override + String get andDataGridFilteringLabel => r'At'; + + @override + String get beforeDataGridFilteringLabel => r'Bago O Kapantay'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'dati'; + + @override + String get beginsWithDataGridFilteringLabel => r'Nagsisimula sa'; + + @override + String get cancelDataGridFilteringLabel => r'Kanselahin'; + + @override + String get clearFilterDataGridFilteringLabel => r'I-clear ang Filter'; + + @override + String get containsDataGridFilteringLabel => r'Naglalaman'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Mga Filter ng Petsa'; + @override String get daySpanCountLabel => r'Araw'; @@ -13389,24 +21902,82 @@ class SfLocalizationsTl extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Hindi Nagsisimula Sa'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Hindi Naglalaman'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Hindi Nagtatapos Sa'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Ay hindi katumbas ng'; + + @override + String get emptyDataGridFilteringLabel => r'Walang laman'; + + @override + String get endsWithDataGridFilteringLabel => r'Nagtatapos Sa'; + + @override + String get equalsDataGridFilteringLabel => r'katumbas'; + + @override + String get fromDataGridFilteringLabel => r'Mula sa'; + + @override + String get greaterThanDataGridFilteringLabel => r'Mahigit sa'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Higit sa O Katumbas'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Mas mababa sa'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => + r'Mas Mababa sa O Katumbas'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'Walang mga kaganapan'; + @override + String get noMatchesDataGridFilteringLabel => r'Walang tugma'; + @override String get noSelectedDateCalendarLabel => r'Walang napiling petsa'; + @override + String get notEmptyDataGridFilteringLabel => r'Hindi Walang laman'; + + @override + String get notNullDataGridFilteringLabel => r'Hindi Null'; + + @override + String get nullDataGridFilteringLabel => r'Wala'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Mga Filter ng Numero'; + @override String get ofDataPagerLabel => r'ng'; + @override + String get okDataGridFilteringLabel => r'OK'; + + @override + String get orDataGridFilteringLabel => r'O kaya'; + @override String get pagesDataPagerLabel => r'mga pahina'; @@ -13484,6 +22055,12 @@ class SfLocalizationsTl extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Maghanap'; + + @override + String get selectAllDataGridFilteringLabel => r'Piliin lahat'; + @override String get series => r'Serye'; @@ -13529,6 +22106,40 @@ class SfLocalizationsTl extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => + r'Ipakita ang mga hilera kung saan'; + + @override + String get sortAToZDataGridFilteringLabel => r'Pagbukud-bukurin A hanggang Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => + r'Pagbukud-bukurin at Salain'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Pagbukud-bukurin ang Pinakamalaki Hanggang Pinakamaliit'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Pagbukud-bukurin ang Pinakabago Hanggang sa Pinakaluma'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Pagbukud-bukurin ang Pinakamatanda Hanggang Pinakabago'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Pagbukud-bukurin ang Pinakamaliit Hanggang Pinakamalaki'; + + @override + String get sortZToADataGridFilteringLabel => + r'Pagbukud-bukurin ang Z Hanggang A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Mga Filter ng Teksto'; + @override String get todayLabel => r'Ngayong araw'; @@ -13545,6 +22156,12 @@ class SfLocalizationsTr extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Sonrasında'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Sonra Veya Eşittir'; + @override String get allDayLabel => r'Tüm gün'; @@ -13576,6 +22193,30 @@ class SfLocalizationsTr extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Çalışma haftası'; + @override + String get andDataGridFilteringLabel => r'Ve'; + + @override + String get beforeDataGridFilteringLabel => r'Önce veya Eşit'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Önceki'; + + @override + String get beginsWithDataGridFilteringLabel => r'İle başlar'; + + @override + String get cancelDataGridFilteringLabel => r'İptal'; + + @override + String get clearFilterDataGridFilteringLabel => r'Temiz filtre'; + + @override + String get containsDataGridFilteringLabel => r'içerir'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Tarih Filtreleri'; + @override String get daySpanCountLabel => r'Gün'; @@ -13583,14 +22224,51 @@ class SfLocalizationsTr extends SfGlobalLocalizations { String get dhualhiLabel => r'Zilhicce'; @override - String get dhualqiLabel => r'Zil Qi' "'" r'dah'; + String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + + @override + String get doesNotBeginWithDataGridFilteringLabel => r'İle Başlamıyor'; + + @override + String get doesNotContainDataGridFilteringLabel => r'İçermiyor'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'ile bitmiyor'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Eşit değil'; + + @override + String get emptyDataGridFilteringLabel => r'Boş'; + + @override + String get endsWithDataGridFilteringLabel => r'ile biter'; + + @override + String get equalsDataGridFilteringLabel => r'eşittir'; + + @override + String get fromDataGridFilteringLabel => r'İtibaren'; + + @override + String get greaterThanDataGridFilteringLabel => r'Daha büyük'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'Büyüktür veya Eşittir'; @override - String get jumada1Label => r'Cumada el-evvel'; + String get jumada1Label => r'Jumada al-evvel'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Daha az'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Az veya eşit'; + @override String get muharramLabel => r'Muharrem'; @@ -13598,10 +22276,31 @@ class SfLocalizationsTr extends SfGlobalLocalizations { String get noEventsCalendarLabel => r'Olay yok'; @override - String get noSelectedDateCalendarLabel => r'Seçili tarih yok'; + String get noMatchesDataGridFilteringLabel => r'Eşleşme yok'; + + @override + String get noSelectedDateCalendarLabel => r'tarih seçilmedi'; + + @override + String get notEmptyDataGridFilteringLabel => r'Boş değil'; + + @override + String get notNullDataGridFilteringLabel => r'Geçersiz değil'; + + @override + String get nullDataGridFilteringLabel => r'Hükümsüz'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Sayı Filtreleri'; + + @override + String get ofDataPagerLabel => r'nın-nin'; + + @override + String get okDataGridFilteringLabel => r'TAMAM'; @override - String get ofDataPagerLabel => r'ile ilgili'; + String get orDataGridFilteringLabel => r'Veya'; @override String get pagesDataPagerLabel => r'sayfalar'; @@ -13614,7 +22313,7 @@ class SfLocalizationsTr extends SfGlobalLocalizations { String get passwordDialogHeaderTextLabel => r'Şifre korumalı'; @override - String get passwordDialogHintTextLabel => r'Parolanı Gir'; + String get passwordDialogHintTextLabel => r'Şifre girin'; @override String get passwordDialogInvalidPasswordLabel => r'geçersiz şifre'; @@ -13623,16 +22322,17 @@ class SfLocalizationsTr extends SfGlobalLocalizations { String get pdfBookmarksLabel => r'Yer imleri'; @override - String get pdfEnterPageNumberLabel => r'Sayfa numarasını girin'; + String get pdfEnterPageNumberLabel => r'sayfa numarasını girin'; @override String get pdfGoToPageLabel => r'Sayfaya git'; @override - String get pdfHyperlinkContentLabel => r'Sayfayı açmak ister misin?'; + String get pdfHyperlinkContentLabel => + r'Sayfayı şu adreste açmak istiyor musunuz?'; @override - String get pdfHyperlinkDialogCancelLabel => r'İPTAL ET'; + String get pdfHyperlinkDialogCancelLabel => r'İPTAL ETMEK'; @override String get pdfHyperlinkDialogOpenLabel => r'AÇIK'; @@ -13641,7 +22341,7 @@ class SfLocalizationsTr extends SfGlobalLocalizations { String get pdfHyperlinkLabel => r'Web Sayfasını Aç'; @override - String get pdfInvalidPageNumberLabel => r'Lütfen geçerli bir numara girin'; + String get pdfInvalidPageNumberLabel => r'Lütfen geçerli bir sayı girin'; @override String get pdfNoBookmarksLabel => r'Yer işareti bulunamadı'; @@ -13650,7 +22350,7 @@ class SfLocalizationsTr extends SfGlobalLocalizations { String get pdfPaginationDialogCancelLabel => r'İPTAL ETMEK'; @override - String get pdfPaginationDialogOkLabel => r'Tamam'; + String get pdfPaginationDialogOkLabel => r'TAMAM'; @override String get pdfPasswordDialogCancelLabel => r'İPTAL ETMEK'; @@ -13659,10 +22359,10 @@ class SfLocalizationsTr extends SfGlobalLocalizations { String get pdfPasswordDialogOpenLabel => r'AÇIK'; @override - String get pdfScrollStatusOfLabel => r'ile ilgili'; + String get pdfScrollStatusOfLabel => r'nın-nin'; @override - String get rabi1Label => r'Rebiülevvel'; + String get rabi1Label => r'Rabi' "'" r'ul-evvel'; @override String get rabi2Label => r'Rabi' "'" r' al-thani'; @@ -13674,13 +22374,19 @@ class SfLocalizationsTr extends SfGlobalLocalizations { String get ramadanLabel => r'Ramazan'; @override - String get rowsPerPageDataPagerLabel => r'Sayfa başına satır sayısı'; + String get rowsPerPageDataPagerLabel => r'Sayfa başına satır'; @override - String get safarLabel => r'Safar'; + String get safarLabel => r'safar'; @override - String get series => r'Seri'; + String get searchDataGridFilteringLabel => r'Arama'; + + @override + String get selectAllDataGridFilteringLabel => r'Hepsini seç'; + + @override + String get series => r'Diziler'; @override String get shaabanLabel => r'Şaban'; @@ -13692,22 +22398,22 @@ class SfLocalizationsTr extends SfGlobalLocalizations { String get shortDhualhiLabel => r'Zül-H'; @override - String get shortDhualqiLabel => r'Zil-Q'; + String get shortDhualqiLabel => r'Zül-Q'; @override - String get shortJumada1Label => r'Jum. i'; + String get shortJumada1Label => r'Cuma. ben'; @override - String get shortJumada2Label => r'Jum. II'; + String get shortJumada2Label => r'Cuma. III'; @override - String get shortMuharramLabel => r'Müh.'; + String get shortMuharramLabel => r'Muh.'; @override - String get shortRabi1Label => r'Rabi. i'; + String get shortRabi1Label => r'Rabi. ben'; @override - String get shortRabi2Label => r'Rabi. II'; + String get shortRabi2Label => r'Rabi. III'; @override String get shortRajabLabel => r'Raj.'; @@ -13719,11 +22425,44 @@ class SfLocalizationsTr extends SfGlobalLocalizations { String get shortSafarLabel => r'Saf.'; @override - String get shortShaabanLabel => r'Sha.'; + String get shortShaabanLabel => r'Şa.'; @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'satırları göster'; + + @override + String get sortAToZDataGridFilteringLabel => + r'A' "'" r'dan Z' "'" r'ye Sırala'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Sırala ve Filtrele'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Büyükten Küçüğe Sırala'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Yeniden En Eskiye Sırala'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Eskiden Yeniye Sırala'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Küçükten Büyüğe Sırala'; + + @override + String get sortZToADataGridFilteringLabel => + r'Z' "'" r'den A' "'" r'ya Sırala'; + + @override + String get textFiltersDataGridFilteringLabel => r'Metin Filtreleri'; + @override String get todayLabel => r'Bugün'; @@ -13740,6 +22479,12 @@ class SfLocalizationsUk extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'після'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Після або дорівнює'; + @override String get allDayLabel => r'Весь день'; @@ -13747,28 +22492,52 @@ class SfLocalizationsUk extends SfGlobalLocalizations { String get allowedViewDayLabel => r'День'; @override - String get allowedViewMonthLabel => r'Місяць'; + String get allowedViewMonthLabel => r'місяць'; @override - String get allowedViewScheduleLabel => r'Розклад'; + String get allowedViewScheduleLabel => r'розклад'; @override String get allowedViewTimelineDayLabel => r'День хронології'; @override - String get allowedViewTimelineMonthLabel => r'Хронологічний місяць'; + String get allowedViewTimelineMonthLabel => r'Місяць хронології'; @override String get allowedViewTimelineWeekLabel => r'Тиждень хронології'; @override - String get allowedViewTimelineWorkWeekLabel => r'Розклад робочого тижня'; + String get allowedViewTimelineWorkWeekLabel => r'Графік робочого тижня'; @override String get allowedViewWeekLabel => r'тиждень'; @override - String get allowedViewWorkWeekLabel => r'Робочий тиждень'; + String get allowedViewWorkWeekLabel => r'робочий тиждень'; + + @override + String get andDataGridFilteringLabel => r'І'; + + @override + String get beforeDataGridFilteringLabel => r'До або дорівнює'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Раніше'; + + @override + String get beginsWithDataGridFilteringLabel => r'Починається з'; + + @override + String get cancelDataGridFilteringLabel => r'Скасувати'; + + @override + String get clearFilterDataGridFilteringLabel => r'Очистити фільтр'; + + @override + String get containsDataGridFilteringLabel => r'Містить'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Фільтри дати'; @override String get daySpanCountLabel => r'День'; @@ -13779,30 +22548,88 @@ class SfLocalizationsUk extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Зу аль-Кіда'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Не починається з'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Не містить'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Не закінчується'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Не дорівнює'; + + @override + String get emptyDataGridFilteringLabel => r'Порожній'; + + @override + String get endsWithDataGridFilteringLabel => r'Закінчується на'; + + @override + String get equalsDataGridFilteringLabel => r'Дорівнює'; + + @override + String get fromDataGridFilteringLabel => r'Від'; + + @override + String get greaterThanDataGridFilteringLabel => + r'Більше, ніж, величніше ніж, крутіший за'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Більше або дорівнює'; + @override String get jumada1Label => r'Джумада аль-авваль'; @override - String get jumada2Label => r'Джумада аль-Тані'; + String get jumada2Label => r'Джумада аль-тані'; + + @override + String get lessThanDataGridFilteringLabel => r'Менше ніж'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Менше або дорівнює'; + + @override + String get muharramLabel => r'Мухаррам'; + + @override + String get noEventsCalendarLabel => r'Подій немає'; + + @override + String get noMatchesDataGridFilteringLabel => r'Немає збігів'; + + @override + String get noSelectedDateCalendarLabel => r'Дата не вибрана'; + + @override + String get notEmptyDataGridFilteringLabel => r'Не порожній'; + + @override + String get notNullDataGridFilteringLabel => r'Не Null'; + + @override + String get nullDataGridFilteringLabel => r'Нуль'; @override - String get muharramLabel => r'Мухаррам'; + String get numberFiltersDataGridFilteringLabel => r'Числові фільтри'; @override - String get noEventsCalendarLabel => r'Жодних подій'; + String get ofDataPagerLabel => r'з'; @override - String get noSelectedDateCalendarLabel => r'Немає вибраної дати'; + String get okDataGridFilteringLabel => r'в порядку'; @override - String get ofDataPagerLabel => r'з'; + String get orDataGridFilteringLabel => r'Або'; @override String get pagesDataPagerLabel => r'сторінки'; @override String get passwordDialogContentLabel => - r'Введіть пароль, щоб відкрити цей PDF-файл'; + r'Введіть пароль, щоб відкрити цей файл PDF'; @override String get passwordDialogHeaderTextLabel => r'Захищено паролем'; @@ -13811,7 +22638,7 @@ class SfLocalizationsUk extends SfGlobalLocalizations { String get passwordDialogHintTextLabel => r'Введіть пароль'; @override - String get passwordDialogInvalidPasswordLabel => r'Недійсний пароль'; + String get passwordDialogInvalidPasswordLabel => r'Невірний пароль'; @override String get pdfBookmarksLabel => r'Закладки'; @@ -13823,8 +22650,7 @@ class SfLocalizationsUk extends SfGlobalLocalizations { String get pdfGoToPageLabel => r'Перейти на сторінку'; @override - String get pdfHyperlinkContentLabel => - r'Бажаєте відкрити сторінку за адресою'; + String get pdfHyperlinkContentLabel => r'Хочете відкрити сторінку за адресою'; @override String get pdfHyperlinkDialogCancelLabel => r'СКАСУВАТИ'; @@ -13833,10 +22659,10 @@ class SfLocalizationsUk extends SfGlobalLocalizations { String get pdfHyperlinkDialogOpenLabel => r'ВІДЧИНЕНО'; @override - String get pdfHyperlinkLabel => r'Відкрийте веб-сторінку'; + String get pdfHyperlinkLabel => r'Відкрити веб-сторінку'; @override - String get pdfInvalidPageNumberLabel => r'Введіть дійсне число'; + String get pdfInvalidPageNumberLabel => r'Введіть дійсний номер'; @override String get pdfNoBookmarksLabel => r'Закладок не знайдено'; @@ -13845,7 +22671,7 @@ class SfLocalizationsUk extends SfGlobalLocalizations { String get pdfPaginationDialogCancelLabel => r'СКАСУВАТИ'; @override - String get pdfPaginationDialogOkLabel => r'гаразд'; + String get pdfPaginationDialogOkLabel => r'в порядку'; @override String get pdfPasswordDialogCancelLabel => r'СКАСУВАТИ'; @@ -13860,7 +22686,7 @@ class SfLocalizationsUk extends SfGlobalLocalizations { String get rabi1Label => r'Рабі аль-авваль'; @override - String get rabi2Label => r'Рабі аль-Тані'; + String get rabi2Label => r'Рабі аль-тані'; @override String get rajabLabel => r'Раджаб'; @@ -13874,6 +22700,12 @@ class SfLocalizationsUk extends SfGlobalLocalizations { @override String get safarLabel => r'Сафар'; + @override + String get searchDataGridFilteringLabel => r'Пошук'; + + @override + String get selectAllDataGridFilteringLabel => r'Вибрати все'; + @override String get series => r'Серія'; @@ -13881,22 +22713,22 @@ class SfLocalizationsUk extends SfGlobalLocalizations { String get shaabanLabel => r'Шаабан'; @override - String get shawwalLabel => r'Shawwal'; + String get shawwalLabel => r'Шавваль'; @override - String get shortDhualhiLabel => r'Dhu' "'" r'l-H'; + String get shortDhualhiLabel => r'Зу' "'" r'л-Х'; @override - String get shortDhualqiLabel => r'Dhu' "'" r'l-Q'; + String get shortDhualqiLabel => r'Зу' "'" r'л-К' "'" r'ю'; @override - String get shortJumada1Label => r'Jum. я'; + String get shortJumada1Label => r'стрибати я'; @override - String get shortJumada2Label => r'Jum. II'; + String get shortJumada2Label => r'стрибати II'; @override - String get shortMuharramLabel => r'Мух'; + String get shortMuharramLabel => r'мух'; @override String get shortRabi1Label => r'Рабі. я'; @@ -13911,7 +22743,7 @@ class SfLocalizationsUk extends SfGlobalLocalizations { String get shortRamadanLabel => r'ОЗП.'; @override - String get shortSafarLabel => r'Saf.'; + String get shortSafarLabel => r'Саф.'; @override String get shortShaabanLabel => r'Ша.'; @@ -13919,6 +22751,37 @@ class SfLocalizationsUk extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Шоу.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Показати рядки, де'; + + @override + String get sortAToZDataGridFilteringLabel => r'Сортування від А до Я'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Сортування та фільтр'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Сортування від найбільшого до найменшого'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Сортування від найновіших до найстаріших'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Сортувати від найстарішого до найновішого'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Сортування від найменшого до найбільшого'; + + @override + String get sortZToADataGridFilteringLabel => r'Сортувати від Я до А'; + + @override + String get textFiltersDataGridFilteringLabel => r'Текстові фільтри'; + @override String get todayLabel => r'Сьогодні'; @@ -13935,6 +22798,12 @@ class SfLocalizationsUr extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'کے بعد'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'کے بعد یا برابر'; + @override String get allDayLabel => r'تمام دن'; @@ -13965,6 +22834,30 @@ class SfLocalizationsUr extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'کام کا ہفتہ'; + @override + String get andDataGridFilteringLabel => r'اور'; + + @override + String get beforeDataGridFilteringLabel => r'پہلے یا برابر'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'اس سے پہلے'; + + @override + String get beginsWithDataGridFilteringLabel => r'سے شروع ہوتا ہے۔'; + + @override + String get cancelDataGridFilteringLabel => r'منسوخ کریں۔'; + + @override + String get clearFilterDataGridFilteringLabel => r'فلٹر صاف کریں۔'; + + @override + String get containsDataGridFilteringLabel => r'مشتمل'; + + @override + String get dateFiltersDataGridFilteringLabel => r'تاریخ کے فلٹرز'; + @override String get daySpanCountLabel => r'دن'; @@ -13974,23 +22867,80 @@ class SfLocalizationsUr extends SfGlobalLocalizations { @override String get dhualqiLabel => r'ذی القعدہ'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'سے شروع نہیں ہوتا'; + + @override + String get doesNotContainDataGridFilteringLabel => r'پر مشتمل نہیں ہے۔'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'کے ساتھ ختم نہیں ہوتا'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'برابر نہیں ہے۔'; + + @override + String get emptyDataGridFilteringLabel => r'خالی'; + + @override + String get endsWithDataGridFilteringLabel => r'کے ساتھ ختم ہوتا ہے۔'; + + @override + String get equalsDataGridFilteringLabel => r'برابر ہے۔'; + + @override + String get fromDataGridFilteringLabel => r'سے'; + + @override + String get greaterThanDataGridFilteringLabel => r'اس سے بڑا'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'اس سے بڑا یا برابر'; + @override String get jumada1Label => r'جمادی الاول'; @override String get jumada2Label => r'جمعۃ الثانی'; + @override + String get lessThanDataGridFilteringLabel => r'سے کم'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'اس سے کم یا برابر'; + @override String get muharramLabel => r'محرم ۔۔۔'; @override String get noEventsCalendarLabel => r'کوئی واقعات نہیں۔'; + @override + String get noMatchesDataGridFilteringLabel => r'کوئی میچ نہیں'; + @override String get noSelectedDateCalendarLabel => r'کوئی تاریخ منتخب نہیں ہے۔'; @override - String get ofDataPagerLabel => r'کا'; + String get notEmptyDataGridFilteringLabel => r'خالی نہیں۔'; + + @override + String get notNullDataGridFilteringLabel => r'کالعدم نہیں۔'; + + @override + String get nullDataGridFilteringLabel => r'خالی'; + + @override + String get numberFiltersDataGridFilteringLabel => r'نمبر فلٹرز'; + + @override + String get ofDataPagerLabel => r'کی'; + + @override + String get okDataGridFilteringLabel => r'ٹھیک ہے'; + + @override + String get orDataGridFilteringLabel => r'یا'; @override String get pagesDataPagerLabel => r'صفحات'; @@ -14024,7 +22974,7 @@ class SfLocalizationsUr extends SfGlobalLocalizations { String get pdfHyperlinkDialogCancelLabel => r'منسوخ کریں۔'; @override - String get pdfHyperlinkDialogOpenLabel => r'کھولیں'; + String get pdfHyperlinkDialogOpenLabel => r'کھولیں۔'; @override String get pdfHyperlinkLabel => r'ویب صفحہ کھولیں۔'; @@ -14046,10 +22996,10 @@ class SfLocalizationsUr extends SfGlobalLocalizations { String get pdfPasswordDialogCancelLabel => r'منسوخ کریں۔'; @override - String get pdfPasswordDialogOpenLabel => r'کھولیں'; + String get pdfPasswordDialogOpenLabel => r'کھولیں۔'; @override - String get pdfScrollStatusOfLabel => r'کا'; + String get pdfScrollStatusOfLabel => r'کی'; @override String get rabi1Label => r'ربیع الاول'; @@ -14069,6 +23019,12 @@ class SfLocalizationsUr extends SfGlobalLocalizations { @override String get safarLabel => r'صفر'; + @override + String get searchDataGridFilteringLabel => r'تلاش کریں۔'; + + @override + String get selectAllDataGridFilteringLabel => r'تمام منتخب کریں'; + @override String get series => r'سلسلہ'; @@ -14114,6 +23070,37 @@ class SfLocalizationsUr extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'شا'; + @override + String get showRowsWhereDataGridFilteringLabel => r'قطاریں دکھائیں جہاں'; + + @override + String get sortAToZDataGridFilteringLabel => r'A سے Z ترتیب دیں۔'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'ترتیب دیں اور فلٹر کریں۔'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'چھانٹیں بڑے سے چھوٹے'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'تازہ ترین سے قدیم ترین ترتیب دیں۔'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'سب سے قدیم سے تازہ ترین ترتیب دیں۔'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'چھانٹیں سب سے چھوٹی سے بڑی'; + + @override + String get sortZToADataGridFilteringLabel => r'Z سے ​​A ترتیب دیں۔'; + + @override + String get textFiltersDataGridFilteringLabel => r'ٹیکسٹ فلٹرز'; + @override String get todayLabel => r'آج'; @@ -14130,6 +23117,12 @@ class SfLocalizationsUz extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Keyin'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Keyin yoki teng'; + @override String get allDayLabel => r'Butun kun'; @@ -14160,6 +23153,30 @@ class SfLocalizationsUz extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Ish haftasi'; + @override + String get andDataGridFilteringLabel => r'Va'; + + @override + String get beforeDataGridFilteringLabel => r'Oldin yoki teng'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Oldin'; + + @override + String get beginsWithDataGridFilteringLabel => r'Bilan boshlanadi'; + + @override + String get cancelDataGridFilteringLabel => r'Bekor qilish'; + + @override + String get clearFilterDataGridFilteringLabel => r'Filtrni tozalash'; + + @override + String get containsDataGridFilteringLabel => r'Tarkibida'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Sana filtrlari'; + @override String get daySpanCountLabel => r'kun'; @@ -14169,24 +23186,81 @@ class SfLocalizationsUz extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Zulqida'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Bilan boshlanmaydi'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Tarkibiga kirmaydi'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Bilan tugamaydi'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Teng emas'; + + @override + String get emptyDataGridFilteringLabel => r'Bo' "'" r'sh'; + + @override + String get endsWithDataGridFilteringLabel => r'Bilan tugaydi'; + + @override + String get equalsDataGridFilteringLabel => r'Teng'; + + @override + String get fromDataGridFilteringLabel => r'Kimdan'; + + @override + String get greaterThanDataGridFilteringLabel => r'Kattaroq'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Kattaroq yoki teng'; + @override String get jumada1Label => r'Jumada ul-avval'; @override String get jumada2Label => r'Jumada al-Tani'; + @override + String get lessThanDataGridFilteringLabel => r'Kamroq'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Kichik yoki teng'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'Voqea yoʻq'; + @override + String get noMatchesDataGridFilteringLabel => r'Mos kelmaydi'; + @override String get noSelectedDateCalendarLabel => r'Tanlangan sana yo‘q'; + @override + String get notEmptyDataGridFilteringLabel => r'Bo' "'" r'sh emas'; + + @override + String get notNullDataGridFilteringLabel => r'Null emas'; + + @override + String get nullDataGridFilteringLabel => r'Null'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Raqamli filtrlar'; + @override String get ofDataPagerLabel => r'ning'; + @override + String get okDataGridFilteringLabel => r'OK'; + + @override + String get orDataGridFilteringLabel => r'Yoki'; + @override String get pagesDataPagerLabel => r'sahifalar'; @@ -14263,6 +23337,12 @@ class SfLocalizationsUz extends SfGlobalLocalizations { @override String get safarLabel => r'Safar'; + @override + String get searchDataGridFilteringLabel => r'Qidirmoq'; + + @override + String get selectAllDataGridFilteringLabel => r'Hammasini belgilash'; + @override String get series => r'Seriya'; @@ -14308,6 +23388,38 @@ class SfLocalizationsUz extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shou.'; + @override + String get showRowsWhereDataGridFilteringLabel => + r'Qaerda qatorlarni ko' "'" r'rsatish'; + + @override + String get sortAToZDataGridFilteringLabel => r'A dan Z gacha tartiblang'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Saralash va filtrlash'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Eng kattadan kichikga saralash'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Eng yangidan eng eskiga saralash'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Eng eskidan eng yangisiga saralash'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Eng kichikdan kattaga saralash'; + + @override + String get sortZToADataGridFilteringLabel => r'Z dan A ga tartiblang'; + + @override + String get textFiltersDataGridFilteringLabel => r'Matn filtrlari'; + @override String get todayLabel => r'Bugun'; @@ -14324,6 +23436,12 @@ class SfLocalizationsVi extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Sau'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Sau Hoặc Bằng'; + @override String get allDayLabel => r'Cả ngày'; @@ -14337,17 +23455,17 @@ class SfLocalizationsVi extends SfGlobalLocalizations { String get allowedViewScheduleLabel => r'Lịch trình'; @override - String get allowedViewTimelineDayLabel => r'Ngày dòng thời gian'; + String get allowedViewTimelineDayLabel => r'Dòng thời gian ngày'; @override String get allowedViewTimelineMonthLabel => r'Dòng thời gian Tháng'; @override - String get allowedViewTimelineWeekLabel => r'Dòng thời gian trong tuần'; + String get allowedViewTimelineWeekLabel => r'Dòng thời gian Tuần'; @override String get allowedViewTimelineWorkWeekLabel => - r'Dòng thời gian làm việc trong tuần'; + r'Thời gian biểu Tuần làm việc'; @override String get allowedViewWeekLabel => r'Tuần'; @@ -14355,6 +23473,30 @@ class SfLocalizationsVi extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Tuần làm việc'; + @override + String get andDataGridFilteringLabel => r'Và'; + + @override + String get beforeDataGridFilteringLabel => r'Trước Hoặc Bằng'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Trước'; + + @override + String get beginsWithDataGridFilteringLabel => r'Bắt đầu với'; + + @override + String get cancelDataGridFilteringLabel => r'Hủy bỏ'; + + @override + String get clearFilterDataGridFilteringLabel => r'LÀm sạch bộ lọc'; + + @override + String get containsDataGridFilteringLabel => r'Chứa'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Bộ lọc ngày'; + @override String get daySpanCountLabel => r'Ngày'; @@ -14365,22 +23507,79 @@ class SfLocalizationsVi extends SfGlobalLocalizations { String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; @override - String get jumada1Label => r'Jumada al-awwal'; + String get doesNotBeginWithDataGridFilteringLabel => r'không bắt đầu bằng'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Không chứa'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'không kết thúc với'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'không bằng'; + + @override + String get emptyDataGridFilteringLabel => r'Trống rỗng'; + + @override + String get endsWithDataGridFilteringLabel => r'kết thúc với'; + + @override + String get equalsDataGridFilteringLabel => r'bằng'; + + @override + String get fromDataGridFilteringLabel => r'Từ'; + + @override + String get greaterThanDataGridFilteringLabel => r'Lớn hơn'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'Lớn hơn hoặc bằng'; + + @override + String get jumada1Label => r'Jumada al-awwal'; + + @override + String get jumada2Label => r'Jumada al-thani'; + + @override + String get lessThanDataGridFilteringLabel => r'Ít hơn'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'Nhỏ hơn hoặc bằng'; + + @override + String get muharramLabel => r'Muharram'; + + @override + String get noEventsCalendarLabel => r'Không có sự kiện'; + + @override + String get noMatchesDataGridFilteringLabel => r'Không có trận đấu'; + + @override + String get noSelectedDateCalendarLabel => r'Không có ngày được chọn'; + + @override + String get notEmptyDataGridFilteringLabel => r'Không trống'; + + @override + String get notNullDataGridFilteringLabel => r'Có giá trị'; @override - String get jumada2Label => r'Jumada al-thani'; + String get nullDataGridFilteringLabel => r'Vô giá trị'; @override - String get muharramLabel => r'Muharram'; + String get numberFiltersDataGridFilteringLabel => r'Bộ lọc số'; @override - String get noEventsCalendarLabel => r'Không có sự kiện'; + String get ofDataPagerLabel => r'của'; @override - String get noSelectedDateCalendarLabel => r'Không có ngày được chọn'; + String get okDataGridFilteringLabel => r'ĐƯỢC RỒI'; @override - String get ofDataPagerLabel => r'của'; + String get orDataGridFilteringLabel => r'Hoặc'; @override String get pagesDataPagerLabel => r'trang'; @@ -14407,7 +23606,7 @@ class SfLocalizationsVi extends SfGlobalLocalizations { String get pdfGoToPageLabel => r'Đi tới trang'; @override - String get pdfHyperlinkContentLabel => r'Bạn có muốn mở trang này tại'; + String get pdfHyperlinkContentLabel => r'Bạn có muốn mở trang tại'; @override String get pdfHyperlinkDialogCancelLabel => r'SỰ HỦY BỎ'; @@ -14422,13 +23621,13 @@ class SfLocalizationsVi extends SfGlobalLocalizations { String get pdfInvalidPageNumberLabel => r'Vui lòng nhập một số hợp lệ'; @override - String get pdfNoBookmarksLabel => r'Không tìm thấy dấu trang'; + String get pdfNoBookmarksLabel => r'Không tìm thấy dấu trang nào'; @override String get pdfPaginationDialogCancelLabel => r'SỰ HỦY BỎ'; @override - String get pdfPaginationDialogOkLabel => r'VÂNG'; + String get pdfPaginationDialogOkLabel => r'ĐƯỢC RỒI'; @override String get pdfPasswordDialogCancelLabel => r'SỰ HỦY BỎ'; @@ -14440,25 +23639,31 @@ class SfLocalizationsVi extends SfGlobalLocalizations { String get pdfScrollStatusOfLabel => r'của'; @override - String get rabi1Label => r'Rabi ' "'" r'al-awwal'; + String get rabi1Label => r'Rabi' "'" r' al-awwal'; @override - String get rabi2Label => r'Rabi ' "'" r'al-thani'; + String get rabi2Label => r'Rabi' "'" r' al-thani'; @override String get rajabLabel => r'Rajab'; @override - String get ramadanLabel => r'Ramadan'; + String get ramadanLabel => r'lễ ramadan'; @override String get rowsPerPageDataPagerLabel => r'Hàng trên mỗi trang'; @override - String get safarLabel => r'Safar'; + String get safarLabel => r'safar'; + + @override + String get searchDataGridFilteringLabel => r'Tìm kiếm'; + + @override + String get selectAllDataGridFilteringLabel => r'Chọn tất cả'; @override - String get series => r'Hàng loạt'; + String get series => r'Loạt'; @override String get shaabanLabel => r'Sha' "'" r'aban'; @@ -14473,16 +23678,16 @@ class SfLocalizationsVi extends SfGlobalLocalizations { String get shortDhualqiLabel => r'Dhu' "'" r'l-Q'; @override - String get shortJumada1Label => r'Jum. tôi'; + String get shortJumada1Label => r'Jum. Tôi'; @override String get shortJumada2Label => r'Jum. II'; @override - String get shortMuharramLabel => r'Ờ.'; + String get shortMuharramLabel => r'ừm.'; @override - String get shortRabi1Label => r'Rabi. tôi'; + String get shortRabi1Label => r'Rabi. Tôi'; @override String get shortRabi2Label => r'Rabi. II'; @@ -14491,10 +23696,10 @@ class SfLocalizationsVi extends SfGlobalLocalizations { String get shortRajabLabel => r'Raj.'; @override - String get shortRamadanLabel => r'Ram.'; + String get shortRamadanLabel => r'Đập.'; @override - String get shortSafarLabel => r'Két sắt.'; + String get shortSafarLabel => r'an toàn.'; @override String get shortShaabanLabel => r'Sha.'; @@ -14502,6 +23707,37 @@ class SfLocalizationsVi extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Hiển thị các hàng ở đâu'; + + @override + String get sortAToZDataGridFilteringLabel => r'Sắp xếp từ A đến Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Sắp xếp và lọc'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Sắp xếp lớn nhất đến nhỏ nhất'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Sắp xếp mới nhất đến cũ nhất'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Sắp xếp Cũ nhất đến Mới nhất'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Sắp xếp từ nhỏ nhất đến lớn nhất'; + + @override + String get sortZToADataGridFilteringLabel => r'Sắp xếp từ Z đến A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Bộ lọc văn bản'; + @override String get todayLabel => r'Hôm nay'; @@ -14518,11 +23754,17 @@ class SfLocalizationsZh extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'后'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'等于或之后'; + @override String get allDayLabel => r'一整天'; @override - String get allowedViewDayLabel => r'日'; + String get allowedViewDayLabel => r'天'; @override String get allowedViewMonthLabel => r'月'; @@ -14531,10 +23773,10 @@ class SfLocalizationsZh extends SfGlobalLocalizations { String get allowedViewScheduleLabel => r'日程'; @override - String get allowedViewTimelineDayLabel => r'时间表日'; + String get allowedViewTimelineDayLabel => r'时间轴日'; @override - String get allowedViewTimelineMonthLabel => r'时间线月份'; + String get allowedViewTimelineMonthLabel => r'时间表月份'; @override String get allowedViewTimelineWeekLabel => r'时间线周'; @@ -14549,37 +23791,118 @@ class SfLocalizationsZh extends SfGlobalLocalizations { String get allowedViewWorkWeekLabel => r'工作周'; @override - String get daySpanCountLabel => r'日'; + String get andDataGridFilteringLabel => r'和'; + + @override + String get beforeDataGridFilteringLabel => r'早于或等于'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'前'; + + @override + String get beginsWithDataGridFilteringLabel => r'开始于'; + + @override + String get cancelDataGridFilteringLabel => r'取消'; + + @override + String get clearFilterDataGridFilteringLabel => r'清除过滤器'; + + @override + String get containsDataGridFilteringLabel => r'包含'; + + @override + String get dateFiltersDataGridFilteringLabel => r'日期过滤器'; + + @override + String get daySpanCountLabel => r'天'; + + @override + String get dhualhiLabel => r'Dhu al-Hijjah'; + + @override + String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + + @override + String get doesNotBeginWithDataGridFilteringLabel => r'不以开头'; @override - String get dhualhiLabel => r'杜哈杰'; + String get doesNotContainDataGridFilteringLabel => r'不含'; @override - String get dhualqiLabel => r'杜阿尔-基达'; + String get doesNotEndWithDataGridFilteringLabel => r'不结束于'; @override - String get jumada1Label => r'胡玛达·奥瓦尔'; + String get doesNotEqualDataGridFilteringLabel => r'不等于'; @override - String get jumada2Label => r'朱马达·萨尼'; + String get emptyDataGridFilteringLabel => r'空的'; @override - String get muharramLabel => r'穆哈拉姆'; + String get endsWithDataGridFilteringLabel => r'以。。结束'; @override - String get noEventsCalendarLabel => r'没有事件'; + String get equalsDataGridFilteringLabel => r'等于'; @override - String get noSelectedDateCalendarLabel => r'未选择日期'; + String get fromDataGridFilteringLabel => r'从'; + + @override + String get greaterThanDataGridFilteringLabel => r'比...更棒'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'大于或等于'; + + @override + String get jumada1Label => r'朱马达·阿瓦瓦尔'; + + @override + String get jumada2Label => r'祖玛达·阿萨尼'; + + @override + String get lessThanDataGridFilteringLabel => r'少于'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'小于或等于'; + + @override + String get muharramLabel => r'回历'; + + @override + String get noEventsCalendarLabel => r'没有活动'; + + @override + String get noMatchesDataGridFilteringLabel => r'无匹配'; + + @override + String get noSelectedDateCalendarLabel => r'没有选择日期'; + + @override + String get notEmptyDataGridFilteringLabel => r'不是空的'; + + @override + String get notNullDataGridFilteringLabel => r'不为空'; + + @override + String get nullDataGridFilteringLabel => r'无效的'; + + @override + String get numberFiltersDataGridFilteringLabel => r'数字过滤器'; @override String get ofDataPagerLabel => r'的'; @override - String get pagesDataPagerLabel => r'页面'; + String get okDataGridFilteringLabel => r'好的'; + + @override + String get orDataGridFilteringLabel => r'或者'; + + @override + String get pagesDataPagerLabel => r'页数'; @override - String get passwordDialogContentLabel => r'输入密码以打开此 PDF 文件'; + String get passwordDialogContentLabel => r'输入密码打开此 PDF 文件'; @override String get passwordDialogHeaderTextLabel => r'密码保护'; @@ -14600,7 +23923,7 @@ class SfLocalizationsZh extends SfGlobalLocalizations { String get pdfGoToPageLabel => r'转到页面'; @override - String get pdfHyperlinkContentLabel => r'您要在以下位置打开页面吗'; + String get pdfHyperlinkContentLabel => r'你想打开页面吗'; @override String get pdfHyperlinkDialogCancelLabel => r'取消'; @@ -14615,7 +23938,7 @@ class SfLocalizationsZh extends SfGlobalLocalizations { String get pdfInvalidPageNumberLabel => r'请输入有效号码'; @override - String get pdfNoBookmarksLabel => r'未找到书签'; + String get pdfNoBookmarksLabel => r'找不到书签'; @override String get pdfPaginationDialogCancelLabel => r'取消'; @@ -14633,13 +23956,13 @@ class SfLocalizationsZh extends SfGlobalLocalizations { String get pdfScrollStatusOfLabel => r'的'; @override - String get rabi1Label => r'拉比奥瓦尔'; + String get rabi1Label => r'拉比·奥瓦尔'; @override String get rabi2Label => r'拉比阿勒萨尼'; @override - String get rajabLabel => r'拉贾布'; + String get rajabLabel => r'拉杰卜'; @override String get ramadanLabel => r'斋月'; @@ -14650,6 +23973,12 @@ class SfLocalizationsZh extends SfGlobalLocalizations { @override String get safarLabel => r'萨法尔'; + @override + String get searchDataGridFilteringLabel => r'搜索'; + + @override + String get selectAllDataGridFilteringLabel => r'全选'; + @override String get series => r'系列'; @@ -14660,22 +23989,22 @@ class SfLocalizationsZh extends SfGlobalLocalizations { String get shawwalLabel => r'肖瓦尔'; @override - String get shortDhualhiLabel => r'杜尔-H'; + String get shortDhualhiLabel => r'Dhu' "'" r'l-H'; @override - String get shortDhualqiLabel => r'杜尔-Q'; + String get shortDhualqiLabel => r'Dhu' "'" r'l-Q'; @override - String get shortJumada1Label => r'朱姆。一世'; + String get shortJumada1Label => r'滚。我'; @override - String get shortJumada2Label => r'朱姆。二'; + String get shortJumada2Label => r'滚。二'; @override String get shortMuharramLabel => r'嗯。'; @override - String get shortRabi1Label => r'拉比。一世'; + String get shortRabi1Label => r'拉比。我'; @override String get shortRabi2Label => r'拉比。二'; @@ -14695,6 +24024,33 @@ class SfLocalizationsZh extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'肖。'; + @override + String get showRowsWhereDataGridFilteringLabel => r'显示行在哪里'; + + @override + String get sortAToZDataGridFilteringLabel => r'从 A 到 Z 排序'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'排序和过滤'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => r'从大到小排序'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => r'从最新到最旧排序'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => r'从旧到新排序'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => r'从小到大排序'; + + @override + String get sortZToADataGridFilteringLabel => r'将 Z 排序为 A'; + + @override + String get textFiltersDataGridFilteringLabel => r'文本过滤器'; + @override String get todayLabel => r'今天'; @@ -14722,10 +24078,16 @@ class SfLocalizationsZhHant extends SfLocalizationsZh { ); @override - String get allowedViewTimelineDayLabel => r'時間表日'; + String get afterDataGridFilteringLabel => r'後'; @override - String get allowedViewTimelineMonthLabel => r'時間線月份'; + String get afterOrEqualDataGridFilteringLabel => r'等於或之後'; + + @override + String get allowedViewTimelineDayLabel => r'時間軸日'; + + @override + String get allowedViewTimelineMonthLabel => r'時間表月份'; @override String get allowedViewTimelineWeekLabel => r'時間線週'; @@ -14737,28 +24099,76 @@ class SfLocalizationsZhHant extends SfLocalizationsZh { String get allowedViewWorkWeekLabel => r'工作週'; @override - String get dhualhiLabel => r'杜哈傑'; + String get beforeDataGridFilteringLabel => r'早於或等於'; + + @override + String get beginsWithDataGridFilteringLabel => r'開始於'; + + @override + String get clearFilterDataGridFilteringLabel => r'清除過濾器'; @override - String get dhualqiLabel => r'杜阿爾-基達'; + String get dateFiltersDataGridFilteringLabel => r'日期過濾器'; @override - String get jumada1Label => r'胡瑪達·奧瓦爾'; + String get doesNotBeginWithDataGridFilteringLabel => r'不以開頭'; @override - String get jumada2Label => r'朱馬達·薩尼'; + String get doesNotEndWithDataGridFilteringLabel => r'不結束於'; @override - String get noEventsCalendarLabel => r'沒有事件'; + String get doesNotEqualDataGridFilteringLabel => r'不等於'; @override - String get noSelectedDateCalendarLabel => r'未選擇日期'; + String get endsWithDataGridFilteringLabel => r'以。。結束'; @override - String get pagesDataPagerLabel => r'頁面'; + String get equalsDataGridFilteringLabel => r'等於'; @override - String get passwordDialogContentLabel => r'輸入密碼以打開此 PDF 文件'; + String get fromDataGridFilteringLabel => r'從'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => r'大於或等於'; + + @override + String get jumada1Label => r'朱馬達·阿瓦瓦爾'; + + @override + String get jumada2Label => r'祖瑪達·阿薩尼'; + + @override + String get lessThanDataGridFilteringLabel => r'少於'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => r'小於或等於'; + + @override + String get muharramLabel => r'回曆'; + + @override + String get noEventsCalendarLabel => r'沒有活動'; + + @override + String get noMatchesDataGridFilteringLabel => r'無匹配'; + + @override + String get noSelectedDateCalendarLabel => r'沒有選擇日期'; + + @override + String get notNullDataGridFilteringLabel => r'不為空'; + + @override + String get nullDataGridFilteringLabel => r'無效的'; + + @override + String get numberFiltersDataGridFilteringLabel => r'數字過濾器'; + + @override + String get pagesDataPagerLabel => r'頁數'; + + @override + String get passwordDialogContentLabel => r'輸入密碼打開此 PDF 文件'; @override String get passwordDialogHeaderTextLabel => r'密碼保護'; @@ -14779,7 +24189,7 @@ class SfLocalizationsZhHant extends SfLocalizationsZh { String get pdfGoToPageLabel => r'轉到頁面'; @override - String get pdfHyperlinkContentLabel => r'您要在以下位置打開頁面嗎'; + String get pdfHyperlinkContentLabel => r'你想打開頁面嗎'; @override String get pdfHyperlinkDialogOpenLabel => r'打開'; @@ -14791,19 +24201,19 @@ class SfLocalizationsZhHant extends SfLocalizationsZh { String get pdfInvalidPageNumberLabel => r'請輸入有效號碼'; @override - String get pdfNoBookmarksLabel => r'未找到書籤'; + String get pdfNoBookmarksLabel => r'找不到書籤'; @override String get pdfPasswordDialogOpenLabel => r'打開'; @override - String get rabi1Label => r'拉比奧瓦爾'; + String get rabi1Label => r'拉比·奧瓦爾'; @override String get rabi2Label => r'拉比阿勒薩尼'; @override - String get rajabLabel => r'拉賈布'; + String get rajabLabel => r'拉傑卜'; @override String get ramadanLabel => r'齋月'; @@ -14814,17 +24224,47 @@ class SfLocalizationsZhHant extends SfLocalizationsZh { @override String get safarLabel => r'薩法爾'; + @override + String get selectAllDataGridFilteringLabel => r'全選'; + @override String get shawwalLabel => r'肖瓦爾'; @override - String get shortDhualhiLabel => r'杜爾-H'; + String get shortJumada1Label => r'滾。我'; @override - String get shortDhualqiLabel => r'杜爾-Q'; + String get shortJumada2Label => r'滾。二'; @override String get shortRamadanLabel => r'內存。'; + + @override + String get showRowsWhereDataGridFilteringLabel => r'顯示行在哪裡'; + + @override + String get sortAToZDataGridFilteringLabel => r'從 A 到 Z 排序'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'排序和過濾'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => r'從大到小排序'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => r'從最新到最舊排序'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => r'從舊到新排序'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => r'從小到大排序'; + + @override + String get sortZToADataGridFilteringLabel => r'將 Z 排序為 A'; + + @override + String get textFiltersDataGridFilteringLabel => r'文本過濾器'; } /// The translations for Chinese, as used in Hong Kong, using the Han script (`zh_Hant_HK`). @@ -14856,6 +24296,12 @@ class SfLocalizationsZu extends SfGlobalLocalizations { localeName: localeName, ); + @override + String get afterDataGridFilteringLabel => r'Ngemva'; + + @override + String get afterOrEqualDataGridFilteringLabel => r'Ngemva Noma Ukulingana'; + @override String get allDayLabel => r'Usuku lonke'; @@ -14887,6 +24333,30 @@ class SfLocalizationsZu extends SfGlobalLocalizations { @override String get allowedViewWorkWeekLabel => r'Iviki Lomsebenzi'; + @override + String get andDataGridFilteringLabel => r'Futhi'; + + @override + String get beforeDataGridFilteringLabel => r'Ngaphambi Noma Ukulingana'; + + @override + String get beforeOrEqualDataGridFilteringLabel => r'Ngaphambili'; + + @override + String get beginsWithDataGridFilteringLabel => r'Iqala Nga'; + + @override + String get cancelDataGridFilteringLabel => r'Khansela'; + + @override + String get clearFilterDataGridFilteringLabel => r'Sula Isihlungi'; + + @override + String get containsDataGridFilteringLabel => r'Iqukethe'; + + @override + String get dateFiltersDataGridFilteringLabel => r'Izihlungi Zedethi'; + @override String get daySpanCountLabel => r'Usuku'; @@ -14896,24 +24366,83 @@ class SfLocalizationsZu extends SfGlobalLocalizations { @override String get dhualqiLabel => r'Dhu al-Qi' "'" r'dah'; + @override + String get doesNotBeginWithDataGridFilteringLabel => r'Ayiqali Nge'; + + @override + String get doesNotContainDataGridFilteringLabel => r'Ayiqukethe'; + + @override + String get doesNotEndWithDataGridFilteringLabel => r'Akugcini Nge'; + + @override + String get doesNotEqualDataGridFilteringLabel => r'Ayilingani'; + + @override + String get emptyDataGridFilteringLabel => r'Akunalutho'; + + @override + String get endsWithDataGridFilteringLabel => r'Iphetha Nge'; + + @override + String get equalsDataGridFilteringLabel => r'Kuyalingana'; + + @override + String get fromDataGridFilteringLabel => r'Kusuka'; + + @override + String get greaterThanDataGridFilteringLabel => r'Okukhulu Kunokuthi'; + + @override + String get greaterThanOrEqualDataGridFilteringLabel => + r'Okukhulu Kunokuba Kulinganayo'; + @override String get jumada1Label => r'Jumada al-awwal'; @override String get jumada2Label => r'Jumada al-thani'; + @override + String get lessThanDataGridFilteringLabel => r'Ngaphansi kwe'; + + @override + String get lessThanOrEqualDataGridFilteringLabel => + r'Ngaphansi Kwanoma Kuyalingana'; + @override String get muharramLabel => r'Muharram'; @override String get noEventsCalendarLabel => r'Ayikho imicimbi'; + @override + String get noMatchesDataGridFilteringLabel => r'Akukho okufanayo'; + @override String get noSelectedDateCalendarLabel => r'Ayikho idethi ekhethiwe'; + @override + String get notEmptyDataGridFilteringLabel => r'Akunalutho'; + + @override + String get notNullDataGridFilteringLabel => r'Hhayi Null'; + + @override + String get nullDataGridFilteringLabel => r'Null'; + + @override + String get numberFiltersDataGridFilteringLabel => r'Izihlungi Zezinombolo'; + @override String get ofDataPagerLabel => r'kwe'; + @override + String get okDataGridFilteringLabel => r'KULUNGILE'; + + @override + String get orDataGridFilteringLabel => r'Noma'; + @override String get pagesDataPagerLabel => r'amakhasi'; @@ -14990,6 +24519,12 @@ class SfLocalizationsZu extends SfGlobalLocalizations { @override String get safarLabel => r'I-Safar'; + @override + String get searchDataGridFilteringLabel => r'Sesha'; + + @override + String get selectAllDataGridFilteringLabel => r'Khetha konke'; + @override String get series => r'Uchungechunge'; @@ -15035,6 +24570,37 @@ class SfLocalizationsZu extends SfGlobalLocalizations { @override String get shortShawwalLabel => r'Shaw.'; + @override + String get showRowsWhereDataGridFilteringLabel => r'Bonisa imigqa lapho'; + + @override + String get sortAToZDataGridFilteringLabel => r'Hlunga A ukuya ku-Z'; + + @override + String get sortAndFilterDataGridFilteringLabel => r'Hlunga futhi Hlunga'; + + @override + String get sortLargestToSmallestDataGridFilteringLabel => + r'Hlunga Okukhulu Kuye Kokuncane Kakhulu'; + + @override + String get sortNewestToOldestDataGridFilteringLabel => + r'Hlunga Okusha Kwakudala'; + + @override + String get sortOldestToNewestDataGridFilteringLabel => + r'Hlunga Okudala Kunazo Zonke'; + + @override + String get sortSmallestToLargestDataGridFilteringLabel => + r'Hlunga Okuncane Ukuya Kwekhulu Kakhulu'; + + @override + String get sortZToADataGridFilteringLabel => r'Hlunga u-Z ukuya ku-A'; + + @override + String get textFiltersDataGridFilteringLabel => r'Izihlungi Zombhalo'; + @override String get todayLabel => r'Namuhla'; diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_af.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_af.arb index 597691e4b..54d272e3c 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_af.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_af.arb @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Maak webblad oop", "pdfHyperlinkContentLabel" : "Wil jy die bladsy oopmaak by", "pdfHyperlinkDialogOpenLabel" : "OOP", -"pdfHyperlinkDialogCancelLabel" : "KANSELLEER" +"pdfHyperlinkDialogCancelLabel" : "KANSELLEER", +"afterDataGridFilteringLabel" : "Na", +"afterOrEqualDataGridFilteringLabel" : "Na Of Gelyk", +"beforeDataGridFilteringLabel" : "Voor Of Gelyk", +"beforeOrEqualDataGridFilteringLabel" : "Voorheen", +"beginsWithDataGridFilteringLabel" : "Begin Met", +"containsDataGridFilteringLabel" : "Bevat", +"doesNotBeginWithDataGridFilteringLabel" : "Begin nie met", +"doesNotContainDataGridFilteringLabel" : "Bevat nie", +"doesNotEndWithDataGridFilteringLabel" : "Eindig nie met", +"doesNotEqualDataGridFilteringLabel" : "Is Nie Gelyk nie", +"emptyDataGridFilteringLabel" : "Leeg", +"endsWithDataGridFilteringLabel" : "Eindig met", +"equalsDataGridFilteringLabel" : "Gelyk", +"greaterThanDataGridFilteringLabel" : "Groter as", +"greaterThanOrEqualDataGridFilteringLabel" : "Groter as of gelyk", +"lessThanDataGridFilteringLabel" : "Minder as", +"lessThanOrEqualDataGridFilteringLabel" : "Minder as of gelyk", +"notEmptyDataGridFilteringLabel" : "Nie leeg nie", +"notNullDataGridFilteringLabel" : "Nie Nul nie", +"nullDataGridFilteringLabel" : "Nul", +"sortSmallestToLargestDataGridFilteringLabel" : "Sorteer Kleinste Na Grootste", +"sortLargestToSmallestDataGridFilteringLabel" : "Sorteer Grootste Na Kleinste", +"sortAToZDataGridFilteringLabel" : "Sorteer A tot Z", +"sortZToADataGridFilteringLabel" : "Sorteer Z tot A", +"sortOldestToNewestDataGridFilteringLabel" : "Sorteer oudste na nuutste", +"sortNewestToOldestDataGridFilteringLabel" : "Sorteer nuutste na oudste", +"textFiltersDataGridFilteringLabel" : "Teks filters", +"numberFiltersDataGridFilteringLabel" : "Getalfilters", +"dateFiltersDataGridFilteringLabel" : "Datum filters", +"searchDataGridFilteringLabel" : "Soek", +"noMatchesDataGridFilteringLabel" : "Geen wedstryde nie", +"okDataGridFilteringLabel" : "OK", +"cancelDataGridFilteringLabel" : "Kanselleer", +"showRowsWhereDataGridFilteringLabel" : "Wys rye waar", +"andDataGridFilteringLabel" : "En", +"orDataGridFilteringLabel" : "Of", +"selectAllDataGridFilteringLabel" : "Kies Alles", +"sortAndFilterDataGridFilteringLabel" : "Sorteer en Filter", +"clearFilterDataGridFilteringLabel" : "Vee filter uit", +"fromDataGridFilteringLabel" : "Van" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_am.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_am.arb index f810e3913..e468fb753 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_am.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_am.arb @@ -9,7 +9,7 @@ "pdfScrollStatusOfLabel" : "የ", "pdfGoToPageLabel" : "ወደ ገጽ ይሂዱ", "pdfEnterPageNumberLabel" : "የገጽ ቁጥር አስገባ", -"pdfInvalidPageNumberLabel" : "እባክህ የሚሰራ ቁጥር አስገባ", +"pdfInvalidPageNumberLabel" : "እባክዎ ትክክለኛ ቁጥር ያስገቡ", "pdfPaginationDialogOkLabel" : "እሺ", "pdfPaginationDialogCancelLabel" : "ሰርዝ", "passwordDialogHeaderTextLabel" : "በይለፍ ቃል የተጠበቀ", @@ -39,10 +39,10 @@ "rajabLabel" : "ራጀብ", "shaabanLabel" : "ሻዕባን", "ramadanLabel" : "ረመዳን", -"shawwalLabel" : "ሻውል", +"shawwalLabel" : "ሻዋል", "dhualqiLabel" : "ዙ አል-ቂዳህ", "dhualhiLabel" : "ዙልሂጃህ", -"shortMuharramLabel" : "ሙህ.", +"shortMuharramLabel" : "ሙህ", "shortSafarLabel" : "ሴፍ.", "shortRabi1Label" : "ራቢ. አይ", "shortRabi2Label" : "ራቢ. II", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "ድህረ ገጽ ክፈት", "pdfHyperlinkContentLabel" : "ገጹን በ ላይ መክፈት ይፈልጋሉ", "pdfHyperlinkDialogOpenLabel" : "ክፈት", -"pdfHyperlinkDialogCancelLabel" : "ሰርዝ" +"pdfHyperlinkDialogCancelLabel" : "ሰርዝ", +"afterDataGridFilteringLabel" : "በኋላ", +"afterOrEqualDataGridFilteringLabel" : "በኋላ ወይም እኩል", +"beforeDataGridFilteringLabel" : "በፊት ወይም እኩል", +"beforeOrEqualDataGridFilteringLabel" : "ከዚህ በፊት", +"beginsWithDataGridFilteringLabel" : "ጋር ይጀምራል", +"containsDataGridFilteringLabel" : "ይዟል", +"doesNotBeginWithDataGridFilteringLabel" : "በ አይጀምርም።", +"doesNotContainDataGridFilteringLabel" : "አልያዘም።", +"doesNotEndWithDataGridFilteringLabel" : "አያልቅም።", +"doesNotEqualDataGridFilteringLabel" : "እኩል አይደለም", +"emptyDataGridFilteringLabel" : "ባዶ", +"endsWithDataGridFilteringLabel" : "ጋር ያበቃል", +"equalsDataGridFilteringLabel" : "እኩል ነው።", +"greaterThanDataGridFilteringLabel" : "ከዚያ ይበልጣል", +"greaterThanOrEqualDataGridFilteringLabel" : "ይበልጣል ወይም እኩል", +"lessThanDataGridFilteringLabel" : "ያነሰ", +"lessThanOrEqualDataGridFilteringLabel" : "ያነሰ ወይም እኩል", +"notEmptyDataGridFilteringLabel" : "ባዶ አይደለም", +"notNullDataGridFilteringLabel" : "ኑል አይደለም።", +"nullDataGridFilteringLabel" : "ከንቱ", +"sortSmallestToLargestDataGridFilteringLabel" : "ትንሹን ወደ ትልቁ ደርድር", +"sortLargestToSmallestDataGridFilteringLabel" : "ትልቁን ወደ ትንሹ ደርድር", +"sortAToZDataGridFilteringLabel" : "ከ A እስከ Z ደርድር", +"sortZToADataGridFilteringLabel" : "Z ወደ A ደርድር", +"sortOldestToNewestDataGridFilteringLabel" : "አሮጌውን ወደ አዲሱ ደርድር", +"sortNewestToOldestDataGridFilteringLabel" : "አዲሱን ወደ አሮጌው ደርድር", +"textFiltersDataGridFilteringLabel" : "የጽሑፍ ማጣሪያዎች", +"numberFiltersDataGridFilteringLabel" : "የቁጥር ማጣሪያዎች", +"dateFiltersDataGridFilteringLabel" : "የቀን ማጣሪያዎች", +"searchDataGridFilteringLabel" : "ፈልግ", +"noMatchesDataGridFilteringLabel" : "ምንም ግጥሚያዎች የሉም", +"okDataGridFilteringLabel" : "እሺ", +"cancelDataGridFilteringLabel" : "ሰርዝ", +"showRowsWhereDataGridFilteringLabel" : "ረድፎችን የት አሳይ", +"andDataGridFilteringLabel" : "እና", +"orDataGridFilteringLabel" : "ወይም", +"selectAllDataGridFilteringLabel" : "ሁሉንም ምረጥ", +"sortAndFilterDataGridFilteringLabel" : "ደርድር እና አጣራ", +"clearFilterDataGridFilteringLabel" : "ማጣሪያን አጽዳ", +"fromDataGridFilteringLabel" : "ከ" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ar.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ar.arb index 111365aba..d1429b260 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ar.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ar.arb @@ -46,8 +46,8 @@ "shortSafarLabel" : "ساف.", "shortRabi1Label" : "ربيع. أنا", "shortRabi2Label" : "ربيع. ثانيًا", -"shortJumada1Label" : "جام. أنا", -"shortJumada2Label" : "جام. ثانيًا", +"shortJumada1Label" : "جم. أنا", +"shortJumada2Label" : "جم. ثانيًا", "shortRajabLabel" : "راج.", "shortShaabanLabel" : "شا.", "shortRamadanLabel" : "الرامات الذاكرة العشوائية في الهواتف والحواسيب.", @@ -55,9 +55,49 @@ "shortDhualqiLabel" : "ذو القعدة", "shortDhualhiLabel" : "ذو الحجة", "daySpanCountLabel" : "يوم", -"series" : "مسلسل", +"series" : "سلسلة", "pdfHyperlinkLabel" : "افتح صفحة الويب", "pdfHyperlinkContentLabel" : "هل تريد فتح الصفحة في", "pdfHyperlinkDialogOpenLabel" : "افتح", -"pdfHyperlinkDialogCancelLabel" : "إلغاء" +"pdfHyperlinkDialogCancelLabel" : "إلغاء", +"afterDataGridFilteringLabel" : "بعد، بعدما", +"afterOrEqualDataGridFilteringLabel" : "بعد أو يساوي", +"beforeDataGridFilteringLabel" : "قبل أو يساوي", +"beforeOrEqualDataGridFilteringLabel" : "قبل", +"beginsWithDataGridFilteringLabel" : "يبدأ ب", +"containsDataGridFilteringLabel" : "يتضمن", +"doesNotBeginWithDataGridFilteringLabel" : "لا تبدأ بـ", +"doesNotContainDataGridFilteringLabel" : "لا يحتوي", +"doesNotEndWithDataGridFilteringLabel" : "لا تنتهي بـ", +"doesNotEqualDataGridFilteringLabel" : "لا يساوي", +"emptyDataGridFilteringLabel" : "فارغة", +"endsWithDataGridFilteringLabel" : "ينتهي بـ", +"equalsDataGridFilteringLabel" : "يساوي", +"greaterThanDataGridFilteringLabel" : "أكثر من", +"greaterThanOrEqualDataGridFilteringLabel" : "أكبر من أو يساوي", +"lessThanDataGridFilteringLabel" : "أقل من", +"lessThanOrEqualDataGridFilteringLabel" : "اصغر من او يساوي", +"notEmptyDataGridFilteringLabel" : "ليس فارغًا", +"notNullDataGridFilteringLabel" : "غير فارغة", +"nullDataGridFilteringLabel" : "لا شيء", +"sortSmallestToLargestDataGridFilteringLabel" : "الفرز من الأصغر إلى الأكبر", +"sortLargestToSmallestDataGridFilteringLabel" : "الفرز من الأكبر إلى الأصغر", +"sortAToZDataGridFilteringLabel" : "فرز من الألف إلى الياء", +"sortZToADataGridFilteringLabel" : "فرز Z إلى A.", +"sortOldestToNewestDataGridFilteringLabel" : "فرز من الأقدم إلى الأحدث", +"sortNewestToOldestDataGridFilteringLabel" : "فرز من الأحدث إلى الأقدم", +"textFiltersDataGridFilteringLabel" : "مرشحات النص", +"numberFiltersDataGridFilteringLabel" : "مرشحات الرقم", +"dateFiltersDataGridFilteringLabel" : "مرشحات التاريخ", +"searchDataGridFilteringLabel" : "يبحث", +"noMatchesDataGridFilteringLabel" : "لا يوجد تطابق", +"okDataGridFilteringLabel" : "نعم", +"cancelDataGridFilteringLabel" : "يلغي", +"showRowsWhereDataGridFilteringLabel" : "إظهار الصفوف حيث", +"andDataGridFilteringLabel" : "و", +"orDataGridFilteringLabel" : "أو", +"selectAllDataGridFilteringLabel" : "اختر الكل", +"sortAndFilterDataGridFilteringLabel" : "الفرز والتصفية", +"clearFilterDataGridFilteringLabel" : "مرشح واضح", +"fromDataGridFilteringLabel" : "من" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_az.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_az.arb index f19adb213..558d7b2eb 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_az.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_az.arb @@ -35,7 +35,7 @@ "rabi1Label" : "Rəbiul-əvvəl", "rabi2Label" : "Rəbi əl-sani", "jumada1Label" : "Cümə əl-əvvəl", -"jumada2Label" : "Cümədə əl-sani", +"jumada2Label" : "Cüməda əl-sani", "rajabLabel" : "Rəcəb", "shaabanLabel" : "Şaban", "ramadanLabel" : "Ramazan", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Veb səhifəni açın", "pdfHyperlinkContentLabel" : "ünvanında səhifəni açmaq istəyirsiniz", "pdfHyperlinkDialogOpenLabel" : "AÇIQ", -"pdfHyperlinkDialogCancelLabel" : "LƏĞV EDİN" +"pdfHyperlinkDialogCancelLabel" : "LƏĞV EDİN", +"afterDataGridFilteringLabel" : "sonra", +"afterOrEqualDataGridFilteringLabel" : "Sonra Və ya Bərabər", +"beforeDataGridFilteringLabel" : "Əvvəl Və ya Bərabər", +"beforeOrEqualDataGridFilteringLabel" : "Əvvəl", +"beginsWithDataGridFilteringLabel" : "ilə başlayır", +"containsDataGridFilteringLabel" : "ehtiva edir", +"doesNotBeginWithDataGridFilteringLabel" : "İlə Başlamaz", +"doesNotContainDataGridFilteringLabel" : "Tərkibində Yoxdur", +"doesNotEndWithDataGridFilteringLabel" : "İlə Bitmir", +"doesNotEqualDataGridFilteringLabel" : "Bərabər Deyil", +"emptyDataGridFilteringLabel" : "Boş", +"endsWithDataGridFilteringLabel" : "ilə bitir", +"equalsDataGridFilteringLabel" : "Bərabərdir", +"greaterThanDataGridFilteringLabel" : "Böyük", +"greaterThanOrEqualDataGridFilteringLabel" : "Böyük Və ya Bərabər", +"lessThanDataGridFilteringLabel" : "Daha az", +"lessThanOrEqualDataGridFilteringLabel" : "Az Və ya Bərabər", +"notEmptyDataGridFilteringLabel" : "Boş deyil", +"notNullDataGridFilteringLabel" : "Null deyil", +"nullDataGridFilteringLabel" : "Sıfır", +"sortSmallestToLargestDataGridFilteringLabel" : "Ən kiçikdən böyüyə çeşidləyin", +"sortLargestToSmallestDataGridFilteringLabel" : "Ən böyükdən kiçiyə çeşidləyin", +"sortAToZDataGridFilteringLabel" : "A-dan Z-yə çeşidləyin", +"sortZToADataGridFilteringLabel" : "Z-dən A sıralayın", +"sortOldestToNewestDataGridFilteringLabel" : "Ən köhnədən ən yeniyə çeşidləyin", +"sortNewestToOldestDataGridFilteringLabel" : "Ən yenidən köhnəyə çeşidləyin", +"textFiltersDataGridFilteringLabel" : "Mətn Filtrləri", +"numberFiltersDataGridFilteringLabel" : "Nömrə Filtrləri", +"dateFiltersDataGridFilteringLabel" : "Tarix Filtrləri", +"searchDataGridFilteringLabel" : "Axtar", +"noMatchesDataGridFilteringLabel" : "Uyğunluq yoxdur", +"okDataGridFilteringLabel" : "tamam", +"cancelDataGridFilteringLabel" : "Ləğv et", +"showRowsWhereDataGridFilteringLabel" : "Sətirləri harada göstərin", +"andDataGridFilteringLabel" : "Və", +"orDataGridFilteringLabel" : "Və ya", +"selectAllDataGridFilteringLabel" : "Hamısını seç", +"sortAndFilterDataGridFilteringLabel" : "Çeşidləyin və Filtr edin", +"clearFilterDataGridFilteringLabel" : "Filtri təmizləyin", +"fromDataGridFilteringLabel" : "From" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_be.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_be.arb index 3c35adf66..c9c5d40bc 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_be.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_be.arb @@ -1,63 +1,103 @@ { -"noSelectedDateCalendarLabel" : "Няма выбранай даты", +"noSelectedDateCalendarLabel" : "Дата не выбрана", "noEventsCalendarLabel" : "Няма падзей", "ofDataPagerLabel" : "з", -"pagesDataPagerLabel" : "старонак", -"rowsPerPageDataPagerLabel" : "Радкі на старонцы", +"pagesDataPagerLabel" : "старонкі", +"rowsPerPageDataPagerLabel" : "Радкоў на старонцы", "pdfBookmarksLabel" : "Закладкі", -"pdfNoBookmarksLabel" : "Закладак не знойдзена", +"pdfNoBookmarksLabel" : "Закладкі не знойдзены", "pdfScrollStatusOfLabel" : "з", "pdfGoToPageLabel" : "Перайсці на старонку", "pdfEnterPageNumberLabel" : "Увядзіце нумар старонкі", -"pdfInvalidPageNumberLabel" : "Калі ласка, увядзіце сапраўдны нумар", +"pdfInvalidPageNumberLabel" : "Увядзіце правільны нумар", "pdfPaginationDialogOkLabel" : "добра", -"pdfPaginationDialogCancelLabel" : "АДМЕНАЦЬ", -"passwordDialogHeaderTextLabel" : "Абаронены паролем", +"pdfPaginationDialogCancelLabel" : "СКАСАВАЦЬ", +"passwordDialogHeaderTextLabel" : "Абарона паролем", "passwordDialogContentLabel" : "Увядзіце пароль, каб адкрыць гэты файл PDF", "passwordDialogHintTextLabel" : "Увядзіце пароль", "passwordDialogInvalidPasswordLabel" : "Няправільны пароль", -"pdfPasswordDialogOpenLabel" : "АДКРЫЦЬ", -"pdfPasswordDialogCancelLabel" : "АДМЕНАЦЬ", +"pdfPasswordDialogOpenLabel" : "АДКРЫТАЯ", +"pdfPasswordDialogCancelLabel" : "СКАСАВАЦЬ", "allowedViewDayLabel" : "Дзень", -"allowedViewWeekLabel" : "Тыдзень", +"allowedViewWeekLabel" : "тыдзень", "allowedViewWorkWeekLabel" : "Працоўны тыдзень", "allowedViewMonthLabel" : "Месяц", "allowedViewScheduleLabel" : "Расклад", -"allowedViewTimelineDayLabel" : "Дзень шкалы часу", -"allowedViewTimelineWeekLabel" : "Тыдзень хронікі", -"allowedViewTimelineWorkWeekLabel" : "Тэрмін працоўнага тыдня", -"allowedViewTimelineMonthLabel" : "Месяц часавай шкалы", -"todayLabel" : "Сёння", -"weeknumberLabel" : "Тыдзень", +"allowedViewTimelineDayLabel" : "Дзень часовай шкалы", +"allowedViewTimelineWeekLabel" : "Храналогія тыдня", +"allowedViewTimelineWorkWeekLabel" : "Графік працоўнага тыдня", +"allowedViewTimelineMonthLabel" : "Храналогія Месяц", +"todayLabel" : "сёння", +"weeknumberLabel" : "тыдзень", "allDayLabel" : "Увесь дзень", "muharramLabel" : "Мухарам", "safarLabel" : "Сафар", -"rabi1Label" : "Рабі аль-авваль", -"rabi2Label" : "Рабі аль-Тані", -"jumada1Label" : "Джумада аль-авваль", -"jumada2Label" : "Джумада аль-Тані", +"rabi1Label" : "Рабі аль-аўваль", +"rabi2Label" : "Рабі аль-тані", +"jumada1Label" : "Джумада аль-аўваль", +"jumada2Label" : "Джумада аль-тані", "rajabLabel" : "Раджаб", "shaabanLabel" : "Шаабан", "ramadanLabel" : "Рамадан", "shawwalLabel" : "Шаўваль", "dhualqiLabel" : "Зу аль-Кіда", "dhualhiLabel" : "Зу аль-Хіджа", -"shortMuharramLabel" : "Мух.", +"shortMuharramLabel" : "мух", "shortSafarLabel" : "Саф.", -"shortRabi1Label" : "Рабі. я", -"shortRabi2Label" : "Рабі. II", -"shortJumada1Label" : "Jum. я", -"shortJumada2Label" : "Jum. II", +"shortRabi1Label" : "Рабіна. я", +"shortRabi2Label" : "Рабіна. II", +"shortJumada1Label" : "Джам. я", +"shortJumada2Label" : "Джам. II", "shortRajabLabel" : "Радж.", "shortShaabanLabel" : "Ша.", -"shortRamadanLabel" : "Баран.", -"shortShawwalLabel" : "Шо.", -"shortDhualqiLabel" : "Dhu'l-Q", -"shortDhualhiLabel" : "Зуль-Х", +"shortRamadanLabel" : "Таран.", +"shortShawwalLabel" : "Шоу.", +"shortDhualqiLabel" : "Зу'л-К'ю", +"shortDhualhiLabel" : "Зу'л-Х", "daySpanCountLabel" : "Дзень", -"series" : "Серыял", -"pdfHyperlinkLabel" : "Адкрыйце вэб-старонку", +"series" : "серыял", +"pdfHyperlinkLabel" : "Адкрыць вэб-старонку", "pdfHyperlinkContentLabel" : "Вы хочаце адкрыць старонку па адрасе", -"pdfHyperlinkDialogOpenLabel" : "АДКРЫЦЬ", -"pdfHyperlinkDialogCancelLabel" : "АДМЕНАЦЬ" +"pdfHyperlinkDialogOpenLabel" : "АДКРЫТАЯ", +"pdfHyperlinkDialogCancelLabel" : "СКАСАВАЦЬ", +"afterDataGridFilteringLabel" : "Пасля", +"afterOrEqualDataGridFilteringLabel" : "Пасля або роўна", +"beforeDataGridFilteringLabel" : "Раней або роўна", +"beforeOrEqualDataGridFilteringLabel" : "Раней", +"beginsWithDataGridFilteringLabel" : "Пачынаецца з", +"containsDataGridFilteringLabel" : "Змяшчае", +"doesNotBeginWithDataGridFilteringLabel" : "Не пачынаецца з", +"doesNotContainDataGridFilteringLabel" : "Не ўтрымлівае", +"doesNotEndWithDataGridFilteringLabel" : "Не заканчваецца", +"doesNotEqualDataGridFilteringLabel" : "Не роўна", +"emptyDataGridFilteringLabel" : "Пусты", +"endsWithDataGridFilteringLabel" : "Заканчваецца с", +"equalsDataGridFilteringLabel" : "Роўнае", +"greaterThanDataGridFilteringLabel" : "Больш чым", +"greaterThanOrEqualDataGridFilteringLabel" : "Больш або роўна", +"lessThanDataGridFilteringLabel" : "Менш чым", +"lessThanOrEqualDataGridFilteringLabel" : "Менш або роўна", +"notEmptyDataGridFilteringLabel" : "Не пусты", +"notNullDataGridFilteringLabel" : "Не Null", +"nullDataGridFilteringLabel" : "Нуль", +"sortSmallestToLargestDataGridFilteringLabel" : "Сартаванне ад найменшага да самага вялікага", +"sortLargestToSmallestDataGridFilteringLabel" : "Сартаваць ад самага вялікага да меншага", +"sortAToZDataGridFilteringLabel" : "Сартаванне ад А да Я", +"sortZToADataGridFilteringLabel" : "Сартаваць ад Я да А", +"sortOldestToNewestDataGridFilteringLabel" : "Сартаваць ад старых да новых", +"sortNewestToOldestDataGridFilteringLabel" : "Сартаваць ад найноўшых да самых старых", +"textFiltersDataGridFilteringLabel" : "Тэкставыя фільтры", +"numberFiltersDataGridFilteringLabel" : "Лікавыя фільтры", +"dateFiltersDataGridFilteringLabel" : "Фільтры даты", +"searchDataGridFilteringLabel" : "Пошук", +"noMatchesDataGridFilteringLabel" : "Супадзенняў няма", +"okDataGridFilteringLabel" : "добра", +"cancelDataGridFilteringLabel" : "Адмяніць", +"showRowsWhereDataGridFilteringLabel" : "Паказаць радкі, дзе", +"andDataGridFilteringLabel" : "І", +"orDataGridFilteringLabel" : "Або", +"selectAllDataGridFilteringLabel" : "Абраць усё", +"sortAndFilterDataGridFilteringLabel" : "Сартаваць і фільтраваць", +"clearFilterDataGridFilteringLabel" : "Ачысціць фільтр", +"fromDataGridFilteringLabel" : "Ад" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_bg.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_bg.arb index a54eb8ccf..0327f130e 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_bg.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_bg.arb @@ -11,13 +11,13 @@ "pdfEnterPageNumberLabel" : "Въведете номера на страницата", "pdfInvalidPageNumberLabel" : "Моля въведете валиден номер", "pdfPaginationDialogOkLabel" : "Добре", -"pdfPaginationDialogCancelLabel" : "ОТМЕНИ", +"pdfPaginationDialogCancelLabel" : "ОТМЕНЯНЕ", "passwordDialogHeaderTextLabel" : "Защитен с парола", "passwordDialogContentLabel" : "Въведете паролата, за да отворите този PDF файл", "passwordDialogHintTextLabel" : "Въведете паролата", "passwordDialogInvalidPasswordLabel" : "Невалидна парола", "pdfPasswordDialogOpenLabel" : "ОТВОРЕНО", -"pdfPasswordDialogCancelLabel" : "ОТМЕНИ", +"pdfPasswordDialogCancelLabel" : "ОТМЕНЯНЕ", "allowedViewDayLabel" : "ден", "allowedViewWeekLabel" : "седмица", "allowedViewWorkWeekLabel" : "Работна седмица", @@ -25,39 +25,79 @@ "allowedViewScheduleLabel" : "График", "allowedViewTimelineDayLabel" : "Ден на хронологията", "allowedViewTimelineWeekLabel" : "Седмица на хронологията", -"allowedViewTimelineWorkWeekLabel" : "График на работната седмица", -"allowedViewTimelineMonthLabel" : "Месец на хронологията", -"todayLabel" : "днес", +"allowedViewTimelineWorkWeekLabel" : "Времева линия Работна седмица", +"allowedViewTimelineMonthLabel" : "Времева линия Месец", +"todayLabel" : "Днес", "weeknumberLabel" : "седмица", "allDayLabel" : "Цял ден", -"muharramLabel" : "Мухарам", +"muharramLabel" : "Мухаррам", "safarLabel" : "Сафар", "rabi1Label" : "Раби ал-аввал", -"rabi2Label" : "Раби ал-Тани", +"rabi2Label" : "Раби ал-тани", "jumada1Label" : "Джумада ал-аввал", -"jumada2Label" : "Джумада ал-Тани", +"jumada2Label" : "Джумада ал-тани", "rajabLabel" : "Раджаб", "shaabanLabel" : "Шаабан", "ramadanLabel" : "Рамадан", -"shawwalLabel" : "Shawwal", -"dhualqiLabel" : "Dhu al-Qi'dah", +"shawwalLabel" : "Шавал", +"dhualqiLabel" : "Зу ал-Кида", "dhualhiLabel" : "Зу ал-Хиджа", -"shortMuharramLabel" : "Мъх", -"shortSafarLabel" : "Saf.", +"shortMuharramLabel" : "Мъх.", +"shortSafarLabel" : "Саф.", "shortRabi1Label" : "Раби. аз", "shortRabi2Label" : "Раби. II", -"shortJumada1Label" : "Jum. аз", -"shortJumada2Label" : "Jum. II", +"shortJumada1Label" : "Джъм. аз", +"shortJumada2Label" : "Джъм. II", "shortRajabLabel" : "Радж.", -"shortShaabanLabel" : "Ша", -"shortRamadanLabel" : "Рам.", +"shortShaabanLabel" : "Ша.", +"shortRamadanLabel" : "Рам", "shortShawwalLabel" : "Шоу.", -"shortDhualqiLabel" : "Dhu'l-Q", -"shortDhualhiLabel" : "Dhu'l-H", +"shortDhualqiLabel" : "Зул-Кю", +"shortDhualhiLabel" : "Зул-Х", "daySpanCountLabel" : "ден", "series" : "Серия", -"pdfHyperlinkLabel" : "Отворете уеб страница", +"pdfHyperlinkLabel" : "Отворете уеб страницата", "pdfHyperlinkContentLabel" : "Искате ли да отворите страницата на", "pdfHyperlinkDialogOpenLabel" : "ОТВОРЕНО", -"pdfHyperlinkDialogCancelLabel" : "ОТМЕНИ" +"pdfHyperlinkDialogCancelLabel" : "ОТМЕНЯНЕ", +"afterDataGridFilteringLabel" : "След", +"afterOrEqualDataGridFilteringLabel" : "След Или Равно", +"beforeDataGridFilteringLabel" : "Преди или Равно", +"beforeOrEqualDataGridFilteringLabel" : "Преди", +"beginsWithDataGridFilteringLabel" : "Започва с", +"containsDataGridFilteringLabel" : "Съдържа", +"doesNotBeginWithDataGridFilteringLabel" : "Не започва с", +"doesNotContainDataGridFilteringLabel" : "Не съдържа", +"doesNotEndWithDataGridFilteringLabel" : "Не завършва с", +"doesNotEqualDataGridFilteringLabel" : "Не е равно", +"emptyDataGridFilteringLabel" : "празна", +"endsWithDataGridFilteringLabel" : "Завършва със", +"equalsDataGridFilteringLabel" : "Се равнява", +"greaterThanDataGridFilteringLabel" : "По-голяма от", +"greaterThanOrEqualDataGridFilteringLabel" : "По-голямо от или равно", +"lessThanDataGridFilteringLabel" : "По-малко от", +"lessThanOrEqualDataGridFilteringLabel" : "По-малко или равно", +"notEmptyDataGridFilteringLabel" : "Не е празно", +"notNullDataGridFilteringLabel" : "Не е нула", +"nullDataGridFilteringLabel" : "Нула", +"sortSmallestToLargestDataGridFilteringLabel" : "Сортиране от най-малкото към най-голямото", +"sortLargestToSmallestDataGridFilteringLabel" : "Сортиране от най-големия към най-малкия", +"sortAToZDataGridFilteringLabel" : "Сортиране от А до Я", +"sortZToADataGridFilteringLabel" : "Сортиране от Я до А", +"sortOldestToNewestDataGridFilteringLabel" : "Сортиране от най-старите към най-новите", +"sortNewestToOldestDataGridFilteringLabel" : "Сортиране от най-новите към най-старите", +"textFiltersDataGridFilteringLabel" : "Текстови филтри", +"numberFiltersDataGridFilteringLabel" : "Числови филтри", +"dateFiltersDataGridFilteringLabel" : "Филтри за дата", +"searchDataGridFilteringLabel" : "Търсене", +"noMatchesDataGridFilteringLabel" : "Няма съвпадения", +"okDataGridFilteringLabel" : "Добре", +"cancelDataGridFilteringLabel" : "Отказ", +"showRowsWhereDataGridFilteringLabel" : "Покажи редове къде", +"andDataGridFilteringLabel" : "И", +"orDataGridFilteringLabel" : "Или", +"selectAllDataGridFilteringLabel" : "Избери всички", +"sortAndFilterDataGridFilteringLabel" : "Сортиране и филтриране", +"clearFilterDataGridFilteringLabel" : "Изчистване на филтъра", +"fromDataGridFilteringLabel" : "от" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_bn.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_bn.arb index 26497e779..c124c8ca4 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_bn.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_bn.arb @@ -13,7 +13,7 @@ "pdfPaginationDialogOkLabel" : "ঠিক আছে", "pdfPaginationDialogCancelLabel" : "বাতিল করুন", "passwordDialogHeaderTextLabel" : "পাসওয়ার্ড সুরক্ষিত", -"passwordDialogContentLabel" : "এই PDF ফাইল খুলতে পাসওয়ার্ড লিখুন", +"passwordDialogContentLabel" : "এই পিডিএফ ফাইল খুলতে পাসওয়ার্ড লিখুন", "passwordDialogHintTextLabel" : "পাসওয়ার্ড লিখুন", "passwordDialogInvalidPasswordLabel" : "অবৈধ পাসওয়ার্ড", "pdfPasswordDialogOpenLabel" : "খোলা", @@ -30,7 +30,7 @@ "todayLabel" : "আজ", "weeknumberLabel" : "সপ্তাহ", "allDayLabel" : "সারাদিন", -"muharramLabel" : "মহররম", +"muharramLabel" : "মহরম", "safarLabel" : "সাফার", "rabi1Label" : "রবিউল আউয়াল", "rabi2Label" : "রাবি'আল-থানি", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "ওয়েব পেজ খুলুন", "pdfHyperlinkContentLabel" : "আপনি পৃষ্ঠা খুলতে চান", "pdfHyperlinkDialogOpenLabel" : "খোলা", -"pdfHyperlinkDialogCancelLabel" : "বাতিল করুন" +"pdfHyperlinkDialogCancelLabel" : "বাতিল করুন", +"afterDataGridFilteringLabel" : "পরে", +"afterOrEqualDataGridFilteringLabel" : "পরে বা সমান", +"beforeDataGridFilteringLabel" : "আগে বা সমান", +"beforeOrEqualDataGridFilteringLabel" : "আগে", +"beginsWithDataGridFilteringLabel" : "সঙ্গে শুরু", +"containsDataGridFilteringLabel" : "ধারণ করে", +"doesNotBeginWithDataGridFilteringLabel" : "দিয়ে শুরু হয় না", +"doesNotContainDataGridFilteringLabel" : "থাকে না", +"doesNotEndWithDataGridFilteringLabel" : "দিয়ে শেষ হয় না", +"doesNotEqualDataGridFilteringLabel" : "সমান না", +"emptyDataGridFilteringLabel" : "খালি", +"endsWithDataGridFilteringLabel" : "দিয়ে শেষ হয়", +"equalsDataGridFilteringLabel" : "সমান", +"greaterThanDataGridFilteringLabel" : "অপেক্ষা বৃহত্তর", +"greaterThanOrEqualDataGridFilteringLabel" : "বৃহত্তর অথবা সমান", +"lessThanDataGridFilteringLabel" : "এর চেয়ে কম", +"lessThanOrEqualDataGridFilteringLabel" : "কম বা সমান", +"notEmptyDataGridFilteringLabel" : "খালি না", +"notNullDataGridFilteringLabel" : "নাল না", +"nullDataGridFilteringLabel" : "শূন্য", +"sortSmallestToLargestDataGridFilteringLabel" : "সবচেয়ে ছোট থেকে বড় সাজান", +"sortLargestToSmallestDataGridFilteringLabel" : "সবচেয়ে বড় থেকে ছোট সাজান", +"sortAToZDataGridFilteringLabel" : "A থেকে Z সাজান", +"sortZToADataGridFilteringLabel" : "Z থেকে A সাজান", +"sortOldestToNewestDataGridFilteringLabel" : "পুরাতন থেকে নতুন বাছাই করুন", +"sortNewestToOldestDataGridFilteringLabel" : "নতুন থেকে পুরাতন সাজান", +"textFiltersDataGridFilteringLabel" : "টেক্সট ফিল্টার", +"numberFiltersDataGridFilteringLabel" : "নম্বর ফিল্টার", +"dateFiltersDataGridFilteringLabel" : "তারিখ ফিল্টার", +"searchDataGridFilteringLabel" : "অনুসন্ধান করুন", +"noMatchesDataGridFilteringLabel" : "মিল নেই", +"okDataGridFilteringLabel" : "ঠিক আছে", +"cancelDataGridFilteringLabel" : "বাতিল করুন", +"showRowsWhereDataGridFilteringLabel" : "যেখানে সারি দেখান", +"andDataGridFilteringLabel" : "এবং", +"orDataGridFilteringLabel" : "বা", +"selectAllDataGridFilteringLabel" : "সব নির্বাচন করুন", +"sortAndFilterDataGridFilteringLabel" : "বাছাই এবং ফিল্টার", +"clearFilterDataGridFilteringLabel" : "স্বচ্ছ ছাকুনী", +"fromDataGridFilteringLabel" : "থেকে" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_bs.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_bs.arb index 1dba083a8..999073232 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_bs.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_bs.arb @@ -23,7 +23,7 @@ "allowedViewWorkWeekLabel" : "Radna sedmica", "allowedViewMonthLabel" : "Mjesec", "allowedViewScheduleLabel" : "Raspored", -"allowedViewTimelineDayLabel" : "Timeline Day", +"allowedViewTimelineDayLabel" : "Dan vremenske linije", "allowedViewTimelineWeekLabel" : "Timeline Week", "allowedViewTimelineWorkWeekLabel" : "Vremenski okvir Radna sedmica", "allowedViewTimelineMonthLabel" : "Timeline Month", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Otvorite web stranicu", "pdfHyperlinkContentLabel" : "Da li želite da otvorite stranicu na", "pdfHyperlinkDialogOpenLabel" : "OTVOREN", -"pdfHyperlinkDialogCancelLabel" : "OTKAZI" +"pdfHyperlinkDialogCancelLabel" : "OTKAZI", +"afterDataGridFilteringLabel" : "Poslije", +"afterOrEqualDataGridFilteringLabel" : "Nakon ili jednako", +"beforeDataGridFilteringLabel" : "Prije ili jednako", +"beforeOrEqualDataGridFilteringLabel" : "Prije", +"beginsWithDataGridFilteringLabel" : "Počinje sa", +"containsDataGridFilteringLabel" : "Sadrži", +"doesNotBeginWithDataGridFilteringLabel" : "Ne počinje sa", +"doesNotContainDataGridFilteringLabel" : "Ne sadrži", +"doesNotEndWithDataGridFilteringLabel" : "Ne završava sa", +"doesNotEqualDataGridFilteringLabel" : "Nije jednako", +"emptyDataGridFilteringLabel" : "Prazan", +"endsWithDataGridFilteringLabel" : "Završava sa", +"equalsDataGridFilteringLabel" : "Jednako", +"greaterThanDataGridFilteringLabel" : "Veci nego", +"greaterThanOrEqualDataGridFilteringLabel" : "Veće ili jednako", +"lessThanDataGridFilteringLabel" : "Manje od", +"lessThanOrEqualDataGridFilteringLabel" : "Manje od ili jednako", +"notEmptyDataGridFilteringLabel" : "Not Empty", +"notNullDataGridFilteringLabel" : "Ne Null", +"nullDataGridFilteringLabel" : "Null", +"sortSmallestToLargestDataGridFilteringLabel" : "Sortiraj od najmanjeg do najvećeg", +"sortLargestToSmallestDataGridFilteringLabel" : "Sortiraj od najvećeg do najmanjeg", +"sortAToZDataGridFilteringLabel" : "Sortiraj od A do Ž", +"sortZToADataGridFilteringLabel" : "Sortiraj od Z do A", +"sortOldestToNewestDataGridFilteringLabel" : "Sortiraj od najstarijih do najnovijih", +"sortNewestToOldestDataGridFilteringLabel" : "Sortiraj od najnovijeg do najstarijeg", +"textFiltersDataGridFilteringLabel" : "Filteri teksta", +"numberFiltersDataGridFilteringLabel" : "Brojčani filteri", +"dateFiltersDataGridFilteringLabel" : "Filteri datuma", +"searchDataGridFilteringLabel" : "Traži", +"noMatchesDataGridFilteringLabel" : "Nema poklapanja", +"okDataGridFilteringLabel" : "uredu", +"cancelDataGridFilteringLabel" : "Otkaži", +"showRowsWhereDataGridFilteringLabel" : "Pokaži redove gdje", +"andDataGridFilteringLabel" : "I", +"orDataGridFilteringLabel" : "Or", +"selectAllDataGridFilteringLabel" : "Označi sve", +"sortAndFilterDataGridFilteringLabel" : "Sortiraj i filtriraj", +"clearFilterDataGridFilteringLabel" : "Obriši filter", +"fromDataGridFilteringLabel" : "Od" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ca.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ca.arb index 7d1597fab..503d7d6c4 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ca.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ca.arb @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Obre la pàgina web", "pdfHyperlinkContentLabel" : "Vols obrir la pàgina a", "pdfHyperlinkDialogOpenLabel" : "OBERT", -"pdfHyperlinkDialogCancelLabel" : "CANCEL · LAR" +"pdfHyperlinkDialogCancelLabel" : "CANCEL · LAR", +"afterDataGridFilteringLabel" : "Després", +"afterOrEqualDataGridFilteringLabel" : "Després o igual", +"beforeDataGridFilteringLabel" : "Abans o igual", +"beforeOrEqualDataGridFilteringLabel" : "Abans", +"beginsWithDataGridFilteringLabel" : "Comença amb", +"containsDataGridFilteringLabel" : "Conté", +"doesNotBeginWithDataGridFilteringLabel" : "No comença amb", +"doesNotContainDataGridFilteringLabel" : "No Conté", +"doesNotEndWithDataGridFilteringLabel" : "No Acaba Amb", +"doesNotEqualDataGridFilteringLabel" : "No és igual", +"emptyDataGridFilteringLabel" : "Buit", +"endsWithDataGridFilteringLabel" : "Acaba amb", +"equalsDataGridFilteringLabel" : "És igual", +"greaterThanDataGridFilteringLabel" : "Més gran que", +"greaterThanOrEqualDataGridFilteringLabel" : "Major que o igual", +"lessThanDataGridFilteringLabel" : "Menys que", +"lessThanOrEqualDataGridFilteringLabel" : "Menys que o igual", +"notEmptyDataGridFilteringLabel" : "No buit", +"notNullDataGridFilteringLabel" : "No nul", +"nullDataGridFilteringLabel" : "Nul", +"sortSmallestToLargestDataGridFilteringLabel" : "Ordena del més petit al més gran", +"sortLargestToSmallestDataGridFilteringLabel" : "Ordena del més gran al més petit", +"sortAToZDataGridFilteringLabel" : "Ordena de la A a la Z", +"sortZToADataGridFilteringLabel" : "Ordena de Z a A", +"sortOldestToNewestDataGridFilteringLabel" : "Ordena del més antic al més recent", +"sortNewestToOldestDataGridFilteringLabel" : "Ordena el més nou al més antic", +"textFiltersDataGridFilteringLabel" : "Filtres de text", +"numberFiltersDataGridFilteringLabel" : "Filtres de nombre", +"dateFiltersDataGridFilteringLabel" : "Filtres de data", +"searchDataGridFilteringLabel" : "Cerca", +"noMatchesDataGridFilteringLabel" : "Sense coincidències", +"okDataGridFilteringLabel" : "D'acord", +"cancelDataGridFilteringLabel" : "Cancel · lar", +"showRowsWhereDataGridFilteringLabel" : "Mostra les files on", +"andDataGridFilteringLabel" : "I", +"orDataGridFilteringLabel" : "O", +"selectAllDataGridFilteringLabel" : "Seleccionar tot", +"sortAndFilterDataGridFilteringLabel" : "Ordena i filtra", +"clearFilterDataGridFilteringLabel" : "Esborra el filtre", +"fromDataGridFilteringLabel" : "Des de" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_cs.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_cs.arb index 92a189647..9198dde78 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_cs.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_cs.arb @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Otevřete webovou stránku", "pdfHyperlinkContentLabel" : "Chcete otevřít stránku na", "pdfHyperlinkDialogOpenLabel" : "OTEVŘENO", -"pdfHyperlinkDialogCancelLabel" : "ZRUŠENÍ" +"pdfHyperlinkDialogCancelLabel" : "ZRUŠENÍ", +"afterDataGridFilteringLabel" : "Po", +"afterOrEqualDataGridFilteringLabel" : "Po nebo rovno", +"beforeDataGridFilteringLabel" : "Před nebo rovno", +"beforeOrEqualDataGridFilteringLabel" : "Před", +"beginsWithDataGridFilteringLabel" : "Začíná s", +"containsDataGridFilteringLabel" : "Obsahuje", +"doesNotBeginWithDataGridFilteringLabel" : "Nezačíná s", +"doesNotContainDataGridFilteringLabel" : "Neobsahuje", +"doesNotEndWithDataGridFilteringLabel" : "Nekončí s", +"doesNotEqualDataGridFilteringLabel" : "Nerovná se", +"emptyDataGridFilteringLabel" : "Prázdný", +"endsWithDataGridFilteringLabel" : "Končí s", +"equalsDataGridFilteringLabel" : "Rovná se", +"greaterThanDataGridFilteringLabel" : "Větší než", +"greaterThanOrEqualDataGridFilteringLabel" : "Větší než nebo rovno", +"lessThanDataGridFilteringLabel" : "Méně než", +"lessThanOrEqualDataGridFilteringLabel" : "Méně než nebo rovno", +"notEmptyDataGridFilteringLabel" : "Není prázdný", +"notNullDataGridFilteringLabel" : "Nenulový", +"nullDataGridFilteringLabel" : "Nula", +"sortSmallestToLargestDataGridFilteringLabel" : "Seřadit od nejmenšího po největší", +"sortLargestToSmallestDataGridFilteringLabel" : "Seřadit od největšího po nejmenší", +"sortAToZDataGridFilteringLabel" : "Seřadit od A do Z", +"sortZToADataGridFilteringLabel" : "Seřadit od Z do A", +"sortOldestToNewestDataGridFilteringLabel" : "Seřadit od nejstarších po nejnovější", +"sortNewestToOldestDataGridFilteringLabel" : "Řadit od nejnovějšího k nejstaršímu", +"textFiltersDataGridFilteringLabel" : "Textové filtry", +"numberFiltersDataGridFilteringLabel" : "Filtry čísel", +"dateFiltersDataGridFilteringLabel" : "Datumové filtry", +"searchDataGridFilteringLabel" : "Vyhledávání", +"noMatchesDataGridFilteringLabel" : "Žádné shody", +"okDataGridFilteringLabel" : "OK", +"cancelDataGridFilteringLabel" : "zrušení", +"showRowsWhereDataGridFilteringLabel" : "Zobrazit řádky kde", +"andDataGridFilteringLabel" : "A", +"orDataGridFilteringLabel" : "Nebo", +"selectAllDataGridFilteringLabel" : "Vybrat vše", +"sortAndFilterDataGridFilteringLabel" : "Řadit a filtrovat", +"clearFilterDataGridFilteringLabel" : "Vymazat filtr", +"fromDataGridFilteringLabel" : "Z" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_da.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_da.arb index 003eb89ad..f1184c1f6 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_da.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_da.arb @@ -25,7 +25,7 @@ "allowedViewScheduleLabel" : "Tidsplan", "allowedViewTimelineDayLabel" : "Tidslinje Dag", "allowedViewTimelineWeekLabel" : "Tidslinje uge", -"allowedViewTimelineWorkWeekLabel" : "Tidslinje Arbejdsuge", +"allowedViewTimelineWorkWeekLabel" : "Tidslinje arbejdsuge", "allowedViewTimelineMonthLabel" : "Tidslinje måned", "todayLabel" : "I dag", "weeknumberLabel" : "Uge", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Åbn webside", "pdfHyperlinkContentLabel" : "Vil du åbne siden kl", "pdfHyperlinkDialogOpenLabel" : "ÅBEN", -"pdfHyperlinkDialogCancelLabel" : "AFBESTILLE" +"pdfHyperlinkDialogCancelLabel" : "AFBESTILLE", +"afterDataGridFilteringLabel" : "Efter", +"afterOrEqualDataGridFilteringLabel" : "Efter Eller Lige", +"beforeDataGridFilteringLabel" : "Før Eller Lige", +"beforeOrEqualDataGridFilteringLabel" : "Før", +"beginsWithDataGridFilteringLabel" : "Starter med", +"containsDataGridFilteringLabel" : "Indeholder", +"doesNotBeginWithDataGridFilteringLabel" : "Begynder ikke med", +"doesNotContainDataGridFilteringLabel" : "Indeholder ikke", +"doesNotEndWithDataGridFilteringLabel" : "Slutter ikke med", +"doesNotEqualDataGridFilteringLabel" : "Er ikke ens", +"emptyDataGridFilteringLabel" : "Tom", +"endsWithDataGridFilteringLabel" : "Ender med", +"equalsDataGridFilteringLabel" : "Lige med", +"greaterThanDataGridFilteringLabel" : "Bedre end", +"greaterThanOrEqualDataGridFilteringLabel" : "Større end eller lige", +"lessThanDataGridFilteringLabel" : "Mindre end", +"lessThanOrEqualDataGridFilteringLabel" : "Mindre end eller lige", +"notEmptyDataGridFilteringLabel" : "Ikke tom", +"notNullDataGridFilteringLabel" : "Ikke Nul", +"nullDataGridFilteringLabel" : "Nul", +"sortSmallestToLargestDataGridFilteringLabel" : "Sorter mindst til størst", +"sortLargestToSmallestDataGridFilteringLabel" : "Sorter Størst Til Mindst", +"sortAToZDataGridFilteringLabel" : "Sorter fra A til Z", +"sortZToADataGridFilteringLabel" : "Sorter Z til A", +"sortOldestToNewestDataGridFilteringLabel" : "Sorter ældst til nyeste", +"sortNewestToOldestDataGridFilteringLabel" : "Sorter nyeste til ældste", +"textFiltersDataGridFilteringLabel" : "Tekstfiltre", +"numberFiltersDataGridFilteringLabel" : "Nummerfiltre", +"dateFiltersDataGridFilteringLabel" : "Dato filtre", +"searchDataGridFilteringLabel" : "Søg", +"noMatchesDataGridFilteringLabel" : "Ingen kampe", +"okDataGridFilteringLabel" : "Okay", +"cancelDataGridFilteringLabel" : "Afbestille", +"showRowsWhereDataGridFilteringLabel" : "Vis rækker hvor", +"andDataGridFilteringLabel" : "Og", +"orDataGridFilteringLabel" : "Eller", +"selectAllDataGridFilteringLabel" : "Vælg alle", +"sortAndFilterDataGridFilteringLabel" : "Sorter og filtrer", +"clearFilterDataGridFilteringLabel" : "Ryd filter", +"fromDataGridFilteringLabel" : "Fra" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_de.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_de.arb index c6d59bfb0..cb1c34afe 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_de.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_de.arb @@ -22,11 +22,11 @@ "allowedViewWeekLabel" : "Woche", "allowedViewWorkWeekLabel" : "Arbeitswoche", "allowedViewMonthLabel" : "Monat", -"allowedViewScheduleLabel" : "Zeitplan", -"allowedViewTimelineDayLabel" : "Zeitleiste Tag", -"allowedViewTimelineWeekLabel" : "Zeitleiste Woche", -"allowedViewTimelineWorkWeekLabel" : "Zeitleiste Arbeitswoche", -"allowedViewTimelineMonthLabel" : "Zeitachse Monat", +"allowedViewScheduleLabel" : "Zeitlicher Ablauf", +"allowedViewTimelineDayLabel" : "Timeline-Tag", +"allowedViewTimelineWeekLabel" : "Timeline-Woche", +"allowedViewTimelineWorkWeekLabel" : "Zeitplan Arbeitswoche", +"allowedViewTimelineMonthLabel" : "Timeline-Monat", "todayLabel" : "Heute", "weeknumberLabel" : "Woche", "allDayLabel" : "Den ganzen Tag", @@ -37,7 +37,7 @@ "jumada1Label" : "Jumada al-awwal", "jumada2Label" : "Jumada al-thani", "rajabLabel" : "Rajab", -"shaabanLabel" : "Schaaban", +"shaabanLabel" : "Shaaban", "ramadanLabel" : "Ramadan", "shawwalLabel" : "Shawwal", "dhualqiLabel" : "Dhu al-Qidah", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Webseite öffnen", "pdfHyperlinkContentLabel" : "Möchten Sie die Seite öffnen unter", "pdfHyperlinkDialogOpenLabel" : "OFFEN", -"pdfHyperlinkDialogCancelLabel" : "ABBRECHEN" +"pdfHyperlinkDialogCancelLabel" : "ABBRECHEN", +"afterDataGridFilteringLabel" : "Nach", +"afterOrEqualDataGridFilteringLabel" : "Nach oder gleich", +"beforeDataGridFilteringLabel" : "Vor oder gleich", +"beforeOrEqualDataGridFilteringLabel" : "Vor", +"beginsWithDataGridFilteringLabel" : "Beginnt mit", +"containsDataGridFilteringLabel" : "Enthält", +"doesNotBeginWithDataGridFilteringLabel" : "Beginnt nicht mit", +"doesNotContainDataGridFilteringLabel" : "Beinhaltet nicht", +"doesNotEndWithDataGridFilteringLabel" : "Endet nicht mit", +"doesNotEqualDataGridFilteringLabel" : "Ist nicht gleich", +"emptyDataGridFilteringLabel" : "Leer", +"endsWithDataGridFilteringLabel" : "Endet mit", +"equalsDataGridFilteringLabel" : "Gleich", +"greaterThanDataGridFilteringLabel" : "Größer als", +"greaterThanOrEqualDataGridFilteringLabel" : "Größer als oder gleich", +"lessThanDataGridFilteringLabel" : "Weniger als", +"lessThanOrEqualDataGridFilteringLabel" : "Weniger als oder gleich", +"notEmptyDataGridFilteringLabel" : "Nicht leer", +"notNullDataGridFilteringLabel" : "Nicht null", +"nullDataGridFilteringLabel" : "Null", +"sortSmallestToLargestDataGridFilteringLabel" : "Vom Kleinsten zum Größten sortieren", +"sortLargestToSmallestDataGridFilteringLabel" : "Vom Größten zum Kleinsten sortieren", +"sortAToZDataGridFilteringLabel" : "A bis Z sortieren", +"sortZToADataGridFilteringLabel" : "Z bis A sortieren", +"sortOldestToNewestDataGridFilteringLabel" : "Vom Ältesten zum Neuesten sortieren", +"sortNewestToOldestDataGridFilteringLabel" : "Vom Neusten zum Ältesten sortieren", +"textFiltersDataGridFilteringLabel" : "Textfilter", +"numberFiltersDataGridFilteringLabel" : "Zahlenfilter", +"dateFiltersDataGridFilteringLabel" : "Datumsfilter", +"searchDataGridFilteringLabel" : "Suche", +"noMatchesDataGridFilteringLabel" : "Keine Treffer", +"okDataGridFilteringLabel" : "OK", +"cancelDataGridFilteringLabel" : "Absagen", +"showRowsWhereDataGridFilteringLabel" : "Zeig Zeilen wo", +"andDataGridFilteringLabel" : "Und", +"orDataGridFilteringLabel" : "Oder", +"selectAllDataGridFilteringLabel" : "Wählen Sie Alle", +"sortAndFilterDataGridFilteringLabel" : "Sortieren und filtern", +"clearFilterDataGridFilteringLabel" : "Filter löschen", +"fromDataGridFilteringLabel" : "Aus" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_el.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_el.arb index a3df350cc..6aa7664f6 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_el.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_el.arb @@ -1,5 +1,5 @@ { -"noSelectedDateCalendarLabel" : "Καμία επιλεγμένη ημερομηνία", +"noSelectedDateCalendarLabel" : "Δεν υπάρχει επιλεγμένη ημερομηνία", "noEventsCalendarLabel" : "Δεν υπάρχουν εκδηλώσεις", "ofDataPagerLabel" : "του", "pagesDataPagerLabel" : "σελίδες", @@ -24,7 +24,7 @@ "allowedViewMonthLabel" : "Μήνας", "allowedViewScheduleLabel" : "Πρόγραμμα", "allowedViewTimelineDayLabel" : "Ημέρα χρονολογίου", -"allowedViewTimelineWeekLabel" : "Εβδομάδα Χρονολογίου", +"allowedViewTimelineWeekLabel" : "Χρονολόγιο Εβδομάδα", "allowedViewTimelineWorkWeekLabel" : "Χρονολόγιο Εβδομάδα εργασίας", "allowedViewTimelineMonthLabel" : "Χρονολόγιο Μήνας", "todayLabel" : "Σήμερα", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Ανοίξτε την ιστοσελίδα", "pdfHyperlinkContentLabel" : "Θέλετε να ανοίξετε τη σελίδα στο", "pdfHyperlinkDialogOpenLabel" : "ΑΝΟΙΞΕ", -"pdfHyperlinkDialogCancelLabel" : "ΜΑΤΑΙΩΣΗ" +"pdfHyperlinkDialogCancelLabel" : "ΜΑΤΑΙΩΣΗ", +"afterDataGridFilteringLabel" : "Μετά", +"afterOrEqualDataGridFilteringLabel" : "Μετά Ή Ίσα", +"beforeDataGridFilteringLabel" : "Πριν ή ίσο", +"beforeOrEqualDataGridFilteringLabel" : "Πριν", +"beginsWithDataGridFilteringLabel" : "Ξεκινάει με", +"containsDataGridFilteringLabel" : "Περιέχει", +"doesNotBeginWithDataGridFilteringLabel" : "Δεν ξεκινά με", +"doesNotContainDataGridFilteringLabel" : "Δεν περιέχει", +"doesNotEndWithDataGridFilteringLabel" : "Δεν τελειώνει με", +"doesNotEqualDataGridFilteringLabel" : "Δεν ισούται", +"emptyDataGridFilteringLabel" : "Αδειάζω", +"endsWithDataGridFilteringLabel" : "Τελειώνει με", +"equalsDataGridFilteringLabel" : "Ίσο", +"greaterThanDataGridFilteringLabel" : "Μεγαλύτερος από", +"greaterThanOrEqualDataGridFilteringLabel" : "Μεγαλύτερο από ή ίσο", +"lessThanDataGridFilteringLabel" : "Λιγότερο από", +"lessThanOrEqualDataGridFilteringLabel" : "Λιγότερο από ή ίσο", +"notEmptyDataGridFilteringLabel" : "Οχι άδειο", +"notNullDataGridFilteringLabel" : "Οχι κενό", +"nullDataGridFilteringLabel" : "Μηδενικό", +"sortSmallestToLargestDataGridFilteringLabel" : "Ταξινόμηση από το μικρότερο προς το μεγαλύτερο", +"sortLargestToSmallestDataGridFilteringLabel" : "Ταξινόμηση από το μεγαλύτερο στο μικρότερο", +"sortAToZDataGridFilteringLabel" : "Ταξινόμηση από Α έως Ω", +"sortZToADataGridFilteringLabel" : "Ταξινόμηση Z σε A", +"sortOldestToNewestDataGridFilteringLabel" : "Ταξινόμηση από το παλαιότερο στο νεότερο", +"sortNewestToOldestDataGridFilteringLabel" : "Ταξινόμηση νεότερο προς παλαιότερο", +"textFiltersDataGridFilteringLabel" : "Φίλτρα κειμένου", +"numberFiltersDataGridFilteringLabel" : "Φίλτρα αριθμών", +"dateFiltersDataGridFilteringLabel" : "Φίλτρα ημερομηνίας", +"searchDataGridFilteringLabel" : "Αναζήτηση", +"noMatchesDataGridFilteringLabel" : "Χωρίς αγώνες", +"okDataGridFilteringLabel" : "Εντάξει", +"cancelDataGridFilteringLabel" : "Ματαίωση", +"showRowsWhereDataGridFilteringLabel" : "Εμφάνιση σειρών όπου", +"andDataGridFilteringLabel" : "Και", +"orDataGridFilteringLabel" : "Ή", +"selectAllDataGridFilteringLabel" : "Επιλογή όλων", +"sortAndFilterDataGridFilteringLabel" : "Ταξινόμηση και φιλτράρισμα", +"clearFilterDataGridFilteringLabel" : "Διαγραφή φίλτρου", +"fromDataGridFilteringLabel" : "Από" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_en.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_en.arb index e63928ff8..bad15dedf 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_en.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_en.arb @@ -363,5 +363,244 @@ "@pdfHyperlinkDialogCancelLabel": { "description": "Label that is displayed in the hyperlink dialog of PdfViewer to represent the CANCEL confirmation button.", "type": "text" + }, + + "afterDataGridFilteringLabel": "After", + "@afterDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `After` option in drop down widget.", + "type" : "text" + }, + "afterOrEqualDataGridFilteringLabel": "After Or Equal", + "@afterOrEqualDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `After Or Equal` option in drop down widget.", + "type" : "text" + }, + + "beforeDataGridFilteringLabel": "Before Or Equal", + "@beforeDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Before` option in drop down widget.", + "type" : "text" + }, + + "beforeOrEqualDataGridFilteringLabel": "Before", + "@beforeOrEqualDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Before Or Equal` option in drop down widget.", + "type" : "text" + }, + + "beginsWithDataGridFilteringLabel": "Begins With", + "@beginsWithDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Begins With` option in drop down widget.", + "type" : "text" + }, + + "containsDataGridFilteringLabel": "Contains", + "@containsDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Contains` option in drop down widget.", + "type" : "text" + }, + + "doesNotBeginWithDataGridFilteringLabel": "Does Not Begin With", + "@doesNotBeginWithDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Does Not Begin With` option in drop down widget.", + "type" : "text" + }, + + "doesNotContainDataGridFilteringLabel": "Does Not Contain", + "@doesNotContainDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Does Not Contain` option in drop down widget.", + "type" : "text" + }, + + "doesNotEndWithDataGridFilteringLabel": "Does Not End With", + "@doesNotEndWithDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Does Not End With` option in drop down widget.", + "type" : "text" + }, + + "doesNotEqualDataGridFilteringLabel": "Does Not Equal", + "@doesNotEqualDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Does Not Equal` option in drop down widget.", + "type" : "text" + }, + + "emptyDataGridFilteringLabel": "Empty", + "@emptyDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Empty` option in drop down widget.", + "type" : "text" + }, + + "endsWithDataGridFilteringLabel": "Ends With", + "@endsWithDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Ends With` option in drop down widget.", + "type" : "text" + }, + + "equalsDataGridFilteringLabel": "Equals", + "@equalsDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Equals` option in drop down widget.", + "type" : "text" + }, + + "greaterThanDataGridFilteringLabel": "Greater Than", + "@greaterThanDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Greater Than` option in drop down widget.", + "type" : "text" + }, + + "greaterThanOrEqualDataGridFilteringLabel": "Greater Than Or Equal", + "@greaterThanOrEqualDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Greater Than Or Equal` option in drop down widget.", + "type" : "text" + }, + + "lessThanDataGridFilteringLabel": "Less Than", + "@lessThanDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Less Than` option in drop down widget.", + "type" : "text" + }, + + "lessThanOrEqualDataGridFilteringLabel": "Less Than Or Equal", + "@lessThanOrEqualDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Less Than Or Equal` option in drop down widget.", + "type" : "text" + }, + + "notEmptyDataGridFilteringLabel": "Not Empty", + "@notEmptyDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Not Empty` option in drop down widget.", + "type" : "text" + }, + + "notNullDataGridFilteringLabel": "Not Null", + "@notNullDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Not Null` option in drop down widget.", + "type" : "text" + }, + + "nullDataGridFilteringLabel": "Null", + "@nullDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Null` option in drop down widget.", + "type" : "text" + }, + + "sortSmallestToLargestDataGridFilteringLabel": "Sort Smallest To Largest", + "@sortSmallestToLargestDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Sort Smallest To Largest` option in drop down widget.", + "type" : "text" + }, + + "sortLargestToSmallestDataGridFilteringLabel": "Sort Largest To Smallest", + "@sortLargestToSmallestDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Sort Largest To Smallest` option in drop down widget.", + "type" : "text" + }, + + "sortAToZDataGridFilteringLabel": "Sort A To Z", + "@sortAToZDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Sort A To Z` option in drop down widget.", + "type" : "text" + }, + + "sortZToADataGridFilteringLabel": "Sort Z To A", + "@sortZToADataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Sort Z To A` option in drop down widget.", + "type" : "text" + }, + + "sortOldestToNewestDataGridFilteringLabel": "Sort Oldest To Newest", + "@sortOldestToNewestDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Sort Oldest To Newest` option in drop down widget.", + "type" : "text" + }, + + "sortNewestToOldestDataGridFilteringLabel": "Sort Newest To Oldest", + "@sortNewestToOldestDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Sort Newest To Oldest` option in drop down widget.", + "type" : "text" + }, + + "textFiltersDataGridFilteringLabel": "Text Filters", + "@textFiltersDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Text Filters` option in drop down widget.", + "type" : "text" + }, + + "numberFiltersDataGridFilteringLabel": "Number Filters", + "@numberFiltersDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Number Filters` option in drop down widget.", + "type" : "text" + }, + + "dateFiltersDataGridFilteringLabel": "Date Filters", + "@dateFiltersDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Date Filters` option in drop down widget.", + "type" : "text" + }, + + "searchDataGridFilteringLabel": "Search", + "@searchDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Search` option in drop down widget.", + "type" : "text" + }, + + "noMatchesDataGridFilteringLabel": "No matches", + "@noMatchesDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `No matches` option in drop down widget.", + "type" : "text" + }, + + "okDataGridFilteringLabel": "OK", + "@okDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `OK` option in drop down widget.", + "type" : "text" + }, + + "cancelDataGridFilteringLabel": "Cancel", + "@cancelDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Cancel` option in drop down widget.", + "type" : "text" + }, + + "showRowsWhereDataGridFilteringLabel": "Show rows where", + "@showRowsWhereDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Show rows where` option in drop down widget.", + "type" : "text" + }, + + "andDataGridFilteringLabel": "And", + "@andDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `And` option in drop down widget.", + "type" : "text" + }, + + "orDataGridFilteringLabel": "Or", + "@orDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Or` option in drop down widget.", + "type" : "text" + }, + + "selectAllDataGridFilteringLabel": "Select All", + "@selectAllDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Select All` option in drop down widget.", + "type" : "text" + }, + + "sortAndFilterDataGridFilteringLabel": "Sort and Filter", + "@sortAndFilterDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Sort And Filter` option in drop down widget.", + "type" : "text" + }, + + "clearFilterDataGridFilteringLabel": "Clear Filter", + "@clearFilterDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `Clear Filter` text in `Clear Filter From` option in the popup menu.", + "type" : "text" + }, + + "fromDataGridFilteringLabel": "From", + "@fromDataGridFilteringLabel": { + "description" : "The label that is displayed in the filter view in SfDataGrid for `From` text in `Clear Filter From` option in the popup menu.", + "type" : "text" } } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_en.json b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_en.json index 3c080e428..5b59bd680 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_en.json +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_en.json @@ -59,5 +59,45 @@ "pdfHyperlinkLabel": "Open Web Page", "pdfHyperlinkContentLabel": "Do you want to open the page at", "pdfHyperlinkDialogOpenLabel": "OPEN", - "pdfHyperlinkDialogCancelLabel": "CANCEL" + "pdfHyperlinkDialogCancelLabel": "CANCEL", + "afterDataGridFilteringLabel": "After", + "afterOrEqualDataGridFilteringLabel": "After Or Equal", + "beforeDataGridFilteringLabel": "Before Or Equal", + "beforeOrEqualDataGridFilteringLabel": "Before", + "beginsWithDataGridFilteringLabel": "Begins With", + "containsDataGridFilteringLabel": "Contains", + "doesNotBeginWithDataGridFilteringLabel": "Does Not Begin With", + "doesNotContainDataGridFilteringLabel": "Does Not Contain", + "doesNotEndWithDataGridFilteringLabel": "Does Not End With", + "doesNotEqualDataGridFilteringLabel": "Does Not Equal", + "emptyDataGridFilteringLabel": "Empty", + "endsWithDataGridFilteringLabel": "Ends With", + "equalsDataGridFilteringLabel": "Equals", + "greaterThanDataGridFilteringLabel": "Greater Than", + "greaterThanOrEqualDataGridFilteringLabel": "Greater Than Or Equal", + "lessThanDataGridFilteringLabel": "Less Than", + "lessThanOrEqualDataGridFilteringLabel": "Less Than Or Equal", + "notEmptyDataGridFilteringLabel": "Not Empty", + "notNullDataGridFilteringLabel": "Not Null", + "nullDataGridFilteringLabel": "Null", + "sortSmallestToLargestDataGridFilteringLabel": "Sort Smallest To Largest", + "sortLargestToSmallestDataGridFilteringLabel": "Sort Largest To Smallest", + "sortAToZDataGridFilteringLabel": "Sort A To Z", + "sortZToADataGridFilteringLabel": "Sort Z To A", + "sortOldestToNewestDataGridFilteringLabel": "Sort Oldest To Newest", + "sortNewestToOldestDataGridFilteringLabel": "Sort Newest To Oldest", + "textFiltersDataGridFilteringLabel": "Text Filters", + "numberFiltersDataGridFilteringLabel": "Number Filters", + "dateFiltersDataGridFilteringLabel": "Date Filters", + "searchDataGridFilteringLabel": "Search", + "noMatchesDataGridFilteringLabel": "No matches", + "okDataGridFilteringLabel": "OK", + "cancelDataGridFilteringLabel": "Cancel", + "showRowsWhereDataGridFilteringLabel": "Show rows where", + "andDataGridFilteringLabel": "And", + "orDataGridFilteringLabel": "Or", + "selectAllDataGridFilteringLabel": "Select All", + "sortAndFilterDataGridFilteringLabel": "Sort and Filter", + "clearFilterDataGridFilteringLabel": "Clear Filter", + "fromDataGridFilteringLabel": "From" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_es.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_es.arb index 8870e9a93..e36ebce79 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_es.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_es.arb @@ -27,7 +27,7 @@ "allowedViewTimelineWeekLabel" : "Semana de la línea de tiempo", "allowedViewTimelineWorkWeekLabel" : "Línea de tiempo Semana laboral", "allowedViewTimelineMonthLabel" : "Mes de la línea de tiempo", -"todayLabel" : "Hoy dia", +"todayLabel" : "Este Dia", "weeknumberLabel" : "Semana", "allDayLabel" : "Todo el dia", "muharramLabel" : "muharram", @@ -44,9 +44,9 @@ "dhualhiLabel" : "Dhu al-Hiyyah", "shortMuharramLabel" : "Muh.", "shortSafarLabel" : "seguro", -"shortRabi1Label" : "Rabí. I", -"shortRabi2Label" : "Rabi. II", -"shortJumada1Label" : "Jum. I", +"shortRabi1Label" : "Rabí. yo", +"shortRabi2Label" : "Rabí. Yo", +"shortJumada1Label" : "Jum. yo", "shortJumada2Label" : "Jum. II", "shortRajabLabel" : "Raj.", "shortShaabanLabel" : "Sha.", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Abrir página web", "pdfHyperlinkContentLabel" : "¿Quieres abrir la página en", "pdfHyperlinkDialogOpenLabel" : "ABIERTO", -"pdfHyperlinkDialogCancelLabel" : "CANCELAR" +"pdfHyperlinkDialogCancelLabel" : "CANCELAR", +"afterDataGridFilteringLabel" : "Después", +"afterOrEqualDataGridFilteringLabel" : "después o igual", +"beforeDataGridFilteringLabel" : "antes o igual", +"beforeOrEqualDataGridFilteringLabel" : "Antes", +"beginsWithDataGridFilteringLabel" : "Empieza con", +"containsDataGridFilteringLabel" : "Contiene", +"doesNotBeginWithDataGridFilteringLabel" : "no comienza con", +"doesNotContainDataGridFilteringLabel" : "No contiene", +"doesNotEndWithDataGridFilteringLabel" : "no termina con", +"doesNotEqualDataGridFilteringLabel" : "No es igual", +"emptyDataGridFilteringLabel" : "Vacío", +"endsWithDataGridFilteringLabel" : "Termina con", +"equalsDataGridFilteringLabel" : "igual", +"greaterThanDataGridFilteringLabel" : "Mas grande que", +"greaterThanOrEqualDataGridFilteringLabel" : "Mayor que o igual", +"lessThanDataGridFilteringLabel" : "Menos que", +"lessThanOrEqualDataGridFilteringLabel" : "Menor o igual", +"notEmptyDataGridFilteringLabel" : "No vacío", +"notNullDataGridFilteringLabel" : "No nulo", +"nullDataGridFilteringLabel" : "Nulo", +"sortSmallestToLargestDataGridFilteringLabel" : "Ordenar de menor a mayor", +"sortLargestToSmallestDataGridFilteringLabel" : "Ordenar de mayor a menor", +"sortAToZDataGridFilteringLabel" : "Ordenar de la A a la Z", +"sortZToADataGridFilteringLabel" : "Ordenar de Z a A", +"sortOldestToNewestDataGridFilteringLabel" : "Ordenar de más antiguo a más nuevo", +"sortNewestToOldestDataGridFilteringLabel" : "Ordenar de más reciente a más antiguo", +"textFiltersDataGridFilteringLabel" : "Filtros de texto", +"numberFiltersDataGridFilteringLabel" : "Filtros numéricos", +"dateFiltersDataGridFilteringLabel" : "Filtros de fecha", +"searchDataGridFilteringLabel" : "Búsqueda", +"noMatchesDataGridFilteringLabel" : "No hay coincidencias", +"okDataGridFilteringLabel" : "OK", +"cancelDataGridFilteringLabel" : "Cancelar", +"showRowsWhereDataGridFilteringLabel" : "Mostrar filas donde", +"andDataGridFilteringLabel" : "Y", +"orDataGridFilteringLabel" : "O", +"selectAllDataGridFilteringLabel" : "Seleccionar todo", +"sortAndFilterDataGridFilteringLabel" : "Ordenar y filtrar", +"clearFilterDataGridFilteringLabel" : "Filtro claro", +"fromDataGridFilteringLabel" : "De" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_et.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_et.arb index 9746eef9c..07fa7f5bc 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_et.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_et.arb @@ -44,9 +44,9 @@ "dhualhiLabel" : "Dhu al-Hijjah", "shortMuharramLabel" : "Muh.", "shortSafarLabel" : "Saf.", -"shortRabi1Label" : "Rabi. ma", +"shortRabi1Label" : "Rabi. I", "shortRabi2Label" : "Rabi. II", -"shortJumada1Label" : "Jum. ma", +"shortJumada1Label" : "Jum. I", "shortJumada2Label" : "Jum. II", "shortRajabLabel" : "Raj.", "shortShaabanLabel" : "Sha.", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Ava veebileht", "pdfHyperlinkContentLabel" : "Kas soovite lehe avada aadressil", "pdfHyperlinkDialogOpenLabel" : "AVATUD", -"pdfHyperlinkDialogCancelLabel" : "TÜHISTA" +"pdfHyperlinkDialogCancelLabel" : "TÜHISTA", +"afterDataGridFilteringLabel" : "Pärast", +"afterOrEqualDataGridFilteringLabel" : "Pärast või Võrdne", +"beforeDataGridFilteringLabel" : "Enne või Võrdne", +"beforeOrEqualDataGridFilteringLabel" : "Enne", +"beginsWithDataGridFilteringLabel" : "Algab", +"containsDataGridFilteringLabel" : "Sisaldab", +"doesNotBeginWithDataGridFilteringLabel" : "Ei alga", +"doesNotContainDataGridFilteringLabel" : "Ei sisalda", +"doesNotEndWithDataGridFilteringLabel" : "Ei lõpe", +"doesNotEqualDataGridFilteringLabel" : "Ei võrdu", +"emptyDataGridFilteringLabel" : "Tühi", +"endsWithDataGridFilteringLabel" : "Lõpeb", +"equalsDataGridFilteringLabel" : "Võrdub", +"greaterThanDataGridFilteringLabel" : "Suurem kui", +"greaterThanOrEqualDataGridFilteringLabel" : "Suurem Kui või Võrdne", +"lessThanDataGridFilteringLabel" : "Vähem kui", +"lessThanOrEqualDataGridFilteringLabel" : "Väiksem või võrdne", +"notEmptyDataGridFilteringLabel" : "Pole tühi", +"notNullDataGridFilteringLabel" : "Mitte Null", +"nullDataGridFilteringLabel" : "Null", +"sortSmallestToLargestDataGridFilteringLabel" : "Sorteeri väikseimast suurimaks", +"sortLargestToSmallestDataGridFilteringLabel" : "Sorteeri suurimast väikseimani", +"sortAToZDataGridFilteringLabel" : "Sorteeri A–Z", +"sortZToADataGridFilteringLabel" : "Sorteeri Z kuni A", +"sortOldestToNewestDataGridFilteringLabel" : "Sorteeri vanimast uusimaks", +"sortNewestToOldestDataGridFilteringLabel" : "Sorteeri uusimatest vanimateks", +"textFiltersDataGridFilteringLabel" : "Tekstifiltrid", +"numberFiltersDataGridFilteringLabel" : "Numbrifiltrid", +"dateFiltersDataGridFilteringLabel" : "Kuupäeva filtrid", +"searchDataGridFilteringLabel" : "Otsing", +"noMatchesDataGridFilteringLabel" : "Vasteid pole", +"okDataGridFilteringLabel" : "Okei", +"cancelDataGridFilteringLabel" : "Tühista", +"showRowsWhereDataGridFilteringLabel" : "Näita ridu, kus", +"andDataGridFilteringLabel" : "Ja", +"orDataGridFilteringLabel" : "Või", +"selectAllDataGridFilteringLabel" : "Vali kõik", +"sortAndFilterDataGridFilteringLabel" : "Sorteeri ja filtreeri", +"clearFilterDataGridFilteringLabel" : "Tühjenda filter", +"fromDataGridFilteringLabel" : "Alates" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_eu.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_eu.arb index 85c4b41f4..a89f4f1ba 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_eu.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_eu.arb @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Ireki Web orria", "pdfHyperlinkContentLabel" : "Orria ireki nahi al duzu hemen", "pdfHyperlinkDialogOpenLabel" : "IREKI", -"pdfHyperlinkDialogCancelLabel" : "Utzi" +"pdfHyperlinkDialogCancelLabel" : "Utzi", +"afterDataGridFilteringLabel" : "Ondoren", +"afterOrEqualDataGridFilteringLabel" : "Ondoren Edo Berdin", +"beforeDataGridFilteringLabel" : "Aurretik Edo Berdin", +"beforeOrEqualDataGridFilteringLabel" : "Aurretik", +"beginsWithDataGridFilteringLabel" : "Hasten da", +"containsDataGridFilteringLabel" : "Dauka", +"doesNotBeginWithDataGridFilteringLabel" : "Ez Da Hasten", +"doesNotContainDataGridFilteringLabel" : "Ez dauka", +"doesNotEndWithDataGridFilteringLabel" : "Ez Du Bukatzen", +"doesNotEqualDataGridFilteringLabel" : "Ez Du Berdin", +"emptyDataGridFilteringLabel" : "Hutsik", +"endsWithDataGridFilteringLabel" : "Honekin amaitzen da", +"equalsDataGridFilteringLabel" : "Berdin", +"greaterThanDataGridFilteringLabel" : "Baino handiagoa", +"greaterThanOrEqualDataGridFilteringLabel" : "Handiagoa Edo Berdin", +"lessThanDataGridFilteringLabel" : "Baino gutxiago", +"lessThanOrEqualDataGridFilteringLabel" : "Gutxiago Edo Berdin", +"notEmptyDataGridFilteringLabel" : "Ez Hutsik", +"notNullDataGridFilteringLabel" : "Ez Nulua", +"nullDataGridFilteringLabel" : "Nulua", +"sortSmallestToLargestDataGridFilteringLabel" : "Ordenatu txikienetik handienera", +"sortLargestToSmallestDataGridFilteringLabel" : "Ordenatu handienetik txikienetik", +"sortAToZDataGridFilteringLabel" : "Ordenatu Atik Z", +"sortZToADataGridFilteringLabel" : "Ordenatu Ztik A", +"sortOldestToNewestDataGridFilteringLabel" : "Ordenatu zaharrenetik berrienera", +"sortNewestToOldestDataGridFilteringLabel" : "Ordenatu berrienetik zaharrenetik", +"textFiltersDataGridFilteringLabel" : "Testu-iragazkiak", +"numberFiltersDataGridFilteringLabel" : "Zenbaki-iragazkiak", +"dateFiltersDataGridFilteringLabel" : "Data-iragazkiak", +"searchDataGridFilteringLabel" : "Bilatu", +"noMatchesDataGridFilteringLabel" : "Partidurik ez", +"okDataGridFilteringLabel" : "Ados", +"cancelDataGridFilteringLabel" : "Utzi", +"showRowsWhereDataGridFilteringLabel" : "Erakutsi errenkadak non", +"andDataGridFilteringLabel" : "Eta", +"orDataGridFilteringLabel" : "Edo", +"selectAllDataGridFilteringLabel" : "Hautatu guztiak", +"sortAndFilterDataGridFilteringLabel" : "Ordenatu eta Iragazi", +"clearFilterDataGridFilteringLabel" : "Garbitu iragazkia", +"fromDataGridFilteringLabel" : "Bertatik" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_fa.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_fa.arb index 41f030cb7..81b55765d 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_fa.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_fa.arb @@ -42,7 +42,7 @@ "shawwalLabel" : "شوال", "dhualqiLabel" : "ذی القعده", "dhualhiLabel" : "ذی الحجه", -"shortMuharramLabel" : "ماه", +"shortMuharramLabel" : "مه", "shortSafarLabel" : "ساف", "shortRabi1Label" : "ربیع من", "shortRabi2Label" : "ربیع II", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "صفحه وب را باز کنید", "pdfHyperlinkContentLabel" : "آیا می خواهید صفحه را در", "pdfHyperlinkDialogOpenLabel" : "باز کن", -"pdfHyperlinkDialogCancelLabel" : "لغو" +"pdfHyperlinkDialogCancelLabel" : "لغو", +"afterDataGridFilteringLabel" : "بعد از", +"afterOrEqualDataGridFilteringLabel" : "بعد یا برابر", +"beforeDataGridFilteringLabel" : "قبل یا برابر", +"beforeOrEqualDataGridFilteringLabel" : "قبل از", +"beginsWithDataGridFilteringLabel" : "شروع با", +"containsDataGridFilteringLabel" : "حاوی", +"doesNotBeginWithDataGridFilteringLabel" : "با شروع نمی شود", +"doesNotContainDataGridFilteringLabel" : "شامل نمی شود", +"doesNotEndWithDataGridFilteringLabel" : "به پایان نمی رسد", +"doesNotEqualDataGridFilteringLabel" : "برابر نیست", +"emptyDataGridFilteringLabel" : "خالی", +"endsWithDataGridFilteringLabel" : "به پایان می رسد با", +"equalsDataGridFilteringLabel" : "برابر است", +"greaterThanDataGridFilteringLabel" : "بزرگتر از", +"greaterThanOrEqualDataGridFilteringLabel" : "بزرگتر یا مساوی", +"lessThanDataGridFilteringLabel" : "کمتر از", +"lessThanOrEqualDataGridFilteringLabel" : "کمتر یا برابر", +"notEmptyDataGridFilteringLabel" : "خالی نیست", +"notNullDataGridFilteringLabel" : "تهی نیست", +"nullDataGridFilteringLabel" : "خالی", +"sortSmallestToLargestDataGridFilteringLabel" : "مرتب سازی کوچک ترین به بزرگ ترین", +"sortLargestToSmallestDataGridFilteringLabel" : "مرتب سازی بزرگترین به کوچکترین", +"sortAToZDataGridFilteringLabel" : "مرتب سازی A به Z", +"sortZToADataGridFilteringLabel" : "Z به A مرتب کنید", +"sortOldestToNewestDataGridFilteringLabel" : "مرتب سازی قدیمی ترین به جدیدترین", +"sortNewestToOldestDataGridFilteringLabel" : "مرتب سازی جدیدترین به قدیمی ترین", +"textFiltersDataGridFilteringLabel" : "فیلترهای متن", +"numberFiltersDataGridFilteringLabel" : "فیلترهای اعداد", +"dateFiltersDataGridFilteringLabel" : "فیلترهای تاریخ", +"searchDataGridFilteringLabel" : "جستجو کردن", +"noMatchesDataGridFilteringLabel" : "هیچ بازی", +"okDataGridFilteringLabel" : "خوب", +"cancelDataGridFilteringLabel" : "لغو کنید", +"showRowsWhereDataGridFilteringLabel" : "نشان دادن ردیف ها در کجا", +"andDataGridFilteringLabel" : "و", +"orDataGridFilteringLabel" : "یا", +"selectAllDataGridFilteringLabel" : "انتخاب همه", +"sortAndFilterDataGridFilteringLabel" : "مرتب سازی و فیلتر کردن", +"clearFilterDataGridFilteringLabel" : "فیلتر را پاک کنید", +"fromDataGridFilteringLabel" : "از جانب" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_fi.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_fi.arb index 40f5c9f9d..538665b38 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_fi.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_fi.arb @@ -13,7 +13,7 @@ "pdfPaginationDialogOkLabel" : "OK", "pdfPaginationDialogCancelLabel" : "PERUUTTAA", "passwordDialogHeaderTextLabel" : "Salasana suojattu", -"passwordDialogContentLabel" : "Kirjoita salasana avataksesi tämän PDF-tiedoston", +"passwordDialogContentLabel" : "Syötä salasana avataksesi tämän PDF-tiedoston", "passwordDialogHintTextLabel" : "Kirjoita salasana", "passwordDialogInvalidPasswordLabel" : "väärä salasana", "pdfPasswordDialogOpenLabel" : "AVATA", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Avaa Web-sivu", "pdfHyperlinkContentLabel" : "Haluatko avata sivun osoitteessa", "pdfHyperlinkDialogOpenLabel" : "AVATA", -"pdfHyperlinkDialogCancelLabel" : "PERUUTTAA" +"pdfHyperlinkDialogCancelLabel" : "PERUUTTAA", +"afterDataGridFilteringLabel" : "Jälkeen", +"afterOrEqualDataGridFilteringLabel" : "Jälkeen tai Equal", +"beforeDataGridFilteringLabel" : "Ennen tai Tasa-arvoinen", +"beforeOrEqualDataGridFilteringLabel" : "Ennen", +"beginsWithDataGridFilteringLabel" : "Alkaa jollakin", +"containsDataGridFilteringLabel" : "Sisältää", +"doesNotBeginWithDataGridFilteringLabel" : "Ei ala", +"doesNotContainDataGridFilteringLabel" : "Ei sisällä", +"doesNotEndWithDataGridFilteringLabel" : "Ei lopu", +"doesNotEqualDataGridFilteringLabel" : "Ei ole sama", +"emptyDataGridFilteringLabel" : "Tyhjä", +"endsWithDataGridFilteringLabel" : "Loppuu", +"equalsDataGridFilteringLabel" : "Yhtä", +"greaterThanDataGridFilteringLabel" : "Suurempi kuin", +"greaterThanOrEqualDataGridFilteringLabel" : "Suurempi kuin tai yhtä suuri", +"lessThanDataGridFilteringLabel" : "Vähemmän kuin", +"lessThanOrEqualDataGridFilteringLabel" : "Pienempi kuin tai yhtä suuri", +"notEmptyDataGridFilteringLabel" : "Ei tyhjä", +"notNullDataGridFilteringLabel" : "Ei tyhjä", +"nullDataGridFilteringLabel" : "Tyhjä", +"sortSmallestToLargestDataGridFilteringLabel" : "Lajittele pienimmästä suurimpaan", +"sortLargestToSmallestDataGridFilteringLabel" : "Lajittele suurimmasta pienimpään", +"sortAToZDataGridFilteringLabel" : "Lajittele A–Z", +"sortZToADataGridFilteringLabel" : "Lajittele Z-A", +"sortOldestToNewestDataGridFilteringLabel" : "Lajittele vanhimmasta uusimpaan", +"sortNewestToOldestDataGridFilteringLabel" : "Lajittele uusimmasta vanhimpaan", +"textFiltersDataGridFilteringLabel" : "Tekstisuodattimet", +"numberFiltersDataGridFilteringLabel" : "Numerosuodattimet", +"dateFiltersDataGridFilteringLabel" : "Päivämääräsuodattimet", +"searchDataGridFilteringLabel" : "Hae", +"noMatchesDataGridFilteringLabel" : "Ei osumia", +"okDataGridFilteringLabel" : "OK", +"cancelDataGridFilteringLabel" : "Peruuttaa", +"showRowsWhereDataGridFilteringLabel" : "Näytä rivit missä", +"andDataGridFilteringLabel" : "Ja", +"orDataGridFilteringLabel" : "Tai", +"selectAllDataGridFilteringLabel" : "Valitse kaikki", +"sortAndFilterDataGridFilteringLabel" : "Lajittele ja Suodata", +"clearFilterDataGridFilteringLabel" : "Tyhjennä suodatin", +"fromDataGridFilteringLabel" : "From" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_fil.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_fil.arb index 114fff665..a40b07f2d 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_fil.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_fil.arb @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Buksan ang Web Page", "pdfHyperlinkContentLabel" : "Gusto mo bang buksan ang pahina sa", "pdfHyperlinkDialogOpenLabel" : "BUKAS", -"pdfHyperlinkDialogCancelLabel" : "KANSELAHIN" +"pdfHyperlinkDialogCancelLabel" : "KANSELAHIN", +"afterDataGridFilteringLabel" : "Pagkatapos", +"afterOrEqualDataGridFilteringLabel" : "Pagkatapos ng Or Equal", +"beforeDataGridFilteringLabel" : "Bago O Kapantay", +"beforeOrEqualDataGridFilteringLabel" : "dati", +"beginsWithDataGridFilteringLabel" : "Nagsisimula sa", +"containsDataGridFilteringLabel" : "Naglalaman", +"doesNotBeginWithDataGridFilteringLabel" : "Hindi Nagsisimula Sa", +"doesNotContainDataGridFilteringLabel" : "Hindi Naglalaman", +"doesNotEndWithDataGridFilteringLabel" : "Hindi Nagtatapos Sa", +"doesNotEqualDataGridFilteringLabel" : "Ay hindi katumbas ng", +"emptyDataGridFilteringLabel" : "Walang laman", +"endsWithDataGridFilteringLabel" : "Nagtatapos Sa", +"equalsDataGridFilteringLabel" : "katumbas", +"greaterThanDataGridFilteringLabel" : "Mahigit sa", +"greaterThanOrEqualDataGridFilteringLabel" : "Higit sa O Katumbas", +"lessThanDataGridFilteringLabel" : "Mas mababa sa", +"lessThanOrEqualDataGridFilteringLabel" : "Mas Mababa sa O Katumbas", +"notEmptyDataGridFilteringLabel" : "Hindi Walang laman", +"notNullDataGridFilteringLabel" : "Hindi Null", +"nullDataGridFilteringLabel" : "Wala", +"sortSmallestToLargestDataGridFilteringLabel" : "Pagbukud-bukurin ang Pinakamaliit Hanggang Pinakamalaki", +"sortLargestToSmallestDataGridFilteringLabel" : "Pagbukud-bukurin ang Pinakamalaki Hanggang Pinakamaliit", +"sortAToZDataGridFilteringLabel" : "Pagbukud-bukurin A hanggang Z", +"sortZToADataGridFilteringLabel" : "Pagbukud-bukurin ang Z Hanggang A", +"sortOldestToNewestDataGridFilteringLabel" : "Pagbukud-bukurin ang Pinakaluma Hanggang Pinakabago", +"sortNewestToOldestDataGridFilteringLabel" : "Pagbukud-bukurin ang Pinakabago Hanggang sa Pinakaluma", +"textFiltersDataGridFilteringLabel" : "Mga Filter ng Teksto", +"numberFiltersDataGridFilteringLabel" : "Mga Filter ng Numero", +"dateFiltersDataGridFilteringLabel" : "Mga Filter ng Petsa", +"searchDataGridFilteringLabel" : "Maghanap", +"noMatchesDataGridFilteringLabel" : "Walang tugma", +"okDataGridFilteringLabel" : "OK", +"cancelDataGridFilteringLabel" : "Kanselahin", +"showRowsWhereDataGridFilteringLabel" : "Ipakita ang mga hilera kung saan", +"andDataGridFilteringLabel" : "At", +"orDataGridFilteringLabel" : "O kaya", +"selectAllDataGridFilteringLabel" : "Piliin lahat", +"sortAndFilterDataGridFilteringLabel" : "Pagbukud-bukurin at Salain", +"clearFilterDataGridFilteringLabel" : "I-clear ang Filter", +"fromDataGridFilteringLabel" : "Mula sa" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_fr.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_fr.arb index b824885b3..664c079f9 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_fr.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_fr.arb @@ -10,16 +10,16 @@ "pdfGoToPageLabel" : "Aller à la page", "pdfEnterPageNumberLabel" : "Entrer le numéro de page", "pdfInvalidPageNumberLabel" : "S'il vous plait, entrez un nombre valide", -"pdfPaginationDialogOkLabel" : "d'accord", +"pdfPaginationDialogOkLabel" : "D'ACCORD", "pdfPaginationDialogCancelLabel" : "ANNULER", "passwordDialogHeaderTextLabel" : "Protégé par mot de passe", "passwordDialogContentLabel" : "Entrez le mot de passe pour ouvrir ce fichier PDF", "passwordDialogHintTextLabel" : "Entrer le mot de passe", "passwordDialogInvalidPasswordLabel" : "Mot de passe incorrect", -"pdfPasswordDialogOpenLabel" : "OUVRIR", +"pdfPasswordDialogOpenLabel" : "OUVERT", "pdfPasswordDialogCancelLabel" : "ANNULER", "allowedViewDayLabel" : "Jour", -"allowedViewWeekLabel" : "Semaine", +"allowedViewWeekLabel" : "La semaine", "allowedViewWorkWeekLabel" : "Semaine de travail", "allowedViewMonthLabel" : "Mois", "allowedViewScheduleLabel" : "Programme", @@ -28,7 +28,7 @@ "allowedViewTimelineWorkWeekLabel" : "Chronologie de la semaine de travail", "allowedViewTimelineMonthLabel" : "Chronologie Mois", "todayLabel" : "Aujourd'hui", -"weeknumberLabel" : "Semaine", +"weeknumberLabel" : "La semaine", "allDayLabel" : "Toute la journée", "muharramLabel" : "Mouharram", "safarLabel" : "Safar", @@ -41,7 +41,7 @@ "ramadanLabel" : "Ramadan", "shawwalLabel" : "Shawwal", "dhualqiLabel" : "Dhou al-Qi'dah", -"dhualhiLabel" : "Safar", +"dhualhiLabel" : "Dhu al-Hijjah", "shortMuharramLabel" : "Mouh.", "shortSafarLabel" : "Saf.", "shortRabi1Label" : "Rabi. je", @@ -55,9 +55,49 @@ "shortDhualqiLabel" : "Dhu'l-Q", "shortDhualhiLabel" : "Dhu'l-H", "daySpanCountLabel" : "Jour", -"series" : "Séries", +"series" : "Série", "pdfHyperlinkLabel" : "Ouvrir la page Web", "pdfHyperlinkContentLabel" : "Voulez-vous ouvrir la page à", -"pdfHyperlinkDialogOpenLabel" : "OUVRIR", -"pdfHyperlinkDialogCancelLabel" : "ANNULER" +"pdfHyperlinkDialogOpenLabel" : "OUVERT", +"pdfHyperlinkDialogCancelLabel" : "ANNULER", +"afterDataGridFilteringLabel" : "Après", +"afterOrEqualDataGridFilteringLabel" : "Après ou égal", +"beforeDataGridFilteringLabel" : "Avant ou égal", +"beforeOrEqualDataGridFilteringLabel" : "Avant de", +"beginsWithDataGridFilteringLabel" : "Commence par", +"containsDataGridFilteringLabel" : "Contient", +"doesNotBeginWithDataGridFilteringLabel" : "Ne commence pas par", +"doesNotContainDataGridFilteringLabel" : "Ne contient pas", +"doesNotEndWithDataGridFilteringLabel" : "Ne se termine pas par", +"doesNotEqualDataGridFilteringLabel" : "N'est pas égal", +"emptyDataGridFilteringLabel" : "Vide", +"endsWithDataGridFilteringLabel" : "Se termine par", +"equalsDataGridFilteringLabel" : "Équivaut à", +"greaterThanDataGridFilteringLabel" : "Plus grand que", +"greaterThanOrEqualDataGridFilteringLabel" : "Meilleur que ou égal", +"lessThanDataGridFilteringLabel" : "Moins que", +"lessThanOrEqualDataGridFilteringLabel" : "Inférieur ou égal", +"notEmptyDataGridFilteringLabel" : "Pas vide", +"notNullDataGridFilteringLabel" : "Non nul", +"nullDataGridFilteringLabel" : "Nul", +"sortSmallestToLargestDataGridFilteringLabel" : "Trier du plus petit au plus grand", +"sortLargestToSmallestDataGridFilteringLabel" : "Trier du plus grand au plus petit", +"sortAToZDataGridFilteringLabel" : "Trier de A à Z", +"sortZToADataGridFilteringLabel" : "Trier Z à A", +"sortOldestToNewestDataGridFilteringLabel" : "Trier du plus ancien au plus récent", +"sortNewestToOldestDataGridFilteringLabel" : "Trier du plus récent au plus ancien", +"textFiltersDataGridFilteringLabel" : "Filtres de texte", +"numberFiltersDataGridFilteringLabel" : "Filtres numériques", +"dateFiltersDataGridFilteringLabel" : "Filtres de dates", +"searchDataGridFilteringLabel" : "Chercher", +"noMatchesDataGridFilteringLabel" : "Pas de correspondance", +"okDataGridFilteringLabel" : "D'ACCORD", +"cancelDataGridFilteringLabel" : "Annuler", +"showRowsWhereDataGridFilteringLabel" : "Afficher les lignes où", +"andDataGridFilteringLabel" : "Et", +"orDataGridFilteringLabel" : "Ou", +"selectAllDataGridFilteringLabel" : "Tout sélectionner", +"sortAndFilterDataGridFilteringLabel" : "Trier et filtrer", +"clearFilterDataGridFilteringLabel" : "Effacer le filtre", +"fromDataGridFilteringLabel" : "De" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_gl.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_gl.arb index c2b308a23..bbe409464 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_gl.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_gl.arb @@ -24,7 +24,7 @@ "allowedViewMonthLabel" : "Mes", "allowedViewScheduleLabel" : "Horario", "allowedViewTimelineDayLabel" : "Día da cronoloxía", -"allowedViewTimelineWeekLabel" : "Semana do cronograma", +"allowedViewTimelineWeekLabel" : "Timeline Week", "allowedViewTimelineWorkWeekLabel" : "Timeline Work Week", "allowedViewTimelineMonthLabel" : "Mes do cronograma", "todayLabel" : "Hoxe", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Abrir páxina web", "pdfHyperlinkContentLabel" : "Queres abrir a páxina en", "pdfHyperlinkDialogOpenLabel" : "ABERTO", -"pdfHyperlinkDialogCancelLabel" : "CANCELAR" +"pdfHyperlinkDialogCancelLabel" : "CANCELAR", +"afterDataGridFilteringLabel" : "Despois", +"afterOrEqualDataGridFilteringLabel" : "Despois Ou Igual", +"beforeDataGridFilteringLabel" : "Antes Ou Igual", +"beforeOrEqualDataGridFilteringLabel" : "Antes", +"beginsWithDataGridFilteringLabel" : "Comeza por", +"containsDataGridFilteringLabel" : "Contén", +"doesNotBeginWithDataGridFilteringLabel" : "Non Comeza Con", +"doesNotContainDataGridFilteringLabel" : "Non Contén", +"doesNotEndWithDataGridFilteringLabel" : "Non Remata Con", +"doesNotEqualDataGridFilteringLabel" : "Non é igual", +"emptyDataGridFilteringLabel" : "Baleiro", +"endsWithDataGridFilteringLabel" : "Remata con", +"equalsDataGridFilteringLabel" : "Iguais", +"greaterThanDataGridFilteringLabel" : "Máis grande cá", +"greaterThanOrEqualDataGridFilteringLabel" : "Maior Que Ou Igual", +"lessThanDataGridFilteringLabel" : "Menos de", +"lessThanOrEqualDataGridFilteringLabel" : "Menos Ou Igual", +"notEmptyDataGridFilteringLabel" : "Non baleiro", +"notNullDataGridFilteringLabel" : "Non nulo", +"nullDataGridFilteringLabel" : "Nulo", +"sortSmallestToLargestDataGridFilteringLabel" : "Ordenar de menor a maior", +"sortLargestToSmallestDataGridFilteringLabel" : "Ordenar de maior a menor", +"sortAToZDataGridFilteringLabel" : "Ordenar da A a Z", +"sortZToADataGridFilteringLabel" : "Ordenar de Z a A", +"sortOldestToNewestDataGridFilteringLabel" : "Ordenar do máis antigo ao máis novo", +"sortNewestToOldestDataGridFilteringLabel" : "Ordenar o máis novo ao máis antigo", +"textFiltersDataGridFilteringLabel" : "Filtros de texto", +"numberFiltersDataGridFilteringLabel" : "Filtros de número", +"dateFiltersDataGridFilteringLabel" : "Filtros de data", +"searchDataGridFilteringLabel" : "Busca", +"noMatchesDataGridFilteringLabel" : "Non hai coincidencias", +"okDataGridFilteringLabel" : "Ok", +"cancelDataGridFilteringLabel" : "Cancelar", +"showRowsWhereDataGridFilteringLabel" : "Mostrar as filas onde", +"andDataGridFilteringLabel" : "E", +"orDataGridFilteringLabel" : "Ou", +"selectAllDataGridFilteringLabel" : "Seleccionar todo", +"sortAndFilterDataGridFilteringLabel" : "Ordenar e filtrar", +"clearFilterDataGridFilteringLabel" : "Borrar filtro", +"fromDataGridFilteringLabel" : "Desde" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_gu.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_gu.arb index 3066b186b..cb7b3ebc5 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_gu.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_gu.arb @@ -19,7 +19,7 @@ "pdfPasswordDialogOpenLabel" : "ખુલ્લા", "pdfPasswordDialogCancelLabel" : "રદ કરો", "allowedViewDayLabel" : "દિવસ", -"allowedViewWeekLabel" : "સપ્તાહ", +"allowedViewWeekLabel" : "અઠવાડિયું", "allowedViewWorkWeekLabel" : "કાર્ય સપ્તાહ", "allowedViewMonthLabel" : "માસ", "allowedViewScheduleLabel" : "અનુસૂચિ", @@ -28,7 +28,7 @@ "allowedViewTimelineWorkWeekLabel" : "સમયરેખા કાર્ય સપ્તાહ", "allowedViewTimelineMonthLabel" : "સમયરેખા મહિનો", "todayLabel" : "આજે", -"weeknumberLabel" : "સપ્તાહ", +"weeknumberLabel" : "અઠવાડિયું", "allDayLabel" : "બધા દિવસ", "muharramLabel" : "મોહરમ", "safarLabel" : "સફર", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "વેબ પેજ ખોલો", "pdfHyperlinkContentLabel" : "શું તમે પાનું ખોલવા માંગો છો", "pdfHyperlinkDialogOpenLabel" : "ખુલ્લા", -"pdfHyperlinkDialogCancelLabel" : "રદ કરો" +"pdfHyperlinkDialogCancelLabel" : "રદ કરો", +"afterDataGridFilteringLabel" : "પછી", +"afterOrEqualDataGridFilteringLabel" : "અથવા સમાન પછી", +"beforeDataGridFilteringLabel" : "પહેલાં અથવા સમાન", +"beforeOrEqualDataGridFilteringLabel" : "પહેલાં", +"beginsWithDataGridFilteringLabel" : "સાથે શરૂ થાય છે", +"containsDataGridFilteringLabel" : "સમાવે છે", +"doesNotBeginWithDataGridFilteringLabel" : "સાથે શરૂ થતું નથી", +"doesNotContainDataGridFilteringLabel" : "સમાવતું નથી", +"doesNotEndWithDataGridFilteringLabel" : "સાથે સમાપ્ત થતું નથી", +"doesNotEqualDataGridFilteringLabel" : "સમાન નથી", +"emptyDataGridFilteringLabel" : "ખાલી", +"endsWithDataGridFilteringLabel" : "સાથે સમાપ્ત થાય છે", +"equalsDataGridFilteringLabel" : "સમકક્ષ", +"greaterThanDataGridFilteringLabel" : "કરતા વધારે", +"greaterThanOrEqualDataGridFilteringLabel" : "તેના કરતા વધારે અથવા સમાન", +"lessThanDataGridFilteringLabel" : "કરતાં ઓછી", +"lessThanOrEqualDataGridFilteringLabel" : "તેનાથી ઓછું અથવા સમાન", +"notEmptyDataGridFilteringLabel" : "ખાલી નથી", +"notNullDataGridFilteringLabel" : "શૂન્ય નથી", +"nullDataGridFilteringLabel" : "શૂન્ય", +"sortSmallestToLargestDataGridFilteringLabel" : "સૌથી નાનાથી મોટામાં સૉર્ટ કરો", +"sortLargestToSmallestDataGridFilteringLabel" : "સૌથી મોટાથી નાનામાં સૉર્ટ કરો", +"sortAToZDataGridFilteringLabel" : "A થી Z સૉર્ટ કરો", +"sortZToADataGridFilteringLabel" : "Z થી A સૉર્ટ કરો", +"sortOldestToNewestDataGridFilteringLabel" : "સૌથી જૂનાથી નવામાં સૉર્ટ કરો", +"sortNewestToOldestDataGridFilteringLabel" : "સૌથી નવાથી જૂનામાં સૉર્ટ કરો", +"textFiltersDataGridFilteringLabel" : "ટેક્સ્ટ ફિલ્ટર્સ", +"numberFiltersDataGridFilteringLabel" : "નંબર ફિલ્ટર્સ", +"dateFiltersDataGridFilteringLabel" : "તારીખ ફિલ્ટર્સ", +"searchDataGridFilteringLabel" : "શોધો", +"noMatchesDataGridFilteringLabel" : "કોઈ મેળ નથી", +"okDataGridFilteringLabel" : "બરાબર", +"cancelDataGridFilteringLabel" : "રદ કરો", +"showRowsWhereDataGridFilteringLabel" : "જ્યાં પંક્તિઓ બતાવો", +"andDataGridFilteringLabel" : "અને", +"orDataGridFilteringLabel" : "અથવા", +"selectAllDataGridFilteringLabel" : "બધા પસંદ કરો", +"sortAndFilterDataGridFilteringLabel" : "સૉર્ટ કરો અને ફિલ્ટર કરો", +"clearFilterDataGridFilteringLabel" : "ફિલ્ટર સાફ કરો", +"fromDataGridFilteringLabel" : "થી" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_he.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_he.arb index 5c22a840d..dc47ff613 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_he.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_he.arb @@ -3,7 +3,7 @@ "noEventsCalendarLabel" : "אין אירועים", "ofDataPagerLabel" : "שֶׁל", "pagesDataPagerLabel" : "דפים", -"rowsPerPageDataPagerLabel" : "שורות בעמוד", +"rowsPerPageDataPagerLabel" : "שורות לכל עמוד", "pdfBookmarksLabel" : "סימניות", "pdfNoBookmarksLabel" : "לא נמצאו סימניות", "pdfScrollStatusOfLabel" : "שֶׁל", @@ -25,7 +25,7 @@ "allowedViewScheduleLabel" : "לוח זמנים", "allowedViewTimelineDayLabel" : "יום ציר הזמן", "allowedViewTimelineWeekLabel" : "שבוע ציר הזמן", -"allowedViewTimelineWorkWeekLabel" : "שבוע העבודה של ציר הזמן", +"allowedViewTimelineWorkWeekLabel" : "שבוע העבודה של ציר זמן", "allowedViewTimelineMonthLabel" : "חודש ציר הזמן", "todayLabel" : "היום", "weeknumberLabel" : "שָׁבוּעַ", @@ -34,12 +34,12 @@ "safarLabel" : "ספאר", "rabi1Label" : "רבי אל אווול", "rabi2Label" : "רבי אל-תאני", -"jumada1Label" : "ג'ומדה אל-אוואל", +"jumada1Label" : "ג'ומדה אל-אוול", "jumada2Label" : "ג'ומדה אל-ת'אני", "rajabLabel" : "רג'אב", "shaabanLabel" : "שעבן", "ramadanLabel" : "רמדאן", -"shawwalLabel" : "שוואל", +"shawwalLabel" : "שווואל", "dhualqiLabel" : "דהו אל-קיאדה", "dhualhiLabel" : "דהו אל-היג'ה", "shortMuharramLabel" : "מוה.", @@ -57,7 +57,47 @@ "daySpanCountLabel" : "יְוֹם", "series" : "סִדרָה", "pdfHyperlinkLabel" : "פתח את דף האינטרנט", -"pdfHyperlinkContentLabel" : "האם אתה רוצה לפתוח את הדף ב", +"pdfHyperlinkContentLabel" : "האם אתה רוצה לפתוח את העמוד ב", "pdfHyperlinkDialogOpenLabel" : "לִפְתוֹחַ", -"pdfHyperlinkDialogCancelLabel" : "לְבַטֵל" +"pdfHyperlinkDialogCancelLabel" : "לְבַטֵל", +"afterDataGridFilteringLabel" : "לאחר", +"afterOrEqualDataGridFilteringLabel" : "אחרי או שווה", +"beforeDataGridFilteringLabel" : "לפני או שווה", +"beforeOrEqualDataGridFilteringLabel" : "לפני", +"beginsWithDataGridFilteringLabel" : "מתחיל עם", +"containsDataGridFilteringLabel" : "מכיל", +"doesNotBeginWithDataGridFilteringLabel" : "לא מתחיל עם", +"doesNotContainDataGridFilteringLabel" : "לא מכיל", +"doesNotEndWithDataGridFilteringLabel" : "לא מסתיים ב", +"doesNotEqualDataGridFilteringLabel" : "לא שווה", +"emptyDataGridFilteringLabel" : "ריק", +"endsWithDataGridFilteringLabel" : "מסתיים עם", +"equalsDataGridFilteringLabel" : "שווים", +"greaterThanDataGridFilteringLabel" : "גדול מ", +"greaterThanOrEqualDataGridFilteringLabel" : "גדול או שווה", +"lessThanDataGridFilteringLabel" : "פחות מ", +"lessThanOrEqualDataGridFilteringLabel" : "פחות מ או שווה", +"notEmptyDataGridFilteringLabel" : "לא ריק", +"notNullDataGridFilteringLabel" : "לא ריק", +"nullDataGridFilteringLabel" : "ריק", +"sortSmallestToLargestDataGridFilteringLabel" : "מיין מהקטן לגדול ביותר", +"sortLargestToSmallestDataGridFilteringLabel" : "מיין מהגדול לקטן ביותר", +"sortAToZDataGridFilteringLabel" : "מיין מא' עד ת'", +"sortZToADataGridFilteringLabel" : "מיין Z עד A", +"sortOldestToNewestDataGridFilteringLabel" : "מיין מהישן ביותר לחדש ביותר", +"sortNewestToOldestDataGridFilteringLabel" : "מיין מהחדש לישן ביותר", +"textFiltersDataGridFilteringLabel" : "מסנני טקסט", +"numberFiltersDataGridFilteringLabel" : "מסנני מספרים", +"dateFiltersDataGridFilteringLabel" : "מסנני תאריכים", +"searchDataGridFilteringLabel" : "לחפש", +"noMatchesDataGridFilteringLabel" : "אין התאמה", +"okDataGridFilteringLabel" : "בסדר", +"cancelDataGridFilteringLabel" : "לְבַטֵל", +"showRowsWhereDataGridFilteringLabel" : "הצג שורות היכן", +"andDataGridFilteringLabel" : "ו", +"orDataGridFilteringLabel" : "אוֹ", +"selectAllDataGridFilteringLabel" : "בחר הכל", +"sortAndFilterDataGridFilteringLabel" : "מיון ומסנן", +"clearFilterDataGridFilteringLabel" : "נקה מסנן", +"fromDataGridFilteringLabel" : "מ" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_hi.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_hi.arb index c514dde53..64217578f 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_hi.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_hi.arb @@ -8,15 +8,15 @@ "pdfNoBookmarksLabel" : "कोई बुकमार्क नहीं मिला", "pdfScrollStatusOfLabel" : "का", "pdfGoToPageLabel" : "पृष्ठ पर जाओ", -"pdfEnterPageNumberLabel" : "पेज नंबर दर्ज करें", -"pdfInvalidPageNumberLabel" : "कृपया एक सही संख्या डालिये", -"pdfPaginationDialogOkLabel" : "ठीक", -"pdfPaginationDialogCancelLabel" : "रद्द करना", +"pdfEnterPageNumberLabel" : "पृष्ठ संख्या दर्ज करें", +"pdfInvalidPageNumberLabel" : "कृपया सही अंक दर्ज करें", +"pdfPaginationDialogOkLabel" : "ठीक है", +"pdfPaginationDialogCancelLabel" : "रद्द करना", "passwordDialogHeaderTextLabel" : "पासवर्ड से सुरक्षित", -"passwordDialogContentLabel" : "इस पीडीएफ फाइल को खोलने के लिए पासवर्ड दर्ज करें", +"passwordDialogContentLabel" : "इस पीडीएफ फाइल को खोलने के लिए पासवर्ड डालें", "passwordDialogHintTextLabel" : "पास वर्ड दर्ज करें", "passwordDialogInvalidPasswordLabel" : "अवैध पासवर्ड", -"pdfPasswordDialogOpenLabel" : "खुला हुआ", +"pdfPasswordDialogOpenLabel" : "खोलना", "pdfPasswordDialogCancelLabel" : "रद्द करना", "allowedViewDayLabel" : "दिन", "allowedViewWeekLabel" : "सप्ताह", @@ -33,31 +33,71 @@ "muharramLabel" : "मुहर्रम", "safarLabel" : "सफ़र", "rabi1Label" : "रबी अल-अव्वल", -"rabi2Label" : "रबी अल-थानी", +"rabi2Label" : "रबी 'अल-थानी", "jumada1Label" : "जुमादा अल-अव्वल", "jumada2Label" : "जुमादा अल-थानी", -"rajabLabel" : "राजाबी", -"shaabanLabel" : "शाबानो", +"rajabLabel" : "रज्जब", +"shaabanLabel" : "शाबान", "ramadanLabel" : "रमजान", "shawwalLabel" : "शावाल", -"dhualqiLabel" : "धू अल क़िदाही", -"dhualhiLabel" : "धू अल-हिज्जाही", -"shortMuharramLabel" : "मुह.", -"shortSafarLabel" : "साफ.", +"dhualqiLabel" : "धू अल-क़ीदाह", +"dhualhiLabel" : "धू अल-हिज्जाह", +"shortMuharramLabel" : "मुह।", +"shortSafarLabel" : "सफ।", "shortRabi1Label" : "रबी। मैं", "shortRabi2Label" : "रबी। द्वितीय", -"shortJumada1Label" : "जम. मैं", -"shortJumada2Label" : "जम. द्वितीय", -"shortRajabLabel" : "राज.", +"shortJumada1Label" : "जम। मैं", +"shortJumada2Label" : "जम। द्वितीय", +"shortRajabLabel" : "राज।", "shortShaabanLabel" : "शा.", "shortRamadanLabel" : "टक्कर मारना।", "shortShawwalLabel" : "शॉ।", "shortDhualqiLabel" : "धुल-क्यू", -"shortDhualhiLabel" : "धुल-हो", +"shortDhualhiLabel" : "धुल-एच", "daySpanCountLabel" : "दिन", "series" : "श्रृंखला", "pdfHyperlinkLabel" : "वेब पेज खोलें", -"pdfHyperlinkContentLabel" : "क्या आप यहां पेज खोलना चाहते हैं", -"pdfHyperlinkDialogOpenLabel" : "खुला", -"pdfHyperlinkDialogCancelLabel" : "रद्द करें" +"pdfHyperlinkContentLabel" : "क्या आप पर पृष्ठ खोलना चाहते हैं", +"pdfHyperlinkDialogOpenLabel" : "खोलना", +"pdfHyperlinkDialogCancelLabel" : "रद्द करना", +"afterDataGridFilteringLabel" : "बाद में", +"afterOrEqualDataGridFilteringLabel" : "के बाद या बराबर", +"beforeDataGridFilteringLabel" : "पहले या बराबर", +"beforeOrEqualDataGridFilteringLabel" : "पहले", +"beginsWithDataGridFilteringLabel" : "साथ शुरू होता है", +"containsDataGridFilteringLabel" : "रोकना", +"doesNotBeginWithDataGridFilteringLabel" : "से प्रारंभ नहीं होता है", +"doesNotContainDataGridFilteringLabel" : "शामिल नहीं है", +"doesNotEndWithDataGridFilteringLabel" : "से समाप्त नहीं होता है", +"doesNotEqualDataGridFilteringLabel" : "बराबर नही हैं", +"emptyDataGridFilteringLabel" : "खाली", +"endsWithDataGridFilteringLabel" : "इसी के साथ समाप्त होता है", +"equalsDataGridFilteringLabel" : "बराबर", +"greaterThanDataGridFilteringLabel" : "से अधिक", +"greaterThanOrEqualDataGridFilteringLabel" : "से बड़ा या बराबर", +"lessThanDataGridFilteringLabel" : "से कम", +"lessThanOrEqualDataGridFilteringLabel" : "इससे कम या इसके बराबर", +"notEmptyDataGridFilteringLabel" : "खाली नहीं है", +"notNullDataGridFilteringLabel" : "शून्य नहीं", +"nullDataGridFilteringLabel" : "शून्य", +"sortSmallestToLargestDataGridFilteringLabel" : "सबसे छोटे से बड़े के क्रम में लगाएं", +"sortLargestToSmallestDataGridFilteringLabel" : "सबसे बड़े को सबसे छोटे के क्रम में लगाएं", +"sortAToZDataGridFilteringLabel" : "A से Z तक क्रमबद्ध करें", +"sortZToADataGridFilteringLabel" : "Z से A तक क्रमबद्ध करें", +"sortOldestToNewestDataGridFilteringLabel" : "सबसे पुराने से नए के क्रम में लगाएं", +"sortNewestToOldestDataGridFilteringLabel" : "सबसे नए से सबसे पुराने के क्रम में लगाएं", +"textFiltersDataGridFilteringLabel" : "पाठ फ़िल्टर", +"numberFiltersDataGridFilteringLabel" : "नंबर फिल्टर", +"dateFiltersDataGridFilteringLabel" : "दिनांक फ़िल्टर", +"searchDataGridFilteringLabel" : "खोज", +"noMatchesDataGridFilteringLabel" : "कोई मेल नहीं", +"okDataGridFilteringLabel" : "ठीक है", +"cancelDataGridFilteringLabel" : "रद्द करना", +"showRowsWhereDataGridFilteringLabel" : "पंक्तियाँ कहाँ दिखाएँ", +"andDataGridFilteringLabel" : "और", +"orDataGridFilteringLabel" : "या", +"selectAllDataGridFilteringLabel" : "सभी का चयन करे", +"sortAndFilterDataGridFilteringLabel" : "क्रमबद्ध करें और फ़िल्टर करें", +"clearFilterDataGridFilteringLabel" : "स्पष्ट निस्यंदक", +"fromDataGridFilteringLabel" : "से" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_hr.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_hr.arb index 35ba33063..adf745080 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_hr.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_hr.arb @@ -2,21 +2,21 @@ "noSelectedDateCalendarLabel" : "Nema odabranog datuma", "noEventsCalendarLabel" : "Nema događaja", "ofDataPagerLabel" : "od", -"pagesDataPagerLabel" : "stranicama", +"pagesDataPagerLabel" : "stranice", "rowsPerPageDataPagerLabel" : "Redovi po stranici", "pdfBookmarksLabel" : "Oznake", -"pdfNoBookmarksLabel" : "Nije pronađena nijedna oznaka", +"pdfNoBookmarksLabel" : "Nema pronađenih oznaka", "pdfScrollStatusOfLabel" : "od", "pdfGoToPageLabel" : "Idi na stranicu", "pdfEnterPageNumberLabel" : "Unesite broj stranice", -"pdfInvalidPageNumberLabel" : "Unesite valjani broj", +"pdfInvalidPageNumberLabel" : "Unesite važeći broj", "pdfPaginationDialogOkLabel" : "u redu", "pdfPaginationDialogCancelLabel" : "OTKAZATI", "passwordDialogHeaderTextLabel" : "Lozinka zaštićena", "passwordDialogContentLabel" : "Unesite lozinku za otvaranje ove PDF datoteke", "passwordDialogHintTextLabel" : "Upišite lozinku", "passwordDialogInvalidPasswordLabel" : "Netočna zaporka", -"pdfPasswordDialogOpenLabel" : "OTVORENA", +"pdfPasswordDialogOpenLabel" : "OTVORENA", "pdfPasswordDialogCancelLabel" : "OTKAZATI", "allowedViewDayLabel" : "Dan", "allowedViewWeekLabel" : "Tjedan", @@ -30,18 +30,18 @@ "todayLabel" : "Danas", "weeknumberLabel" : "Tjedan", "allDayLabel" : "Cijeli dan", -"muharramLabel" : "Muharem", +"muharramLabel" : "Muharrema", "safarLabel" : "Safar", -"rabi1Label" : "Rabi' el-evval", +"rabi1Label" : "Rabi' al-awwal", "rabi2Label" : "Rabi' al-thani", -"jumada1Label" : "Jumada al-awwal", +"jumada1Label" : "džumade el-evval", "jumada2Label" : "Jumada al-thani", -"rajabLabel" : "Radžab", -"shaabanLabel" : "Sha'aban", -"ramadanLabel" : "ramazana", -"shawwalLabel" : "Shawwal", +"rajabLabel" : "Radžeb", +"shaabanLabel" : "ša'aban", +"ramadanLabel" : "Ramazan", +"shawwalLabel" : "ševval", "dhualqiLabel" : "Dhu al-Qi'dah", -"dhualhiLabel" : "Dhu al-Hijjah", +"dhualhiLabel" : "zul-hidždže", "shortMuharramLabel" : "Muh.", "shortSafarLabel" : "Saf.", "shortRabi1Label" : "Rabi. ja", @@ -52,12 +52,52 @@ "shortShaabanLabel" : "Sha.", "shortRamadanLabel" : "Radna memorija.", "shortShawwalLabel" : "Shaw.", -"shortDhualqiLabel" : "Dhu'l-Q", -"shortDhualhiLabel" : "Dhu'l-H", +"shortDhualqiLabel" : "Zul-Q", +"shortDhualhiLabel" : "Zul-H", "daySpanCountLabel" : "Dan", "series" : "Niz", -"pdfHyperlinkLabel" : "Otvorite web stranicu", +"pdfHyperlinkLabel" : "Otvori web stranicu", "pdfHyperlinkContentLabel" : "Želite li otvoriti stranicu na", -"pdfHyperlinkDialogOpenLabel" : "OTVOREN", -"pdfHyperlinkDialogCancelLabel" : "OTKAZATI" +"pdfHyperlinkDialogOpenLabel" : "OTVORENA", +"pdfHyperlinkDialogCancelLabel" : "OTKAZATI", +"afterDataGridFilteringLabel" : "Nakon", +"afterOrEqualDataGridFilteringLabel" : "Nakon ili jednako", +"beforeDataGridFilteringLabel" : "Prije ili jednako", +"beforeOrEqualDataGridFilteringLabel" : "Prije", +"beginsWithDataGridFilteringLabel" : "Počinje sa", +"containsDataGridFilteringLabel" : "Sadrži", +"doesNotBeginWithDataGridFilteringLabel" : "Ne počinje s", +"doesNotContainDataGridFilteringLabel" : "Ne sadrži", +"doesNotEndWithDataGridFilteringLabel" : "Ne završava sa", +"doesNotEqualDataGridFilteringLabel" : "Nije jednako", +"emptyDataGridFilteringLabel" : "Prazan", +"endsWithDataGridFilteringLabel" : "Završava sa", +"equalsDataGridFilteringLabel" : "Jednako", +"greaterThanDataGridFilteringLabel" : "Veći od", +"greaterThanOrEqualDataGridFilteringLabel" : "Veće ili jednako", +"lessThanDataGridFilteringLabel" : "Manje od", +"lessThanOrEqualDataGridFilteringLabel" : "Manje ili jednako", +"notEmptyDataGridFilteringLabel" : "Nije prazno", +"notNullDataGridFilteringLabel" : "Nije Null", +"nullDataGridFilteringLabel" : "Null", +"sortSmallestToLargestDataGridFilteringLabel" : "Poredaj od najmanjeg do najvećeg", +"sortLargestToSmallestDataGridFilteringLabel" : "Poredaj od najvećeg prema najmanjem", +"sortAToZDataGridFilteringLabel" : "Poredaj od A do Z", +"sortZToADataGridFilteringLabel" : "Poredaj od Z do A", +"sortOldestToNewestDataGridFilteringLabel" : "Poredaj od najstarijeg do najnovijeg", +"sortNewestToOldestDataGridFilteringLabel" : "Poredaj od najnovijeg do najstarijeg", +"textFiltersDataGridFilteringLabel" : "Filtri teksta", +"numberFiltersDataGridFilteringLabel" : "Filtri brojeva", +"dateFiltersDataGridFilteringLabel" : "Filtri datuma", +"searchDataGridFilteringLabel" : "traži", +"noMatchesDataGridFilteringLabel" : "Nema podudaranja", +"okDataGridFilteringLabel" : "u redu", +"cancelDataGridFilteringLabel" : "Otkazati", +"showRowsWhereDataGridFilteringLabel" : "Pokaži retke gdje", +"andDataGridFilteringLabel" : "I", +"orDataGridFilteringLabel" : "Ili", +"selectAllDataGridFilteringLabel" : "Odaberi sve", +"sortAndFilterDataGridFilteringLabel" : "Sortiraj i filtriraj", +"clearFilterDataGridFilteringLabel" : "Obriši filtar", +"fromDataGridFilteringLabel" : "Iz" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_hu.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_hu.arb index a311504ee..e90f14858 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_hu.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_hu.arb @@ -9,7 +9,7 @@ "pdfScrollStatusOfLabel" : "nak,-nek", "pdfGoToPageLabel" : "Menj az oldalra", "pdfEnterPageNumberLabel" : "Írja be az oldalszámot", -"pdfInvalidPageNumberLabel" : "Adjon meg egy érvényes számot", +"pdfInvalidPageNumberLabel" : "Kérjük, adjon meg egy érvényes számot", "pdfPaginationDialogOkLabel" : "rendben", "pdfPaginationDialogCancelLabel" : "MEGSZÜNTETI", "passwordDialogHeaderTextLabel" : "Jelszóval védett", @@ -38,7 +38,7 @@ "jumada2Label" : "Jumada al-thani", "rajabLabel" : "Rajab", "shaabanLabel" : "Sha'aban", -"ramadanLabel" : "Ramadan", +"ramadanLabel" : "Ramadán", "shawwalLabel" : "Shawwal", "dhualqiLabel" : "Dhu al-Qi'dah", "dhualhiLabel" : "Dhu al-Hijjah", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Weboldal megnyitása", "pdfHyperlinkContentLabel" : "Meg akarja nyitni az oldalt a címen", "pdfHyperlinkDialogOpenLabel" : "NYISD KI", -"pdfHyperlinkDialogCancelLabel" : "MEGSZÜNTETI" +"pdfHyperlinkDialogCancelLabel" : "MEGSZÜNTETI", +"afterDataGridFilteringLabel" : "Után", +"afterOrEqualDataGridFilteringLabel" : "Után vagy egyenlő", +"beforeDataGridFilteringLabel" : "Előtte vagy egyenlő", +"beforeOrEqualDataGridFilteringLabel" : "Előtt", +"beginsWithDataGridFilteringLabel" : "Ezzel kezdődik", +"containsDataGridFilteringLabel" : "Tartalmaz", +"doesNotBeginWithDataGridFilteringLabel" : "Nem azzal kezdődik", +"doesNotContainDataGridFilteringLabel" : "Nem tartalmaz", +"doesNotEndWithDataGridFilteringLabel" : "Nem ér véget", +"doesNotEqualDataGridFilteringLabel" : "Nem egyenlő", +"emptyDataGridFilteringLabel" : "Üres", +"endsWithDataGridFilteringLabel" : "Végződik", +"equalsDataGridFilteringLabel" : "Egyenlő", +"greaterThanDataGridFilteringLabel" : "Nagyobb, mint", +"greaterThanOrEqualDataGridFilteringLabel" : "Nagyobb, mint vagy egyenlő", +"lessThanDataGridFilteringLabel" : "Kevesebb, mint", +"lessThanOrEqualDataGridFilteringLabel" : "Kevesebb, mint vagy egyenlő", +"notEmptyDataGridFilteringLabel" : "Nem üres", +"notNullDataGridFilteringLabel" : "Nem nulla", +"nullDataGridFilteringLabel" : "Nulla", +"sortSmallestToLargestDataGridFilteringLabel" : "Rendezés a legkisebbtől a legnagyobbig", +"sortLargestToSmallestDataGridFilteringLabel" : "Rendezés a legnagyobbtól a legkisebbig", +"sortAToZDataGridFilteringLabel" : "Rendezés A-tól Z-ig", +"sortZToADataGridFilteringLabel" : "Rendezés Z-ből A-ba", +"sortOldestToNewestDataGridFilteringLabel" : "Rendezés a legrégebbitől a legújabbig", +"sortNewestToOldestDataGridFilteringLabel" : "Rendezés a legújabbtól a legrégebbig", +"textFiltersDataGridFilteringLabel" : "Szövegszűrők", +"numberFiltersDataGridFilteringLabel" : "Számszűrők", +"dateFiltersDataGridFilteringLabel" : "Dátumszűrők", +"searchDataGridFilteringLabel" : "Keresés", +"noMatchesDataGridFilteringLabel" : "Nincs egyezés", +"okDataGridFilteringLabel" : "rendben", +"cancelDataGridFilteringLabel" : "Megszünteti", +"showRowsWhereDataGridFilteringLabel" : "Sorok megjelenítése hol", +"andDataGridFilteringLabel" : "És", +"orDataGridFilteringLabel" : "Vagy", +"selectAllDataGridFilteringLabel" : "Mindet kiválaszt", +"sortAndFilterDataGridFilteringLabel" : "Rendezés és szűrés", +"clearFilterDataGridFilteringLabel" : "Szűrő törlése", +"fromDataGridFilteringLabel" : "Tól től" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_hy.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_hy.arb index fc6cfa71e..d5cf637df 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_hy.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_hy.arb @@ -30,11 +30,11 @@ "todayLabel" : "Այսօր", "weeknumberLabel" : "Շաբաթ", "allDayLabel" : "Ամբողջ օրը", -"muharramLabel" : "Մուհարամ", +"muharramLabel" : "Մուհարրամ", "safarLabel" : "Սաֆար", "rabi1Label" : "Ռաբի ալ-ավալ", "rabi2Label" : "Ռաբի ալ-Թանի", -"jumada1Label" : "Ջումադա ալ-ավալ", +"jumada1Label" : "Ջումադա ալ-ավվալ", "jumada2Label" : "Ջումադա ալ-Թանի", "rajabLabel" : "Ռաջաբ", "shaabanLabel" : "Շաաբան", @@ -52,12 +52,52 @@ "shortShaabanLabel" : "Շա.", "shortRamadanLabel" : "Խոյ.", "shortShawwalLabel" : "Շոու.", -"shortDhualqiLabel" : "Դհուլ-Ք", +"shortDhualqiLabel" : "Դհուլ-Ք", "shortDhualhiLabel" : "Դհուլ-Հ", "daySpanCountLabel" : "Օր", "series" : "Սերիա", "pdfHyperlinkLabel" : "Բացեք վեբ էջը", -"pdfHyperlinkContentLabel" : "Ցանկանու՞մ եք բացել էջը ժամը", +"pdfHyperlinkContentLabel" : "Ցանկանու՞մ եք բացել էջը", "pdfHyperlinkDialogOpenLabel" : "ԲԱՑ", -"pdfHyperlinkDialogCancelLabel" : "ՉԵՂԱՐԿԵԼ" +"pdfHyperlinkDialogCancelLabel" : "ՉԵՂԱՐԿԵԼ", +"afterDataGridFilteringLabel" : "հետո", +"afterOrEqualDataGridFilteringLabel" : "Կամ հավասարից հետո", +"beforeDataGridFilteringLabel" : "Նախքան կամ հավասարը", +"beforeOrEqualDataGridFilteringLabel" : "Նախքան", +"beginsWithDataGridFilteringLabel" : "Սկսվում է", +"containsDataGridFilteringLabel" : "Պարունակում է", +"doesNotBeginWithDataGridFilteringLabel" : "Չի սկսվում", +"doesNotContainDataGridFilteringLabel" : "Չի պարունակում", +"doesNotEndWithDataGridFilteringLabel" : "Չի ավարտվում", +"doesNotEqualDataGridFilteringLabel" : "Չի հավասարվում", +"emptyDataGridFilteringLabel" : "Դատարկ", +"endsWithDataGridFilteringLabel" : "Ավարտվում է", +"equalsDataGridFilteringLabel" : "Հավասար է", +"greaterThanDataGridFilteringLabel" : "Ավելի մեծ քան", +"greaterThanOrEqualDataGridFilteringLabel" : "Ավելի մեծ, քան հավասար", +"lessThanDataGridFilteringLabel" : "Ավելի քիչ քան", +"lessThanOrEqualDataGridFilteringLabel" : "Ավելի քիչ, քան հավասար", +"notEmptyDataGridFilteringLabel" : "Ոչ դատարկ", +"notNullDataGridFilteringLabel" : "Ոչ զրոյական", +"nullDataGridFilteringLabel" : "Դատարկ", +"sortSmallestToLargestDataGridFilteringLabel" : "Տեսակավորել ամենափոքրից ամենամեծը", +"sortLargestToSmallestDataGridFilteringLabel" : "Տեսակավորել ամենամեծից փոքրից", +"sortAToZDataGridFilteringLabel" : "Տեսակավորել A-ից Z", +"sortZToADataGridFilteringLabel" : "Տեսակավորել Z-ը A-ին", +"sortOldestToNewestDataGridFilteringLabel" : "Տեսակավորել ամենահինը նորագույնին", +"sortNewestToOldestDataGridFilteringLabel" : "Տեսակավորել ամենանորից ամենահինը", +"textFiltersDataGridFilteringLabel" : "Տեքստի զտիչներ", +"numberFiltersDataGridFilteringLabel" : "Թվերի զտիչներ", +"dateFiltersDataGridFilteringLabel" : "Ամսաթվի զտիչներ", +"searchDataGridFilteringLabel" : "Որոնում", +"noMatchesDataGridFilteringLabel" : "Համընկնումներ չկան", +"okDataGridFilteringLabel" : "լավ", +"cancelDataGridFilteringLabel" : "Չեղարկել", +"showRowsWhereDataGridFilteringLabel" : "Ցույց տալ տողերը, որտեղ", +"andDataGridFilteringLabel" : "Եվ", +"orDataGridFilteringLabel" : "Կամ", +"selectAllDataGridFilteringLabel" : "Ընտրել բոլորը", +"sortAndFilterDataGridFilteringLabel" : "Տեսակավորել և զտել", +"clearFilterDataGridFilteringLabel" : "Մաքրել զտիչը", +"fromDataGridFilteringLabel" : "Սկսած" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_id.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_id.arb index 55601d9b2..dc91a5824 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_id.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_id.arb @@ -9,8 +9,8 @@ "pdfScrollStatusOfLabel" : "dari", "pdfGoToPageLabel" : "Buka halaman", "pdfEnterPageNumberLabel" : "Masukkan nomor halaman", -"pdfInvalidPageNumberLabel" : "Harap masukkan nomor yang valid", -"pdfPaginationDialogOkLabel" : "oke", +"pdfInvalidPageNumberLabel" : "Masukkan nomor yang valid", +"pdfPaginationDialogOkLabel" : "Oke", "pdfPaginationDialogCancelLabel" : "MEMBATALKAN", "passwordDialogHeaderTextLabel" : "Dilindungi Kata Sandi", "passwordDialogContentLabel" : "Masukkan kata sandi untuk membuka file PDF ini", @@ -20,19 +20,19 @@ "pdfPasswordDialogCancelLabel" : "MEMBATALKAN", "allowedViewDayLabel" : "Hari", "allowedViewWeekLabel" : "Pekan", -"allowedViewWorkWeekLabel" : "minggu kerja", +"allowedViewWorkWeekLabel" : "Minggu Kerja", "allowedViewMonthLabel" : "Bulan", "allowedViewScheduleLabel" : "Jadwal", "allowedViewTimelineDayLabel" : "Hari Garis Waktu", -"allowedViewTimelineWeekLabel" : "Garis Waktu Minggu", -"allowedViewTimelineWorkWeekLabel" : "Garis Waktu Minggu Kerja", -"allowedViewTimelineMonthLabel" : "Garis Waktu Bulan", +"allowedViewTimelineWeekLabel" : "Minggu Garis Waktu", +"allowedViewTimelineWorkWeekLabel" : "Minggu Kerja Timeline", +"allowedViewTimelineMonthLabel" : "Bulan Garis Waktu", "todayLabel" : "Hari ini", "weeknumberLabel" : "Pekan", "allDayLabel" : "Sepanjang hari", "muharramLabel" : "Muharram", -"safarLabel" : "Safari", -"rabi1Label" : "Rabi' al-awwal", +"safarLabel" : "Safar", +"rabi1Label" : "Rabi' al-awal", "rabi2Label" : "Rabi' al-thani", "jumada1Label" : "Jumada al-awwal", "jumada2Label" : "Jumada al-thani", @@ -40,24 +40,64 @@ "shaabanLabel" : "Sya'ban", "ramadanLabel" : "Ramadan", "shawwalLabel" : "Syawal", -"dhualqiLabel" : "Dzulqidah", +"dhualqiLabel" : "Dhu al-Qidah", "dhualhiLabel" : "Dzulhijjah", "shortMuharramLabel" : "Muh.", -"shortSafarLabel" : "saf.", -"shortRabi1Label" : "Rabi. saya", +"shortSafarLabel" : "Aman", +"shortRabi1Label" : "Rabi. Saya", "shortRabi2Label" : "Rabi. II", -"shortJumada1Label" : "Jum. saya", +"shortJumada1Label" : "Jum. Saya", "shortJumada2Label" : "Jum. II", "shortRajabLabel" : "Raj.", "shortShaabanLabel" : "Sha.", -"shortRamadanLabel" : "Rama.", -"shortShawwalLabel" : "Shaw", -"shortDhualqiLabel" : "Dzul Q", -"shortDhualhiLabel" : "Dhu'l-H", +"shortRamadanLabel" : "Ram.", +"shortShawwalLabel" : "Shaw.", +"shortDhualqiLabel" : "Dzul-Q", +"shortDhualhiLabel" : "Dzul-H", "daySpanCountLabel" : "Hari", "series" : "Seri", "pdfHyperlinkLabel" : "Buka Halaman Web", "pdfHyperlinkContentLabel" : "Apakah Anda ingin membuka halaman di", "pdfHyperlinkDialogOpenLabel" : "MEMBUKA", -"pdfHyperlinkDialogCancelLabel" : "MEMBATALKAN" +"pdfHyperlinkDialogCancelLabel" : "MEMBATALKAN", +"afterDataGridFilteringLabel" : "Setelah", +"afterOrEqualDataGridFilteringLabel" : "Setelah Atau Sama", +"beforeDataGridFilteringLabel" : "Sebelum Atau Sama", +"beforeOrEqualDataGridFilteringLabel" : "Sebelum", +"beginsWithDataGridFilteringLabel" : "Dimulai dengan", +"containsDataGridFilteringLabel" : "Mengandung", +"doesNotBeginWithDataGridFilteringLabel" : "Tidak Dimulai Dengan", +"doesNotContainDataGridFilteringLabel" : "Tidak mengandung", +"doesNotEndWithDataGridFilteringLabel" : "Tidak Berakhir Dengan", +"doesNotEqualDataGridFilteringLabel" : "Tidak sama", +"emptyDataGridFilteringLabel" : "Kosong", +"endsWithDataGridFilteringLabel" : "Berakhir dengan", +"equalsDataGridFilteringLabel" : "Sama dengan", +"greaterThanDataGridFilteringLabel" : "Lebih besar dari", +"greaterThanOrEqualDataGridFilteringLabel" : "Lebih Besar Dari Atau Sama Dengan", +"lessThanDataGridFilteringLabel" : "Kurang dari", +"lessThanOrEqualDataGridFilteringLabel" : "Kurang Dari Atau Sama", +"notEmptyDataGridFilteringLabel" : "Tidak kosong", +"notNullDataGridFilteringLabel" : "Bukan Nol", +"nullDataGridFilteringLabel" : "Batal", +"sortSmallestToLargestDataGridFilteringLabel" : "Urutkan Terkecil Hingga Terbesar", +"sortLargestToSmallestDataGridFilteringLabel" : "Urutkan Terbesar Hingga Terkecil", +"sortAToZDataGridFilteringLabel" : "Urutkan A Sampai Z", +"sortZToADataGridFilteringLabel" : "Urutkan Z Ke A", +"sortOldestToNewestDataGridFilteringLabel" : "Urutkan Terlama Ke Terbaru", +"sortNewestToOldestDataGridFilteringLabel" : "Urutkan Terbaru Ke Terlama", +"textFiltersDataGridFilteringLabel" : "Filter Teks", +"numberFiltersDataGridFilteringLabel" : "Filter Angka", +"dateFiltersDataGridFilteringLabel" : "Filter Tanggal", +"searchDataGridFilteringLabel" : "Mencari", +"noMatchesDataGridFilteringLabel" : "Tidak ada yang cocok", +"okDataGridFilteringLabel" : "Oke", +"cancelDataGridFilteringLabel" : "Membatalkan", +"showRowsWhereDataGridFilteringLabel" : "Tampilkan baris di mana", +"andDataGridFilteringLabel" : "Dan", +"orDataGridFilteringLabel" : "Atau", +"selectAllDataGridFilteringLabel" : "Pilih Semua", +"sortAndFilterDataGridFilteringLabel" : "Sortir dan Filter", +"clearFilterDataGridFilteringLabel" : "Hapus Filter", +"fromDataGridFilteringLabel" : "Dari" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_is.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_is.arb index 0614fc323..a9ea9b496 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_is.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_is.arb @@ -9,7 +9,7 @@ "pdfScrollStatusOfLabel" : "af", "pdfGoToPageLabel" : "Farðu á síðu", "pdfEnterPageNumberLabel" : "Sláðu inn blaðsíðunúmer", -"pdfInvalidPageNumberLabel" : "Vinsamlega sláðu inn gilt númer", +"pdfInvalidPageNumberLabel" : "Vinsamlegast sláðu inn gilt númer", "pdfPaginationDialogOkLabel" : "Allt í lagi", "pdfPaginationDialogCancelLabel" : "HÆTTA við", "passwordDialogHeaderTextLabel" : "Lykilorð varið", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Opnaðu vefsíðu", "pdfHyperlinkContentLabel" : "Viltu opna síðuna á", "pdfHyperlinkDialogOpenLabel" : "OPNA", -"pdfHyperlinkDialogCancelLabel" : "HÆTTA við" +"pdfHyperlinkDialogCancelLabel" : "HÆTTA við", +"afterDataGridFilteringLabel" : "Eftir", +"afterOrEqualDataGridFilteringLabel" : "Eftir Or Equal", +"beforeDataGridFilteringLabel" : "Áður eða jafnt", +"beforeOrEqualDataGridFilteringLabel" : "Áður", +"beginsWithDataGridFilteringLabel" : "Byrjar með", +"containsDataGridFilteringLabel" : "Inniheldur", +"doesNotBeginWithDataGridFilteringLabel" : "Byrjar ekki á", +"doesNotContainDataGridFilteringLabel" : "Inniheldur ekki", +"doesNotEndWithDataGridFilteringLabel" : "Endar ekki með", +"doesNotEqualDataGridFilteringLabel" : "Er ekki jafn", +"emptyDataGridFilteringLabel" : "Tómt", +"endsWithDataGridFilteringLabel" : "Endar Með", +"equalsDataGridFilteringLabel" : "Jafnt", +"greaterThanDataGridFilteringLabel" : "Meiri en", +"greaterThanOrEqualDataGridFilteringLabel" : "Stærri en eða jafn", +"lessThanDataGridFilteringLabel" : "Minna en", +"lessThanOrEqualDataGridFilteringLabel" : "Minna en eða jafnt", +"notEmptyDataGridFilteringLabel" : "Ekki tómt", +"notNullDataGridFilteringLabel" : "Ekki Null", +"nullDataGridFilteringLabel" : "Núll", +"sortSmallestToLargestDataGridFilteringLabel" : "Raða minnstu í stærstu", +"sortLargestToSmallestDataGridFilteringLabel" : "Raða Stærsta Til Minnsta", +"sortAToZDataGridFilteringLabel" : "Raða A Til Ö", +"sortZToADataGridFilteringLabel" : "Raða Z Til A", +"sortOldestToNewestDataGridFilteringLabel" : "Raða elstu í nýjustu", +"sortNewestToOldestDataGridFilteringLabel" : "Raða nýjustu í elstu", +"textFiltersDataGridFilteringLabel" : "Textasíur", +"numberFiltersDataGridFilteringLabel" : "Númerasíur", +"dateFiltersDataGridFilteringLabel" : "Dagsetningarsíur", +"searchDataGridFilteringLabel" : "Leita", +"noMatchesDataGridFilteringLabel" : "Engar samsvörun", +"okDataGridFilteringLabel" : "Allt í lagi", +"cancelDataGridFilteringLabel" : "Hætta við", +"showRowsWhereDataGridFilteringLabel" : "Sýna línur hvar", +"andDataGridFilteringLabel" : "Og", +"orDataGridFilteringLabel" : "Eða", +"selectAllDataGridFilteringLabel" : "Velja allt", +"sortAndFilterDataGridFilteringLabel" : "Raða og sía", +"clearFilterDataGridFilteringLabel" : "Hreinsaðu síu", +"fromDataGridFilteringLabel" : "Frá" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_it.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_it.arb index dd5bf34d6..ed881412f 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_it.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_it.arb @@ -10,7 +10,7 @@ "pdfGoToPageLabel" : "Vai alla pagina", "pdfEnterPageNumberLabel" : "Inserisci il numero di pagina", "pdfInvalidPageNumberLabel" : "Per favore, inserire un numero valido", -"pdfPaginationDialogOkLabel" : "ok", +"pdfPaginationDialogOkLabel" : "OK", "pdfPaginationDialogCancelLabel" : "ANNULLA", "passwordDialogHeaderTextLabel" : "Protetto da password", "passwordDialogContentLabel" : "Inserisci la password per aprire questo file PDF", @@ -23,10 +23,10 @@ "allowedViewWorkWeekLabel" : "Settimana di lavoro", "allowedViewMonthLabel" : "Mese", "allowedViewScheduleLabel" : "Programma", -"allowedViewTimelineDayLabel" : "Giornata della sequenza temporale", -"allowedViewTimelineWeekLabel" : "Settimana della sequenza temporale", -"allowedViewTimelineWorkWeekLabel" : "Settimana del lavoro cronologico", -"allowedViewTimelineMonthLabel" : "Mese della sequenza temporale", +"allowedViewTimelineDayLabel" : "Giorno della cronologia", +"allowedViewTimelineWeekLabel" : "Settimana della cronologia", +"allowedViewTimelineWorkWeekLabel" : "Cronologia della settimana lavorativa", +"allowedViewTimelineMonthLabel" : "Mese cronologico", "todayLabel" : "In data odierna", "weeknumberLabel" : "Settimana", "allDayLabel" : "Tutto il giorno", @@ -40,14 +40,14 @@ "shaabanLabel" : "Sha'aban", "ramadanLabel" : "Ramadan", "shawwalLabel" : "Shawwal", -"dhualqiLabel" : "Dhu al-Qi'dah", +"dhualqiLabel" : "Dhu al-Qidah", "dhualhiLabel" : "Dhu al-Hijjah", -"shortMuharramLabel" : "Mah.", +"shortMuharramLabel" : "Muh.", "shortSafarLabel" : "Saf.", -"shortRabi1Label" : "Rabi. io", -"shortRabi2Label" : "Rabi. II", -"shortJumada1Label" : "Salto. io", -"shortJumada2Label" : "Salto. II", +"shortRabi1Label" : "Rabbi. io", +"shortRabi2Label" : "Rabbi. II", +"shortJumada1Label" : "Jum. io", +"shortJumada2Label" : "Jum. II", "shortRajabLabel" : "Raj.", "shortShaabanLabel" : "Sha.", "shortRamadanLabel" : "Ariete.", @@ -57,7 +57,47 @@ "daySpanCountLabel" : "Giorno", "series" : "Serie", "pdfHyperlinkLabel" : "Apri pagina web", -"pdfHyperlinkContentLabel" : "Vuoi aprire la pagina a", +"pdfHyperlinkContentLabel" : "Vuoi aprire la pagina in", "pdfHyperlinkDialogOpenLabel" : "APRIRE", -"pdfHyperlinkDialogCancelLabel" : "ANNULLA" +"pdfHyperlinkDialogCancelLabel" : "ANNULLA", +"afterDataGridFilteringLabel" : "Dopo", +"afterOrEqualDataGridFilteringLabel" : "Dopo o uguale", +"beforeDataGridFilteringLabel" : "Prima o uguale", +"beforeOrEqualDataGridFilteringLabel" : "Prima", +"beginsWithDataGridFilteringLabel" : "Inizia con", +"containsDataGridFilteringLabel" : "Contiene", +"doesNotBeginWithDataGridFilteringLabel" : "Non inizia con", +"doesNotContainDataGridFilteringLabel" : "Non contiene", +"doesNotEndWithDataGridFilteringLabel" : "Non finisce con", +"doesNotEqualDataGridFilteringLabel" : "Non è uguale", +"emptyDataGridFilteringLabel" : "Vuoto", +"endsWithDataGridFilteringLabel" : "Finisce con", +"equalsDataGridFilteringLabel" : "È uguale a", +"greaterThanDataGridFilteringLabel" : "Più grande di", +"greaterThanOrEqualDataGridFilteringLabel" : "Maggiore o uguale", +"lessThanDataGridFilteringLabel" : "Meno di", +"lessThanOrEqualDataGridFilteringLabel" : "Minore o uguale", +"notEmptyDataGridFilteringLabel" : "Non vuoto", +"notNullDataGridFilteringLabel" : "Non nullo", +"nullDataGridFilteringLabel" : "Nullo", +"sortSmallestToLargestDataGridFilteringLabel" : "Ordina dal più piccolo al più grande", +"sortLargestToSmallestDataGridFilteringLabel" : "Ordina dal più grande al più piccolo", +"sortAToZDataGridFilteringLabel" : "Ordina dalla A alla Z", +"sortZToADataGridFilteringLabel" : "Ordina dalla Z alla A", +"sortOldestToNewestDataGridFilteringLabel" : "Ordina dal più vecchio al più recente", +"sortNewestToOldestDataGridFilteringLabel" : "Ordina dal più recente al più vecchio", +"textFiltersDataGridFilteringLabel" : "Filtri di testo", +"numberFiltersDataGridFilteringLabel" : "Filtri numerici", +"dateFiltersDataGridFilteringLabel" : "Filtri data", +"searchDataGridFilteringLabel" : "Ricerca", +"noMatchesDataGridFilteringLabel" : "Nessuna corrispondenza", +"okDataGridFilteringLabel" : "OK", +"cancelDataGridFilteringLabel" : "Annulla", +"showRowsWhereDataGridFilteringLabel" : "Mostra righe dove", +"andDataGridFilteringLabel" : "E", +"orDataGridFilteringLabel" : "O", +"selectAllDataGridFilteringLabel" : "Seleziona tutto", +"sortAndFilterDataGridFilteringLabel" : "Ordina e filtra", +"clearFilterDataGridFilteringLabel" : "Filtro pulito", +"fromDataGridFilteringLabel" : "Da" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ja.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ja.arb index ef088566a..25a249015 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ja.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ja.arb @@ -3,7 +3,7 @@ "noEventsCalendarLabel" : "イベントなし", "ofDataPagerLabel" : "の", "pagesDataPagerLabel" : "ページ", -"rowsPerPageDataPagerLabel" : "1ページあたりの行数", +"rowsPerPageDataPagerLabel" : "ページあたりの行数", "pdfBookmarksLabel" : "ブックマーク", "pdfNoBookmarksLabel" : "ブックマークが見つかりません", "pdfScrollStatusOfLabel" : "の", @@ -13,51 +13,91 @@ "pdfPaginationDialogOkLabel" : "わかった", "pdfPaginationDialogCancelLabel" : "キャンセル", "passwordDialogHeaderTextLabel" : "守られたパスワード", -"passwordDialogContentLabel" : "このPDFファイルを開くためのパスワードを入力してください", +"passwordDialogContentLabel" : "このPDFファイルを開くにはパスワードを入力してください", "passwordDialogHintTextLabel" : "パスワードを入力する", "passwordDialogInvalidPasswordLabel" : "無効なパスワード", "pdfPasswordDialogOpenLabel" : "開いた", "pdfPasswordDialogCancelLabel" : "キャンセル", "allowedViewDayLabel" : "日", "allowedViewWeekLabel" : "週", -"allowedViewWorkWeekLabel" : "労働週", +"allowedViewWorkWeekLabel" : "勤務週", "allowedViewMonthLabel" : "月", "allowedViewScheduleLabel" : "スケジュール", "allowedViewTimelineDayLabel" : "タイムラインの日", -"allowedViewTimelineWeekLabel" : "タイムラインウィーク", -"allowedViewTimelineWorkWeekLabel" : "タイムラインワークウィーク", +"allowedViewTimelineWeekLabel" : "タイムライン 週", +"allowedViewTimelineWorkWeekLabel" : "タイムライン 作業週", "allowedViewTimelineMonthLabel" : "タイムライン月", "todayLabel" : "今日", "weeknumberLabel" : "週", "allDayLabel" : "一日中", -"muharramLabel" : "ムハッラム", -"safarLabel" : "Safar", -"rabi1Label" : "ラビー・ウル・アウワル", -"rabi2Label" : "ラビー・アル・タニ", -"jumada1Label" : "ジュマーダ・アル・アウワル", -"jumada2Label" : "ジュマーダ・アルタニ", +"muharramLabel" : "ムハラム", +"safarLabel" : "サファル", +"rabi1Label" : "ラビアルアワル", +"rabi2Label" : "ラビアルタニ", +"jumada1Label" : "ジュマーダ・アル・アワル", +"jumada2Label" : "ジュマーダ アルタニ", "rajabLabel" : "ラジャブ", -"shaabanLabel" : "シャアバーン", +"shaabanLabel" : "シャアバン", "ramadanLabel" : "ラマダン", -"shawwalLabel" : "シャウワール", -"dhualqiLabel" : "ズーアルチーダー", -"dhualhiLabel" : "ズーアルヒジャ", -"shortMuharramLabel" : "ムー。", -"shortSafarLabel" : "Saf。", +"shawwalLabel" : "シャワル", +"dhualqiLabel" : "ドゥ アルキダ", +"dhualhiLabel" : "ドゥ アル ヒジャ", +"shortMuharramLabel" : "うーん。", +"shortSafarLabel" : "サフ。", "shortRabi1Label" : "ラビ。私", -"shortRabi2Label" : "ラビ。 II", +"shortRabi2Label" : "ラビ。 Ⅱ", "shortJumada1Label" : "ジャム。私", -"shortJumada2Label" : "ジャム。 II", +"shortJumada2Label" : "ジャム。 Ⅱ", "shortRajabLabel" : "ラージ。", -"shortShaabanLabel" : "シャ。", +"shortShaabanLabel" : "しゃ。", "shortRamadanLabel" : "RAM。", "shortShawwalLabel" : "ショー。", -"shortDhualqiLabel" : "Dhu'l-Q", -"shortDhualhiLabel" : "Dhu'l-H", +"shortDhualqiLabel" : "デュルQ", +"shortDhualhiLabel" : "デュル-H", "daySpanCountLabel" : "日", "series" : "シリーズ", -"pdfHyperlinkLabel" : "Webページを開く", -"pdfHyperlinkContentLabel" : "次のページを開きますか", +"pdfHyperlinkLabel" : "ウェブページを開く", +"pdfHyperlinkContentLabel" : "でページを開きますか?", "pdfHyperlinkDialogOpenLabel" : "開いた", -"pdfHyperlinkDialogCancelLabel" : "キャンセル" +"pdfHyperlinkDialogCancelLabel" : "キャンセル", +"afterDataGridFilteringLabel" : "後", +"afterOrEqualDataGridFilteringLabel" : "後または等しい", +"beforeDataGridFilteringLabel" : "前または等しい", +"beforeOrEqualDataGridFilteringLabel" : "前", +"beginsWithDataGridFilteringLabel" : "次で始まる", +"containsDataGridFilteringLabel" : "含む", +"doesNotBeginWithDataGridFilteringLabel" : "次で始まらない", +"doesNotContainDataGridFilteringLabel" : "含まない", +"doesNotEndWithDataGridFilteringLabel" : "次で終わらない", +"doesNotEqualDataGridFilteringLabel" : "等しくない", +"emptyDataGridFilteringLabel" : "空の", +"endsWithDataGridFilteringLabel" : "で終わる", +"equalsDataGridFilteringLabel" : "等しい", +"greaterThanDataGridFilteringLabel" : "より大きい", +"greaterThanOrEqualDataGridFilteringLabel" : "以上", +"lessThanDataGridFilteringLabel" : "未満", +"lessThanOrEqualDataGridFilteringLabel" : "以下", +"notEmptyDataGridFilteringLabel" : "空ではない", +"notNullDataGridFilteringLabel" : "ヌルではない", +"nullDataGridFilteringLabel" : "ヌル", +"sortSmallestToLargestDataGridFilteringLabel" : "最小から最大への並べ替え", +"sortLargestToSmallestDataGridFilteringLabel" : "大きいものから小さいものへ並べ替え", +"sortAToZDataGridFilteringLabel" : "A から Z に並べ替える", +"sortZToADataGridFilteringLabel" : "Z から A に並べ替え", +"sortOldestToNewestDataGridFilteringLabel" : "古いものから新しいものへ並べ替え", +"sortNewestToOldestDataGridFilteringLabel" : "新しいものから古いものへ並べ替え", +"textFiltersDataGridFilteringLabel" : "テキスト フィルター", +"numberFiltersDataGridFilteringLabel" : "数値フィルター", +"dateFiltersDataGridFilteringLabel" : "日付フィルター", +"searchDataGridFilteringLabel" : "探す", +"noMatchesDataGridFilteringLabel" : "一致するものはありません", +"okDataGridFilteringLabel" : "わかった", +"cancelDataGridFilteringLabel" : "キャンセル", +"showRowsWhereDataGridFilteringLabel" : "行を表示", +"andDataGridFilteringLabel" : "と", +"orDataGridFilteringLabel" : "または", +"selectAllDataGridFilteringLabel" : "すべて選択", +"sortAndFilterDataGridFilteringLabel" : "並べ替えとフィルター", +"clearFilterDataGridFilteringLabel" : "フィルターをクリア", +"fromDataGridFilteringLabel" : "から" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ka.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ka.arb index f495655f7..4af4ce4f0 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ka.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ka.arb @@ -18,7 +18,7 @@ "passwordDialogInvalidPasswordLabel" : "არასწორი პაროლი", "pdfPasswordDialogOpenLabel" : "გახსენით", "pdfPasswordDialogCancelLabel" : "გაუქმება", -"allowedViewDayLabel" : "Დღეს", +"allowedViewDayLabel" : "Დღის", "allowedViewWeekLabel" : "კვირა", "allowedViewWorkWeekLabel" : "Სამუშაო კვირა", "allowedViewMonthLabel" : "თვე", @@ -40,7 +40,7 @@ "shaabanLabel" : "შააბანი", "ramadanLabel" : "რამადანი", "shawwalLabel" : "შავვალი", -"dhualqiLabel" : "დჰულ-ქიდა", +"dhualqiLabel" : "დჰულ-ქიდა", "dhualhiLabel" : "დჰულ-ჰიჯა", "shortMuharramLabel" : "მუჰ.", "shortSafarLabel" : "საფ.", @@ -54,10 +54,50 @@ "shortShawwalLabel" : "შოუ.", "shortDhualqiLabel" : "დულ-ქ", "shortDhualhiLabel" : "დულ-ჰ", -"daySpanCountLabel" : "Დღეს", +"daySpanCountLabel" : "Დღის", "series" : "სერიალი", "pdfHyperlinkLabel" : "გახსენით ვებ გვერდი", -"pdfHyperlinkContentLabel" : "გსურთ გახსნათ გვერდი:", +"pdfHyperlinkContentLabel" : "გსურთ გახსნათ გვერდი", "pdfHyperlinkDialogOpenLabel" : "გახსენით", -"pdfHyperlinkDialogCancelLabel" : "გაუქმება" +"pdfHyperlinkDialogCancelLabel" : "გაუქმება", +"afterDataGridFilteringLabel" : "შემდეგ", +"afterOrEqualDataGridFilteringLabel" : "შემდეგ ან თანაბარი", +"beforeDataGridFilteringLabel" : "ადრე ან თანაბარი", +"beforeOrEqualDataGridFilteringLabel" : "მანამდე", +"beginsWithDataGridFilteringLabel" : "Იწყება", +"containsDataGridFilteringLabel" : "შეიცავს", +"doesNotBeginWithDataGridFilteringLabel" : "არ იწყება", +"doesNotContainDataGridFilteringLabel" : "Არ შეიცავს", +"doesNotEndWithDataGridFilteringLabel" : "არ მთავრდება", +"doesNotEqualDataGridFilteringLabel" : "არ უდრის", +"emptyDataGridFilteringLabel" : "ცარიელი", +"endsWithDataGridFilteringLabel" : "მთავრდება", +"equalsDataGridFilteringLabel" : "უდრის", +"greaterThanDataGridFilteringLabel" : "Მეტია, ვიდრე", +"greaterThanOrEqualDataGridFilteringLabel" : "მეტი ან თანაბარი", +"lessThanDataGridFilteringLabel" : "Ნაკლები ვიდრე", +"lessThanOrEqualDataGridFilteringLabel" : "ნაკლები ან თანაბარი", +"notEmptyDataGridFilteringLabel" : "Არ არის ცარიელი", +"notNullDataGridFilteringLabel" : "არა ნულოვანი", +"nullDataGridFilteringLabel" : "ნულოვანი", +"sortSmallestToLargestDataGridFilteringLabel" : "დახარისხება პატარადან დიდამდე", +"sortLargestToSmallestDataGridFilteringLabel" : "სორტირება დიდიდან პატარამდე", +"sortAToZDataGridFilteringLabel" : "დალაგება A-დან Z-მდე", +"sortZToADataGridFilteringLabel" : "დახარისხება Z-ზე A", +"sortOldestToNewestDataGridFilteringLabel" : "დალაგება უძველესიდან უახლესზე", +"sortNewestToOldestDataGridFilteringLabel" : "დალაგება უახლესიდან ძველზე", +"textFiltersDataGridFilteringLabel" : "ტექსტის ფილტრები", +"numberFiltersDataGridFilteringLabel" : "რიცხვების ფილტრები", +"dateFiltersDataGridFilteringLabel" : "თარიღის ფილტრები", +"searchDataGridFilteringLabel" : "ძიება", +"noMatchesDataGridFilteringLabel" : "არანაირი მატჩი", +"okDataGridFilteringLabel" : "კარგი", +"cancelDataGridFilteringLabel" : "გაუქმება", +"showRowsWhereDataGridFilteringLabel" : "აჩვენე რიგები სად", +"andDataGridFilteringLabel" : "და", +"orDataGridFilteringLabel" : "ან", +"selectAllDataGridFilteringLabel" : "Მონიშნე ყველა", +"sortAndFilterDataGridFilteringLabel" : "დალაგება და გაფილტვრა", +"clearFilterDataGridFilteringLabel" : "ფილტრის გასუფთავება", +"fromDataGridFilteringLabel" : "დან" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_kk.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_kk.arb index e18da3a44..be6032f3c 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_kk.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_kk.arb @@ -1,12 +1,12 @@ { "noSelectedDateCalendarLabel" : "Таңдалған күн жоқ", "noEventsCalendarLabel" : "Оқиғалар жоқ", -"ofDataPagerLabel" : "бойынша", +"ofDataPagerLabel" : "ның", "pagesDataPagerLabel" : "беттер", "rowsPerPageDataPagerLabel" : "Әр беттегі жолдар", "pdfBookmarksLabel" : "Бетбелгілер", "pdfNoBookmarksLabel" : "Ешқандай бетбелгі табылмады", -"pdfScrollStatusOfLabel" : "бойынша", +"pdfScrollStatusOfLabel" : "ның", "pdfGoToPageLabel" : "Бетке өту", "pdfEnterPageNumberLabel" : "Бет нөмірін енгізіңіз", "pdfInvalidPageNumberLabel" : "Жарамды нөмірді енгізіңіз", @@ -15,7 +15,7 @@ "passwordDialogHeaderTextLabel" : "Құпия сөзбен қорғалған", "passwordDialogContentLabel" : "Осы PDF файлын ашу үшін құпия сөзді енгізіңіз", "passwordDialogHintTextLabel" : "Құпия сөзді енгізіңіз", -"passwordDialogInvalidPasswordLabel" : "Құпия сөз жарамсыз", +"passwordDialogInvalidPasswordLabel" : "Жарамсыз құпия сөз", "pdfPasswordDialogOpenLabel" : "АШЫҚ", "pdfPasswordDialogCancelLabel" : "БАС ТАРТУ", "allowedViewDayLabel" : "Күн", @@ -40,7 +40,7 @@ "shaabanLabel" : "Шағбан", "ramadanLabel" : "Рамазан", "shawwalLabel" : "Шәууәл", -"dhualqiLabel" : "Зу әл-Қида", +"dhualqiLabel" : "Зул-Қида", "dhualhiLabel" : "Зул-Хиджа", "shortMuharramLabel" : "Мұх.", "shortSafarLabel" : "Saf.", @@ -52,12 +52,52 @@ "shortShaabanLabel" : "Ша.", "shortRamadanLabel" : "Жедел Жадтау Құрылғысы.", "shortShawwalLabel" : "Шоу.", -"shortDhualqiLabel" : "Зул-Қ", +"shortDhualqiLabel" : "Зуль-Қ", "shortDhualhiLabel" : "Зул-Х", "daySpanCountLabel" : "Күн", "series" : "Сериялар", "pdfHyperlinkLabel" : "Веб-бетті ашыңыз", -"pdfHyperlinkContentLabel" : "бетті ашқыңыз келе ме?", +"pdfHyperlinkContentLabel" : "бетті ашқыңыз келе ме", "pdfHyperlinkDialogOpenLabel" : "АШЫҚ", -"pdfHyperlinkDialogCancelLabel" : "БАС ТАРТУ" +"pdfHyperlinkDialogCancelLabel" : "БАС ТАРТУ", +"afterDataGridFilteringLabel" : "Кейін", +"afterOrEqualDataGridFilteringLabel" : "Кейін немесе Тең", +"beforeDataGridFilteringLabel" : "Бұрын немесе Тең", +"beforeOrEqualDataGridFilteringLabel" : "Бұрын", +"beginsWithDataGridFilteringLabel" : "-мен басталады", +"containsDataGridFilteringLabel" : "Құрамында", +"doesNotBeginWithDataGridFilteringLabel" : "Бастамайды", +"doesNotContainDataGridFilteringLabel" : "Құрамында жоқ", +"doesNotEndWithDataGridFilteringLabel" : "-мен бітпейді", +"doesNotEqualDataGridFilteringLabel" : "Тең емес", +"emptyDataGridFilteringLabel" : "Бос", +"endsWithDataGridFilteringLabel" : "Аяқталады", +"equalsDataGridFilteringLabel" : "Тең", +"greaterThanDataGridFilteringLabel" : "Үлкенірек", +"greaterThanOrEqualDataGridFilteringLabel" : "Үлкен немесе тең", +"lessThanDataGridFilteringLabel" : "Одан азырақ", +"lessThanOrEqualDataGridFilteringLabel" : "Кіші немесе Тең", +"notEmptyDataGridFilteringLabel" : "Бос емес", +"notNullDataGridFilteringLabel" : "Нөл емес", +"nullDataGridFilteringLabel" : "Нөл", +"sortSmallestToLargestDataGridFilteringLabel" : "Ең кішіден үлкенге сұрыптау", +"sortLargestToSmallestDataGridFilteringLabel" : "Үлкеннен кішіге сұрыптау", +"sortAToZDataGridFilteringLabel" : "Адан Яға дейін сұрыптау", +"sortZToADataGridFilteringLabel" : "Z-ден A-ға сұрыптау", +"sortOldestToNewestDataGridFilteringLabel" : "Ең ескіден ең жаңасына сұрыптау", +"sortNewestToOldestDataGridFilteringLabel" : "Ең жаңадан ең ескіге сұрыптау", +"textFiltersDataGridFilteringLabel" : "Мәтін сүзгілері", +"numberFiltersDataGridFilteringLabel" : "Сандық сүзгілер", +"dateFiltersDataGridFilteringLabel" : "Күн сүзгілері", +"searchDataGridFilteringLabel" : "Іздеу", +"noMatchesDataGridFilteringLabel" : "Сәйкестік жоқ", +"okDataGridFilteringLabel" : "ЖАРАЙДЫ МА", +"cancelDataGridFilteringLabel" : "Болдырмау", +"showRowsWhereDataGridFilteringLabel" : "Қай жерде жолдарды көрсетіңіз", +"andDataGridFilteringLabel" : "Және", +"orDataGridFilteringLabel" : "Немесе", +"selectAllDataGridFilteringLabel" : "Барлығын таңдаңыз", +"sortAndFilterDataGridFilteringLabel" : "Сұрыптау және сүзу", +"clearFilterDataGridFilteringLabel" : "Сүзгіні тазалау", +"fromDataGridFilteringLabel" : "бастап" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_km.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_km.arb index 006078c0b..a923e54c7 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_km.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_km.arb @@ -26,7 +26,7 @@ "allowedViewTimelineDayLabel" : "ថ្ងៃកំណត់ពេលវេលា", "allowedViewTimelineWeekLabel" : "Timeline សប្តាហ៍", "allowedViewTimelineWorkWeekLabel" : "កាលវិភាគការងារប្រចាំសប្តាហ៍", -"allowedViewTimelineMonthLabel" : "តារាងពេលវេលាខែ", +"allowedViewTimelineMonthLabel" : "ខែពេលវេលា", "todayLabel" : "ថ្ងៃនេះ", "weeknumberLabel" : "សប្តាហ៍", "allDayLabel" : "ពេញមួយថ្ងៃ", @@ -37,9 +37,9 @@ "jumada1Label" : "Jumada al-awwal", "jumada2Label" : "ជូម៉ាដា អាល់ថានី", "rajabLabel" : "រ៉ាចាប", -"shaabanLabel" : "សារ៉ាបាន", +"shaabanLabel" : "សាបាន", "ramadanLabel" : "រ៉ាម៉ាដាន", -"shawwalLabel" : "Shawwal", +"shawwalLabel" : "សាវ៉ាវ", "dhualqiLabel" : "Dhu al-Qi'dah", "dhualhiLabel" : "Dhu al-Hijjah", "shortMuharramLabel" : "ម៉ោ", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "បើកគេហទំព័រ", "pdfHyperlinkContentLabel" : "តើអ្នកចង់បើកទំព័រនៅ", "pdfHyperlinkDialogOpenLabel" : "បើក", -"pdfHyperlinkDialogCancelLabel" : "បោះបង់" +"pdfHyperlinkDialogCancelLabel" : "បោះបង់", +"afterDataGridFilteringLabel" : "បន្ទាប់ពី", +"afterOrEqualDataGridFilteringLabel" : "បន្ទាប់ពី ឬស្មើ", +"beforeDataGridFilteringLabel" : "មុន ឬស្មើ", +"beforeOrEqualDataGridFilteringLabel" : "ពីមុន", +"beginsWithDataGridFilteringLabel" : "ចាប់ផ្តើមជាមួយ", +"containsDataGridFilteringLabel" : "មាន", +"doesNotBeginWithDataGridFilteringLabel" : "មិនចាប់ផ្តើមជាមួយ", +"doesNotContainDataGridFilteringLabel" : "មិនមានផ្ទុក", +"doesNotEndWithDataGridFilteringLabel" : "មិនបញ្ចប់ដោយ", +"doesNotEqualDataGridFilteringLabel" : "មិនស្មើគ្នា", +"emptyDataGridFilteringLabel" : "ទទេ", +"endsWithDataGridFilteringLabel" : "បញ្ចប់ដោយ", +"equalsDataGridFilteringLabel" : "ស្មើ", +"greaterThanDataGridFilteringLabel" : "ធំជាង", +"greaterThanOrEqualDataGridFilteringLabel" : "ធំជាង ឬស្មើ", +"lessThanDataGridFilteringLabel" : "តិច​ជាង", +"lessThanOrEqualDataGridFilteringLabel" : "តិចជាង ឬស្មើ", +"notEmptyDataGridFilteringLabel" : "មិនទទេ", +"notNullDataGridFilteringLabel" : "មិនមែន Null", +"nullDataGridFilteringLabel" : "ទុកជាមោឃៈ", +"sortSmallestToLargestDataGridFilteringLabel" : "តម្រៀបតូចបំផុតទៅធំបំផុត។", +"sortLargestToSmallestDataGridFilteringLabel" : "តម្រៀបធំបំផុតទៅតូចបំផុត។", +"sortAToZDataGridFilteringLabel" : "តម្រៀប A ដល់ Z", +"sortZToADataGridFilteringLabel" : "តម្រៀប Z ទៅ A", +"sortOldestToNewestDataGridFilteringLabel" : "តម្រៀបចាស់បំផុតទៅថ្មីបំផុត។", +"sortNewestToOldestDataGridFilteringLabel" : "តម្រៀបថ្មីបំផុតទៅចាស់បំផុត។", +"textFiltersDataGridFilteringLabel" : "តម្រងអត្ថបទ", +"numberFiltersDataGridFilteringLabel" : "តម្រងលេខ", +"dateFiltersDataGridFilteringLabel" : "តម្រងកាលបរិច្ឆេទ", +"searchDataGridFilteringLabel" : "ស្វែងរក", +"noMatchesDataGridFilteringLabel" : "គ្មានការប្រកួត", +"okDataGridFilteringLabel" : "យល់ព្រម", +"cancelDataGridFilteringLabel" : "បោះបង់", +"showRowsWhereDataGridFilteringLabel" : "បង្ហាញជួរនៅកន្លែងណា", +"andDataGridFilteringLabel" : "និង", +"orDataGridFilteringLabel" : "ឬ", +"selectAllDataGridFilteringLabel" : "ជ្រើសរើស​ទាំងអស់", +"sortAndFilterDataGridFilteringLabel" : "តម្រៀបនិងត្រង", +"clearFilterDataGridFilteringLabel" : "ជម្រះតម្រង", +"fromDataGridFilteringLabel" : "ពី" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_kn.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_kn.arb index 2146602a0..0b88c7a1c 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_kn.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_kn.arb @@ -13,7 +13,7 @@ "pdfPaginationDialogOkLabel" : "ಸರಿ", "pdfPaginationDialogCancelLabel" : "ರದ್ದುಮಾಡು", "passwordDialogHeaderTextLabel" : "ಪಾಸ್ವರ್ಡ್ ರಕ್ಷಿಸಲಾಗಿದೆ", -"passwordDialogContentLabel" : "ಈ PDF ಫೈಲ್ ಅನ್ನು ತೆರೆಯಲು ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ನಮೂದಿಸಿ", +"passwordDialogContentLabel" : "ಈ PDF ಫೈಲ್ ತೆರೆಯಲು ಪಾಸ್‌ವರ್ಡ್ ನಮೂದಿಸಿ", "passwordDialogHintTextLabel" : "ಪಾಸ್ವರ್ಡ್ ನಮೂದಿಸಿ", "passwordDialogInvalidPasswordLabel" : "ಅಮಾನ್ಯವಾದ ಪಾಸ್ವರ್ಡ್", "pdfPasswordDialogOpenLabel" : "ತೆರೆಯಿರಿ", @@ -44,8 +44,8 @@ "dhualhiLabel" : "ಧು ಅಲ್-ಹಿಜ್ಜಾ", "shortMuharramLabel" : "ಮುಹ್", "shortSafarLabel" : "ಸೇಫ್", -"shortRabi1Label" : "ರಬಿ. I", -"shortRabi2Label" : "ರಬಿ. II", +"shortRabi1Label" : "ರಬಿ I", +"shortRabi2Label" : "ರಬಿ II", "shortJumada1Label" : "ಜಂ. I", "shortJumada2Label" : "ಜಂ. II", "shortRajabLabel" : "ರಾಜ್.", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "ವೆಬ್ ಪುಟವನ್ನು ತೆರೆಯಿರಿ", "pdfHyperlinkContentLabel" : "ನೀವು ಪುಟವನ್ನು ತೆರೆಯಲು ಬಯಸುವಿರಾ", "pdfHyperlinkDialogOpenLabel" : "ತೆರೆಯಿರಿ", -"pdfHyperlinkDialogCancelLabel" : "ರದ್ದುಮಾಡು" +"pdfHyperlinkDialogCancelLabel" : "ರದ್ದುಮಾಡು", +"afterDataGridFilteringLabel" : "ನಂತರ", +"afterOrEqualDataGridFilteringLabel" : "ನಂತರ ಅಥವಾ ಸಮಾನ", +"beforeDataGridFilteringLabel" : "ಮೊದಲು ಅಥವಾ ಸಮಾನ", +"beforeOrEqualDataGridFilteringLabel" : "ಮೊದಲು", +"beginsWithDataGridFilteringLabel" : "ಇದರೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ", +"containsDataGridFilteringLabel" : "ಒಳಗೊಂಡಿದೆ", +"doesNotBeginWithDataGridFilteringLabel" : "ಇದರೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಗುವುದಿಲ್ಲ", +"doesNotContainDataGridFilteringLabel" : "ಒಳಗೊಂಡಿಲ್ಲ", +"doesNotEndWithDataGridFilteringLabel" : "ಇದರೊಂದಿಗೆ ಕೊನೆಗೊಳ್ಳುವುದಿಲ್ಲ", +"doesNotEqualDataGridFilteringLabel" : "ಸಮಾನವಾಗಿಲ್ಲ", +"emptyDataGridFilteringLabel" : "ಖಾಲಿ", +"endsWithDataGridFilteringLabel" : "ಇದರೊಂದಿಗೆ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ", +"equalsDataGridFilteringLabel" : "ಸಮನಾಗಿರುತ್ತದೆ", +"greaterThanDataGridFilteringLabel" : "ಅದಕ್ಕಿಂತ ಹೆಚ್ಚು", +"greaterThanOrEqualDataGridFilteringLabel" : "ಗ್ರೇಟರ್ ದ್ಯಾನ್ ಅಥವಾ ಈಕ್ವಲ್", +"lessThanDataGridFilteringLabel" : "ಕಡಿಮೆ", +"lessThanOrEqualDataGridFilteringLabel" : "ಕಡಿಮೆ ಅಥವಾ ಸಮಾನ", +"notEmptyDataGridFilteringLabel" : "ಖಾಲಿ ಇಲ್ಲ", +"notNullDataGridFilteringLabel" : "ಶೂನ್ಯವಲ್ಲ", +"nullDataGridFilteringLabel" : "ಶೂನ್ಯ", +"sortSmallestToLargestDataGridFilteringLabel" : "ಚಿಕ್ಕದರಿಂದ ದೊಡ್ಡದಕ್ಕೆ ವಿಂಗಡಿಸಿ", +"sortLargestToSmallestDataGridFilteringLabel" : "ದೊಡ್ಡದರಿಂದ ಚಿಕ್ಕದಕ್ಕೆ ವಿಂಗಡಿಸಿ", +"sortAToZDataGridFilteringLabel" : "A ನಿಂದ Z ಗೆ ವಿಂಗಡಿಸಿ", +"sortZToADataGridFilteringLabel" : "Z ನಿಂದ A ಗೆ ವಿಂಗಡಿಸಿ", +"sortOldestToNewestDataGridFilteringLabel" : "ಹಳೆಯದರಿಂದ ಹೊಸದಕ್ಕೆ ವಿಂಗಡಿಸಿ", +"sortNewestToOldestDataGridFilteringLabel" : "ಹೊಸದನ್ನು ಹಳೆಯದಕ್ಕೆ ವಿಂಗಡಿಸಿ", +"textFiltersDataGridFilteringLabel" : "ಪಠ್ಯ ಶೋಧಕಗಳು", +"numberFiltersDataGridFilteringLabel" : "ಸಂಖ್ಯೆ ಶೋಧಕಗಳು", +"dateFiltersDataGridFilteringLabel" : "ದಿನಾಂಕ ಶೋಧಕಗಳು", +"searchDataGridFilteringLabel" : "ಹುಡುಕಿ Kannada", +"noMatchesDataGridFilteringLabel" : "ಯಾವುದೇ ಹೊಂದಾಣಿಕೆಗಳಿಲ್ಲ", +"okDataGridFilteringLabel" : "ಸರಿ", +"cancelDataGridFilteringLabel" : "ರದ್ದುಮಾಡಿ", +"showRowsWhereDataGridFilteringLabel" : "ಅಲ್ಲಿ ಸಾಲುಗಳನ್ನು ತೋರಿಸಿ", +"andDataGridFilteringLabel" : "ಮತ್ತು", +"orDataGridFilteringLabel" : "ಅಥವಾ", +"selectAllDataGridFilteringLabel" : "ಎಲ್ಲವನ್ನು ಆರಿಸು", +"sortAndFilterDataGridFilteringLabel" : "ವಿಂಗಡಿಸಿ ಮತ್ತು ಫಿಲ್ಟರ್ ಮಾಡಿ", +"clearFilterDataGridFilteringLabel" : "ಫಿಲ್ಟರ್ ಅನ್ನು ತೆರವುಗೊಳಿಸಿ", +"fromDataGridFilteringLabel" : "ಇಂದ" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ko.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ko.arb index add535ba9..53635db77 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ko.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ko.arb @@ -1,31 +1,31 @@ { -"noSelectedDateCalendarLabel" : "선택한 날짜가 없습니다", -"noEventsCalendarLabel" : "이벤트 없음", +"noSelectedDateCalendarLabel" : "선택한 날짜 없음", +"noEventsCalendarLabel" : "일정 없음", "ofDataPagerLabel" : "의", "pagesDataPagerLabel" : "페이지", "rowsPerPageDataPagerLabel" : "페이지당 행", -"pdfBookmarksLabel" : "책갈피", -"pdfNoBookmarksLabel" : "북마크를 찾을 수 없습니다", +"pdfBookmarksLabel" : "북마크", +"pdfNoBookmarksLabel" : "북마크가 없습니다.", "pdfScrollStatusOfLabel" : "의", "pdfGoToPageLabel" : "페이지로 이동", "pdfEnterPageNumberLabel" : "페이지 번호 입력", -"pdfInvalidPageNumberLabel" : "유효한 숫자를 입력하세요", -"pdfPaginationDialogOkLabel" : "좋아요", +"pdfInvalidPageNumberLabel" : "유효한 숫자를 입력하세요.", +"pdfPaginationDialogOkLabel" : "확인", "pdfPaginationDialogCancelLabel" : "취소", "passwordDialogHeaderTextLabel" : "암호로 보호됨", "passwordDialogContentLabel" : "이 PDF 파일을 열려면 비밀번호를 입력하세요", "passwordDialogHintTextLabel" : "암호를 입력", "passwordDialogInvalidPasswordLabel" : "유효하지 않은 비밀번호", -"pdfPasswordDialogOpenLabel" : "열려있는", +"pdfPasswordDialogOpenLabel" : "열려 있는", "pdfPasswordDialogCancelLabel" : "취소", -"allowedViewDayLabel" : "일", +"allowedViewDayLabel" : "낮", "allowedViewWeekLabel" : "주", -"allowedViewWorkWeekLabel" : "작업 주간", +"allowedViewWorkWeekLabel" : "근무 주", "allowedViewMonthLabel" : "월", "allowedViewScheduleLabel" : "일정", -"allowedViewTimelineDayLabel" : "타임라인의 날", -"allowedViewTimelineWeekLabel" : "타임라인 주간", -"allowedViewTimelineWorkWeekLabel" : "타임라인 작업 주간", +"allowedViewTimelineDayLabel" : "타임라인 데이", +"allowedViewTimelineWeekLabel" : "타임라인 위크", +"allowedViewTimelineWorkWeekLabel" : "타임라인 작업 주", "allowedViewTimelineMonthLabel" : "타임라인 월", "todayLabel" : "오늘", "weeknumberLabel" : "주", @@ -33,16 +33,16 @@ "muharramLabel" : "무하람", "safarLabel" : "사파르", "rabi1Label" : "라비 알-아왈", -"rabi2Label" : "라비 알타니", +"rabi2Label" : "라비 알 타니", "jumada1Label" : "주마다 알-아왈", -"jumada2Label" : "주마다 알타니", -"rajabLabel" : "라자브", +"jumada2Label" : "주마다 알 타니", +"rajabLabel" : "라잡", "shaabanLabel" : "샤아반", "ramadanLabel" : "라마단", "shawwalLabel" : "샤왈", -"dhualqiLabel" : "두 알 키다", +"dhualqiLabel" : "두 알 키이다", "dhualhiLabel" : "두 알 히자", -"shortMuharramLabel" : "음.", +"shortMuharramLabel" : "머.", "shortSafarLabel" : "사프.", "shortRabi1Label" : "라비. 나", "shortRabi2Label" : "라비. II", @@ -54,10 +54,50 @@ "shortShawwalLabel" : "쇼.", "shortDhualqiLabel" : "둘큐", "shortDhualhiLabel" : "둘-H", -"daySpanCountLabel" : "일", +"daySpanCountLabel" : "낮", "series" : "시리즈", "pdfHyperlinkLabel" : "웹 페이지 열기", -"pdfHyperlinkContentLabel" : "페이지를 열시겠습니까?", +"pdfHyperlinkContentLabel" : "에서 페이지를 열시겠습니까?", "pdfHyperlinkDialogOpenLabel" : "열려 있는", -"pdfHyperlinkDialogCancelLabel" : "취소" +"pdfHyperlinkDialogCancelLabel" : "취소", +"afterDataGridFilteringLabel" : "후에", +"afterOrEqualDataGridFilteringLabel" : "후 또는 같음", +"beforeDataGridFilteringLabel" : "이전 또는 같음", +"beforeOrEqualDataGridFilteringLabel" : "전에", +"beginsWithDataGridFilteringLabel" : "다음으로 시작", +"containsDataGridFilteringLabel" : "포함", +"doesNotBeginWithDataGridFilteringLabel" : "다음으로 시작하지 않음", +"doesNotContainDataGridFilteringLabel" : "포함되어 있지 않다", +"doesNotEndWithDataGridFilteringLabel" : "다음으로 끝나지 않음", +"doesNotEqualDataGridFilteringLabel" : "같지 않음", +"emptyDataGridFilteringLabel" : "비어 있는", +"endsWithDataGridFilteringLabel" : "로 끝나다", +"equalsDataGridFilteringLabel" : "같음", +"greaterThanDataGridFilteringLabel" : "보다 큰", +"greaterThanOrEqualDataGridFilteringLabel" : "크거나 같음", +"lessThanDataGridFilteringLabel" : "미만", +"lessThanOrEqualDataGridFilteringLabel" : "작거나 같음", +"notEmptyDataGridFilteringLabel" : "비어 있지 않음", +"notNullDataGridFilteringLabel" : "널이 아님", +"nullDataGridFilteringLabel" : "없는", +"sortSmallestToLargestDataGridFilteringLabel" : "작은 것부터 큰 것까지 정렬", +"sortLargestToSmallestDataGridFilteringLabel" : "내림차순 정렬", +"sortAToZDataGridFilteringLabel" : "A부터 Z까지 정렬", +"sortZToADataGridFilteringLabel" : "Z를 A로 정렬", +"sortOldestToNewestDataGridFilteringLabel" : "가장 오래된 것부터 최신순으로 정렬", +"sortNewestToOldestDataGridFilteringLabel" : "최신순으로 정렬", +"textFiltersDataGridFilteringLabel" : "텍스트 필터", +"numberFiltersDataGridFilteringLabel" : "숫자 필터", +"dateFiltersDataGridFilteringLabel" : "날짜 필터", +"searchDataGridFilteringLabel" : "검색", +"noMatchesDataGridFilteringLabel" : "맞지 않는다", +"okDataGridFilteringLabel" : "확인", +"cancelDataGridFilteringLabel" : "취소", +"showRowsWhereDataGridFilteringLabel" : "어디에 행 표시", +"andDataGridFilteringLabel" : "그리고", +"orDataGridFilteringLabel" : "또는", +"selectAllDataGridFilteringLabel" : "모두 선택", +"sortAndFilterDataGridFilteringLabel" : "정렬 및 필터링", +"clearFilterDataGridFilteringLabel" : "필터 지우기", +"fromDataGridFilteringLabel" : "에서" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ky.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ky.arb index 9f76eac1d..9c3c32812 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ky.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ky.arb @@ -18,14 +18,14 @@ "passwordDialogInvalidPasswordLabel" : "туура эмес пароль", "pdfPasswordDialogOpenLabel" : "АЧУУ", "pdfPasswordDialogCancelLabel" : "ЖОК КЫЛУУ", -"allowedViewDayLabel" : "Күн", +"allowedViewDayLabel" : "күн", "allowedViewWeekLabel" : "Апта", "allowedViewWorkWeekLabel" : "Жумуш аптасы", "allowedViewMonthLabel" : "Ай", "allowedViewScheduleLabel" : "График", "allowedViewTimelineDayLabel" : "Timeline Day", "allowedViewTimelineWeekLabel" : "Timeline Week", -"allowedViewTimelineWorkWeekLabel" : "Иш жумалыгы", +"allowedViewTimelineWorkWeekLabel" : "Хронология иш жумасы", "allowedViewTimelineMonthLabel" : "Убакыт тилкеси айы", "todayLabel" : "Бүгүн", "weeknumberLabel" : "Апта", @@ -38,7 +38,7 @@ "jumada2Label" : "Жумада ал-Тани", "rajabLabel" : "Ражаб", "shaabanLabel" : "Шаабан", -"ramadanLabel" : "Рамазан", +"ramadanLabel" : "Орозо айт", "shawwalLabel" : "Шаввал", "dhualqiLabel" : "Зул кыда", "dhualhiLabel" : "Зул Хижжа", @@ -54,10 +54,50 @@ "shortShawwalLabel" : "Шоу.", "shortDhualqiLabel" : "Зуль-К", "shortDhualhiLabel" : "Зул-Х", -"daySpanCountLabel" : "Күн", +"daySpanCountLabel" : "күн", "series" : "Сериялар", "pdfHyperlinkLabel" : "Веб баракчаны ачуу", "pdfHyperlinkContentLabel" : "Баракчаны ачкыңыз келеби?", "pdfHyperlinkDialogOpenLabel" : "АЧУУ", -"pdfHyperlinkDialogCancelLabel" : "ЖОК КЫЛУУ" +"pdfHyperlinkDialogCancelLabel" : "ЖОК КЫЛУУ", +"afterDataGridFilteringLabel" : "Кийин", +"afterOrEqualDataGridFilteringLabel" : "Кийин же барабар", +"beforeDataGridFilteringLabel" : "Мурун же барабар", +"beforeOrEqualDataGridFilteringLabel" : "Мурда", +"beginsWithDataGridFilteringLabel" : "Менен башталат", +"containsDataGridFilteringLabel" : "камтыйт", +"doesNotBeginWithDataGridFilteringLabel" : "менен башталбайт", +"doesNotContainDataGridFilteringLabel" : "камтыбайт", +"doesNotEndWithDataGridFilteringLabel" : "менен бүтпөйт", +"doesNotEqualDataGridFilteringLabel" : "Тең эмес", +"emptyDataGridFilteringLabel" : "бош", +"endsWithDataGridFilteringLabel" : "менен аяктайт", +"equalsDataGridFilteringLabel" : "барабар", +"greaterThanDataGridFilteringLabel" : "Чоңураак", +"greaterThanOrEqualDataGridFilteringLabel" : "Чоңураак же барабар", +"lessThanDataGridFilteringLabel" : "Азыраак", +"lessThanOrEqualDataGridFilteringLabel" : "Аз же барабар", +"notEmptyDataGridFilteringLabel" : "Бош эмес", +"notNullDataGridFilteringLabel" : "Null эмес", +"nullDataGridFilteringLabel" : "Нөл", +"sortSmallestToLargestDataGridFilteringLabel" : "Кичинеден чоңго иреттөө", +"sortLargestToSmallestDataGridFilteringLabel" : "Чоңунан кичинесинен иреттөө", +"sortAToZDataGridFilteringLabel" : "Адан Яга чейин сорттоо", +"sortZToADataGridFilteringLabel" : "Zдан Ага чейин сорттоо", +"sortOldestToNewestDataGridFilteringLabel" : "Эң эскиден эң жаңысына иреттөө", +"sortNewestToOldestDataGridFilteringLabel" : "Эң жаңыдан эң эскиге иреттөө", +"textFiltersDataGridFilteringLabel" : "Текст чыпкалары", +"numberFiltersDataGridFilteringLabel" : "Сан чыпкалары", +"dateFiltersDataGridFilteringLabel" : "Дата чыпкалары", +"searchDataGridFilteringLabel" : "Издөө", +"noMatchesDataGridFilteringLabel" : "Дал келгендер жок", +"okDataGridFilteringLabel" : "макул", +"cancelDataGridFilteringLabel" : "Жокко чыгаруу", +"showRowsWhereDataGridFilteringLabel" : "Кайсы жерде катарларды көрсөтүү", +"andDataGridFilteringLabel" : "Жана", +"orDataGridFilteringLabel" : "Же", +"selectAllDataGridFilteringLabel" : "Баарын тандаңыз", +"sortAndFilterDataGridFilteringLabel" : "Сорттоо жана чыпкалоо", +"clearFilterDataGridFilteringLabel" : "Чыпканы тазалоо", +"fromDataGridFilteringLabel" : "From" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_lo.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_lo.arb index a77d1351c..632866b93 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_lo.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_lo.arb @@ -1,5 +1,5 @@ { -"noSelectedDateCalendarLabel" : "ບໍ່ມີວັນທີທີ່ເລືອກ", +"noSelectedDateCalendarLabel" : "ບໍ່ມີວັນທີເລືອກ", "noEventsCalendarLabel" : "ບໍ່ມີເຫດການ", "ofDataPagerLabel" : "ຂອງ", "pagesDataPagerLabel" : "ໜ້າ", @@ -39,7 +39,7 @@ "rajabLabel" : "Rajab", "shaabanLabel" : "ຊາອາບານ", "ramadanLabel" : "ຣາມາດານ", -"shawwalLabel" : "ຊວາວ", +"shawwalLabel" : "ຊະວາວ", "dhualqiLabel" : "Dhu al-Qi'dah", "dhualhiLabel" : "Dhu al-Hijjah", "shortMuharramLabel" : "ມ.", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "ເປີດໜ້າເວັບ", "pdfHyperlinkContentLabel" : "ທ່ານຕ້ອງການເປີດຫນ້າຢູ່", "pdfHyperlinkDialogOpenLabel" : "ເປີດ", -"pdfHyperlinkDialogCancelLabel" : "ຍົກເລີກ" +"pdfHyperlinkDialogCancelLabel" : "ຍົກເລີກ", +"afterDataGridFilteringLabel" : "ຫຼັງຈາກ", +"afterOrEqualDataGridFilteringLabel" : "ຫຼັງ​ຈາກ​ຫຼື​ເທົ່າ​ທຽມ​ກັນ​", +"beforeDataGridFilteringLabel" : "ກ່ອນ ຫຼື ເທົ່າກັນ", +"beforeOrEqualDataGridFilteringLabel" : "ກ່ອນ", +"beginsWithDataGridFilteringLabel" : "ເລີ່ມຕົ້ນດ້ວຍ", +"containsDataGridFilteringLabel" : "ປະກອບດ້ວຍ", +"doesNotBeginWithDataGridFilteringLabel" : "ບໍ່ໄດ້ເລີ່ມຕົ້ນດ້ວຍ", +"doesNotContainDataGridFilteringLabel" : "ບໍ່ມີ", +"doesNotEndWithDataGridFilteringLabel" : "ບໍ່ສິ້ນສຸດດ້ວຍ", +"doesNotEqualDataGridFilteringLabel" : "ບໍ່ເທົ່າກັນ", +"emptyDataGridFilteringLabel" : "ຫວ່າງເປົ່າ", +"endsWithDataGridFilteringLabel" : "ສິ້ນສຸດດ້ວຍ", +"equalsDataGridFilteringLabel" : "ເທົ່າກັບ", +"greaterThanDataGridFilteringLabel" : "ໃຫຍ່​ກວ່າ", +"greaterThanOrEqualDataGridFilteringLabel" : "ຍິ່ງໃຫຍ່ກວ່າຫຼືເທົ່າທຽມກັນ", +"lessThanDataGridFilteringLabel" : "ຫນ້ອຍ​ກ​່​ວາ", +"lessThanOrEqualDataGridFilteringLabel" : "ໜ້ອຍກວ່າ ຫຼື ເທົ່າກັນ", +"notEmptyDataGridFilteringLabel" : "ບໍ່ຫວ່າງ", +"notNullDataGridFilteringLabel" : "ບໍ່ແມ່ນ Null", +"nullDataGridFilteringLabel" : "null", +"sortSmallestToLargestDataGridFilteringLabel" : "ຈັດລຽງນ້ອຍສຸດຫາໃຫຍ່ທີ່ສຸດ", +"sortLargestToSmallestDataGridFilteringLabel" : "ຈັດຮຽງໃຫຍ່ສຸດຫານ້ອຍສຸດ", +"sortAToZDataGridFilteringLabel" : "ຈັດຮຽງ A ຫາ Z", +"sortZToADataGridFilteringLabel" : "ຈັດຮຽງ Z ຫາ A", +"sortOldestToNewestDataGridFilteringLabel" : "ຈັດຮຽງເກົ່າສຸດຫາໃໝ່ສຸດ", +"sortNewestToOldestDataGridFilteringLabel" : "ຈັດຮຽງໃໝ່ສຸດຫາເກົ່າທີ່ສຸດ", +"textFiltersDataGridFilteringLabel" : "ຕົວກອງຂໍ້ຄວາມ", +"numberFiltersDataGridFilteringLabel" : "ຕົວກອງຕົວເລກ", +"dateFiltersDataGridFilteringLabel" : "ການກັ່ນຕອງວັນທີ", +"searchDataGridFilteringLabel" : "ຊອກຫາ", +"noMatchesDataGridFilteringLabel" : "ບໍ່ມີຂໍ້ມູນທີ່ກົງກັນ", +"okDataGridFilteringLabel" : "ຕົກ​ລົງ", +"cancelDataGridFilteringLabel" : "ຍົກເລີກ", +"showRowsWhereDataGridFilteringLabel" : "ສະແດງແຖວຢູ່ບ່ອນ", +"andDataGridFilteringLabel" : "ແລະ", +"orDataGridFilteringLabel" : "ຫຼື", +"selectAllDataGridFilteringLabel" : "ເລືອກ​ທັງ​ຫມົດ", +"sortAndFilterDataGridFilteringLabel" : "ຄັດແລະການກັ່ນຕອງ", +"clearFilterDataGridFilteringLabel" : "ລ້າງການກັ່ນຕອງ", +"fromDataGridFilteringLabel" : "ຈາກ" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_lt.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_lt.arb index 41b763a43..ccf968c7c 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_lt.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_lt.arb @@ -42,7 +42,7 @@ "shawwalLabel" : "Shawwal", "dhualqiLabel" : "Dhu al-Qi'dah", "dhualhiLabel" : "Dhu al-Hijjah", -"shortMuharramLabel" : "aha.", +"shortMuharramLabel" : "Muh.", "shortSafarLabel" : "Saf.", "shortRabi1Label" : "Rabi. aš", "shortRabi2Label" : "Rabi. II", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Atidarykite tinklalapį", "pdfHyperlinkContentLabel" : "Ar norite atidaryti puslapį adresu", "pdfHyperlinkDialogOpenLabel" : "ATVIRAS", -"pdfHyperlinkDialogCancelLabel" : "ATŠAUKTI" +"pdfHyperlinkDialogCancelLabel" : "ATŠAUKTI", +"afterDataGridFilteringLabel" : "Po to", +"afterOrEqualDataGridFilteringLabel" : "Po arba lygus", +"beforeDataGridFilteringLabel" : "Prieš arba lygus", +"beforeOrEqualDataGridFilteringLabel" : "Prieš", +"beginsWithDataGridFilteringLabel" : "Prasideda su", +"containsDataGridFilteringLabel" : "Sudėtyje yra", +"doesNotBeginWithDataGridFilteringLabel" : "Neprasideda su", +"doesNotContainDataGridFilteringLabel" : "Sudėtyje nėra", +"doesNotEndWithDataGridFilteringLabel" : "Nesibaigia", +"doesNotEqualDataGridFilteringLabel" : "Nelygu", +"emptyDataGridFilteringLabel" : "Tuščia", +"endsWithDataGridFilteringLabel" : "Baigiasi su", +"equalsDataGridFilteringLabel" : "Lygu", +"greaterThanDataGridFilteringLabel" : "Geresnis negu", +"greaterThanOrEqualDataGridFilteringLabel" : "Didesnis nei lygus", +"lessThanDataGridFilteringLabel" : "Mažiau nei", +"lessThanOrEqualDataGridFilteringLabel" : "Mažiau nei arba lygus", +"notEmptyDataGridFilteringLabel" : "Ne Tuščias", +"notNullDataGridFilteringLabel" : "Ne Null", +"nullDataGridFilteringLabel" : "Null", +"sortSmallestToLargestDataGridFilteringLabel" : "Rūšiuoti nuo mažiausio iki didžiausio", +"sortLargestToSmallestDataGridFilteringLabel" : "Rūšiuoti nuo didžiausio iki mažiausio", +"sortAToZDataGridFilteringLabel" : "Rūšiuoti nuo A iki Z", +"sortZToADataGridFilteringLabel" : "Rūšiuoti nuo Z iki A", +"sortOldestToNewestDataGridFilteringLabel" : "Rūšiuoti nuo seniausių iki naujausių", +"sortNewestToOldestDataGridFilteringLabel" : "Rūšiuoti nuo naujausių iki seniausių", +"textFiltersDataGridFilteringLabel" : "Teksto filtrai", +"numberFiltersDataGridFilteringLabel" : "Skaičių filtrai", +"dateFiltersDataGridFilteringLabel" : "Datos filtrai", +"searchDataGridFilteringLabel" : "Paieška", +"noMatchesDataGridFilteringLabel" : "Jokių atitikmenų", +"okDataGridFilteringLabel" : "Gerai", +"cancelDataGridFilteringLabel" : "Atšaukti", +"showRowsWhereDataGridFilteringLabel" : "Rodyti eilutes kur", +"andDataGridFilteringLabel" : "Ir", +"orDataGridFilteringLabel" : "Arba", +"selectAllDataGridFilteringLabel" : "Pasirinkti viską", +"sortAndFilterDataGridFilteringLabel" : "Rūšiuoti ir filtruoti", +"clearFilterDataGridFilteringLabel" : "Išvalyti filtrą", +"fromDataGridFilteringLabel" : "Iš" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_lv.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_lv.arb index fa12873f6..6f8037ea1 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_lv.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_lv.arb @@ -41,7 +41,7 @@ "ramadanLabel" : "Ramadāns", "shawwalLabel" : "Šovals", "dhualqiLabel" : "Dhu al-Qi'dah", -"dhualhiLabel" : "Dhu al-Hijjah", +"dhualhiLabel" : "Dhu al-Hidžja", "shortMuharramLabel" : "Muh.", "shortSafarLabel" : "Saf.", "shortRabi1Label" : "Rabi. es", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Atveriet tīmekļa lapu", "pdfHyperlinkContentLabel" : "Vai vēlaties atvērt lapu vietnē", "pdfHyperlinkDialogOpenLabel" : "ATVĒRTS", -"pdfHyperlinkDialogCancelLabel" : "ATCELT" +"pdfHyperlinkDialogCancelLabel" : "ATCELT", +"afterDataGridFilteringLabel" : "Pēc", +"afterOrEqualDataGridFilteringLabel" : "Pēc vai vienāds", +"beforeDataGridFilteringLabel" : "Pirms vai vienāds", +"beforeOrEqualDataGridFilteringLabel" : "Pirms tam", +"beginsWithDataGridFilteringLabel" : "Sākas ar", +"containsDataGridFilteringLabel" : "Satur", +"doesNotBeginWithDataGridFilteringLabel" : "Nesākas ar", +"doesNotContainDataGridFilteringLabel" : "Nesatur", +"doesNotEndWithDataGridFilteringLabel" : "Nebeidzas ar", +"doesNotEqualDataGridFilteringLabel" : "Nav vienāds", +"emptyDataGridFilteringLabel" : "Tukšs", +"endsWithDataGridFilteringLabel" : "Beidzas ar", +"equalsDataGridFilteringLabel" : "Vienāds", +"greaterThanDataGridFilteringLabel" : "Pārāks nekā", +"greaterThanOrEqualDataGridFilteringLabel" : "Lielāks par vai vienāds", +"lessThanDataGridFilteringLabel" : "Mazāk nekā", +"lessThanOrEqualDataGridFilteringLabel" : "Mazāk nekā vai vienāds", +"notEmptyDataGridFilteringLabel" : "Nav tukšs", +"notNullDataGridFilteringLabel" : "Nav Null", +"nullDataGridFilteringLabel" : "Null", +"sortSmallestToLargestDataGridFilteringLabel" : "Kārtot no mazākā uz lielāko", +"sortLargestToSmallestDataGridFilteringLabel" : "Kārtot no lielākā uz mazāko", +"sortAToZDataGridFilteringLabel" : "Kārtot no A līdz Z", +"sortZToADataGridFilteringLabel" : "Kārtot no Z līdz A", +"sortOldestToNewestDataGridFilteringLabel" : "Kārtot no vecāko uz jaunāko", +"sortNewestToOldestDataGridFilteringLabel" : "Kārtot no jaunākajiem uz vecākajiem", +"textFiltersDataGridFilteringLabel" : "Teksta filtri", +"numberFiltersDataGridFilteringLabel" : "Skaitļu filtri", +"dateFiltersDataGridFilteringLabel" : "Datumu filtri", +"searchDataGridFilteringLabel" : "Meklēt", +"noMatchesDataGridFilteringLabel" : "Nav nevienas spēles", +"okDataGridFilteringLabel" : "labi", +"cancelDataGridFilteringLabel" : "Atcelt", +"showRowsWhereDataGridFilteringLabel" : "Rādīt rindas, kur", +"andDataGridFilteringLabel" : "Un", +"orDataGridFilteringLabel" : "Or", +"selectAllDataGridFilteringLabel" : "Izvēlēties visus", +"sortAndFilterDataGridFilteringLabel" : "Kārtot un filtrēt", +"clearFilterDataGridFilteringLabel" : "Notīrīt filtru", +"fromDataGridFilteringLabel" : "No" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_mk.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_mk.arb index b637e8fdb..94301a586 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_mk.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_mk.arb @@ -9,7 +9,7 @@ "pdfScrollStatusOfLabel" : "на", "pdfGoToPageLabel" : "Оди на страна", "pdfEnterPageNumberLabel" : "Внесете го бројот на страницата", -"pdfInvalidPageNumberLabel" : "Ве молиме внесете важечки број", +"pdfInvalidPageNumberLabel" : "Внесете важечки број", "pdfPaginationDialogOkLabel" : "добро", "pdfPaginationDialogCancelLabel" : "ОТКАЖИ", "passwordDialogHeaderTextLabel" : "Заштитено со лозинка", @@ -26,8 +26,8 @@ "allowedViewTimelineDayLabel" : "Ден на времеплов", "allowedViewTimelineWeekLabel" : "Недела на времеплов", "allowedViewTimelineWorkWeekLabel" : "Временска рамка Работна недела", -"allowedViewTimelineMonthLabel" : "Времеплов месец", -"todayLabel" : "Денеска", +"allowedViewTimelineMonthLabel" : "Месец на времеплов", +"todayLabel" : "Денес", "weeknumberLabel" : "Недела", "allDayLabel" : "Цел ден", "muharramLabel" : "Мухарам", @@ -41,7 +41,7 @@ "ramadanLabel" : "Рамазан", "shawwalLabel" : "Шавал", "dhualqiLabel" : "Зу ал-Кида", -"dhualhiLabel" : "Зу ал-Хиџа", +"dhualhiLabel" : "Зу ал Хиџа", "shortMuharramLabel" : "Мух.", "shortSafarLabel" : "Саф.", "shortRabi1Label" : "Раби. Јас", @@ -50,14 +50,54 @@ "shortJumada2Label" : "Џум. II", "shortRajabLabel" : "Раџ.", "shortShaabanLabel" : "Ша.", -"shortRamadanLabel" : "Рам.", +"shortRamadanLabel" : "Овен.", "shortShawwalLabel" : "Шо.", -"shortDhualqiLabel" : "Дул-К", +"shortDhualqiLabel" : "Ду'л-К", "shortDhualhiLabel" : "Дул-Х", "daySpanCountLabel" : "Ден", "series" : "Серии", -"pdfHyperlinkLabel" : "Отворете веб-страница", +"pdfHyperlinkLabel" : "Отворете ја веб-страницата", "pdfHyperlinkContentLabel" : "Дали сакате да ја отворите страницата на", "pdfHyperlinkDialogOpenLabel" : "ОТВОРЕНО", -"pdfHyperlinkDialogCancelLabel" : "ОТКАЖИ" +"pdfHyperlinkDialogCancelLabel" : "ОТКАЖИ", +"afterDataGridFilteringLabel" : "По", +"afterOrEqualDataGridFilteringLabel" : "По Или еднакви", +"beforeDataGridFilteringLabel" : "Пред или еднакви", +"beforeOrEqualDataGridFilteringLabel" : "Пред", +"beginsWithDataGridFilteringLabel" : "Започнува со", +"containsDataGridFilteringLabel" : "Содржи", +"doesNotBeginWithDataGridFilteringLabel" : "Не започнува со", +"doesNotContainDataGridFilteringLabel" : "Не содржи", +"doesNotEndWithDataGridFilteringLabel" : "Не завршува со", +"doesNotEqualDataGridFilteringLabel" : "Не е еднакво", +"emptyDataGridFilteringLabel" : "Празен", +"endsWithDataGridFilteringLabel" : "Завршува со", +"equalsDataGridFilteringLabel" : "Еднакви", +"greaterThanDataGridFilteringLabel" : "Поголема од", +"greaterThanOrEqualDataGridFilteringLabel" : "Поголема од Или еднаква", +"lessThanDataGridFilteringLabel" : "Помалку од", +"lessThanOrEqualDataGridFilteringLabel" : "Помалку од или еднакви", +"notEmptyDataGridFilteringLabel" : "Не е празен", +"notNullDataGridFilteringLabel" : "Не Нулта", +"nullDataGridFilteringLabel" : "Нула", +"sortSmallestToLargestDataGridFilteringLabel" : "Подреди од најмал до најголем", +"sortLargestToSmallestDataGridFilteringLabel" : "Подреди од најголем до најмал", +"sortAToZDataGridFilteringLabel" : "Подреди од А до Ш", +"sortZToADataGridFilteringLabel" : "Подреди од Ш до А", +"sortOldestToNewestDataGridFilteringLabel" : "Подреди од најстарото до најновото", +"sortNewestToOldestDataGridFilteringLabel" : "Подреди најновото до најстарото", +"textFiltersDataGridFilteringLabel" : "Филтри за текст", +"numberFiltersDataGridFilteringLabel" : "Филтри за броеви", +"dateFiltersDataGridFilteringLabel" : "Филтри за датум", +"searchDataGridFilteringLabel" : "Пребарување", +"noMatchesDataGridFilteringLabel" : "Нема совпаѓања", +"okDataGridFilteringLabel" : "добро", +"cancelDataGridFilteringLabel" : "Откажи", +"showRowsWhereDataGridFilteringLabel" : "Прикажи ги редовите каде", +"andDataGridFilteringLabel" : "И", +"orDataGridFilteringLabel" : "Или", +"selectAllDataGridFilteringLabel" : "Селектирај се", +"sortAndFilterDataGridFilteringLabel" : "Сортирање и филтрирање", +"clearFilterDataGridFilteringLabel" : "Исчистете го филтерот", +"fromDataGridFilteringLabel" : "Од" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ml.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ml.arb index 97bbdf5d6..418b4b8ef 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ml.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ml.arb @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "വെബ് പേജ് തുറക്കുക", "pdfHyperlinkContentLabel" : "എന്നതിൽ പേജ് തുറക്കണോ?", "pdfHyperlinkDialogOpenLabel" : "തുറക്കുക", -"pdfHyperlinkDialogCancelLabel" : "റദ്ദാക്കുക" +"pdfHyperlinkDialogCancelLabel" : "റദ്ദാക്കുക", +"afterDataGridFilteringLabel" : "ശേഷം", +"afterOrEqualDataGridFilteringLabel" : "ശേഷം അല്ലെങ്കിൽ തുല്യം", +"beforeDataGridFilteringLabel" : "മുമ്പോ തുല്യമോ", +"beforeOrEqualDataGridFilteringLabel" : "മുമ്പ്", +"beginsWithDataGridFilteringLabel" : "കൂടെ തുടങ്ങുന്നു", +"containsDataGridFilteringLabel" : "അടങ്ങിയിരിക്കുന്നു", +"doesNotBeginWithDataGridFilteringLabel" : "കൂടെ തുടങ്ങുന്നില്ല", +"doesNotContainDataGridFilteringLabel" : "അടങ്ങിയിട്ടില്ല", +"doesNotEndWithDataGridFilteringLabel" : "കൊണ്ട് അവസാനിക്കുന്നില്ല", +"doesNotEqualDataGridFilteringLabel" : "തുല്യമല്ല", +"emptyDataGridFilteringLabel" : "ശൂന്യം", +"endsWithDataGridFilteringLabel" : "കൂടെ അവസാനിക്കുന്നു", +"equalsDataGridFilteringLabel" : "തുല്യമാണ്", +"greaterThanDataGridFilteringLabel" : "അതിലും വലുത്", +"greaterThanOrEqualDataGridFilteringLabel" : "വലുത് അല്ലെങ്കിൽ തുല്യം", +"lessThanDataGridFilteringLabel" : "അതിൽ കുറവ്", +"lessThanOrEqualDataGridFilteringLabel" : "കുറവ് അല്ലെങ്കിൽ തുല്യം", +"notEmptyDataGridFilteringLabel" : "ശൂന്യമല്ല", +"notNullDataGridFilteringLabel" : "നൾ അല്ല", +"nullDataGridFilteringLabel" : "ശൂന്യം", +"sortSmallestToLargestDataGridFilteringLabel" : "ചെറുത് മുതൽ വലുത് വരെ അടുക്കുക", +"sortLargestToSmallestDataGridFilteringLabel" : "ഏറ്റവും വലുത് മുതൽ ചെറുത് വരെ അടുക്കുക", +"sortAToZDataGridFilteringLabel" : "A മുതൽ Z വരെ അടുക്കുക", +"sortZToADataGridFilteringLabel" : "Z മുതൽ A വരെ അടുക്കുക", +"sortOldestToNewestDataGridFilteringLabel" : "ഏറ്റവും പഴയത് മുതൽ പുതിയത് വരെ അടുക്കുക", +"sortNewestToOldestDataGridFilteringLabel" : "ഏറ്റവും പുതിയത് മുതൽ പഴയത് വരെ അടുക്കുക", +"textFiltersDataGridFilteringLabel" : "ടെക്സ്റ്റ് ഫിൽട്ടറുകൾ", +"numberFiltersDataGridFilteringLabel" : "നമ്പർ ഫിൽട്ടറുകൾ", +"dateFiltersDataGridFilteringLabel" : "തീയതി ഫിൽട്ടറുകൾ", +"searchDataGridFilteringLabel" : "തിരയുക", +"noMatchesDataGridFilteringLabel" : "പൊരുത്തങ്ങളൊന്നുമില്ല", +"okDataGridFilteringLabel" : "ശരി", +"cancelDataGridFilteringLabel" : "റദ്ദാക്കുക", +"showRowsWhereDataGridFilteringLabel" : "എവിടെ വരികൾ കാണിക്കുക", +"andDataGridFilteringLabel" : "ഒപ്പം", +"orDataGridFilteringLabel" : "അഥവാ", +"selectAllDataGridFilteringLabel" : "എല്ലാം തിരഞ്ഞെടുക്കുക", +"sortAndFilterDataGridFilteringLabel" : "അടുക്കി ഫിൽട്ടർ ചെയ്യുക", +"clearFilterDataGridFilteringLabel" : "ഫിൽട്ടർ മായ്‌ക്കുക", +"fromDataGridFilteringLabel" : "നിന്ന്" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_mn.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_mn.arb index 3d7ba2458..e8f8b6e41 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_mn.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_mn.arb @@ -41,7 +41,7 @@ "ramadanLabel" : "Рамадан", "shawwalLabel" : "Шаввал", "dhualqiLabel" : "Зу аль-Кида", -"dhualhiLabel" : "Зу аль-Хижа", +"dhualhiLabel" : "Зул Хижжа", "shortMuharramLabel" : "Мух.", "shortSafarLabel" : "Saf.", "shortRabi1Label" : "Раби. I", @@ -53,11 +53,51 @@ "shortRamadanLabel" : "Рам.", "shortShawwalLabel" : "Шоу.", "shortDhualqiLabel" : "Зуль-К", -"shortDhualhiLabel" : "Зуль-Х", +"shortDhualhiLabel" : "Зуль-Х", "daySpanCountLabel" : "Өдөр", "series" : "Цуврал", "pdfHyperlinkLabel" : "Вэб хуудсыг нээх", "pdfHyperlinkContentLabel" : "хаягаар хуудсыг нээхийг хүсэж байна уу", "pdfHyperlinkDialogOpenLabel" : "НЭЭЛТТЭЙ", -"pdfHyperlinkDialogCancelLabel" : "Цуцлах" +"pdfHyperlinkDialogCancelLabel" : "Цуцлах", +"afterDataGridFilteringLabel" : "Дараа нь", +"afterOrEqualDataGridFilteringLabel" : "Дараа эсвэл тэнцүү", +"beforeDataGridFilteringLabel" : "Өмнө эсвэл Тэнцүү", +"beforeOrEqualDataGridFilteringLabel" : "Өмнө нь", +"beginsWithDataGridFilteringLabel" : "-аар эхэлдэг", +"containsDataGridFilteringLabel" : "агуулсан", +"doesNotBeginWithDataGridFilteringLabel" : "-аас эхэлдэггүй", +"doesNotContainDataGridFilteringLabel" : "Агуулаагүй", +"doesNotEndWithDataGridFilteringLabel" : "Үүгээр дуусахгүй", +"doesNotEqualDataGridFilteringLabel" : "Тэнцэхгүй", +"emptyDataGridFilteringLabel" : "Хоосон", +"endsWithDataGridFilteringLabel" : "-ээр төгсдөг", +"equalsDataGridFilteringLabel" : "Тэнцүү", +"greaterThanDataGridFilteringLabel" : "Илүү их", +"greaterThanOrEqualDataGridFilteringLabel" : "Их буюу тэнцүү", +"lessThanDataGridFilteringLabel" : "Ээс бага", +"lessThanOrEqualDataGridFilteringLabel" : "-ээс бага эсвэл тэнцүү", +"notEmptyDataGridFilteringLabel" : "Хоосон биш", +"notNullDataGridFilteringLabel" : "Null биш", +"nullDataGridFilteringLabel" : "Null", +"sortSmallestToLargestDataGridFilteringLabel" : "Хамгийн жижигээс томд эрэмбэлэх", +"sortLargestToSmallestDataGridFilteringLabel" : "Томоос жижиг рүү ангилах", +"sortAToZDataGridFilteringLabel" : "А-аас Я хүртэл эрэмбэлэх", +"sortZToADataGridFilteringLabel" : "Z-ээс А хүртэл эрэмбэлэх", +"sortOldestToNewestDataGridFilteringLabel" : "Хамгийн хуучинаас шинэ рүү эрэмбэлэх", +"sortNewestToOldestDataGridFilteringLabel" : "Хамгийн шинэээс хамгийн хуучин руу эрэмбэлэх", +"textFiltersDataGridFilteringLabel" : "Текст шүүлтүүрүүд", +"numberFiltersDataGridFilteringLabel" : "Тооны шүүлтүүрүүд", +"dateFiltersDataGridFilteringLabel" : "Огноо шүүлтүүрүүд", +"searchDataGridFilteringLabel" : "Хайх", +"noMatchesDataGridFilteringLabel" : "Тохирох зүйл алга", +"okDataGridFilteringLabel" : "БОЛЖ БАЙНА УУ", +"cancelDataGridFilteringLabel" : "Цуцлах", +"showRowsWhereDataGridFilteringLabel" : "Хаана мөрүүдийг харуул", +"andDataGridFilteringLabel" : "Тэгээд", +"orDataGridFilteringLabel" : "Эсвэл", +"selectAllDataGridFilteringLabel" : "Бүгдийг сонгох", +"sortAndFilterDataGridFilteringLabel" : "Ангилах, шүүх", +"clearFilterDataGridFilteringLabel" : "Шүүлтүүрийг арилгах", +"fromDataGridFilteringLabel" : "-аас" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_mr.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_mr.arb index 58ea02b1f..eea52bdbb 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_mr.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_mr.arb @@ -33,8 +33,8 @@ "muharramLabel" : "मोहरम", "safarLabel" : "सफर", "rabi1Label" : "रबी अल अव्वल", -"rabi2Label" : "रबी अल-थानी", -"jumada1Label" : "जुमदा अल-अव्वल", +"rabi2Label" : "रबी अल थानी", +"jumada1Label" : "जुमदा अल-अव्वाल", "jumada2Label" : "जुमादा अल-थानी", "rajabLabel" : "रजब", "shaabanLabel" : "शाबान", @@ -46,8 +46,8 @@ "shortSafarLabel" : "सफ.", "shortRabi1Label" : "रबी. आय", "shortRabi2Label" : "रबी. II", -"shortJumada1Label" : "जम. आय", -"shortJumada2Label" : "जम. II", +"shortJumada1Label" : "जुम. आय", +"shortJumada2Label" : "जुम. II", "shortRajabLabel" : "राज.", "shortShaabanLabel" : "शा.", "shortRamadanLabel" : "रॅम.", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "वेब पृष्ठ उघडा", "pdfHyperlinkContentLabel" : "तुम्हाला येथे पृष्ठ उघडायचे आहे का", "pdfHyperlinkDialogOpenLabel" : "उघडा", -"pdfHyperlinkDialogCancelLabel" : "रद्द करा" +"pdfHyperlinkDialogCancelLabel" : "रद्द करा", +"afterDataGridFilteringLabel" : "नंतर", +"afterOrEqualDataGridFilteringLabel" : "नंतर किंवा समान", +"beforeDataGridFilteringLabel" : "आधी किंवा समान", +"beforeOrEqualDataGridFilteringLabel" : "आधी", +"beginsWithDataGridFilteringLabel" : "ने सुरुवात होते", +"containsDataGridFilteringLabel" : "समाविष्ट आहे", +"doesNotBeginWithDataGridFilteringLabel" : "ने सुरुवात होत नाही", +"doesNotContainDataGridFilteringLabel" : "समाविष्ट नाही", +"doesNotEndWithDataGridFilteringLabel" : "सह संपत नाही", +"doesNotEqualDataGridFilteringLabel" : "समान नाही", +"emptyDataGridFilteringLabel" : "रिकामे", +"endsWithDataGridFilteringLabel" : "यासह समाप्त होते", +"equalsDataGridFilteringLabel" : "बरोबरी", +"greaterThanDataGridFilteringLabel" : "या पेक्षा मोठे", +"greaterThanOrEqualDataGridFilteringLabel" : "पेक्षा मोठे किंवा समान", +"lessThanDataGridFilteringLabel" : "च्या पेक्षा कमी", +"lessThanOrEqualDataGridFilteringLabel" : "पेक्षा कमी किंवा समान", +"notEmptyDataGridFilteringLabel" : "रिकामे नाही", +"notNullDataGridFilteringLabel" : "शून्य नाही", +"nullDataGridFilteringLabel" : "निरर्थक", +"sortSmallestToLargestDataGridFilteringLabel" : "सर्वात लहान ते सर्वात मोठ्या क्रमवारी लावा", +"sortLargestToSmallestDataGridFilteringLabel" : "सर्वात मोठ्या ते सर्वात लहान क्रमवारी लावा", +"sortAToZDataGridFilteringLabel" : "A ते Z क्रमवारी लावा", +"sortZToADataGridFilteringLabel" : "Z ते A क्रमवारी लावा", +"sortOldestToNewestDataGridFilteringLabel" : "सर्वात जुनी ते नवीनतम क्रमवारी लावा", +"sortNewestToOldestDataGridFilteringLabel" : "सर्वात नवीन ते सर्वात जुने क्रमवारी लावा", +"textFiltersDataGridFilteringLabel" : "मजकूर फिल्टर", +"numberFiltersDataGridFilteringLabel" : "संख्या फिल्टर", +"dateFiltersDataGridFilteringLabel" : "तारीख फिल्टर", +"searchDataGridFilteringLabel" : "शोधा", +"noMatchesDataGridFilteringLabel" : "कोणतेही सामने नाहीत", +"okDataGridFilteringLabel" : "ठीक आहे", +"cancelDataGridFilteringLabel" : "रद्द करा", +"showRowsWhereDataGridFilteringLabel" : "कुठे पंक्ती दाखवा", +"andDataGridFilteringLabel" : "आणि", +"orDataGridFilteringLabel" : "किंवा", +"selectAllDataGridFilteringLabel" : "सर्व निवडा", +"sortAndFilterDataGridFilteringLabel" : "क्रमवारी लावा आणि फिल्टर करा", +"clearFilterDataGridFilteringLabel" : "फिल्टर साफ करा", +"fromDataGridFilteringLabel" : "पासून" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ms.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ms.arb index 2afa032d5..a37b87045 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ms.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ms.arb @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Buka Halaman Web", "pdfHyperlinkContentLabel" : "Adakah anda ingin membuka halaman di", "pdfHyperlinkDialogOpenLabel" : "BUKA", -"pdfHyperlinkDialogCancelLabel" : "BATALKAN" +"pdfHyperlinkDialogCancelLabel" : "BATALKAN", +"afterDataGridFilteringLabel" : "Selepas", +"afterOrEqualDataGridFilteringLabel" : "Selepas Atau Sama", +"beforeDataGridFilteringLabel" : "Sebelum Atau Sama", +"beforeOrEqualDataGridFilteringLabel" : "Sebelum ini", +"beginsWithDataGridFilteringLabel" : "Bermula dengan", +"containsDataGridFilteringLabel" : "Mengandungi", +"doesNotBeginWithDataGridFilteringLabel" : "Tidak Bermula Dengan", +"doesNotContainDataGridFilteringLabel" : "Tidak mengandungi", +"doesNotEndWithDataGridFilteringLabel" : "Tidak Berakhir Dengan", +"doesNotEqualDataGridFilteringLabel" : "Tidak Sama", +"emptyDataGridFilteringLabel" : "kosong", +"endsWithDataGridFilteringLabel" : "Berakhir Dengan", +"equalsDataGridFilteringLabel" : "sama", +"greaterThanDataGridFilteringLabel" : "Lebih besar daripada", +"greaterThanOrEqualDataGridFilteringLabel" : "Lebih Besar Daripada Atau Sama", +"lessThanDataGridFilteringLabel" : "Kurang daripada", +"lessThanOrEqualDataGridFilteringLabel" : "Kurang Daripada Atau Sama", +"notEmptyDataGridFilteringLabel" : "Tidak kosong", +"notNullDataGridFilteringLabel" : "Bukan Null", +"nullDataGridFilteringLabel" : "batal", +"sortSmallestToLargestDataGridFilteringLabel" : "Susun Terkecil Kepada Terbesar", +"sortLargestToSmallestDataGridFilteringLabel" : "Susun Terbesar Kepada Terkecil", +"sortAToZDataGridFilteringLabel" : "Susun A Hingga Z", +"sortZToADataGridFilteringLabel" : "Isih Z Hingga A", +"sortOldestToNewestDataGridFilteringLabel" : "Isih Terlama Kepada Terbaharu", +"sortNewestToOldestDataGridFilteringLabel" : "Susun Terbaharu Hingga Terlama", +"textFiltersDataGridFilteringLabel" : "Penapis Teks", +"numberFiltersDataGridFilteringLabel" : "Penapis Nombor", +"dateFiltersDataGridFilteringLabel" : "Penapis Tarikh", +"searchDataGridFilteringLabel" : "Cari", +"noMatchesDataGridFilteringLabel" : "Tiada perlawanan", +"okDataGridFilteringLabel" : "okey", +"cancelDataGridFilteringLabel" : "Batal", +"showRowsWhereDataGridFilteringLabel" : "Tunjukkan baris di mana", +"andDataGridFilteringLabel" : "Dan", +"orDataGridFilteringLabel" : "Ataupun", +"selectAllDataGridFilteringLabel" : "Pilih semua", +"sortAndFilterDataGridFilteringLabel" : "Isih dan Tapis", +"clearFilterDataGridFilteringLabel" : "Kosongkan Penapis", +"fromDataGridFilteringLabel" : "daripada" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_my.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_my.arb index 0979b0ca4..aaa35542b 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_my.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_my.arb @@ -10,11 +10,11 @@ "pdfGoToPageLabel" : "စာမျက်နှာသို့သွားပါ", "pdfEnterPageNumberLabel" : "စာမျက်နှာနံပါတ်ထည့်ပါ။", "pdfInvalidPageNumberLabel" : "ကျေးဇူးပြု၍ တရားဝင်နံပါတ်တစ်ခုထည့်ပါ။", -"pdfPaginationDialogOkLabel" : "အိုကေတယ်နော်", +"pdfPaginationDialogOkLabel" : "အဆင်ပြေလား", "pdfPaginationDialogCancelLabel" : "မလုပ်တော့ပါ။", "passwordDialogHeaderTextLabel" : "စကားဝှက်ကို ကာကွယ်ထားသည်။", "passwordDialogContentLabel" : "ဤ PDF ဖိုင်ကိုဖွင့်ရန် စကားဝှက်ကို ထည့်ပါ။", -"passwordDialogHintTextLabel" : "စကားဝှက်ထည့်ပါ။", +"passwordDialogHintTextLabel" : "Password ရိုက်ထည့်ပါ။", "passwordDialogInvalidPasswordLabel" : "မမှန်ကန်သော စကားဝှက်", "pdfPasswordDialogOpenLabel" : "ဖွင့်ပါ။", "pdfPasswordDialogCancelLabel" : "မလုပ်တော့ပါ။", @@ -26,7 +26,7 @@ "allowedViewTimelineDayLabel" : "Timeline နေ့", "allowedViewTimelineWeekLabel" : "Timeline Week", "allowedViewTimelineWorkWeekLabel" : "Timeline အလုပ်ရက်သတ္တပတ်", -"allowedViewTimelineMonthLabel" : "အချိန်စာရင်းလ", +"allowedViewTimelineMonthLabel" : "Timeline လ", "todayLabel" : "ဒီနေ့", "weeknumberLabel" : "အေးလေ", "allDayLabel" : "တနေကုန်", @@ -38,7 +38,7 @@ "jumada2Label" : "Jumada al-thani", "rajabLabel" : "ရာဂျပ်", "shaabanLabel" : "Sha'aban", -"ramadanLabel" : "ရမ်ဇာန်", +"ramadanLabel" : "ရမဿွာန်", "shawwalLabel" : "Shawwal", "dhualqiLabel" : "Dhu al-Qi'dah", "dhualhiLabel" : "Dhu al-Hijjah", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "ဝဘ်စာမျက်နှာကိုဖွင့်ပါ။", "pdfHyperlinkContentLabel" : "စာမျက်နှာမှာ ဖွင့်ချင်ပါသလား။", "pdfHyperlinkDialogOpenLabel" : "ဖွင့်ပါ။", -"pdfHyperlinkDialogCancelLabel" : "မလုပ်တော့ပါ။" +"pdfHyperlinkDialogCancelLabel" : "မလုပ်တော့ပါ။", +"afterDataGridFilteringLabel" : "ပြီးနောက်", +"afterOrEqualDataGridFilteringLabel" : "ပြီးနောက် သို့မဟုတ် အနှိုင်းမဲ့", +"beforeDataGridFilteringLabel" : "မီ သို့မဟုတ် သာတူညီမျှ", +"beforeOrEqualDataGridFilteringLabel" : "မီ", +"beginsWithDataGridFilteringLabel" : "ဖြင့်စတင်သည်။", +"containsDataGridFilteringLabel" : "ပါရှိသည်။", +"doesNotBeginWithDataGridFilteringLabel" : "ဖြင့် မစတင်ပါ။", +"doesNotContainDataGridFilteringLabel" : "မပါဝင်ပါ။", +"doesNotEndWithDataGridFilteringLabel" : "ဖြင့် မဆုံးပါ။", +"doesNotEqualDataGridFilteringLabel" : "မညီမျှပါ။", +"emptyDataGridFilteringLabel" : "ဗလာ", +"endsWithDataGridFilteringLabel" : "ဖြင့် အဆုံးသတ်သည်။", +"equalsDataGridFilteringLabel" : "ညီမျှသည်။", +"greaterThanDataGridFilteringLabel" : "ထက်မြတ်", +"greaterThanOrEqualDataGridFilteringLabel" : "ပိုကြီးသည် သို့မဟုတ် သာတူညီမျှ", +"lessThanDataGridFilteringLabel" : "ထက်ငယ်သော", +"lessThanOrEqualDataGridFilteringLabel" : "လျော့နည်းသည် သို့မဟုတ် ညီမျှသည်။", +"notEmptyDataGridFilteringLabel" : "ဗလာမဟုတ်ပါ။", +"notNullDataGridFilteringLabel" : "Null မဟုတ်ပါ။", +"nullDataGridFilteringLabel" : "Null", +"sortSmallestToLargestDataGridFilteringLabel" : "အသေးဆုံးမှ အကြီးဆုံးသို့ စီပါ။", +"sortLargestToSmallestDataGridFilteringLabel" : "အကြီးဆုံးမှအသေးဆုံးကိုစီပါ။", +"sortAToZDataGridFilteringLabel" : "A မှ Z ကိုစီပါ။", +"sortZToADataGridFilteringLabel" : "Z မှ A ကိုစီပါ။", +"sortOldestToNewestDataGridFilteringLabel" : "အဟောင်းဆုံးမှ အသစ်ဆုံးသို့ စီပါ။", +"sortNewestToOldestDataGridFilteringLabel" : "အသစ်ဆုံးမှ အဟောင်းဆုံးသို့ စီပါ။", +"textFiltersDataGridFilteringLabel" : "စာသားစစ်ထုတ်မှုများ", +"numberFiltersDataGridFilteringLabel" : "နံပါတ် စစ်ထုတ်မှုများ", +"dateFiltersDataGridFilteringLabel" : "ရက်စွဲ စစ်ထုတ်မှုများ", +"searchDataGridFilteringLabel" : "ရှာရန်", +"noMatchesDataGridFilteringLabel" : "တိုက်ဆိုင်မှု မရှိပါ။", +"okDataGridFilteringLabel" : "အဆင်ပြေလား", +"cancelDataGridFilteringLabel" : "မလုပ်တော့", +"showRowsWhereDataGridFilteringLabel" : "အတန်းပြပါ။", +"andDataGridFilteringLabel" : "နှင့်", +"orDataGridFilteringLabel" : "သို့မဟုတ်", +"selectAllDataGridFilteringLabel" : "အားလုံးကို ရွေးပါ။", +"sortAndFilterDataGridFilteringLabel" : "စီစစ်ပြီး စစ်ထုတ်ပါ။", +"clearFilterDataGridFilteringLabel" : "Filter ကိုရှင်းလင်းပါ။", +"fromDataGridFilteringLabel" : "ထံမှ" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_nb.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_nb.arb index f90969d1f..07e4ff759 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_nb.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_nb.arb @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Åpne webside", "pdfHyperlinkContentLabel" : "Vil du åpne siden på", "pdfHyperlinkDialogOpenLabel" : "ÅPEN", -"pdfHyperlinkDialogCancelLabel" : "AVBRYT" +"pdfHyperlinkDialogCancelLabel" : "AVBRYT", +"afterDataGridFilteringLabel" : "Etter", +"afterOrEqualDataGridFilteringLabel" : "Etter Eller Like", +"beforeDataGridFilteringLabel" : "Før eller lik", +"beforeOrEqualDataGridFilteringLabel" : "Før", +"beginsWithDataGridFilteringLabel" : "Begynner med", +"containsDataGridFilteringLabel" : "Inneholder", +"doesNotBeginWithDataGridFilteringLabel" : "Begynner ikke med", +"doesNotContainDataGridFilteringLabel" : "Inneholder ikke", +"doesNotEndWithDataGridFilteringLabel" : "Slutter ikke med", +"doesNotEqualDataGridFilteringLabel" : "Er ikke lik", +"emptyDataGridFilteringLabel" : "Tømme", +"endsWithDataGridFilteringLabel" : "Slutter med", +"equalsDataGridFilteringLabel" : "Er lik", +"greaterThanDataGridFilteringLabel" : "Større enn", +"greaterThanOrEqualDataGridFilteringLabel" : "Større enn eller lik", +"lessThanDataGridFilteringLabel" : "Mindre enn", +"lessThanOrEqualDataGridFilteringLabel" : "Mindre enn eller lik", +"notEmptyDataGridFilteringLabel" : "Ikke tom", +"notNullDataGridFilteringLabel" : "Ikke null", +"nullDataGridFilteringLabel" : "Null", +"sortSmallestToLargestDataGridFilteringLabel" : "Sorter minste til største", +"sortLargestToSmallestDataGridFilteringLabel" : "Sorter størst til minste", +"sortAToZDataGridFilteringLabel" : "Sorter A til Å", +"sortZToADataGridFilteringLabel" : "Sorter Z til A", +"sortOldestToNewestDataGridFilteringLabel" : "Sorter eldste til nyeste", +"sortNewestToOldestDataGridFilteringLabel" : "Sorter nyeste til eldste", +"textFiltersDataGridFilteringLabel" : "Tekstfiltre", +"numberFiltersDataGridFilteringLabel" : "Nummerfiltre", +"dateFiltersDataGridFilteringLabel" : "Datofiltre", +"searchDataGridFilteringLabel" : "Søk", +"noMatchesDataGridFilteringLabel" : "Ingen treff", +"okDataGridFilteringLabel" : "OK", +"cancelDataGridFilteringLabel" : "Avbryt", +"showRowsWhereDataGridFilteringLabel" : "Vis rader hvor", +"andDataGridFilteringLabel" : "Og", +"orDataGridFilteringLabel" : "Eller", +"selectAllDataGridFilteringLabel" : "Velg alle", +"sortAndFilterDataGridFilteringLabel" : "Sorter og filtrer", +"clearFilterDataGridFilteringLabel" : "Tøm filter", +"fromDataGridFilteringLabel" : "Fra" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ne.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ne.arb index 42aa45f44..e1509e827 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ne.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ne.arb @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "वेब पृष्ठ खोल्नुहोस्", "pdfHyperlinkContentLabel" : "के तपाइँ पृष्ठ खोल्न चाहनुहुन्छ", "pdfHyperlinkDialogOpenLabel" : "खोल्नुहोस्", -"pdfHyperlinkDialogCancelLabel" : "रद्द गर्नुहोस्" +"pdfHyperlinkDialogCancelLabel" : "रद्द गर्नुहोस्", +"afterDataGridFilteringLabel" : "पछि", +"afterOrEqualDataGridFilteringLabel" : "पछि वा बराबर", +"beforeDataGridFilteringLabel" : "अघि वा बराबर", +"beforeOrEqualDataGridFilteringLabel" : "पहिले", +"beginsWithDataGridFilteringLabel" : "बाट सुरु हुन्छ", +"containsDataGridFilteringLabel" : "समावेश गर्दछ", +"doesNotBeginWithDataGridFilteringLabel" : "बाट सुरु हुँदैन", +"doesNotContainDataGridFilteringLabel" : "समावेश गर्दैन", +"doesNotEndWithDataGridFilteringLabel" : "संग समाप्त हुँदैन", +"doesNotEqualDataGridFilteringLabel" : "बराबर हुँदैन", +"emptyDataGridFilteringLabel" : "खाली", +"endsWithDataGridFilteringLabel" : "संग समाप्त हुन्छ", +"equalsDataGridFilteringLabel" : "बराबर हुन्छ", +"greaterThanDataGridFilteringLabel" : "भन्दा ठुलो", +"greaterThanOrEqualDataGridFilteringLabel" : "भन्दा ग्रेटर वा बराबर", +"lessThanDataGridFilteringLabel" : "भन्दा कम", +"lessThanOrEqualDataGridFilteringLabel" : "भन्दा कम वा बराबर", +"notEmptyDataGridFilteringLabel" : "खाली छैन", +"notNullDataGridFilteringLabel" : "शून्य होइन", +"nullDataGridFilteringLabel" : "खाली", +"sortSmallestToLargestDataGridFilteringLabel" : "सबैभन्दा सानो देखि ठुलो क्रमबद्ध गर्नुहोस्", +"sortLargestToSmallestDataGridFilteringLabel" : "सबैभन्दा ठूलो देखि सानो क्रमबद्ध गर्नुहोस्", +"sortAToZDataGridFilteringLabel" : "A देखि Z क्रमबद्ध गर्नुहोस्", +"sortZToADataGridFilteringLabel" : "Z मा A क्रमबद्ध गर्नुहोस्", +"sortOldestToNewestDataGridFilteringLabel" : "सबैभन्दा पुरानो देखि नयाँ क्रमबद्ध गर्नुहोस्", +"sortNewestToOldestDataGridFilteringLabel" : "सबैभन्दा नयाँ देखि पुरानो क्रमबद्ध गर्नुहोस्", +"textFiltersDataGridFilteringLabel" : "पाठ फिल्टरहरू", +"numberFiltersDataGridFilteringLabel" : "नम्बर फिल्टरहरू", +"dateFiltersDataGridFilteringLabel" : "मिति फिल्टरहरू", +"searchDataGridFilteringLabel" : "खोज्नुहोस्", +"noMatchesDataGridFilteringLabel" : "कुनै मेल छैन", +"okDataGridFilteringLabel" : "ठिक छ", +"cancelDataGridFilteringLabel" : "रद्द गर्नुहोस्", +"showRowsWhereDataGridFilteringLabel" : "जहाँ पङ्क्तिहरू देखाउनुहोस्", +"andDataGridFilteringLabel" : "र", +"orDataGridFilteringLabel" : "वा", +"selectAllDataGridFilteringLabel" : "सबै छान्नु", +"sortAndFilterDataGridFilteringLabel" : "क्रमबद्ध र फिल्टर", +"clearFilterDataGridFilteringLabel" : "फिल्टर खाली गर्नुहोस्", +"fromDataGridFilteringLabel" : "बाट" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_nl.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_nl.arb index 29fb735a8..99a30a89c 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_nl.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_nl.arb @@ -8,9 +8,9 @@ "pdfNoBookmarksLabel" : "Geen bladwijzers gevonden", "pdfScrollStatusOfLabel" : "van", "pdfGoToPageLabel" : "Ga naar pagina", -"pdfEnterPageNumberLabel" : "Voer paginanummer in", +"pdfEnterPageNumberLabel" : "Voer het paginanummer in", "pdfInvalidPageNumberLabel" : "Gelieve een geldig nummer invoeren", -"pdfPaginationDialogOkLabel" : "Oke", +"pdfPaginationDialogOkLabel" : "Oké", "pdfPaginationDialogCancelLabel" : "ANNULEREN", "passwordDialogHeaderTextLabel" : "Beschermd met een wachtwoord", "passwordDialogContentLabel" : "Voer het wachtwoord in om dit PDF-bestand te openen", @@ -22,18 +22,18 @@ "allowedViewWeekLabel" : "Week", "allowedViewWorkWeekLabel" : "Werkweek", "allowedViewMonthLabel" : "Maand", -"allowedViewScheduleLabel" : "Schema", -"allowedViewTimelineDayLabel" : "Tijdlijn Dag", -"allowedViewTimelineWeekLabel" : "Tijdlijnweek", +"allowedViewScheduleLabel" : "Schema", +"allowedViewTimelineDayLabel" : "Tijdlijn dag", +"allowedViewTimelineWeekLabel" : "Tijdlijn week", "allowedViewTimelineWorkWeekLabel" : "Tijdlijn Werkweek", "allowedViewTimelineMonthLabel" : "Tijdlijn maand", "todayLabel" : "Vandaag", "weeknumberLabel" : "Week", "allDayLabel" : "De hele dag", "muharramLabel" : "Muharram", -"safarLabel" : "Safari", -"rabi1Label" : "Rabi' al-awwali", -"rabi2Label" : "Rabi' al Thani", +"safarLabel" : "Safar", +"rabi1Label" : "Rabi' al-Awwal", +"rabi2Label" : "Rabi' al-thani", "jumada1Label" : "Jumada al-awwal", "jumada2Label" : "Jumada al-thani", "rajabLabel" : "Rajab", @@ -43,21 +43,61 @@ "dhualqiLabel" : "Dhu al-Qi'dah", "dhualhiLabel" : "Dhu al-Hijjah", "shortMuharramLabel" : "Muh.", -"shortSafarLabel" : "saf.", +"shortSafarLabel" : "Veilig", "shortRabi1Label" : "Rabi. l", "shortRabi2Label" : "Rabi. II", -"shortJumada1Label" : "jum. l", -"shortJumada2Label" : "jum. II", +"shortJumada1Label" : "Jum. l", +"shortJumada2Label" : "Jum. II", "shortRajabLabel" : "Raj.", -"shortShaabanLabel" : "scha.", +"shortShaabanLabel" : "Sha.", "shortRamadanLabel" : "RAM.", -"shortShawwalLabel" : "Sjaa.", +"shortShawwalLabel" : "Shaw.", "shortDhualqiLabel" : "Dhu'l-Q", -"shortDhualhiLabel" : "Dhu'l-H", +"shortDhualhiLabel" : "Dhul-H", "daySpanCountLabel" : "Dag", "series" : "Serie", "pdfHyperlinkLabel" : "Webpagina openen", -"pdfHyperlinkContentLabel" : "Wil je de pagina openen op", +"pdfHyperlinkContentLabel" : "Wilt u de pagina openen op", "pdfHyperlinkDialogOpenLabel" : "OPEN", -"pdfHyperlinkDialogCancelLabel" : "ANNULEREN" +"pdfHyperlinkDialogCancelLabel" : "ANNULEREN", +"afterDataGridFilteringLabel" : "Na", +"afterOrEqualDataGridFilteringLabel" : "Na of gelijk", +"beforeDataGridFilteringLabel" : "Voor of gelijk", +"beforeOrEqualDataGridFilteringLabel" : "Voordat", +"beginsWithDataGridFilteringLabel" : "Begint met", +"containsDataGridFilteringLabel" : "Bevat", +"doesNotBeginWithDataGridFilteringLabel" : "Begint niet met", +"doesNotContainDataGridFilteringLabel" : "Bevat geen", +"doesNotEndWithDataGridFilteringLabel" : "Eindigt niet met", +"doesNotEqualDataGridFilteringLabel" : "Is niet gelijk aan", +"emptyDataGridFilteringLabel" : "Leeg", +"endsWithDataGridFilteringLabel" : "Eindigt met", +"equalsDataGridFilteringLabel" : "gelijk aan", +"greaterThanDataGridFilteringLabel" : "Groter dan", +"greaterThanOrEqualDataGridFilteringLabel" : "Groter dan of gelijk aan", +"lessThanDataGridFilteringLabel" : "Minder dan", +"lessThanOrEqualDataGridFilteringLabel" : "Minder dan of gelijk", +"notEmptyDataGridFilteringLabel" : "Niet leeg", +"notNullDataGridFilteringLabel" : "Niet nul", +"nullDataGridFilteringLabel" : "Nul", +"sortSmallestToLargestDataGridFilteringLabel" : "Sorteer klein naar groot", +"sortLargestToSmallestDataGridFilteringLabel" : "Sorteer van groot naar klein", +"sortAToZDataGridFilteringLabel" : "Sorteer van A tot Z", +"sortZToADataGridFilteringLabel" : "Sorteer Z naar A", +"sortOldestToNewestDataGridFilteringLabel" : "Sorteer oudste naar nieuwste", +"sortNewestToOldestDataGridFilteringLabel" : "Sorteer nieuwste naar oudste", +"textFiltersDataGridFilteringLabel" : "Tekstfilters", +"numberFiltersDataGridFilteringLabel" : "Nummerfilters", +"dateFiltersDataGridFilteringLabel" : "Datumfilters", +"searchDataGridFilteringLabel" : "Zoeken", +"noMatchesDataGridFilteringLabel" : "Geen overeenkomsten", +"okDataGridFilteringLabel" : "Oké", +"cancelDataGridFilteringLabel" : "Annuleren", +"showRowsWhereDataGridFilteringLabel" : "Toon rijen waar", +"andDataGridFilteringLabel" : "En", +"orDataGridFilteringLabel" : "Of", +"selectAllDataGridFilteringLabel" : "Selecteer alles", +"sortAndFilterDataGridFilteringLabel" : "Sorteren en filteren", +"clearFilterDataGridFilteringLabel" : "Filter wissen", +"fromDataGridFilteringLabel" : "Van" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_no.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_no.arb index f90969d1f..07e4ff759 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_no.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_no.arb @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Åpne webside", "pdfHyperlinkContentLabel" : "Vil du åpne siden på", "pdfHyperlinkDialogOpenLabel" : "ÅPEN", -"pdfHyperlinkDialogCancelLabel" : "AVBRYT" +"pdfHyperlinkDialogCancelLabel" : "AVBRYT", +"afterDataGridFilteringLabel" : "Etter", +"afterOrEqualDataGridFilteringLabel" : "Etter Eller Like", +"beforeDataGridFilteringLabel" : "Før eller lik", +"beforeOrEqualDataGridFilteringLabel" : "Før", +"beginsWithDataGridFilteringLabel" : "Begynner med", +"containsDataGridFilteringLabel" : "Inneholder", +"doesNotBeginWithDataGridFilteringLabel" : "Begynner ikke med", +"doesNotContainDataGridFilteringLabel" : "Inneholder ikke", +"doesNotEndWithDataGridFilteringLabel" : "Slutter ikke med", +"doesNotEqualDataGridFilteringLabel" : "Er ikke lik", +"emptyDataGridFilteringLabel" : "Tømme", +"endsWithDataGridFilteringLabel" : "Slutter med", +"equalsDataGridFilteringLabel" : "Er lik", +"greaterThanDataGridFilteringLabel" : "Større enn", +"greaterThanOrEqualDataGridFilteringLabel" : "Større enn eller lik", +"lessThanDataGridFilteringLabel" : "Mindre enn", +"lessThanOrEqualDataGridFilteringLabel" : "Mindre enn eller lik", +"notEmptyDataGridFilteringLabel" : "Ikke tom", +"notNullDataGridFilteringLabel" : "Ikke null", +"nullDataGridFilteringLabel" : "Null", +"sortSmallestToLargestDataGridFilteringLabel" : "Sorter minste til største", +"sortLargestToSmallestDataGridFilteringLabel" : "Sorter størst til minste", +"sortAToZDataGridFilteringLabel" : "Sorter A til Å", +"sortZToADataGridFilteringLabel" : "Sorter Z til A", +"sortOldestToNewestDataGridFilteringLabel" : "Sorter eldste til nyeste", +"sortNewestToOldestDataGridFilteringLabel" : "Sorter nyeste til eldste", +"textFiltersDataGridFilteringLabel" : "Tekstfiltre", +"numberFiltersDataGridFilteringLabel" : "Nummerfiltre", +"dateFiltersDataGridFilteringLabel" : "Datofiltre", +"searchDataGridFilteringLabel" : "Søk", +"noMatchesDataGridFilteringLabel" : "Ingen treff", +"okDataGridFilteringLabel" : "OK", +"cancelDataGridFilteringLabel" : "Avbryt", +"showRowsWhereDataGridFilteringLabel" : "Vis rader hvor", +"andDataGridFilteringLabel" : "Og", +"orDataGridFilteringLabel" : "Eller", +"selectAllDataGridFilteringLabel" : "Velg alle", +"sortAndFilterDataGridFilteringLabel" : "Sorter og filtrer", +"clearFilterDataGridFilteringLabel" : "Tøm filter", +"fromDataGridFilteringLabel" : "Fra" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_or.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_or.arb index 51178cf01..4dbc6b91a 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_or.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_or.arb @@ -4,7 +4,7 @@ "ofDataPagerLabel" : "ର", "pagesDataPagerLabel" : "ପୃଷ୍ଠାଗୁଡ଼ିକ |", "rowsPerPageDataPagerLabel" : "ପ୍ରତି ପୃଷ୍ଠାରେ ଧାଡି |", -"pdfBookmarksLabel" : "ବୁକମାର୍କସ୍", +"pdfBookmarksLabel" : "ବୁକମାର୍କଗୁଡିକ", "pdfNoBookmarksLabel" : "କ book ଣସି ବୁକମାର୍କ ମିଳିଲା ନାହିଁ |", "pdfScrollStatusOfLabel" : "ର", "pdfGoToPageLabel" : "ପୃଷ୍ଠାକୁ ଯାଆନ୍ତୁ |", @@ -30,9 +30,9 @@ "todayLabel" : "ଆଜି |", "weeknumberLabel" : "ସପ୍ତାହ", "allDayLabel" : "ଦିନ ସାରା", -"muharramLabel" : "ମୁହରାମ |", +"muharramLabel" : "ମୁହରାମ", "safarLabel" : "ସଫର |", -"rabi1Label" : "ରବି 'ଅଲ-ଆୱାଲ୍ |", +"rabi1Label" : "ରବି 'ଅଲ-ଅୱାଲ୍ |", "rabi2Label" : "ରବି 'ଅଲ-ଥାନି |", "jumada1Label" : "ଜୁମାଡା ଅଲ-ଅୱାଲ |", "jumada2Label" : "ଜୁମାଡା ଅଲ-ଥାନି |", @@ -57,7 +57,47 @@ "daySpanCountLabel" : "ଦିନ", "series" : "ସିରିଜ୍", "pdfHyperlinkLabel" : "ୱେବ୍ ପୃଷ୍ଠା ଖୋଲନ୍ତୁ |", -"pdfHyperlinkContentLabel" : "ଆପଣ ପେଜ୍ ଖୋଲିବାକୁ ଚାହୁଁଛନ୍ତି କି?", +"pdfHyperlinkContentLabel" : "ଆପଣ ପୃଷ୍ଠା ଖୋଲିବାକୁ ଚାହୁଁଛନ୍ତି କି?", "pdfHyperlinkDialogOpenLabel" : "ଖୋଲନ୍ତୁ |", -"pdfHyperlinkDialogCancelLabel" : "ବାତିଲ୍" +"pdfHyperlinkDialogCancelLabel" : "ବାତିଲ୍", +"afterDataGridFilteringLabel" : "ପରେ", +"afterOrEqualDataGridFilteringLabel" : "କିମ୍ବା ସମାନ ପରେ |", +"beforeDataGridFilteringLabel" : "ପୂର୍ବରୁ କିମ୍ବା ସମାନ |", +"beforeOrEqualDataGridFilteringLabel" : "ପୂର୍ବରୁ", +"beginsWithDataGridFilteringLabel" : "ସହିତ ଆରମ୍ଭ ହୁଏ |", +"containsDataGridFilteringLabel" : "ଧାରଣ କରେ |", +"doesNotBeginWithDataGridFilteringLabel" : "ସହିତ ଆରମ୍ଭ ହୁଏ ନାହିଁ |", +"doesNotContainDataGridFilteringLabel" : "ଧାରଣ କରେ ନାହିଁ |", +"doesNotEndWithDataGridFilteringLabel" : "ସହିତ ସମାପ୍ତ ହୁଏ ନାହିଁ |", +"doesNotEqualDataGridFilteringLabel" : "ସମାନ ନୁହେଁ |", +"emptyDataGridFilteringLabel" : "ଖାଲି", +"endsWithDataGridFilteringLabel" : "ସହିତ ଶେଷ ହୁଏ |", +"equalsDataGridFilteringLabel" : "ସମାନ |", +"greaterThanDataGridFilteringLabel" : "ଠାରୁ ବଡ", +"greaterThanOrEqualDataGridFilteringLabel" : "ଠାରୁ ବଡ କିମ୍ବା ସମାନ |", +"lessThanDataGridFilteringLabel" : "ଠାରୁ କମ୍", +"lessThanOrEqualDataGridFilteringLabel" : "କମ୍ କିମ୍ବା ସମାନ |", +"notEmptyDataGridFilteringLabel" : "ଖାଲି ନୁହେଁ |", +"notNullDataGridFilteringLabel" : "ନଲ୍ ନୁହେଁ |", +"nullDataGridFilteringLabel" : "ନଲ୍", +"sortSmallestToLargestDataGridFilteringLabel" : "ଛୋଟରୁ ବଡକୁ ସର୍ଟ କରନ୍ତୁ |", +"sortLargestToSmallestDataGridFilteringLabel" : "ବଡ଼ରୁ ଛୋଟ ପର୍ଯ୍ୟନ୍ତ ସର୍ଟ କରନ୍ତୁ |", +"sortAToZDataGridFilteringLabel" : "A ରୁ Z ସର୍ଟ କରନ୍ତୁ |", +"sortZToADataGridFilteringLabel" : "Z ରୁ A ସର୍ଟ କରନ୍ତୁ |", +"sortOldestToNewestDataGridFilteringLabel" : "ପୁରାତନରୁ ନୂତନକୁ ସର୍ଟ କରନ୍ତୁ |", +"sortNewestToOldestDataGridFilteringLabel" : "ପୁରାତନରୁ ନୂତନକୁ ସର୍ଟ କରନ୍ତୁ |", +"textFiltersDataGridFilteringLabel" : "ପାଠ୍ୟ ଫିଲ୍ଟର୍ |", +"numberFiltersDataGridFilteringLabel" : "ସଂଖ୍ୟା ଫିଲ୍ଟର୍ |", +"dateFiltersDataGridFilteringLabel" : "ତାରିଖ ଫିଲ୍ଟର୍ |", +"searchDataGridFilteringLabel" : "ସନ୍ଧାନ କର |", +"noMatchesDataGridFilteringLabel" : "କ matches ଣସି ମେଳକ ନାହିଁ |", +"okDataGridFilteringLabel" : "ଠିକ୍ ଅଛି", +"cancelDataGridFilteringLabel" : "ବାତିଲ୍ କରନ୍ତୁ |", +"showRowsWhereDataGridFilteringLabel" : "ଧାଡିଗୁଡିକ କେଉଁଠାରେ ଦେଖାନ୍ତୁ |", +"andDataGridFilteringLabel" : "ଏବଂ", +"orDataGridFilteringLabel" : "କିମ୍ବା", +"selectAllDataGridFilteringLabel" : "ସବୁ ବାଛ", +"sortAndFilterDataGridFilteringLabel" : "ସର୍ଟ ଏବଂ ଫିଲ୍ଟର୍ |", +"clearFilterDataGridFilteringLabel" : "ଫିଲ୍ଟର୍ ସଫା କରନ୍ତୁ |", +"fromDataGridFilteringLabel" : "ଠାରୁ" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_pa.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_pa.arb index ee63dff7c..817b7b2dc 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_pa.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_pa.arb @@ -25,7 +25,7 @@ "allowedViewScheduleLabel" : "ਸਮਾਸੂਚੀ, ਕਾਰਜ - ਕ੍ਰਮ", "allowedViewTimelineDayLabel" : "ਸਮਾਂਰੇਖਾ ਦਿਨ", "allowedViewTimelineWeekLabel" : "ਸਮਾਂਰੇਖਾ ਹਫ਼ਤਾ", -"allowedViewTimelineWorkWeekLabel" : "ਸਮਾਂਰੇਖਾ ਕਾਰਜ ਹਫ਼ਤਾ", +"allowedViewTimelineWorkWeekLabel" : "ਟਾਈਮਲਾਈਨ ਕੰਮ ਹਫ਼ਤਾ", "allowedViewTimelineMonthLabel" : "ਸਮਾਂਰੇਖਾ ਮਹੀਨਾ", "todayLabel" : "ਅੱਜ", "weeknumberLabel" : "ਹਫ਼ਤਾ", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "ਵੈੱਬ ਪੰਨਾ ਖੋਲ੍ਹੋ", "pdfHyperlinkContentLabel" : "ਕੀ ਤੁਸੀਂ 'ਤੇ ਪੰਨਾ ਖੋਲ੍ਹਣਾ ਚਾਹੁੰਦੇ ਹੋ", "pdfHyperlinkDialogOpenLabel" : "ਖੋਲ੍ਹੋ", -"pdfHyperlinkDialogCancelLabel" : "ਰੱਦ ਕਰੋ" +"pdfHyperlinkDialogCancelLabel" : "ਰੱਦ ਕਰੋ", +"afterDataGridFilteringLabel" : "ਤੋਂ ਬਾਅਦ", +"afterOrEqualDataGridFilteringLabel" : "ਬਾਅਦ ਜਾਂ ਬਰਾਬਰ", +"beforeDataGridFilteringLabel" : "ਅੱਗੇ ਜਾਂ ਬਰਾਬਰ", +"beforeOrEqualDataGridFilteringLabel" : "ਅੱਗੇ", +"beginsWithDataGridFilteringLabel" : "ਨਾਲ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ", +"containsDataGridFilteringLabel" : "ਸ਼ਾਮਿਲ ਹੈ", +"doesNotBeginWithDataGridFilteringLabel" : "ਨਾਲ ਸ਼ੁਰੂ ਨਹੀਂ ਹੁੰਦਾ", +"doesNotContainDataGridFilteringLabel" : "ਸ਼ਾਮਲ ਨਹੀਂ ਹੈ", +"doesNotEndWithDataGridFilteringLabel" : "ਨਾਲ ਖਤਮ ਨਹੀਂ ਹੁੰਦਾ", +"doesNotEqualDataGridFilteringLabel" : "ਬਰਾਬਰ ਨਹੀਂ ਹੈ", +"emptyDataGridFilteringLabel" : "ਖਾਲੀ", +"endsWithDataGridFilteringLabel" : "ਨਾਲ ਖਤਮ ਹੁੰਦਾ ਹੈ", +"equalsDataGridFilteringLabel" : "ਬਰਾਬਰ", +"greaterThanDataGridFilteringLabel" : "ਵੱਧ", +"greaterThanOrEqualDataGridFilteringLabel" : "ਇਸ ਤੋਂ ਵੱਧ ਜਾਂ ਬਰਾਬਰ", +"lessThanDataGridFilteringLabel" : "ਉਸ ਤੋਂ ਘਟ", +"lessThanOrEqualDataGridFilteringLabel" : "ਇਸ ਤੋਂ ਘੱਟ ਜਾਂ ਬਰਾਬਰ", +"notEmptyDataGridFilteringLabel" : "ਖਾਲੀ ਨਹੀਂ", +"notNullDataGridFilteringLabel" : "ਨਲ ਨਹੀਂ", +"nullDataGridFilteringLabel" : "ਨਲ", +"sortSmallestToLargestDataGridFilteringLabel" : "ਸਭ ਤੋਂ ਛੋਟੇ ਤੋਂ ਵੱਡੇ ਨੂੰ ਛਾਂਟੋ", +"sortLargestToSmallestDataGridFilteringLabel" : "ਸਭ ਤੋਂ ਵੱਡੇ ਤੋਂ ਛੋਟੇ ਨੂੰ ਛਾਂਟੋ", +"sortAToZDataGridFilteringLabel" : "A ਤੋਂ Z ਨੂੰ ਕ੍ਰਮਬੱਧ ਕਰੋ", +"sortZToADataGridFilteringLabel" : "Z ਤੋਂ A ਨੂੰ ਕ੍ਰਮਬੱਧ ਕਰੋ", +"sortOldestToNewestDataGridFilteringLabel" : "ਸਭ ਤੋਂ ਪੁਰਾਣੇ ਤੋਂ ਨਵੀਨਤਮ ਕ੍ਰਮਬੱਧ ਕਰੋ", +"sortNewestToOldestDataGridFilteringLabel" : "ਸਭ ਤੋਂ ਨਵੇਂ ਤੋਂ ਪੁਰਾਣੇ ਨੂੰ ਕ੍ਰਮਬੱਧ ਕਰੋ", +"textFiltersDataGridFilteringLabel" : "ਟੈਕਸਟ ਫਿਲਟਰ", +"numberFiltersDataGridFilteringLabel" : "ਨੰਬਰ ਫਿਲਟਰ", +"dateFiltersDataGridFilteringLabel" : "ਮਿਤੀ ਫਿਲਟਰ", +"searchDataGridFilteringLabel" : "ਖੋਜ", +"noMatchesDataGridFilteringLabel" : "ਕੋਈ ਮੇਲ ਨਹੀਂ", +"okDataGridFilteringLabel" : "ਠੀਕ ਹੈ", +"cancelDataGridFilteringLabel" : "ਰੱਦ ਕਰੋ", +"showRowsWhereDataGridFilteringLabel" : "ਕਤਾਰਾਂ ਦਿਖਾਓ ਕਿੱਥੇ", +"andDataGridFilteringLabel" : "ਅਤੇ", +"orDataGridFilteringLabel" : "ਜਾਂ", +"selectAllDataGridFilteringLabel" : "ਸਾਰਿਆ ਨੂੰ ਚੁਣੋ", +"sortAndFilterDataGridFilteringLabel" : "ਕ੍ਰਮਬੱਧ ਅਤੇ ਫਿਲਟਰ", +"clearFilterDataGridFilteringLabel" : "ਫਿਲਟਰ ਸਾਫ਼ ਕਰੋ", +"fromDataGridFilteringLabel" : "ਤੋਂ" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_pl.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_pl.arb index 2ef9ca384..b39592b6c 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_pl.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_pl.arb @@ -1,5 +1,5 @@ { -"noSelectedDateCalendarLabel" : "Nie wybrano daty", +"noSelectedDateCalendarLabel" : "Brak wybranej daty", "noEventsCalendarLabel" : "Brak wydarzeń", "ofDataPagerLabel" : "z", "pagesDataPagerLabel" : "strony", @@ -8,56 +8,96 @@ "pdfNoBookmarksLabel" : "Nie znaleziono zakładek", "pdfScrollStatusOfLabel" : "z", "pdfGoToPageLabel" : "Idź do strony", -"pdfEnterPageNumberLabel" : "Wpisz numer strony", +"pdfEnterPageNumberLabel" : "Wprowadź numer strony", "pdfInvalidPageNumberLabel" : "Proszę wprowadzić poprawny numer", -"pdfPaginationDialogOkLabel" : "ok", -"pdfPaginationDialogCancelLabel" : "ANULUJ", +"pdfPaginationDialogOkLabel" : "OK", +"pdfPaginationDialogCancelLabel" : "ANULOWAĆ", "passwordDialogHeaderTextLabel" : "Hasło chronione", "passwordDialogContentLabel" : "Wprowadź hasło, aby otworzyć ten plik PDF", "passwordDialogHintTextLabel" : "Wprowadź hasło", "passwordDialogInvalidPasswordLabel" : "nieprawidłowe hasło", "pdfPasswordDialogOpenLabel" : "OTWARTY", -"pdfPasswordDialogCancelLabel" : "ANULUJ", +"pdfPasswordDialogCancelLabel" : "ANULOWAĆ", "allowedViewDayLabel" : "Dzień", "allowedViewWeekLabel" : "Tydzień", "allowedViewWorkWeekLabel" : "Tydzień pracy", "allowedViewMonthLabel" : "Miesiąc", "allowedViewScheduleLabel" : "Harmonogram", "allowedViewTimelineDayLabel" : "Dzień osi czasu", -"allowedViewTimelineWeekLabel" : "Tydzień na osi czasu", +"allowedViewTimelineWeekLabel" : "Tydzień osi czasu", "allowedViewTimelineWorkWeekLabel" : "Tydzień pracy na osi czasu", "allowedViewTimelineMonthLabel" : "Miesiąc osi czasu", "todayLabel" : "Dziś", "weeknumberLabel" : "Tydzień", "allDayLabel" : "Cały dzień", -"muharramLabel" : "Muharram", +"muharramLabel" : "muharrama", "safarLabel" : "Safar", -"rabi1Label" : "Rabi' al-awwal", -"rabi2Label" : "Rabi’ al-thani", +"rabi1Label" : "Rabi al-awwal", +"rabi2Label" : "Rabi' al-thani", "jumada1Label" : "Jumada al-awwal", -"jumada2Label" : "Jumada al-thani", -"rajabLabel" : "Rajab", -"shaabanLabel" : "Szaaban", +"jumada2Label" : "Jumada al Thani", +"rajabLabel" : "Radżab", +"shaabanLabel" : "Sha'aban", "ramadanLabel" : "Ramadan", "shawwalLabel" : "Shawwal", -"dhualqiLabel" : "Zu al-Qi'dah", -"dhualhiLabel" : "Zu al-Hidżdżah", +"dhualqiLabel" : "Dhu al-Qi'dah", +"dhualhiLabel" : "Du al-Hijjah", "shortMuharramLabel" : "Muh.", -"shortSafarLabel" : "Saf.", -"shortRabi1Label" : "Rabi. i", +"shortSafarLabel" : "bezpieczny", +"shortRabi1Label" : "Rabi. I", "shortRabi2Label" : "Rabi. II", -"shortJumada1Label" : "Skok. i", -"shortJumada2Label" : "Skok. II", +"shortJumada1Label" : "sok. I", +"shortJumada2Label" : "sok. II", "shortRajabLabel" : "Raj.", "shortShaabanLabel" : "Sha.", "shortRamadanLabel" : "Baran.", -"shortShawwalLabel" : "Shaw.", +"shortShawwalLabel" : "Shawa.", "shortDhualqiLabel" : "Dhu'l-Q", "shortDhualhiLabel" : "Dhu'l-H", "daySpanCountLabel" : "Dzień", "series" : "Seria", "pdfHyperlinkLabel" : "Otwórz stronę internetową", -"pdfHyperlinkContentLabel" : "Czy chcesz otworzyć stronę pod adresem?", +"pdfHyperlinkContentLabel" : "Czy chcesz otworzyć stronę o godz", "pdfHyperlinkDialogOpenLabel" : "OTWARTY", -"pdfHyperlinkDialogCancelLabel" : "ANULUJ" +"pdfHyperlinkDialogCancelLabel" : "ANULOWAĆ", +"afterDataGridFilteringLabel" : "Później", +"afterOrEqualDataGridFilteringLabel" : "Po lub równe", +"beforeDataGridFilteringLabel" : "Przed Lub Równy", +"beforeOrEqualDataGridFilteringLabel" : "Zanim", +"beginsWithDataGridFilteringLabel" : "Zaczyna się z", +"containsDataGridFilteringLabel" : "Zawiera", +"doesNotBeginWithDataGridFilteringLabel" : "Nie zaczyna się od", +"doesNotContainDataGridFilteringLabel" : "Nie zawiera", +"doesNotEndWithDataGridFilteringLabel" : "Nie kończy się na", +"doesNotEqualDataGridFilteringLabel" : "Nie równa się", +"emptyDataGridFilteringLabel" : "Pusty", +"endsWithDataGridFilteringLabel" : "Kończy się na", +"equalsDataGridFilteringLabel" : "Równa się", +"greaterThanDataGridFilteringLabel" : "Lepszy niż", +"greaterThanOrEqualDataGridFilteringLabel" : "Większe lub równe", +"lessThanDataGridFilteringLabel" : "Mniej niż", +"lessThanOrEqualDataGridFilteringLabel" : "Mniej niż lub równo", +"notEmptyDataGridFilteringLabel" : "Nie pusty", +"notNullDataGridFilteringLabel" : "Nie jest zerem", +"nullDataGridFilteringLabel" : "Zero", +"sortSmallestToLargestDataGridFilteringLabel" : "Sortuj od najmniejszego do największego", +"sortLargestToSmallestDataGridFilteringLabel" : "Sortuj od największego do najmniejszego", +"sortAToZDataGridFilteringLabel" : "Sortuj od A do Z", +"sortZToADataGridFilteringLabel" : "Sortuj od Z do A", +"sortOldestToNewestDataGridFilteringLabel" : "Sortuj od najstarszych do najnowszych", +"sortNewestToOldestDataGridFilteringLabel" : "Sortuj od najnowszych do najstarszych", +"textFiltersDataGridFilteringLabel" : "Filtry tekstowe", +"numberFiltersDataGridFilteringLabel" : "Filtry liczbowe", +"dateFiltersDataGridFilteringLabel" : "Filtry daty", +"searchDataGridFilteringLabel" : "Szukaj", +"noMatchesDataGridFilteringLabel" : "Brak wyników", +"okDataGridFilteringLabel" : "OK", +"cancelDataGridFilteringLabel" : "Anulować", +"showRowsWhereDataGridFilteringLabel" : "Pokaż wiersze gdzie", +"andDataGridFilteringLabel" : "I", +"orDataGridFilteringLabel" : "Lub", +"selectAllDataGridFilteringLabel" : "Zaznacz wszystko", +"sortAndFilterDataGridFilteringLabel" : "Sortuj i filtruj", +"clearFilterDataGridFilteringLabel" : "Czysty filtr", +"fromDataGridFilteringLabel" : "Z" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ps.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ps.arb index 20b6ef489..9b96133a7 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ps.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ps.arb @@ -7,17 +7,17 @@ "pdfBookmarksLabel" : "بک مارکونه", "pdfNoBookmarksLabel" : "هیڅ بک مارک ونه موندل شو", "pdfScrollStatusOfLabel" : "د", -"pdfGoToPageLabel" : "پاڼې ته لاړ شئ", +"pdfGoToPageLabel" : "مخ ته لاړ شئ", "pdfEnterPageNumberLabel" : "د پاڼې شمیره دننه کړئ", "pdfInvalidPageNumberLabel" : "مهرباني وکړئ یو باوري شمیره دننه کړئ", "pdfPaginationDialogOkLabel" : "سمه ده", -"pdfPaginationDialogCancelLabel" : "لغوه کول", +"pdfPaginationDialogCancelLabel" : "فسخه کول", "passwordDialogHeaderTextLabel" : "پټنوم خوندي شوی", "passwordDialogContentLabel" : "د دې پی ډی ایف فایل خلاصولو لپاره پاسورډ دننه کړئ", "passwordDialogHintTextLabel" : "پاسورډ دننه کړئ", "passwordDialogInvalidPasswordLabel" : "بې اعتباره پټنوم", "pdfPasswordDialogOpenLabel" : "خلاص", -"pdfPasswordDialogCancelLabel" : "لغوه کول", +"pdfPasswordDialogCancelLabel" : "فسخه کول", "allowedViewDayLabel" : "ورځ", "allowedViewWeekLabel" : "اونۍ", "allowedViewWorkWeekLabel" : "کاري اونۍ", @@ -34,7 +34,7 @@ "safarLabel" : "صفر", "rabi1Label" : "ربیع الاول", "rabi2Label" : "ربیع الثاني", -"jumada1Label" : "جمادی الاول", +"jumada1Label" : "جمعه الاول", "jumada2Label" : "جمعه الثاني", "rajabLabel" : "رجب", "shaabanLabel" : "شعبان", @@ -44,8 +44,8 @@ "dhualhiLabel" : "ذوالحجې", "shortMuharramLabel" : "Muh.", "shortSafarLabel" : "سف", -"shortRabi1Label" : "ربیع زه", -"shortRabi2Label" : "ربیع II", +"shortRabi1Label" : "ربیع. زه", +"shortRabi2Label" : "ربیع. II", "shortJumada1Label" : "جم. زه", "shortJumada2Label" : "جم. II", "shortRajabLabel" : "راج.", @@ -57,7 +57,47 @@ "daySpanCountLabel" : "ورځ", "series" : "لړۍ", "pdfHyperlinkLabel" : "ویب پاڼه پرانیزئ", -"pdfHyperlinkContentLabel" : "ایا تاسو غواړئ چې پاڼه پرانیزئ", +"pdfHyperlinkContentLabel" : "ایا تاسو غواړئ پاڼه پرانیزئ", "pdfHyperlinkDialogOpenLabel" : "خلاص", -"pdfHyperlinkDialogCancelLabel" : "فسخه کول" +"pdfHyperlinkDialogCancelLabel" : "فسخه کول", +"afterDataGridFilteringLabel" : "وروسته", +"afterOrEqualDataGridFilteringLabel" : "وروسته یا مساوي", +"beforeDataGridFilteringLabel" : "مخکې یا مساوي", +"beforeOrEqualDataGridFilteringLabel" : "مخکې", +"beginsWithDataGridFilteringLabel" : "سره پیل کیږي", +"containsDataGridFilteringLabel" : "لري", +"doesNotBeginWithDataGridFilteringLabel" : "سره پیل نه کوي", +"doesNotContainDataGridFilteringLabel" : "نه لري", +"doesNotEndWithDataGridFilteringLabel" : "سره پای نه لري", +"doesNotEqualDataGridFilteringLabel" : "برابر نه دی", +"emptyDataGridFilteringLabel" : "خالي", +"endsWithDataGridFilteringLabel" : "سره پای ته رسیږي", +"equalsDataGridFilteringLabel" : "مساوي", +"greaterThanDataGridFilteringLabel" : "په پرتله لوی", +"greaterThanOrEqualDataGridFilteringLabel" : "په پرتله لوی یا مساوي", +"lessThanDataGridFilteringLabel" : "په پرتله لږ", +"lessThanOrEqualDataGridFilteringLabel" : "لږ یا مساوي", +"notEmptyDataGridFilteringLabel" : "نه خالي", +"notNullDataGridFilteringLabel" : "نه نول", +"nullDataGridFilteringLabel" : "نول", +"sortSmallestToLargestDataGridFilteringLabel" : "له کوچنی څخه تر ټولو لوی ترتیب کړئ", +"sortLargestToSmallestDataGridFilteringLabel" : "له لوی څخه کوچنی ترتیب کړئ", +"sortAToZDataGridFilteringLabel" : "له A څخه Z ترتیب کړئ", +"sortZToADataGridFilteringLabel" : "له Z څخه A ترتیب کړئ", +"sortOldestToNewestDataGridFilteringLabel" : "له زاړه څخه تر نوي پورې ترتیب کړئ", +"sortNewestToOldestDataGridFilteringLabel" : "له نوي څخه تر ټولو زوړ ترتیب کړئ", +"textFiltersDataGridFilteringLabel" : "د متن فلټرونه", +"numberFiltersDataGridFilteringLabel" : "د شمیر فلټرونه", +"dateFiltersDataGridFilteringLabel" : "د نیټې فلټرونه", +"searchDataGridFilteringLabel" : "لټون", +"noMatchesDataGridFilteringLabel" : "هیڅ لوبه نشته", +"okDataGridFilteringLabel" : "سمه ده", +"cancelDataGridFilteringLabel" : "لغوه کړئ", +"showRowsWhereDataGridFilteringLabel" : "قطارونه وښایاست چیرته", +"andDataGridFilteringLabel" : "او", +"orDataGridFilteringLabel" : "یا", +"selectAllDataGridFilteringLabel" : "ټول وټاکئ", +"sortAndFilterDataGridFilteringLabel" : "ترتیب او فلټر کړئ", +"clearFilterDataGridFilteringLabel" : "فلټر پاک کړئ", +"fromDataGridFilteringLabel" : "څخه" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_pt.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_pt.arb index bac66d983..f1f5ecc21 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_pt.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_pt.arb @@ -1,14 +1,14 @@ { "noSelectedDateCalendarLabel" : "Nenhuma data selecionada", "noEventsCalendarLabel" : "Sem eventos", -"ofDataPagerLabel" : "do", +"ofDataPagerLabel" : "do", "pagesDataPagerLabel" : "Páginas", "rowsPerPageDataPagerLabel" : "Linhas por página", "pdfBookmarksLabel" : "Favoritos", "pdfNoBookmarksLabel" : "Nenhum favorito encontrado", -"pdfScrollStatusOfLabel" : "do", +"pdfScrollStatusOfLabel" : "do", "pdfGoToPageLabel" : "Vá para página", -"pdfEnterPageNumberLabel" : "Digite o número da página", +"pdfEnterPageNumberLabel" : "Insira o número da página", "pdfInvalidPageNumberLabel" : "Por favor insira um número válido", "pdfPaginationDialogOkLabel" : "OK", "pdfPaginationDialogCancelLabel" : "CANCELAR", @@ -22,11 +22,11 @@ "allowedViewWeekLabel" : "Semana", "allowedViewWorkWeekLabel" : "Semana de trabalho", "allowedViewMonthLabel" : "Mês", -"allowedViewScheduleLabel" : "Agendar", +"allowedViewScheduleLabel" : "Cronograma", "allowedViewTimelineDayLabel" : "Dia da linha do tempo", -"allowedViewTimelineWeekLabel" : "Semana da linha do tempo", -"allowedViewTimelineWorkWeekLabel" : "Semana de trabalho da linha do tempo", -"allowedViewTimelineMonthLabel" : "Mês da linha do tempo", +"allowedViewTimelineWeekLabel" : "Semana Cronológica", +"allowedViewTimelineWorkWeekLabel" : "Cronograma Semana de Trabalho", +"allowedViewTimelineMonthLabel" : "Cronograma Mês", "todayLabel" : "Hoje", "weeknumberLabel" : "Semana", "allDayLabel" : "Dia todo", @@ -43,10 +43,10 @@ "dhualqiLabel" : "Dhu al-Qi'dah", "dhualhiLabel" : "Dhu al-Hijjah", "shortMuharramLabel" : "Muh.", -"shortSafarLabel" : "Saf.", -"shortRabi1Label" : "Rabino. eu", -"shortRabi2Label" : "Rabino. II", -"shortJumada1Label" : "Jum. eu", +"shortSafarLabel" : "seguro", +"shortRabi1Label" : "Rabi. EU", +"shortRabi2Label" : "Rabi. II", +"shortJumada1Label" : "Jum. EU", "shortJumada2Label" : "Jum. II", "shortRajabLabel" : "Raj.", "shortShaabanLabel" : "Sha.", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Abrir página da Web", "pdfHyperlinkContentLabel" : "Deseja abrir a página em", "pdfHyperlinkDialogOpenLabel" : "ABRIR", -"pdfHyperlinkDialogCancelLabel" : "CANCELAR" +"pdfHyperlinkDialogCancelLabel" : "CANCELAR", +"afterDataGridFilteringLabel" : "Depois", +"afterOrEqualDataGridFilteringLabel" : "Depois Ou Igual", +"beforeDataGridFilteringLabel" : "Antes Ou Igual", +"beforeOrEqualDataGridFilteringLabel" : "Antes da", +"beginsWithDataGridFilteringLabel" : "Começa com", +"containsDataGridFilteringLabel" : "contém", +"doesNotBeginWithDataGridFilteringLabel" : "Não começa com", +"doesNotContainDataGridFilteringLabel" : "Não contém", +"doesNotEndWithDataGridFilteringLabel" : "Não termina com", +"doesNotEqualDataGridFilteringLabel" : "Não é igual", +"emptyDataGridFilteringLabel" : "Vazio", +"endsWithDataGridFilteringLabel" : "Termina com", +"equalsDataGridFilteringLabel" : "É igual a", +"greaterThanDataGridFilteringLabel" : "Maior que", +"greaterThanOrEqualDataGridFilteringLabel" : "Maior ou igual", +"lessThanDataGridFilteringLabel" : "Menor que", +"lessThanOrEqualDataGridFilteringLabel" : "Menor ou igual", +"notEmptyDataGridFilteringLabel" : "Não está vazio", +"notNullDataGridFilteringLabel" : "Não nulo", +"nullDataGridFilteringLabel" : "Nulo", +"sortSmallestToLargestDataGridFilteringLabel" : "Classificar do menor para o maior", +"sortLargestToSmallestDataGridFilteringLabel" : "Ordenar do maior para o menor", +"sortAToZDataGridFilteringLabel" : "Ordenar de A a Z", +"sortZToADataGridFilteringLabel" : "Ordenar de Z a A", +"sortOldestToNewestDataGridFilteringLabel" : "Classificar do mais antigo para o mais recente", +"sortNewestToOldestDataGridFilteringLabel" : "Ordenar do mais recente ao mais antigo", +"textFiltersDataGridFilteringLabel" : "Filtros de texto", +"numberFiltersDataGridFilteringLabel" : "Filtros de número", +"dateFiltersDataGridFilteringLabel" : "Filtros de Data", +"searchDataGridFilteringLabel" : "Procurar", +"noMatchesDataGridFilteringLabel" : "Sem combinações", +"okDataGridFilteringLabel" : "OK", +"cancelDataGridFilteringLabel" : "Cancelar", +"showRowsWhereDataGridFilteringLabel" : "Mostrar linhas onde", +"andDataGridFilteringLabel" : "E", +"orDataGridFilteringLabel" : "Ou", +"selectAllDataGridFilteringLabel" : "Selecionar tudo", +"sortAndFilterDataGridFilteringLabel" : "Classificar e Filtrar", +"clearFilterDataGridFilteringLabel" : "Filtro limpo", +"fromDataGridFilteringLabel" : "A partir de" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_pt_PT.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_pt_PT.arb index b4f12c1ee..4150bcff2 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_pt_PT.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_pt_PT.arb @@ -1,22 +1,22 @@ { "noSelectedDateCalendarLabel" : "Nenhuma data selecionada", -"noEventsCalendarLabel" : "Nenhum evento", -"ofDataPagerLabel" : "de", -"pagesDataPagerLabel" : "páginas", +"noEventsCalendarLabel" : "Sem eventos", +"ofDataPagerLabel" : "do", +"pagesDataPagerLabel" : "Páginas", "rowsPerPageDataPagerLabel" : "Linhas por página", -"pdfBookmarksLabel" : "Marcadores", +"pdfBookmarksLabel" : "Favoritos", "pdfNoBookmarksLabel" : "Nenhum favorito encontrado", -"pdfScrollStatusOfLabel" : "de", -"pdfGoToPageLabel" : "Ir para a página", +"pdfScrollStatusOfLabel" : "do", +"pdfGoToPageLabel" : "Vá para página", "pdfEnterPageNumberLabel" : "Digite o número da página", -"pdfInvalidPageNumberLabel" : "Insira um número válido", +"pdfInvalidPageNumberLabel" : "Por favor insira um número válido", "pdfPaginationDialogOkLabel" : "OK", "pdfPaginationDialogCancelLabel" : "CANCELAR", "passwordDialogHeaderTextLabel" : "Protegido por senha", "passwordDialogContentLabel" : "Digite a senha para abrir este arquivo PDF", "passwordDialogHintTextLabel" : "Digite a senha", -"passwordDialogInvalidPasswordLabel" : "Senha inválida", -"pdfPasswordDialogOpenLabel" : "ABERTO", +"passwordDialogInvalidPasswordLabel" : "senha inválida", +"pdfPasswordDialogOpenLabel" : "ABRIR", "pdfPasswordDialogCancelLabel" : "CANCELAR", "allowedViewDayLabel" : "Dia", "allowedViewWeekLabel" : "Semana", @@ -24,12 +24,12 @@ "allowedViewMonthLabel" : "Mês", "allowedViewScheduleLabel" : "Cronograma", "allowedViewTimelineDayLabel" : "Dia da linha do tempo", -"allowedViewTimelineWeekLabel" : "Semana da linha do tempo", -"allowedViewTimelineWorkWeekLabel" : "Semana de trabalho da linha do tempo", -"allowedViewTimelineMonthLabel" : "Mês da linha do tempo", +"allowedViewTimelineWeekLabel" : "Semana Cronológica", +"allowedViewTimelineWorkWeekLabel" : "Cronograma Semana de Trabalho", +"allowedViewTimelineMonthLabel" : "Cronograma Mês", "todayLabel" : "Hoje", "weeknumberLabel" : "Semana", -"allDayLabel" : "Todo o dia", +"allDayLabel" : "Dia todo", "muharramLabel" : "Muharram", "safarLabel" : "Safar", "rabi1Label" : "Rabi' al-awwal", @@ -43,14 +43,14 @@ "dhualqiLabel" : "Dhu al-Qi'dah", "dhualhiLabel" : "Dhu al-Hijjah", "shortMuharramLabel" : "Muh.", -"shortSafarLabel" : "Saf.", -"shortRabi1Label" : "Rabino. eu", -"shortRabi2Label" : "Rabino. II", -"shortJumada1Label" : "Jum. eu", +"shortSafarLabel" : "seguro", +"shortRabi1Label" : "Rabi. EU", +"shortRabi2Label" : "Rabi. II", +"shortJumada1Label" : "Jum. EU", "shortJumada2Label" : "Jum. II", "shortRajabLabel" : "Raj.", "shortShaabanLabel" : "Sha.", -"shortRamadanLabel" : "Carneiro.", +"shortRamadanLabel" : "RAM.", "shortShawwalLabel" : "Shaw.", "shortDhualqiLabel" : "Dhu'l-Q", "shortDhualhiLabel" : "Dhu'l-H", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Abrir página da Web", "pdfHyperlinkContentLabel" : "Deseja abrir a página em", "pdfHyperlinkDialogOpenLabel" : "ABRIR", -"pdfHyperlinkDialogCancelLabel" : "CANCELAR" +"pdfHyperlinkDialogCancelLabel" : "CANCELAR", +"afterDataGridFilteringLabel" : "Depois", +"afterOrEqualDataGridFilteringLabel" : "Depois Ou Igual", +"beforeDataGridFilteringLabel" : "Antes Ou Igual", +"beforeOrEqualDataGridFilteringLabel" : "Antes da", +"beginsWithDataGridFilteringLabel" : "Começa com", +"containsDataGridFilteringLabel" : "contém", +"doesNotBeginWithDataGridFilteringLabel" : "Não começa com", +"doesNotContainDataGridFilteringLabel" : "Não contém", +"doesNotEndWithDataGridFilteringLabel" : "Não termina com", +"doesNotEqualDataGridFilteringLabel" : "Não é igual", +"emptyDataGridFilteringLabel" : "Vazio", +"endsWithDataGridFilteringLabel" : "Termina com", +"equalsDataGridFilteringLabel" : "É igual a", +"greaterThanDataGridFilteringLabel" : "Maior que", +"greaterThanOrEqualDataGridFilteringLabel" : "Maior ou igual", +"lessThanDataGridFilteringLabel" : "Menor que", +"lessThanOrEqualDataGridFilteringLabel" : "Menor ou igual", +"notEmptyDataGridFilteringLabel" : "Não está vazio", +"notNullDataGridFilteringLabel" : "Não nulo", +"nullDataGridFilteringLabel" : "Nulo", +"sortSmallestToLargestDataGridFilteringLabel" : "Classificar do menor para o maior", +"sortLargestToSmallestDataGridFilteringLabel" : "Ordenar do maior para o menor", +"sortAToZDataGridFilteringLabel" : "Ordenar de A a Z", +"sortZToADataGridFilteringLabel" : "Ordenar de Z a A", +"sortOldestToNewestDataGridFilteringLabel" : "Classificar do mais antigo para o mais recente", +"sortNewestToOldestDataGridFilteringLabel" : "Ordenar do mais recente ao mais antigo", +"textFiltersDataGridFilteringLabel" : "Filtros de texto", +"numberFiltersDataGridFilteringLabel" : "Filtros de número", +"dateFiltersDataGridFilteringLabel" : "Filtros de Data", +"searchDataGridFilteringLabel" : "Procurar", +"noMatchesDataGridFilteringLabel" : "Sem combinações", +"okDataGridFilteringLabel" : "OK", +"cancelDataGridFilteringLabel" : "Cancelar", +"showRowsWhereDataGridFilteringLabel" : "Mostrar linhas onde", +"andDataGridFilteringLabel" : "E", +"orDataGridFilteringLabel" : "Ou", +"selectAllDataGridFilteringLabel" : "Selecionar tudo", +"sortAndFilterDataGridFilteringLabel" : "Classificar e Filtrar", +"clearFilterDataGridFilteringLabel" : "Filtro limpo", +"fromDataGridFilteringLabel" : "A partir de" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ro.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ro.arb index b4d3841de..063493089 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ro.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ro.arb @@ -10,7 +10,7 @@ "pdfGoToPageLabel" : "Mergi la pagina", "pdfEnterPageNumberLabel" : "Introduceți numărul paginii", "pdfInvalidPageNumberLabel" : "Vă rugăm să introduceți un număr valid", -"pdfPaginationDialogOkLabel" : "Bine", +"pdfPaginationDialogOkLabel" : "O.K", "pdfPaginationDialogCancelLabel" : "ANULARE", "passwordDialogHeaderTextLabel" : "Protectie cu parola", "passwordDialogContentLabel" : "Introduceți parola pentru a deschide acest fișier PDF", @@ -27,7 +27,7 @@ "allowedViewTimelineWeekLabel" : "Săptămâna cronologică", "allowedViewTimelineWorkWeekLabel" : "Cronologie Săptămâna de lucru", "allowedViewTimelineMonthLabel" : "Cronologie Luna", -"todayLabel" : "Azi", +"todayLabel" : "Astăzi", "weeknumberLabel" : "Săptămână", "allDayLabel" : "Toată ziua", "muharramLabel" : "Muharram", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Deschideți pagina web", "pdfHyperlinkContentLabel" : "Doriți să deschideți pagina la", "pdfHyperlinkDialogOpenLabel" : "DESCHIS", -"pdfHyperlinkDialogCancelLabel" : "ANULARE" +"pdfHyperlinkDialogCancelLabel" : "ANULARE", +"afterDataGridFilteringLabel" : "După", +"afterOrEqualDataGridFilteringLabel" : "După Sau Egal", +"beforeDataGridFilteringLabel" : "Înainte sau egal", +"beforeOrEqualDataGridFilteringLabel" : "Inainte de", +"beginsWithDataGridFilteringLabel" : "Începe cu", +"containsDataGridFilteringLabel" : "Conține", +"doesNotBeginWithDataGridFilteringLabel" : "Nu Începe Cu", +"doesNotContainDataGridFilteringLabel" : "Nu contine", +"doesNotEndWithDataGridFilteringLabel" : "Nu se termină cu", +"doesNotEqualDataGridFilteringLabel" : "Nu este egal", +"emptyDataGridFilteringLabel" : "Gol", +"endsWithDataGridFilteringLabel" : "Se termină cu", +"equalsDataGridFilteringLabel" : "Egal", +"greaterThanDataGridFilteringLabel" : "Mai mare ca", +"greaterThanOrEqualDataGridFilteringLabel" : "Mai mare sau egal", +"lessThanDataGridFilteringLabel" : "Mai puțin decât", +"lessThanOrEqualDataGridFilteringLabel" : "Mai puțin sau egal", +"notEmptyDataGridFilteringLabel" : "Nu Gol", +"notNullDataGridFilteringLabel" : "Nu nul", +"nullDataGridFilteringLabel" : "Nul", +"sortSmallestToLargestDataGridFilteringLabel" : "Sortați de la cel mai mic la cel mai mare", +"sortLargestToSmallestDataGridFilteringLabel" : "Sortați de la cel mai mare la cel mai mic", +"sortAToZDataGridFilteringLabel" : "Sortați de la A la Z", +"sortZToADataGridFilteringLabel" : "Sortați de la Z la A", +"sortOldestToNewestDataGridFilteringLabel" : "Sortați de la cel mai vechi la cel mai nou", +"sortNewestToOldestDataGridFilteringLabel" : "Sortați de la cel mai nou la cel mai vechi", +"textFiltersDataGridFilteringLabel" : "Filtre de text", +"numberFiltersDataGridFilteringLabel" : "Filtre de numere", +"dateFiltersDataGridFilteringLabel" : "Filtre de dată", +"searchDataGridFilteringLabel" : "Căutare", +"noMatchesDataGridFilteringLabel" : "Nici-o potrivire", +"okDataGridFilteringLabel" : "O.K", +"cancelDataGridFilteringLabel" : "Anulare", +"showRowsWhereDataGridFilteringLabel" : "Afișați rândurile unde", +"andDataGridFilteringLabel" : "Și", +"orDataGridFilteringLabel" : "Sau", +"selectAllDataGridFilteringLabel" : "Selectează tot", +"sortAndFilterDataGridFilteringLabel" : "Sortați și filtrați", +"clearFilterDataGridFilteringLabel" : "Șterge filtrul", +"fromDataGridFilteringLabel" : "Din" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ru.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ru.arb index 020322e36..9f10d9f31 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ru.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ru.arb @@ -10,16 +10,16 @@ "pdfGoToPageLabel" : "Перейти на страницу", "pdfEnterPageNumberLabel" : "Введите номер страницы", "pdfInvalidPageNumberLabel" : "пожалуйста введите правильное число", -"pdfPaginationDialogOkLabel" : "Ok", +"pdfPaginationDialogOkLabel" : "ХОРОШО", "pdfPaginationDialogCancelLabel" : "ОТМЕНИТЬ", "passwordDialogHeaderTextLabel" : "Пароль защищен", "passwordDialogContentLabel" : "Введите пароль, чтобы открыть этот файл PDF", "passwordDialogHintTextLabel" : "Введите пароль", -"passwordDialogInvalidPasswordLabel" : "неправильный пароль", +"passwordDialogInvalidPasswordLabel" : "Неверный пароль", "pdfPasswordDialogOpenLabel" : "ОТКРЫТЫМ", -"pdfPasswordDialogCancelLabel" : "ОТМЕНИТЬ", +"pdfPasswordDialogCancelLabel" : "ОТМЕНИТЬ", "allowedViewDayLabel" : "День", -"allowedViewWeekLabel" : "Неделю", +"allowedViewWeekLabel" : "Неделя", "allowedViewWorkWeekLabel" : "Рабочая неделя", "allowedViewMonthLabel" : "Месяц", "allowedViewScheduleLabel" : "Расписание", @@ -28,7 +28,7 @@ "allowedViewTimelineWorkWeekLabel" : "Рабочая неделя", "allowedViewTimelineMonthLabel" : "Месяц", "todayLabel" : "Сегодня", -"weeknumberLabel" : "Неделю", +"weeknumberLabel" : "Неделя", "allDayLabel" : "Весь день", "muharramLabel" : "Мухаррам", "safarLabel" : "Сафар", @@ -50,14 +50,54 @@ "shortJumada2Label" : "Джум. II", "shortRajabLabel" : "Радж.", "shortShaabanLabel" : "Ша.", -"shortRamadanLabel" : "ОЗУ.", +"shortRamadanLabel" : "Баран.", "shortShawwalLabel" : "Шоу.", "shortDhualqiLabel" : "Зуль-Кью", "shortDhualhiLabel" : "Зуль-Х", "daySpanCountLabel" : "День", -"series" : "Ряд", +"series" : "Серии", "pdfHyperlinkLabel" : "Открыть веб-страницу", "pdfHyperlinkContentLabel" : "Вы хотите открыть страницу в", "pdfHyperlinkDialogOpenLabel" : "ОТКРЫТЫМ", -"pdfHyperlinkDialogCancelLabel" : "ОТМЕНА" +"pdfHyperlinkDialogCancelLabel" : "ОТМЕНИТЬ", +"afterDataGridFilteringLabel" : "После", +"afterOrEqualDataGridFilteringLabel" : "После или равно", +"beforeDataGridFilteringLabel" : "Перед или равным", +"beforeOrEqualDataGridFilteringLabel" : "До", +"beginsWithDataGridFilteringLabel" : "Начинается с", +"containsDataGridFilteringLabel" : "Содержит", +"doesNotBeginWithDataGridFilteringLabel" : "Не начинается с", +"doesNotContainDataGridFilteringLabel" : "Не содержит", +"doesNotEndWithDataGridFilteringLabel" : "Не заканчивается с", +"doesNotEqualDataGridFilteringLabel" : "Не равно", +"emptyDataGridFilteringLabel" : "Пустой", +"endsWithDataGridFilteringLabel" : "Заканчивается с", +"equalsDataGridFilteringLabel" : "Равно", +"greaterThanDataGridFilteringLabel" : "Лучше чем", +"greaterThanOrEqualDataGridFilteringLabel" : "Больше или равно", +"lessThanDataGridFilteringLabel" : "Меньше, чем", +"lessThanOrEqualDataGridFilteringLabel" : "Меньше или равно", +"notEmptyDataGridFilteringLabel" : "Не пустой", +"notNullDataGridFilteringLabel" : "Ненулевой", +"nullDataGridFilteringLabel" : "Нулевой", +"sortSmallestToLargestDataGridFilteringLabel" : "Сортировать от меньшего к большему", +"sortLargestToSmallestDataGridFilteringLabel" : "Сортировать от большего к меньшему", +"sortAToZDataGridFilteringLabel" : "Сортировать от А до Я", +"sortZToADataGridFilteringLabel" : "Сортировать от Я до А", +"sortOldestToNewestDataGridFilteringLabel" : "Сортировать от старых к новым", +"sortNewestToOldestDataGridFilteringLabel" : "Сортировать от новых к старым", +"textFiltersDataGridFilteringLabel" : "Текстовые фильтры", +"numberFiltersDataGridFilteringLabel" : "Числовые фильтры", +"dateFiltersDataGridFilteringLabel" : "Фильтры даты", +"searchDataGridFilteringLabel" : "Поиск", +"noMatchesDataGridFilteringLabel" : "Нет совпадений", +"okDataGridFilteringLabel" : "ХОРОШО", +"cancelDataGridFilteringLabel" : "Отмена", +"showRowsWhereDataGridFilteringLabel" : "Показать строки, где", +"andDataGridFilteringLabel" : "А также", +"orDataGridFilteringLabel" : "Или же", +"selectAllDataGridFilteringLabel" : "Выбрать все", +"sortAndFilterDataGridFilteringLabel" : "Сортировка и фильтрация", +"clearFilterDataGridFilteringLabel" : "Очистить фильтр", +"fromDataGridFilteringLabel" : "Из" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_si.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_si.arb index 5c1fd2057..52edcc2e3 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_si.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_si.arb @@ -18,7 +18,7 @@ "passwordDialogInvalidPasswordLabel" : "වලංගු නොවන මුරපදය", "pdfPasswordDialogOpenLabel" : "විවෘත", "pdfPasswordDialogCancelLabel" : "අවලංගු කරන්න", -"allowedViewDayLabel" : "දිනය", +"allowedViewDayLabel" : "දින", "allowedViewWeekLabel" : "සතිය", "allowedViewWorkWeekLabel" : "වැඩ සතිය", "allowedViewMonthLabel" : "මාසික", @@ -41,7 +41,7 @@ "ramadanLabel" : "රාමසාන්", "shawwalLabel" : "ෂව්වාල්", "dhualqiLabel" : "Dhu al-Qi'dah", -"dhualhiLabel" : "Dhu al-Hijjah", +"dhualhiLabel" : "ඩු අල්-හිජ්ජා", "shortMuharramLabel" : "මුහ්", "shortSafarLabel" : "Saf.", "shortRabi1Label" : "රබී. මම", @@ -54,10 +54,50 @@ "shortShawwalLabel" : "ෂෝ.", "shortDhualqiLabel" : "දුල්-කිව්", "shortDhualhiLabel" : "දුල්-එච්", -"daySpanCountLabel" : "දිනය", +"daySpanCountLabel" : "දින", "series" : "මාලාවක්", "pdfHyperlinkLabel" : "වෙබ් පිටුව විවෘත කරන්න", "pdfHyperlinkContentLabel" : "ඔබට පිටුව විවෘත කිරීමට අවශ්‍යද", "pdfHyperlinkDialogOpenLabel" : "විවෘත", -"pdfHyperlinkDialogCancelLabel" : "අවලංගු කරන්න" +"pdfHyperlinkDialogCancelLabel" : "අවලංගු කරන්න", +"afterDataGridFilteringLabel" : "පසු", +"afterOrEqualDataGridFilteringLabel" : "පසු හෝ සමාන", +"beforeDataGridFilteringLabel" : "පෙර හෝ සමාන", +"beforeOrEqualDataGridFilteringLabel" : "කලින්", +"beginsWithDataGridFilteringLabel" : "සමඟ ආරම්භ වේ", +"containsDataGridFilteringLabel" : "අඩංගු වේ", +"doesNotBeginWithDataGridFilteringLabel" : "සමඟ ආරම්භ නොවේ", +"doesNotContainDataGridFilteringLabel" : "අඩංගු නොවේ", +"doesNotEndWithDataGridFilteringLabel" : "සමඟ අවසන් නොවේ", +"doesNotEqualDataGridFilteringLabel" : "සමාන නොවේ", +"emptyDataGridFilteringLabel" : "හිස්", +"endsWithDataGridFilteringLabel" : "සමඟ අවසන් වේ", +"equalsDataGridFilteringLabel" : "සමාන", +"greaterThanDataGridFilteringLabel" : "වඩා විශාලයි", +"greaterThanOrEqualDataGridFilteringLabel" : "වඩා විශාල හෝ සමාන වේ", +"lessThanDataGridFilteringLabel" : "අඩු", +"lessThanOrEqualDataGridFilteringLabel" : "අඩු හෝ සමානයි", +"notEmptyDataGridFilteringLabel" : "හිස් නොවේ", +"notNullDataGridFilteringLabel" : "Null නොවේ", +"nullDataGridFilteringLabel" : "ශුන්‍ය", +"sortSmallestToLargestDataGridFilteringLabel" : "කුඩාම සිට විශාල දක්වා වර්ග කරන්න", +"sortLargestToSmallestDataGridFilteringLabel" : "විශාලතම සිට කුඩාම දක්වා වර්ග කරන්න", +"sortAToZDataGridFilteringLabel" : "A සිට Z දක්වා වර්ග කරන්න", +"sortZToADataGridFilteringLabel" : "Z සිට A දක්වා වර්ග කරන්න", +"sortOldestToNewestDataGridFilteringLabel" : "පැරණිතම සිට අලුත්ම දක්වා වර්ග කරන්න", +"sortNewestToOldestDataGridFilteringLabel" : "අලුත්ම සිට පැරණිම දක්වා වර්ග කරන්න", +"textFiltersDataGridFilteringLabel" : "පෙළ පෙරහන්", +"numberFiltersDataGridFilteringLabel" : "අංක පෙරහන්", +"dateFiltersDataGridFilteringLabel" : "දින පෙරහන්", +"searchDataGridFilteringLabel" : "සොයන්න", +"noMatchesDataGridFilteringLabel" : "ගැලපීම් නැත", +"okDataGridFilteringLabel" : "හරි", +"cancelDataGridFilteringLabel" : "අවලංගු කරන්න", +"showRowsWhereDataGridFilteringLabel" : "කොහෙද පේළි පෙන්වන්න", +"andDataGridFilteringLabel" : "හා", +"orDataGridFilteringLabel" : "හෝ", +"selectAllDataGridFilteringLabel" : "සියල්ල තෝරන්න", +"sortAndFilterDataGridFilteringLabel" : "වර්ග කිරීම සහ පෙරීම", +"clearFilterDataGridFilteringLabel" : "පෙරහන හිස් කරන්න", +"fromDataGridFilteringLabel" : "සිට" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sk.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sk.arb index b9428234d..9d5753ea4 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sk.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sk.arb @@ -1,5 +1,5 @@ { -"noSelectedDateCalendarLabel" : "Nie je vybraný dátum", +"noSelectedDateCalendarLabel" : "Žiadny vybratý dátum", "noEventsCalendarLabel" : "Žiadne udalosti", "ofDataPagerLabel" : "z", "pagesDataPagerLabel" : "stránky", @@ -9,7 +9,7 @@ "pdfScrollStatusOfLabel" : "z", "pdfGoToPageLabel" : "Chod na stranu", "pdfEnterPageNumberLabel" : "Zadajte číslo strany", -"pdfInvalidPageNumberLabel" : "Prosím zadajte platné číslo", +"pdfInvalidPageNumberLabel" : "Prosím vložte platné číslo", "pdfPaginationDialogOkLabel" : "OK", "pdfPaginationDialogCancelLabel" : "ZRUŠIŤ", "passwordDialogHeaderTextLabel" : "Chránené heslom", @@ -27,7 +27,7 @@ "allowedViewTimelineWeekLabel" : "Časová os týždeň", "allowedViewTimelineWorkWeekLabel" : "Časová os Pracovný týždeň", "allowedViewTimelineMonthLabel" : "Mesiac časovej osi", -"todayLabel" : "dnes", +"todayLabel" : "Dnes", "weeknumberLabel" : "týždeň", "allDayLabel" : "Celý deň", "muharramLabel" : "Muharram", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Otvorte webovú stránku", "pdfHyperlinkContentLabel" : "Chcete otvoriť stránku na", "pdfHyperlinkDialogOpenLabel" : "OTVORENÉ", -"pdfHyperlinkDialogCancelLabel" : "ZRUŠIŤ" +"pdfHyperlinkDialogCancelLabel" : "ZRUŠIŤ", +"afterDataGridFilteringLabel" : "Po", +"afterOrEqualDataGridFilteringLabel" : "Po alebo Equal", +"beforeDataGridFilteringLabel" : "Pred alebo Equal", +"beforeOrEqualDataGridFilteringLabel" : "Predtým", +"beginsWithDataGridFilteringLabel" : "Zacina s", +"containsDataGridFilteringLabel" : "Obsahuje", +"doesNotBeginWithDataGridFilteringLabel" : "Nezačína s", +"doesNotContainDataGridFilteringLabel" : "Neobsahuje", +"doesNotEndWithDataGridFilteringLabel" : "Nekončí s", +"doesNotEqualDataGridFilteringLabel" : "Nerovná sa", +"emptyDataGridFilteringLabel" : "Prázdny", +"endsWithDataGridFilteringLabel" : "Končí s", +"equalsDataGridFilteringLabel" : "Rovná sa", +"greaterThanDataGridFilteringLabel" : "Väčší než", +"greaterThanOrEqualDataGridFilteringLabel" : "Väčšie alebo rovné", +"lessThanDataGridFilteringLabel" : "Menej ako", +"lessThanOrEqualDataGridFilteringLabel" : "Menej než alebo rovné", +"notEmptyDataGridFilteringLabel" : "Nie prázdny", +"notNullDataGridFilteringLabel" : "Nie Null", +"nullDataGridFilteringLabel" : "Nulový", +"sortSmallestToLargestDataGridFilteringLabel" : "Zoradiť od najmenšieho po najväčšie", +"sortLargestToSmallestDataGridFilteringLabel" : "Zoradiť od najväčšieho po najmenšie", +"sortAToZDataGridFilteringLabel" : "Zoradiť od A po Z", +"sortZToADataGridFilteringLabel" : "Zoradiť od Z po A", +"sortOldestToNewestDataGridFilteringLabel" : "Zoradiť od najstarších po najnovšie", +"sortNewestToOldestDataGridFilteringLabel" : "Zoradiť od najnovších po najstaršie", +"textFiltersDataGridFilteringLabel" : "Textové filtre", +"numberFiltersDataGridFilteringLabel" : "Filtre čísel", +"dateFiltersDataGridFilteringLabel" : "Dátumové filtre", +"searchDataGridFilteringLabel" : "Vyhľadávanie", +"noMatchesDataGridFilteringLabel" : "Žiadne zhody", +"okDataGridFilteringLabel" : "OK", +"cancelDataGridFilteringLabel" : "Zrušiť", +"showRowsWhereDataGridFilteringLabel" : "Zobraziť riadky kde", +"andDataGridFilteringLabel" : "A", +"orDataGridFilteringLabel" : "Alebo", +"selectAllDataGridFilteringLabel" : "Vybrať všetko", +"sortAndFilterDataGridFilteringLabel" : "Triediť a filtrovať", +"clearFilterDataGridFilteringLabel" : "Vymazať filter", +"fromDataGridFilteringLabel" : "Od" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sl.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sl.arb index 64dd62db5..be1c8e96c 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sl.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sl.arb @@ -1,11 +1,11 @@ { "noSelectedDateCalendarLabel" : "Ni izbranega datuma", -"noEventsCalendarLabel" : "Brez dogodkov", +"noEventsCalendarLabel" : "Ni dogodkov", "ofDataPagerLabel" : "od", "pagesDataPagerLabel" : "strani", -"rowsPerPageDataPagerLabel" : "Vrstice na stran", +"rowsPerPageDataPagerLabel" : "Vrstic na stran", "pdfBookmarksLabel" : "Zaznamki", -"pdfNoBookmarksLabel" : "Najden ni bil noben zaznamek", +"pdfNoBookmarksLabel" : "Ni najdenih zaznamkov", "pdfScrollStatusOfLabel" : "od", "pdfGoToPageLabel" : "Pojdi na stran", "pdfEnterPageNumberLabel" : "Vnesite številko strani", @@ -13,12 +13,12 @@ "pdfPaginationDialogOkLabel" : "v redu", "pdfPaginationDialogCancelLabel" : "PREKLIC", "passwordDialogHeaderTextLabel" : "Zaščiteno z geslom", -"passwordDialogContentLabel" : "Vnesite geslo za odpiranje te datoteke PDF", +"passwordDialogContentLabel" : "Vnesite geslo, da odprete to datoteko PDF", "passwordDialogHintTextLabel" : "Vnesite geslo", "passwordDialogInvalidPasswordLabel" : "Neveljavno geslo", "pdfPasswordDialogOpenLabel" : "ODPRTO", "pdfPasswordDialogCancelLabel" : "PREKLIC", -"allowedViewDayLabel" : "dan", +"allowedViewDayLabel" : "Dan", "allowedViewWeekLabel" : "teden", "allowedViewWorkWeekLabel" : "Delovni teden", "allowedViewMonthLabel" : "mesec", @@ -27,7 +27,7 @@ "allowedViewTimelineWeekLabel" : "Teden časovnice", "allowedViewTimelineWorkWeekLabel" : "Časovnica Delovni teden", "allowedViewTimelineMonthLabel" : "Mesec časovnice", -"todayLabel" : "danes", +"todayLabel" : "Danes", "weeknumberLabel" : "teden", "allDayLabel" : "Ves dan", "muharramLabel" : "Muharram", @@ -36,7 +36,7 @@ "rabi2Label" : "Rabi' al-thani", "jumada1Label" : "Jumada al-awwal", "jumada2Label" : "Jumada al-thani", -"rajabLabel" : "Radžab", +"rajabLabel" : "Rajab", "shaabanLabel" : "Sha'aban", "ramadanLabel" : "Ramadan", "shawwalLabel" : "Shawwal", @@ -49,15 +49,55 @@ "shortJumada1Label" : "Jum. jaz", "shortJumada2Label" : "Jum. II", "shortRajabLabel" : "Raj.", -"shortShaabanLabel" : "Sha", +"shortShaabanLabel" : "Sha.", "shortRamadanLabel" : "Oven.", "shortShawwalLabel" : "Shaw.", "shortDhualqiLabel" : "Dhu'l-Q", "shortDhualhiLabel" : "Dhu'l-H", -"daySpanCountLabel" : "dan", -"series" : "Serija", -"pdfHyperlinkLabel" : "Odprite spletno stran", +"daySpanCountLabel" : "Dan", +"series" : "serija", +"pdfHyperlinkLabel" : "Odpri spletno stran", "pdfHyperlinkContentLabel" : "Ali želite odpreti stran na", "pdfHyperlinkDialogOpenLabel" : "ODPRTO", -"pdfHyperlinkDialogCancelLabel" : "PREKLIC" +"pdfHyperlinkDialogCancelLabel" : "PREKLIC", +"afterDataGridFilteringLabel" : "Po", +"afterOrEqualDataGridFilteringLabel" : "Po ali enako", +"beforeDataGridFilteringLabel" : "Pred ali enako", +"beforeOrEqualDataGridFilteringLabel" : "prej", +"beginsWithDataGridFilteringLabel" : "Začne se z", +"containsDataGridFilteringLabel" : "Vsebuje", +"doesNotBeginWithDataGridFilteringLabel" : "Se ne začne z", +"doesNotContainDataGridFilteringLabel" : "Ne vsebuje", +"doesNotEndWithDataGridFilteringLabel" : "Se ne konča z", +"doesNotEqualDataGridFilteringLabel" : "Ni enako", +"emptyDataGridFilteringLabel" : "Prazno", +"endsWithDataGridFilteringLabel" : "Konča se z", +"equalsDataGridFilteringLabel" : "Enako", +"greaterThanDataGridFilteringLabel" : "Večji kot", +"greaterThanOrEqualDataGridFilteringLabel" : "Večje ali enako", +"lessThanDataGridFilteringLabel" : "Manj kot", +"lessThanOrEqualDataGridFilteringLabel" : "Manj ali enako", +"notEmptyDataGridFilteringLabel" : "Ni prazno", +"notNullDataGridFilteringLabel" : "Ni Null", +"nullDataGridFilteringLabel" : "Nič", +"sortSmallestToLargestDataGridFilteringLabel" : "Razvrsti od najmanjšega do največjega", +"sortLargestToSmallestDataGridFilteringLabel" : "Razvrsti od največjega do najmanjšega", +"sortAToZDataGridFilteringLabel" : "Razvrsti od A do Ž", +"sortZToADataGridFilteringLabel" : "Razvrsti od Ž do A", +"sortOldestToNewestDataGridFilteringLabel" : "Razvrsti od starejšega do najnovejšega", +"sortNewestToOldestDataGridFilteringLabel" : "Razvrsti od najnovejšega do najstarejšega", +"textFiltersDataGridFilteringLabel" : "Besedilni filtri", +"numberFiltersDataGridFilteringLabel" : "Številčni filtri", +"dateFiltersDataGridFilteringLabel" : "Datumski filtri", +"searchDataGridFilteringLabel" : "Iskanje", +"noMatchesDataGridFilteringLabel" : "Ni ujemanja", +"okDataGridFilteringLabel" : "v redu", +"cancelDataGridFilteringLabel" : "Prekliči", +"showRowsWhereDataGridFilteringLabel" : "Pokaži vrstice, kje", +"andDataGridFilteringLabel" : "in", +"orDataGridFilteringLabel" : "oz", +"selectAllDataGridFilteringLabel" : "Izberi vse", +"sortAndFilterDataGridFilteringLabel" : "Razvrsti in filtriraj", +"clearFilterDataGridFilteringLabel" : "Počisti filter", +"fromDataGridFilteringLabel" : "Od" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sq.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sq.arb index a8f44df07..cd447d7eb 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sq.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sq.arb @@ -18,7 +18,7 @@ "passwordDialogInvalidPasswordLabel" : "Fjalëkalim i pavlefshëm", "pdfPasswordDialogOpenLabel" : "HAPUR", "pdfPasswordDialogCancelLabel" : "ANULON", -"allowedViewDayLabel" : "ditë", +"allowedViewDayLabel" : "Dita", "allowedViewWeekLabel" : "javë", "allowedViewWorkWeekLabel" : "Java e punës", "allowedViewMonthLabel" : "Muaj", @@ -34,13 +34,13 @@ "safarLabel" : "Safar", "rabi1Label" : "Rabi'ul-evvel", "rabi2Label" : "Rabi' al-thani", -"jumada1Label" : "Xhumada el-evvel", +"jumada1Label" : "Xhumade el-evvel", "jumada2Label" : "Xhumada al-thani", "rajabLabel" : "Rexheb", -"shaabanLabel" : "Sha'ban", +"shaabanLabel" : "Shaban", "ramadanLabel" : "Ramazani", "shawwalLabel" : "Shevali", -"dhualqiLabel" : "Dhul Kida", +"dhualqiLabel" : "Dhul-Kida", "dhualhiLabel" : "Dhul Hixhe", "shortMuharramLabel" : "Muh.", "shortSafarLabel" : "Saf.", @@ -54,10 +54,50 @@ "shortShawwalLabel" : "Shaw.", "shortDhualqiLabel" : "Dhu'l-K", "shortDhualhiLabel" : "Dhul-H", -"daySpanCountLabel" : "ditë", +"daySpanCountLabel" : "Dita", "series" : "Seria", "pdfHyperlinkLabel" : "Hapni faqen e internetit", "pdfHyperlinkContentLabel" : "Dëshironi të hapni faqen në", "pdfHyperlinkDialogOpenLabel" : "HAPUR", -"pdfHyperlinkDialogCancelLabel" : "ANULON" +"pdfHyperlinkDialogCancelLabel" : "ANULON", +"afterDataGridFilteringLabel" : "Pas", +"afterOrEqualDataGridFilteringLabel" : "Pas Ose E barabartë", +"beforeDataGridFilteringLabel" : "Para Ose të Barabarta", +"beforeOrEqualDataGridFilteringLabel" : "Përpara", +"beginsWithDataGridFilteringLabel" : "Fillon me", +"containsDataGridFilteringLabel" : "Përmban", +"doesNotBeginWithDataGridFilteringLabel" : "Nuk Fillon Me", +"doesNotContainDataGridFilteringLabel" : "Nuk permban", +"doesNotEndWithDataGridFilteringLabel" : "Nuk përfundon me", +"doesNotEqualDataGridFilteringLabel" : "Nuk është e barabartë", +"emptyDataGridFilteringLabel" : "Bosh", +"endsWithDataGridFilteringLabel" : "Përfundon me", +"equalsDataGridFilteringLabel" : "Të barabartë", +"greaterThanDataGridFilteringLabel" : "Më e madhe se", +"greaterThanOrEqualDataGridFilteringLabel" : "Më i madh se Ose i barabartë", +"lessThanDataGridFilteringLabel" : "Më pak se", +"lessThanOrEqualDataGridFilteringLabel" : "Më pak se ose e barabartë", +"notEmptyDataGridFilteringLabel" : "Jo bosh", +"notNullDataGridFilteringLabel" : "Jo Null", +"nullDataGridFilteringLabel" : "I pavlefshëm", +"sortSmallestToLargestDataGridFilteringLabel" : "Rendit nga më i vogli në më i madhi", +"sortLargestToSmallestDataGridFilteringLabel" : "Rendit nga më i madhi tek më i vogli", +"sortAToZDataGridFilteringLabel" : "Rendit nga A në Z", +"sortZToADataGridFilteringLabel" : "Rendit Z në A", +"sortOldestToNewestDataGridFilteringLabel" : "Rendit nga më i vjetri tek më i riu", +"sortNewestToOldestDataGridFilteringLabel" : "Rendit nga më i riu tek më i vjetri", +"textFiltersDataGridFilteringLabel" : "Filtrat e tekstit", +"numberFiltersDataGridFilteringLabel" : "Filtrat e numrave", +"dateFiltersDataGridFilteringLabel" : "Filtrat e datës", +"searchDataGridFilteringLabel" : "Kërko", +"noMatchesDataGridFilteringLabel" : "Nuk ka ndeshje", +"okDataGridFilteringLabel" : "Ne rregull", +"cancelDataGridFilteringLabel" : "Anulo", +"showRowsWhereDataGridFilteringLabel" : "Trego rreshtat ku", +"andDataGridFilteringLabel" : "Dhe", +"orDataGridFilteringLabel" : "Ose", +"selectAllDataGridFilteringLabel" : "Selektoj të gjitha", +"sortAndFilterDataGridFilteringLabel" : "Rendit dhe filtro", +"clearFilterDataGridFilteringLabel" : "Pastro filtrin", +"fromDataGridFilteringLabel" : "Nga" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sr.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sr.arb index d06285d21..1b198adfa 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sr.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sr.arb @@ -55,9 +55,49 @@ "shortDhualqiLabel" : "Дху'л-К", "shortDhualhiLabel" : "Дху'л-Х", "daySpanCountLabel" : "Дан", -"series" : "Серије", +"series" : "Сериес", "pdfHyperlinkLabel" : "Отворите веб страницу", "pdfHyperlinkContentLabel" : "Да ли желите да отворите страницу на", "pdfHyperlinkDialogOpenLabel" : "ОПЕН", -"pdfHyperlinkDialogCancelLabel" : "ПОНИШТИТИ, ОТКАЗАТИ" +"pdfHyperlinkDialogCancelLabel" : "ПОНИШТИТИ, ОТКАЗАТИ", +"afterDataGridFilteringLabel" : "После", +"afterOrEqualDataGridFilteringLabel" : "После или једнако", +"beforeDataGridFilteringLabel" : "Пре или једнако", +"beforeOrEqualDataGridFilteringLabel" : "пре него што", +"beginsWithDataGridFilteringLabel" : "Почиње са", +"containsDataGridFilteringLabel" : "Садржи", +"doesNotBeginWithDataGridFilteringLabel" : "Не почиње са", +"doesNotContainDataGridFilteringLabel" : "Не садржи", +"doesNotEndWithDataGridFilteringLabel" : "Не завршава са", +"doesNotEqualDataGridFilteringLabel" : "Није једнако", +"emptyDataGridFilteringLabel" : "Празан", +"endsWithDataGridFilteringLabel" : "Завршава са", +"equalsDataGridFilteringLabel" : "Једнако", +"greaterThanDataGridFilteringLabel" : "Веће од", +"greaterThanOrEqualDataGridFilteringLabel" : "Веће или једнако", +"lessThanDataGridFilteringLabel" : "Мање од", +"lessThanOrEqualDataGridFilteringLabel" : "Мање од или једнако", +"notEmptyDataGridFilteringLabel" : "Није празна", +"notNullDataGridFilteringLabel" : "Не Нулл", +"nullDataGridFilteringLabel" : "Нула", +"sortSmallestToLargestDataGridFilteringLabel" : "Сортирај од најмањег до највећег", +"sortLargestToSmallestDataGridFilteringLabel" : "Сортирај од највећег до најмањег", +"sortAToZDataGridFilteringLabel" : "Сортирај од А до З", +"sortZToADataGridFilteringLabel" : "Сортирај од З до А", +"sortOldestToNewestDataGridFilteringLabel" : "Сортирај од најстаријих до најновијих", +"sortNewestToOldestDataGridFilteringLabel" : "Сортирај од најновијег до најстаријег", +"textFiltersDataGridFilteringLabel" : "Филтери за текст", +"numberFiltersDataGridFilteringLabel" : "Бројчани филтери", +"dateFiltersDataGridFilteringLabel" : "Дате Филтерс", +"searchDataGridFilteringLabel" : "Претрага", +"noMatchesDataGridFilteringLabel" : "Нема резултата", +"okDataGridFilteringLabel" : "У реду", +"cancelDataGridFilteringLabel" : "Поништити, отказати", +"showRowsWhereDataGridFilteringLabel" : "Покажи редове где", +"andDataGridFilteringLabel" : "И", +"orDataGridFilteringLabel" : "Ор", +"selectAllDataGridFilteringLabel" : "Изабери све", +"sortAndFilterDataGridFilteringLabel" : "Сортирај и филтрирај", +"clearFilterDataGridFilteringLabel" : "Обриши филтер", +"fromDataGridFilteringLabel" : "Од" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sv.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sv.arb index 6421e64bd..eab1365b9 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sv.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sv.arb @@ -11,13 +11,13 @@ "pdfEnterPageNumberLabel" : "Ange sidnummer", "pdfInvalidPageNumberLabel" : "var vänlig skriv in ett giltigt nummer", "pdfPaginationDialogOkLabel" : "OK", -"pdfPaginationDialogCancelLabel" : "ANNULLERA", +"pdfPaginationDialogCancelLabel" : "AVBRYT", "passwordDialogHeaderTextLabel" : "Lösenord skyddat", "passwordDialogContentLabel" : "Ange lösenordet för att öppna denna PDF-fil", "passwordDialogHintTextLabel" : "Skriv in lösenord", "passwordDialogInvalidPasswordLabel" : "felaktigt lösenord", -"pdfPasswordDialogOpenLabel" : "ÖPPET", -"pdfPasswordDialogCancelLabel" : "ANNULLERA", +"pdfPasswordDialogOpenLabel" : "ÖPPNA", +"pdfPasswordDialogCancelLabel" : "AVBRYT", "allowedViewDayLabel" : "Dag", "allowedViewWeekLabel" : "Vecka", "allowedViewWorkWeekLabel" : "Arbetsvecka", @@ -25,7 +25,7 @@ "allowedViewScheduleLabel" : "Schema", "allowedViewTimelineDayLabel" : "Tidslinjedagen", "allowedViewTimelineWeekLabel" : "Tidslinjevecka", -"allowedViewTimelineWorkWeekLabel" : "Tidslinje Arbetsvecka", +"allowedViewTimelineWorkWeekLabel" : "Tidslinje arbetsvecka", "allowedViewTimelineMonthLabel" : "Tidslinje månad", "todayLabel" : "I dag", "weeknumberLabel" : "Vecka", @@ -58,6 +58,46 @@ "series" : "Serier", "pdfHyperlinkLabel" : "Öppna webbsidan", "pdfHyperlinkContentLabel" : "Vill du öppna sidan på", -"pdfHyperlinkDialogOpenLabel" : "ÖPPEN", -"pdfHyperlinkDialogCancelLabel" : "AVBRYT" +"pdfHyperlinkDialogOpenLabel" : "ÖPPNA", +"pdfHyperlinkDialogCancelLabel" : "AVBRYT", +"afterDataGridFilteringLabel" : "Efter", +"afterOrEqualDataGridFilteringLabel" : "Efter Eller Lika", +"beforeDataGridFilteringLabel" : "Före Eller Lika", +"beforeOrEqualDataGridFilteringLabel" : "Innan", +"beginsWithDataGridFilteringLabel" : "Börjar med", +"containsDataGridFilteringLabel" : "Innehåller", +"doesNotBeginWithDataGridFilteringLabel" : "Börjar inte med", +"doesNotContainDataGridFilteringLabel" : "Innehåller inte", +"doesNotEndWithDataGridFilteringLabel" : "Slutar inte med", +"doesNotEqualDataGridFilteringLabel" : "Är inte lika med", +"emptyDataGridFilteringLabel" : "Tömma", +"endsWithDataGridFilteringLabel" : "Slutar med", +"equalsDataGridFilteringLabel" : "Lika", +"greaterThanDataGridFilteringLabel" : "Större än", +"greaterThanOrEqualDataGridFilteringLabel" : "Större än eller lika med", +"lessThanDataGridFilteringLabel" : "Mindre än", +"lessThanOrEqualDataGridFilteringLabel" : "Mindre än eller lika", +"notEmptyDataGridFilteringLabel" : "Inte tom", +"notNullDataGridFilteringLabel" : "Inte Null", +"nullDataGridFilteringLabel" : "Null", +"sortSmallestToLargestDataGridFilteringLabel" : "Sortera minsta till största", +"sortLargestToSmallestDataGridFilteringLabel" : "Sortera Störst Till Minst", +"sortAToZDataGridFilteringLabel" : "Sortera A till Ö", +"sortZToADataGridFilteringLabel" : "Sortera från Z till A", +"sortOldestToNewestDataGridFilteringLabel" : "Sortera äldst till nyaste", +"sortNewestToOldestDataGridFilteringLabel" : "Sortera Nyast Till Äldst", +"textFiltersDataGridFilteringLabel" : "Textfilter", +"numberFiltersDataGridFilteringLabel" : "Nummerfilter", +"dateFiltersDataGridFilteringLabel" : "Datumfilter", +"searchDataGridFilteringLabel" : "Sök", +"noMatchesDataGridFilteringLabel" : "Inga träffar", +"okDataGridFilteringLabel" : "OK", +"cancelDataGridFilteringLabel" : "Avbryt", +"showRowsWhereDataGridFilteringLabel" : "Visa rader var", +"andDataGridFilteringLabel" : "Och", +"orDataGridFilteringLabel" : "Eller", +"selectAllDataGridFilteringLabel" : "Välj alla", +"sortAndFilterDataGridFilteringLabel" : "Sortera och filtrera", +"clearFilterDataGridFilteringLabel" : "Rensa filtret", +"fromDataGridFilteringLabel" : "Från" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sw.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sw.arb index 2c6b1f0f8..89d401fe6 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sw.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_sw.arb @@ -7,7 +7,7 @@ "pdfBookmarksLabel" : "Alamisho", "pdfNoBookmarksLabel" : "Hakuna alamisho zilizopatikana", "pdfScrollStatusOfLabel" : "ya", -"pdfGoToPageLabel" : "Nenda kwa ukurasa", +"pdfGoToPageLabel" : "Nenda kwenye ukurasa", "pdfEnterPageNumberLabel" : "Ingiza nambari ya ukurasa", "pdfInvalidPageNumberLabel" : "Tafadhali weka nambari halali", "pdfPaginationDialogOkLabel" : "sawa", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Fungua Ukurasa wa Wavuti", "pdfHyperlinkContentLabel" : "Je, unataka kufungua ukurasa katika", "pdfHyperlinkDialogOpenLabel" : "FUNGUA", -"pdfHyperlinkDialogCancelLabel" : "GHAIRI" +"pdfHyperlinkDialogCancelLabel" : "GHAIRI", +"afterDataGridFilteringLabel" : "Baada ya", +"afterOrEqualDataGridFilteringLabel" : "Baada ya Au Sawa", +"beforeDataGridFilteringLabel" : "Kabla Au Sawa", +"beforeOrEqualDataGridFilteringLabel" : "Kabla", +"beginsWithDataGridFilteringLabel" : "Huanza Na", +"containsDataGridFilteringLabel" : "Ina", +"doesNotBeginWithDataGridFilteringLabel" : "Huanza Na", +"doesNotContainDataGridFilteringLabel" : "Haina", +"doesNotEndWithDataGridFilteringLabel" : "Haiishii Na", +"doesNotEqualDataGridFilteringLabel" : "Hailingani", +"emptyDataGridFilteringLabel" : "Tupu", +"endsWithDataGridFilteringLabel" : "Inaisha Na", +"equalsDataGridFilteringLabel" : "Sawa", +"greaterThanDataGridFilteringLabel" : "Kubwa kuliko", +"greaterThanOrEqualDataGridFilteringLabel" : "Kubwa Kuliko Au Sawa", +"lessThanDataGridFilteringLabel" : "Chini ya", +"lessThanOrEqualDataGridFilteringLabel" : "Chini ya Au Sawa", +"notEmptyDataGridFilteringLabel" : "Sio Tupu", +"notNullDataGridFilteringLabel" : "Sio Null", +"nullDataGridFilteringLabel" : "Null", +"sortSmallestToLargestDataGridFilteringLabel" : "Panga Ndogo Kwa Kubwa Zaidi", +"sortLargestToSmallestDataGridFilteringLabel" : "Panga Kubwa Hadi Ndogo", +"sortAToZDataGridFilteringLabel" : "Panga A hadi Z", +"sortZToADataGridFilteringLabel" : "Panga Z hadi A", +"sortOldestToNewestDataGridFilteringLabel" : "Panga Kongwe Kwa Mpya Zaidi", +"sortNewestToOldestDataGridFilteringLabel" : "Panga Mpya Zaidi Kwa Kongwe Zaidi", +"textFiltersDataGridFilteringLabel" : "Vichujio vya Maandishi", +"numberFiltersDataGridFilteringLabel" : "Vichujio vya Nambari", +"dateFiltersDataGridFilteringLabel" : "Vichujio vya Tarehe", +"searchDataGridFilteringLabel" : "Tafuta", +"noMatchesDataGridFilteringLabel" : "Hakuna zinazolingana", +"okDataGridFilteringLabel" : "sawa", +"cancelDataGridFilteringLabel" : "Ghairi", +"showRowsWhereDataGridFilteringLabel" : "Onyesha safu mlalo wapi", +"andDataGridFilteringLabel" : "Na", +"orDataGridFilteringLabel" : "Au", +"selectAllDataGridFilteringLabel" : "Chagua Zote", +"sortAndFilterDataGridFilteringLabel" : "Panga na Chuja", +"clearFilterDataGridFilteringLabel" : "Futa Kichujio", +"fromDataGridFilteringLabel" : "Kutoka" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ta.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ta.arb index 756c1d8e2..44da52395 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ta.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ta.arb @@ -23,7 +23,7 @@ "allowedViewWorkWeekLabel" : "வேலை வாரம்", "allowedViewMonthLabel" : "மாதம்", "allowedViewScheduleLabel" : "அட்டவணை", -"allowedViewTimelineDayLabel" : "காலவரிசை நாள்", +"allowedViewTimelineDayLabel" : "காலக்கெடு நாள்", "allowedViewTimelineWeekLabel" : "காலவரிசை வாரம்", "allowedViewTimelineWorkWeekLabel" : "காலக்கெடு வேலை வாரம்", "allowedViewTimelineMonthLabel" : "காலவரிசை மாதம்", @@ -40,7 +40,7 @@ "shaabanLabel" : "ஷஅபான்", "ramadanLabel" : "ரமலான்", "shawwalLabel" : "ஷவ்வால்", -"dhualqiLabel" : "து அல்-கிடா", +"dhualqiLabel" : "Dhu al-Qi'dah", "dhualhiLabel" : "து அல்-ஹிஜ்ஜா", "shortMuharramLabel" : "முஹ்.", "shortSafarLabel" : "Saf.", @@ -51,7 +51,7 @@ "shortRajabLabel" : "ராஜ்.", "shortShaabanLabel" : "ஷா.", "shortRamadanLabel" : "ரேம்.", -"shortShawwalLabel" : "ஷா.", +"shortShawwalLabel" : "ஷா", "shortDhualqiLabel" : "துல்-கே", "shortDhualhiLabel" : "துல்-எச்", "daySpanCountLabel" : "நாள்", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "இணையப் பக்கத்தைத் திற", "pdfHyperlinkContentLabel" : "நீங்கள் பக்கத்தைத் திறக்க விரும்புகிறீர்களா?", "pdfHyperlinkDialogOpenLabel" : "திறந்த", -"pdfHyperlinkDialogCancelLabel" : "ரத்துசெய்" +"pdfHyperlinkDialogCancelLabel" : "ரத்துசெய்", +"afterDataGridFilteringLabel" : "பிறகு", +"afterOrEqualDataGridFilteringLabel" : "பிறகு அல்லது சமம்", +"beforeDataGridFilteringLabel" : "முன் அல்லது சமம்", +"beforeOrEqualDataGridFilteringLabel" : "முன்பு", +"beginsWithDataGridFilteringLabel" : "உடன் தொடங்குகிறது", +"containsDataGridFilteringLabel" : "கொண்டுள்ளது", +"doesNotBeginWithDataGridFilteringLabel" : "உடன் தொடங்கவில்லை", +"doesNotContainDataGridFilteringLabel" : "கொண்டிருக்கும் இல்லை", +"doesNotEndWithDataGridFilteringLabel" : "உடன் முடிவடையவில்லை", +"doesNotEqualDataGridFilteringLabel" : "சமமாக இல்லை", +"emptyDataGridFilteringLabel" : "காலியாக", +"endsWithDataGridFilteringLabel" : "உடன் முடிகிறது", +"equalsDataGridFilteringLabel" : "சமம்", +"greaterThanDataGridFilteringLabel" : "விட பெரியது", +"greaterThanOrEqualDataGridFilteringLabel" : "பெரியது அல்லது சமமானது", +"lessThanDataGridFilteringLabel" : "விட குறைவாக", +"lessThanOrEqualDataGridFilteringLabel" : "குறைவானது அல்லது சமமானது", +"notEmptyDataGridFilteringLabel" : "காலியாக இல்லை", +"notNullDataGridFilteringLabel" : "பூஜ்யமாக இல்லை", +"nullDataGridFilteringLabel" : "ஏதுமில்லை", +"sortSmallestToLargestDataGridFilteringLabel" : "சிறியது முதல் பெரியது வரை வரிசைப்படுத்தவும்", +"sortLargestToSmallestDataGridFilteringLabel" : "பெரியது முதல் சிறியது வரை வரிசைப்படுத்தவும்", +"sortAToZDataGridFilteringLabel" : "A முதல் Z வரை வரிசைப்படுத்தவும்", +"sortZToADataGridFilteringLabel" : "Z முதல் A வரை வரிசைப்படுத்தவும்", +"sortOldestToNewestDataGridFilteringLabel" : "பழமையானது முதல் புதியது வரை வரிசைப்படுத்தவும்", +"sortNewestToOldestDataGridFilteringLabel" : "புதியது முதல் பழையது என வரிசைப்படுத்தவும்", +"textFiltersDataGridFilteringLabel" : "உரை வடிப்பான்கள்", +"numberFiltersDataGridFilteringLabel" : "எண் வடிப்பான்கள்", +"dateFiltersDataGridFilteringLabel" : "தேதி வடிகட்டிகள்", +"searchDataGridFilteringLabel" : "தேடு", +"noMatchesDataGridFilteringLabel" : "பொருத்தங்கள் இல்லை", +"okDataGridFilteringLabel" : "சரி", +"cancelDataGridFilteringLabel" : "ரத்து செய்", +"showRowsWhereDataGridFilteringLabel" : "எங்கே வரிசைகளைக் காட்டு", +"andDataGridFilteringLabel" : "மற்றும்", +"orDataGridFilteringLabel" : "அல்லது", +"selectAllDataGridFilteringLabel" : "அனைத்தையும் தெரிவுசெய்", +"sortAndFilterDataGridFilteringLabel" : "வரிசைப்படுத்தி வடிகட்டவும்", +"clearFilterDataGridFilteringLabel" : "வடிகட்டியை அழி", +"fromDataGridFilteringLabel" : "இருந்து" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_te.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_te.arb index 38186bea0..df431e5a4 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_te.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_te.arb @@ -40,7 +40,7 @@ "shaabanLabel" : "షాబాన్", "ramadanLabel" : "రంజాన్", "shawwalLabel" : "షవ్వాల్", -"dhualqiLabel" : "ధు అల్-ఖైదా", +"dhualqiLabel" : "ధు అల్-కి'దా", "dhualhiLabel" : "ధు అల్-హిజ్జా", "shortMuharramLabel" : "ముహ్.", "shortSafarLabel" : "సాఫ్.", @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "వెబ్ పేజీని తెరవండి", "pdfHyperlinkContentLabel" : "మీరు పేజీని ఇక్కడ తెరవాలనుకుంటున్నారా", "pdfHyperlinkDialogOpenLabel" : "తెరవండి", -"pdfHyperlinkDialogCancelLabel" : "రద్దు చేయండి" +"pdfHyperlinkDialogCancelLabel" : "రద్దు చేయండి", +"afterDataGridFilteringLabel" : "తర్వాత", +"afterOrEqualDataGridFilteringLabel" : "తర్వాత లేదా సమానం", +"beforeDataGridFilteringLabel" : "ముందు లేదా సమానం", +"beforeOrEqualDataGridFilteringLabel" : "ముందు", +"beginsWithDataGridFilteringLabel" : "ప్రారంభమవుతుంది", +"containsDataGridFilteringLabel" : "కలిగి ఉంది", +"doesNotBeginWithDataGridFilteringLabel" : "తో ప్రారంభం కాదు", +"doesNotContainDataGridFilteringLabel" : "దింట్లో ఉండదు", +"doesNotEndWithDataGridFilteringLabel" : "దీనితో అంతం కాదు", +"doesNotEqualDataGridFilteringLabel" : "సమానం కాదు", +"emptyDataGridFilteringLabel" : "ఖాళీ", +"endsWithDataGridFilteringLabel" : "తో ముగుస్తుంది", +"equalsDataGridFilteringLabel" : "సమానం", +"greaterThanDataGridFilteringLabel" : "అంతకన్నా ఎక్కువ", +"greaterThanOrEqualDataGridFilteringLabel" : "గ్రేటర్ దాన్ లేదా ఈక్వల్", +"lessThanDataGridFilteringLabel" : "కంటే తక్కువ", +"lessThanOrEqualDataGridFilteringLabel" : "తక్కువ లేదా సమానం", +"notEmptyDataGridFilteringLabel" : "ఖాళీ కాదు", +"notNullDataGridFilteringLabel" : "శూన్యం కాదు", +"nullDataGridFilteringLabel" : "శూన్య", +"sortSmallestToLargestDataGridFilteringLabel" : "చిన్నది నుండి పెద్దది వరకు క్రమబద్ధీకరించండి", +"sortLargestToSmallestDataGridFilteringLabel" : "పెద్దది నుండి చిన్నది వరకు క్రమబద్ధీకరించండి", +"sortAToZDataGridFilteringLabel" : "A నుండి Z వరకు క్రమబద్ధీకరించండి", +"sortZToADataGridFilteringLabel" : "Z నుండి A వరకు క్రమబద్ధీకరించండి", +"sortOldestToNewestDataGridFilteringLabel" : "పాతది నుండి కొత్తది వరకు క్రమబద్ధీకరించండి", +"sortNewestToOldestDataGridFilteringLabel" : "సరికొత్తది నుండి పాతది వరకు క్రమబద్ధీకరించండి", +"textFiltersDataGridFilteringLabel" : "టెక్స్ట్ ఫిల్టర్లు", +"numberFiltersDataGridFilteringLabel" : "సంఖ్య ఫిల్టర్లు", +"dateFiltersDataGridFilteringLabel" : "తేదీ ఫిల్టర్లు", +"searchDataGridFilteringLabel" : "వెతకండి", +"noMatchesDataGridFilteringLabel" : "మ్యాచ్‌లు లేవు", +"okDataGridFilteringLabel" : "అలాగే", +"cancelDataGridFilteringLabel" : "రద్దు చేయండి", +"showRowsWhereDataGridFilteringLabel" : "అడ్డు వరుసలను ఎక్కడ చూపించు", +"andDataGridFilteringLabel" : "మరియు", +"orDataGridFilteringLabel" : "లేదా", +"selectAllDataGridFilteringLabel" : "అన్ని ఎంచుకోండి", +"sortAndFilterDataGridFilteringLabel" : "క్రమబద్ధీకరించండి మరియు ఫిల్టర్ చేయండి", +"clearFilterDataGridFilteringLabel" : "ఫిల్టర్‌ని క్లియర్ చేయండి", +"fromDataGridFilteringLabel" : "నుండి" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_th.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_th.arb index b88c9b426..d73bc15e2 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_th.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_th.arb @@ -1,15 +1,15 @@ { -"noSelectedDateCalendarLabel" : "ไม่ได้เลือกวันที่", +"noSelectedDateCalendarLabel" : "ไม่มีวันที่เลือก", "noEventsCalendarLabel" : "ไม่มีกิจกรรม", "ofDataPagerLabel" : "ของ", "pagesDataPagerLabel" : "หน้า", "rowsPerPageDataPagerLabel" : "แถวต่อหน้า", "pdfBookmarksLabel" : "ที่คั่นหนังสือ", -"pdfNoBookmarksLabel" : "ไม่พบบุ๊คมาร์ค", +"pdfNoBookmarksLabel" : "ไม่พบบุ๊กมาร์ก", "pdfScrollStatusOfLabel" : "ของ", "pdfGoToPageLabel" : "ไปที่หน้า", "pdfEnterPageNumberLabel" : "ใส่เลขหน้า", -"pdfInvalidPageNumberLabel" : "กรุณาใส่ตัวเลขที่ถูกต้อง", +"pdfInvalidPageNumberLabel" : "โปรดป้อนหมายเลขที่ถูกต้อง", "pdfPaginationDialogOkLabel" : "ตกลง", "pdfPaginationDialogCancelLabel" : "ยกเลิก", "passwordDialogHeaderTextLabel" : "ป้องกันด้วยพาสเวิร์ด", @@ -25,39 +25,79 @@ "allowedViewScheduleLabel" : "กำหนดการ", "allowedViewTimelineDayLabel" : "วันไทม์ไลน์", "allowedViewTimelineWeekLabel" : "ไทม์ไลน์สัปดาห์", -"allowedViewTimelineWorkWeekLabel" : "ไทม์ไลน์งานสัปดาห์", +"allowedViewTimelineWorkWeekLabel" : "ไทม์ไลน์สัปดาห์การทำงาน", "allowedViewTimelineMonthLabel" : "ไทม์ไลน์เดือน", "todayLabel" : "วันนี้", "weeknumberLabel" : "สัปดาห์", "allDayLabel" : "ทั้งวัน", -"muharramLabel" : "มูฮัรรอม", +"muharramLabel" : "มุฮัรรอม", "safarLabel" : "ซาฟาร์", -"rabi1Label" : "เราะบี อัลเอาวัล", -"rabi2Label" : "รอบีอัล-ธานี", +"rabi1Label" : "รอบิอัลเอาวัล", +"rabi2Label" : "รอบิอัล-ธานี", "jumada1Label" : "ญุมาดา อัลเอาวัล", -"jumada2Label" : "Jumada al-thani", -"rajabLabel" : "ราชภัฏ", +"jumada2Label" : "ญุมาดา อัล-ธานี", +"rajabLabel" : "ราชาบ", "shaabanLabel" : "ชะอฺบาน", -"ramadanLabel" : "รอมฎอน", +"ramadanLabel" : "เดือนรอมฎอน", "shawwalLabel" : "เชาวาล", -"dhualqiLabel" : "ญุมาดา อัล-ธานี", -"dhualhiLabel" : "ดูอัลฮิจญะฮ์", -"shortMuharramLabel" : "มุ้ย.", -"shortSafarLabel" : "เซฟ.", -"shortRabi1Label" : "รบี. ฉัน", -"shortRabi2Label" : "รบี. II", -"shortJumada1Label" : "จั้ม. ฉัน", -"shortJumada2Label" : "จั้ม. II", -"shortRajabLabel" : "ราช.", -"shortShaabanLabel" : "ชา.", +"dhualqiLabel" : "ดุอัลกิดาห์", +"dhualhiLabel" : "ดุอัลฮิจญะห์", +"shortMuharramLabel" : "มึ.", +"shortSafarLabel" : "ปลอดภัย", +"shortRabi1Label" : "ระบี. ฉัน", +"shortRabi2Label" : "ระบี. ครั้งที่สอง", +"shortJumada1Label" : "จุ๋ม. ฉัน", +"shortJumada2Label" : "จุ๋ม. ครั้งที่สอง", +"shortRajabLabel" : "ราชา", +"shortShaabanLabel" : "ชา", "shortRamadanLabel" : "แกะ.", -"shortShawwalLabel" : "ชอว์.", +"shortShawwalLabel" : "ชอว์", "shortDhualqiLabel" : "ดุล-คิว", -"shortDhualhiLabel" : "ดุลฮัก", +"shortDhualhiLabel" : "ดุอัล-เอช", "daySpanCountLabel" : "วัน", "series" : "ชุด", "pdfHyperlinkLabel" : "เปิดหน้าเว็บ", -"pdfHyperlinkContentLabel" : "ต้องการเปิดเพจที่", +"pdfHyperlinkContentLabel" : "คุณต้องการเปิดเพจที่", "pdfHyperlinkDialogOpenLabel" : "เปิด", -"pdfHyperlinkDialogCancelLabel" : "ยกเลิก" +"pdfHyperlinkDialogCancelLabel" : "ยกเลิก", +"afterDataGridFilteringLabel" : "หลังจาก", +"afterOrEqualDataGridFilteringLabel" : "หลังจากหรือเท่ากับ", +"beforeDataGridFilteringLabel" : "ก่อนหรือเท่ากับ", +"beforeOrEqualDataGridFilteringLabel" : "ก่อน", +"beginsWithDataGridFilteringLabel" : "เริ่มต้นด้วย", +"containsDataGridFilteringLabel" : "ประกอบด้วย", +"doesNotBeginWithDataGridFilteringLabel" : "ไม่ได้ขึ้นต้นด้วย", +"doesNotContainDataGridFilteringLabel" : "ไม่มี", +"doesNotEndWithDataGridFilteringLabel" : "ไม่สิ้นสุดด้วย", +"doesNotEqualDataGridFilteringLabel" : "ไม่เท่าเทียมกัน", +"emptyDataGridFilteringLabel" : "ว่างเปล่า", +"endsWithDataGridFilteringLabel" : "ลงท้ายด้วย", +"equalsDataGridFilteringLabel" : "เท่ากับ", +"greaterThanDataGridFilteringLabel" : "มากกว่า", +"greaterThanOrEqualDataGridFilteringLabel" : "มากกว่าหรือเท่ากับ", +"lessThanDataGridFilteringLabel" : "น้อยกว่า", +"lessThanOrEqualDataGridFilteringLabel" : "น้อยกว่าหรือเท่ากับ", +"notEmptyDataGridFilteringLabel" : "ไม่ว่างเปล่า", +"notNullDataGridFilteringLabel" : "ไม่เป็นโมฆะ", +"nullDataGridFilteringLabel" : "โมฆะ", +"sortSmallestToLargestDataGridFilteringLabel" : "เรียงลำดับจากน้อยไปมาก", +"sortLargestToSmallestDataGridFilteringLabel" : "เรียงจากมากไปน้อย", +"sortAToZDataGridFilteringLabel" : "เรียง A ถึง Z", +"sortZToADataGridFilteringLabel" : "เรียง Z ถึง A", +"sortOldestToNewestDataGridFilteringLabel" : "เรียงจากเก่าสุดไปใหม่สุด", +"sortNewestToOldestDataGridFilteringLabel" : "เรียงลำดับใหม่ที่สุดไปเก่าที่สุด", +"textFiltersDataGridFilteringLabel" : "ตัวกรองข้อความ", +"numberFiltersDataGridFilteringLabel" : "ตัวกรองตัวเลข", +"dateFiltersDataGridFilteringLabel" : "ตัวกรองวันที่", +"searchDataGridFilteringLabel" : "ค้นหา", +"noMatchesDataGridFilteringLabel" : "ไม่ตรงกัน", +"okDataGridFilteringLabel" : "ตกลง", +"cancelDataGridFilteringLabel" : "ยกเลิก", +"showRowsWhereDataGridFilteringLabel" : "แสดงแถวที่", +"andDataGridFilteringLabel" : "และ", +"orDataGridFilteringLabel" : "หรือ", +"selectAllDataGridFilteringLabel" : "เลือกทั้งหมด", +"sortAndFilterDataGridFilteringLabel" : "จัดเรียงและกรอง", +"clearFilterDataGridFilteringLabel" : "ล้างตัวกรอง", +"fromDataGridFilteringLabel" : "จาก" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_tl.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_tl.arb index 114fff665..928e3b3a1 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_tl.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_tl.arb @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Buksan ang Web Page", "pdfHyperlinkContentLabel" : "Gusto mo bang buksan ang pahina sa", "pdfHyperlinkDialogOpenLabel" : "BUKAS", -"pdfHyperlinkDialogCancelLabel" : "KANSELAHIN" +"pdfHyperlinkDialogCancelLabel" : "KANSELAHIN", +"afterDataGridFilteringLabel" : "Pagkatapos", +"afterOrEqualDataGridFilteringLabel" : "Pagkatapos ng Or Equal", +"beforeDataGridFilteringLabel" : "Bago O Kapantay", +"beforeOrEqualDataGridFilteringLabel" : "dati", +"beginsWithDataGridFilteringLabel" : "Nagsisimula sa", +"containsDataGridFilteringLabel" : "Naglalaman", +"doesNotBeginWithDataGridFilteringLabel" : "Hindi Nagsisimula Sa", +"doesNotContainDataGridFilteringLabel" : "Hindi Naglalaman", +"doesNotEndWithDataGridFilteringLabel" : "Hindi Nagtatapos Sa", +"doesNotEqualDataGridFilteringLabel" : "Ay hindi katumbas ng", +"emptyDataGridFilteringLabel" : "Walang laman", +"endsWithDataGridFilteringLabel" : "Nagtatapos Sa", +"equalsDataGridFilteringLabel" : "katumbas", +"greaterThanDataGridFilteringLabel" : "Mahigit sa", +"greaterThanOrEqualDataGridFilteringLabel" : "Higit sa O Katumbas", +"lessThanDataGridFilteringLabel" : "Mas mababa sa", +"lessThanOrEqualDataGridFilteringLabel" : "Mas Mababa sa O Katumbas", +"notEmptyDataGridFilteringLabel" : "Hindi Walang laman", +"notNullDataGridFilteringLabel" : "Hindi Null", +"nullDataGridFilteringLabel" : "Wala", +"sortSmallestToLargestDataGridFilteringLabel" : "Pagbukud-bukurin ang Pinakamaliit Hanggang Pinakamalaki", +"sortLargestToSmallestDataGridFilteringLabel" : "Pagbukud-bukurin ang Pinakamalaki Hanggang Pinakamaliit", +"sortAToZDataGridFilteringLabel" : "Pagbukud-bukurin A hanggang Z", +"sortZToADataGridFilteringLabel" : "Pagbukud-bukurin ang Z Hanggang A", +"sortOldestToNewestDataGridFilteringLabel" : "Pagbukud-bukurin ang Pinakamatanda Hanggang Pinakabago", +"sortNewestToOldestDataGridFilteringLabel" : "Pagbukud-bukurin ang Pinakabago Hanggang sa Pinakaluma", +"textFiltersDataGridFilteringLabel" : "Mga Filter ng Teksto", +"numberFiltersDataGridFilteringLabel" : "Mga Filter ng Numero", +"dateFiltersDataGridFilteringLabel" : "Mga Filter ng Petsa", +"searchDataGridFilteringLabel" : "Maghanap", +"noMatchesDataGridFilteringLabel" : "Walang tugma", +"okDataGridFilteringLabel" : "OK", +"cancelDataGridFilteringLabel" : "Kanselahin", +"showRowsWhereDataGridFilteringLabel" : "Ipakita ang mga hilera kung saan", +"andDataGridFilteringLabel" : "At", +"orDataGridFilteringLabel" : "O kaya", +"selectAllDataGridFilteringLabel" : "Piliin lahat", +"sortAndFilterDataGridFilteringLabel" : "Pagbukud-bukurin at Salain", +"clearFilterDataGridFilteringLabel" : "I-clear ang Filter", +"fromDataGridFilteringLabel" : "Mula sa" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_tr.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_tr.arb index 26b4a07e2..bdc0d3461 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_tr.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_tr.arb @@ -1,23 +1,23 @@ { -"noSelectedDateCalendarLabel" : "Seçili tarih yok", +"noSelectedDateCalendarLabel" : "tarih seçilmedi", "noEventsCalendarLabel" : "Olay yok", -"ofDataPagerLabel" : "ile ilgili", +"ofDataPagerLabel" : "nın-nin", "pagesDataPagerLabel" : "sayfalar", -"rowsPerPageDataPagerLabel" : "Sayfa başına satır sayısı", +"rowsPerPageDataPagerLabel" : "Sayfa başına satır", "pdfBookmarksLabel" : "Yer imleri", "pdfNoBookmarksLabel" : "Yer işareti bulunamadı", -"pdfScrollStatusOfLabel" : "ile ilgili", +"pdfScrollStatusOfLabel" : "nın-nin", "pdfGoToPageLabel" : "Sayfaya git", -"pdfEnterPageNumberLabel" : "Sayfa numarasını girin", -"pdfInvalidPageNumberLabel" : "Lütfen geçerli bir numara girin", -"pdfPaginationDialogOkLabel" : "Tamam", +"pdfEnterPageNumberLabel" : "sayfa numarasını girin", +"pdfInvalidPageNumberLabel" : "Lütfen geçerli bir sayı girin", +"pdfPaginationDialogOkLabel" : "TAMAM", "pdfPaginationDialogCancelLabel" : "İPTAL ETMEK", "passwordDialogHeaderTextLabel" : "Şifre korumalı", "passwordDialogContentLabel" : "Bu PDF dosyasını açmak için şifreyi girin", -"passwordDialogHintTextLabel" : "Parolanı Gir", +"passwordDialogHintTextLabel" : "Şifre girin", "passwordDialogInvalidPasswordLabel" : "geçersiz şifre", "pdfPasswordDialogOpenLabel" : "AÇIK", -"pdfPasswordDialogCancelLabel" : "İPTAL ETMEK", +"pdfPasswordDialogCancelLabel" : "İPTAL ETMEK", "allowedViewDayLabel" : "Gün", "allowedViewWeekLabel" : "Hafta", "allowedViewWorkWeekLabel" : "Çalışma haftası", @@ -31,33 +31,73 @@ "weeknumberLabel" : "Hafta", "allDayLabel" : "Tüm gün", "muharramLabel" : "Muharrem", -"safarLabel" : "Safar", -"rabi1Label" : "Rebiülevvel", +"safarLabel" : "safar", +"rabi1Label" : "Rabi'ul-evvel", "rabi2Label" : "Rabi' al-thani", -"jumada1Label" : "Cumada el-evvel", +"jumada1Label" : "Jumada al-evvel", "jumada2Label" : "Jumada al-thani", "rajabLabel" : "Recep", "shaabanLabel" : "Şaban", "ramadanLabel" : "Ramazan", "shawwalLabel" : "Şevval", -"dhualqiLabel" : "Zil Qi'dah", +"dhualqiLabel" : "Dhu al-Qi'dah", "dhualhiLabel" : "Zilhicce", -"shortMuharramLabel" : "Müh.", +"shortMuharramLabel" : "Muh.", "shortSafarLabel" : "Saf.", -"shortRabi1Label" : "Rabi. i", -"shortRabi2Label" : "Rabi. II", -"shortJumada1Label" : "Jum. i", -"shortJumada2Label" : "Jum. II", +"shortRabi1Label" : "Rabi. ben", +"shortRabi2Label" : "Rabi. III", +"shortJumada1Label" : "Cuma. ben", +"shortJumada2Label" : "Cuma. III", "shortRajabLabel" : "Raj.", -"shortShaabanLabel" : "Sha.", +"shortShaabanLabel" : "Şa.", "shortRamadanLabel" : "Veri deposu.", "shortShawwalLabel" : "Shaw.", -"shortDhualqiLabel" : "Zil-Q", +"shortDhualqiLabel" : "Zül-Q", "shortDhualhiLabel" : "Zül-H", "daySpanCountLabel" : "Gün", -"series" : "Seri", +"series" : "Diziler", "pdfHyperlinkLabel" : "Web Sayfasını Aç", -"pdfHyperlinkContentLabel" : "Sayfayı açmak ister misin?", +"pdfHyperlinkContentLabel" : "Sayfayı şu adreste açmak istiyor musunuz?", "pdfHyperlinkDialogOpenLabel" : "AÇIK", -"pdfHyperlinkDialogCancelLabel" : "İPTAL ET" +"pdfHyperlinkDialogCancelLabel" : "İPTAL ETMEK", +"afterDataGridFilteringLabel" : "Sonrasında", +"afterOrEqualDataGridFilteringLabel" : "Sonra Veya Eşittir", +"beforeDataGridFilteringLabel" : "Önce veya Eşit", +"beforeOrEqualDataGridFilteringLabel" : "Önceki", +"beginsWithDataGridFilteringLabel" : "İle başlar", +"containsDataGridFilteringLabel" : "içerir", +"doesNotBeginWithDataGridFilteringLabel" : "İle Başlamıyor", +"doesNotContainDataGridFilteringLabel" : "İçermiyor", +"doesNotEndWithDataGridFilteringLabel" : "ile bitmiyor", +"doesNotEqualDataGridFilteringLabel" : "Eşit değil", +"emptyDataGridFilteringLabel" : "Boş", +"endsWithDataGridFilteringLabel" : "ile biter", +"equalsDataGridFilteringLabel" : "eşittir", +"greaterThanDataGridFilteringLabel" : "Daha büyük", +"greaterThanOrEqualDataGridFilteringLabel" : "Büyüktür veya Eşittir", +"lessThanDataGridFilteringLabel" : "Daha az", +"lessThanOrEqualDataGridFilteringLabel" : "Az veya eşit", +"notEmptyDataGridFilteringLabel" : "Boş değil", +"notNullDataGridFilteringLabel" : "Geçersiz değil", +"nullDataGridFilteringLabel" : "Hükümsüz", +"sortSmallestToLargestDataGridFilteringLabel" : "Küçükten Büyüğe Sırala", +"sortLargestToSmallestDataGridFilteringLabel" : "Büyükten Küçüğe Sırala", +"sortAToZDataGridFilteringLabel" : "A'dan Z'ye Sırala", +"sortZToADataGridFilteringLabel" : "Z'den A'ya Sırala", +"sortOldestToNewestDataGridFilteringLabel" : "Eskiden Yeniye Sırala", +"sortNewestToOldestDataGridFilteringLabel" : "Yeniden En Eskiye Sırala", +"textFiltersDataGridFilteringLabel" : "Metin Filtreleri", +"numberFiltersDataGridFilteringLabel" : "Sayı Filtreleri", +"dateFiltersDataGridFilteringLabel" : "Tarih Filtreleri", +"searchDataGridFilteringLabel" : "Arama", +"noMatchesDataGridFilteringLabel" : "Eşleşme yok", +"okDataGridFilteringLabel" : "TAMAM", +"cancelDataGridFilteringLabel" : "İptal", +"showRowsWhereDataGridFilteringLabel" : "satırları göster", +"andDataGridFilteringLabel" : "Ve", +"orDataGridFilteringLabel" : "Veya", +"selectAllDataGridFilteringLabel" : "Hepsini seç", +"sortAndFilterDataGridFilteringLabel" : "Sırala ve Filtrele", +"clearFilterDataGridFilteringLabel" : "Temiz filtre", +"fromDataGridFilteringLabel" : "İtibaren" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_uk.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_uk.arb index 657ef6ba0..0ac68d91b 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_uk.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_uk.arb @@ -1,6 +1,6 @@ { -"noSelectedDateCalendarLabel" : "Немає вибраної дати", -"noEventsCalendarLabel" : "Жодних подій", +"noSelectedDateCalendarLabel" : "Дата не вибрана", +"noEventsCalendarLabel" : "Подій немає", "ofDataPagerLabel" : "з", "pagesDataPagerLabel" : "сторінки", "rowsPerPageDataPagerLabel" : "Рядків на сторінці", @@ -9,55 +9,95 @@ "pdfScrollStatusOfLabel" : "з", "pdfGoToPageLabel" : "Перейти на сторінку", "pdfEnterPageNumberLabel" : "Введіть номер сторінки", -"pdfInvalidPageNumberLabel" : "Введіть дійсне число", -"pdfPaginationDialogOkLabel" : "гаразд", +"pdfInvalidPageNumberLabel" : "Введіть дійсний номер", +"pdfPaginationDialogOkLabel" : "в порядку", "pdfPaginationDialogCancelLabel" : "СКАСУВАТИ", "passwordDialogHeaderTextLabel" : "Захищено паролем", -"passwordDialogContentLabel" : "Введіть пароль, щоб відкрити цей PDF-файл", +"passwordDialogContentLabel" : "Введіть пароль, щоб відкрити цей файл PDF", "passwordDialogHintTextLabel" : "Введіть пароль", -"passwordDialogInvalidPasswordLabel" : "Недійсний пароль", +"passwordDialogInvalidPasswordLabel" : "Невірний пароль", "pdfPasswordDialogOpenLabel" : "ВІДЧИНЕНО", "pdfPasswordDialogCancelLabel" : "СКАСУВАТИ", "allowedViewDayLabel" : "День", "allowedViewWeekLabel" : "тиждень", -"allowedViewWorkWeekLabel" : "Робочий тиждень", -"allowedViewMonthLabel" : "Місяць", -"allowedViewScheduleLabel" : "Розклад", +"allowedViewWorkWeekLabel" : "робочий тиждень", +"allowedViewMonthLabel" : "місяць", +"allowedViewScheduleLabel" : "розклад", "allowedViewTimelineDayLabel" : "День хронології", "allowedViewTimelineWeekLabel" : "Тиждень хронології", -"allowedViewTimelineWorkWeekLabel" : "Розклад робочого тижня", -"allowedViewTimelineMonthLabel" : "Хронологічний місяць", +"allowedViewTimelineWorkWeekLabel" : "Графік робочого тижня", +"allowedViewTimelineMonthLabel" : "Місяць хронології", "todayLabel" : "Сьогодні", "weeknumberLabel" : "тиждень", "allDayLabel" : "Весь день", "muharramLabel" : "Мухаррам", "safarLabel" : "Сафар", "rabi1Label" : "Рабі аль-авваль", -"rabi2Label" : "Рабі аль-Тані", +"rabi2Label" : "Рабі аль-тані", "jumada1Label" : "Джумада аль-авваль", -"jumada2Label" : "Джумада аль-Тані", +"jumada2Label" : "Джумада аль-тані", "rajabLabel" : "Раджаб", "shaabanLabel" : "Шаабан", "ramadanLabel" : "Рамадан", -"shawwalLabel" : "Shawwal", +"shawwalLabel" : "Шавваль", "dhualqiLabel" : "Зу аль-Кіда", "dhualhiLabel" : "Зу аль-Хіджа", -"shortMuharramLabel" : "Мух", -"shortSafarLabel" : "Saf.", +"shortMuharramLabel" : "мух", +"shortSafarLabel" : "Саф.", "shortRabi1Label" : "Рабі. я", "shortRabi2Label" : "Рабі. II", -"shortJumada1Label" : "Jum. я", -"shortJumada2Label" : "Jum. II", +"shortJumada1Label" : "стрибати я", +"shortJumada2Label" : "стрибати II", "shortRajabLabel" : "Радж.", "shortShaabanLabel" : "Ша.", "shortRamadanLabel" : "ОЗП.", "shortShawwalLabel" : "Шоу.", -"shortDhualqiLabel" : "Dhu'l-Q", -"shortDhualhiLabel" : "Dhu'l-H", +"shortDhualqiLabel" : "Зу'л-К'ю", +"shortDhualhiLabel" : "Зу'л-Х", "daySpanCountLabel" : "День", "series" : "Серія", -"pdfHyperlinkLabel" : "Відкрийте веб-сторінку", -"pdfHyperlinkContentLabel" : "Бажаєте відкрити сторінку за адресою", +"pdfHyperlinkLabel" : "Відкрити веб-сторінку", +"pdfHyperlinkContentLabel" : "Хочете відкрити сторінку за адресою", "pdfHyperlinkDialogOpenLabel" : "ВІДЧИНЕНО", -"pdfHyperlinkDialogCancelLabel" : "СКАСУВАТИ" +"pdfHyperlinkDialogCancelLabel" : "СКАСУВАТИ", +"afterDataGridFilteringLabel" : "після", +"afterOrEqualDataGridFilteringLabel" : "Після або дорівнює", +"beforeDataGridFilteringLabel" : "До або дорівнює", +"beforeOrEqualDataGridFilteringLabel" : "Раніше", +"beginsWithDataGridFilteringLabel" : "Починається з", +"containsDataGridFilteringLabel" : "Містить", +"doesNotBeginWithDataGridFilteringLabel" : "Не починається з", +"doesNotContainDataGridFilteringLabel" : "Не містить", +"doesNotEndWithDataGridFilteringLabel" : "Не закінчується", +"doesNotEqualDataGridFilteringLabel" : "Не дорівнює", +"emptyDataGridFilteringLabel" : "Порожній", +"endsWithDataGridFilteringLabel" : "Закінчується на", +"equalsDataGridFilteringLabel" : "Дорівнює", +"greaterThanDataGridFilteringLabel" : "Більше, ніж, величніше ніж, крутіший за", +"greaterThanOrEqualDataGridFilteringLabel" : "Більше або дорівнює", +"lessThanDataGridFilteringLabel" : "Менше ніж", +"lessThanOrEqualDataGridFilteringLabel" : "Менше або дорівнює", +"notEmptyDataGridFilteringLabel" : "Не порожній", +"notNullDataGridFilteringLabel" : "Не Null", +"nullDataGridFilteringLabel" : "Нуль", +"sortSmallestToLargestDataGridFilteringLabel" : "Сортування від найменшого до найбільшого", +"sortLargestToSmallestDataGridFilteringLabel" : "Сортування від найбільшого до найменшого", +"sortAToZDataGridFilteringLabel" : "Сортування від А до Я", +"sortZToADataGridFilteringLabel" : "Сортувати від Я до А", +"sortOldestToNewestDataGridFilteringLabel" : "Сортувати від найстарішого до найновішого", +"sortNewestToOldestDataGridFilteringLabel" : "Сортування від найновіших до найстаріших", +"textFiltersDataGridFilteringLabel" : "Текстові фільтри", +"numberFiltersDataGridFilteringLabel" : "Числові фільтри", +"dateFiltersDataGridFilteringLabel" : "Фільтри дати", +"searchDataGridFilteringLabel" : "Пошук", +"noMatchesDataGridFilteringLabel" : "Немає збігів", +"okDataGridFilteringLabel" : "в порядку", +"cancelDataGridFilteringLabel" : "Скасувати", +"showRowsWhereDataGridFilteringLabel" : "Показати рядки, де", +"andDataGridFilteringLabel" : "І", +"orDataGridFilteringLabel" : "Або", +"selectAllDataGridFilteringLabel" : "Вибрати все", +"sortAndFilterDataGridFilteringLabel" : "Сортування та фільтр", +"clearFilterDataGridFilteringLabel" : "Очистити фільтр", +"fromDataGridFilteringLabel" : "Від" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ur.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ur.arb index 984c0e6d8..73a33d0ce 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ur.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_ur.arb @@ -1,12 +1,12 @@ { "noSelectedDateCalendarLabel" : "کوئی تاریخ منتخب نہیں ہے۔", "noEventsCalendarLabel" : "کوئی واقعات نہیں۔", -"ofDataPagerLabel" : "کا", +"ofDataPagerLabel" : "کی", "pagesDataPagerLabel" : "صفحات", "rowsPerPageDataPagerLabel" : "قطار فی صفحہ", "pdfBookmarksLabel" : "بک مارکس", "pdfNoBookmarksLabel" : "کوئی بک مارکس نہیں ملے", -"pdfScrollStatusOfLabel" : "کا", +"pdfScrollStatusOfLabel" : "کی", "pdfGoToPageLabel" : "صفحے پر جائیں", "pdfEnterPageNumberLabel" : "صفحہ نمبر درج کریں۔", "pdfInvalidPageNumberLabel" : "براہ مہربانی ایک درست نمبر درج کریں", @@ -16,7 +16,7 @@ "passwordDialogContentLabel" : "اس پی ڈی ایف فائل کو کھولنے کے لیے پاس ورڈ درج کریں۔", "passwordDialogHintTextLabel" : "پاس ورڈ درج کریں", "passwordDialogInvalidPasswordLabel" : "غلط پاسورڈ", -"pdfPasswordDialogOpenLabel" : "کھولیں", +"pdfPasswordDialogOpenLabel" : "کھولیں۔", "pdfPasswordDialogCancelLabel" : "منسوخ کریں۔", "allowedViewDayLabel" : "دن", "allowedViewWeekLabel" : "ہفتہ", @@ -58,6 +58,46 @@ "series" : "سلسلہ", "pdfHyperlinkLabel" : "ویب صفحہ کھولیں۔", "pdfHyperlinkContentLabel" : "کیا آپ صفحہ کو کھولنا چاہتے ہیں۔", -"pdfHyperlinkDialogOpenLabel" : "کھولیں", -"pdfHyperlinkDialogCancelLabel" : "منسوخ کریں۔" +"pdfHyperlinkDialogOpenLabel" : "کھولیں۔", +"pdfHyperlinkDialogCancelLabel" : "منسوخ کریں۔", +"afterDataGridFilteringLabel" : "کے بعد", +"afterOrEqualDataGridFilteringLabel" : "کے بعد یا برابر", +"beforeDataGridFilteringLabel" : "پہلے یا برابر", +"beforeOrEqualDataGridFilteringLabel" : "اس سے پہلے", +"beginsWithDataGridFilteringLabel" : "سے شروع ہوتا ہے۔", +"containsDataGridFilteringLabel" : "مشتمل", +"doesNotBeginWithDataGridFilteringLabel" : "سے شروع نہیں ہوتا", +"doesNotContainDataGridFilteringLabel" : "پر مشتمل نہیں ہے۔", +"doesNotEndWithDataGridFilteringLabel" : "کے ساتھ ختم نہیں ہوتا", +"doesNotEqualDataGridFilteringLabel" : "برابر نہیں ہے۔", +"emptyDataGridFilteringLabel" : "خالی", +"endsWithDataGridFilteringLabel" : "کے ساتھ ختم ہوتا ہے۔", +"equalsDataGridFilteringLabel" : "برابر ہے۔", +"greaterThanDataGridFilteringLabel" : "اس سے بڑا", +"greaterThanOrEqualDataGridFilteringLabel" : "اس سے بڑا یا برابر", +"lessThanDataGridFilteringLabel" : "سے کم", +"lessThanOrEqualDataGridFilteringLabel" : "اس سے کم یا برابر", +"notEmptyDataGridFilteringLabel" : "خالی نہیں۔", +"notNullDataGridFilteringLabel" : "کالعدم نہیں۔", +"nullDataGridFilteringLabel" : "خالی", +"sortSmallestToLargestDataGridFilteringLabel" : "چھانٹیں سب سے چھوٹی سے بڑی", +"sortLargestToSmallestDataGridFilteringLabel" : "چھانٹیں بڑے سے چھوٹے", +"sortAToZDataGridFilteringLabel" : "A سے Z ترتیب دیں۔", +"sortZToADataGridFilteringLabel" : "Z سے ​​A ترتیب دیں۔", +"sortOldestToNewestDataGridFilteringLabel" : "سب سے قدیم سے تازہ ترین ترتیب دیں۔", +"sortNewestToOldestDataGridFilteringLabel" : "تازہ ترین سے قدیم ترین ترتیب دیں۔", +"textFiltersDataGridFilteringLabel" : "ٹیکسٹ فلٹرز", +"numberFiltersDataGridFilteringLabel" : "نمبر فلٹرز", +"dateFiltersDataGridFilteringLabel" : "تاریخ کے فلٹرز", +"searchDataGridFilteringLabel" : "تلاش کریں۔", +"noMatchesDataGridFilteringLabel" : "کوئی میچ نہیں", +"okDataGridFilteringLabel" : "ٹھیک ہے", +"cancelDataGridFilteringLabel" : "منسوخ کریں۔", +"showRowsWhereDataGridFilteringLabel" : "قطاریں دکھائیں جہاں", +"andDataGridFilteringLabel" : "اور", +"orDataGridFilteringLabel" : "یا", +"selectAllDataGridFilteringLabel" : "تمام منتخب کریں", +"sortAndFilterDataGridFilteringLabel" : "ترتیب دیں اور فلٹر کریں۔", +"clearFilterDataGridFilteringLabel" : "فلٹر صاف کریں۔", +"fromDataGridFilteringLabel" : "سے" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_uz.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_uz.arb index f410e7aba..18db8fe05 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_uz.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_uz.arb @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Veb-sahifani oching", "pdfHyperlinkContentLabel" : "sahifani ochmoqchimisiz", "pdfHyperlinkDialogOpenLabel" : "OCHIQ", -"pdfHyperlinkDialogCancelLabel" : "BEKOR" +"pdfHyperlinkDialogCancelLabel" : "BEKOR", +"afterDataGridFilteringLabel" : "Keyin", +"afterOrEqualDataGridFilteringLabel" : "Keyin yoki teng", +"beforeDataGridFilteringLabel" : "Oldin yoki teng", +"beforeOrEqualDataGridFilteringLabel" : "Oldin", +"beginsWithDataGridFilteringLabel" : "Bilan boshlanadi", +"containsDataGridFilteringLabel" : "Tarkibida", +"doesNotBeginWithDataGridFilteringLabel" : "Bilan boshlanmaydi", +"doesNotContainDataGridFilteringLabel" : "Tarkibiga kirmaydi", +"doesNotEndWithDataGridFilteringLabel" : "Bilan tugamaydi", +"doesNotEqualDataGridFilteringLabel" : "Teng emas", +"emptyDataGridFilteringLabel" : "Bo'sh", +"endsWithDataGridFilteringLabel" : "Bilan tugaydi", +"equalsDataGridFilteringLabel" : "Teng", +"greaterThanDataGridFilteringLabel" : "Kattaroq", +"greaterThanOrEqualDataGridFilteringLabel" : "Kattaroq yoki teng", +"lessThanDataGridFilteringLabel" : "Kamroq", +"lessThanOrEqualDataGridFilteringLabel" : "Kichik yoki teng", +"notEmptyDataGridFilteringLabel" : "Bo'sh emas", +"notNullDataGridFilteringLabel" : "Null emas", +"nullDataGridFilteringLabel" : "Null", +"sortSmallestToLargestDataGridFilteringLabel" : "Eng kichikdan kattaga saralash", +"sortLargestToSmallestDataGridFilteringLabel" : "Eng kattadan kichikga saralash", +"sortAToZDataGridFilteringLabel" : "A dan Z gacha tartiblang", +"sortZToADataGridFilteringLabel" : "Z dan A ga tartiblang", +"sortOldestToNewestDataGridFilteringLabel" : "Eng eskidan eng yangisiga saralash", +"sortNewestToOldestDataGridFilteringLabel" : "Eng yangidan eng eskiga saralash", +"textFiltersDataGridFilteringLabel" : "Matn filtrlari", +"numberFiltersDataGridFilteringLabel" : "Raqamli filtrlar", +"dateFiltersDataGridFilteringLabel" : "Sana filtrlari", +"searchDataGridFilteringLabel" : "Qidirmoq", +"noMatchesDataGridFilteringLabel" : "Mos kelmaydi", +"okDataGridFilteringLabel" : "OK", +"cancelDataGridFilteringLabel" : "Bekor qilish", +"showRowsWhereDataGridFilteringLabel" : "Qaerda qatorlarni ko'rsatish", +"andDataGridFilteringLabel" : "Va", +"orDataGridFilteringLabel" : "Yoki", +"selectAllDataGridFilteringLabel" : "Hammasini belgilash", +"sortAndFilterDataGridFilteringLabel" : "Saralash va filtrlash", +"clearFilterDataGridFilteringLabel" : "Filtrni tozalash", +"fromDataGridFilteringLabel" : "Kimdan" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_vi.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_vi.arb index 84cccc529..6adcfcc08 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_vi.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_vi.arb @@ -5,12 +5,12 @@ "pagesDataPagerLabel" : "trang", "rowsPerPageDataPagerLabel" : "Hàng trên mỗi trang", "pdfBookmarksLabel" : "Dấu trang", -"pdfNoBookmarksLabel" : "Không tìm thấy dấu trang", +"pdfNoBookmarksLabel" : "Không tìm thấy dấu trang nào", "pdfScrollStatusOfLabel" : "của", "pdfGoToPageLabel" : "Đi tới trang", "pdfEnterPageNumberLabel" : "Nhập số trang", "pdfInvalidPageNumberLabel" : "Vui lòng nhập một số hợp lệ", -"pdfPaginationDialogOkLabel" : "VÂNG", +"pdfPaginationDialogOkLabel" : "ĐƯỢC RỒI", "pdfPaginationDialogCancelLabel" : "SỰ HỦY BỎ", "passwordDialogHeaderTextLabel" : "Mật khẩu được bảo vệ", "passwordDialogContentLabel" : "Nhập mật khẩu để mở tệp PDF này", @@ -23,41 +23,81 @@ "allowedViewWorkWeekLabel" : "Tuần làm việc", "allowedViewMonthLabel" : "Tháng", "allowedViewScheduleLabel" : "Lịch trình", -"allowedViewTimelineDayLabel" : "Ngày dòng thời gian", -"allowedViewTimelineWeekLabel" : "Dòng thời gian trong tuần", -"allowedViewTimelineWorkWeekLabel" : "Dòng thời gian làm việc trong tuần", +"allowedViewTimelineDayLabel" : "Dòng thời gian ngày", +"allowedViewTimelineWeekLabel" : "Dòng thời gian Tuần", +"allowedViewTimelineWorkWeekLabel" : "Thời gian biểu Tuần làm việc", "allowedViewTimelineMonthLabel" : "Dòng thời gian Tháng", "todayLabel" : "Hôm nay", "weeknumberLabel" : "Tuần", "allDayLabel" : "Cả ngày", "muharramLabel" : "Muharram", -"safarLabel" : "Safar", -"rabi1Label" : "Rabi 'al-awwal", -"rabi2Label" : "Rabi 'al-thani", +"safarLabel" : "safar", +"rabi1Label" : "Rabi' al-awwal", +"rabi2Label" : "Rabi' al-thani", "jumada1Label" : "Jumada al-awwal", "jumada2Label" : "Jumada al-thani", "rajabLabel" : "Rajab", "shaabanLabel" : "Sha'aban", -"ramadanLabel" : "Ramadan", +"ramadanLabel" : "lễ ramadan", "shawwalLabel" : "Shawwal", "dhualqiLabel" : "Dhu al-Qi'dah", "dhualhiLabel" : "Dhu al-Hijjah", -"shortMuharramLabel" : "Ờ.", -"shortSafarLabel" : "Két sắt.", -"shortRabi1Label" : "Rabi. tôi", +"shortMuharramLabel" : "ừm.", +"shortSafarLabel" : "an toàn.", +"shortRabi1Label" : "Rabi. Tôi", "shortRabi2Label" : "Rabi. II", -"shortJumada1Label" : "Jum. tôi", +"shortJumada1Label" : "Jum. Tôi", "shortJumada2Label" : "Jum. II", "shortRajabLabel" : "Raj.", "shortShaabanLabel" : "Sha.", -"shortRamadanLabel" : "Ram.", +"shortRamadanLabel" : "Đập.", "shortShawwalLabel" : "Shaw.", "shortDhualqiLabel" : "Dhu'l-Q", "shortDhualhiLabel" : "Dhu'l-H", "daySpanCountLabel" : "Ngày", -"series" : "Hàng loạt", +"series" : "Loạt", "pdfHyperlinkLabel" : "Mở trang web", -"pdfHyperlinkContentLabel" : "Bạn có muốn mở trang này tại", +"pdfHyperlinkContentLabel" : "Bạn có muốn mở trang tại", "pdfHyperlinkDialogOpenLabel" : "MỞ", -"pdfHyperlinkDialogCancelLabel" : "SỰ HỦY BỎ" +"pdfHyperlinkDialogCancelLabel" : "SỰ HỦY BỎ", +"afterDataGridFilteringLabel" : "Sau", +"afterOrEqualDataGridFilteringLabel" : "Sau Hoặc Bằng", +"beforeDataGridFilteringLabel" : "Trước Hoặc Bằng", +"beforeOrEqualDataGridFilteringLabel" : "Trước", +"beginsWithDataGridFilteringLabel" : "Bắt đầu với", +"containsDataGridFilteringLabel" : "Chứa", +"doesNotBeginWithDataGridFilteringLabel" : "không bắt đầu bằng", +"doesNotContainDataGridFilteringLabel" : "Không chứa", +"doesNotEndWithDataGridFilteringLabel" : "không kết thúc với", +"doesNotEqualDataGridFilteringLabel" : "không bằng", +"emptyDataGridFilteringLabel" : "Trống rỗng", +"endsWithDataGridFilteringLabel" : "kết thúc với", +"equalsDataGridFilteringLabel" : "bằng", +"greaterThanDataGridFilteringLabel" : "Lớn hơn", +"greaterThanOrEqualDataGridFilteringLabel" : "Lớn hơn hoặc bằng", +"lessThanDataGridFilteringLabel" : "Ít hơn", +"lessThanOrEqualDataGridFilteringLabel" : "Nhỏ hơn hoặc bằng", +"notEmptyDataGridFilteringLabel" : "Không trống", +"notNullDataGridFilteringLabel" : "Có giá trị", +"nullDataGridFilteringLabel" : "Vô giá trị", +"sortSmallestToLargestDataGridFilteringLabel" : "Sắp xếp từ nhỏ nhất đến lớn nhất", +"sortLargestToSmallestDataGridFilteringLabel" : "Sắp xếp lớn nhất đến nhỏ nhất", +"sortAToZDataGridFilteringLabel" : "Sắp xếp từ A đến Z", +"sortZToADataGridFilteringLabel" : "Sắp xếp từ Z đến A", +"sortOldestToNewestDataGridFilteringLabel" : "Sắp xếp Cũ nhất đến Mới nhất", +"sortNewestToOldestDataGridFilteringLabel" : "Sắp xếp mới nhất đến cũ nhất", +"textFiltersDataGridFilteringLabel" : "Bộ lọc văn bản", +"numberFiltersDataGridFilteringLabel" : "Bộ lọc số", +"dateFiltersDataGridFilteringLabel" : "Bộ lọc ngày", +"searchDataGridFilteringLabel" : "Tìm kiếm", +"noMatchesDataGridFilteringLabel" : "Không có trận đấu", +"okDataGridFilteringLabel" : "ĐƯỢC RỒI", +"cancelDataGridFilteringLabel" : "Hủy bỏ", +"showRowsWhereDataGridFilteringLabel" : "Hiển thị các hàng ở đâu", +"andDataGridFilteringLabel" : "Và", +"orDataGridFilteringLabel" : "Hoặc", +"selectAllDataGridFilteringLabel" : "Chọn tất cả", +"sortAndFilterDataGridFilteringLabel" : "Sắp xếp và lọc", +"clearFilterDataGridFilteringLabel" : "LÀm sạch bộ lọc", +"fromDataGridFilteringLabel" : "Từ" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_zh.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_zh.arb index 35d4af465..7f264153d 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_zh.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_zh.arb @@ -1,11 +1,11 @@ { -"noSelectedDateCalendarLabel" : "未选择日期", -"noEventsCalendarLabel" : "没有事件", +"noSelectedDateCalendarLabel" : "没有选择日期", +"noEventsCalendarLabel" : "没有活动", "ofDataPagerLabel" : "的", -"pagesDataPagerLabel" : "页面", +"pagesDataPagerLabel" : "页数", "rowsPerPageDataPagerLabel" : "每页行数", "pdfBookmarksLabel" : "书签", -"pdfNoBookmarksLabel" : "未找到书签", +"pdfNoBookmarksLabel" : "找不到书签", "pdfScrollStatusOfLabel" : "的", "pdfGoToPageLabel" : "转到页面", "pdfEnterPageNumberLabel" : "输入页码", @@ -13,51 +13,91 @@ "pdfPaginationDialogOkLabel" : "好的", "pdfPaginationDialogCancelLabel" : "取消", "passwordDialogHeaderTextLabel" : "密码保护", -"passwordDialogContentLabel" : "输入密码以打开此 PDF 文件", +"passwordDialogContentLabel" : "输入密码打开此 PDF 文件", "passwordDialogHintTextLabel" : "输入密码", "passwordDialogInvalidPasswordLabel" : "无效的密码", "pdfPasswordDialogOpenLabel" : "打开", "pdfPasswordDialogCancelLabel" : "取消", -"allowedViewDayLabel" : "日", +"allowedViewDayLabel" : "天", "allowedViewWeekLabel" : "星期", "allowedViewWorkWeekLabel" : "工作周", "allowedViewMonthLabel" : "月", "allowedViewScheduleLabel" : "日程", -"allowedViewTimelineDayLabel" : "时间表日", +"allowedViewTimelineDayLabel" : "时间轴日", "allowedViewTimelineWeekLabel" : "时间线周", "allowedViewTimelineWorkWeekLabel" : "时间表工作周", -"allowedViewTimelineMonthLabel" : "时间线月份", +"allowedViewTimelineMonthLabel" : "时间表月份", "todayLabel" : "今天", "weeknumberLabel" : "星期", "allDayLabel" : "一整天", -"muharramLabel" : "穆哈拉姆", +"muharramLabel" : "回历", "safarLabel" : "萨法尔", -"rabi1Label" : "拉比奥瓦尔", +"rabi1Label" : "拉比·奥瓦尔", "rabi2Label" : "拉比阿勒萨尼", -"jumada1Label" : "胡玛达·奥瓦尔", -"jumada2Label" : "朱马达·萨尼", -"rajabLabel" : "拉贾布", +"jumada1Label" : "朱马达·阿瓦瓦尔", +"jumada2Label" : "祖玛达·阿萨尼", +"rajabLabel" : "拉杰卜", "shaabanLabel" : "沙班", "ramadanLabel" : "斋月", "shawwalLabel" : "肖瓦尔", -"dhualqiLabel" : "杜阿尔-基达", -"dhualhiLabel" : "杜哈杰", +"dhualqiLabel" : "Dhu al-Qi'dah", +"dhualhiLabel" : "Dhu al-Hijjah", "shortMuharramLabel" : "嗯。", "shortSafarLabel" : "安全。", -"shortRabi1Label" : "拉比。一世", +"shortRabi1Label" : "拉比。我", "shortRabi2Label" : "拉比。二", -"shortJumada1Label" : "朱姆。一世", -"shortJumada2Label" : "朱姆。二", +"shortJumada1Label" : "滚。我", +"shortJumada2Label" : "滚。二", "shortRajabLabel" : "拉吉。", "shortShaabanLabel" : "沙。", "shortRamadanLabel" : "内存。", "shortShawwalLabel" : "肖。", -"shortDhualqiLabel" : "杜尔-Q", -"shortDhualhiLabel" : "杜尔-H", -"daySpanCountLabel" : "日", +"shortDhualqiLabel" : "Dhu'l-Q", +"shortDhualhiLabel" : "Dhu'l-H", +"daySpanCountLabel" : "天", "series" : "系列", "pdfHyperlinkLabel" : "打开网页", -"pdfHyperlinkContentLabel" : "您要在以下位置打开页面吗", +"pdfHyperlinkContentLabel" : "你想打开页面吗", "pdfHyperlinkDialogOpenLabel" : "打开", -"pdfHyperlinkDialogCancelLabel" : "取消" +"pdfHyperlinkDialogCancelLabel" : "取消", +"afterDataGridFilteringLabel" : "后", +"afterOrEqualDataGridFilteringLabel" : "等于或之后", +"beforeDataGridFilteringLabel" : "早于或等于", +"beforeOrEqualDataGridFilteringLabel" : "前", +"beginsWithDataGridFilteringLabel" : "开始于", +"containsDataGridFilteringLabel" : "包含", +"doesNotBeginWithDataGridFilteringLabel" : "不以开头", +"doesNotContainDataGridFilteringLabel" : "不含", +"doesNotEndWithDataGridFilteringLabel" : "不结束于", +"doesNotEqualDataGridFilteringLabel" : "不等于", +"emptyDataGridFilteringLabel" : "空的", +"endsWithDataGridFilteringLabel" : "以。。结束", +"equalsDataGridFilteringLabel" : "等于", +"greaterThanDataGridFilteringLabel" : "比...更棒", +"greaterThanOrEqualDataGridFilteringLabel" : "大于或等于", +"lessThanDataGridFilteringLabel" : "少于", +"lessThanOrEqualDataGridFilteringLabel" : "小于或等于", +"notEmptyDataGridFilteringLabel" : "不是空的", +"notNullDataGridFilteringLabel" : "不为空", +"nullDataGridFilteringLabel" : "无效的", +"sortSmallestToLargestDataGridFilteringLabel" : "从小到大排序", +"sortLargestToSmallestDataGridFilteringLabel" : "从大到小排序", +"sortAToZDataGridFilteringLabel" : "从 A 到 Z 排序", +"sortZToADataGridFilteringLabel" : "将 Z 排序为 A", +"sortOldestToNewestDataGridFilteringLabel" : "从旧到新排序", +"sortNewestToOldestDataGridFilteringLabel" : "从最新到最旧排序", +"textFiltersDataGridFilteringLabel" : "文本过滤器", +"numberFiltersDataGridFilteringLabel" : "数字过滤器", +"dateFiltersDataGridFilteringLabel" : "日期过滤器", +"searchDataGridFilteringLabel" : "搜索", +"noMatchesDataGridFilteringLabel" : "无匹配", +"okDataGridFilteringLabel" : "好的", +"cancelDataGridFilteringLabel" : "取消", +"showRowsWhereDataGridFilteringLabel" : "显示行在哪里", +"andDataGridFilteringLabel" : "和", +"orDataGridFilteringLabel" : "或者", +"selectAllDataGridFilteringLabel" : "全选", +"sortAndFilterDataGridFilteringLabel" : "排序和过滤", +"clearFilterDataGridFilteringLabel" : "清除过滤器", +"fromDataGridFilteringLabel" : "从" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_zh_HK.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_zh_HK.arb index fa755bccd..91de6e83d 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_zh_HK.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_zh_HK.arb @@ -1,63 +1,103 @@ { -"noSelectedDateCalendarLabel" : "未選擇日期", -"noEventsCalendarLabel" : "沒有事件", +"noSelectedDateCalendarLabel" : "沒有選擇日期", +"noEventsCalendarLabel" : "沒有活動", "ofDataPagerLabel" : "的", -"pagesDataPagerLabel" : "頁面", +"pagesDataPagerLabel" : "頁數", "rowsPerPageDataPagerLabel" : "每頁行數", "pdfBookmarksLabel" : "書籤", -"pdfNoBookmarksLabel" : "未找到書籤", +"pdfNoBookmarksLabel" : "找不到書籤", "pdfScrollStatusOfLabel" : "的", "pdfGoToPageLabel" : "轉到頁面", "pdfEnterPageNumberLabel" : "輸入頁碼", -"pdfInvalidPageNumberLabel" : "請輸入有效號碼", +"pdfInvalidPageNumberLabel" : "請輸入有效號碼", "pdfPaginationDialogOkLabel" : "好的", "pdfPaginationDialogCancelLabel" : "取消", "passwordDialogHeaderTextLabel" : "密碼保護", -"passwordDialogContentLabel" : "輸入密碼以打開此 PDF 文件", +"passwordDialogContentLabel" : "輸入密碼打開此 PDF 文件", "passwordDialogHintTextLabel" : "輸入密碼", "passwordDialogInvalidPasswordLabel" : "無效的密碼", "pdfPasswordDialogOpenLabel" : "打開", "pdfPasswordDialogCancelLabel" : "取消", -"allowedViewDayLabel" : "日", +"allowedViewDayLabel" : "天", "allowedViewWeekLabel" : "星期", "allowedViewWorkWeekLabel" : "工作週", "allowedViewMonthLabel" : "月", "allowedViewScheduleLabel" : "日程", -"allowedViewTimelineDayLabel" : "時間表日", +"allowedViewTimelineDayLabel" : "時間軸日", "allowedViewTimelineWeekLabel" : "時間線週", "allowedViewTimelineWorkWeekLabel" : "時間表工作週", -"allowedViewTimelineMonthLabel" : "時間線月份", +"allowedViewTimelineMonthLabel" : "時間表月份", "todayLabel" : "今天", "weeknumberLabel" : "星期", "allDayLabel" : "一整天", -"muharramLabel" : "穆哈拉姆", +"muharramLabel" : "回曆", "safarLabel" : "薩法爾", -"rabi1Label" : "拉比奧瓦爾", +"rabi1Label" : "拉比·奧瓦爾", "rabi2Label" : "拉比阿勒薩尼", -"jumada1Label" : "胡瑪達·奧瓦爾", -"jumada2Label" : "朱馬達·薩尼", -"rajabLabel" : "拉賈布", +"jumada1Label" : "朱馬達·阿瓦瓦爾", +"jumada2Label" : "祖瑪達·阿薩尼", +"rajabLabel" : "拉傑卜", "shaabanLabel" : "沙班", "ramadanLabel" : "齋月", "shawwalLabel" : "肖瓦爾", -"dhualqiLabel" : "杜阿爾-基達", -"dhualhiLabel" : "杜哈傑", +"dhualqiLabel" : "Dhu al-Qi'dah", +"dhualhiLabel" : "Dhu al-Hijjah", "shortMuharramLabel" : "嗯。", "shortSafarLabel" : "安全。", -"shortRabi1Label" : "拉比。一世", +"shortRabi1Label" : "拉比。我", "shortRabi2Label" : "拉比。二", -"shortJumada1Label" : "朱姆。一世", -"shortJumada2Label" : "朱姆。二", +"shortJumada1Label" : "滾。我", +"shortJumada2Label" : "滾。二", "shortRajabLabel" : "拉吉。", "shortShaabanLabel" : "沙。", "shortRamadanLabel" : "內存。", "shortShawwalLabel" : "肖。", -"shortDhualqiLabel" : "杜爾-Q", -"shortDhualhiLabel" : "杜爾-H", -"daySpanCountLabel" : "日", +"shortDhualqiLabel" : "Dhu'l-Q", +"shortDhualhiLabel" : "Dhu'l-H", +"daySpanCountLabel" : "天", "series" : "系列", "pdfHyperlinkLabel" : "打開網頁", -"pdfHyperlinkContentLabel" : "您要在以下位置打開頁面嗎", +"pdfHyperlinkContentLabel" : "你想打開頁面嗎", "pdfHyperlinkDialogOpenLabel" : "打開", -"pdfHyperlinkDialogCancelLabel" : "取消" +"pdfHyperlinkDialogCancelLabel" : "取消", +"afterDataGridFilteringLabel" : "後", +"afterOrEqualDataGridFilteringLabel" : "等於或之後", +"beforeDataGridFilteringLabel" : "早於或等於", +"beforeOrEqualDataGridFilteringLabel" : "前", +"beginsWithDataGridFilteringLabel" : "開始於", +"containsDataGridFilteringLabel" : "包含", +"doesNotBeginWithDataGridFilteringLabel" : "不以開頭", +"doesNotContainDataGridFilteringLabel" : "不含", +"doesNotEndWithDataGridFilteringLabel" : "不結束於", +"doesNotEqualDataGridFilteringLabel" : "不等於", +"emptyDataGridFilteringLabel" : "空的", +"endsWithDataGridFilteringLabel" : "以。。結束", +"equalsDataGridFilteringLabel" : "等於", +"greaterThanDataGridFilteringLabel" : "比...更棒", +"greaterThanOrEqualDataGridFilteringLabel" : "大於或等於", +"lessThanDataGridFilteringLabel" : "少於", +"lessThanOrEqualDataGridFilteringLabel" : "小於或等於", +"notEmptyDataGridFilteringLabel" : "不是空的", +"notNullDataGridFilteringLabel" : "不為空", +"nullDataGridFilteringLabel" : "無效的", +"sortSmallestToLargestDataGridFilteringLabel" : "從小到大排序", +"sortLargestToSmallestDataGridFilteringLabel" : "從大到小排序", +"sortAToZDataGridFilteringLabel" : "從 A 到 Z 排序", +"sortZToADataGridFilteringLabel" : "將 Z 排序為 A", +"sortOldestToNewestDataGridFilteringLabel" : "從舊到新排序", +"sortNewestToOldestDataGridFilteringLabel" : "從最新到最舊排序", +"textFiltersDataGridFilteringLabel" : "文本過濾器", +"numberFiltersDataGridFilteringLabel" : "數字過濾器", +"dateFiltersDataGridFilteringLabel" : "日期過濾器", +"searchDataGridFilteringLabel" : "搜索", +"noMatchesDataGridFilteringLabel" : "無匹配", +"okDataGridFilteringLabel" : "好的", +"cancelDataGridFilteringLabel" : "取消", +"showRowsWhereDataGridFilteringLabel" : "顯示行在哪裡", +"andDataGridFilteringLabel" : "和", +"orDataGridFilteringLabel" : "或者", +"selectAllDataGridFilteringLabel" : "全選", +"sortAndFilterDataGridFilteringLabel" : "排序和過濾", +"clearFilterDataGridFilteringLabel" : "清除過濾器", +"fromDataGridFilteringLabel" : "從" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_zh_TW.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_zh_TW.arb index f231f69d5..91de6e83d 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_zh_TW.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_zh_TW.arb @@ -1,63 +1,103 @@ { -"noSelectedDateCalendarLabel" : "未選擇日期", -"noEventsCalendarLabel" : "沒有事件", +"noSelectedDateCalendarLabel" : "沒有選擇日期", +"noEventsCalendarLabel" : "沒有活動", "ofDataPagerLabel" : "的", -"pagesDataPagerLabel" : "頁面", +"pagesDataPagerLabel" : "頁數", "rowsPerPageDataPagerLabel" : "每頁行數", "pdfBookmarksLabel" : "書籤", -"pdfNoBookmarksLabel" : "未找到書籤", +"pdfNoBookmarksLabel" : "找不到書籤", "pdfScrollStatusOfLabel" : "的", "pdfGoToPageLabel" : "轉到頁面", "pdfEnterPageNumberLabel" : "輸入頁碼", -"pdfInvalidPageNumberLabel" : "請輸入有效號碼", +"pdfInvalidPageNumberLabel" : "請輸入有效號碼", "pdfPaginationDialogOkLabel" : "好的", "pdfPaginationDialogCancelLabel" : "取消", "passwordDialogHeaderTextLabel" : "密碼保護", -"passwordDialogContentLabel" : "輸入密碼以打開此 PDF 文件", +"passwordDialogContentLabel" : "輸入密碼打開此 PDF 文件", "passwordDialogHintTextLabel" : "輸入密碼", "passwordDialogInvalidPasswordLabel" : "無效的密碼", "pdfPasswordDialogOpenLabel" : "打開", "pdfPasswordDialogCancelLabel" : "取消", -"allowedViewDayLabel" : "日", +"allowedViewDayLabel" : "天", "allowedViewWeekLabel" : "星期", "allowedViewWorkWeekLabel" : "工作週", "allowedViewMonthLabel" : "月", "allowedViewScheduleLabel" : "日程", -"allowedViewTimelineDayLabel" : "時間表日", +"allowedViewTimelineDayLabel" : "時間軸日", "allowedViewTimelineWeekLabel" : "時間線週", "allowedViewTimelineWorkWeekLabel" : "時間表工作週", -"allowedViewTimelineMonthLabel" : "時間線月份", +"allowedViewTimelineMonthLabel" : "時間表月份", "todayLabel" : "今天", "weeknumberLabel" : "星期", "allDayLabel" : "一整天", -"muharramLabel" : "穆哈拉姆", +"muharramLabel" : "回曆", "safarLabel" : "薩法爾", -"rabi1Label" : "拉比奧瓦爾", +"rabi1Label" : "拉比·奧瓦爾", "rabi2Label" : "拉比阿勒薩尼", -"jumada1Label" : "胡瑪達·奧瓦爾", -"jumada2Label" : "朱馬達·薩尼", -"rajabLabel" : "拉賈布", +"jumada1Label" : "朱馬達·阿瓦瓦爾", +"jumada2Label" : "祖瑪達·阿薩尼", +"rajabLabel" : "拉傑卜", "shaabanLabel" : "沙班", "ramadanLabel" : "齋月", "shawwalLabel" : "肖瓦爾", -"dhualqiLabel" : "杜阿爾-基達", -"dhualhiLabel" : "杜哈傑", +"dhualqiLabel" : "Dhu al-Qi'dah", +"dhualhiLabel" : "Dhu al-Hijjah", "shortMuharramLabel" : "嗯。", "shortSafarLabel" : "安全。", -"shortRabi1Label" : "拉比。一世", +"shortRabi1Label" : "拉比。我", "shortRabi2Label" : "拉比。二", -"shortJumada1Label" : "朱姆。一世", -"shortJumada2Label" : "朱姆。二", +"shortJumada1Label" : "滾。我", +"shortJumada2Label" : "滾。二", "shortRajabLabel" : "拉吉。", "shortShaabanLabel" : "沙。", "shortRamadanLabel" : "內存。", "shortShawwalLabel" : "肖。", -"shortDhualqiLabel" : "杜爾-Q", -"shortDhualhiLabel" : "杜爾-H", -"daySpanCountLabel" : "日", +"shortDhualqiLabel" : "Dhu'l-Q", +"shortDhualhiLabel" : "Dhu'l-H", +"daySpanCountLabel" : "天", "series" : "系列", "pdfHyperlinkLabel" : "打開網頁", -"pdfHyperlinkContentLabel" : "您要在以下位置打開頁面嗎", +"pdfHyperlinkContentLabel" : "你想打開頁面嗎", "pdfHyperlinkDialogOpenLabel" : "打開", -"pdfHyperlinkDialogCancelLabel" : "取消" +"pdfHyperlinkDialogCancelLabel" : "取消", +"afterDataGridFilteringLabel" : "後", +"afterOrEqualDataGridFilteringLabel" : "等於或之後", +"beforeDataGridFilteringLabel" : "早於或等於", +"beforeOrEqualDataGridFilteringLabel" : "前", +"beginsWithDataGridFilteringLabel" : "開始於", +"containsDataGridFilteringLabel" : "包含", +"doesNotBeginWithDataGridFilteringLabel" : "不以開頭", +"doesNotContainDataGridFilteringLabel" : "不含", +"doesNotEndWithDataGridFilteringLabel" : "不結束於", +"doesNotEqualDataGridFilteringLabel" : "不等於", +"emptyDataGridFilteringLabel" : "空的", +"endsWithDataGridFilteringLabel" : "以。。結束", +"equalsDataGridFilteringLabel" : "等於", +"greaterThanDataGridFilteringLabel" : "比...更棒", +"greaterThanOrEqualDataGridFilteringLabel" : "大於或等於", +"lessThanDataGridFilteringLabel" : "少於", +"lessThanOrEqualDataGridFilteringLabel" : "小於或等於", +"notEmptyDataGridFilteringLabel" : "不是空的", +"notNullDataGridFilteringLabel" : "不為空", +"nullDataGridFilteringLabel" : "無效的", +"sortSmallestToLargestDataGridFilteringLabel" : "從小到大排序", +"sortLargestToSmallestDataGridFilteringLabel" : "從大到小排序", +"sortAToZDataGridFilteringLabel" : "從 A 到 Z 排序", +"sortZToADataGridFilteringLabel" : "將 Z 排序為 A", +"sortOldestToNewestDataGridFilteringLabel" : "從舊到新排序", +"sortNewestToOldestDataGridFilteringLabel" : "從最新到最舊排序", +"textFiltersDataGridFilteringLabel" : "文本過濾器", +"numberFiltersDataGridFilteringLabel" : "數字過濾器", +"dateFiltersDataGridFilteringLabel" : "日期過濾器", +"searchDataGridFilteringLabel" : "搜索", +"noMatchesDataGridFilteringLabel" : "無匹配", +"okDataGridFilteringLabel" : "好的", +"cancelDataGridFilteringLabel" : "取消", +"showRowsWhereDataGridFilteringLabel" : "顯示行在哪裡", +"andDataGridFilteringLabel" : "和", +"orDataGridFilteringLabel" : "或者", +"selectAllDataGridFilteringLabel" : "全選", +"sortAndFilterDataGridFilteringLabel" : "排序和過濾", +"clearFilterDataGridFilteringLabel" : "清除過濾器", +"fromDataGridFilteringLabel" : "從" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_zu.arb b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_zu.arb index 3cba45226..c33f9ad5d 100644 --- a/packages/syncfusion_localizations/lib/src/l10n/syncfusion_zu.arb +++ b/packages/syncfusion_localizations/lib/src/l10n/syncfusion_zu.arb @@ -59,5 +59,45 @@ "pdfHyperlinkLabel" : "Vula Ikhasi Lewebhu", "pdfHyperlinkContentLabel" : "Ingabe ufuna ukuvula ikhasi ku", "pdfHyperlinkDialogOpenLabel" : "VULA", -"pdfHyperlinkDialogCancelLabel" : "KHANSELA" +"pdfHyperlinkDialogCancelLabel" : "KHANSELA", +"afterDataGridFilteringLabel" : "Ngemva", +"afterOrEqualDataGridFilteringLabel" : "Ngemva Noma Ukulingana", +"beforeDataGridFilteringLabel" : "Ngaphambi Noma Ukulingana", +"beforeOrEqualDataGridFilteringLabel" : "Ngaphambili", +"beginsWithDataGridFilteringLabel" : "Iqala Nga", +"containsDataGridFilteringLabel" : "Iqukethe", +"doesNotBeginWithDataGridFilteringLabel" : "Ayiqali Nge", +"doesNotContainDataGridFilteringLabel" : "Ayiqukethe", +"doesNotEndWithDataGridFilteringLabel" : "Akugcini Nge", +"doesNotEqualDataGridFilteringLabel" : "Ayilingani", +"emptyDataGridFilteringLabel" : "Akunalutho", +"endsWithDataGridFilteringLabel" : "Iphetha Nge", +"equalsDataGridFilteringLabel" : "Kuyalingana", +"greaterThanDataGridFilteringLabel" : "Okukhulu Kunokuthi", +"greaterThanOrEqualDataGridFilteringLabel" : "Okukhulu Kunokuba Kulinganayo", +"lessThanDataGridFilteringLabel" : "Ngaphansi kwe", +"lessThanOrEqualDataGridFilteringLabel" : "Ngaphansi Kwanoma Kuyalingana", +"notEmptyDataGridFilteringLabel" : "Akunalutho", +"notNullDataGridFilteringLabel" : "Hhayi Null", +"nullDataGridFilteringLabel" : "Null", +"sortSmallestToLargestDataGridFilteringLabel" : "Hlunga Okuncane Ukuya Kwekhulu Kakhulu", +"sortLargestToSmallestDataGridFilteringLabel" : "Hlunga Okukhulu Kuye Kokuncane Kakhulu", +"sortAToZDataGridFilteringLabel" : "Hlunga A ukuya ku-Z", +"sortZToADataGridFilteringLabel" : "Hlunga u-Z ukuya ku-A", +"sortOldestToNewestDataGridFilteringLabel" : "Hlunga Okudala Kunazo Zonke", +"sortNewestToOldestDataGridFilteringLabel" : "Hlunga Okusha Kwakudala", +"textFiltersDataGridFilteringLabel" : "Izihlungi Zombhalo", +"numberFiltersDataGridFilteringLabel" : "Izihlungi Zezinombolo", +"dateFiltersDataGridFilteringLabel" : "Izihlungi Zedethi", +"searchDataGridFilteringLabel" : "Sesha", +"noMatchesDataGridFilteringLabel" : "Akukho okufanayo", +"okDataGridFilteringLabel" : "KULUNGILE", +"cancelDataGridFilteringLabel" : "Khansela", +"showRowsWhereDataGridFilteringLabel" : "Bonisa imigqa lapho", +"andDataGridFilteringLabel" : "Futhi", +"orDataGridFilteringLabel" : "Noma", +"selectAllDataGridFilteringLabel" : "Khetha konke", +"sortAndFilterDataGridFilteringLabel" : "Hlunga futhi Hlunga", +"clearFilterDataGridFilteringLabel" : "Sula Isihlungi", +"fromDataGridFilteringLabel" : "Kusuka" } \ No newline at end of file diff --git a/packages/syncfusion_localizations/pubspec.yaml b/packages/syncfusion_localizations/pubspec.yaml index 9fe1dce98..5b4096cb9 100644 --- a/packages/syncfusion_localizations/pubspec.yaml +++ b/packages/syncfusion_localizations/pubspec.yaml @@ -4,13 +4,18 @@ version: 20.2.36-nullsafety homepage: https://github.com/syncfusion/flutter-widgets/tree/master/packages/syncfusion_localizations environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: sdk: flutter intl: ">=0.15.0 <0.20.0" - syncfusion_flutter_core: ^20.2.36 + syncfusion_flutter_core: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-core + path: syncfusion_flutter_core + branch: release/20.4.0.1 + ref: release/20.4.0.1 dev_dependencies: flutter_test: diff --git a/packages/syncfusion_officechart/README.md b/packages/syncfusion_officechart/README.md index 0ff296ed0..379686135 100644 --- a/packages/syncfusion_officechart/README.md +++ b/packages/syncfusion_officechart/README.md @@ -46,15 +46,12 @@ Explore the full capability of our Flutter widgets on your device by installing

- - + +

- -

-

@@ -479,18 +476,11 @@ workbook.dispose(); ``` ## Support and feedback -* For any other queries, contact our [Syncfusion support team](https://www.syncfusion.com/support/directtrac/incidents/newincident) or post the queries through the [Community forums](https://www.syncfusion.com/forums). You can also submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter). +* For any other queries, contact our [Syncfusion support team](https://support.syncfusion.com/support/tickets/create) or post the queries through the [Community forums](https://www.syncfusion.com/forums). You can also submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter). * To renew the subscription, click [renew](https://www.syncfusion.com/sales/products) or contact our sales team at sales@syncfusion.com | Toll Free: 1-888-9 DOTNET. ## About Syncfusion Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 20,000 customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies. -Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls) and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to-deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. - - - - - - - +Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), [Flutter](https://www.syncfusion.com/flutter-widgets), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([.NET MAUI](https://www.syncfusion.com/maui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([Flutter](https://www.syncfusion.com/flutter-widgets), [.NET MAUI](https://www.syncfusion.com/maui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to-deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file diff --git a/packages/syncfusion_officechart/example/lib/main.dart b/packages/syncfusion_officechart/example/lib/main.dart index fe8a21607..58767f751 100644 --- a/packages/syncfusion_officechart/example/lib/main.dart +++ b/packages/syncfusion_officechart/example/lib/main.dart @@ -47,9 +47,9 @@ class _CreateOfficeChartState extends State { children: [ TextButton( style: TextButton.styleFrom( - primary: Colors.white, + foregroundColor: Colors.white, backgroundColor: Colors.lightBlue, - onSurface: Colors.grey, + disabledForegroundColor: Colors.grey, ), onPressed: generateOfficeChart, child: const Text('Generate Excel Chart'), diff --git a/packages/syncfusion_officechart/example/linux/flutter/generated_plugins.cmake b/packages/syncfusion_officechart/example/linux/flutter/generated_plugins.cmake index 51436ae8c..2e1de87a7 100644 --- a/packages/syncfusion_officechart/example/linux/flutter/generated_plugins.cmake +++ b/packages/syncfusion_officechart/example/linux/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_officechart/example/macos/Flutter/GeneratedPluginRegistrant.swift b/packages/syncfusion_officechart/example/macos/Flutter/GeneratedPluginRegistrant.swift index 7ce0a99b8..0d56f519c 100644 --- a/packages/syncfusion_officechart/example/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/packages/syncfusion_officechart/example/macos/Flutter/GeneratedPluginRegistrant.swift @@ -2,8 +2,6 @@ // Generated file. Do not edit. // -// clang-format off - import FlutterMacOS import Foundation diff --git a/packages/syncfusion_officechart/example/pubspec.yaml b/packages/syncfusion_officechart/example/pubspec.yaml index 12ec7b558..b88dfa223 100644 --- a/packages/syncfusion_officechart/example/pubspec.yaml +++ b/packages/syncfusion_officechart/example/pubspec.yaml @@ -2,7 +2,7 @@ name: officechart_example description: Demo for creating a Excel file with chart using syncfusion_officechart package. environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: diff --git a/packages/syncfusion_officechart/example/windows/flutter/generated_plugins.cmake b/packages/syncfusion_officechart/example/windows/flutter/generated_plugins.cmake index 4d10c2518..b93c4c30c 100644 --- a/packages/syncfusion_officechart/example/windows/flutter/generated_plugins.cmake +++ b/packages/syncfusion_officechart/example/windows/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_officechart/lib/officechart.dart b/packages/syncfusion_officechart/lib/officechart.dart index 78728c1dd..4dbe8817b 100644 --- a/packages/syncfusion_officechart/lib/officechart.dart +++ b/packages/syncfusion_officechart/lib/officechart.dart @@ -4,8 +4,7 @@ import 'dart:convert'; import 'dart:core'; import 'package:archive/archive.dart'; -// ignore: depend_on_referenced_packages -import 'package:flutter_test/flutter_test.dart'; + import 'package:syncfusion_flutter_xlsio/xlsio.dart'; import 'package:xml/xml.dart'; @@ -19,11 +18,11 @@ part 'src/chart/chart_impl.dart'; part 'src/chart/chart_legend.dart'; part 'src/chart/chart_plotarea.dart'; part 'src/chart/chart_serialization.dart'; +part 'src/chart/chart_format.dart'; +part 'src/chart/chart_fomat_impl.dart'; part 'src/chart/chart_serie.dart'; +part 'src/chart/chart_serie_dataformat.dart'; +part 'src/chart/chartserie_dataformat_impl.dart'; part 'src/chart/chart_series_collection.dart'; part 'src/chart/chart_text_area.dart'; part 'src/chart/chart_value_axis.dart'; -part 'src/test/chart.dart'; -part 'src/test/images.dart'; -//testing -part 'src/test/sample_browser_samples.dart'; diff --git a/packages/syncfusion_officechart/lib/src/chart/chart_enum.dart b/packages/syncfusion_officechart/lib/src/chart/chart_enum.dart index a81dff8cc..640a4ccef 100644 --- a/packages/syncfusion_officechart/lib/src/chart/chart_enum.dart +++ b/packages/syncfusion_officechart/lib/src/chart/chart_enum.dart @@ -5,12 +5,24 @@ enum ExcelChartType { /// Represents the clustered column chart. column, + /// Represnts the 3D column chart + column3D, + /// Represents the column stacked chart. columnStacked, /// Represents the 100% stacked column chart. columnStacked100, + /// Represents the 3D clustered column chart. + columnClustered3D, + + /// Represents the 3D stacked column chart. + columnStacked3D, + + /// Represents the 3D 100% stacked column chart. + columnStacked1003D, + /// Represents the clustered bar chart. bar, @@ -20,6 +32,15 @@ enum ExcelChartType { /// Represents the 100% stacked bar chart. barStacked100, + /// Represents the 3D stacked bar chart. + barStacked3D, + + /// Represents the 3D clustered bar chart. + barClustered3D, + + /// Represents the 3D 100% stacked bar chart. + barStacked1003D, + /// Represents the line chart. line, @@ -29,9 +50,30 @@ enum ExcelChartType { /// Represents the 100% stacked line chart. lineStacked100, + /// Represents the line chart with markers. + lineMarkers, + + /// Represents the stacked line chart with markers. + lineMarkersStacked, + + /// Represents the 100% stacked line chart with markers. + lineMarkersStacked100, + + /// Represents the 3D line chart. + line3D, + /// Represents the Pie chart. pie, + /// Represents the Pie chart. + pie3D, + + /// Represents the pie of pie chart. + pieOfPie, + + /// Represents the bar of pie chart. + pieBar, + /// Represents the area chart. area, @@ -39,7 +81,25 @@ enum ExcelChartType { areaStacked, /// Represents the 100% stacked area chart. - areaStacked100 + areaStacked100, + + /// Represents the stock chart with high, low and close values. + stockHighLowClose, + + /// Represents the stock chart with open, high, low and close values. + stockOpenHighLowClose, + + /// Represents the stock chart with volume, high, low and close values. + stockVolumeHighLowClose, + + /// Represents the stock chart with volume, open, high, low and close values. + stockVolumeOpenHighLowClose, + + /// Represents the doughnut chart. + doughnut, + + /// Represents the doughnut Exploded chart. + doughnutExploded, } /// Specifies the line pattern for the border. @@ -104,3 +164,36 @@ enum ExcelAxisType { /// Axis displays data series. serie, } + +/// Specifies the marker style for a point or series in a line chart, scatter chart, or radar chart. +enum ExcelChartMarkerType { + /// Represents no markers. + none, + + /// Represents square markers. + square, + + /// Represents circular marker + circle, + + /// Represents diamond shaped markers. + diamond, + + /// Represents triangle markers. + triangle, + + /// Represents square markers with X. + xSquare, + + /// Represents dow jones style custom marker + dowJones, + + /// Represents plus sign marker + plusSign, + + /// Represents square markers with asterisk + starSquare, + + /// Represents standard deviation style custome marker + standardDeviation, +} diff --git a/packages/syncfusion_officechart/lib/src/chart/chart_impl.dart b/packages/syncfusion_officechart/lib/src/chart/chart_impl.dart index bb333885a..625756297 100644 --- a/packages/syncfusion_officechart/lib/src/chart/chart_impl.dart +++ b/packages/syncfusion_officechart/lib/src/chart/chart_impl.dart @@ -49,7 +49,9 @@ class Chart { /// Represent the clustered chart collection. final List _chartsCluster = [ ExcelChartType.bar, - ExcelChartType.column + ExcelChartType.column, + ExcelChartType.columnClustered3D, + ExcelChartType.barClustered3D ]; /// Represent the stacked chart collection. @@ -57,7 +59,10 @@ class Chart { ExcelChartType.barStacked, ExcelChartType.columnStacked, ExcelChartType.lineStacked, + ExcelChartType.lineMarkersStacked, ExcelChartType.areaStacked, + ExcelChartType.columnStacked3D, + ExcelChartType.barStacked3D ]; /// Represent 100% charts.Here each value in a series is shown as a portion of 100%. @@ -65,12 +70,43 @@ class Chart { ExcelChartType.columnStacked100, ExcelChartType.barStacked100, ExcelChartType.lineStacked100, - ExcelChartType.areaStacked100 + ExcelChartType.areaStacked100, + ExcelChartType.columnStacked1003D, + ExcelChartType.barStacked1003D, + ExcelChartType.areaStacked100, + ExcelChartType.lineMarkersStacked100, ]; /// Chart type. ExcelChartType _chartType = ExcelChartType.column; + ///Indicated wheather chart type is 3D + bool _is3DChart = false; + + ///Indicates wheather chart type is bar/column + bool _isColumnOrBar = false; + + /// Indicates whether rotation has default value. + bool _isDefaultRotation = true; + + /// Indicates whether elevation has default value. + bool _isdefaultElevation = true; + + ///Represents rotation of 3D chart + int _rotation = 20; + + ///Represents perspective of 3D chart + int _perspective = 15; + + ///Represents elvation angle of 3D chart + int _elevationAngle = 15; + + /// Depth of points relative to width. + int _depthPercent = 100; + + ///Indicates whether the chart axes are at right angles, independent of chart rotation or elevation. + bool _rightAngleAxes = false; + /// Represent chart index. late int index; @@ -202,6 +238,13 @@ class Chart { if (!_chartType.toString().contains('area')) { _primaryCategoryAxis._isBetween = true; } + if (value.toString().endsWith('3D')) { + _is3DChart = true; + } + if (value.toString().contains('column') || + value.toString().contains('bar')) { + _isColumnOrBar = true; + } } /// Gets the boolean value to display the chart legend, True by default. @@ -645,6 +688,250 @@ class Chart { } } + /// sets the rotation of the 3D chart view + /// (the rotation of the plot area around the z-axis, in degrees)-(0 to 360 degrees). + /// The value of this property must be from 0 to 360, except for 3-D bar charts, + /// where the value must be from 0 to 44. The default value is 20. Applies only to 3-D charts. + /// The following code illustrates how to set for 3-D charts. + /// ```dart + /// final Workbook workbook = Workbook(); + /// final Worksheet sheet = workbook.worksheets[0]; + /// sheet.getRangeByName('A11').text = 'Venue'; + /// sheet.getRangeByName('A12').text = 'Seating & Decor'; + /// sheet.getRangeByName('A13').text = 'Technical Team'; + /// sheet.getRangeByName('A14').text = 'performers'; + /// sheet.getRangeByName('A15').text = "performer's Transport"; + /// sheet.getRangeByName('A16').text = "performer's stay"; + /// sheet.getRangeByName('A17').text = 'Marketing'; + /// sheet.getRangeByName('B11:B17').numberFormat = r'$#,##0_)'; + /// sheet.getRangeByName('B11').number = 17500; + /// sheet.getRangeByName('B12').number = 1828; + /// sheet.getRangeByName('B13').number = 800; + /// sheet.getRangeByName('B14').number = 14000; + /// sheet.getRangeByName('B15').number = 2600; + /// sheet.getRangeByName('B16').number = 4464; + /// sheet.getRangeByName('B17').number = 2700; + /// final ChartCollection charts = ChartCollection(sheet); + /// final Chart chart = charts.add(); + /// chart.chartType = ExcelChartType.line3D; + /// chart.dataRange = sheet.getRangeByName('A11:B17'); + /// chart.isSeriesInRows = false; + /// chart.chartTitle = 'Line Chart 3D'; + /// chart.rotation = 20; + /// chart.topRow = 8; + /// chart.leftColumn = 1; + /// chart.bottomRow = 23; + /// chart.rightColumn = 8; + /// sheet.charts = charts; + /// final List bytes = workbook.saveAsStream(); + /// saveAsExcel(bytes, 'FLUT_6975_3D_LineChart.xlsx'); + /// ``` + int get rotation { + return _rotation; + } + + ///Set the rotation of 3D view of chart. + set rotation(int value) { + if (value < 0 || value > 360) { + throw Exception('rotation'); + } + _rotation = value; + _isDefaultRotation = false; + } + + /// Get the perspective for the 3D chart view (0 to 100). + /// ```dart + /// final Workbook workbook = Workbook(); + /// final Worksheet sheet = workbook.worksheets[0]; + /// sheet.getRangeByName('A11').text = 'Venue'; + /// sheet.getRangeByName('A12').text = 'Seating & Decor'; + /// sheet.getRangeByName('A13').text = 'Technical Team'; + /// sheet.getRangeByName('A14').text = 'performers'; + /// sheet.getRangeByName('A15').text = "performer's Transport"; + /// sheet.getRangeByName('A16').text = "performer's stay"; + /// sheet.getRangeByName('A17').text = 'Marketing'; + /// sheet.getRangeByName('B11:B17').numberFormat = r'$#,##0_)'; + /// sheet.getRangeByName('B11').number = 17500; + /// sheet.getRangeByName('B12').number = 1828; + /// sheet.getRangeByName('B13').number = 800; + /// sheet.getRangeByName('B14').number = 14000; + /// sheet.getRangeByName('B15').number = 2600; + /// sheet.getRangeByName('B16').number = 4464; + /// sheet.getRangeByName('B17').number = 2700; + /// final ChartCollection charts = ChartCollection(sheet); + /// final Chart chart = charts.add(); + /// chart.chartType = ExcelChartType.line3D; + /// chart.dataRange = sheet.getRangeByName('A11:B17'); + /// chart.isSeriesInRows = false; + /// chart.chartTitle = 'Line Chart 3D'; + /// chart.perspective = 45; + /// chart.topRow = 8; + /// chart.leftColumn = 1; + /// chart.bottomRow = 23; + /// chart.rightColumn = 8; + /// sheet.charts = charts; + /// final List bytes = workbook.saveAsStream(); + /// saveAsExcel(bytes, 'FLUT_6975_3D_LineChart.xlsx'); + /// ``` + int get perspective { + return _perspective; + } + + ///set the persepective of 3D chart + set perspective(int value) { + if (value < 0 || value > 100) { + throw Exception('elevation'); + } + + _perspective = value; + } + + /// Get the elevation of the 3-D chart view, in degrees (-90 to +90 degrees). + /// ```dart + /// final Workbook workbook = Workbook(); + /// final Worksheet sheet = workbook.worksheets[0]; + /// sheet.getRangeByName('A11').text = 'Venue'; + /// sheet.getRangeByName('A12').text = 'Seating & Decor'; + /// sheet.getRangeByName('A13').text = 'Technical Team'; + /// sheet.getRangeByName('A14').text = 'performers'; + /// sheet.getRangeByName('A15').text = "performer's Transport"; + /// sheet.getRangeByName('A16').text = "performer's stay"; + /// sheet.getRangeByName('A17').text = 'Marketing'; + /// sheet.getRangeByName('B11:B17').numberFormat = r'$#,##0_)'; + /// sheet.getRangeByName('B11').number = 17500; + /// sheet.getRangeByName('B12').number = 1828; + /// sheet.getRangeByName('B13').number = 800; + /// sheet.getRangeByName('B14').number = 14000; + /// sheet.getRangeByName('B15').number = 2600; + /// sheet.getRangeByName('B16').number = 4464; + /// sheet.getRangeByName('B17').number = 2700; + /// final ChartCollection charts = ChartCollection(sheet); + /// final Chart chart = charts.add(); + /// chart.chartType = ExcelChartType.line3D; + /// chart.dataRange = sheet.getRangeByName('A11:B17'); + /// chart.isSeriesInRows = false; + /// chart.chartTitle = 'Line Chart 3D'; + /// chart.elevation = 15; + /// chart.topRow = 8; + /// chart.leftColumn = 1; + /// chart.bottomRow = 23; + /// chart.rightColumn = 8; + /// sheet.charts = charts; + /// final List bytes = workbook.saveAsStream(); + /// saveAsExcel(bytes, 'FLUT_6975_3D_LineChart.xlsx'); + /// ``` + int get elevation { + return _elevationAngle; + } + + ///set the elevation of 3D chart + set elevation(int value) { + if (value < -90 || value > 90) { + throw Exception('elevation'); + } + _elevationAngle = value; + _isdefaultElevation = false; + } + + /// Returns the depth of a 3-D chart as a percentage of the chart width + /// (between 20 and 2000 percent). + /// ```dart + /// final Workbook workbook = Workbook(); + /// final Worksheet sheet = workbook.worksheets[0]; + /// sheet.getRangeByName('A11').text = 'Venue'; + /// sheet.getRangeByName('A12').text = 'Seating & Decor'; + /// sheet.getRangeByName('A13').text = 'Technical Team'; + /// sheet.getRangeByName('A14').text = 'performers'; + /// sheet.getRangeByName('A15').text = "performer's Transport"; + /// sheet.getRangeByName('A16').text = "performer's stay"; + /// sheet.getRangeByName('A17').text = 'Marketing'; + /// sheet.getRangeByName('B11:B17').numberFormat = r'$#,##0_)'; + /// sheet.getRangeByName('B11').number = 17500; + /// sheet.getRangeByName('B12').number = 1828; + /// sheet.getRangeByName('B13').number = 800; + /// sheet.getRangeByName('B14').number = 14000; + /// sheet.getRangeByName('B15').number = 2600; + /// sheet.getRangeByName('B16').number = 4464; + /// sheet.getRangeByName('B17').number = 2700; + /// final ChartCollection charts = ChartCollection(sheet); + /// final Chart chart = charts.add(); + /// chart.chartType = ExcelChartType.line3D; + /// chart.dataRange = sheet.getRangeByName('A11:B17'); + /// chart.isSeriesInRows = false; + /// chart.chartTitle = 'Line Chart 3D'; + /// chart.depthPercent = 45; + /// chart.topRow = 8; + /// chart.leftColumn = 1; + /// chart.bottomRow = 23; + /// chart.rightColumn = 8; + /// sheet.charts = charts; + /// final List bytes = workbook.saveAsStream(); + /// saveAsExcel(bytes, 'FLUT_6975_3D_LineChart.xlsx'); + /// ``` + int get depthPercent { + return _depthPercent; + } + + ///set the elevation of 3D chart + set depthPercent(int value) { + if (value < -90 || value > 90) { + throw Exception('elevation'); + } + _depthPercent = value; + } + + /// True if the chart axes are at right angles, independent of chart rotation or elevation. otherwise False. + /// Returns the RightAngleAxes of a 3-D chart as a percentage of the chart width + /// (between 20 and 2000 percent). + /// ```dart + /// final Workbook workbook = Workbook(); + /// final Worksheet sheet = workbook.worksheets[0]; + /// sheet.getRangeByName('A11').text = 'Venue'; + /// sheet.getRangeByName('A12').text = 'Seating & Decor'; + /// sheet.getRangeByName('A13').text = 'Technical Team'; + /// sheet.getRangeByName('A14').text = 'performers'; + /// sheet.getRangeByName('A15').text = "performer's Transport"; + /// sheet.getRangeByName('A16').text = "performer's stay"; + /// sheet.getRangeByName('A17').text = 'Marketing'; + /// sheet.getRangeByName('B11:B17').numberFormat = r'$#,##0_)'; + /// sheet.getRangeByName('B11').number = 17500; + /// sheet.getRangeByName('B12').number = 1828; + /// sheet.getRangeByName('B13').number = 800; + /// sheet.getRangeByName('B14').number = 14000; + /// sheet.getRangeByName('B15').number = 2600; + /// sheet.getRangeByName('B16').number = 4464; + /// sheet.getRangeByName('B17').number = 2700; + /// final ChartCollection charts = ChartCollection(sheet); + /// final Chart chart = charts.add(); + /// chart.chartType = ExcelChartType.line3D; + /// chart.dataRange = sheet.getRangeByName('A11:B17'); + /// chart.isSeriesInRows = false; + /// chart.chartTitle = 'Line Chart 3D'; + /// chart.depthPercent = 45; + /// chart.topRow = 8; + /// chart.leftColumn = 1; + /// chart.bottomRow = 23; + /// chart.rightColumn = 8; + ///chart.rightAngleAxes=false; + /// sheet.charts = charts; + /// final List bytes = workbook.saveAsStream(); + /// saveAsExcel(bytes, 'FLUT_6975_3D_LineChart.xlsx'); + /// ``` + bool get rightAngleAxes { + if (_rightAngleAxes == null) { + return false; + } + return _rightAngleAxes; + } + + ///set the right angle axes of 3D chart + set rightAngleAxes(bool value) { + _rightAngleAxes = value; + if (!value) { + _isColumnOrBar = false; + } + } + /// Finds the category range in the specified chart range. // ignore: unused_element Range _getCategoryRange( @@ -737,8 +1024,12 @@ class Chart { ? range.worksheet.getRangeByIndex(iRowColumn, i) : range.worksheet.getRangeByIndex(i, iRowColumn); - bIsName = (curRange.number != null || - (curRange.dateTime == null && curRange.text == null)) || + bIsName = (curRange.number != null && + curRange.dateTime == null && + curRange.text == null) || + (curRange.dateTime == null && + curRange.text == null && + curRange.number == null) || curRange.formula != null; if (!bIsName) { diff --git a/packages/syncfusion_officechart/lib/src/chart/chart_serialization.dart b/packages/syncfusion_officechart/lib/src/chart/chart_serialization.dart index 9a96328ac..0b7fe02ed 100644 --- a/packages/syncfusion_officechart/lib/src/chart/chart_serialization.dart +++ b/packages/syncfusion_officechart/lib/src/chart/chart_serialization.dart @@ -43,6 +43,9 @@ class ChartSerialization { if (chart.hasTitle) { _serializeTitle(builder, chart.chartTitleArea); } + if (chart._is3DChart) { + _serializeView3D(builder, chart); + } _serializePlotArea(builder, chart); if (chart.series.count > 0 && chart.hasLegend) { _serializeLegend(builder, chart.legend!); @@ -303,7 +306,10 @@ class ChartSerialization { case ExcelChartType.line: case ExcelChartType.lineStacked: + case ExcelChartType.lineMarkers: case ExcelChartType.lineStacked100: + case ExcelChartType.lineMarkersStacked: + case ExcelChartType.lineMarkersStacked100: _serializeLineChart(builder, chart); break; @@ -316,11 +322,43 @@ class ChartSerialization { case ExcelChartType.pie: _serializePieChart(builder, chart); break; + + case ExcelChartType.pieBar: + case ExcelChartType.pieOfPie: + _serializeOfPieChart(builder, chart); + break; + case ExcelChartType.pie3D: + _serializeOfPie3DChart(builder, chart); + break; + case ExcelChartType.line3D: + _serializeLine3DChart(builder, chart); + break; + case ExcelChartType.barStacked1003D: + case ExcelChartType.barStacked3D: + case ExcelChartType.barClustered3D: + case ExcelChartType.columnClustered3D: + case ExcelChartType.columnStacked3D: + case ExcelChartType.columnStacked1003D: + case ExcelChartType.column3D: + _serializeBar3DChart(builder, chart); + break; + + case ExcelChartType.stockHighLowClose: + case ExcelChartType.stockOpenHighLowClose: + case ExcelChartType.stockVolumeHighLowClose: + case ExcelChartType.stockVolumeOpenHighLowClose: + _serializeStockChart(builder, chart); + break; + case ExcelChartType.doughnut: + case ExcelChartType.doughnutExploded: + _serializedoughnutchart(builder, chart); + break; } } /// serializes Line chart. void _serializeLineChart(XmlBuilder builder, Chart chart) { + final ExcelChartType type = chart.series[0]._serieType; builder.element('c:lineChart', nest: () { _serializeChartGrouping(builder, chart); builder.element('c:varyColors', nest: () { @@ -330,6 +368,13 @@ class ChartSerialization { final ChartSerie firstSerie = chart.series[i]; _serializeSerie(builder, firstSerie); } + if (type == ExcelChartType.lineMarkers || + type == ExcelChartType.lineMarkersStacked || + type == ExcelChartType.lineMarkersStacked100) { + builder.element('c:marker', nest: () { + builder.attribute('val', 1); + }); + } builder.element('c:axId', nest: () { builder.attribute('val', 59983360); }); @@ -342,6 +387,7 @@ class ChartSerialization { /// serializes Bar/ColumnClustered chart. void _serializeBarChart(XmlBuilder builder, Chart chart) { + late int gapwidth; builder.element('c:barChart', nest: () { final String strDirection = chart.chartType.toString().contains('bar') ? 'bar' : 'col'; @@ -355,9 +401,10 @@ class ChartSerialization { for (int i = 0; i < chart.series.count; i++) { final ChartSerie firstSerie = chart.series[i]; _serializeSerie(builder, firstSerie); + gapwidth = firstSerie.serieFormat.commonSerieOptions.gapWidth; } builder.element('c:gapWidth', nest: () { - builder.attribute('val', 150); + builder.attribute('val', gapwidth); }); if (chart._getIsStacked(chart.chartType) || chart._getIs100(chart.chartType)) { @@ -431,6 +478,7 @@ class ChartSerialization { /// serializes series of chart. void _serializeSerie(XmlBuilder builder, ChartSerie firstSerie) { + final ExcelChartType type = firstSerie._serieType; builder.element('c:ser', nest: () { builder.element('c:idx', nest: () { builder.attribute('val', firstSerie._index); @@ -447,17 +495,52 @@ class ChartSerialization { } }); } - if (firstSerie.linePattern != ExcelChartLinePattern.none) { - _serializeFill( - builder, firstSerie.linePattern, firstSerie.linePatternColor, true); + + if (firstSerie.serieFormat.pieExplosionPercent != 0 || + (type == ExcelChartType.doughnutExploded && + firstSerie._chart.series.count == 1)) { + builder.element('c:explosion', nest: () { + builder.attribute('val', firstSerie.serieFormat.pieExplosionPercent); + }); } - if (firstSerie._serieType == ExcelChartType.line) { - builder.element('c:marker', nest: () { - builder.element('c:symbol', nest: () { - builder.attribute('val', 'none'); + if (type == ExcelChartType.stockOpenHighLowClose || + type == ExcelChartType.stockVolumeHighLowClose || + type == ExcelChartType.stockVolumeOpenHighLowClose) { + builder.element('c:spPr', nest: () { + builder.element('a:ln', nest: () { + builder.element('a:noFill', nest: () {}); }); }); + } else if (type == ExcelChartType.stockHighLowClose) { + if (firstSerie._index == 2) { + builder.element('c:spPr', nest: () { + builder.element('a:ln', nest: () { + builder.attribute('w', '3175'); + builder.element('a:solidFill', nest: () { + builder.element('a:srgbClr', nest: () { + builder.attribute('val', '000000'); + }); + }); + builder.element('a:prstDash', nest: () { + builder.attribute('val', 'solid'); + }); + }); + }); + } else { + builder.element('c:spPr', nest: () { + builder.element('a:ln', nest: () { + builder.element('a:noFill', nest: () {}); + }); + }); + } + } + if (firstSerie.linePattern != ExcelChartLinePattern.none) { + _serializeFill( + builder, firstSerie.linePattern, firstSerie.linePatternColor, true); } + + _serializeMarker(builder, firstSerie); + if (firstSerie.dataLabels.isValue) { builder.element('c:dLbls', nest: () { if (firstSerie.dataLabels.numberFormat != null && @@ -579,7 +662,8 @@ class ChartSerialization { }); }); } - if (firstSerie._serieType == ExcelChartType.line) { + if (firstSerie._serieType.toString().contains('line') || + firstSerie._serieType.toString().contains('stock')) { builder.element('c:smooth', nest: () { builder.attribute('val', 0); }); @@ -935,4 +1019,562 @@ class ChartSerialization { final ArchiveFile item = ArchiveFile(fileName, data.length, data); _workbook.archive.addFile(item); } + + /// Serialize line 3D Chart. + void _serializeLine3DChart(XmlBuilder builder, Chart chart) { + late int gapdepth; + builder.element('c:line3DChart', nest: () { + _serializeChartGrouping(builder, chart); + builder.element('c:varyColors', nest: () { + builder.attribute('val', 0); + }); + for (int i = 0; i < chart.series.count; i++) { + final ChartSerie firstSerie = chart.series[i]; + _serializeSerie(builder, firstSerie); + gapdepth = firstSerie.serieFormat.commonSerieOptions.gapDepth; + } + builder.element('c:gapDepth', nest: () { + builder.attribute('val', gapdepth); + }); + builder.element('c:axId', nest: () { + builder.attribute('val', 59983360); + }); + builder.element('c:axId', nest: () { + builder.attribute('val', 57253888); + }); + builder.element('c:axId', nest: () { + builder.attribute('val', 63149376); + }); + }); + _serializeAxes(builder, chart); + } + + ///Serialize view 3D + void _serializeView3D(XmlBuilder builder, Chart chart) { + final ChartSeriesCollection firstSerie = chart.series; + + builder.element('c:view3D', nest: () { + if (firstSerie != null) { + if (!chart._isdefaultElevation) { + builder.element('c:rotX', nest: () { + builder.attribute('val', chart.elevation); + }); + } + if (firstSerie._innerList[0]._serieType == ExcelChartType.pie3D) { + for (int i = 0; i < chart.series.count; i++) { + chart.rotation = + chart.series[i].serieFormat.commonSerieOptions.firstSliceAngle; + } + } + if (!chart._isDefaultRotation) { + builder.element('c:rotY', nest: () { + builder.attribute('val', chart.rotation); + }); + } + builder.element('c:depthPercent', nest: () { + builder.attribute('val', chart.depthPercent); + }); + builder.element('c:rAngAx', nest: () { + int defaultValue = 0; + + if (chart.rightAngleAxes || chart._isColumnOrBar) { + defaultValue = 1; + } + + builder.attribute('val', defaultValue); + }); + builder.element('perspective', nest: () { + builder.attribute('val', chart.perspective * 2); + }); + } + }); + } + + /// Serialize bar3D chart. + void _serializeBar3DChart(XmlBuilder builder, Chart chart) { + late int gapdepth; + late int gapwidth; + builder.element('c:bar3DChart', nest: () { + final String strDirection = + chart.chartType.toString().contains('bar') ? 'bar' : 'col'; + + builder.element('c:barDir', nest: () { + builder.attribute('val', strDirection); + }); + + _serializeChartGrouping(builder, chart); + builder.element('c:varyColors', nest: () { + builder.attribute('val', 0); + }); + for (int i = 0; i < chart.series.count; i++) { + final ChartSerie firstSerie = chart.series[i]; + _serializeSerie(builder, firstSerie); + gapdepth = firstSerie.serieFormat.commonSerieOptions.gapDepth; + gapwidth = firstSerie.serieFormat.commonSerieOptions.gapWidth; + } + + builder.element('c:gapWidth', nest: () { + builder.attribute('val', gapwidth); + }); + builder.element('c:gapDepth', nest: () { + builder.attribute('val', gapdepth); + }); + builder.element('c:axId', nest: () { + builder.attribute('val', 59983360); + }); + builder.element('c:axId', nest: () { + builder.attribute('val', 57253888); + }); + }); + _serializeAxes(builder, chart); + } + + // Serializes pie of pie or pie of bar chart. + void _serializeOfPieChart(XmlBuilder builder, Chart chart) { + late int gapwidth; + late int pieSecondSize; + final ExcelChartType type = chart.series[0]._serieType; + late String isPieOrBar; + if (type == ExcelChartType.pieOfPie) { + isPieOrBar = 'pie'; + } else if (type == ExcelChartType.pieBar) { + isPieOrBar = 'bar'; + } + builder.element('c:ofPieChart', nest: () { + builder.element('c:ofPieType', nest: () { + builder.attribute('val', isPieOrBar); + }); + builder.element('c:varyColors', nest: () { + builder.attribute('val', 1); + }); + + for (int i = 0; i < chart.series.count; i++) { + final ChartSerie firstSerie = chart.series[i]; + _serializeSerie(builder, firstSerie); + pieSecondSize = firstSerie.serieFormat.commonSerieOptions.pieSecondSize; + gapwidth = firstSerie.serieFormat.commonSerieOptions.gapWidth; + } + + builder.element('c:gapWidth', nest: () { + builder.attribute('val', gapwidth); + }); + builder.element('c:secondPieSize', nest: () { + builder.attribute('val', pieSecondSize); + }); + builder.element('c:serLines', nest: () { + builder.element('c:spPr', nest: () { + builder.element('a:ln', nest: () {}); + }); + }); + }); + } + + ///Serialize pie 3D chart. + void _serializeOfPie3DChart(XmlBuilder builder, Chart chart) { + builder.element('c:pie3DChart', nest: () { + builder.element('c:varyColors', nest: () { + builder.attribute('val', 1); + }); + for (int i = 0; i < chart.series.count; i++) { + final ChartSerie firstSerie = chart.series[i]; + _serializeSerie(builder, firstSerie); + } + }); + } + + /// Serializes stock chart. + void _serializeStockChart(XmlBuilder builder, Chart chart) { + final ExcelChartType type = chart.series.innerList[0]._serieType; + if (type == ExcelChartType.stockVolumeOpenHighLowClose || + type == ExcelChartType.stockVolumeHighLowClose) { + builder.element('c:barChart', nest: () { + builder.element('c:barDir', nest: () { + builder.attribute('val', 'col'); + }); + builder.element('c:grouping', nest: () { + builder.attribute('val', 'clustered'); + }); + + builder.element('c:varyColors', nest: () { + builder.attribute('val', 0); + }); + + final ChartSerie firstSerie = chart.series[0]; + _serializeSerie(builder, firstSerie); + + builder.element('c:gapWidth', nest: () { + builder.attribute( + 'val', firstSerie.serieFormat.commonSerieOptions.gapWidth); + }); + builder.element('c:axId', nest: () { + builder.attribute('val', 59983360); + }); + builder.element('c:axId', nest: () { + builder.attribute('val', 57253888); + }); + }); + } + builder.element('c:stockChart', nest: () { + if (type == ExcelChartType.stockHighLowClose || + type == ExcelChartType.stockOpenHighLowClose) { + for (int i = 0; i < chart.series.count; i++) { + final ChartSerie firstSerie = chart.series[i]; + _serializeSerie(builder, firstSerie); + } + } else if (type == ExcelChartType.stockVolumeHighLowClose || + type == ExcelChartType.stockVolumeOpenHighLowClose) { + for (int i = 0; i < chart.series.count; i++) { + if ((type == ExcelChartType.stockVolumeOpenHighLowClose || + type == ExcelChartType.stockVolumeHighLowClose) && + chart.series.innerList[0] != chart.series.innerList[i]) { + final ChartSerie firstSerie = chart.series[i]; + _serializeSerie(builder, firstSerie); + } + } + } + + builder.element('c:hiLowLines', nest: () { + builder.element('c:spPr', nest: () { + builder.element('a:ln', nest: () { + builder.element('a:solidFill', nest: () { + builder.element('a:srgbClr', nest: () { + builder.attribute('val', '000000'); + }); + }); + builder.element('a:prstDash', nest: () { + builder.attribute('val', 'solid'); + }); + }); + }); + }); + if (type == ExcelChartType.stockOpenHighLowClose || + type == ExcelChartType.stockVolumeOpenHighLowClose) { + builder.element('c:upDownBars', nest: () { + builder.element('c:gapWidth', nest: () { + builder.attribute('val', '100'); + }); + builder.element('c:upBars', nest: () { + builder.element('c:spPr', nest: () { + builder.element('a:solidFill', nest: () { + builder.element('a:srgbClr', nest: () { + builder.attribute('val', 'FFFFFF'); + }); + }); + }); + }); + builder.element('c:downBars', nest: () { + builder.element('c:spPr', nest: () { + builder.element('a:solidFill', nest: () { + builder.element('a:srgbClr', nest: () { + builder.attribute('val', '000000'); + }); + }); + }); + }); + }); + } + if (chart.series[0].serieFormat.markerStyle != + ExcelChartMarkerType.none) { + builder.element('c:marker', nest: () { + builder.attribute('val', 1); + }); + } + + builder.element('c:axId', nest: () { + builder.attribute('val', 62908672); + }); + builder.element('c:axId', nest: () { + builder.attribute('val', 61870848); + }); + }); + if (type == ExcelChartType.stockVolumeOpenHighLowClose || + type == ExcelChartType.stockVolumeHighLowClose) { + _serializeAxesforStockChart(builder, chart, 59983360, 57253888, true); + _serializeAxesforStockChart(builder, chart, 62908672, 61870848, false); + } else { + _serializeAxesforStockChart(builder, chart, 62908672, 61870848, true); + } + } + + ///serialize stock axes + void _serializeAxesforStockChart( + XmlBuilder builder, Chart chart, int axisId, int crossAx, bool isBar) { + if (chart._isCategoryAxisAvail) { + _serializeCategoryAxisForStock( + builder, chart.primaryCategoryAxis, axisId, crossAx, isBar); + } + if (chart._isValueAxisAvail) { + _serializeValueAxisForStockchart( + builder, chart.primaryCategoryAxis, axisId, crossAx, isBar); + } + } + + ///Serialize catogory axis for stock chart + void _serializeCategoryAxisForStock(XmlBuilder builder, + ChartCategoryAxis axis, int axisId, int crossAx, bool isBar) { + builder.element('c:catAx', nest: () { + builder.element('c:axId', nest: () { + builder.attribute('val', axisId); + }); + builder.element('c:scaling', nest: () { + builder.element('c:orientation', nest: () { + builder.attribute('val', 'minMax'); + }); + }); + int delete = 0; + String axpos = 'b'; + if (!isBar) { + delete = 1; + axpos = 't'; + } + builder.element('c:delete', nest: () { + builder.attribute('val', delete); + }); + builder.element('c:axPos', nest: () { + builder.attribute('val', axpos); + }); + if (axis._hasAxisTitle) { + _serializeChartTextArea(builder, axis.titleArea); + } + if (axis.numberFormat != '' && axis.numberFormat != 'General') { + builder.element('c:numFmt', nest: () { + builder.attribute('formatCode', axis.numberFormat); + builder.attribute('sourceLinked', '0'); + }); + } + builder.element('c:majorTickMark', nest: () { + builder.attribute('val', 'out'); + }); + builder.element('c:minorTickMark', nest: () { + builder.attribute('val', 'none'); + }); + builder.element('c:tickLblPos', nest: () { + builder.attribute('val', 'nextTo'); + }); + builder.element('c:spPr', nest: () { + builder.element('a:ln', nest: () { + if (!isBar) { + builder.attribute('w', 12700); + } + }); + }); + builder.element('c:crossAx', nest: () { + builder.attribute('val', crossAx); + }); + builder.element('c:crosses', nest: () { + builder.attribute('val', 'autoZero'); + }); + builder.element('c:auto', nest: () { + builder.attribute('val', 1); + }); + builder.element('c:lblAlgn', nest: () { + builder.attribute('val', 'ctr'); + }); + builder.element('c:lblOffset', nest: () { + builder.attribute('val', 100); + }); + builder.element('c:noMultiLvlLbl', nest: () { + builder.attribute('val', 0); + }); + builder.element('c:tickMarkSkip', nest: () { + builder.attribute('val', 1); + }); + }); + } + + ///Serialize value axis for stock chart + void _serializeValueAxisForStockchart(XmlBuilder builder, + ChartCategoryAxis axis, int axisId, int crossAx, bool isBar) { + builder.element('c:valAx', nest: () { + builder.element('c:axId', nest: () { + builder.attribute('val', crossAx); + }); + builder.element('c:scaling', nest: () { + builder.element('c:orientation', nest: () { + builder.attribute('val', 'minMax'); + }); + if (!axis._isAutoMax) { + builder.element('c:max', nest: () { + builder.attribute('val', axis.maximumValue); + }); + } + if (axis._isAutoMin) { + builder.element('c:min', nest: () { + builder.attribute('val', axis.minimumValue); + }); + } + }); + builder.element('c:delete', nest: () { + builder.attribute('val', '0'); + }); + String axpos = 'l'; + + if (!isBar) { + axpos = 'r'; + } + + builder.element('c:axPos', nest: () { + builder.attribute('val', axpos); + }); + + if (axpos == 'l') { + builder.element('c:majorGridlines', nest: () {}); + } + + if (axis._hasAxisTitle) { + _serializeChartTextArea(builder, axis.titleArea); + } + if (axis.numberFormat != '' && axis.numberFormat != 'General') { + builder.element('c:numFmt', nest: () { + builder.attribute('formatCode', axis.numberFormat); + builder.attribute('sourceLinked', '0'); + }); + } + if (axis.hasMajorGridLines) { + builder.element('c:majorGridlines', nest: () {}); + } + builder.element('c:majorTickMark', nest: () { + builder.attribute('val', 'out'); + }); + builder.element('c:minorTickMark', nest: () { + builder.attribute('val', 'none'); + }); + builder.element('c:tickLblPos', nest: () { + builder.attribute('val', 'nextTo'); + }); + builder.element('c:spPr', nest: () { + builder.element('a:ln', nest: () {}); + }); + builder.element('c:crossAx', nest: () { + builder.attribute('val', axisId); + }); + String crosses = 'autoZero'; + if (!isBar) { + crosses = 'max'; + } + builder.element('c:crosses', nest: () { + builder.attribute('val', crosses); + }); + final Chart chart = axis._parentChart; + final String strCrossBetween = + chart.primaryCategoryAxis._isBetween ? 'between' : 'midCat'; + builder.element('c:crossBetween', nest: () { + builder.attribute('val', strCrossBetween); + }); + }); + } + + ///Serialize doughnut/doughnut_exploded charts + void _serializedoughnutchart(XmlBuilder builder, Chart chart) { + late int doughnutHoleSize; + late int firstSliceAngle; + + builder.element('c:doughnutChart', nest: () { + builder.element('c:varyColors', nest: () { + builder.attribute('val', 1); + }); + + for (int i = 0; i < chart.series.count; i++) { + final ChartSerie firstSerie = chart.series[i]; + _serializeSerie(builder, firstSerie); + firstSliceAngle = + firstSerie.serieFormat.commonSerieOptions.firstSliceAngle; + doughnutHoleSize = + firstSerie.serieFormat.commonSerieOptions.holeSizePercent; + } + builder.element('c:firstSliceAng', nest: () { + builder.attribute('val', firstSliceAngle); + }); + builder.element('c:holeSize', nest: () { + builder.attribute('val', doughnutHoleSize); + }); + }); + } + + ///Serialize marker for stock and line charts + void _serializeMarker(XmlBuilder builder, ChartSerie firstSerie) { + final ExcelChartType type = firstSerie._serieType; + + if ((firstSerie.serieFormat.markerStyle == ExcelChartMarkerType.none) && + (type == ExcelChartType.line || + type == ExcelChartType.lineStacked || + type == ExcelChartType.lineStacked100 || + type == ExcelChartType.stockHighLowClose || + type == ExcelChartType.stockVolumeOpenHighLowClose || + type == ExcelChartType.stockVolumeHighLowClose || + type == ExcelChartType.stockOpenHighLowClose)) { + builder.element('c:marker', nest: () { + builder.element('c:symbol', nest: () { + builder.attribute('val', 'none'); + }); + }); + } else if ((firstSerie.serieFormat.markerStyle == + ExcelChartMarkerType.none) && + (type == ExcelChartType.lineMarkers || + type == ExcelChartType.lineMarkersStacked || + type == ExcelChartType.lineMarkersStacked100)) { + builder.element('c:marker', nest: () { + builder.element('c:symbol', nest: () { + builder.attribute('val', 'circle'); + }); + builder.element('c:size', nest: () { + builder.attribute('val', '5'); + }); + }); + } else if (firstSerie.serieFormat.markerStyle != + ExcelChartMarkerType.none) { + final String markerBackgroundColor = + firstSerie.serieFormat.markerBackgroundColor.replaceAll('#', ''); + final String markerBorderColor = + firstSerie.serieFormat.markerBorderColor.replaceAll('#', ''); + late String exclMarkertype; + if (firstSerie.serieFormat.markerStyle == ExcelChartMarkerType.diamond) { + exclMarkertype = 'diamond'; + } else if (firstSerie.serieFormat.markerStyle == + ExcelChartMarkerType.circle) { + exclMarkertype = 'circle'; + } else if (firstSerie.serieFormat.markerStyle == + ExcelChartMarkerType.xSquare) { + exclMarkertype = 'x'; + } else if (firstSerie.serieFormat.markerStyle == + ExcelChartMarkerType.dowJones) { + exclMarkertype = 'dot'; + } else if (firstSerie.serieFormat.markerStyle == + ExcelChartMarkerType.square) { + exclMarkertype = 'square'; + } else if (firstSerie.serieFormat.markerStyle == + ExcelChartMarkerType.plusSign) { + exclMarkertype = 'plus'; + } else if (firstSerie.serieFormat.markerStyle == + ExcelChartMarkerType.standardDeviation) { + exclMarkertype = 'triangle'; + } else if (firstSerie.serieFormat.markerStyle == + ExcelChartMarkerType.starSquare) { + exclMarkertype = 'star'; + } + + builder.element('c:marker', nest: () { + builder.element('c:symbol', nest: () { + builder.attribute('val', exclMarkertype); + }); + builder.element('c:size', nest: () { + builder.attribute('val', '5'); + }); + builder.element('c:spPr', nest: () { + builder.element('a:solidFill', nest: () { + builder.element('a:srgbClr', nest: () { + builder.attribute('val', markerBackgroundColor); + }); + }); + builder.element('a:ln', nest: () { + builder.element('a:solidFill', nest: () { + builder.element('a:srgbClr', nest: () { + builder.attribute('val', markerBorderColor); + }); + }); + }); + }); + }); + } + } } diff --git a/packages/syncfusion_officechart/lib/src/chart/chart_serie.dart b/packages/syncfusion_officechart/lib/src/chart/chart_serie.dart index 984015330..abad3b244 100644 --- a/packages/syncfusion_officechart/lib/src/chart/chart_serie.dart +++ b/packages/syncfusion_officechart/lib/src/chart/chart_serie.dart @@ -18,6 +18,9 @@ class ChartSerie { /// Represent the serie name. String? name; + ///Represents chart series format + ChartSerieDataFormat? _chartSeriesDataFormat; + /// serie name. late int _index; @@ -49,6 +52,11 @@ class ChartSerie { return _chart.chartType; } + ///Represents chart serie format. + ChartSerieDataFormat get serieFormat { + return _chartSeriesDataFormat ??= _ChartSerieDataFormatImpl(_chart); + } + /// Gets chart text area object. /// /// ```dart diff --git a/packages/syncfusion_officechart/lib/src/test/chart.dart b/packages/syncfusion_officechart/lib/src/test/chart.dart index 444ac470c..3d4ccae35 100644 --- a/packages/syncfusion_officechart/lib/src/test/chart.dart +++ b/packages/syncfusion_officechart/lib/src/test/chart.dart @@ -1,4 +1,7 @@ -part of officechart; +import 'package:syncfusion_flutter_xlsio/xlsio.dart'; +// ignore: depend_on_referenced_packages, directives_ordering +import 'package:flutter_test/flutter_test.dart'; +import '../../officechart.dart'; // ignore: public_member_api_docs void saveAsExcel(List? bytes, String fileName) { @@ -21,6 +24,1519 @@ void xlsiochart() { final List bytes = workbook.saveAsStream(); saveAsExcel(bytes, 'ExcelEmptyChart.xlsx'); }); + test('FLUT-6975-Line with marker Chart', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.getRangeByName('A1').text = 'Fruits'; + sheet.getRangeByName('A2').text = 'Apples'; + sheet.getRangeByName('A3').text = 'Grapes'; + sheet.getRangeByName('A4').text = 'Bananas'; + sheet.getRangeByName('A5').text = 'Oranges'; + sheet.getRangeByName('A6').text = 'Melons'; + sheet.getRangeByName('B1').text = 'Joey'; + sheet.getRangeByName('B2').number = 5; + sheet.getRangeByName('B3').number = 4; + sheet.getRangeByName('B4').number = 4; + sheet.getRangeByName('B5').number = 2; + sheet.getRangeByName('B6').number = 2; + sheet.getRangeByName('C1').text = 'Mathew'; + sheet.getRangeByName('C2').number = 3; + sheet.getRangeByName('C3').number = 5; + sheet.getRangeByName('C4').number = 4; + sheet.getRangeByName('C5').number = 1; + sheet.getRangeByName('C6').number = 7; + sheet.getRangeByName('D1').text = 'Peter'; + sheet.getRangeByName('D2').number = 2; + sheet.getRangeByName('D3').number = 2; + sheet.getRangeByName('D4').number = 3; + sheet.getRangeByName('D5').number = 5; + sheet.getRangeByName('D6').number = 6; + final ChartCollection charts = ChartCollection(sheet); + final Chart chart1 = charts.add(); + chart1.chartType = ExcelChartType.lineMarkers; + chart1.dataRange = sheet.getRangeByName('A1:D6'); + chart1.chartTitle = 'Line chart with marker'; + chart1.isSeriesInRows = false; + sheet.charts = charts; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6975_ExcelLineChartwithmarker.xlsx'); + }); + test('FLUT-6975-Line stacked with marker', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.getRangeByName('A1').text = 'Items'; + sheet.getRangeByName('B1').text = r'Amount(in $)'; + sheet.getRangeByName('C1').text = 'Count'; + + sheet.getRangeByName('A2').text = 'Beverages'; + sheet.getRangeByName('A3').text = 'Condiments'; + sheet.getRangeByName('A4').text = 'Confections'; + sheet.getRangeByName('A5').text = 'Dairy Products'; + sheet.getRangeByName('A6').text = 'Grains / Cereals'; + + sheet.getRangeByName('B2').number = 2776; + sheet.getRangeByName('B3').number = 1077; + sheet.getRangeByName('B4').number = 2287; + sheet.getRangeByName('B5').number = 1368; + sheet.getRangeByName('B6').number = 3325; + + sheet.getRangeByName('C2').number = 925; + sheet.getRangeByName('C3').number = 378; + sheet.getRangeByName('C4').number = 880; + sheet.getRangeByName('C5').number = 581; + sheet.getRangeByName('C6').number = 189; + + final ChartCollection charts = ChartCollection(sheet); + final Chart chart1 = charts.add(); + chart1.chartType = ExcelChartType.lineMarkersStacked; + chart1.dataRange = sheet.getRangeByName('A1:C6'); + chart1.chartTitle = 'Stacked line chart with marker'; + chart1.isSeriesInRows = false; + sheet.charts = charts; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT-6975-ExcelLineStaChartwithmarker.xlsx'); + }); + + test('FLUT-6975-Line stacked 100% with marker Chart', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.getRangeByName('A1').text = 'Fruits'; + sheet.getRangeByName('A2').text = 'Apples'; + sheet.getRangeByName('A3').text = 'Grapes'; + sheet.getRangeByName('A4').text = 'Bananas'; + sheet.getRangeByName('A5').text = 'Oranges'; + sheet.getRangeByName('A6').text = 'Melons'; + sheet.getRangeByName('B1').text = 'Joey'; + sheet.getRangeByName('B2').number = 5; + sheet.getRangeByName('B3').number = 4; + sheet.getRangeByName('B4').number = 4; + sheet.getRangeByName('B5').number = 2; + sheet.getRangeByName('B6').number = 2; + sheet.getRangeByName('C1').text = 'Mathew'; + sheet.getRangeByName('C2').number = 3; + sheet.getRangeByName('C3').number = 5; + sheet.getRangeByName('C4').number = 4; + sheet.getRangeByName('C5').number = 1; + sheet.getRangeByName('C6').number = 7; + sheet.getRangeByName('D1').text = 'Peter'; + sheet.getRangeByName('D2').number = 2; + sheet.getRangeByName('D3').number = 2; + sheet.getRangeByName('D4').number = 3; + sheet.getRangeByName('D5').number = 5; + sheet.getRangeByName('D6').number = 6; + + final ChartCollection charts = ChartCollection(sheet); + final Chart chart = charts.add(); + chart.chartType = ExcelChartType.lineMarkersStacked100; + chart.dataRange = sheet.getRangeByName('A1:D6'); + chart.isSeriesInRows = false; + + //Set Chart Title + chart.chartTitle = 'Line stcked 100 chart with marker '; + + //Set Legend + chart.hasLegend = true; + chart.legend!.position = ExcelLegendPosition.bottom; + + //Positioning the chart in the worksheet + chart.topRow = 8; + chart.leftColumn = 1; + chart.bottomRow = 23; + chart.rightColumn = 8; + + sheet.charts = charts; + final List bytes = workbook.saveAsStream(); + workbook.dispose(); + + saveAsExcel(bytes, 'FLUT-6975-Linestacked100%withMarker.xlsx'); + }); + + test('FLUT_6975_3D_LineChart', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.getRangeByName('A11').text = 'Venue'; + sheet.getRangeByName('A12').text = 'Seating & Decor'; + sheet.getRangeByName('A13').text = 'Technical Team'; + sheet.getRangeByName('A14').text = 'performers'; + sheet.getRangeByName('A15').text = "performer's Transport"; + sheet.getRangeByName('A16').text = "performer's stay"; + sheet.getRangeByName('A17').text = 'Marketing'; + sheet.getRangeByName('B11:B17').numberFormat = r'$#,##0_)'; + sheet.getRangeByName('B11').number = 17500; + sheet.getRangeByName('B12').number = 1828; + sheet.getRangeByName('B13').number = 800; + sheet.getRangeByName('B14').number = 14000; + sheet.getRangeByName('B15').number = 2600; + sheet.getRangeByName('B16').number = 4464; + sheet.getRangeByName('B17').number = 2700; + sheet.getRangeByName('C11:C17').numberFormat = r'$#,##0_)'; + sheet.getRangeByName('C11').number = 18584; + sheet.getRangeByName('C12').number = 1348; + sheet.getRangeByName('C13').number = 400; + sheet.getRangeByName('C14').number = 12000; + sheet.getRangeByName('C15').number = 1800; + sheet.getRangeByName('C16').number = 477; + sheet.getRangeByName('C17').number = 1908; + final ChartCollection charts = ChartCollection(sheet); + final Chart chart = charts.add(); + chart.chartType = ExcelChartType.line3D; + chart.dataRange = sheet.getRangeByName('A11:C17'); + chart.isSeriesInRows = false; + + //Set Chart Title + chart.chartTitle = 'Line Chart 3D'; + + //Set Rotation and Elevation + chart.rotation = 20; + chart.elevation = 15; + chart.perspective = 45; + + //Positioning the chart in the worksheet + chart.topRow = 8; + chart.leftColumn = 1; + chart.bottomRow = 23; + chart.rightColumn = 8; + + ///Set gap depth for 3d line + final ChartSerie serie1 = chart.series[0]; + serie1.serieFormat.commonSerieOptions.gapDepth = 120; + + sheet.charts = charts; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6975_3D_LineChart.xlsx'); + }); + test('FLUT_6975_3D_Column_chart', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + + sheet.getRangeByName('A2').text = 'Beverages'; + sheet.getRangeByName('A3').text = 'Condiments'; + sheet.getRangeByName('A4').text = 'Confections'; + sheet.getRangeByName('A5').text = 'Dairy Products'; + sheet.getRangeByName('A6').text = 'Grains / Cereals'; + + sheet.getRangeByName('B2').number = 2776; + sheet.getRangeByName('B3').number = 1077; + sheet.getRangeByName('B4').number = 2287; + sheet.getRangeByName('B5').number = 1368; + sheet.getRangeByName('B6').number = 3325; + + sheet.getRangeByName('C2').number = 925; + sheet.getRangeByName('C3').number = 378; + sheet.getRangeByName('C4').number = 880; + sheet.getRangeByName('C5').number = 581; + sheet.getRangeByName('C6').number = 189; + final ChartCollection charts = ChartCollection(sheet); + final Chart chart1 = charts.add(); + //Set Chart Title + chart1.chartTitle = 'Column 3D'; + + //Set Rotation and Elevation + chart1.rotation = 40; + chart1.elevation = 75; + chart1.perspective = 25; + + //Positioning the chart in the worksheet + chart1.topRow = 8; + chart1.leftColumn = 1; + chart1.bottomRow = 23; + chart1.rightColumn = 8; + chart1.chartType = ExcelChartType.column3D; + chart1.dataRange = sheet.getRangeByName('A2:C6'); + + //set gap width and gap depth + final ChartSerie serie1 = chart1.series[0]; + serie1.serieFormat.commonSerieOptions.gapDepth = 120; + serie1.serieFormat.commonSerieOptions.gapWidth = 125; + + sheet.charts = charts; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6975_3D_Column_chart.xlsx'); + }); + test('FLUT_6975_3D_Column_Clustered3D_chart', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.getRangeByName('A1').text = 'Items'; + sheet.getRangeByName('B1').text = r'Amount(in $)'; + sheet.getRangeByName('C1').text = 'Count'; + + sheet.getRangeByName('A2').text = 'Beverages'; + sheet.getRangeByName('A3').text = 'Condiments'; + sheet.getRangeByName('A4').text = 'Confections'; + sheet.getRangeByName('A5').text = 'Dairy Products'; + sheet.getRangeByName('A6').text = 'Grains / Cereals'; + + sheet.getRangeByName('B2').number = 2776; + sheet.getRangeByName('B3').number = 1077; + sheet.getRangeByName('B4').number = 2287; + sheet.getRangeByName('B5').number = 1368; + sheet.getRangeByName('B6').number = 3325; + + sheet.getRangeByName('C2').number = 925; + sheet.getRangeByName('C3').number = 378; + sheet.getRangeByName('C4').number = 880; + sheet.getRangeByName('C5').number = 581; + sheet.getRangeByName('C6').number = 189; + + final ChartCollection charts = ChartCollection(sheet); + final Chart chart = charts.add(); + chart.chartType = ExcelChartType.columnClustered3D; + chart.dataRange = sheet.getRangeByName('A1:C6'); + chart.isSeriesInRows = false; + //Set Chart Title + chart.chartTitle = 'Column Clustered 3D chart'; + + //Set Rotation and Elevation + chart.rotation = 35; + chart.elevation = 25; + chart.perspective = 45; + + //Positioning the chart in the worksheet + chart.topRow = 8; + chart.leftColumn = 1; + chart.bottomRow = 23; + chart.rightColumn = 8; + + chart.legend!.position = ExcelLegendPosition.right; + chart.legend!.textArea.bold = true; + chart.legend!.textArea.italic = true; + chart.legend!.textArea.size = 14; + chart.legend!.textArea.fontName = 'Arial'; + + //set gap width and gap depth + final ChartSerie serie1 = chart.series[0]; + serie1.serieFormat.commonSerieOptions.gapDepth = 105; + serie1.serieFormat.commonSerieOptions.gapWidth = 105; + + sheet.charts = charts; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6975_3D_Column_Clustered3D_chart.xlsx'); + }); + test('FLUT_6975_Column_stacked_3D_chart', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.getRangeByName('A1').text = 'Items'; + sheet.getRangeByName('B1').text = r'Amount(in $)'; + sheet.getRangeByName('C1').text = 'Count'; + + sheet.getRangeByName('A2').text = 'Beverages'; + sheet.getRangeByName('A3').text = 'Condiments'; + sheet.getRangeByName('A4').text = 'Confections'; + sheet.getRangeByName('A5').text = 'Dairy Products'; + sheet.getRangeByName('A6').text = 'Grains / Cereals'; + + sheet.getRangeByName('B2').number = 2776; + sheet.getRangeByName('B3').number = 1077; + sheet.getRangeByName('B4').number = 2287; + sheet.getRangeByName('B5').number = 1368; + sheet.getRangeByName('B6').number = 3325; + + sheet.getRangeByName('C2').number = 925; + sheet.getRangeByName('C3').number = 378; + sheet.getRangeByName('C4').number = 880; + sheet.getRangeByName('C5').number = 581; + sheet.getRangeByName('C6').number = 189; + + final ChartCollection charts = ChartCollection(sheet); + final Chart chart = charts.add(); + chart.chartType = ExcelChartType.columnStacked3D; + chart.dataRange = sheet.getRangeByName('A1:C6'); + chart.isSeriesInRows = false; + //Set Chart Title + chart.chartTitle = 'Column stacked 3D chart'; + + //set gap width and gap depth + final ChartSerie serie1 = chart.series[0]; + serie1.serieFormat.commonSerieOptions.gapDepth = 135; + serie1.serieFormat.commonSerieOptions.gapWidth = 120; + + //Set Rotation and Elevation + chart.rotation = 60; + chart.elevation = 25; + chart.perspective = 25; + + //Positioning the chart in the worksheet + chart.topRow = 8; + chart.leftColumn = 1; + chart.bottomRow = 23; + chart.rightColumn = 8; + sheet.charts = charts; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6975_columnStacked3D.xlsx'); + }); + test('FLUT-6975-columnStacked100Chart3D', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.getRangeByName('A1').text = 'Fruits'; + sheet.getRangeByName('A2').text = 'Apples'; + sheet.getRangeByName('A3').text = 'Grapes'; + sheet.getRangeByName('A4').text = 'Bananas'; + sheet.getRangeByName('A5').text = 'Oranges'; + sheet.getRangeByName('A6').text = 'Melons'; + sheet.getRangeByName('B1').text = 'Joey'; + sheet.getRangeByName('B2').number = 5; + sheet.getRangeByName('B3').number = 4; + sheet.getRangeByName('B4').number = 4; + sheet.getRangeByName('B5').number = 2; + sheet.getRangeByName('B6').number = 2; + sheet.getRangeByName('C1').text = 'Mathew'; + sheet.getRangeByName('C2').number = 3; + sheet.getRangeByName('C3').number = 5; + sheet.getRangeByName('C4').number = 4; + sheet.getRangeByName('C5').number = 1; + sheet.getRangeByName('C6').number = 7; + sheet.getRangeByName('D1').text = 'Peter'; + sheet.getRangeByName('D2').number = 2; + sheet.getRangeByName('D3').number = 2; + sheet.getRangeByName('D4').number = 3; + sheet.getRangeByName('D5').number = 5; + sheet.getRangeByName('D6').number = 6; + + final ChartCollection charts = ChartCollection(sheet); + final Chart chart = charts.add(); + chart.chartType = ExcelChartType.columnStacked1003D; + chart.dataRange = sheet.getRangeByName('A1:D6'); + chart.isSeriesInRows = false; + + //Set Chart Title + chart.chartTitle = 'Column stacked 100 3D chart'; + + //Set Rotation and Elevation + chart.rotation = 30; + chart.elevation = 55; + chart.perspective = 50; + + //set gap width and gap depth + final ChartSerie serie1 = chart.series[0]; + serie1.serieFormat.commonSerieOptions.gapDepth = 125; + serie1.serieFormat.commonSerieOptions.gapWidth = 105; + + //Set Legend + chart.hasLegend = true; + chart.legend!.position = ExcelLegendPosition.bottom; + + //Positioning the chart in the worksheet + chart.topRow = 8; + chart.leftColumn = 1; + chart.bottomRow = 23; + chart.rightColumn = 8; + + sheet.charts = charts; + final List bytes = workbook.saveAsStream(); + workbook.dispose(); + + saveAsExcel(bytes, 'FLUT_6975_columnStacked1003D_chart.xlsx'); + }); + test('FLUT_6975_BarStacked3DChart', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.getRangeByName('A1').text = 'Items'; + sheet.getRangeByName('B1').text = r'Amount(in $)'; + sheet.getRangeByName('C1').text = 'Count'; + + sheet.getRangeByName('A2').text = 'Beverages'; + sheet.getRangeByName('A3').text = 'Condiments'; + sheet.getRangeByName('A4').text = 'Confections'; + sheet.getRangeByName('A5').text = 'Dairy Products'; + sheet.getRangeByName('A6').text = 'Grains / Cereals'; + + sheet.getRangeByName('B2').number = 2776; + sheet.getRangeByName('B3').number = 1077; + sheet.getRangeByName('B4').number = 2287; + sheet.getRangeByName('B5').number = 1368; + sheet.getRangeByName('B6').number = 3325; + + sheet.getRangeByName('C2').number = 925; + sheet.getRangeByName('C3').number = 378; + sheet.getRangeByName('C4').number = 880; + sheet.getRangeByName('C5').number = 581; + sheet.getRangeByName('C6').number = 189; + final ChartCollection charts = ChartCollection(sheet); + final Chart chart = charts.add(); + chart.chartType = ExcelChartType.barStacked3D; + chart.dataRange = sheet.getRangeByName('A1:C6'); + chart.isSeriesInRows = false; + //Set Chart Title + chart.chartTitle = 'Bar stacked 3D chart'; + + //Set Rotation and Elevation + chart.rotation = 30; + chart.elevation = 25; + chart.perspective = 60; + + //Positioning the chart in the worksheet + chart.topRow = 8; + chart.leftColumn = 1; + chart.bottomRow = 23; + chart.rightColumn = 8; + + //set gap width and gap depth + final ChartSerie serie1 = chart.series[0]; + serie1.serieFormat.commonSerieOptions.gapDepth = 145; + serie1.serieFormat.commonSerieOptions.gapWidth = 165; + + sheet.charts = charts; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6975_BarStacked3DChart.xlsx'); + }); + test('FLUT_6975_Clustered3DBarchart', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.getRangeByName('A1').text = 'Fruits'; + sheet.getRangeByName('A2').text = 'Apples'; + sheet.getRangeByName('A3').text = 'Grapes'; + sheet.getRangeByName('A4').text = 'Bananas'; + sheet.getRangeByName('A5').text = 'Oranges'; + sheet.getRangeByName('A6').text = 'Melons'; + sheet.getRangeByName('B1').text = 'Joey'; + sheet.getRangeByName('B2').number = 5; + sheet.getRangeByName('B3').number = 4; + sheet.getRangeByName('B4').number = 4; + sheet.getRangeByName('B5').number = 2; + sheet.getRangeByName('B6').number = 2; + sheet.getRangeByName('C1').text = 'Mathew'; + sheet.getRangeByName('C2').number = 3; + sheet.getRangeByName('C3').number = 5; + sheet.getRangeByName('C4').number = 4; + sheet.getRangeByName('C5').number = 1; + sheet.getRangeByName('C6').number = 7; + sheet.getRangeByName('D1').text = 'Peter'; + sheet.getRangeByName('D2').number = 2; + sheet.getRangeByName('D3').number = 2; + sheet.getRangeByName('D4').number = 3; + sheet.getRangeByName('D5').number = 5; + sheet.getRangeByName('D6').number = 6; + + final ChartCollection charts = ChartCollection(sheet); + final Chart chart = charts.add(); + chart.chartType = ExcelChartType.barClustered3D; + chart.dataRange = sheet.getRangeByName('A1:D6'); + chart.isSeriesInRows = false; + + //Set Chart Title + chart.chartTitle = 'Bar Clustered 3D chart'; + + //Set Rotation and Elevation + chart.rotation = 20; + chart.elevation = 40; + chart.perspective = 45; + + //set gap width and gap depth + final ChartSerie serie1 = chart.series[0]; + serie1.serieFormat.commonSerieOptions.gapDepth = 145; + serie1.serieFormat.commonSerieOptions.gapWidth = 120; + + //Set Legend + chart.hasLegend = true; + chart.legend!.position = ExcelLegendPosition.bottom; + + //Positioning the chart in the worksheet + chart.topRow = 8; + chart.leftColumn = 1; + chart.bottomRow = 23; + chart.rightColumn = 8; + + sheet.charts = charts; + + final List bytes = workbook.saveAsStream(); + workbook.dispose(); + + saveAsExcel(bytes, 'FLUT_6975_Clustered3DBarchart.xlsx'); + }); + + test('FLUT_6975_BarStacked1003DChart', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.getRangeByName('A1').text = 'Fruits'; + sheet.getRangeByName('A2').text = 'Apples'; + sheet.getRangeByName('A3').text = 'Grapes'; + sheet.getRangeByName('A4').text = 'Bananas'; + sheet.getRangeByName('A5').text = 'Oranges'; + sheet.getRangeByName('A6').text = 'Melons'; + sheet.getRangeByName('B1').text = 'Joey'; + sheet.getRangeByName('B2').number = 5; + sheet.getRangeByName('B3').number = 4; + sheet.getRangeByName('B4').number = 4; + sheet.getRangeByName('B5').number = 2; + sheet.getRangeByName('B6').number = 2; + sheet.getRangeByName('C1').text = 'Mathew'; + sheet.getRangeByName('C2').number = 3; + sheet.getRangeByName('C3').number = 5; + sheet.getRangeByName('C4').number = 4; + sheet.getRangeByName('C5').number = 1; + sheet.getRangeByName('C6').number = 7; + sheet.getRangeByName('D1').text = 'Peter'; + sheet.getRangeByName('D2').number = 2; + sheet.getRangeByName('D3').number = 2; + sheet.getRangeByName('D4').number = 3; + sheet.getRangeByName('D5').number = 5; + sheet.getRangeByName('D6').number = 6; + + final ChartCollection charts = ChartCollection(sheet); + final Chart chart = charts.add(); + chart.chartType = ExcelChartType.barStacked1003D; + chart.dataRange = sheet.getRangeByName('A1:D6'); + chart.isSeriesInRows = false; + + //Set Chart Title + chart.chartTitle = 'Barstacked1003Dchart'; + + //Set Rotation and Elevation + chart.rotation = 60; + chart.elevation = 15; + chart.perspective = 25; + + //set gap width and gap depth + final ChartSerie serie1 = chart.series[0]; + serie1.serieFormat.commonSerieOptions.gapDepth = 130; + serie1.serieFormat.commonSerieOptions.gapWidth = 140; + + //Set Legend + chart.hasLegend = true; + chart.legend!.position = ExcelLegendPosition.bottom; + + //Positioning the chart in the worksheet + chart.topRow = 8; + chart.leftColumn = 1; + chart.bottomRow = 23; + chart.rightColumn = 8; + + sheet.charts = charts; + final List bytes = workbook.saveAsStream(); + workbook.dispose(); + + saveAsExcel(bytes, 'FLUT_6975_BarStacked1003DChart.xlsx'); + }); + test('FLUT_6975_PieOfPieChart', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.getRangeByName('A11').text = 'Venue'; + sheet.getRangeByName('A12').text = 'Seating & Decor'; + sheet.getRangeByName('A13').text = 'Technical Team'; + sheet.getRangeByName('A14').text = 'performers'; + sheet.getRangeByName('A15').text = "performer's Transport"; + sheet.getRangeByName('A16').text = "performer's stay"; + sheet.getRangeByName('A17').text = 'Marketing'; + sheet.getRangeByName('B11:B17').numberFormat = r'$#,##0_)'; + sheet.getRangeByName('B11').number = 17500; + sheet.getRangeByName('B12').number = 1828; + sheet.getRangeByName('B13').number = 800; + sheet.getRangeByName('B14').number = 14000; + sheet.getRangeByName('B15').number = 2600; + sheet.getRangeByName('B16').number = 4464; + sheet.getRangeByName('B17').number = 2700; + final ChartCollection charts = ChartCollection(sheet); + final Chart chart1 = charts.add(); + final Chart chart2 = charts.add(); + chart1.chartType = ExcelChartType.pieOfPie; + chart1.dataRange = sheet.getRangeByName('A11:B17'); + chart1.isSeriesInRows = false; + chart2.chartType = ExcelChartType.pieOfPie; + chart2.dataRange = sheet.getRangeByName('A11:B17'); + chart2.isSeriesInRows = false; + //Set Chart Title + chart1.chartTitle = 'pie of pie chart'; + + ///Set position for chart 2 + chart2.topRow = 27; + chart2.leftColumn = 1; + chart2.bottomRow = 42; + chart2.rightColumn = 8; + + //set second pie size, gapwidth and explosion + final ChartSerie serie1 = chart1.series[0]; + serie1.serieFormat.commonSerieOptions.pieSecondSize = 75; + serie1.serieFormat.commonSerieOptions.gapWidth = 80; + serie1.serieFormat.pieExplosionPercent = 10; + + sheet.charts = charts; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6975_PieOfPieChart.xlsx'); + }); + + test('FLUT_6975_BarOfPieChart', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.getRangeByName('A11').text = 'Venue'; + sheet.getRangeByName('A12').text = 'Seating & Decor'; + sheet.getRangeByName('A13').text = 'Technical Team'; + sheet.getRangeByName('A14').text = 'performers'; + sheet.getRangeByName('A15').text = "performer's Transport"; + sheet.getRangeByName('A16').text = "performer's stay"; + sheet.getRangeByName('A17').text = 'Marketing'; + sheet.getRangeByName('B11:B17').numberFormat = r'$#,##0_)'; + sheet.getRangeByName('B11').number = 17500; + sheet.getRangeByName('B12').number = 1828; + sheet.getRangeByName('B13').number = 800; + sheet.getRangeByName('B14').number = 14000; + sheet.getRangeByName('B15').number = 2600; + sheet.getRangeByName('B16').number = 4464; + sheet.getRangeByName('B17').number = 2700; + final ChartCollection charts = ChartCollection(sheet); + final Chart chart1 = charts.add(); + final Chart chart2 = charts.add(); + chart1.chartType = ExcelChartType.pieBar; + chart1.dataRange = sheet.getRangeByName('A11:B17'); + chart1.isSeriesInRows = false; + + chart2.chartType = ExcelChartType.pieBar; + chart2.dataRange = sheet.getRangeByName('A11:B17'); + chart2.isSeriesInRows = false; + //Set Chart Title + chart1.chartTitle = 'pie of pie chart'; + + ///Set position for chart 2 + chart2.topRow = 27; + chart2.leftColumn = 1; + chart2.bottomRow = 42; + chart2.rightColumn = 8; + + //set second pie size, gapwidth and explosion + final ChartSerie serie1 = chart1.series[0]; + serie1.serieFormat.commonSerieOptions.pieSecondSize = 65; + serie1.serieFormat.commonSerieOptions.gapWidth = 70; + serie1.serieFormat.pieExplosionPercent = 10; + + chart1.chartTitle = 'Bar of pie chart'; + sheet.charts = charts; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6975_BarOfPieChart.xlsx'); + }); + test('FLUT_6975_Pie3DChart', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.getRangeByName('A11').text = 'Venue'; + sheet.getRangeByName('A12').text = 'Seating & Decor'; + sheet.getRangeByName('A13').text = 'Technical Team'; + sheet.getRangeByName('A14').text = 'performers'; + sheet.getRangeByName('A15').text = "performer's Transport"; + sheet.getRangeByName('A16').text = "performer's stay"; + sheet.getRangeByName('A17').text = 'Marketing'; + sheet.getRangeByName('B11:B17').numberFormat = r'$#,##0_)'; + sheet.getRangeByName('B11').number = 17500; + sheet.getRangeByName('B12').number = 1828; + sheet.getRangeByName('B13').number = 800; + sheet.getRangeByName('B14').number = 14000; + sheet.getRangeByName('B15').number = 2600; + sheet.getRangeByName('B16').number = 4464; + sheet.getRangeByName('B17').number = 2700; + final ChartCollection charts = ChartCollection(sheet); + final Chart chart1 = charts.add(); + chart1.chartType = ExcelChartType.pie3D; + chart1.dataRange = sheet.getRangeByName('A11:B17'); + chart1.isSeriesInRows = false; + + //set first slice Angle and explosion + final ChartSerie serie1 = chart1.series[0]; + serie1.serieFormat.commonSerieOptions.firstSliceAngle = 90; + serie1.serieFormat.pieExplosionPercent = 105; + chart1.elevation = 45; + chart1.perspective = 20; + //Positioning the chart in the worksheet + chart1.topRow = 8; + chart1.leftColumn = 1; + chart1.bottomRow = 23; + chart1.rightColumn = 8; + + sheet.charts = charts; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6975_Pie3DChart.xlsx'); + }); + test('FLUT_6975_Volume_High_low_close_chart', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.getRangeByName('A1').text = 'Date'; + sheet.getRangeByName('A2').dateTime = DateTime(2017, 4); + sheet.getRangeByName('A3').dateTime = DateTime(2017, 4, 2); + sheet.getRangeByName('A4').dateTime = DateTime(2017, 4, 3); + sheet.getRangeByName('A5').dateTime = DateTime(2017, 4, 4); + sheet.getRangeByName('A6').dateTime = DateTime(2017, 4, 5); + + sheet.getRangeByName('B1').text = 'Volume'; + sheet.getRangeByName('B2').number = 10000; + sheet.getRangeByName('B3').number = 20000; + sheet.getRangeByName('B4').number = 30000; + sheet.getRangeByName('B5').number = 25000; + sheet.getRangeByName('B6').number = 15000; + + sheet.getRangeByName('C1').text = 'High'; + sheet.getRangeByName('C2').number = 50; + sheet.getRangeByName('C3').number = 60; + sheet.getRangeByName('C4').number = 55; + sheet.getRangeByName('C5').number = 65; + sheet.getRangeByName('C6').number = 70; + + sheet.getRangeByName('D1').text = 'Low'; + sheet.getRangeByName('D2').number = 10; + sheet.getRangeByName('D3').number = 20; + sheet.getRangeByName('D4').number = 15; + sheet.getRangeByName('D5').number = 25; + sheet.getRangeByName('D6').number = 30; + + sheet.getRangeByName('E1').text = 'Close'; + sheet.getRangeByName('E2').number = 40; + sheet.getRangeByName('E3').number = 30; + sheet.getRangeByName('E4').number = 45; + sheet.getRangeByName('E5').number = 35; + sheet.getRangeByName('E6').number = 60; + + final ChartCollection charts = ChartCollection(sheet); + final Chart chart1 = charts.add(); + chart1.dataRange = sheet.getRangeByName('A1:E6'); + //Set Chart Title + chart1.chartTitle = 'Volume-High-Low-close'; + chart1.isSeriesInRows = false; + + //set gap width + final ChartSerie serie1 = chart1.series[0]; + serie1.serieFormat.commonSerieOptions.gapWidth = 105; + + //Positioning the chart in the worksheet + chart1.topRow = 8; + chart1.leftColumn = 1; + chart1.bottomRow = 23; + chart1.rightColumn = 8; + chart1.chartType = ExcelChartType.stockVolumeHighLowClose; + sheet.charts = charts; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6975_Volume_High_low_close_chart.xlsx'); + }); + test('FLUT_6975_Volume_open_High_low_close_chart', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.getRangeByName('A1').text = 'Date'; + sheet.getRangeByName('A2').dateTime = DateTime(2017, 4); + sheet.getRangeByName('A3').dateTime = DateTime(2017, 4, 2); + sheet.getRangeByName('A4').dateTime = DateTime(2017, 4, 3); + sheet.getRangeByName('A5').dateTime = DateTime(2017, 4, 4); + sheet.getRangeByName('A6').dateTime = DateTime(2017, 4, 5); + + sheet.getRangeByName('B1').text = 'Volume'; + sheet.getRangeByName('B2').number = 10000; + sheet.getRangeByName('B3').number = 20000; + sheet.getRangeByName('B4').number = 30000; + sheet.getRangeByName('B5').number = 25000; + sheet.getRangeByName('B6').number = 15000; + + sheet.getRangeByName('C1').text = 'Open'; + sheet.getRangeByName('C2').number = 30; + sheet.getRangeByName('C3').number = 40; + sheet.getRangeByName('C4').number = 35; + sheet.getRangeByName('C5').number = 45; + sheet.getRangeByName('C6').number = 50; + + sheet.getRangeByName('D1').text = 'High'; + sheet.getRangeByName('D2').number = 50; + sheet.getRangeByName('D3').number = 60; + sheet.getRangeByName('D4').number = 55; + sheet.getRangeByName('D5').number = 65; + sheet.getRangeByName('D6').number = 70; + + sheet.getRangeByName('E1').text = 'Low'; + sheet.getRangeByName('E2').number = 10; + sheet.getRangeByName('E3').number = 20; + sheet.getRangeByName('E4').number = 15; + sheet.getRangeByName('E5').number = 25; + sheet.getRangeByName('E6').number = 30; + + sheet.getRangeByName('F1').text = 'Close'; + sheet.getRangeByName('F2').number = 40; + sheet.getRangeByName('F3').number = 30; + sheet.getRangeByName('F4').number = 45; + sheet.getRangeByName('F5').number = 35; + sheet.getRangeByName('F6').number = 60; + + final ChartCollection charts = ChartCollection(sheet); + final Chart chart1 = charts.add(); + chart1.chartType = ExcelChartType.stockVolumeOpenHighLowClose; + chart1.dataRange = sheet.getRangeByName('A1:F6'); + + //set gap width + final ChartSerie serie1 = chart1.series[0]; + serie1.serieFormat.commonSerieOptions.gapWidth = 105; + + chart1.topRow = 8; + chart1.leftColumn = 1; + chart1.bottomRow = 23; + chart1.rightColumn = 8; + + chart1.isSeriesInRows = false; + sheet.charts = charts; + final List bytes = workbook.saveAsStream(); + + saveAsExcel(bytes, 'FLUT_6975_Volume_open_High_low_close_chart.xlsx'); + }); + test('FLUT_6975_Stock_Open_High_low_close_chart', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.getRangeByName('A1').text = 'Date'; + sheet.getRangeByName('A2').text = 'Open'; + sheet.getRangeByName('A3').text = 'High'; + sheet.getRangeByName('A4').text = 'Low'; + sheet.getRangeByName('A5').text = 'Close'; + + sheet.getRangeByName('B1').dateTime = DateTime(2017, 4); + sheet.getRangeByName('B2').number = 30; + sheet.getRangeByName('B3').number = 50; + sheet.getRangeByName('B4').number = 10; + sheet.getRangeByName('B5').number = 40; + + sheet.getRangeByName('C1').dateTime = DateTime(2017, 4, 2); + sheet.getRangeByName('C2').number = 40; + sheet.getRangeByName('C3').number = 60; + sheet.getRangeByName('C4').number = 20; + sheet.getRangeByName('C5').number = 30; + + sheet.getRangeByName('D1').dateTime = DateTime(2017, 4, 3); + sheet.getRangeByName('D2').number = 35; + sheet.getRangeByName('D3').number = 55; + sheet.getRangeByName('D4').number = 15; + sheet.getRangeByName('D5').number = 45; + + sheet.getRangeByName('E1').dateTime = DateTime(2017, 4, 4); + sheet.getRangeByName('E2').number = 45; + sheet.getRangeByName('E3').number = 65; + sheet.getRangeByName('E4').number = 25; + sheet.getRangeByName('E5').number = 35; + + sheet.getRangeByName('F1').dateTime = DateTime(2017, 4, 5); + sheet.getRangeByName('F2').number = 50; + sheet.getRangeByName('F3').number = 70; + sheet.getRangeByName('F4').number = 30; + sheet.getRangeByName('F5').number = 60; + + final ChartCollection charts = ChartCollection(sheet); + final Chart chart1 = charts.add(); + chart1.dataRange = sheet.getRangeByName('A1:F5'); + //Set Chart Title + chart1.chartTitle = 'Open_highlow-close'; + + //Positioning the chart in the worksheet + chart1.topRow = 3; + chart1.leftColumn = 1; + chart1.bottomRow = 23; + chart1.rightColumn = 8; + chart1.chartType = ExcelChartType.stockOpenHighLowClose; + + sheet.charts = charts; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6975_Stock_Open_High_low_close_chart.xlsx'); + }); + test('FLUT_6975_Stock_High_low_close', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.getRangeByName('A1').text = 'Date'; + sheet.getRangeByName('A2').text = 'High'; + sheet.getRangeByName('A3').text = 'Low'; + sheet.getRangeByName('A4').text = 'Close'; + + sheet.getRangeByName('B1').dateTime = DateTime(2017, 4); + sheet.getRangeByName('B2').number = 50; + sheet.getRangeByName('B3').number = 10; + sheet.getRangeByName('B4').number = 40; + + sheet.getRangeByName('C1').dateTime = DateTime(2017, 4, 2); + sheet.getRangeByName('C2').number = 60; + sheet.getRangeByName('C3').number = 20; + sheet.getRangeByName('C4').number = 30; + + sheet.getRangeByName('D1').dateTime = DateTime(2017, 4, 3); + sheet.getRangeByName('D2').number = 55; + sheet.getRangeByName('D3').number = 15; + sheet.getRangeByName('D4').number = 45; + + sheet.getRangeByName('E1').dateTime = DateTime(2017, 4, 4); + sheet.getRangeByName('E2').number = 65; + sheet.getRangeByName('E3').number = 25; + sheet.getRangeByName('E4').number = 35; + + sheet.getRangeByName('F1').dateTime = DateTime(2017, 4, 5); + sheet.getRangeByName('F2').number = 70; + sheet.getRangeByName('F3').number = 30; + sheet.getRangeByName('F4').number = 60; + + final ChartCollection charts = ChartCollection(sheet); + final Chart chart1 = charts.add(); + chart1.dataRange = sheet.getRangeByName('A1:F4'); + //Set Chart Title + chart1.chartTitle = 'High-Low-close'; + + //Positioning the chart in the worksheet + chart1.topRow = 3; + chart1.leftColumn = 1; + chart1.bottomRow = 23; + chart1.rightColumn = 8; + chart1.chartType = ExcelChartType.stockHighLowClose; + + sheet.charts = charts; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6975_Stock_High_low_close.xlsx'); + }); + test('FLUT_6975_Stock_charts in single sheet', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.getRangeByName('A1').text = 'Date'; + sheet.getRangeByName('A2').dateTime = DateTime(2017, 4); + sheet.getRangeByName('A3').dateTime = DateTime(2017, 4, 2); + sheet.getRangeByName('A4').dateTime = DateTime(2017, 4, 3); + sheet.getRangeByName('A5').dateTime = DateTime(2017, 4, 4); + sheet.getRangeByName('A6').dateTime = DateTime(2017, 4, 5); + + sheet.getRangeByName('B1').text = 'Volume'; + sheet.getRangeByName('B2').number = 10000; + sheet.getRangeByName('B3').number = 20000; + sheet.getRangeByName('B4').number = 30000; + sheet.getRangeByName('B5').number = 25000; + sheet.getRangeByName('B6').number = 15000; + + sheet.getRangeByName('C1').text = 'Open'; + sheet.getRangeByName('C2').number = 30; + sheet.getRangeByName('C3').number = 40; + sheet.getRangeByName('C4').number = 35; + sheet.getRangeByName('C5').number = 45; + sheet.getRangeByName('C6').number = 50; + + sheet.getRangeByName('D1').text = 'High'; + sheet.getRangeByName('D2').number = 50; + sheet.getRangeByName('D3').number = 60; + sheet.getRangeByName('D4').number = 55; + sheet.getRangeByName('D5').number = 65; + sheet.getRangeByName('D6').number = 70; + + sheet.getRangeByName('E1').text = 'Low'; + sheet.getRangeByName('E2').number = 10; + sheet.getRangeByName('E3').number = 20; + sheet.getRangeByName('E4').number = 15; + sheet.getRangeByName('E5').number = 25; + sheet.getRangeByName('E6').number = 30; + + sheet.getRangeByName('F1').text = 'Close'; + sheet.getRangeByName('F2').number = 40; + sheet.getRangeByName('F3').number = 30; + sheet.getRangeByName('F4').number = 45; + sheet.getRangeByName('F5').number = 35; + sheet.getRangeByName('F6').number = 60; + final ChartCollection charts = ChartCollection(sheet); + final Chart chart1 = charts.add(); + chart1.dataRange = sheet.getRangeByName('A1:F6'); + //Set Chart Title + chart1.chartTitle = 'Stock chart'; + chart1.isSeriesInRows = false; + + //set gap width + final ChartSerie serie1 = chart1.series[0]; + serie1.serieFormat.commonSerieOptions.gapWidth = 105; + + //Positioning the chart in the worksheet + chart1.topRow = 8; + chart1.leftColumn = 1; + chart1.bottomRow = 23; + chart1.rightColumn = 8; + chart1.chartType = ExcelChartType.stockVolumeOpenHighLowClose; + sheet.charts = charts; + + sheet.getRangeByName('A7').text = 'Date'; + sheet.getRangeByName('A8').text = 'Open'; + sheet.getRangeByName('A9').text = 'High'; + sheet.getRangeByName('A10').text = 'Low'; + sheet.getRangeByName('A11').text = 'Close'; + + sheet.getRangeByName('B7').dateTime = DateTime(2017, 4); + sheet.getRangeByName('B8').number = 30; + sheet.getRangeByName('B9').number = 50; + sheet.getRangeByName('B10').number = 10; + sheet.getRangeByName('B11').number = 40; + + sheet.getRangeByName('C7').dateTime = DateTime(2017, 4, 2); + sheet.getRangeByName('C8').number = 40; + sheet.getRangeByName('C9').number = 60; + sheet.getRangeByName('C10').number = 20; + sheet.getRangeByName('C11').number = 30; + + sheet.getRangeByName('D7').dateTime = DateTime(2017, 4, 3); + sheet.getRangeByName('D8').number = 35; + sheet.getRangeByName('D9').number = 55; + sheet.getRangeByName('D10').number = 15; + sheet.getRangeByName('D11').number = 45; + + sheet.getRangeByName('E7').dateTime = DateTime(2017, 4, 4); + sheet.getRangeByName('E8').number = 45; + sheet.getRangeByName('E9').number = 65; + sheet.getRangeByName('E10').number = 25; + sheet.getRangeByName('E11').number = 35; + + sheet.getRangeByName('F7').dateTime = DateTime(2017, 4, 5); + sheet.getRangeByName('F8').number = 50; + sheet.getRangeByName('F9').number = 70; + sheet.getRangeByName('F10').number = 30; + sheet.getRangeByName('F11').number = 60; + + final Chart chart2 = charts.add(); + chart2.dataRange = sheet.getRangeByName('A7:F11'); + //Set Chart Title + chart2.chartTitle = 'Stock chart'; + chart2.isSeriesInRows = true; + chart2.chartType = ExcelChartType.stockOpenHighLowClose; + + sheet.getRangeByName('A12').text = 'Date'; + sheet.getRangeByName('A13').text = 'High'; + sheet.getRangeByName('A14').text = 'Low'; + sheet.getRangeByName('A15').text = 'Close'; + + sheet.getRangeByName('B12').dateTime = DateTime(2017, 4); + sheet.getRangeByName('B13').number = 50; + sheet.getRangeByName('B14').number = 10; + sheet.getRangeByName('B15').number = 40; + + sheet.getRangeByName('C12').dateTime = DateTime(2017, 4, 2); + sheet.getRangeByName('C13').number = 60; + sheet.getRangeByName('C14').number = 20; + sheet.getRangeByName('C15').number = 30; + + sheet.getRangeByName('D12').dateTime = DateTime(2017, 4, 3); + sheet.getRangeByName('D13').number = 55; + sheet.getRangeByName('D14').number = 15; + sheet.getRangeByName('D15').number = 45; + + sheet.getRangeByName('E12').dateTime = DateTime(2017, 4, 4); + sheet.getRangeByName('E13').number = 65; + sheet.getRangeByName('E14').number = 25; + sheet.getRangeByName('E15').number = 35; + + sheet.getRangeByName('F12').dateTime = DateTime(2017, 4, 5); + sheet.getRangeByName('F13').number = 70; + sheet.getRangeByName('F14').number = 30; + sheet.getRangeByName('F15').number = 60; + + final Chart chart3 = charts.add(); + chart3.dataRange = sheet.getRangeByName('A12:F15'); + //Set Chart Title + chart3.chartTitle = 'High-Low-close'; + chart3.isSeriesInRows = true; + chart3.chartType = ExcelChartType.stockHighLowClose; + + sheet.getRangeByName('A16').text = 'Date'; + sheet.getRangeByName('A17').dateTime = DateTime(2017, 4); + sheet.getRangeByName('A18').dateTime = DateTime(2017, 4, 2); + sheet.getRangeByName('A19').dateTime = DateTime(2017, 4, 3); + sheet.getRangeByName('A20').dateTime = DateTime(2017, 4, 4); + sheet.getRangeByName('A21').dateTime = DateTime(2017, 4, 5); + + sheet.getRangeByName('B16').text = 'Volume'; + sheet.getRangeByName('B17').number = 10000; + sheet.getRangeByName('B18').number = 20000; + sheet.getRangeByName('B19').number = 30000; + sheet.getRangeByName('B20').number = 25000; + sheet.getRangeByName('B21').number = 15000; + + sheet.getRangeByName('C16').text = 'High'; + sheet.getRangeByName('C17').number = 50; + sheet.getRangeByName('C18').number = 60; + sheet.getRangeByName('C19').number = 55; + sheet.getRangeByName('C20').number = 65; + sheet.getRangeByName('C21').number = 70; + + sheet.getRangeByName('D16').text = 'Low'; + sheet.getRangeByName('D17').number = 10; + sheet.getRangeByName('D18').number = 20; + sheet.getRangeByName('D19').number = 15; + sheet.getRangeByName('D20').number = 25; + sheet.getRangeByName('D21').number = 30; + + sheet.getRangeByName('E16').text = 'Close'; + sheet.getRangeByName('E17').number = 40; + sheet.getRangeByName('E18').number = 30; + sheet.getRangeByName('E19').number = 45; + sheet.getRangeByName('E20').number = 35; + sheet.getRangeByName('E21').number = 60; + + final Chart chart4 = charts.add(); + chart4.dataRange = sheet.getRangeByName('A16:E21'); + //Set Chart Title + chart4.chartTitle = 'Volume-High-Low-close-chart'; + chart4.isSeriesInRows = false; + + //set gap width + final ChartSerie serie2 = chart4.series[0]; + serie2.serieFormat.commonSerieOptions.gapWidth = 105; + + //Positioning the charts in the worksheet + chart1.topRow = 8; + chart1.leftColumn = 1; + chart1.bottomRow = 23; + chart1.rightColumn = 8; + + chart2.topRow = 8; + chart2.leftColumn = 10; + chart2.bottomRow = 22; + chart2.rightColumn = 19; + + chart3.topRow = 27; + chart3.leftColumn = 1; + chart3.bottomRow = 42; + chart3.rightColumn = 8; + + chart4.topRow = 27; + chart4.leftColumn = 10; + chart4.bottomRow = 42; + chart4.rightColumn = 19; + + chart4.chartType = ExcelChartType.stockVolumeHighLowClose; + sheet.charts = charts; + final List bytes = workbook.saveAsStream(); + + saveAsExcel(bytes, 'FLUT_6975_Sock_charts.xlsx'); + }); + test('FLUT_6975_3D_charts', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.getRangeByName('A1').text = 'Fruits'; + sheet.getRangeByName('A2').text = 'Apples'; + sheet.getRangeByName('A3').text = 'Grapes'; + sheet.getRangeByName('A4').text = 'Bananas'; + sheet.getRangeByName('A5').text = 'Oranges'; + sheet.getRangeByName('A6').text = 'Melons'; + sheet.getRangeByName('B1').text = 'Joey'; + sheet.getRangeByName('B2').number = 5; + sheet.getRangeByName('B3').number = 4; + sheet.getRangeByName('B4').number = 4; + sheet.getRangeByName('B5').number = 2; + sheet.getRangeByName('B6').number = 2; + sheet.getRangeByName('C1').text = 'Mathew'; + sheet.getRangeByName('C2').number = 3; + sheet.getRangeByName('C3').number = 5; + sheet.getRangeByName('C4').number = 4; + sheet.getRangeByName('C5').number = 1; + sheet.getRangeByName('C6').number = 7; + sheet.getRangeByName('D1').text = 'Peter'; + sheet.getRangeByName('D2').number = 2; + sheet.getRangeByName('D3').number = 2; + sheet.getRangeByName('D4').number = 3; + sheet.getRangeByName('D5').number = 5; + sheet.getRangeByName('D6').number = 6; + final ChartCollection charts = ChartCollection(sheet); + final Chart chart1 = charts.add(); + final Chart chart2 = charts.add(); + final Chart chart3 = charts.add(); + final Chart chart4 = charts.add(); + final Chart chart5 = charts.add(); + + chart1.chartType = ExcelChartType.line3D; + chart1.dataRange = sheet.getRangeByName('A1:D6'); + + chart2.chartType = ExcelChartType.column3D; + chart2.dataRange = sheet.getRangeByName('A1:D6'); + + chart3.chartType = ExcelChartType.columnClustered3D; + chart3.dataRange = sheet.getRangeByName('A1:D6'); + + chart4.chartType = ExcelChartType.columnStacked1003D; + chart4.dataRange = sheet.getRangeByName('A1:D6'); + + chart5.chartType = ExcelChartType.barStacked1003D; + chart5.dataRange = sheet.getRangeByName('A1:D6'); + + //Set Chart Title + chart1.chartTitle = 'Line 3D chart'; + chart2.chartTitle = 'column 3D chart'; + chart3.chartTitle = 'Column clustered 3D chart'; + chart4.chartTitle = 'ColumnStacked1003D chart'; + chart5.chartTitle = 'Barstacked100 chart'; + //Set Rotation and Elevation,perspective + chart1.rotation = 20; + chart1.elevation = 15; + chart1.perspective = 25; + final ChartSerie serie1 = chart1.series[0]; + serie1.serieFormat.commonSerieOptions.gapDepth = 55; + + chart2.rotation = 20; + chart2.elevation = 15; + chart2.perspective = 30; + chart2.rightAngleAxes = false; + + chart3.rotation = 25; + chart3.elevation = 10; + chart3.perspective = 40; + chart3.rightAngleAxes = false; + + chart3.rotation = 40; + chart3.elevation = 55; + chart3.perspective = 15; + + chart4.rotation = 30; + chart4.elevation = 25; + chart4.perspective = 25; + + chart5.rotation = 35; + chart5.elevation = 60; + chart5.perspective = 10; + + //Positioning the charts in the worksheet + chart1.topRow = 8; + chart1.leftColumn = 1; + chart1.bottomRow = 23; + chart1.rightColumn = 8; + + chart2.topRow = 8; + chart2.leftColumn = 10; + chart2.bottomRow = 22; + chart2.rightColumn = 19; + + chart3.topRow = 27; + chart3.leftColumn = 1; + chart3.bottomRow = 42; + chart3.rightColumn = 8; + + chart4.topRow = 27; + chart4.leftColumn = 10; + chart4.bottomRow = 42; + chart4.rightColumn = 19; + + chart5.topRow = 45; + chart5.leftColumn = 1; + chart5.bottomRow = 60; + chart5.rightColumn = 8; + + chart1.isSeriesInRows = false; + chart2.isSeriesInRows = false; + + sheet.charts = charts; + + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6975_3D_charts.xlsx'); + }); + test('FLUT_6975_doughNutExploded_chart', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.getRangeByName('A1').text = 'Food'; + sheet.getRangeByName('A2').text = 'Fruit'; + sheet.getRangeByName('A3').text = 'Vegetable'; + sheet.getRangeByName('A4').text = 'Dairy'; + sheet.getRangeByName('A5').text = 'Proptein'; + sheet.getRangeByName('A6').text = 'Grains'; + sheet.getRangeByName('A7').text = 'Others'; + + sheet.getRangeByName('B1').text = 'Percentage'; + sheet.getRangeByName('B2').number = 0.36; + sheet.getRangeByName('B3').number = 0.14; + sheet.getRangeByName('B4').number = 0.13; + sheet.getRangeByName('B5').number = 0.28; + sheet.getRangeByName('B6').number = 0.9; + sheet.getRangeByName('B7').number = 0.15; + + final ChartCollection charts = ChartCollection(sheet); + final Chart chart = charts.add(); + chart.chartType = ExcelChartType.doughnutExploded; + chart.dataRange = sheet.getRangeByName('A2:B7'); + chart.isSeriesInRows = false; + + ///set doughnut hole size + chart.series[0].serieFormat.commonSerieOptions.holeSizePercent = 50; + + ///set firstslice angle + chart.series[0].serieFormat.commonSerieOptions.firstSliceAngle = 20; + + ///set explosion percentage + chart.series[0].serieFormat.pieExplosionPercent = 30; + + //Set Chart Title + chart.chartTitle = 'Exploded Doughnut Chart '; + + chart.series[0].dataLabels.isValue = true; + + sheet.charts = charts; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6975_doughnutExploded_chart.xlsx'); + }); + test('FLUT_6975_doughNut_chart', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.getRangeByName('A1').text = 'Company'; + sheet.getRangeByName('A2').text = 'Company A'; + sheet.getRangeByName('A3').text = 'Company B'; + sheet.getRangeByName('A4').text = 'Company C'; + sheet.getRangeByName('A5').text = 'Company D'; + sheet.getRangeByName('A6').text = 'Company E'; + sheet.getRangeByName('A7').text = 'Others'; + + sheet.getRangeByName('B1').dateTime = DateTime(2016); + sheet.getRangeByName('B2').number = 0.28; + sheet.getRangeByName('B3').number = 0.5; + sheet.getRangeByName('B4').number = 0.17; + sheet.getRangeByName('B5').number = 0.18; + sheet.getRangeByName('B6').number = 0.17; + sheet.getRangeByName('B7').number = 0.15; + + sheet.getRangeByName('C1').dateTime = DateTime(2017); + sheet.getRangeByName('C2').number = 0.25; + sheet.getRangeByName('C3').number = 0.9; + sheet.getRangeByName('C4').number = 0.19; + sheet.getRangeByName('C5').number = 0.22; + sheet.getRangeByName('C6').number = 0.15; + sheet.getRangeByName('C7').number = 0.10; + + sheet.getRangeByName('D1').dateTime = DateTime(2018); + sheet.getRangeByName('D2').number = 0.35; + sheet.getRangeByName('D3').number = 0.1; + sheet.getRangeByName('D4').number = 0.145; + sheet.getRangeByName('D5').number = 0.55; + sheet.getRangeByName('D6').number = 0.55; + sheet.getRangeByName('D7').number = 0.40; + + final ChartCollection charts = ChartCollection(sheet); + final Chart chart = charts.add(); + chart.chartType = ExcelChartType.doughnut; + chart.dataRange = sheet.getRangeByName('A2:D7'); + chart.isSeriesInRows = false; + + chart.series[0].serieFormat.commonSerieOptions.holeSizePercent = 80; + chart.series[0].serieFormat.commonSerieOptions.firstSliceAngle = 10; + chart.series[0].serieFormat.pieExplosionPercent = 50; + + //Set Chart Title + chart.chartTitle = 'Doughnut Chart '; + + chart.series[0].dataLabels.isValue = true; + chart.series[1].dataLabels.isValue = true; + chart.series[2].dataLabels.isValue = true; + + sheet.charts = charts; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6975_doughnut_chart.xlsx'); + }); + test('FLUT_6975_Stockchartwithmarker', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.getRangeByName('A1').text = 'Date'; + sheet.getRangeByName('A2').text = 'Open'; + sheet.getRangeByName('A3').text = 'High'; + sheet.getRangeByName('A4').text = 'Low'; + sheet.getRangeByName('A5').text = 'Close'; + + sheet.getRangeByName('B1').dateTime = DateTime(2017, 4); + sheet.getRangeByName('B2').number = 30; + sheet.getRangeByName('B3').number = 50; + sheet.getRangeByName('B4').number = 10; + sheet.getRangeByName('B5').number = 40; + + sheet.getRangeByName('C1').dateTime = DateTime(2017, 4, 2); + sheet.getRangeByName('C2').number = 40; + sheet.getRangeByName('C3').number = 60; + sheet.getRangeByName('C4').number = 20; + sheet.getRangeByName('C5').number = 30; + + sheet.getRangeByName('D1').dateTime = DateTime(2017, 4, 3); + sheet.getRangeByName('D2').number = 35; + sheet.getRangeByName('D3').number = 55; + sheet.getRangeByName('D4').number = 15; + sheet.getRangeByName('D5').number = 45; + + sheet.getRangeByName('E1').dateTime = DateTime(2017, 4, 4); + sheet.getRangeByName('E2').number = 45; + sheet.getRangeByName('E3').number = 65; + sheet.getRangeByName('E4').number = 25; + sheet.getRangeByName('E5').number = 35; + + sheet.getRangeByName('F1').dateTime = DateTime(2017, 4, 5); + sheet.getRangeByName('F2').number = 50; + sheet.getRangeByName('F3').number = 70; + sheet.getRangeByName('F4').number = 30; + sheet.getRangeByName('F5').number = 60; + + final ChartCollection charts = ChartCollection(sheet); + final Chart chart1 = charts.add(); + chart1.dataRange = sheet.getRangeByName('A1:F5'); + //Set Chart Title + chart1.chartTitle = 'Open_highlow-close'; + + ///apply marker + final ChartSerie serie1 = chart1.series[0]; + final ChartSerie serie2 = chart1.series[1]; + final ChartSerie serie3 = chart1.series[2]; + final ChartSerie serie4 = chart1.series[3]; + serie1.serieFormat.markerStyle = ExcelChartMarkerType.circle; + serie1.serieFormat.markerBackgroundColor = '#0000FF'; + serie1.serieFormat.markerBorderColor = '#0000FF'; + + serie2.serieFormat.markerStyle = ExcelChartMarkerType.square; + serie2.serieFormat.markerBackgroundColor = '#FFA500'; + serie2.serieFormat.markerBorderColor = '#FFA500'; + + serie3.serieFormat.markerStyle = ExcelChartMarkerType.starSquare; + serie3.serieFormat.markerBackgroundColor = '#023020'; + serie3.serieFormat.markerBorderColor = '#023020'; + + serie4.serieFormat.markerStyle = ExcelChartMarkerType.diamond; + serie4.serieFormat.markerBackgroundColor = '#964B00'; + serie4.serieFormat.markerBorderColor = '#964B00'; + + //Positioning the chart in the worksheet + chart1.topRow = 3; + chart1.leftColumn = 1; + chart1.bottomRow = 23; + chart1.rightColumn = 8; + chart1.chartType = ExcelChartType.stockOpenHighLowClose; + + sheet.charts = charts; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'Stockchartwithmarker.xlsx'); + }); + + test('FLUT-6975-Line with marker Chart', () { + final Workbook workbook = Workbook(); + final Worksheet sheet = workbook.worksheets[0]; + sheet.getRangeByName('A1').text = 'Fruits'; + sheet.getRangeByName('A2').text = 'Apples'; + sheet.getRangeByName('A3').text = 'Grapes'; + sheet.getRangeByName('A4').text = 'Bananas'; + sheet.getRangeByName('A5').text = 'Oranges'; + sheet.getRangeByName('A6').text = 'Melons'; + sheet.getRangeByName('B1').text = 'Joey'; + sheet.getRangeByName('B2').number = 5; + sheet.getRangeByName('B3').number = 4; + sheet.getRangeByName('B4').number = 4; + sheet.getRangeByName('B5').number = 2; + sheet.getRangeByName('B6').number = 2; + sheet.getRangeByName('C1').text = 'Mathew'; + sheet.getRangeByName('C2').number = 3; + sheet.getRangeByName('C3').number = 5; + sheet.getRangeByName('C4').number = 4; + sheet.getRangeByName('C5').number = 1; + sheet.getRangeByName('C6').number = 7; + sheet.getRangeByName('D1').text = 'Peter'; + sheet.getRangeByName('D2').number = 2; + sheet.getRangeByName('D3').number = 2; + sheet.getRangeByName('D4').number = 3; + sheet.getRangeByName('D5').number = 5; + sheet.getRangeByName('D6').number = 6; + final ChartCollection charts = ChartCollection(sheet); + final Chart chart1 = charts.add(); + chart1.chartType = ExcelChartType.line; + chart1.dataRange = sheet.getRangeByName('A1:D6'); + chart1.chartTitle = 'Line chart with marker'; + chart1.isSeriesInRows = false; + + ///apply marker + final ChartSerie serie1 = chart1.series[0]; + final ChartSerie serie2 = chart1.series[1]; + final ChartSerie serie3 = chart1.series[2]; + + serie1.serieFormat.markerStyle = ExcelChartMarkerType.circle; + serie1.serieFormat.markerBackgroundColor = '#0000FF'; + serie1.serieFormat.markerBorderColor = '#0000FF'; + + serie2.serieFormat.markerStyle = ExcelChartMarkerType.circle; + serie2.serieFormat.markerBackgroundColor = '#FFA500'; + serie2.serieFormat.markerBorderColor = '#FFA500'; + + serie3.serieFormat.markerStyle = ExcelChartMarkerType.circle; + serie3.serieFormat.markerBackgroundColor = '#023020'; + serie3.serieFormat.markerBorderColor = '#023020'; + + sheet.charts = charts; + final List bytes = workbook.saveAsStream(); + saveAsExcel(bytes, 'FLUT_6975_Line chart with custom marker.xlsx'); + }); test('RangeSeriesNotRow', () { final Workbook workbook = Workbook(); @@ -417,7 +1933,7 @@ void xlsiochart() { final Chart chart = charts.add(); chart.chartType = ExcelChartType.line; chart.dataRange = sheet.getRangeByName('A1:C13'); - chart.isSeriesInRows = false; + chart.isSeriesInRows = true; chart.chartTitle = 'Event Expenses'; chart.chartTitleArea.bold = true; chart.chartTitleArea.size = 12; @@ -1293,15 +2809,15 @@ void xlsiochart() { chart1.isSeriesInRows = false; sheet.charts = charts; - final Picture picture = sheet.pictures.addBase64(3, 4, _invoicejpeg); + final Picture picture = sheet.pictures.addBase64(3, 4, invoicejpeg); picture.lastRow = 7; picture.lastColumn = 8; - final Picture picture2 = sheet.pictures.addBase64(3, 4, _image1jpg); + final Picture picture2 = sheet.pictures.addBase64(3, 4, image1jpg); picture2.lastRow = 7; picture2.lastColumn = 8; - final Picture picture3 = sheet.pictures.addBase64(3, 4, _image3png); + final Picture picture3 = sheet.pictures.addBase64(3, 4, image3png); picture3.lastRow = 7; picture3.lastColumn = 8; @@ -1339,15 +2855,15 @@ void xlsiochart() { chart3.isSeriesInRows = false; sheet1.charts = charts; - final Picture picture4 = sheet1.pictures.addBase64(3, 4, _invoicejpeg); + final Picture picture4 = sheet1.pictures.addBase64(3, 4, invoicejpeg); picture4.lastRow = 7; picture4.lastColumn = 8; - final Picture picture5 = sheet1.pictures.addBase64(3, 4, _image1jpg); + final Picture picture5 = sheet1.pictures.addBase64(3, 4, image1jpg); picture5.lastRow = 7; picture5.lastColumn = 8; - final Picture picture6 = sheet1.pictures.addBase64(3, 4, _image10jpg); + final Picture picture6 = sheet1.pictures.addBase64(3, 4, image10jpg); picture6.lastRow = 7; picture6.lastColumn = 8; final List bytes = workbook.saveAsStream(); @@ -1386,15 +2902,15 @@ void xlsiochart() { sheet.charts = charts; - final Picture picture = sheet.pictures.addBase64(3, 4, _invoicejpeg); + final Picture picture = sheet.pictures.addBase64(3, 4, invoicejpeg); picture.lastRow = 7; picture.lastColumn = 8; - final Picture picture2 = sheet.pictures.addBase64(3, 4, _image1jpg); + final Picture picture2 = sheet.pictures.addBase64(3, 4, image1jpg); picture2.lastRow = 7; picture2.lastColumn = 8; - final Picture picture3 = sheet.pictures.addBase64(3, 4, _image3png); + final Picture picture3 = sheet.pictures.addBase64(3, 4, image3png); picture3.lastRow = 7; picture3.lastColumn = 8; diff --git a/packages/syncfusion_officechart/lib/src/test/images.dart b/packages/syncfusion_officechart/lib/src/test/images.dart index fd6755f94..936ddea70 100644 --- a/packages/syncfusion_officechart/lib/src/test/images.dart +++ b/packages/syncfusion_officechart/lib/src/test/images.dart @@ -9,5 +9,6 @@ String _image10jpg = // ignore: unused_element String _image3png = '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'; -String _invoicejpeg = +// ignore: public_member_api_docs +String invoicejpeg = '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'; diff --git a/packages/syncfusion_officechart/lib/src/test/sample_browser_samples.dart b/packages/syncfusion_officechart/lib/src/test/sample_browser_samples.dart index 0ec2a3f6a..796bd10ff 100644 --- a/packages/syncfusion_officechart/lib/src/test/sample_browser_samples.dart +++ b/packages/syncfusion_officechart/lib/src/test/sample_browser_samples.dart @@ -1,4 +1,8 @@ -part of officechart; +// ignore: depend_on_referenced_packages +import 'package:flutter_test/flutter_test.dart'; +import 'package:syncfusion_flutter_xlsio/xlsio.dart'; +import '../../officechart.dart'; +import 'chart.dart'; // ignore: public_member_api_docs void sampleBrowserSamples() { diff --git a/packages/syncfusion_officechart/pubspec.yaml b/packages/syncfusion_officechart/pubspec.yaml index 5fcced1f3..9359d3b6d 100644 --- a/packages/syncfusion_officechart/pubspec.yaml +++ b/packages/syncfusion_officechart/pubspec.yaml @@ -1,17 +1,22 @@ name: syncfusion_officechart description: Syncfusion Flutter Office Chart is a library written natively in Dart for creating Office charts from scratch. -version: 20.2.36-beta.1 +version: 18.3.35-beta.1 homepage: https://github.com/syncfusion/flutter-widgets/tree/master/packages/syncfusion_officechart environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: sdk: flutter xml: ">=5.1.0 <7.0.0" archive: ">=3.1.2 <4.0.0" - syncfusion_flutter_xlsio: ^20.2.36 + syncfusion_flutter_xlsio: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-xlsio + path: flutter_xlsio/syncfusion_flutter_xlsio + branch: release/20.4.0.1 + ref: release/20.4.0.1 dev_dependencies: flutter_test: diff --git a/packages/syncfusion_officecore/README.md b/packages/syncfusion_officecore/README.md index fc3ad0923..426f9362d 100644 --- a/packages/syncfusion_officecore/README.md +++ b/packages/syncfusion_officecore/README.md @@ -19,15 +19,12 @@ Explore the full capabilities of our Flutter widgets on your device by installin

- - + +

- -

-

@@ -41,11 +38,11 @@ Take a look at the following to learn more about Syncfusion Flutter widgets: ## Support and Feedback -* For any other queries, reach our [Syncfusion support team](https://www.syncfusion.com/support/directtrac/incidents/newincident) or post the queries through the [Community forums](https://www.syncfusion.com/forums) and submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter). +* For any other queries, reach our [Syncfusion support team](https://support.syncfusion.com/support/tickets/create) or post the queries through the [Community forums](https://www.syncfusion.com/forums) and submit a feature request or a bug through our [Feedback portal](https://www.syncfusion.com/feedback/flutter). * To renew the subscription, click [renew](https://www.syncfusion.com/sales/products) or contact our sales team at salessupport@syncfusion.com | Toll Free: 1-888-9 DOTNET. ## About Syncfusion Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 20,000 customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies. -Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), and [Blazor](https://www.syncfusion.com/blazor-components), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls) and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. +Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), [Flutter](https://www.syncfusion.com/flutter-widgets), and [Blazor](https://www.syncfusion.com/blazor-components)), mobile ([.NET MAUI](https://www.syncfusion.com/maui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([Flutter](https://www.syncfusion.com/flutter-widgets), [.NET MAUI](https://www.syncfusion.com/maui-controls?utm_source=pubdev&utm_medium=listing&utm_campaign=flutter-charts-pubdev), [WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. \ No newline at end of file diff --git a/packages/syncfusion_officecore/example/lib/helper/save_file_mobile.dart b/packages/syncfusion_officecore/example/lib/helper/save_file_mobile.dart index 12863e435..c7ddbff8b 100644 --- a/packages/syncfusion_officecore/example/lib/helper/save_file_mobile.dart +++ b/packages/syncfusion_officecore/example/lib/helper/save_file_mobile.dart @@ -2,6 +2,7 @@ import 'dart:io'; import 'package:open_file/open_file.dart' as open_file; import 'package:path_provider/path_provider.dart' as path_provider; +// ignore: depend_on_referenced_packages import 'package:path_provider_platform_interface/path_provider_platform_interface.dart'; ///To save the Excel file in the device diff --git a/packages/syncfusion_officecore/example/lib/main.dart b/packages/syncfusion_officecore/example/lib/main.dart index 343a4d468..0805b93bc 100644 --- a/packages/syncfusion_officecore/example/lib/main.dart +++ b/packages/syncfusion_officecore/example/lib/main.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:syncfusion_flutter_xlsio/xlsio.dart' hide Column, Alignment; +import 'package:syncfusion_flutter_xlsio/xlsio.dart' hide Column; //Local imports import 'helper/save_file_mobile.dart' @@ -28,6 +28,7 @@ class CreateExcelStatefulWidget extends StatefulWidget { /// title. final String title; @override + // ignore: library_private_types_in_public_api _CreateExcelState createState() => _CreateExcelState(); } @@ -43,13 +44,13 @@ class _CreateExcelState extends State { mainAxisAlignment: MainAxisAlignment.center, children: [ TextButton( - child: const Text('Generate Excel'), style: TextButton.styleFrom( - primary: Colors.white, + foregroundColor: Colors.white, backgroundColor: Colors.lightBlue, - onSurface: Colors.grey, + disabledForegroundColor: Colors.grey, ), onPressed: generateExcel, + child: const Text('Generate Excel'), ) ], ), diff --git a/packages/syncfusion_officecore/example/linux/flutter/generated_plugins.cmake b/packages/syncfusion_officecore/example/linux/flutter/generated_plugins.cmake index 51436ae8c..2e1de87a7 100644 --- a/packages/syncfusion_officecore/example/linux/flutter/generated_plugins.cmake +++ b/packages/syncfusion_officecore/example/linux/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_officecore/example/macos/Flutter/GeneratedPluginRegistrant.swift b/packages/syncfusion_officecore/example/macos/Flutter/GeneratedPluginRegistrant.swift index 7ce0a99b8..0d56f519c 100644 --- a/packages/syncfusion_officecore/example/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/packages/syncfusion_officecore/example/macos/Flutter/GeneratedPluginRegistrant.swift @@ -2,8 +2,6 @@ // Generated file. Do not edit. // -// clang-format off - import FlutterMacOS import Foundation diff --git a/packages/syncfusion_officecore/example/pubspec.yaml b/packages/syncfusion_officecore/example/pubspec.yaml index db61f6a14..07d620244 100644 --- a/packages/syncfusion_officecore/example/pubspec.yaml +++ b/packages/syncfusion_officecore/example/pubspec.yaml @@ -2,7 +2,7 @@ name: officecore_example description: Demo for creating a Excel file using syncfusion_flutter_officecore package. environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: @@ -11,7 +11,7 @@ dependencies: open_file: ^3.0.1 syncfusion_flutter_xlsio: git: - url: https://buildautomation:Coolcomp299@gitlab.syncfusion.com/essential-studio/flutter-xlsio + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-xlsio path: flutter_xlsio/syncfusion_flutter_xlsio branch: development ref: development diff --git a/packages/syncfusion_officecore/example/windows/flutter/generated_plugins.cmake b/packages/syncfusion_officecore/example/windows/flutter/generated_plugins.cmake index 4d10c2518..b93c4c30c 100644 --- a/packages/syncfusion_officecore/example/windows/flutter/generated_plugins.cmake +++ b/packages/syncfusion_officecore/example/windows/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_officecore/pubspec.yaml b/packages/syncfusion_officecore/pubspec.yaml index 0120e9a08..caf0cf9da 100644 --- a/packages/syncfusion_officecore/pubspec.yaml +++ b/packages/syncfusion_officecore/pubspec.yaml @@ -1,16 +1,21 @@ name: syncfusion_officecore description: Syncfusion Flutter Office Core is a dependant library for Syncfusion Flutter XlsIO, written natively in Dart for creating Excel from scratch. -version: 20.2.36-beta +version: 18.3.35-beta homepage: https://github.com/syncfusion/flutter-widgets/tree/master/packages/syncfusion_officecore environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.17.0 <3.0.0" dependencies: flutter: sdk: flutter - syncfusion_flutter_core: ^20.2.36 + syncfusion_flutter_core: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-core + path: syncfusion_flutter_core + branch: release/20.4.0.1 + ref: release/20.4.0.1 dev_dependencies: flutter_test: - sdk: flutter \ No newline at end of file + sdk: flutter diff --git a/packages/syncfusion_pdfviewer_macos/CHANGELOG.md b/packages/syncfusion_pdfviewer_macos/CHANGELOG.md index 42a961c22..163fe2baf 100644 --- a/packages/syncfusion_pdfviewer_macos/CHANGELOG.md +++ b/packages/syncfusion_pdfviewer_macos/CHANGELOG.md @@ -1,23 +1,3 @@ -## Unreleased +## [19.2.44-beta] - 06/30/2021 -### Features - -* **onDraw callback** - Get the offset of each stroke in the Signature Pad with `onDraw` callback. -* **Get strokes as path collection** - The strokes in the Signature Pad can be retrieved as a ui.path collection. - -### Breaking changes - -* The [`onSignStart`](https://pub.dev/documentation/syncfusion_flutter_signaturepad/latest/signaturepad/SfSignaturePad/onSignStart.html) callback is now renamed as `onDrawStart`. -* The [`onSignEnd`](https://pub.dev/documentation/syncfusion_flutter_signaturepad/latest/signaturepad/SfSignaturePad/onSignEnd.html) callback is now renamed as `onDrawEnd`. -* The return type of onSignStart (now onDrawStart) callback is now changes to bool from void. - -## [18.3.35-beta] - -Initial release. - -**Features** - -* **Signature stroke color customization** - The widget allows you to choose the stroke color for the signature. -* **Signature stroke width customization** - The widget allows you to set the minimum and maximum stroke widths for the signature. -* **SignaturePad background color customization** - The widget allows you to set the background color for the SignaturePad. -* **Save as image** - The widget provides the option to save the drawn signature as an image. This converted image can be embedded in documents to denote a signature. \ No newline at end of file +* Initial release. diff --git a/packages/syncfusion_pdfviewer_macos/LICENSE b/packages/syncfusion_pdfviewer_macos/LICENSE index 70f791939..f330d1667 100644 --- a/packages/syncfusion_pdfviewer_macos/LICENSE +++ b/packages/syncfusion_pdfviewer_macos/LICENSE @@ -1,12 +1,12 @@ Syncfusion License -Syncfusion Flutter SignaturePad package is available under the Syncfusion Essential Studio program, and can be licensed either under the Syncfusion Community License Program or the Syncfusion commercial license. +Syncfusion Flutter PDF Viewer package is available under the Syncfusion Essential Studio program, and can be licensed either under the Syncfusion Community License Program or the Syncfusion commercial license. -To be qualified for the Syncfusion Community License Program you must have a gross revenue of less than one (1) million U.S. dollars ($1,000,000.00 USD) per year and have less than five (5) developers in your organization, and agree to be bound by Syncfusion’s terms and conditions. +To be qualified for the Syncfusion Community License Program you must have a gross revenue of less than one (1) million U.S. dollars ($1,000,000.00 USD) per year and have less than five (5) developers in your organization, and agree to be bound by Syncfusion’s terms and conditions. Customers who do not qualify for the community license can contact sales@syncfusion.com for commercial licensing options. -Under no circumstances can you use this product without (1) either a Community License or a commercial license and (2) without agreeing and abiding by Syncfusion’s license containing all terms and conditions. +Under no circumstances can you use this product without (1) either a Community License or a commercial license and (2) without agreeing and abiding by Syncfusion’s license containing all terms and conditions. -The Syncfusion license that contains the terms and conditions can be found at -https://www.syncfusion.com/content/downloads/syncfusion_license.pdf +The Syncfusion license that contains the terms and conditions can be found at +https://www.syncfusion.com/content/downloads/syncfusion_license.pdf \ No newline at end of file diff --git a/packages/syncfusion_pdfviewer_macos/README.md b/packages/syncfusion_pdfviewer_macos/README.md index d8d07239c..687b262eb 100644 --- a/packages/syncfusion_pdfviewer_macos/README.md +++ b/packages/syncfusion_pdfviewer_macos/README.md @@ -1,264 +1,31 @@ -![syncfusion_flutter_signaturepad](https://cdn.syncfusion.com/content/images/FTControl/signature_pad_banner.png) +# Flutter PDF Viewer macOS -# Syncfusion Flutter SignaturePad +The macOS implementation of [Syncfusion Flutter PDF Viewer](https://pub.dev/packages/syncfusion_flutter_pdfviewer) plugin. -Syncfusion Flutter SignaturePad library is written in Dart for capturing smooth and more realistic signatures and save it as an image to sync across devices and documents that needs signatures. +## Usage -## Overview +### Import the package -This library is used to capture a signature through drawing gestures. You can use your finger, pen, or mouse on a tablet, touchscreen, etc., to draw your own signature in this SignaturePad widget. The widget also allows you to save a signature as an image, which can be further synchronized with your documents that need the signature. +This package is an endorsed implementation of `syncfusion_flutter_pdfviewer` for the macOS platform since version `19.2.0-beta`, so it gets automatically added to your dependencies when you depend on package `syncfusion_flutter_pdfviewer`. -**Disclaimer** : This is a commercial package. To use this package, you need to have either a Syncfusion commercial license or [Free Syncfusion Community license](https://www.syncfusion.com/products/communitylicense). For more details, please check the [LICENSE](https://github.com/syncfusion/flutter-examples/blob/master/LICENSE) file. - -![Flutter signature drawing](https://cdn.syncfusion.com/content/images/FTControl/signaturepad_overview.gif) - -## Table of contents - -- [SignaturePad features](#signaturepad-features) -- [Get the demo application](#get-the-demo-application) -- [Useful links](#other-useful-links) -- [Installation](#installation) -- [SignaturePad Getting Started](#getting-started) -- [Support and feedback](#support-and-feedback) -- [About Syncfusion](#about-syncfusion) - -## SignaturePad features - -* **Rich customization** - The widget allows you to set the minimum and maximum stroke widths and the stroke color for a signature. Also, you can set the background color of the SignaturePad. -* **More realistic handwritten look and feel** - The unique stroke rendering algorithm draws signatures based on the speed of the drawing gestures, along with the minimum and maximum stroke thicknesses, which brings a more realistic, handwritten look and feel to your signatures. -* **Save as image** - Save the drawn signature as an image to embed in documents, PDFs, and anything else that supports using images to denote a signature. - -## Get the demo application - -Explore the full capability of our Flutter widgets on your device by installing our sample browser application from the following app stores. View sample codes in GitHub. - -

- - - -

-

- - - -

-

- -

- -## Other useful links - -Take a look at the following to learn more about the Syncfusion Flutter SignaturePad: - -* [Syncfusion Flutter SignaturePad product page](https://www.syncfusion.com/flutter-widgets) -* [User guide documentation for SignaturePad](https://help.syncfusion.com/flutter/introduction/overview) -* [Knowledge base](https://www.syncfusion.com/kb) - -## Installation - -Install the latest version from [pub.dev](https://pub.dev/packages/syncfusion_flutter_signaturepad/install). - -## Getting started - -Import the following package. - -```dart -import 'package:syncfusion_flutter_signaturepad/signaturepad.dart'; -``` - -### Add SignaturePad to widget tree - -Add the SignaturePad widget as a child of any widget. Here, the SignaturePad widget is added as a child of the Container widget. - -```dart -@override - - Widget build(BuildContext context) { - return Scaffold( - body: Container( - child: SfSignaturePad(), - ), - ); - } - +```yaml +... +dependencies: + ... + syncfusion_flutter_pdfviewer: ^20.3.0 + ... +... ``` -### Add SignaturePad elements - -Update elements such as stroke color, minimum stroke width, maximum stroke width, and background color to capture a realistic signature. In the following code example, the SignaturePad is added inside a Container widget to get a size for it. - -```dart -@override - Widget build(BuildContext context) { - - return Scaffold( - body: Center( - child: Container( - child: SfSignaturePad( - minimumStrokeWidth: 1, - maximumStrokeWidth: 3, - strokeColor: Colors.blue, - backgroundColor: Colors.grey, - ), - height: 200, - width: 300, - ), - ), - ); - } -``` - -## Save the signature as image in mobile and desktop platforms - -You can save the signature drawn in the SignaturePad as an image using the [`toImage()`](https://pub.dev/documentation/syncfusion_flutter_signaturepad/latest/signaturepad/SfSignaturePadState/toImage.html) method as shown in the below code example in Android, iOS and Desktop platforms. Since this [`toImage()`](https://pub.dev/documentation/syncfusion_flutter_signaturepad/latest/signaturepad/SfSignaturePadState/toImage.html) method is defined in the state object of SignaturePad, you have to use a global key assigned to the SignaturePad instance to call this method. Optionally, the `pixelRatio` parameter may be used to set the pixel ratio of the image. The higher the pixel ratio value, the high-quality picture you get. The default value of the pixel ratio parameter is 1. - -```dart -@override -Widget build(BuildContext context) { - GlobalKey _signaturePadKey = GlobalKey(); - return Scaffold( - body: Column( - children: [ - Container( - child: SfSignaturePad( - key: _signaturePadKey, - backgroundColor: Colors.grey[200], - ), - height: 200, - width: 300, - ), - RaisedButton( - child: Text("Save As Image"), - onPressed: () async { - ui.Image image = - await _signaturePadKey.currentState!.toImage(); - }), - ], - ), - ); -} -``` - -## Save the signature as image in web (Desktop browser) - -This is similar to the mobile and desktop platforms. You can save the signature drawn in the SignaturePad as an image using the [`toImage()`](https://pub.dev/documentation/syncfusion_flutter_signaturepad/latest/signaturepad/SfSignaturePadState/toImage.html) method as shown in the below code example in web platform (Desktop browser). Since this [`toImage()`](https://pub.dev/documentation/syncfusion_flutter_signaturepad/latest/signaturepad/SfSignaturePadState/toImage.html) method is defined in the state object of SignaturePad, you have to use a global key assigned to the SignaturePad instance to call this method. Optionally, the `pixelRatio` parameter may be used to set the pixel ratio of the image. The higher the pixel ratio value, the high-quality picture you get. The default value of the pixel ratio parameter is 1. - -```dart -@override -Widget build(BuildContext context) { - GlobalKey _signaturePadKey = GlobalKey(); - return Scaffold( - body: Column( - children: [ - Container( - child: SfSignaturePad( - key: _signaturePadKey, - backgroundColor: Colors.grey[200], - ), - height: 200, - width: 300, - ), - RaisedButton( - child: Text("Save As Image"), - onPressed: () async { - ui.Image image = - await _signaturePadKey.currentState!.toImage(); - }), - ], - ), - ); -} -``` - -## Save the signature as image in Web (Mobile browser) - -You can save the signature drawn in the SignaturePad as an image using the [`renderToContext2D`](https://pub.dev/documentation/syncfusion_flutter_signaturepad/latest/signaturepad/SfSignaturePadState/renderToContext2D.html) method as show in the below code snippet. Since this [`renderToContext2D()`](https://pub.dev/documentation/syncfusion_flutter_signaturepad/latest/signaturepad/SfSignaturePadState/renderToContext2D.html) method is defined in the state object of SignaturePad, you have to use a global key assigned to the SignaturePad instance to call this method. - -```dart -@override -Widget build(BuildContext context) { - GlobalKey _signaturePadKey = GlobalKey(); - return Scaffold( - body: Column( - children: [ - Container( - child: SfSignaturePad( - key: _signaturePadKey, - backgroundColor: Colors.grey[200], - ), - height: 200, - width: 300, - ), - RaisedButton( - child: Text("Save As Image"), - onPressed: () async { - - //Get a html canvas context. - final canvas = html.CanvasElement(width: 500, height: 500); - final context = canvas.context2D; - - //Get the signature in the canvas context. - _signaturePadKey.currentState!.renderToContext2D(context); - - //Get the image from the canvas context - final blob = await canvas.toBlob('image/jpeg', 1.0); - - //Save the image as Uint8List to use it in local device. - final completer = Completer(); - final reader = html.FileReader(); - reader.readAsArrayBuffer(blob); - reader.onLoad.listen((_) => completer.complete(reader.result)); - Uint8List imageData = await completer.future; - - }), - ], - ), - ); -} -``` - -N> Since Flutter uses two separate default web renderers, here we have two different code snippets to convert signatures to images in desktop and mobile browsers. Please refer to this Flutter [`web-renderers`](https://flutter.dev/docs/development/tools/web-renderers) page for more details. - -## Clear the existing signature in SignaturePad - -You can clear the signature drawn in the SignaturePad using the clear() method as show in the following code snippet. Since this clear() method is defined in the state object of SignaturePad, you have to use a global key assigned to the SignaturePad instance to call this method. - -```dart -@override - Widget build(BuildContext context) { - - GlobalKey _signaturePadKey = GlobalKey(); - - return Scaffold( - body: Column( - children: [ - Container( - child: SfSignaturePad( - key: _signaturePadKey, - backgroundColor: Colors.grey[200], - ), - height: 200, - width: 300, - ), - RaisedButton( - child: Text("Clear"), - onPressed: () async { - ui.Image image = - _signaturePadKey.currentState.clear(); - }), - ], - ), - ); - } -``` - -## Support and feedback - -* If you have any questions, you can reach out to our [Syncfusion support team](https://www.syncfusion.com/support/directtrac/incidents/newincident) or post question on our [community forums](https://www.syncfusion.com/forums) . Submit a feature request or a bug through our [feedback portal](https://www.syncfusion.com/feedback/flutter). -* To renew your subscription, click [renew](https://www.syncfusion.com/sales/products) or contact our sales team at salessupport@syncfusion.com | Toll Free: 1-888-9 DOTNET. +### Loading PDF from network -## About Syncfusion +To load PDF from network using SfPdfViewer.network in macOS, network access must be +enabled in your macOS application -Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 20,000 customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies. +On your `macos/Runner/DebugProfile.entitlements` file, add the following lines inside the `` +tag to enable the network access in your application: -Today we provide 1,000+ controls and frameworks for web ([ASP.NET Core](https://www.syncfusion.com/aspnet-core-ui-controls), [ASP.NET MVC](https://www.syncfusion.com/aspnet-mvc-ui-controls), [ASP.NET WebForms](https://www.syncfusion.com/jquery/aspnet-web-forms-ui-controls), [JavaScript](https://www.syncfusion.com/javascript-ui-controls), [Angular](https://www.syncfusion.com/angular-ui-components), [React](https://www.syncfusion.com/react-ui-components), [Vue](https://www.syncfusion.com/vue-ui-components), and [Blazor](https://www.syncfusion.com/blazor-components), mobile ([Xamarin](https://www.syncfusion.com/xamarin-ui-controls), [Flutter](https://www.syncfusion.com/flutter-widgets), [UWP](https://www.syncfusion.com/uwp-ui-controls), and [JavaScript](https://www.syncfusion.com/javascript-ui-controls)), and desktop development ([WinForms](https://www.syncfusion.com/winforms-ui-controls), [WPF](https://www.syncfusion.com/wpf-ui-controls), [UWP](https://www.syncfusion.com/uwp-ui-controls) and [WinUI](https://www.syncfusion.com/winui-controls)). We provide ready-to deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software. +```html +com.apple.security.network.client + +``` \ No newline at end of file diff --git a/packages/syncfusion_pdfviewer_macos/analysis_options.yaml b/packages/syncfusion_pdfviewer_macos/analysis_options.yaml index 91f995863..a8c45a74c 100644 --- a/packages/syncfusion_pdfviewer_macos/analysis_options.yaml +++ b/packages/syncfusion_pdfviewer_macos/analysis_options.yaml @@ -1,7 +1,6 @@ -include: package:syncfusion_flutter_core/analysis_options.yaml - analyzer: errors: - include_file_not_found: ignore lines_longer_than_80_chars: ignore - invalid_dependency: ignore + include_file_not_found: ignore + uri_does_not_exist: ignore + invalid_dependency: ignore \ No newline at end of file diff --git a/packages/syncfusion_pdfviewer_macos/example/README.md b/packages/syncfusion_pdfviewer_macos/example/README.md index 99ac62b73..53fc61bcb 100644 --- a/packages/syncfusion_pdfviewer_macos/example/README.md +++ b/packages/syncfusion_pdfviewer_macos/example/README.md @@ -1,16 +1,3 @@ -# signaturepadexample +# syncfusion_pdfviewer_macos_example -A new Flutter application. - -## Getting Started - -This project is a starting point for a Flutter application. - -A few resources to get you started if this is your first Flutter project: - -- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) -- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) - -For help getting started with Flutter, view our -[online documentation](https://flutter.dev/docs), which offers tutorials, -samples, guidance on mobile development, and a full API reference. +Demonstrates how to use the syncfusion_flutter_pdfviewer plugin in macOS platform. diff --git a/packages/syncfusion_pdfviewer_macos/example/lib/main.dart b/packages/syncfusion_pdfviewer_macos/example/lib/main.dart index 52279f860..55dd8d967 100644 --- a/packages/syncfusion_pdfviewer_macos/example/lib/main.dart +++ b/packages/syncfusion_pdfviewer_macos/example/lib/main.dart @@ -1,91 +1,47 @@ -import 'dart:ui' as ui; import 'package:flutter/material.dart'; -import 'package:syncfusion_flutter_signaturepad/signaturepad.dart'; +import 'package:syncfusion_flutter_pdfviewer/pdfviewer.dart'; void main() { - return runApp(SignaturePadApp()); + runApp(MaterialApp( + title: 'Syncfusion PDF Viewer Demo for macOS', + home: HomePage(), + )); } -///Renders the SignaturePad widget. -class SignaturePadApp extends StatelessWidget { +/// Represents Homepage for Navigation +class HomePage extends StatefulWidget { @override - Widget build(BuildContext context) { - return MaterialApp( - title: 'SfSignaturePad Demo', - home: _MyHomePage(), - ); - } -} - -class _MyHomePage extends StatefulWidget { - _MyHomePage({Key? key}) : super(key: key); - - @override - _MyHomePageState createState() => _MyHomePageState(); + _HomePage createState() => _HomePage(); } -class _MyHomePageState extends State<_MyHomePage> { - final GlobalKey signatureGlobalKey = GlobalKey(); +class _HomePage extends State { + final GlobalKey _pdfViewerKey = GlobalKey(); @override void initState() { super.initState(); } - void _handleClearButtonPressed() { - signatureGlobalKey.currentState!.clear(); - } - - void _handleSaveButtonPressed() async { - final data = - await signatureGlobalKey.currentState!.toImage(pixelRatio: 3.0); - final bytes = await data.toByteData(format: ui.ImageByteFormat.png); - await Navigator.of(context).push( - MaterialPageRoute( - builder: (BuildContext context) { - return Scaffold( - appBar: AppBar(), - body: Center( - child: Container( - color: Colors.grey[300], - child: Image.memory(bytes!.buffer.asUint8List()), - ), - ), - ); - }, - ), - ); - } - @override Widget build(BuildContext context) { return Scaffold( - body: Column( - children: [ - Padding( - padding: EdgeInsets.all(10), - child: Container( - child: SfSignaturePad( - key: signatureGlobalKey, - backgroundColor: Colors.white, - strokeColor: Colors.black, - minimumStrokeWidth: 1.0, - maximumStrokeWidth: 4.0), - decoration: - BoxDecoration(border: Border.all(color: Colors.grey)))), - SizedBox(height: 10), - Row(children: [ - TextButton( - child: Text('ToImage'), - onPressed: _handleSaveButtonPressed, + appBar: AppBar( + title: const Text('Syncfusion Flutter PDF Viewer for macOS'), + actions: [ + IconButton( + icon: const Icon( + Icons.bookmark, + color: Colors.white, ), - TextButton( - child: Text('Clear'), - onPressed: _handleClearButtonPressed, - ) - ], mainAxisAlignment: MainAxisAlignment.spaceEvenly) + onPressed: () { + _pdfViewerKey.currentState?.openBookmarkView(); + }, + ), ], - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center)); + ), + body: SfPdfViewer.network( + 'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf', + key: _pdfViewerKey), + ); } } diff --git a/packages/syncfusion_pdfviewer_macos/example/linux/flutter/generated_plugin_registrant.cc b/packages/syncfusion_pdfviewer_macos/example/linux/flutter/generated_plugin_registrant.cc index d38195aa0..f6f23bfe9 100644 --- a/packages/syncfusion_pdfviewer_macos/example/linux/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_pdfviewer_macos/example/linux/flutter/generated_plugin_registrant.cc @@ -2,8 +2,14 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" +#include void fl_register_plugins(FlPluginRegistry* registry) { + g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin"); + url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar); } diff --git a/packages/syncfusion_pdfviewer_macos/example/linux/flutter/generated_plugin_registrant.h b/packages/syncfusion_pdfviewer_macos/example/linux/flutter/generated_plugin_registrant.h index 9bf747894..e0f0a47bc 100644 --- a/packages/syncfusion_pdfviewer_macos/example/linux/flutter/generated_plugin_registrant.h +++ b/packages/syncfusion_pdfviewer_macos/example/linux/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/syncfusion_pdfviewer_macos/example/linux/flutter/generated_plugins.cmake b/packages/syncfusion_pdfviewer_macos/example/linux/flutter/generated_plugins.cmake index 51436ae8c..f16b4c342 100644 --- a/packages/syncfusion_pdfviewer_macos/example/linux/flutter/generated_plugins.cmake +++ b/packages/syncfusion_pdfviewer_macos/example/linux/flutter/generated_plugins.cmake @@ -3,6 +3,10 @@ # list(APPEND FLUTTER_PLUGIN_LIST + url_launcher_linux +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST ) set(PLUGIN_BUNDLED_LIBRARIES) @@ -13,3 +17,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_pdfviewer_macos/example/macos/Flutter/Flutter-Debug.xcconfig b/packages/syncfusion_pdfviewer_macos/example/macos/Flutter/Flutter-Debug.xcconfig index c2efd0b60..4b81f9b2d 100644 --- a/packages/syncfusion_pdfviewer_macos/example/macos/Flutter/Flutter-Debug.xcconfig +++ b/packages/syncfusion_pdfviewer_macos/example/macos/Flutter/Flutter-Debug.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/packages/syncfusion_pdfviewer_macos/example/macos/Flutter/Flutter-Release.xcconfig b/packages/syncfusion_pdfviewer_macos/example/macos/Flutter/Flutter-Release.xcconfig index c2efd0b60..5caa9d157 100644 --- a/packages/syncfusion_pdfviewer_macos/example/macos/Flutter/Flutter-Release.xcconfig +++ b/packages/syncfusion_pdfviewer_macos/example/macos/Flutter/Flutter-Release.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/packages/syncfusion_pdfviewer_macos/example/macos/Flutter/GeneratedPluginRegistrant.swift b/packages/syncfusion_pdfviewer_macos/example/macos/Flutter/GeneratedPluginRegistrant.swift index cccf817a5..980d560e7 100644 --- a/packages/syncfusion_pdfviewer_macos/example/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/packages/syncfusion_pdfviewer_macos/example/macos/Flutter/GeneratedPluginRegistrant.swift @@ -5,6 +5,10 @@ import FlutterMacOS import Foundation +import syncfusion_pdfviewer_macos +import url_launcher_macos func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { + SyncfusionFlutterPdfViewerPlugin.register(with: registry.registrar(forPlugin: "SyncfusionFlutterPdfViewerPlugin")) + UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) } diff --git a/packages/syncfusion_pdfviewer_macos/example/macos/Runner.xcodeproj/project.pbxproj b/packages/syncfusion_pdfviewer_macos/example/macos/Runner.xcodeproj/project.pbxproj index cc89c8782..f7aff497c 100644 --- a/packages/syncfusion_pdfviewer_macos/example/macos/Runner.xcodeproj/project.pbxproj +++ b/packages/syncfusion_pdfviewer_macos/example/macos/Runner.xcodeproj/project.pbxproj @@ -26,6 +26,7 @@ 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; + 6E8E02E370F413B79C859DA0 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E058152E8CB8154B522B8E6E /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -54,7 +55,7 @@ /* Begin PBXFileReference section */ 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; - 33CC10ED2044A3C60003C045 /* example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "example.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10ED2044A3C60003C045 /* example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = example.app; sourceTree = BUILT_PRODUCTS_DIR; }; 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; @@ -66,8 +67,12 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; + 3D0E768F047FC6FAD1B84748 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 6BEE2183BD34C618223A91D2 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; + B2C672C9F4D1473714C4CD8F /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + E058152E8CB8154B522B8E6E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -75,6 +80,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 6E8E02E370F413B79C859DA0 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -99,6 +105,7 @@ 33CEB47122A05771004F2AC0 /* Flutter */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, + 94A4CFA18FB15A5D4A32E723 /* Pods */, ); sourceTree = ""; }; @@ -145,9 +152,21 @@ path = Runner; sourceTree = ""; }; + 94A4CFA18FB15A5D4A32E723 /* Pods */ = { + isa = PBXGroup; + children = ( + 6BEE2183BD34C618223A91D2 /* Pods-Runner.debug.xcconfig */, + B2C672C9F4D1473714C4CD8F /* Pods-Runner.release.xcconfig */, + 3D0E768F047FC6FAD1B84748 /* Pods-Runner.profile.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( + E058152E8CB8154B522B8E6E /* Pods_Runner.framework */, ); name = Frameworks; sourceTree = ""; @@ -159,11 +178,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( + 4472802D8B1D5913FEC51306 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, + 9E934E5FDBC0088D2C3D9142 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -270,6 +291,45 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; + 4472802D8B1D5913FEC51306 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 9E934E5FDBC0088D2C3D9142 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ diff --git a/packages/syncfusion_pdfviewer_macos/example/macos/Runner.xcworkspace/contents.xcworkspacedata b/packages/syncfusion_pdfviewer_macos/example/macos/Runner.xcworkspace/contents.xcworkspacedata index 1d526a16e..21a3cc14c 100644 --- a/packages/syncfusion_pdfviewer_macos/example/macos/Runner.xcworkspace/contents.xcworkspacedata +++ b/packages/syncfusion_pdfviewer_macos/example/macos/Runner.xcworkspace/contents.xcworkspacedata @@ -4,4 +4,7 @@ + + diff --git a/packages/syncfusion_pdfviewer_macos/example/macos/Runner/DebugProfile.entitlements b/packages/syncfusion_pdfviewer_macos/example/macos/Runner/DebugProfile.entitlements index dddb8a30c..73283f6cb 100644 --- a/packages/syncfusion_pdfviewer_macos/example/macos/Runner/DebugProfile.entitlements +++ b/packages/syncfusion_pdfviewer_macos/example/macos/Runner/DebugProfile.entitlements @@ -4,6 +4,8 @@ com.apple.security.app-sandbox + com.apple.security.network.client + com.apple.security.cs.allow-jit com.apple.security.network.server diff --git a/packages/syncfusion_pdfviewer_macos/example/pubspec.yaml b/packages/syncfusion_pdfviewer_macos/example/pubspec.yaml index c97e4126e..de9729fb7 100644 --- a/packages/syncfusion_pdfviewer_macos/example/pubspec.yaml +++ b/packages/syncfusion_pdfviewer_macos/example/pubspec.yaml @@ -1,18 +1,27 @@ -name: signaturepad_example -description: This project demonstrates how to use Syncfusion Flutter SignaturePad widget? +name: syncfusion_pdfviewer_macos_example +description: Demonstrates how to use the syncfusion_pdfviewer plugin in macOS platform. -version: 1.0.0+1 +# The following line prevents the package from being accidentally published to +# pub.dev using `pub publish`. This is preferred for private packages. +publish_to: 'none' # Remove this line if you wish to publish to pub.dev environment: - sdk: ">=2.12.0 <3.0.0" + sdk: '>=2.17.0 <3.0.0' dependencies: flutter: sdk: flutter + syncfusion_flutter_pdfviewer: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-pdfviewer + path: flutter_pdfviewer/syncfusion_flutter_pdfviewer + branch: release/20.4.0.1 + ref: release/20.4.0.1 + + # The following adds the Cupertino Icons font to your application. + # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^0.1.3 - syncfusion_flutter_signaturepad: - path: ../ dev_dependencies: flutter_test: @@ -28,34 +37,3 @@ flutter: # included with your application, so that you can use the icons in # the material Icons class. uses-material-design: true - - # To add assets to your application, add an assets section, like this: - # assets: - # - images/a_dot_burr.jpeg - # - images/a_dot_ham.jpeg - - # An image asset can refer to one or more resolution-specific "variants", see - # https://flutter.dev/assets-and-images/#resolution-aware. - - # For details regarding adding assets from package dependencies, see - # https://flutter.dev/assets-and-images/#from-packages - - # To add custom fonts to your application, add a fonts section here, - # in this "flutter" section. Each entry in this list should have a - # "family" key with the font family name, and a "fonts" key with a - # list giving the asset and other descriptors for the font. For - # example: - # fonts: - # - family: Schyler - # fonts: - # - asset: fonts/Schyler-Regular.ttf - # - asset: fonts/Schyler-Italic.ttf - # style: italic - # - family: Trajan Pro - # fonts: - # - asset: fonts/TrajanPro.ttf - # - asset: fonts/TrajanPro_Bold.ttf - # weight: 700 - # - # For details regarding fonts from package dependencies, - # see https://flutter.dev/custom-fonts/#from-packages diff --git a/packages/syncfusion_pdfviewer_macos/example/windows/flutter/generated_plugin_registrant.cc b/packages/syncfusion_pdfviewer_macos/example/windows/flutter/generated_plugin_registrant.cc index 4bfa0f3a3..9871f6b72 100644 --- a/packages/syncfusion_pdfviewer_macos/example/windows/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_pdfviewer_macos/example/windows/flutter/generated_plugin_registrant.cc @@ -2,8 +2,16 @@ // Generated file. Do not edit. // +// clang-format off + #include "generated_plugin_registrant.h" +#include +#include void RegisterPlugins(flutter::PluginRegistry* registry) { + SyncfusionPdfviewerWindowsPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("SyncfusionPdfviewerWindowsPlugin")); + UrlLauncherWindowsRegisterWithRegistrar( + registry->GetRegistrarForPlugin("UrlLauncherWindows")); } diff --git a/packages/syncfusion_pdfviewer_macos/example/windows/flutter/generated_plugin_registrant.h b/packages/syncfusion_pdfviewer_macos/example/windows/flutter/generated_plugin_registrant.h index 9846246b4..dc139d85a 100644 --- a/packages/syncfusion_pdfviewer_macos/example/windows/flutter/generated_plugin_registrant.h +++ b/packages/syncfusion_pdfviewer_macos/example/windows/flutter/generated_plugin_registrant.h @@ -2,6 +2,8 @@ // Generated file. Do not edit. // +// clang-format off + #ifndef GENERATED_PLUGIN_REGISTRANT_ #define GENERATED_PLUGIN_REGISTRANT_ diff --git a/packages/syncfusion_pdfviewer_macos/example/windows/flutter/generated_plugins.cmake b/packages/syncfusion_pdfviewer_macos/example/windows/flutter/generated_plugins.cmake index 4d10c2518..248772383 100644 --- a/packages/syncfusion_pdfviewer_macos/example/windows/flutter/generated_plugins.cmake +++ b/packages/syncfusion_pdfviewer_macos/example/windows/flutter/generated_plugins.cmake @@ -3,6 +3,11 @@ # list(APPEND FLUTTER_PLUGIN_LIST + syncfusion_pdfviewer_windows + url_launcher_windows +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST ) set(PLUGIN_BUNDLED_LIBRARIES) @@ -13,3 +18,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_pdfviewer_macos/pubspec.yaml b/packages/syncfusion_pdfviewer_macos/pubspec.yaml index 565385c15..3b1d00ad6 100644 --- a/packages/syncfusion_pdfviewer_macos/pubspec.yaml +++ b/packages/syncfusion_pdfviewer_macos/pubspec.yaml @@ -1,19 +1,29 @@ -name: syncfusion_flutter_signaturepad -description: The Flutter Signature Pad widget allows you to capture smooth and more realistic signatures through drawn gestures and save it as an image. -version: 20.2.36 -homepage: https://github.com/syncfusion/flutter-examples +name: syncfusion_pdfviewer_macos +description: macOS platform implementation of the Flutter PDF Viewer library that lets you view the PDF documents seamlessly and efficiently. +version: 19.1.0 +homepage: https://github.com/syncfusion/flutter-widgets/tree/master/packages/syncfusion_pdfviewer_macos environment: - sdk: ">=2.12.0 <3.0.0" + sdk: '>=2.17.0 <3.0.0' + flutter: ">=1.20.0" dependencies: flutter: sdk: flutter - syncfusion_flutter_core: ^20.2.36 + + syncfusion_pdfviewer_platform_interface: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-pdfviewer + path: flutter_pdfviewer/syncfusion_pdfviewer_platform_interface + branch: release/20.4.0.1 + ref: release/20.4.0.1 dev_dependencies: flutter_test: sdk: flutter - flutter: + plugin: + platforms: + macos: + pluginClass: SyncfusionFlutterPdfViewerPlugin diff --git a/packages/syncfusion_pdfviewer_platform_interface/example/pubspec.yaml b/packages/syncfusion_pdfviewer_platform_interface/example/pubspec.yaml index 859bd1440..d2b0382a2 100644 --- a/packages/syncfusion_pdfviewer_platform_interface/example/pubspec.yaml +++ b/packages/syncfusion_pdfviewer_platform_interface/example/pubspec.yaml @@ -20,10 +20,10 @@ dependencies: syncfusion_flutter_pdfviewer: git: - url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-pdfviewer + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-pdfviewer path: flutter_pdfviewer/syncfusion_flutter_pdfviewer - branch: release/20.2.0.1 - ref: release/20.2.0.1 + branch: release/20.4.0.1 + ref: release/20.4.0.1 # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. @@ -80,4 +80,4 @@ flutter: # weight: 700 # # For details regarding fonts from package dependencies, - # see https://flutter.dev/custom-fonts/#from-packages \ No newline at end of file + # see https://flutter.dev/custom-fonts/#from-packages diff --git a/packages/syncfusion_pdfviewer_platform_interface/example/windows/flutter/generated_plugin_registrant.cc b/packages/syncfusion_pdfviewer_platform_interface/example/windows/flutter/generated_plugin_registrant.cc index 42c63bcfd..9871f6b72 100644 --- a/packages/syncfusion_pdfviewer_platform_interface/example/windows/flutter/generated_plugin_registrant.cc +++ b/packages/syncfusion_pdfviewer_platform_interface/example/windows/flutter/generated_plugin_registrant.cc @@ -7,8 +7,11 @@ #include "generated_plugin_registrant.h" #include +#include void RegisterPlugins(flutter::PluginRegistry* registry) { SyncfusionPdfviewerWindowsPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("SyncfusionPdfviewerWindowsPlugin")); + UrlLauncherWindowsRegisterWithRegistrar( + registry->GetRegistrarForPlugin("UrlLauncherWindows")); } diff --git a/packages/syncfusion_pdfviewer_platform_interface/example/windows/flutter/generated_plugins.cmake b/packages/syncfusion_pdfviewer_platform_interface/example/windows/flutter/generated_plugins.cmake index 90342fb89..248772383 100644 --- a/packages/syncfusion_pdfviewer_platform_interface/example/windows/flutter/generated_plugins.cmake +++ b/packages/syncfusion_pdfviewer_platform_interface/example/windows/flutter/generated_plugins.cmake @@ -4,6 +4,10 @@ list(APPEND FLUTTER_PLUGIN_LIST syncfusion_pdfviewer_windows + url_launcher_windows +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST ) set(PLUGIN_BUNDLED_LIBRARIES) @@ -14,3 +18,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/packages/syncfusion_pdfviewer_platform_interface/lib/src/method_channel_pdfviewer.dart b/packages/syncfusion_pdfviewer_platform_interface/lib/src/method_channel_pdfviewer.dart index de098ab3e..41a203c13 100644 --- a/packages/syncfusion_pdfviewer_platform_interface/lib/src/method_channel_pdfviewer.dart +++ b/packages/syncfusion_pdfviewer_platform_interface/lib/src/method_channel_pdfviewer.dart @@ -1,5 +1,4 @@ import 'dart:async'; -import 'dart:typed_data'; import 'package:flutter/services.dart'; import 'package:syncfusion_pdfviewer_platform_interface/pdfviewer_platform_interface.dart'; diff --git a/packages/syncfusion_pdfviewer_platform_interface/pubspec.yaml b/packages/syncfusion_pdfviewer_platform_interface/pubspec.yaml index f3f9c536f..8e4d377ab 100644 --- a/packages/syncfusion_pdfviewer_platform_interface/pubspec.yaml +++ b/packages/syncfusion_pdfviewer_platform_interface/pubspec.yaml @@ -1,10 +1,10 @@ name: syncfusion_pdfviewer_platform_interface description: A common platform interface for the Flutter PDF Viewer library that lets you view the PDF documents seamlessly and efficiently. -version: 20.2.36-beta +version: 19.1.0 homepage: https://github.com/syncfusion/flutter-widgets/tree/master/packages/syncfusion_pdfviewer_platform_interface environment: - sdk: '>=2.12.0 <3.0.0' + sdk: '>=2.17.0 <3.0.0' flutter: ">=1.20.0" dependencies: diff --git a/packages/syncfusion_pdfviewer_web/README.md b/packages/syncfusion_pdfviewer_web/README.md index 92b60de78..b7c52bc00 100644 --- a/packages/syncfusion_pdfviewer_web/README.md +++ b/packages/syncfusion_pdfviewer_web/README.md @@ -12,7 +12,7 @@ This package is an endorsed implementation of `syncfusion_flutter_pdfviewer` for ... dependencies: ... - syncfusion_flutter_pdfviewer: ^19.1.0-beta + syncfusion_flutter_pdfviewer: ^20.3.0 ... ... ``` diff --git a/packages/syncfusion_pdfviewer_web/example/pubspec.yaml b/packages/syncfusion_pdfviewer_web/example/pubspec.yaml index 140861efe..9a35c45f0 100644 --- a/packages/syncfusion_pdfviewer_web/example/pubspec.yaml +++ b/packages/syncfusion_pdfviewer_web/example/pubspec.yaml @@ -6,17 +6,17 @@ description: Demonstrates how to use the syncfusion_pdfviewer_web with the help publish_to: 'none' # Remove this line if you wish to publish to pub.dev environment: - sdk: '>=2.12.0 <3.0.0' + sdk: '>=2.17.0 <3.0.0' dependencies: flutter: sdk: flutter syncfusion_flutter_pdfviewer: git: - url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-pdfviewer + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-pdfviewer path: flutter_pdfviewer/syncfusion_flutter_pdfviewer - branch: release/20.2.0.1 - ref: release/20.2.0.1 + branch: release/20.4.0.1 + ref: release/20.4.0.1 # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. @@ -35,4 +35,4 @@ flutter: # The following line ensures that the Material Icons font is # included with your application, so that you can use the icons in # the material Icons class. - uses-material-design: true \ No newline at end of file + uses-material-design: true diff --git a/packages/syncfusion_pdfviewer_web/pubspec.yaml b/packages/syncfusion_pdfviewer_web/pubspec.yaml index 0f4883330..209dbecca 100644 --- a/packages/syncfusion_pdfviewer_web/pubspec.yaml +++ b/packages/syncfusion_pdfviewer_web/pubspec.yaml @@ -1,10 +1,10 @@ name: syncfusion_pdfviewer_web description: Web platform implementation of the Flutter PDF Viewer library that lets you view the PDF documents seamlessly and efficiently. -version: 20.2.36-beta +version: 19.1.0 homepage: https://github.com/syncfusion/flutter-widgets/tree/master/packages/syncfusion_pdfviewer_web environment: - sdk: '>=2.12.0 <3.0.0' + sdk: '>=2.17.0 <3.0.0' flutter: ">=1.20.0" dependencies: @@ -14,7 +14,12 @@ dependencies: sdk: flutter js: ^0.6.3 meta: ^1.3.0 - syncfusion_pdfviewer_platform_interface: ^20.2.36 + syncfusion_pdfviewer_platform_interface: + git: + url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-pdfviewer + path: flutter_pdfviewer/syncfusion_pdfviewer_platform_interface + branch: release/20.4.0.1 + ref: release/20.4.0.1 dev_dependencies: flutter_test: diff --git a/packages/syncfusion_pdfviewer_windows/README.md b/packages/syncfusion_pdfviewer_windows/README.md index 2f66cdfa6..e8aee01aa 100644 --- a/packages/syncfusion_pdfviewer_windows/README.md +++ b/packages/syncfusion_pdfviewer_windows/README.md @@ -12,7 +12,7 @@ This package is an endorsed implementation of `syncfusion_flutter_pdfviewer` for ... dependencies: ... - syncfusion_flutter_pdfviewer: ^20.1.0-beta + syncfusion_flutter_pdfviewer: ^20.3.0 ... ... ``` \ No newline at end of file diff --git a/packages/syncfusion_pdfviewer_windows/pubspec.yaml b/packages/syncfusion_pdfviewer_windows/pubspec.yaml index b6b917346..4c584d612 100644 --- a/packages/syncfusion_pdfviewer_windows/pubspec.yaml +++ b/packages/syncfusion_pdfviewer_windows/pubspec.yaml @@ -1,10 +1,10 @@ name: syncfusion_pdfviewer_windows description: Windows platform implementation of the Flutter PDF Viewer library that lets you view the PDF documents seamlessly and efficiently. -version: 20.2.36-beta +version: 20.1.0 homepage: https://github.com/syncfusion/flutter-widgets/tree/master/packages/syncfusion_pdfviewer_windows environment: - sdk: '>=2.12.0 <3.0.0' + sdk: '>=2.17.0 <3.0.0' flutter: ">=2.5.0" dependencies: From a048124ba438be09ca775b8c5c0f02ff5ef5424a Mon Sep 17 00:00:00 2001 From: Hari Hara Sudhan Date: Thu, 22 Dec 2022 11:18:03 +0530 Subject: [PATCH 2/2] FLUT-6174-[feature]: Updated barcode pubspec file changes --- packages/syncfusion_flutter_barcodes/pubspec.yaml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/packages/syncfusion_flutter_barcodes/pubspec.yaml b/packages/syncfusion_flutter_barcodes/pubspec.yaml index bc9ec6ddd..6ecc1eda6 100644 --- a/packages/syncfusion_flutter_barcodes/pubspec.yaml +++ b/packages/syncfusion_flutter_barcodes/pubspec.yaml @@ -1,6 +1,6 @@ name: syncfusion_flutter_barcodes description: Flutter Barcodes generator library is used to generate and display data in the machine-readable, industry-standard 1D and 2D barcodes. -version: 20.2.36 +version: 20.4.38 homepage: https://github.com/syncfusion/flutter-widgets/tree/master/packages/syncfusion_flutter_barcodes environment: @@ -9,12 +9,7 @@ environment: dependencies: flutter: sdk: flutter - syncfusion_flutter_core: - git: - url: https://SyncfusionBuild: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@github.com/essential-studio/flutter-core - path: syncfusion_flutter_core - branch: release/20.4.0.1 - ref: release/20.4.0.1 + syncfusion_flutter_core: ^20.4.38 dev_dependencies: flutter_test: