ModDataTableModal<T> class

A widget that displays a ModDataTable inside a ModModal with pagination in the footer.

The footer is organized with pagination controls on the left and action buttons on the right.

Inheritance

Constructors

ModDataTableModal({Key? key, required List<ModDataHeader> headers, required List<T> data, required DataTableSource source, required dynamic onPageChanged(int page), required int totalRecords, required int currentPage, required int rowsPerPage, BorderStyle borderStyle = BorderStyle.none, Color? oddRowColor, Color? evenRowColor, Color? headerBackgroundColor, Color? footerBackgroundColor, Color? hoverColor, String paginationText = 'of', String rowsPerPageText = 'Rows per page', dynamic onSort(String field, SortDirection direction)?, dynamic onRowsPerPageChanged(int rowsPerPage)?, List<int> availableRowsPerPage = const [5, 10, 15, 20, 50, 100, 200], double? paginationBorderRadius = 5, String? currentSortField, SortDirection currentSortDirection = SortDirection.none, double rowHeight = 35.0, bool fixedHeader = false, bool enableSimplePagination = false, dynamic onColumnWidthChanged(String field, double newWidth)?, bool enableColumnResize = false, bool showHorizontalScrollbar = true, ModDataTableActionBarConfig? actionBarConfig, List<String>? columnsShow, Widget? emptyViewWidget, required Widget header, Color? modalHeaderColor, Color? modalBodyColor, Color? modalFooterColor, ModModalPosition position = ModModalPosition.center, ModModalSize size = ModModalSize.lg, ModModalHeight height = ModModalHeight.auto, bool fullScreen = false, double borderRadius = 8.0, bool barrierDismissible = true, VoidCallback? onClose, double? maxWidth, double? minWidth, double? maxHeight, double? minHeight, EdgeInsets? bodyPadding, ModDataTableModalFooterConfig footerConfig = const ModDataTableModalFooterConfig()})
const

Properties

actionBarConfig ModDataTableActionBarConfig?
final
availableRowsPerPage List<int>
final
barrierDismissible bool
final
bodyPadding EdgeInsets?
final
borderRadius double
final
borderStyle BorderStyle
final
columnsShow List<String>?
final
currentPage int
final
currentSortDirection SortDirection
final
currentSortField String?
final
data List<T>
final
emptyViewWidget Widget?
Widget to display when the data list is empty. When provided and data is empty, this widget will be shown instead of the header and body, but the action bar will remain visible.
final
enableColumnResize bool
final
enableSimplePagination bool
final
evenRowColor Color?
final
fixedHeader bool
final
footerBackgroundColor Color?
final
footerConfig ModDataTableModalFooterConfig
Configuration for footer buttons
final
fullScreen bool
final
hashCode int
The hash code for this object.
no setterinherited
final
headerBackgroundColor Color?
final
headers List<ModDataHeader>
final
height ModModalHeight
final
hoverColor Color?
Cor de fundo quando o mouse está sobre a linha (hover). Se não informado, usa a cor padrão do tema (hoverColor). O efeito hover é ativado apenas em plataformas Windows e Web.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
maxHeight double?
final
maxWidth double?
final
minHeight double?
final
minWidth double?
final
modalBodyColor Color?
final
modalFooterColor Color?
final
modalHeaderColor Color?
final
oddRowColor Color?
final
onClose VoidCallback?
final
onColumnWidthChanged → dynamic Function(String field, double newWidth)?
final
onPageChanged → dynamic Function(int page)
final
onRowsPerPageChanged → dynamic Function(int rowsPerPage)?
final
onSort → dynamic Function(String field, SortDirection direction)?
final
paginationBorderRadius double?
final
paginationText String
final
position ModModalPosition
final
rowHeight double
final
rowsPerPage int
final
rowsPerPageText String
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
showHorizontalScrollbar bool
final
size ModModalSize
final
source DataTableSource
final
totalRecords int
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<ModDataTableModal<T>>
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

show<T, R>({required BuildContext context, required List<ModDataHeader> headers, required List<T> data, required DataTableSource source, required dynamic onPageChanged(int page), required int totalRecords, required int currentPage, required int rowsPerPage, BorderStyle borderStyle = BorderStyle.none, Color? oddRowColor, Color? evenRowColor, Color? headerBackgroundColor, Color? footerBackgroundColor, Color? hoverColor, String paginationText = 'of', String rowsPerPageText = 'Rows per page', dynamic onSort(String field, SortDirection direction)?, dynamic onRowsPerPageChanged(int rowsPerPage)?, List<int> availableRowsPerPage = const [5, 10, 15, 20, 50, 100, 200], double? paginationBorderRadius = 5, String? currentSortField, SortDirection currentSortDirection = SortDirection.none, double rowHeight = 35.0, bool fixedHeader = false, bool enableSimplePagination = false, dynamic onColumnWidthChanged(String field, double newWidth)?, bool enableColumnResize = false, bool showHorizontalScrollbar = true, ModDataTableActionBarConfig? actionBarConfig, List<String>? columnsShow, Widget? emptyViewWidget, required Widget header, Color? modalHeaderColor, Color? modalBodyColor, Color? modalFooterColor, ModModalPosition position = ModModalPosition.center, ModModalSize size = ModModalSize.lg, ModModalHeight height = ModModalHeight.auto, bool fullScreen = false, double borderRadius = 8.0, bool barrierDismissible = true, VoidCallback? onClose, double? maxWidth, double? minWidth, double? maxHeight, double? minHeight, EdgeInsets? bodyPadding, ModDataTableModalFooterConfig footerConfig = const ModDataTableModalFooterConfig()}) Future<R?>
Shows the DataTableModal as a dialog