react-better-html 1.1.174 → 1.1.175
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.d.mts +11 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +31 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +31 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -5804,6 +5804,9 @@ var DropdownComponent = forwardRef10(function Dropdown({
|
|
|
5804
5804
|
] }),
|
|
5805
5805
|
[filteredOptions, value, focusedOptionIndex, theme2.colors, onClickOption, renderOption, renderOptionDivider]
|
|
5806
5806
|
);
|
|
5807
|
+
useEffect6(() => {
|
|
5808
|
+
setInternalValue(controlledValue);
|
|
5809
|
+
}, [controlledValue]);
|
|
5807
5810
|
useEffect6(() => {
|
|
5808
5811
|
if (isOpen) {
|
|
5809
5812
|
setIsOpenLate.setTrue();
|
|
@@ -5839,7 +5842,7 @@ var DropdownComponent = forwardRef10(function Dropdown({
|
|
|
5839
5842
|
}, [withDebounce, onChangeSearch, debouncedSearchQuery]);
|
|
5840
5843
|
const displayValue = withSearch && isFocused ? searchQuery : selectedOption?.label ?? "";
|
|
5841
5844
|
const withClearButton = isOpen && selectedOption;
|
|
5842
|
-
const readyPlaceholder = placeholder
|
|
5845
|
+
const readyPlaceholder = placeholder ?? `Select an ${label?.toLowerCase() ?? "option"}`;
|
|
5843
5846
|
return /* @__PURE__ */ jsx15(Div_default.column, { width: "100%", position: "relative", userSelect: "none", ...props, children: /* @__PURE__ */ jsxs11(Div_default.row, { position: "relative", width: "100%", children: [
|
|
5844
5847
|
/* @__PURE__ */ jsx15(
|
|
5845
5848
|
InputField_default,
|
|
@@ -7806,6 +7809,7 @@ var filterPresetsText = {
|
|
|
7806
7809
|
nextYear: "Next year"
|
|
7807
7810
|
};
|
|
7808
7811
|
var TableComponent = forwardRef15(function Table({
|
|
7812
|
+
name,
|
|
7809
7813
|
columns,
|
|
7810
7814
|
data,
|
|
7811
7815
|
isStriped,
|
|
@@ -7817,6 +7821,8 @@ var TableComponent = forwardRef15(function Table({
|
|
|
7817
7821
|
isInsideTableExpandRow,
|
|
7818
7822
|
containsOverflowComponents,
|
|
7819
7823
|
wrapperComponentRef,
|
|
7824
|
+
memoizeFilters,
|
|
7825
|
+
memoizeFiltersLifespan = 72e5,
|
|
7820
7826
|
getRowStyle,
|
|
7821
7827
|
onClickRow,
|
|
7822
7828
|
onClickAllCheckboxes,
|
|
@@ -7834,7 +7840,15 @@ var TableComponent = forwardRef15(function Table({
|
|
|
7834
7840
|
const [checkedItems, setCheckedItems] = useState9([]);
|
|
7835
7841
|
const [expandedRows, setExpandedRows] = useState9([]);
|
|
7836
7842
|
const [currentPage, setCurrentPage] = useState9(1);
|
|
7837
|
-
const [filterData, setFilterData] = useState9({
|
|
7843
|
+
const [filterData, setFilterData] = useState9(() => {
|
|
7844
|
+
if (!memoizeFilters || !name) return {};
|
|
7845
|
+
const localStorageData = JSON.parse(localStorage.getItem(`react-better-html-table-filters-${name}`) || "{}");
|
|
7846
|
+
const timestamp = localStorageData.timestamp;
|
|
7847
|
+
const data2 = localStorageData.data ?? {};
|
|
7848
|
+
const timeDiff = Date.now() - timestamp;
|
|
7849
|
+
if (timeDiff > memoizeFiltersLifespan) return {};
|
|
7850
|
+
return data2;
|
|
7851
|
+
});
|
|
7838
7852
|
const [openedFilterColumnIndex, setOpenedFilterColumnIndex] = useState9();
|
|
7839
7853
|
const [filterListSelectedItems, setFilterListSelectedItems] = useState9();
|
|
7840
7854
|
const openedFilterData = openedFilterColumnIndex ? filterData[openedFilterColumnIndex] : void 0;
|
|
@@ -8089,6 +8103,10 @@ var TableComponent = forwardRef15(function Table({
|
|
|
8089
8103
|
} else if (column.filter === "date" && filter.type === "date" || column.filter === "date-time" && filter.type === "date-time") {
|
|
8090
8104
|
const minDate = filter.min ? new Date(filter.min) : void 0;
|
|
8091
8105
|
const maxDate = filter.max ? new Date(filter.max) : void 0;
|
|
8106
|
+
if (column.filter === "date") {
|
|
8107
|
+
minDate?.setHours(0, 0, 0, 0);
|
|
8108
|
+
maxDate?.setHours(23, 59, 59, 999);
|
|
8109
|
+
}
|
|
8092
8110
|
const itemValue = column.getValue?.(item) ?? new Date(column.type === "text" && column.keyName ? String(item[column.keyName]) : "");
|
|
8093
8111
|
if (filter.min !== void 0 && minDate && itemValue < minDate) return false;
|
|
8094
8112
|
if (filter.max !== void 0 && maxDate && itemValue > maxDate) return false;
|
|
@@ -8172,6 +8190,17 @@ var TableComponent = forwardRef15(function Table({
|
|
|
8172
8190
|
useEffect10(() => {
|
|
8173
8191
|
onChangeFilter?.(filterData);
|
|
8174
8192
|
}, [onChangeFilter, filterData]);
|
|
8193
|
+
useEffect10(() => {
|
|
8194
|
+
if (!memoizeFilters) return;
|
|
8195
|
+
if (!name) return;
|
|
8196
|
+
localStorage.setItem(
|
|
8197
|
+
`react-better-html-table-filters-${name}`,
|
|
8198
|
+
JSON.stringify({
|
|
8199
|
+
timestamp: Date.now(),
|
|
8200
|
+
data: filterData
|
|
8201
|
+
})
|
|
8202
|
+
);
|
|
8203
|
+
}, [memoizeFilters, name, filterData]);
|
|
8175
8204
|
useEffect10(() => {
|
|
8176
8205
|
onChangeFilterDataValue?.(dataAfterFilter);
|
|
8177
8206
|
}, [onChangeFilterDataValue, dataAfterFilter]);
|