open method
Implementation
Future<void> open() async {
final textDirection = Directionality.of(context);
final borderRadius = configuration.style.gridBorderRadius.resolve(
textDirection,
);
PlutoGridOnSelectedEvent? selected =
await showDialog<PlutoGridOnSelectedEvent>(
context: context,
builder: (BuildContext ctx) {
return Dialog(
shape: borderRadius == BorderRadius.zero
? null
: RoundedRectangleBorder(borderRadius: borderRadius),
child: LayoutBuilder(
builder: (ctx, size) {
return SizedBox(
width: (width ?? size.maxWidth) +
PlutoGridSettings.gridInnerSpacing,
height: height ?? size.maxHeight,
child: Directionality(
textDirection: textDirection,
child: PlutoGrid(
columns: columns,
rows: rows,
columnGroups: columnGroups,
onLoaded: onLoaded,
onChanged: onChanged,
onSelected: (PlutoGridOnSelectedEvent event) {
Navigator.pop(ctx, event);
},
onSorted: onSorted,
onRowChecked: onRowChecked,
onRowDoubleTap: onRowDoubleTap,
onRowSecondaryTap: onRowSecondaryTap,
onRowsMoved: onRowsMoved,
onColumnsMoved: onColumnsMoved,
createHeader: createHeader,
createFooter: createFooter,
noRowsWidget: noRowsWidget,
rowColorCallback: rowColorCallback,
columnMenuDelegate: columnMenuDelegate,
configuration: configuration,
mode: mode,
),
),
);
},
),
);
});
if (onSelected != null && selected != null) {
onSelected!(selected);
}
}