react-table-edit 1.5.45 → 1.5.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -39557,7 +39557,7 @@ const DateRangePicker = forwardRef((props, ref) => {
39557
39557
  }, children: t('Last month') })] })] })] }) }));
39558
39558
  });
39559
39559
 
39560
- const FilterComponent = ({ optionsFilter, formatSetting, filterBy, setOpenFilter, changeFilter, column }) => {
39560
+ const FilterComponent = ({ optionsFilter, formatSetting, filterBy, setOpenFilter, changeFilter, column, }) => {
39561
39561
  const { t } = useTranslation();
39562
39562
  const fieldFilter = column.fieldFilter ?? column.field;
39563
39563
  let typeFilter = column.filterType;
@@ -39584,14 +39584,22 @@ const FilterComponent = ({ optionsFilter, formatSetting, filterBy, setOpenFilter
39584
39584
  from.value = filterValue?.from;
39585
39585
  }
39586
39586
  else {
39587
- filterBy.push({ key: fieldFilter, ope: 'greaterthanorequal', value: filterValue?.from });
39587
+ filterBy.push({
39588
+ key: fieldFilter,
39589
+ ope: 'greaterthanorequal',
39590
+ value: filterValue?.from,
39591
+ });
39588
39592
  }
39589
39593
  const to = filterBy.find((item) => item.key === fieldFilter && item.ope === 'lessthanorequal');
39590
39594
  if (to) {
39591
39595
  to.value = filterValue?.to;
39592
39596
  }
39593
39597
  else {
39594
- filterBy.push({ key: fieldFilter, ope: 'lessthanorequal', value: filterValue?.to });
39598
+ filterBy.push({
39599
+ key: fieldFilter,
39600
+ ope: 'lessthanorequal',
39601
+ value: filterValue?.to,
39602
+ });
39595
39603
  }
39596
39604
  }
39597
39605
  else {
@@ -39601,7 +39609,11 @@ const FilterComponent = ({ optionsFilter, formatSetting, filterBy, setOpenFilter
39601
39609
  filter.value = filterValue ?? '';
39602
39610
  }
39603
39611
  else {
39604
- filterBy.push({ key: fieldFilter, ope: operator ?? 'equal', value: filterValue ?? '' });
39612
+ filterBy.push({
39613
+ key: fieldFilter,
39614
+ ope: operator ?? 'equal',
39615
+ value: filterValue ?? '',
39616
+ });
39605
39617
  }
39606
39618
  }
39607
39619
  changeFilter([...filterBy]);
@@ -39610,19 +39622,19 @@ const FilterComponent = ({ optionsFilter, formatSetting, filterBy, setOpenFilter
39610
39622
  /* eslint-disable */
39611
39623
  switch (typeFilter) {
39612
39624
  case 'text':
39613
- return jsx(StringFilterComponent, { fieldFilter: fieldFilter, optionsFilter: optionsFilter, filterBy: filterBy, column: column, handleSave: handleSave });
39625
+ return (jsx(StringFilterComponent, { fieldFilter: fieldFilter, optionsFilter: optionsFilter, filterBy: filterBy, column: column, handleSave: handleSave }));
39614
39626
  case 'numeric':
39615
- return jsx(NumberFilterComponent, { fieldFilter: fieldFilter, optionsFilter: optionsFilter, filterBy: filterBy, column: column, handleSave: handleSave, formatSetting: formatSetting });
39627
+ return (jsx(NumberFilterComponent, { fieldFilter: fieldFilter, optionsFilter: optionsFilter, filterBy: filterBy, column: column, handleSave: handleSave, formatSetting: formatSetting }));
39616
39628
  case 'select':
39617
- return jsx(SelectFilterComponent, { fieldFilter: fieldFilter, optionsFilter: optionsFilter, filterBy: filterBy, column: column, handleSave: handleSave });
39629
+ return (jsx(SelectFilterComponent, { fieldFilter: fieldFilter, optionsFilter: optionsFilter, filterBy: filterBy, column: column, handleSave: handleSave }));
39618
39630
  case 'date':
39619
- return jsx(DateRangeFilterComponent, { fieldFilter: fieldFilter, optionsFilter: optionsFilter, filterBy: filterBy, column: column, handleSave: handleSave });
39631
+ return (jsx(DateRangeFilterComponent, { fieldFilter: fieldFilter, optionsFilter: optionsFilter, filterBy: filterBy, column: column, handleSave: handleSave }));
39620
39632
  default:
39621
39633
  return jsx("div", { children: t('No filter available') });
39622
39634
  }
39623
39635
  /* eslint-enable */
39624
39636
  };
39625
- const StringFilterComponent = ({ fieldFilter, filterBy, handleSave }) => {
39637
+ const StringFilterComponent = ({ fieldFilter, filterBy, handleSave, }) => {
39626
39638
  const { t } = useTranslation();
39627
39639
  const filter = filterBy.find((item) => item.key === fieldFilter);
39628
39640
  const [operator, setOperator] = useState(filter?.ope ?? 'contains');
@@ -39632,7 +39644,7 @@ const StringFilterComponent = ({ fieldFilter, filterBy, handleSave }) => {
39632
39644
  { label: 'Kết thúc bởi', value: 'endswith' },
39633
39645
  { label: 'Chứa', value: 'contains' },
39634
39646
  { label: 'Bằng', value: 'equal' },
39635
- { label: 'Không bằng', value: 'notequal' }
39647
+ { label: 'Không bằng', value: 'notequal' },
39636
39648
  ];
39637
39649
  return (jsx(Fragment$1, { children: jsxs("div", { className: "r-filter-popup", onKeyDown: (e) => {
39638
39650
  if (e.code === 'Enter' || e.code === 'NumpadEnter') {
@@ -39647,7 +39659,7 @@ const StringFilterComponent = ({ fieldFilter, filterBy, handleSave }) => {
39647
39659
  setValueFilter(val.target.value);
39648
39660
  } }), jsxs("div", { className: "d-flex justify-content-end", children: [jsx(Button$1$1, { color: "primary", style: { borderRadius: 3 }, className: "me-50 py-25 px-50 fw-bold", onClick: () => handleSave('text', valueFilter, operator), children: t('Filter') }), jsx(Button$1$1, { className: "py-25 px-50 fw-bold", outline: true, style: { borderRadius: 3 }, onClick: () => handleSave(), children: t('Clear') })] })] }) }));
39649
39661
  };
39650
- const NumberFilterComponent = ({ column, filterBy, fieldFilter, handleSave, formatSetting }) => {
39662
+ const NumberFilterComponent = ({ column, filterBy, fieldFilter, handleSave, formatSetting, }) => {
39651
39663
  const { t } = useTranslation();
39652
39664
  const filter = filterBy.find((item) => item.key === fieldFilter);
39653
39665
  const [operator, setOperator] = useState(filter?.ope ?? 'equal');
@@ -39657,17 +39669,15 @@ const NumberFilterComponent = ({ column, filterBy, fieldFilter, handleSave, form
39657
39669
  { label: 'Lớn hơn hoặc bằng', value: 'greaterthanorequal' },
39658
39670
  { label: 'Bằng', value: 'equal' },
39659
39671
  { label: 'Bé hơn', value: 'lessthan' },
39660
- { label: 'Bé hơn hoặc bằng', value: 'lessthanorequal' }
39672
+ { label: 'Bé hơn hoặc bằng', value: 'lessthanorequal' },
39661
39673
  ];
39662
39674
  const numericFormatProps = {
39663
39675
  value: !isNullOrUndefined$1(valueFilter) ? valueFilter.toString() : '',
39664
39676
  thousandSeparator: checkThousandSeparator(formatSetting?.thousandSeparator, formatSetting?.decimalSeparator),
39665
39677
  decimalSeparator: checkDecimalSeparator(formatSetting?.thousandSeparator, formatSetting?.decimalSeparator),
39666
39678
  allowNegative: column.numericSettings?.allowNegative ?? false,
39667
- decimalScale: column.numericSettings?.fraction ?? 0
39679
+ decimalScale: column.numericSettings?.fraction ?? 0,
39668
39680
  };
39669
- console.log(column.numericSettings?.fraction);
39670
- console.log(column.field);
39671
39681
  let floatValue = parseFloat(valueFilter ?? '0');
39672
39682
  return (jsx(Fragment$1, { children: jsxs("div", { className: "r-filter-popup", onKeyDown: (e) => {
39673
39683
  if (e.code === 'Enter' || e.code === 'NumpadEnter') {
@@ -39688,7 +39698,7 @@ const NumberFilterComponent = ({ column, filterBy, fieldFilter, handleSave, form
39688
39698
  }
39689
39699
  } }), jsxs("div", { className: "d-flex justify-content-end", children: [jsx(Button$1$1, { color: "primary", style: { borderRadius: 3 }, className: "me-50 py-25 px-50 fw-bold", onClick: () => handleSave('numeric', valueFilter, operator), children: t('Filter') }), jsx(Button$1$1, { className: "py-25 px-50 fw-bold", outline: true, style: { borderRadius: 3 }, onClick: () => handleSave(), children: t('Clear') })] })] }) }));
39690
39700
  };
39691
- const SelectFilterComponent = ({ column, filterBy, handleSave, fieldFilter, optionsFilter }) => {
39701
+ const SelectFilterComponent = ({ column, filterBy, handleSave, fieldFilter, optionsFilter, }) => {
39692
39702
  const { t } = useTranslation();
39693
39703
  const filter = filterBy.find((item) => item.key === fieldFilter);
39694
39704
  const [valueFilter, setValueFilter] = useState(filter?.value ?? '');
@@ -39699,15 +39709,22 @@ const SelectFilterComponent = ({ column, filterBy, handleSave, fieldFilter, opti
39699
39709
  }, 100);
39700
39710
  e.stopPropagation();
39701
39711
  }
39702
- }, children: [jsx("div", { className: "mb-1", children: jsx(SelectTable, { value: optionsFilter ? optionsFilter[column.fieldFilter ?? column.field]?.find((x) => x.value === valueFilter) : undefined, options: (optionsFilter && optionsFilter[column.fieldFilter ?? column.field]) ?? [], isClearable: true, onChange: (val) => {
39712
+ }, children: [jsx("div", { className: "mb-1", children: jsx(SelectTable, { value: optionsFilter
39713
+ ? optionsFilter[column.fieldFilter ?? column.field]?.find((x) => x.value === valueFilter)
39714
+ : undefined, options: (optionsFilter &&
39715
+ optionsFilter[column.fieldFilter ?? column.field]) ??
39716
+ [], isClearable: true, onChange: (val) => {
39703
39717
  setValueFilter(val?.value);
39704
39718
  }, placeholder: t('Select') }) }), jsxs("div", { className: "d-flex justify-content-end", children: [jsx(Button$1$1, { color: "primary", style: { borderRadius: 3 }, className: "me-50 py-25 px-50 fw-bold", onClick: () => handleSave('select', valueFilter, 'equal'), children: t('Filter') }), jsx(Button$1$1, { className: "py-25 px-50 fw-bold", outline: true, style: { borderRadius: 3 }, onClick: () => handleSave(), children: t('Clear') })] })] }) }));
39705
39719
  };
39706
- const DateRangeFilterComponent = ({ fieldFilter, filterBy, handleSave }) => {
39720
+ const DateRangeFilterComponent = ({ fieldFilter, filterBy, handleSave, }) => {
39707
39721
  const { t } = useTranslation();
39708
39722
  const from = filterBy.find((item) => item.key === fieldFilter && item.ope === 'greaterthanorequal')?.value;
39709
39723
  const to = filterBy.find((item) => item.key === fieldFilter && item.ope === 'lessthanorequal')?.value;
39710
- const [valueFilter, setValueFilter] = useState({ from: from ?? undefined, to: to ?? undefined });
39724
+ const [valueFilter, setValueFilter] = useState({
39725
+ from: from ?? undefined,
39726
+ to: to ?? undefined,
39727
+ });
39711
39728
  return (jsx(Fragment$1, { children: jsxs("div", { className: "r-filter-popup", onKeyDown: (e) => {
39712
39729
  if (e.code === 'Enter' || e.code === 'NumpadEnter') {
39713
39730
  setTimeout(() => {
@@ -69642,7 +69659,7 @@ const RenderContentCol = React__default.memo((props) => {
69642
69659
  });
69643
69660
 
69644
69661
  const TableElement = React__default.memo((props) => {
69645
- const { contentColumns, dataSource, fieldKey, filterBy, fisrtObjWidthFixRight, lastObjWidthFixLeft, objWidthFixLeft, objWidthFixRight, orderBy, selectedRows, setContentColumns, setSelectedRows, formatSetting, gridRef, idTable, headerColumns, objHeaderWidthFixLeft, objHeaderWidthFixRight, isMulti, querySetting, searchSetting, searchTerm, columnsAggregate, haveSum, expandsAll, zeroVisiable, setFilterBy, setOrderBy, setExpandsAll, handleDoubleClick, handleCellClick, contextMenuItems, handleContextMenuClick, isLoading } = props;
69662
+ const { contentColumns, dataSource, fieldKey, filterBy, fisrtObjWidthFixRight, lastObjWidthFixLeft, objWidthFixLeft, objWidthFixRight, orderBy, selectedRows, setContentColumns, setSelectedRows, formatSetting, gridRef, idTable, headerColumns, objHeaderWidthFixLeft, objHeaderWidthFixRight, isMulti, querySetting, searchSetting, searchTerm, columnsAggregate, haveSum, expandsAll, zeroVisiable, setFilterBy, setOrderBy, setExpandsAll, handleDoubleClick, handleCellClick, contextMenuItems, handleContextMenuClick, isLoading, } = props;
69646
69663
  const { t } = useTranslation();
69647
69664
  const [context, setContext] = useState(null);
69648
69665
  const virtualDivRef = useRef(null);
@@ -69688,7 +69705,10 @@ const TableElement = React__default.memo((props) => {
69688
69705
  if (searchTerm) {
69689
69706
  datas = datas.filter((row) => {
69690
69707
  return searchSetting?.keyField?.some((key) => {
69691
- return row[key]?.toString().toLowerCase().includes(searchTerm.trim().toLowerCase());
69708
+ return row[key]
69709
+ ?.toString()
69710
+ .toLowerCase()
69711
+ .includes(searchTerm.trim().toLowerCase());
69692
69712
  });
69693
69713
  });
69694
69714
  }
@@ -69697,7 +69717,10 @@ const TableElement = React__default.memo((props) => {
69697
69717
  return filterBy.every((filter) => {
69698
69718
  const { key, value, ope } = filter;
69699
69719
  const rowValue = row[key];
69700
- if (rowValue === undefined || rowValue === null || value === undefined || value === null) {
69720
+ if (rowValue === undefined ||
69721
+ rowValue === null ||
69722
+ value === undefined ||
69723
+ value === null) {
69701
69724
  return false;
69702
69725
  }
69703
69726
  const valStr = String(rowValue).toLowerCase();
@@ -69763,52 +69786,68 @@ const TableElement = React__default.memo((props) => {
69763
69786
  }
69764
69787
  let value = row[col.field];
69765
69788
  if (col.type === 'numeric') {
69766
- value = formartNumberic(row[col.field], formatSetting?.decimalSeparator ?? ',', formatSetting?.thousandSeparator ?? '.', col.numericSettings?.fraction, true, false) ?? 0;
69789
+ value =
69790
+ formartNumberic(row[col.field], formatSetting?.decimalSeparator ?? ',', formatSetting?.thousandSeparator ?? '.', col.numericSettings?.fraction, true, false) ?? 0;
69767
69791
  }
69768
69792
  else if (col.type === 'date') {
69769
- value = value ? formatDateTime(value, formatSetting?.dateFormat) : '';
69793
+ value = value
69794
+ ? formatDateTime(value, formatSetting?.dateFormat)
69795
+ : '';
69770
69796
  }
69771
69797
  else if (col.type === 'datetime') {
69772
- value = value ? formatDateTime(value, formatSetting?.dateFormat ?? 'DD/MM/yyyy HH:mm') : '';
69798
+ value = value
69799
+ ? formatDateTime(value, formatSetting?.dateFormat ?? 'DD/MM/yyyy HH:mm')
69800
+ : '';
69773
69801
  }
69774
69802
  if (col.template) {
69775
69803
  value = col.template(row, indexRow) ?? '';
69776
69804
  }
69777
69805
  return (jsxs(Fragment$1, { children: [jsxs("tr", { "aria-rowindex": indexRow + 1, role: "row", className: "r-row", children: [jsx("td", { className: "r-rowcell r-cell-group", colSpan: 3, children: jsxs("div", { className: "r-rowcell-div", children: [jsx(SvgChevronRight, { style: {
69778
69806
  marginLeft: level * 20,
69779
- transform: expand ? 'rotate(90deg)' : 'rotate(0deg)'
69807
+ transform: expand ? 'rotate(90deg)' : 'rotate(0deg)',
69780
69808
  }, fontSize: 15, onClick: () => {
69781
69809
  setExpand(!expand);
69782
69810
  setExpandsAll(undefined);
69783
69811
  row.expand = !expand;
69784
69812
  } }), t(col.headerDisplay ?? col.headerText ?? ''), ": ", value, " (", row.children.length, ")"] }) }), contentColumns.map((colSum, indexCol) => {
69785
- if (indexCol <= firstColSpan || colSum.visible === false || colSum.isGroup === true) {
69813
+ if (indexCol <= firstColSpan ||
69814
+ colSum.visible === false ||
69815
+ colSum.isGroup === true) {
69786
69816
  return;
69787
69817
  }
69788
69818
  let sumValue = row[colSum.field];
69789
- const haveSum = row[colSum.field] !== undefined && row[colSum.field] !== null;
69790
- if (!haveSum && colSum.haveSum === true && colSum.type === 'numeric') {
69819
+ const haveSum = row[colSum.field] !== undefined &&
69820
+ row[colSum.field] !== null;
69821
+ if (!haveSum &&
69822
+ colSum.haveSum === true &&
69823
+ colSum.type === 'numeric') {
69791
69824
  sumValue = row.children.reduce(function (accumulator, currentValue) {
69792
- return Number(accumulator ?? 0) + Number(currentValue[colSum.field] ?? 0);
69825
+ return (Number(accumulator ?? 0) +
69826
+ Number(currentValue[colSum.field] ?? 0));
69793
69827
  }, 0);
69794
69828
  }
69795
69829
  if (colSum.type === 'numeric') {
69796
69830
  sumValue = formartNumberic(sumValue, formatSetting?.decimalSeparator ?? ',', formatSetting?.thousandSeparator ?? '.', colSum.numericSettings?.fraction, true, false);
69797
- if (!zeroVisiable && !col.zeroVisiable && (sumValue === '0' || sumValue === 0)) {
69831
+ if (!zeroVisiable &&
69832
+ !col.zeroVisiable &&
69833
+ (sumValue === '0' || sumValue === 0)) {
69798
69834
  sumValue = '';
69799
69835
  }
69800
69836
  }
69801
69837
  return (jsx("td", { className: "r-rowcell r-cell-sum-group", children: jsx("div", { className: "r-rowcell-div", style: {
69802
- justifyContent: colSum.textAlign ? colSum.textAlign : 'left'
69803
- }, children: (haveSum || colSum.haveSum === true) && Number(row[colSum.field] ?? '0') < 0 ? (jsxs("div", { style: {
69804
- color: formatSetting?.colorNegative ?? 'red'
69805
- }, children: [' ', `${formatSetting?.prefixNegative ?? '-'}${sumValue}${formatSetting?.suffixNegative ?? ''}`] })) : (sumValue) }) }, `group-sum-cell-${level}-${indexRow}-${indexCol}`));
69806
- })] }), expand && jsx(RenderContent, { datas: row.children, level: level + 1 })] }, `row-${level}-${indexRow}`));
69838
+ justifyContent: colSum.textAlign
69839
+ ? colSum.textAlign
69840
+ : 'left',
69841
+ }, children: (haveSum || colSum.haveSum === true) &&
69842
+ Number(row[colSum.field] ?? '0') < 0 ? (jsx("div", { style: {
69843
+ color: formatSetting?.colorNegative ?? 'red',
69844
+ }, children: `${formatSetting?.prefixNegative ?? '-'}${sumValue}${formatSetting?.suffixNegative ?? ''}` })) : (sumValue) }) }, `group-sum-cell-${level}-${indexRow}-${indexCol}`));
69845
+ })] }), expand && (jsx(RenderContent, { datas: row.children, level: level + 1 }))] }, `row-${level}-${indexRow}`));
69807
69846
  }
69808
69847
  else {
69809
69848
  const isSelected = selectedRows?.some((x) => x[fieldKey] === row[fieldKey]);
69810
69849
  return (jsx("tr", { id: `row-content-${indexRow}`, "aria-rowindex": indexRow + 1, role: "row", className: classNames$1('r-row', {
69811
- 'r-last-row': level === 0 && indexRow === viewData.length - 1
69850
+ 'r-last-row': level === 0 && indexRow === viewData.length - 1,
69812
69851
  }), onContextMenu: (e) => {
69813
69852
  e.preventDefault();
69814
69853
  handleContextMenu(e, row);
@@ -69824,7 +69863,7 @@ const TableElement = React__default.memo((props) => {
69824
69863
  x: e.clientX,
69825
69864
  y: e.clientY,
69826
69865
  row,
69827
- show: true
69866
+ show: true,
69828
69867
  });
69829
69868
  }, 100);
69830
69869
  };
@@ -69848,20 +69887,28 @@ const TableElement = React__default.memo((props) => {
69848
69887
  let sumValue = item?.value;
69849
69888
  if (!item && col.haveSum === true && col.type === 'numeric') {
69850
69889
  sumValue = viewData.reduce(function (accumulator, currentValue) {
69851
- return Number(accumulator ?? 0) + Number(currentValue[col.field] ?? 0);
69890
+ return (Number(accumulator ?? 0) +
69891
+ Number(currentValue[col.field] ?? 0));
69852
69892
  }, 0);
69853
69893
  }
69854
69894
  if (col.type === 'numeric') {
69855
69895
  sumValue = formartNumberic(sumValue, formatSetting?.decimalSeparator ?? ',', formatSetting?.thousandSeparator ?? '.', col.numericSettings?.fraction, true, false);
69856
69896
  }
69857
69897
  return (jsx("td", { className: classNames$1(`p-0 px-50 r-footer fix-${col.fixedType}`, { 'cell-fixed': col.fixedType }), style: {
69858
- left: col.fixedType === 'left' ? objWidthFixLeft[indexCol] : undefined,
69859
- right: col.fixedType === 'right' ? objWidthFixRight[indexCol] : undefined,
69860
- textAlign: col.textAlign ? col.textAlign : 'left'
69861
- }, children: jsx("div", { className: "r-footer-div", children: (item || col.haveSum === true) && Number(item?.value ?? '0') < 0 ? (jsxs("div", { style: {
69862
- color: formatSetting?.colorNegative ?? 'red'
69898
+ left: col.fixedType === 'left'
69899
+ ? objWidthFixLeft[indexCol]
69900
+ : undefined,
69901
+ right: col.fixedType === 'right'
69902
+ ? objWidthFixRight[indexCol]
69903
+ : undefined,
69904
+ textAlign: col.textAlign ? col.textAlign : 'left',
69905
+ }, children: jsx("div", { className: "r-footer-div", children: (item || col.haveSum === true) &&
69906
+ Number(item?.value ?? '0') < 0 ? (jsxs("div", { style: {
69907
+ color: formatSetting?.colorNegative ?? 'red',
69863
69908
  }, children: [' ', `${formatSetting?.prefixNegative ?? '-'}${sumValue}${formatSetting?.suffixNegative ?? ''}`] })) : (sumValue) }) }, `summarycell-${indexCol}`));
69864
- }) })) })] }), jsx("div", { ref: virtualDivRef }), context && (contextMenuItems?.length ?? 0) > 0 && handleContextMenuClick && (jsx(Popover$1, { className: "r-context-popover", placement: "right-start", isOpen: context.show, target: virtualDivRef.current, toggle: handleCloseContext, fade: false, children: jsx(PopoverBody$1, { children: contextMenuItems?.map((item, index) => {
69909
+ }) })) })] }), jsx("div", { ref: virtualDivRef }), context &&
69910
+ (contextMenuItems?.length ?? 0) > 0 &&
69911
+ handleContextMenuClick && (jsx(Popover$1, { className: "r-context-popover", placement: "right-start", isOpen: context.show, target: virtualDivRef.current, toggle: handleCloseContext, fade: false, children: jsx(PopoverBody$1, { children: contextMenuItems?.map((item, index) => {
69865
69912
  return (jsxs("div", { className: "r-context-item", onClick: () => {
69866
69913
  handleCloseContext();
69867
69914
  handleContextMenuClick?.(item, context.row);