getTableFloatingBtns method

dynamic getTableFloatingBtns(
  1. dynamic name,
  2. dynamic context
)

Implementation

getTableFloatingBtns(name, context) {
  myLogAll('getTableFloatingBtns');
  var tableInfo = _tableList[name];
  bool canEdit = tableInfo![gAttr]![gCanEdit];
  bool canDelete = tableInfo[gAttr]![gCanDelete];
  bool hasDetail = ((tableInfo[gAttr]![gDetail] ?? "") != "");
  bool isNotLog = (name.indexOf(gZzylog) < 0);
  bool canCancel = canEdit;

  clearActionBtnMap(name);
  var focusName = _mFocusNode[gName] ?? '';
  if (isNull(focusName)) {
    return;
  }
  if (name != focusName) {
    return;
  }
  if (_tableList[name] == null) {
    return;
  }
  var id = _mFocusNode[gId] ?? '';
  if (isNull(id)) {
    return;
  }
  var dataRow = getTableRowByID(name, id);
  if (isNull(dataRow)) {
    return;
  }

  double size = 36.0;
  int backgroundcolor = Colors.white.value;
  bool isForm = ((_mFocusNode[gIsForm] ?? 'false') == 'true');
  if (isForm) {
    return;
  }
  if (canEdit) {
    var labelValue = gEdit;
    var icon = 61453;

    addActionButton(
        name,
        {
          gLabel: labelValue,
          gAction: gLocalAction,
          gTableID: name,
          gRow: dataRow,
          gContext: context,
          gIconSize: size,
          gIcon: icon,
          gBackgroundColor: backgroundcolor
        },
        context);
  }

  if (canCancel) {
    if (isModifiedValid(tableInfo, dataRow)) {
      addActionButton(
          name,
          {
            gLabel: gSave,
            gAction: gLocalAction,
            gTableID: name,
            gRow: dataRow,
            gContext: context,
            gIconSize: size,
            gIcon: 62260,
            gBackgroundColor: backgroundcolor
          },
          context);
    }
    if (isModifiedValidOrInvalid(tableInfo, dataRow)) {
      addActionButton(
          name,
          {
            gLabel: gCancel,
            gAction: gLocalAction,
            gTableID: name,
            gRow: dataRow,
            gContext: context,
            gIconSize: size,
            gIcon: 62575,
            gBackgroundColor: backgroundcolor
          },
          context);
    }
  }
  if (canDelete) {
    addActionButton(
        name,
        {
          gLabel: gDelete,
          gAction: gLocalAction,
          gTableID: name,
          gRow: dataRow,
          gContext: context,
          gIconSize: size,
          gIcon: 57787,
          gBackgroundColor: backgroundcolor
        },
        context);
  }
  if (hasDetail) {
    addActionButton(
        name,
        {
          gLabel: gDetail,
          gAction: gLocalAction,
          gTableID: name,
          gRow: dataRow,
          gContext: context,
          gIconSize: size,
          gIcon: 0xe246,
          gBackgroundColor: backgroundcolor
        },
        context);
  }
  if (isNotLog && isSS()) {
    addActionButton(
        name,
        {
          gLabel: gLog,
          gAction: gLocalAction,
          gTableID: name,
          gRow: dataRow,
          gContext: context,
          gIconSize: size,
          gIcon: 0xf102,
          gBackgroundColor: backgroundcolor
        },
        context);
  }
}