react-table-edit 0.4.8 → 0.4.9

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.js CHANGED
@@ -1535,9 +1535,9 @@ var TableEdit = (0, import_react12.forwardRef)((props, ref) => {
1535
1535
  const gridRef = (0, import_react12.useRef)();
1536
1536
  const lag = window.localStorage.getItem("i18nextLng");
1537
1537
  const lang = lag ? lag : "vi";
1538
+ let totalCount = dataSource.length;
1538
1539
  const pagingClient = pagingSetting?.allowPaging && (pagingSetting?.pagingClient || !(editDisable || addDisable));
1539
1540
  const searchClient = searchSetting?.searchEnable && (searchSetting?.searchClient || !(editDisable || addDisable));
1540
- let totalCount = dataSource.length;
1541
1541
  const fieldKey = columns.find((item) => item.isPrimarykey === true)?.field ?? "id";
1542
1542
  const fieldUniKey = columns.filter((item) => item.isUnikey === true)?.map((item) => item.field);
1543
1543
  (0, import_react12.useEffect)(() => {
@@ -2148,39 +2148,35 @@ var TableEdit = (0, import_react12.forwardRef)((props, ref) => {
2148
2148
  );
2149
2149
  }) }) });
2150
2150
  };
2151
- const moveIndexRowToNewPage = () => {
2152
- changeDataSource(dataSource, true);
2153
- if (pagingClient && pagingSetting?.setCurrentPage && totalCount % (pagingSetting?.pageSize ?? 0) === 0) {
2154
- pagingSetting?.setCurrentPage((pagingSetting?.currentPage ?? 0) + 1);
2155
- }
2156
- if (tableElement) {
2157
- setIndexFocus(totalCount);
2158
- setTimeout(() => {
2159
- tableElement.current?.scrollTo(0, tableElement.current.scrollHeight);
2160
- const element = document.getElementById(`${idTable}-col${columnFistEdit}-row${totalCount + 1}`);
2161
- if (element) {
2162
- if (element.className.includes("react-select") || element.className.includes("form-edit")) {
2163
- element.getElementsByTagName("input")[0]?.focus();
2164
- } else {
2165
- element.focus();
2166
- element.scrollIntoView();
2167
- }
2168
- }
2169
- }, 100);
2170
- }
2171
- };
2172
- const focusNewElement = (idElement, onLoad = false) => {
2151
+ const focusNewElement = (col, row, onLoad = false) => {
2173
2152
  setTimeout(() => {
2174
- const element = document.getElementById(idElement);
2153
+ const element = document.getElementById(`${idTable}-col${col}-row${row}`);
2175
2154
  if (element) {
2176
2155
  if (element.className.includes("react-select") || element.className.includes("form-edit")) {
2177
2156
  element.getElementsByTagName("input")[0]?.focus();
2178
2157
  } else {
2179
2158
  element.focus();
2180
2159
  }
2160
+ if ((tableElement.current?.scrollHeight ?? 0) > 0) {
2161
+ if ((tableElement.current?.scrollTop ?? 0) > (row - 1) * 34) {
2162
+ tableElement.current?.scrollTo({ behavior: "smooth", top: (row - 1) * 34 });
2163
+ } else if ((tableElement.current?.clientHeight ?? 0) - (haveSum ? 30 : 0) - headerColumns.length * 42 < row * 34 - (tableElement.current?.scrollTop ?? 0)) {
2164
+ tableElement.current?.scrollTo({ behavior: "smooth", top: (tableElement.current?.scrollTop ?? 0) + 34 });
2165
+ }
2166
+ }
2181
2167
  }
2182
2168
  }, onLoad ? 100 : 0);
2183
2169
  };
2170
+ const moveIndexRowToNewPage = () => {
2171
+ changeDataSource(dataSource, true);
2172
+ if (pagingClient && pagingSetting?.setCurrentPage && totalCount % (pagingSetting?.pageSize ?? 0) === 0) {
2173
+ pagingSetting?.setCurrentPage((pagingSetting?.currentPage ?? 0) + 1);
2174
+ }
2175
+ if (tableElement) {
2176
+ setIndexFocus(totalCount);
2177
+ focusNewElement(columnFistEdit, totalCount + 1, true);
2178
+ }
2179
+ };
2184
2180
  const checkKeyDown = (e, row, col, indexRow, indexCol) => {
2185
2181
  if (e.code === "ArrowRight") {
2186
2182
  let newIndexCol = -1;
@@ -2191,7 +2187,7 @@ var TableEdit = (0, import_react12.forwardRef)((props, ref) => {
2191
2187
  }
2192
2188
  }
2193
2189
  if (newIndexCol > -1) {
2194
- focusNewElement(`${idTable}-col${newIndexCol}-row${indexRow}`);
2190
+ focusNewElement(newIndexCol, indexRow);
2195
2191
  e.preventDefault();
2196
2192
  return e.code;
2197
2193
  }
@@ -2204,7 +2200,7 @@ var TableEdit = (0, import_react12.forwardRef)((props, ref) => {
2204
2200
  }
2205
2201
  }
2206
2202
  if (newIndexCol > -1) {
2207
- focusNewElement(`${idTable}-col${newIndexCol}-row${indexRow}`);
2203
+ focusNewElement(newIndexCol, indexRow);
2208
2204
  e.preventDefault();
2209
2205
  return e.code;
2210
2206
  }
@@ -2216,7 +2212,7 @@ var TableEdit = (0, import_react12.forwardRef)((props, ref) => {
2216
2212
  pagingSetting?.setCurrentPage((pagingSetting?.currentPage ?? 1) - 1);
2217
2213
  }
2218
2214
  setIndexFocus(indexRow - 2);
2219
- focusNewElement(`${idTable}-col${indexCol}-row${indexRow - 1}`, true);
2215
+ focusNewElement(indexCol, indexRow - 1, true);
2220
2216
  e.preventDefault();
2221
2217
  return e.code;
2222
2218
  }
@@ -2229,7 +2225,7 @@ var TableEdit = (0, import_react12.forwardRef)((props, ref) => {
2229
2225
  pagingSetting?.setCurrentPage((pagingSetting?.currentPage ?? 1) + 1);
2230
2226
  }
2231
2227
  setIndexFocus(indexRow);
2232
- focusNewElement(`${idTable}-col${indexCol}-row${indexRow + 1}`, true);
2228
+ focusNewElement(indexCol, indexRow + 1, true);
2233
2229
  e.preventDefault();
2234
2230
  return e.code;
2235
2231
  }
@@ -2242,7 +2238,7 @@ var TableEdit = (0, import_react12.forwardRef)((props, ref) => {
2242
2238
  pagingSetting?.setCurrentPage((pagingSetting?.currentPage ?? 1) + 1);
2243
2239
  }
2244
2240
  setIndexFocus(indexRow);
2245
- focusNewElement(`${idTable}-col${indexCol}-row${indexRow + 1}`, true);
2241
+ focusNewElement(indexCol, indexRow + 1, true);
2246
2242
  }
2247
2243
  e.preventDefault();
2248
2244
  return e.code;
@@ -2256,7 +2252,7 @@ var TableEdit = (0, import_react12.forwardRef)((props, ref) => {
2256
2252
  pagingSetting?.setCurrentPage((pagingSetting?.currentPage ?? 1) + 1);
2257
2253
  }
2258
2254
  setIndexFocus(indexRow);
2259
- focusNewElement(`${idTable}-col${indexCol}-row${indexRow + 1}`, true);
2255
+ focusNewElement(indexCol, indexRow + 1, true);
2260
2256
  }
2261
2257
  e.preventDefault();
2262
2258
  return e.code;
@@ -2296,14 +2292,14 @@ var TableEdit = (0, import_react12.forwardRef)((props, ref) => {
2296
2292
  }
2297
2293
  });
2298
2294
  const handleAdd = () => {
2295
+ const lengthData = dataSource.length;
2299
2296
  changeDataSource(dataSource, true);
2300
- const lengthData = dataSource.length - 1;
2301
2297
  if (pagingSetting?.setCurrentPage) {
2302
2298
  pagingSetting?.setCurrentPage(Math.floor(lengthData / (pagingSetting?.pageSize ?? 0)) + 1);
2303
2299
  }
2304
2300
  if (tableElement) {
2305
2301
  setIndexFocus(lengthData);
2306
- focusNewElement(`${idTable}-col${columnFistEdit}-row${lengthData + 1}`, true);
2302
+ focusNewElement(columnFistEdit, lengthData + 1, true);
2307
2303
  }
2308
2304
  };
2309
2305
  const handleDuplicate = (data, index) => {
@@ -2387,7 +2383,6 @@ var TableEdit = (0, import_react12.forwardRef)((props, ref) => {
2387
2383
  const changeDataSource = (data, haveNew = false) => {
2388
2384
  if (!editDisable && !addDisable && setDataSource) {
2389
2385
  if (searchSetting?.searchTerm !== void 0 ? searchSetting?.searchTerm : searchTerm) {
2390
- console.log("\xE1dads");
2391
2386
  if (searchSetting?.setSearchTerm) {
2392
2387
  searchSetting?.setSearchTerm("");
2393
2388
  } else {
package/dist/index.mjs CHANGED
@@ -1493,9 +1493,9 @@ var TableEdit = forwardRef2((props, ref) => {
1493
1493
  const gridRef = useRef2();
1494
1494
  const lag = window.localStorage.getItem("i18nextLng");
1495
1495
  const lang = lag ? lag : "vi";
1496
+ let totalCount = dataSource.length;
1496
1497
  const pagingClient = pagingSetting?.allowPaging && (pagingSetting?.pagingClient || !(editDisable || addDisable));
1497
1498
  const searchClient = searchSetting?.searchEnable && (searchSetting?.searchClient || !(editDisable || addDisable));
1498
- let totalCount = dataSource.length;
1499
1499
  const fieldKey = columns.find((item) => item.isPrimarykey === true)?.field ?? "id";
1500
1500
  const fieldUniKey = columns.filter((item) => item.isUnikey === true)?.map((item) => item.field);
1501
1501
  useEffect6(() => {
@@ -2106,39 +2106,35 @@ var TableEdit = forwardRef2((props, ref) => {
2106
2106
  );
2107
2107
  }) }) });
2108
2108
  };
2109
- const moveIndexRowToNewPage = () => {
2110
- changeDataSource(dataSource, true);
2111
- if (pagingClient && pagingSetting?.setCurrentPage && totalCount % (pagingSetting?.pageSize ?? 0) === 0) {
2112
- pagingSetting?.setCurrentPage((pagingSetting?.currentPage ?? 0) + 1);
2113
- }
2114
- if (tableElement) {
2115
- setIndexFocus(totalCount);
2116
- setTimeout(() => {
2117
- tableElement.current?.scrollTo(0, tableElement.current.scrollHeight);
2118
- const element = document.getElementById(`${idTable}-col${columnFistEdit}-row${totalCount + 1}`);
2119
- if (element) {
2120
- if (element.className.includes("react-select") || element.className.includes("form-edit")) {
2121
- element.getElementsByTagName("input")[0]?.focus();
2122
- } else {
2123
- element.focus();
2124
- element.scrollIntoView();
2125
- }
2126
- }
2127
- }, 100);
2128
- }
2129
- };
2130
- const focusNewElement = (idElement, onLoad = false) => {
2109
+ const focusNewElement = (col, row, onLoad = false) => {
2131
2110
  setTimeout(() => {
2132
- const element = document.getElementById(idElement);
2111
+ const element = document.getElementById(`${idTable}-col${col}-row${row}`);
2133
2112
  if (element) {
2134
2113
  if (element.className.includes("react-select") || element.className.includes("form-edit")) {
2135
2114
  element.getElementsByTagName("input")[0]?.focus();
2136
2115
  } else {
2137
2116
  element.focus();
2138
2117
  }
2118
+ if ((tableElement.current?.scrollHeight ?? 0) > 0) {
2119
+ if ((tableElement.current?.scrollTop ?? 0) > (row - 1) * 34) {
2120
+ tableElement.current?.scrollTo({ behavior: "smooth", top: (row - 1) * 34 });
2121
+ } else if ((tableElement.current?.clientHeight ?? 0) - (haveSum ? 30 : 0) - headerColumns.length * 42 < row * 34 - (tableElement.current?.scrollTop ?? 0)) {
2122
+ tableElement.current?.scrollTo({ behavior: "smooth", top: (tableElement.current?.scrollTop ?? 0) + 34 });
2123
+ }
2124
+ }
2139
2125
  }
2140
2126
  }, onLoad ? 100 : 0);
2141
2127
  };
2128
+ const moveIndexRowToNewPage = () => {
2129
+ changeDataSource(dataSource, true);
2130
+ if (pagingClient && pagingSetting?.setCurrentPage && totalCount % (pagingSetting?.pageSize ?? 0) === 0) {
2131
+ pagingSetting?.setCurrentPage((pagingSetting?.currentPage ?? 0) + 1);
2132
+ }
2133
+ if (tableElement) {
2134
+ setIndexFocus(totalCount);
2135
+ focusNewElement(columnFistEdit, totalCount + 1, true);
2136
+ }
2137
+ };
2142
2138
  const checkKeyDown = (e, row, col, indexRow, indexCol) => {
2143
2139
  if (e.code === "ArrowRight") {
2144
2140
  let newIndexCol = -1;
@@ -2149,7 +2145,7 @@ var TableEdit = forwardRef2((props, ref) => {
2149
2145
  }
2150
2146
  }
2151
2147
  if (newIndexCol > -1) {
2152
- focusNewElement(`${idTable}-col${newIndexCol}-row${indexRow}`);
2148
+ focusNewElement(newIndexCol, indexRow);
2153
2149
  e.preventDefault();
2154
2150
  return e.code;
2155
2151
  }
@@ -2162,7 +2158,7 @@ var TableEdit = forwardRef2((props, ref) => {
2162
2158
  }
2163
2159
  }
2164
2160
  if (newIndexCol > -1) {
2165
- focusNewElement(`${idTable}-col${newIndexCol}-row${indexRow}`);
2161
+ focusNewElement(newIndexCol, indexRow);
2166
2162
  e.preventDefault();
2167
2163
  return e.code;
2168
2164
  }
@@ -2174,7 +2170,7 @@ var TableEdit = forwardRef2((props, ref) => {
2174
2170
  pagingSetting?.setCurrentPage((pagingSetting?.currentPage ?? 1) - 1);
2175
2171
  }
2176
2172
  setIndexFocus(indexRow - 2);
2177
- focusNewElement(`${idTable}-col${indexCol}-row${indexRow - 1}`, true);
2173
+ focusNewElement(indexCol, indexRow - 1, true);
2178
2174
  e.preventDefault();
2179
2175
  return e.code;
2180
2176
  }
@@ -2187,7 +2183,7 @@ var TableEdit = forwardRef2((props, ref) => {
2187
2183
  pagingSetting?.setCurrentPage((pagingSetting?.currentPage ?? 1) + 1);
2188
2184
  }
2189
2185
  setIndexFocus(indexRow);
2190
- focusNewElement(`${idTable}-col${indexCol}-row${indexRow + 1}`, true);
2186
+ focusNewElement(indexCol, indexRow + 1, true);
2191
2187
  e.preventDefault();
2192
2188
  return e.code;
2193
2189
  }
@@ -2200,7 +2196,7 @@ var TableEdit = forwardRef2((props, ref) => {
2200
2196
  pagingSetting?.setCurrentPage((pagingSetting?.currentPage ?? 1) + 1);
2201
2197
  }
2202
2198
  setIndexFocus(indexRow);
2203
- focusNewElement(`${idTable}-col${indexCol}-row${indexRow + 1}`, true);
2199
+ focusNewElement(indexCol, indexRow + 1, true);
2204
2200
  }
2205
2201
  e.preventDefault();
2206
2202
  return e.code;
@@ -2214,7 +2210,7 @@ var TableEdit = forwardRef2((props, ref) => {
2214
2210
  pagingSetting?.setCurrentPage((pagingSetting?.currentPage ?? 1) + 1);
2215
2211
  }
2216
2212
  setIndexFocus(indexRow);
2217
- focusNewElement(`${idTable}-col${indexCol}-row${indexRow + 1}`, true);
2213
+ focusNewElement(indexCol, indexRow + 1, true);
2218
2214
  }
2219
2215
  e.preventDefault();
2220
2216
  return e.code;
@@ -2254,14 +2250,14 @@ var TableEdit = forwardRef2((props, ref) => {
2254
2250
  }
2255
2251
  });
2256
2252
  const handleAdd = () => {
2253
+ const lengthData = dataSource.length;
2257
2254
  changeDataSource(dataSource, true);
2258
- const lengthData = dataSource.length - 1;
2259
2255
  if (pagingSetting?.setCurrentPage) {
2260
2256
  pagingSetting?.setCurrentPage(Math.floor(lengthData / (pagingSetting?.pageSize ?? 0)) + 1);
2261
2257
  }
2262
2258
  if (tableElement) {
2263
2259
  setIndexFocus(lengthData);
2264
- focusNewElement(`${idTable}-col${columnFistEdit}-row${lengthData + 1}`, true);
2260
+ focusNewElement(columnFistEdit, lengthData + 1, true);
2265
2261
  }
2266
2262
  };
2267
2263
  const handleDuplicate = (data, index) => {
@@ -2345,7 +2341,6 @@ var TableEdit = forwardRef2((props, ref) => {
2345
2341
  const changeDataSource = (data, haveNew = false) => {
2346
2342
  if (!editDisable && !addDisable && setDataSource) {
2347
2343
  if (searchSetting?.searchTerm !== void 0 ? searchSetting?.searchTerm : searchTerm) {
2348
- console.log("\xE1dads");
2349
2344
  if (searchSetting?.setSearchTerm) {
2350
2345
  searchSetting?.setSearchTerm("");
2351
2346
  } else {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-table-edit",
3
3
  "license": "MIT",
4
- "version": "0.4.8",
4
+ "version": "0.4.9",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
7
7
  "types": "dist/index.d.ts",