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 +28 -33
- package/dist/index.mjs +28 -33
- package/package.json +1 -1
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
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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 {
|