tratarOnLongPres static method

void tratarOnLongPres(
  1. BuildContext context,
  2. ItemSelect itemSelect,
  3. int index,
  4. SelectAnyController controller,
)

Implementation

static void tratarOnLongPres(BuildContext context, ItemSelect itemSelect,
    int index, SelectAnyController controller) {
  if (controller.selectModel!.actions != null) {
    if (controller.selectModel!.actions!.length > 1) {
      UtilsWidget.showListActions(
          context,
          itemSelect,
          index,
          controller.selectModel!.actions,
          controller.data,
          controller.reloadData,
          controller.actualDataSource);
    } else {
      ActionSelect? acao = controller.selectModel!.actions?.first;
      if (acao != null) {
        UtilsWidget.onAction(
            context,
            itemSelect,
            index,
            acao,
            controller.data,
            controller.reloadData,
            controller.actualDataSource);
      }
    }
  } else if (controller.selectModel!.typeSelect == TypeSelect.SIMPLE) {
    Navigator.pop(context, itemSelect.object);
  } else if (controller.selectModel!.typeSelect == TypeSelect.MULTIPLE) {
    controller.updateSelectItem(itemSelect, !itemSelect.isSelected);
  } else {
    /// caso seja do tipo acao, mas n tenha nenhuma acao
    Navigator.pop(context, itemSelect.object);
  }
}