Skip to content

DOCINFRA-2341_merged_using_automation #54

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 56 commits into from
Dec 16, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
e5eeb7c
Merge branch 'hotfix/hotfix-v19.3.0.53' into 'development'
SyncfusionBuild Nov 12, 2021
097f594
Moving pull request templates from Gitlab and updating Jenkinsfile wi…
SyncfusionBuild Nov 13, 2021
7c96605
Updating the Jenkinsfile with Github URL.
SyncfusionBuild Nov 19, 2021
65d19b7
Merge pull request #8 from Syncfusion-Content/hotfix/hotfix-v19.3.0.53
SyncfusionBuild Nov 19, 2021
40d7aac
FLUT-5410 Flutter PDF documentation Revamp.
AnanthaGokulaRaman Nov 25, 2021
ad60d95
FLUT-5410 Flutter PDF documentation Revamp.
AnanthaGokulaRaman Nov 29, 2021
b0033ca
FLUT-5887-[feature][flutter]: added UG content for Vol4 new features
lakshmi-radhakrishnan Nov 30, 2021
2344bd6
FLUT-5887-[feature][flutter]: added UG content for maps and treemap n…
lakshmi-radhakrishnan Nov 30, 2021
d28f753
Merge pull request #23 from Syncfusion-Content/hotfix/hotfix-v19.3.0.53
SyncfusionBuild Dec 1, 2021
5941827
FLUT-5887-[feature][flutter]: Updated broken UG link with proper links.
lakshmi-radhakrishnan Dec 1, 2021
fed5107
Merge pull request #25 from syncfusion-content/FLUT-5887-UG-Vol4-new-…
MeikandaNayanar Dec 1, 2021
61fb092
FLUT-5947-[feature][flutter]: vol4 features added
muthulakshmi-123 Dec 3, 2021
d46d0a7
Merge pull request #31 from Syncfusion-Content/hotfix/hotfix-v19.3.0.53
SyncfusionBuild Dec 9, 2021
86ad9db
FLUT-5959-[feature][flutter]: UG content has added for rowsperpage su…
RenugaSadagoban98 Dec 10, 2021
806c313
FLUT-5947-[feature][flutter]: content review corrections
muthulakshmi-123 Dec 10, 2021
db4a065
FLUT-5959-[feature][flutter]: spelling issue has solved
RenugaSadagoban98 Dec 10, 2021
7238cca
FLUT-5959-[feature][flutter]: Gif file size has reduced
RenugaSadagoban98 Dec 10, 2021
4512aba
FLUT-5959-[feature][flutter]: Gif file has added
RenugaSadagoban98 Dec 10, 2021
a9f08fa
Merge pull request #26 from syncfusion-content/FLUT-5947-vol4-UG-doc
Nijamudeen-Mohamed Dec 10, 2021
c162b88
FLUT-5959-[feature][flutter]: Prepared UG for rowsCacheExtent feature.
Sangeetha-Raju1 Dec 10, 2021
1fb3abb
FLUT-5958-[feature][flutter]: Added flutter datagrid volume 4 release…
Tamilarasan-Paranthaman Dec 10, 2021
20aae42
FLUT-5958-[feature][flutter]: Added UG GIF file.
Tamilarasan-Paranthaman Dec 10, 2021
0c0310a
FLUT-5958-[feature][flutter]: Reduced GIF size.
Tamilarasan-Paranthaman Dec 10, 2021
1586843
FLUT-5959-[feature][flutter]: Modified content and added gif images.
Sangeetha-Raju1 Dec 10, 2021
7d4194c
FLUT-5959-[feature][flutter]: Modified gif image.
Sangeetha-Raju1 Dec 10, 2021
909c0ea
FLUT-5959-[feature][flutter]: Resized the image.
Sangeetha-Raju1 Dec 10, 2021
bd49f47
FLUT-5959-[feature][flutter]: Resized the image.
Sangeetha-Raju1 Dec 10, 2021
46132e8
Merge pull request #38 from Syncfusion-Content/hotfix/hotfix-v19.3.0.53
SyncfusionBuild Dec 13, 2021
fa11d27
Merge pull request #16 from syncfusion-content/FLUT-5410-FlutterPDFRe…
chinnumuniyappan Dec 13, 2021
0d53e4c
FLUT-5959-[feature][flutter]: Review changes has added
RenugaSadagoban98 Dec 13, 2021
5eca3a0
Merge branch 'development' of https://github.com/syncfusion-content/f…
RenugaSadagoban98 Dec 13, 2021
a38a256
FLUT-5959-[feature][flutter]: Modified the review correction changes.
Sangeetha-Raju1 Dec 13, 2021
8439296
FLUT-5959-[feature][flutter]: Modified the review changes.
Sangeetha-Raju1 Dec 13, 2021
8813183
Merge pull request #41 from Syncfusion-Content/hotfix/hotfix-v19.3.0.53
SyncfusionBuild Dec 13, 2021
d198c22
FLUT-5958-[feature][flutter]: Modified the review corrections
Tamilarasan-Paranthaman Dec 14, 2021
3d13cbe
FLUT-5959-[feature][flutter]: Content review changes has added
RenugaSadagoban98 Dec 14, 2021
bd36f39
Merge branch 'development' of https://github.com/syncfusion-content/f…
RenugaSadagoban98 Dec 14, 2021
990f548
FLUT-5959-[feature][flutter]: Modified the content team review.
Sangeetha-Raju1 Dec 14, 2021
cdb5aca
FLUT-5995-[feature][flutter]: Removed the link.
Sangeetha-Raju1 Dec 14, 2021
5c3e0ac
FLUT-5959-[feature][flutter]: Changes has added
RenugaSadagoban98 Dec 14, 2021
233926a
Merge pull request #36 from syncfusion-content/FLUT-5959-RowsCacheExtent
NeelakandanKannan Dec 14, 2021
98d87bc
FLUT-5958-[feature][flutter]: Modified the review correction.
Tamilarasan-Paranthaman Dec 14, 2021
cffa4f1
FLUT-5959-[feature][flutter]: Changes are added
RenugaSadagoban98 Dec 14, 2021
0ff20d2
Merge branch 'development' of https://github.com/syncfusion-content/f…
Tamilarasan-Paranthaman Dec 14, 2021
0a4312d
FLUT-5959-[feature][flutter]: I have added content review correction
RenugaSadagoban98 Dec 14, 2021
db149e6
FLUT-5959-[feature][flutter]: Unwanted space has removed
RenugaSadagoban98 Dec 14, 2021
ea671f9
FLUT-5959-[feature][flutter]: Chanegs has added
RenugaSadagoban98 Dec 14, 2021
e96b927
Merge pull request #33 from syncfusion-content/FLUT-5959-rowsperpage
NeelakandanKannan Dec 14, 2021
3d9a4c6
Added the release notes MD file and corresponding node entry in the T…
Dec 14, 2021
4689f4a
Merge pull request #43 from Syncfusion-Content/hotfix/v19.3.0.53_vol4…
SyncfusionBuild Dec 14, 2021
145c608
FLUT-5958-[feature][flutter]: Modified content review corrections.
Tamilarasan-Paranthaman Dec 14, 2021
bbdfe56
FLUT-5958-[feature][flutter]: Modified the content correction.
Tamilarasan-Paranthaman Dec 14, 2021
8078854
Merge pull request #37 from syncfusion-content/FLUT-5958-datagrid-vol…
NeelakandanKannan Dec 14, 2021
dc190c3
FLUT-5959-[feature][flutter]: Note content alignment has corrected.
RenugaSadagoban98 Dec 15, 2021
c12a03d
Merge pull request #45 from syncfusion-content/FLUT-5959-rowsperpage
NeelakandanKannan Dec 15, 2021
c62b57e
Merge pull request #53 from Syncfusion-Content/hotfix/hotfix-v19.3.0.53
SyncfusionBuild Dec 16, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions Flutter/DateRangePicker/selections.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,33 @@ Extend the selected range with the new selected date in any date range picker vi
>**NOTE**
* The hovering effect which occurs while extending the range will not be displayed when the `DateRangePickerNavigationMode` is set as `DateRangePickerNavigationMode.scroll`.

## Extendable range selection Direction
It allows to extend the selection direction by using the [extendableRangeSelectionDirection]() property of the DateRangePicker.
You can set the extendable range selection direction as forward, backward, both and none.

{% tabs %}
{% highlight Dart %}

@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: SfDateRangePicker(
view: DateRangePickerView.month,
selectionMode: DateRangePickerSelectionMode.extendableRange,
extendableRangeSelectionDirection:
ExtendableRangeSelectionDirection.forward,
),
));
}

{% endhighlight %}
{% endtabs %}

>**NOTE**
* If it is set to none, it won't allow to extend the selection. It will remain in the initial range.
* If it is set to forward direction, the start date will not be changed here.
* If it is set to backward direction, the end date will not be changed here.

## Selection radius
Customize the radius of the selection using the [selectionRadius](https://pub.dev/documentation/syncfusion_flutter_datepicker/latest/datepicker/SfDateRangePicker/selectionRadius.html) property of the `SfDateRangePicker`.
Expand Down
17 changes: 17 additions & 0 deletions Flutter/Release-notes/v19.4.0.38.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
title: Essential Studio for Flutter 2021 Volume 4 Main Release Notes
description: Essential Studio for Flutter 2021 Volume 4 Main Release Notes
platform: flutter
documentation: ug
---

# Essential Studio for Flutter Release Notes

{% include release-info.html date="December 17, 2021" version="v19.4.0.38" %}


{% directory path: _includes/release-notes/v19.4.0.38 %}

{% include {{file.url}} %}

{% enddirectory %}
40 changes: 40 additions & 0 deletions Flutter/calendar/callbacks.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,46 @@ Widget build(BuildContext context) {
>**NOTE**
* For recurrence appointment, the tap details will always return as `Appointment`, even for the custom business object.

## Calendar details callback

Return calendar details based on the given offset passed through argument by using the [getCalendarDetailsAtOffset]() method.

`date` - returns the date based on the given offset.
`appointments` - returns the appointments based on the given offset.
`targetElement` - returns the calendar element based on the given offset.
`resource` - returns the resource based on the given offset.

{% tabs %}
{% highlight Dart %}

@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: MouseRegion(
onHover: (PointerHoverEvent event) {
CalendarDetails? details = _calendarController
.getCalendarDetailsAtOffset!(event.localPosition);
if (details!.targetElement == CalendarElement.appointment) {
dynamic appointments = details.appointments;
final String subject =
details.appointments![0].subject.toString();
final dynamic startTime = details.appointments![0].startTime;
final dynamic endTime = details.appointments![0].endTime;
}
},
child: SfCalendar(
view: CalendarView.month,
controller: _calendarController,
dataSource: _getCalendarDataSource(),
))),
);
}
}

{% endhighlight %}
{% endtabs %}

## Long press callback
The [onLongPress](https://pub.dev/documentation/syncfusion_flutter_calendar/latest/calendar/SfCalendar/onLongPress.html) callback is called, whenever the `SfCalendar` elements are long pressed on view.

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
127 changes: 127 additions & 0 deletions Flutter/datagrid/paging.md
Original file line number Diff line number Diff line change
Expand Up @@ -436,6 +436,133 @@ Widget build(BuildContext context) {
{% endhighlight %}
{% endtabs %}

## Show dropdown button to choose rows per page

Show the dropdown button option to select a different number of rows per page by defining the `onRowPerPageChanged` callback. If it is null, no option will be provided to select different number of rows per page.

You can use `availableRowsPerPage` property to define the list of numbers to be displayed in drop-down. The default value of `availableRowsPerPage` property is [10,15,20].

>**NOTE**
You can view dropdown button option by horizontally scrolling the DataPager. The dropdown button option is not supported, if the [direction](https://pub.dev/documentation/syncfusion_flutter_datagrid/latest/datagrid/SfDataPager/direction.html) is vertical.

{% tabs %}
{% highlight Dart %}

int _rowsPerPage=10;
List<Employee> employees = <Employee>[];
late EmployeeDataSource employeeDataSource;
double datapagerHeight = 70.0;

@override
void initState() {
super.initState();
employees = getEmployeeData();
employeeDataSource = EmployeeDataSource(employeeData: employees);
}

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Syncfusion Flutter DataGrid'),
),
body: LayoutBuilder(
builder: (BuildContext context, BoxConstraints constraints) {
return Column(
children: [
Container(
height: constraints.maxHeight - datapagerHeight,
child: SfDataGrid(
source: employeeDataSource,
columnWidthMode: ColumnWidthMode.fill,
columns: _column),
),
Container(
height: datapagerHeight,
child: SfDataPager(
delegate: employeeDataSource,
availableRowsPerPage: [10, 20, 30],
onRowsPerPageChanged: (int? rowsPerPage) {
setState(() {
_rowsPerPage = rowsPerPage!;
employeeDataSource.updateDataGriDataSource();
});
},
pageCount:
((employees.length / _rowsPerPage).ceil()).toDouble(),
)),
],
);
}));
}

class EmployeeDataSource extends DataGridSource {
/// Creates the employee data source class with required details.
EmployeeDataSource({required List<Employee> employeeData}) {
_employeeData = employeeData;
_paginatedRows = employeeData;
buildDataGridRow();
}

void buildDataGridRow() {
_employeeDataGridRows = _paginatedRows
.map<DataGridRow>((e) => DataGridRow(cells: [
DataGridCell<int>(columnName: 'id', value: e.id),
DataGridCell<String>(columnName: 'name', value: e.name),
DataGridCell<String>(
columnName: 'designation', value: e.designation),
DataGridCell<int>(columnName: 'salary', value: e.salary),
]))
.toList();
}

List<DataGridRow> _employeeDataGridRows = [];
List<Employee> _paginatedRows = [];
List<Employee> _employeeData = [];

@override
List<DataGridRow> get rows => _employeeDataGridRows;

@override
DataGridRowAdapter buildRow(DataGridRow row) {
return DataGridRowAdapter(
cells: row.getCells().map<Widget>((e) {
return Container(
alignment: Alignment.center,
padding: EdgeInsets.all(8.0),
child: Text(e.value.toString()),
);
}).toList());
}

@override
Future<bool> handlePageChange(int oldPageIndex, int newPageIndex) {
final int _startIndex = newPageIndex * _rowsPerPage;
int _endIndex = _startIndex + _rowsPerPage;
if (_endIndex > _employeeData.length) {
_endIndex = _employeeData.length;
}

/// Get particular range from the sorted collection.
if (_startIndex < _employeeData.length &&
_endIndex <= _employeeData.length) {
_paginatedRows = _employeeData.getRange(_startIndex, _endIndex).toList();
} else {
_paginatedRows = <Employee>[];
}
buildDataGridRow();
notifyListeners();
return Future<bool>.value(true);
}

void updateDataGriDataSource() {
notifyListeners();
}
}
{% endhighlight %}
{% endtabs %}

![flutter datapager with rowsperpage](images/paging/flutter_datapager_rowsperpage.gif)

## Orientation

Expand Down
137 changes: 136 additions & 1 deletion Flutter/datagrid/scrolling.md
Original file line number Diff line number Diff line change
Expand Up @@ -686,4 +686,139 @@ class _EmployeeDataSource extends DataGridSource {
{% endtabs %}

**NOTE**
Download demo application from [GitHub](https://github.com/SyncfusionExamples/how-to-load-data-lazily-when-scrolling-reaches-70-in-flutter-datatable-sfdatagrid).
Download demo application from [GitHub](https://github.com/SyncfusionExamples/how-to-load-data-lazily-when-scrolling-reaches-70-in-flutter-datatable-sfdatagrid).

## Increase row cache limit

By default, rows are generated based on the view port size and these rows are reused while scrolling. You can set the `SfDataGrid.rowsCacheExtent` property to avoid the visible changes caused by re-using. For example, if you show the checkbox in a column without setting the rows using this property, checkbox state changes with animation can be seen when vertical scrolling is performed.

The `rowsCacheExtent` property will create the additional rows internally with the existing visible rows, which are already allocated based on view port size. So, the number of rows that will be reused will increase.

{% tabs %}
{% highlight Dart %}

List<Employee> employees = <Employee>[];
late EmployeeDataSource employeeDataSource;

@override
void initState() {
super.initState();
employees = getEmployeeData();
employeeDataSource = EmployeeDataSource(employeeData: employees);
}

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Syncfusion Flutter DataGrid'),
),
body: SfDataGrid(
source: employeeDataSource,
columnWidthMode: ColumnWidthMode.fill,
showCheckboxColumn: true,
selectionMode: SelectionMode.multiple,
rowsCacheExtent: 10,
columns: <GridColumn>[
GridColumn(
columnName: 'id',
label: Container(
padding: EdgeInsets.all(16.0),
alignment: Alignment.center,
child: Text('ID'))),
GridColumn(
columnName: 'name',
label: Container(
padding: EdgeInsets.all(8.0),
alignment: Alignment.center,
child: Text('Name'))),
GridColumn(
columnName: 'designation',
label: Container(
padding: EdgeInsets.all(8.0),
alignment: Alignment.center,
child: Text('Designation', overflow: TextOverflow.ellipsis))),
GridColumn(
columnName: 'salary',
label: Container(
padding: EdgeInsets.all(8.0),
alignment: Alignment.center,
child: Text('Salary'))),
],
),
);
}

{% endhighlight %}
{% endtabs %}

![Flutter DataTable shows increase row cache extent](images/scrolling/flutter-datagrid-increase-row-cache-extent.gif)

## Set height and width of DataGrid based on rows and columns available

If the height or width of the DataGrid is infinity, then DataGrid sets its height or width to 300 by default. Users can set the height or width based on the number of rows or columns available in DataGrid by using the `shrinkWrapRows` or `shrinkWrapColumns` property, respectively.

>**NOTE**
Shrink wrapping is significantly more expensive than setting the height and width manually.

{% tabs %}
{% highlight Dart %}

import 'package:syncfusion_flutter_datagrid/datagrid.dart';

late EmployeeDataSource _employeeDataSource;

@override
Widget build(BuildContext context) {
return LayoutBuilder(builder: (context, constraints) {
return SingleChildScrollView(
child: SfDataGrid(
shrinkWrapColumns: true,
shrinkWrapRows: true,
source: _employeeDataSource,
columns: <GridColumn>[
GridColumn(
columnName: 'id',
label: Container(
padding: EdgeInsets.symmetric(horizontal: 16.0),
alignment: Alignment.centerRight,
child: Text(
'ID',
overflow: TextOverflow.ellipsis,
))),
GridColumn(
columnName: 'name',
label: Container(
padding: EdgeInsets.symmetric(horizontal: 16.0),
alignment: Alignment.centerLeft,
child: Text(
'Name',
overflow: TextOverflow.ellipsis,
))),
GridColumn(
columnName: 'designation',
label: Container(
padding: EdgeInsets.symmetric(horizontal: 16.0),
alignment: Alignment.centerLeft,
child: Text(
'Designation',
overflow: TextOverflow.ellipsis,
))),
GridColumn(
columnName: 'salary',
label: Container(
padding: EdgeInsets.symmetric(horizontal: 16.0),
alignment: Alignment.centerRight,
child: Text(
'Salary',
overflow: TextOverflow.ellipsis,
))),
],
),
);
});
}

{% endhighlight %}
{% endtabs %}

Loading