buildCustomActions method

Widget buildCustomActions(
  1. T item
)

Implementation

Widget buildCustomActions(T item) {
  return Row(
    mainAxisSize: MainAxisSize.min,
    children: widget.actions.map((action) {
      if (action is TableAction<T>) {
        return Padding(
          padding: const EdgeInsets.symmetric(
              horizontal: MyTableView.actionSpacing),
          child: MouseRegion(
            cursor: action.enabled
                ? SystemMouseCursors.click
                : SystemMouseCursors.forbidden,
            child: Tooltip(
              message: action.tooltip ?? '',
              child: IconTheme(
                data: IconThemeData(
                  color: action.enabled
                      ? XfdnDesignSystem.settings.primaryColor
                      : Colors.grey,
                ),
                child: GestureDetector(
                  onTap: action.enabled ? () => action.onTap(item) : null,
                  child: action.child,
                ),
              ),
            ),
          ),
        );
      } else if (action is PopupMenuItem) {
        return buildActionMenu(item);
      }
      return const SizedBox.shrink();
    }).toList(),
  );
}