@monolith-forensics/monolith-ui 1.2.91 → 1.2.93
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/Button/Button.d.ts +1 -0
- package/dist/Button/Button.js +3 -2
- package/dist/Calendar/CalendarStyles.d.ts +5 -15
- package/dist/Calendar/calendarHelpers.d.ts +1 -1
- package/dist/CheckBox/CheckBox.js +6 -4
- package/dist/DateInput/DateInput.d.ts +5 -3
- package/dist/DateInput/DateInput.js +41 -25
- package/dist/DropDownMenu/DropDownMenu.d.ts +2 -45
- package/dist/DropDownMenu/DropDownMenu.js +9 -315
- package/dist/DropDownMenu/components/Menu.d.ts +2 -0
- package/dist/DropDownMenu/components/Menu.js +11 -0
- package/dist/DropDownMenu/components/MenuComponent.d.ts +2 -0
- package/dist/DropDownMenu/components/MenuComponent.js +117 -0
- package/dist/DropDownMenu/components/MenuContext.d.ts +7 -0
- package/dist/DropDownMenu/components/MenuContext.js +8 -0
- package/dist/DropDownMenu/components/MenuItem.d.ts +7 -0
- package/dist/DropDownMenu/components/MenuItem.js +99 -0
- package/dist/DropDownMenu/components/MenuItemList.d.ts +18 -0
- package/dist/DropDownMenu/components/MenuItemList.js +92 -0
- package/dist/DropDownMenu/components/SearchInput.d.ts +1 -0
- package/dist/DropDownMenu/components/SearchInput.js +4 -0
- package/dist/DropDownMenu/components/StyledContent.d.ts +2 -0
- package/dist/DropDownMenu/components/StyledContent.js +42 -0
- package/dist/DropDownMenu/components/StyledFloatContainer.d.ts +1 -0
- package/dist/DropDownMenu/components/StyledFloatContainer.js +5 -0
- package/dist/DropDownMenu/components/StyledInnerItemContainer.d.ts +1 -0
- package/dist/DropDownMenu/components/StyledInnerItemContainer.js +9 -0
- package/dist/DropDownMenu/components/index.d.ts +9 -0
- package/dist/DropDownMenu/components/index.js +9 -0
- package/dist/DropDownMenu/index.d.ts +1 -1
- package/dist/DropDownMenu/index.js +1 -0
- package/dist/DropDownMenu/types.d.ts +52 -0
- package/dist/FieldLabel/FieldLabel.d.ts +1 -1
- package/dist/FileViewer/FileViewer.d.ts +13 -0
- package/dist/FileViewer/FileViewer.js +180 -0
- package/dist/FileViewer/index.d.ts +1 -0
- package/dist/FileViewer/index.js +1 -0
- package/dist/FileViewer/viewers/CodeViewer.d.ts +6 -0
- package/dist/FileViewer/viewers/CodeViewer.js +106 -0
- package/dist/FileViewer/viewers/ImageViewer.d.ts +6 -0
- package/dist/FileViewer/viewers/ImageViewer.js +58 -0
- package/dist/FileViewer/viewers/OfficeViewer.d.ts +5 -0
- package/dist/FileViewer/viewers/OfficeViewer.js +70 -0
- package/dist/FileViewer/viewers/PdfViewer.d.ts +8 -0
- package/dist/FileViewer/viewers/PdfViewer.js +63 -0
- package/dist/FileViewer/viewers/PlainTextViewer.d.ts +4 -0
- package/dist/FileViewer/viewers/PlainTextViewer.js +62 -0
- package/dist/FileViewer/viewers/VideoViewer.d.ts +6 -0
- package/dist/FileViewer/viewers/VideoViewer.js +30 -0
- package/dist/FileViewer/viewers/index.d.ts +6 -0
- package/dist/FileViewer/viewers/index.js +6 -0
- package/dist/FormSection/FormSection.d.ts +10 -2
- package/dist/FormSection/FormSection.js +43 -8
- package/dist/IconButton/IconButton.d.ts +1 -3
- package/dist/Input/Input.js +5 -0
- package/dist/MonolithUIProvider/GlobalStyle.d.ts +1 -1
- package/dist/MonolithUIProvider/GlobalStyle.js +1 -1
- package/dist/MonolithUIProvider/MonolithUIProvider.d.ts +2 -2
- package/dist/MonolithUIProvider/MonolithUIProvider.js +8 -3
- package/dist/MonolithUIProvider/index.d.ts +2 -2
- package/dist/MonolithUIProvider/index.js +2 -2
- package/dist/MonolithUIProvider/useMonolithUITheme.d.ts +1 -2
- package/dist/MonolithUIProvider/useMonolithUITheme.js +1 -2
- package/dist/Pill/Pill.d.ts +2 -1
- package/dist/Pill/Pill.js +2 -2
- package/dist/QueryFilter/DefaultOperators.d.ts +2 -3
- package/dist/QueryFilter/DefaultOperators.js +2 -3
- package/dist/QueryFilter/QueryFilter.d.ts +2 -3
- package/dist/QueryFilter/QueryFilter.js +126 -49
- package/dist/QueryFilter/index.d.ts +4 -2
- package/dist/QueryFilter/index.js +4 -2
- package/dist/QueryFilter/types.d.ts +12 -8
- package/dist/QueryFilter/useFilterHelper.d.ts +20 -0
- package/dist/QueryFilter/useFilterHelper.js +61 -0
- package/dist/QueryFilter/useQueryFilter.d.ts +1 -2
- package/dist/QueryFilter/useQueryFilter.js +5 -2
- package/dist/RichTextEditor/Components/BubbleMenu.d.ts +3 -4
- package/dist/RichTextEditor/Components/BubbleMenu.js +29 -26
- package/dist/RichTextEditor/Components/ColorPicker.d.ts +4 -0
- package/dist/RichTextEditor/Components/ColorPicker.js +37 -0
- package/dist/RichTextEditor/Components/index.d.ts +1 -0
- package/dist/RichTextEditor/Components/index.js +1 -0
- package/dist/RichTextEditor/RichTextEditor.d.ts +2 -3
- package/dist/RichTextEditor/RichTextEditor.js +83 -86
- package/dist/RichTextEditor/Toolbar/ControlsGroup.d.ts +1 -3
- package/dist/RichTextEditor/Toolbar/Toolbar.d.ts +1 -1
- package/dist/RichTextEditor/Toolbar/Toolbar.js +10 -14
- package/dist/SelectBox/SelectBox.d.ts +1 -1
- package/dist/SelectBox/SelectBox.js +133 -92
- package/dist/SelectBox/types.d.ts +8 -5
- package/dist/Switch/Switch.js +4 -4
- package/dist/Table/ActionButton.d.ts +1 -3
- package/dist/Table/ActionCell.d.ts +1 -3
- package/dist/Table/SelectionCell.d.ts +1 -3
- package/dist/Table/StaticRows.d.ts +2 -2
- package/dist/Table/Table.d.ts +1 -2
- package/dist/Table/Table.js +9 -13
- package/dist/Table/TableComponents.d.ts +2 -6
- package/dist/Table/TableComponents.js +0 -5
- package/dist/Table/TableHeader.js +8 -2
- package/dist/Table/TableMenu/TableMenu.js +12 -10
- package/dist/Table/TableProvider.js +36 -30
- package/dist/Table/TableRow.js +5 -2
- package/dist/Table/VirtualIzedRows.d.ts +2 -2
- package/dist/Table/VirtualIzedRows.js +12 -10
- package/dist/Table/index.d.ts +1 -2
- package/dist/Table/index.js +1 -2
- package/dist/Table/types.d.ts +23 -3
- package/dist/TagBox/TagBox.d.ts +1 -1
- package/dist/TagBox/TagBox.js +180 -92
- package/dist/TagBox/TagBoxStyles.d.ts +1 -3
- package/dist/TagBox/types.d.ts +4 -2
- package/dist/TextArea/TextArea.d.ts +1 -3
- package/dist/Tooltip/Tooltip.d.ts +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +4 -4
- package/dist/theme/getTheme.d.ts +1 -1
- package/package.json +11 -5
- package/dist/RichTextEditor/Components/DefaultColorIcon.d.ts +0 -4
- package/dist/RichTextEditor/Components/DefaultColorIcon.js +0 -7
- package/dist/Table/Column.d.ts +0 -3
- package/dist/Table/Column.js +0 -5
|
@@ -10,7 +10,7 @@ import { useDebouncedCallback } from "use-debounce";
|
|
|
10
10
|
import InfoBadge from "./InfoBadge";
|
|
11
11
|
import { QueryFilter, useQueryFilter, } from "../../QueryFilter";
|
|
12
12
|
import shortUUID from "short-uuid";
|
|
13
|
-
import DefaultOperators from "../../QueryFilter
|
|
13
|
+
import { DefaultOperators } from "../../QueryFilter";
|
|
14
14
|
const StyledContainer = styled.div `
|
|
15
15
|
display: flex;
|
|
16
16
|
flex-direction: column;
|
|
@@ -27,14 +27,15 @@ const FlexedRow = styled.div `
|
|
|
27
27
|
}
|
|
28
28
|
`;
|
|
29
29
|
const TableMenu = () => {
|
|
30
|
-
var _a, _b, _c
|
|
30
|
+
var _a, _b, _c;
|
|
31
31
|
const { data, columnState, searchState, toggleColumnVisibility, tableMenuOptions, runSearch, enableSelection, compactState, toggleCompact, totalRecords, getCalculatedSelectionTotal, filterState, handleFilterChange, } = useTable();
|
|
32
32
|
if ((tableMenuOptions === null || tableMenuOptions === void 0 ? void 0 : tableMenuOptions.enabled) !== true)
|
|
33
33
|
return null;
|
|
34
|
-
const { filterOptions } = tableMenuOptions;
|
|
34
|
+
const { addButtonOptions, filterOptions, tableCountOptions, exportOptions, compactOptions, columnSelectorOptions, searchOptions, } = tableMenuOptions;
|
|
35
35
|
const queryFilter = useQueryFilter({
|
|
36
36
|
defaultFilter: filterState,
|
|
37
37
|
filterDefinitions: (filterOptions === null || filterOptions === void 0 ? void 0 : filterOptions.filterDefinitions) || [],
|
|
38
|
+
showCombinator: true,
|
|
38
39
|
onFilterChange: (q) => {
|
|
39
40
|
var _a;
|
|
40
41
|
handleFilterChange(q);
|
|
@@ -54,11 +55,11 @@ const TableMenu = () => {
|
|
|
54
55
|
id: shortUUID.generate(),
|
|
55
56
|
dataField: item.value,
|
|
56
57
|
operator: ((_a = data === null || data === void 0 ? void 0 : data.operators) === null || _a === void 0 ? void 0 : _a[0]) || DefaultOperators[0],
|
|
57
|
-
value:
|
|
58
|
+
value: undefined,
|
|
58
59
|
label: item.label,
|
|
59
60
|
});
|
|
60
61
|
};
|
|
61
|
-
return (_jsxs(StyledContainer, { children: [_jsxs(FlexedRow, { className: "justify-sb", children: [_jsxs(FlexedRow, { children: [(
|
|
62
|
+
return (_jsxs(StyledContainer, { children: [_jsxs(FlexedRow, { className: "justify-sb", children: [_jsxs(FlexedRow, { children: [(addButtonOptions === null || addButtonOptions === void 0 ? void 0 : addButtonOptions.enabled) === true && (_jsx(Button, { color: "primary", variant: "contained", size: "xxs", onClick: () => { var _a, _b; return (_b = (_a = tableMenuOptions === null || tableMenuOptions === void 0 ? void 0 : tableMenuOptions.addButtonOptions) === null || _a === void 0 ? void 0 : _a.onClick) === null || _b === void 0 ? void 0 : _b.call(_a); }, children: ((_a = tableMenuOptions === null || tableMenuOptions === void 0 ? void 0 : tableMenuOptions.addButtonOptions) === null || _a === void 0 ? void 0 : _a.label) || "+ Add Record" })), (filterOptions === null || filterOptions === void 0 ? void 0 : filterOptions.enabled) === true && (_jsx(DropDownMenu, { variant: "outlined", size: "xs", data: ((_b = filterOptions === null || filterOptions === void 0 ? void 0 : filterOptions.filterDefinitions) === null || _b === void 0 ? void 0 : _b.map((filter) => ({
|
|
62
63
|
label: filter.label,
|
|
63
64
|
value: filter.dataField,
|
|
64
65
|
data: filter,
|
|
@@ -68,7 +69,8 @@ const TableMenu = () => {
|
|
|
68
69
|
leftSection: _jsx(FilterIcon, { size: 12 }),
|
|
69
70
|
}, onItemSelect: handleSelectFilter, dropDownProps: {
|
|
70
71
|
style: { width: 175, maxWidth: 400 },
|
|
71
|
-
}, searchable: true, children: "Filter" })),
|
|
72
|
+
}, searchable: true, children: "Filter" })), (tableCountOptions === null || tableCountOptions === void 0 ? void 0 : tableCountOptions.recordsTotalEnabled) === true && (_jsx(InfoBadge, { total: totalRecords || data.length })), enableSelection === true &&
|
|
73
|
+
(tableCountOptions === null || tableCountOptions === void 0 ? void 0 : tableCountOptions.selectionTotalEnabled) === true && (_jsx(InfoBadge, { total: getCalculatedSelectionTotal(), hint: "Selected Items", icon: CheckSquareIcon }))] }), _jsxs(FlexedRow, { children: [(exportOptions === null || exportOptions === void 0 ? void 0 : exportOptions.enabled) === true && (_jsx(DropDownMenu, { variant: "outlined", size: "xs", data: [
|
|
72
74
|
{
|
|
73
75
|
label: "Export Visible Columns",
|
|
74
76
|
value: TableExportOptions.ExportVisible,
|
|
@@ -86,7 +88,7 @@ const TableMenu = () => {
|
|
|
86
88
|
return (_b = (_a = tableMenuOptions === null || tableMenuOptions === void 0 ? void 0 : tableMenuOptions.exportOptions) === null || _a === void 0 ? void 0 : _a.onExport) === null || _b === void 0 ? void 0 : _b.call(_a, item.value);
|
|
87
89
|
}, dropDownProps: {
|
|
88
90
|
style: { width: 175, maxWidth: 400 },
|
|
89
|
-
}, children: _jsx(DownloadIcon, { size: 14 }) })), (
|
|
91
|
+
}, children: _jsx(DownloadIcon, { size: 14 }) })), (compactOptions === null || compactOptions === void 0 ? void 0 : compactOptions.enabled) === true && (_jsx(Button, { variant: "outlined", title: "Toggle Compact", size: "xxs", style: { padding: "0px 4px" }, onClick: () => toggleCompact(), children: compactState ? _jsx(Rows4Icon, { size: 14 }) : _jsx(Rows3Icon, { size: 14 }) })), (columnSelectorOptions === null || columnSelectorOptions === void 0 ? void 0 : columnSelectorOptions.enabled) === true && (_jsx(DropDownMenu, { variant: "outlined", size: "xs", data: columnState.map((col) => ({
|
|
90
92
|
label: (col === null || col === void 0 ? void 0 : col.caption) || col.dataField,
|
|
91
93
|
value: col.dataField,
|
|
92
94
|
onClick: () => toggleColumnVisibility(col.dataField),
|
|
@@ -97,10 +99,10 @@ const TableMenu = () => {
|
|
|
97
99
|
value: col.dataField,
|
|
98
100
|
})), multiselect: true, searchable: true, buttonProps: {
|
|
99
101
|
title: "Show/Hide Columns",
|
|
100
|
-
size: "
|
|
101
|
-
style: { padding: "0px 4px" },
|
|
102
|
+
size: "xs",
|
|
103
|
+
style: { padding: "0px 4px", height: 24 },
|
|
102
104
|
}, dropDownProps: {
|
|
103
105
|
style: { width: 175, maxWidth: 400 },
|
|
104
|
-
}, children: _jsx(Columns3Icon, { size: 14 }) })), (
|
|
106
|
+
}, children: _jsx(Columns3Icon, { size: 14 }) })), (searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.enabled) === true && (_jsx(TextInput, { size: "xs", placeholder: ((_c = tableMenuOptions === null || tableMenuOptions === void 0 ? void 0 : tableMenuOptions.searchOptions) === null || _c === void 0 ? void 0 : _c.placeholder) || "Search", defaultValue: searchState, onChange: handleSearch }))] })] }), _jsx(QueryFilter, { queryFilter: queryFilter })] }));
|
|
105
107
|
};
|
|
106
108
|
export default TableMenu;
|
|
@@ -19,7 +19,7 @@ import { SelectionStatus } from "./enums";
|
|
|
19
19
|
import moment from "moment";
|
|
20
20
|
export const TableContext = createContext(null);
|
|
21
21
|
const TableProvider = (_a) => {
|
|
22
|
-
var { children, columns, tableInstanceRef, stateStorage } = _a, props = __rest(_a, ["children", "columns", "tableInstanceRef", "stateStorage"]);
|
|
22
|
+
var { children, columns, tableInstanceRef, stateStorage, height, maxHeight, minHeight } = _a, props = __rest(_a, ["children", "columns", "tableInstanceRef", "stateStorage", "height", "maxHeight", "minHeight"]);
|
|
23
23
|
const _columns = columns
|
|
24
24
|
.map((child, index) => {
|
|
25
25
|
if (child.dataField === "__key") {
|
|
@@ -150,10 +150,9 @@ const TableProvider = (_a) => {
|
|
|
150
150
|
});
|
|
151
151
|
};
|
|
152
152
|
const searchData = (searchText) => {
|
|
153
|
+
const columnKeys = columnState.map((col) => col.dataField);
|
|
153
154
|
return props.data.filter((row) => {
|
|
154
|
-
return
|
|
155
|
-
.filter((key) => key !== "__key" && key !== "__index")
|
|
156
|
-
.some((key) => {
|
|
155
|
+
return columnKeys.some((key) => {
|
|
157
156
|
if (typeof row[key] === "string") {
|
|
158
157
|
return row[key].toLowerCase().includes(searchText.toLowerCase());
|
|
159
158
|
}
|
|
@@ -162,6 +161,8 @@ const TableProvider = (_a) => {
|
|
|
162
161
|
});
|
|
163
162
|
};
|
|
164
163
|
const filterData = (filter) => {
|
|
164
|
+
if (!props.data)
|
|
165
|
+
return [];
|
|
165
166
|
// create copy of data
|
|
166
167
|
let processedData = props.data.map((row) => row);
|
|
167
168
|
const { combinator, rules } = filter;
|
|
@@ -170,74 +171,81 @@ const TableProvider = (_a) => {
|
|
|
170
171
|
for (const rule of rules) {
|
|
171
172
|
const column = columnState.find((col) => col.dataField === rule.dataField);
|
|
172
173
|
const { value, operator, dataField } = rule;
|
|
173
|
-
if (
|
|
174
|
+
if (operator.value === "isEmpty" || operator.value === "isNotEmpty") {
|
|
175
|
+
processedData = processedData.filter((row) => {
|
|
176
|
+
return operator.value === "isEmpty"
|
|
177
|
+
? !row[dataField]
|
|
178
|
+
: row[dataField];
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
if (!value || value.length === 0) {
|
|
174
182
|
continue;
|
|
175
183
|
}
|
|
176
184
|
switch (operator.value) {
|
|
177
185
|
case "=":
|
|
178
186
|
processedData = processedData.filter((row) => {
|
|
179
187
|
if ((column === null || column === void 0 ? void 0 : column.dataType) === "date") {
|
|
180
|
-
return moment(row[dataField]).isSame(moment(value), "day");
|
|
188
|
+
return moment(row[dataField]).isSame(moment(value[0]), "day");
|
|
181
189
|
}
|
|
182
190
|
else if ((column === null || column === void 0 ? void 0 : column.dataType) === "datetime") {
|
|
183
|
-
return moment(row[dataField]).isSame(moment(value));
|
|
191
|
+
return moment(row[dataField]).isSame(moment(value[0]));
|
|
184
192
|
}
|
|
185
|
-
return row[dataField] == value;
|
|
193
|
+
return row[dataField] == value[0];
|
|
186
194
|
});
|
|
187
195
|
break;
|
|
188
196
|
case "!=":
|
|
189
197
|
processedData = processedData.filter((row) => {
|
|
190
198
|
if ((column === null || column === void 0 ? void 0 : column.dataType) === "date") {
|
|
191
|
-
return !moment(row[dataField]).isSame(moment(value), "day");
|
|
199
|
+
return !moment(row[dataField]).isSame(moment(value[0]), "day");
|
|
192
200
|
}
|
|
193
201
|
else if ((column === null || column === void 0 ? void 0 : column.dataType) === "datetime") {
|
|
194
|
-
return !moment(row[dataField]).isSame(moment(value));
|
|
202
|
+
return !moment(row[dataField]).isSame(moment(value[0]));
|
|
195
203
|
}
|
|
196
|
-
return row[dataField] != value;
|
|
204
|
+
return row[dataField] != value[0];
|
|
197
205
|
});
|
|
198
206
|
break;
|
|
199
207
|
case ">":
|
|
200
208
|
processedData = processedData.filter((row) => {
|
|
201
209
|
if ((column === null || column === void 0 ? void 0 : column.dataType) === "date") {
|
|
202
|
-
return moment(row[dataField]).isAfter(moment(value), "day");
|
|
210
|
+
return moment(row[dataField]).isAfter(moment(value[0]), "day");
|
|
203
211
|
}
|
|
204
212
|
else if ((column === null || column === void 0 ? void 0 : column.dataType) === "datetime") {
|
|
205
|
-
return moment(row[dataField]).isAfter(moment(value));
|
|
213
|
+
return moment(row[dataField]).isAfter(moment(value[0]));
|
|
206
214
|
}
|
|
207
|
-
return row[dataField] > value;
|
|
215
|
+
return row[dataField] > value[0];
|
|
208
216
|
});
|
|
209
217
|
break;
|
|
210
218
|
case "<":
|
|
211
219
|
processedData = processedData.filter((row) => {
|
|
212
220
|
if ((column === null || column === void 0 ? void 0 : column.dataType) === "date") {
|
|
213
|
-
return moment(row[dataField]).isBefore(moment(value), "day");
|
|
221
|
+
return moment(row[dataField]).isBefore(moment(value[0]), "day");
|
|
214
222
|
}
|
|
215
223
|
else if ((column === null || column === void 0 ? void 0 : column.dataType) === "datetime") {
|
|
216
|
-
return moment(row[dataField]).isBefore(moment(value));
|
|
224
|
+
return moment(row[dataField]).isBefore(moment(value[0]));
|
|
217
225
|
}
|
|
218
|
-
return row[dataField] < value;
|
|
226
|
+
return row[dataField] < value[0];
|
|
219
227
|
});
|
|
220
228
|
break;
|
|
221
229
|
case ">=":
|
|
222
230
|
processedData = processedData.filter((row) => {
|
|
223
231
|
if ((column === null || column === void 0 ? void 0 : column.dataType) === "date") {
|
|
224
|
-
return moment(row[dataField]).isSameOrAfter(moment(value), "day");
|
|
232
|
+
return moment(row[dataField]).isSameOrAfter(moment(value[0]), "day");
|
|
225
233
|
}
|
|
226
234
|
else if ((column === null || column === void 0 ? void 0 : column.dataType) === "datetime") {
|
|
227
|
-
return moment(row[dataField]).isSameOrAfter(moment(value));
|
|
235
|
+
return moment(row[dataField]).isSameOrAfter(moment(value[0]));
|
|
228
236
|
}
|
|
229
|
-
return row[dataField] >= value;
|
|
237
|
+
return row[dataField] >= value[0];
|
|
230
238
|
});
|
|
231
239
|
break;
|
|
232
240
|
case "<=":
|
|
233
241
|
processedData = processedData.filter((row) => {
|
|
234
242
|
if ((column === null || column === void 0 ? void 0 : column.dataType) === "date") {
|
|
235
|
-
return moment(row[dataField]).isSameOrBefore(moment(value), "day");
|
|
243
|
+
return moment(row[dataField]).isSameOrBefore(moment(value[0]), "day");
|
|
236
244
|
}
|
|
237
245
|
else if ((column === null || column === void 0 ? void 0 : column.dataType) === "datetime") {
|
|
238
|
-
return moment(row[dataField]).isSameOrBefore(moment(value));
|
|
246
|
+
return moment(row[dataField]).isSameOrBefore(moment(value[0]));
|
|
239
247
|
}
|
|
240
|
-
return row[dataField] <= value;
|
|
248
|
+
return row[dataField] <= value[0];
|
|
241
249
|
});
|
|
242
250
|
break;
|
|
243
251
|
case "between":
|
|
@@ -266,16 +274,14 @@ const TableProvider = (_a) => {
|
|
|
266
274
|
break;
|
|
267
275
|
case "contains":
|
|
268
276
|
processedData = processedData.filter((row) => {
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
.includes(value.toLowerCase());
|
|
277
|
+
var _a, _b;
|
|
278
|
+
return (_a = row[dataField]) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes((_b = value[0]) === null || _b === void 0 ? void 0 : _b.toString().toLowerCase());
|
|
272
279
|
});
|
|
273
280
|
break;
|
|
274
281
|
case "doesNotContain":
|
|
275
282
|
processedData = processedData.filter((row) => {
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
.includes(value.toLowerCase());
|
|
283
|
+
var _a, _b;
|
|
284
|
+
return !((_a = row[dataField]) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes((_b = value[0]) === null || _b === void 0 ? void 0 : _b.toString().toLowerCase()));
|
|
279
285
|
});
|
|
280
286
|
break;
|
|
281
287
|
case "in":
|
|
@@ -501,6 +507,6 @@ const TableProvider = (_a) => {
|
|
|
501
507
|
filterState,
|
|
502
508
|
compactState,
|
|
503
509
|
toggleCompact,
|
|
504
|
-
getCalculatedSelectionTotal }, props), { data: _data }), children: children }));
|
|
510
|
+
getCalculatedSelectionTotal, tableHeight: height, tableMaxHeight: maxHeight, tableMinHeight: minHeight }, props), { onRowUpdated: (props === null || props === void 0 ? void 0 : props.onRowUpdated) || (() => { }), data: _data }), children: children }));
|
|
505
511
|
};
|
|
506
512
|
export default TableProvider;
|
package/dist/Table/TableRow.js
CHANGED
|
@@ -7,7 +7,7 @@ import ActionCell from "./ActionCell";
|
|
|
7
7
|
import ActionButton from "./ActionButton";
|
|
8
8
|
import CheckBox from "../CheckBox";
|
|
9
9
|
const TableRow = ({ rowData, rowStyle }) => {
|
|
10
|
-
const { columnState, enableActionButton, onActionButtonClick, actionButtonIcon: Icon, enableSelection, selectRow, deselectRow, isRowSelected, } = useTable();
|
|
10
|
+
const { columnState, enableActionButton, onActionButtonClick, actionButtonIcon: Icon, enableSelection, selectRow, deselectRow, isRowSelected, onRowUpdated, } = useTable();
|
|
11
11
|
const selected = isRowSelected(rowData);
|
|
12
12
|
const handleSelectionChange = (e) => {
|
|
13
13
|
e === true ? selectRow(rowData) : deselectRow(rowData);
|
|
@@ -20,7 +20,10 @@ const TableRow = ({ rowData, rowStyle }) => {
|
|
|
20
20
|
minWidth: column.minWidth,
|
|
21
21
|
flex: column.width ? "0 0 auto" : "1",
|
|
22
22
|
}, children: [(column === null || column === void 0 ? void 0 : column.enableResize) === true && _jsx(ColumnResizer, { column: column }), _jsx(InnerCellContent, { className: "mfui inner-cell-content", children: column.render
|
|
23
|
-
? column.render(
|
|
23
|
+
? column.render({
|
|
24
|
+
rowData,
|
|
25
|
+
onRowUpdated,
|
|
26
|
+
})
|
|
24
27
|
: rowData[column.dataField] })] }, index));
|
|
25
28
|
})] }));
|
|
26
29
|
};
|
|
@@ -3,8 +3,8 @@ declare const VirtualizedRows: React.FC<{
|
|
|
3
3
|
width: number;
|
|
4
4
|
height: number;
|
|
5
5
|
};
|
|
6
|
-
targetElm: React.
|
|
7
|
-
listElm: React.
|
|
6
|
+
targetElm: React.MutableRefObject<HTMLDivElement | null>;
|
|
7
|
+
listElm: React.MutableRefObject<HTMLDivElement | null>;
|
|
8
8
|
rowHeight?: number;
|
|
9
9
|
headerRowHeight?: number;
|
|
10
10
|
}>;
|
|
@@ -6,16 +6,18 @@ import TableDefaults from "./TableDefaults";
|
|
|
6
6
|
import TableRow from "./TableRow";
|
|
7
7
|
const VirtualizedRows = ({ tableDimensions, targetElm, listElm, rowHeight, headerRowHeight }) => {
|
|
8
8
|
const { data, compactState } = useTable();
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
9
|
+
const effectiveRowHeight = compactState
|
|
10
|
+
? TableDefaults.row.height.compact
|
|
11
|
+
: rowHeight
|
|
12
|
+
? rowHeight
|
|
13
|
+
: TableDefaults.row.height.normal;
|
|
14
|
+
const viewPortHeight = tableDimensions.height -
|
|
15
|
+
(headerRowHeight
|
|
16
|
+
? headerRowHeight
|
|
17
|
+
: compactState
|
|
18
|
+
? TableDefaults.row.height.compact
|
|
19
|
+
: TableDefaults.row.height.normal);
|
|
20
|
+
return (_jsx(TableViewPort, { className: "mfui-tbody-viewport", ref: targetElm, style: tableDimensions, children: _jsx(FixedSizeList, { itemData: { data }, overscanCount: 10, height: viewPortHeight, width: tableDimensions.width, itemCount: (data === null || data === void 0 ? void 0 : data.length) || 0, itemSize: effectiveRowHeight, outerRef: listElm, innerElementType: (props) => {
|
|
19
21
|
return _jsx(TBody, Object.assign({ className: "mfui-tbody" }, props));
|
|
20
22
|
}, children: ({ data, index, style }) => {
|
|
21
23
|
var _a;
|
package/dist/Table/index.d.ts
CHANGED
package/dist/Table/index.js
CHANGED
package/dist/Table/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LucideIcon } from "lucide-react";
|
|
2
|
-
import { MutableRefObject,
|
|
2
|
+
import { MutableRefObject, Ref } from "react";
|
|
3
3
|
import { SelectionStatus, TableExportOptions } from "./enums";
|
|
4
4
|
import { FilterDefinition, Query } from "../QueryFilter";
|
|
5
5
|
export type StateStorage = {
|
|
@@ -7,6 +7,10 @@ export type StateStorage = {
|
|
|
7
7
|
type: "localStorage";
|
|
8
8
|
key: string;
|
|
9
9
|
};
|
|
10
|
+
export type RenderOptions = {
|
|
11
|
+
rowData: any;
|
|
12
|
+
onRowUpdated?: () => void;
|
|
13
|
+
};
|
|
10
14
|
export interface ColumnProps {
|
|
11
15
|
columnId?: string;
|
|
12
16
|
dataField: string;
|
|
@@ -20,7 +24,7 @@ export interface ColumnProps {
|
|
|
20
24
|
enableReorder?: boolean;
|
|
21
25
|
enableSorting?: boolean;
|
|
22
26
|
orderValue?: number;
|
|
23
|
-
render?: (
|
|
27
|
+
render?: (options: RenderOptions) => React.ReactNode;
|
|
24
28
|
}
|
|
25
29
|
export interface ColumnState extends ColumnProps {
|
|
26
30
|
columnId: string;
|
|
@@ -91,6 +95,9 @@ export type TableContextType = {
|
|
|
91
95
|
totalRecords?: number;
|
|
92
96
|
setColumnState: React.Dispatch<React.SetStateAction<ColumnState[]>>;
|
|
93
97
|
keyField?: string;
|
|
98
|
+
tableHeight?: number;
|
|
99
|
+
tableMaxHeight?: number;
|
|
100
|
+
tableMinHeight?: number;
|
|
94
101
|
compact?: boolean;
|
|
95
102
|
headerRowHeight?: number;
|
|
96
103
|
rowHeight?: number;
|
|
@@ -129,6 +136,7 @@ export type TableContextType = {
|
|
|
129
136
|
onColumnResize?: (e: OnColumnChangeProps) => void;
|
|
130
137
|
onColumnReorder?: (e: OnColumnChangeProps) => void;
|
|
131
138
|
onTableExport?: OnTableExportFn;
|
|
139
|
+
onRowUpdated: () => void;
|
|
132
140
|
handleColumnReorder: (dragColumn: ColumnState, dropColumn: ColumnState) => void;
|
|
133
141
|
handleColumnHeaderClick: (column: ColumnState) => void;
|
|
134
142
|
onColumnStateChange?: (e: ColumnState[]) => void;
|
|
@@ -142,6 +150,9 @@ export interface TableProviderProps {
|
|
|
142
150
|
totalRecords?: number;
|
|
143
151
|
keyField?: string;
|
|
144
152
|
tableInstanceRef?: MutableRefObject<TableInstance | undefined>;
|
|
153
|
+
height?: number;
|
|
154
|
+
maxHeight?: number;
|
|
155
|
+
minHeight?: number;
|
|
145
156
|
compact?: boolean;
|
|
146
157
|
headerRowHeight?: number;
|
|
147
158
|
rowHeight?: number;
|
|
@@ -176,6 +187,7 @@ export interface TableProviderProps {
|
|
|
176
187
|
column: ColumnState;
|
|
177
188
|
sort?: SortState | null;
|
|
178
189
|
}) => void;
|
|
190
|
+
onRowUpdated?: () => void;
|
|
179
191
|
}
|
|
180
192
|
export interface TableRowProps {
|
|
181
193
|
rowData: {
|
|
@@ -203,6 +215,10 @@ export type TableMenuOptions = {
|
|
|
203
215
|
label?: string;
|
|
204
216
|
onClick?: () => void;
|
|
205
217
|
};
|
|
218
|
+
tableCountOptions?: {
|
|
219
|
+
recordsTotalEnabled?: boolean;
|
|
220
|
+
selectionTotalEnabled?: boolean;
|
|
221
|
+
};
|
|
206
222
|
searchOptions?: {
|
|
207
223
|
enabled?: boolean;
|
|
208
224
|
placeholder?: string;
|
|
@@ -218,11 +234,14 @@ export type TableMenuOptions = {
|
|
|
218
234
|
};
|
|
219
235
|
};
|
|
220
236
|
export interface TableProps {
|
|
221
|
-
|
|
237
|
+
columnProps: ColumnProps[];
|
|
222
238
|
data: any[];
|
|
223
239
|
totalRecords?: number;
|
|
224
240
|
keyField?: string;
|
|
225
241
|
tableInstanceRef?: MutableRefObject<TableInstance | undefined>;
|
|
242
|
+
height?: number;
|
|
243
|
+
maxHeight?: number;
|
|
244
|
+
minHeight?: number;
|
|
226
245
|
virtualized?: boolean;
|
|
227
246
|
loading?: boolean;
|
|
228
247
|
compact?: boolean;
|
|
@@ -241,6 +260,7 @@ export interface TableProps {
|
|
|
241
260
|
manualFiltering?: boolean;
|
|
242
261
|
manualExport?: boolean;
|
|
243
262
|
tableMenuOptions?: TableMenuOptions;
|
|
263
|
+
onRowUpdated?: () => void;
|
|
244
264
|
onSelectionChange?: onSelectionChangeFn;
|
|
245
265
|
onActionButtonClick?: (rowData: any) => void;
|
|
246
266
|
onColumnResize?: (e: OnColumnChangeProps) => void;
|
package/dist/TagBox/TagBox.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { TagBoxProps } from "./types";
|
|
2
|
-
declare const TagBox: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<TagBoxProps, never>> & string & Omit<({ className, data, placeholder, arrow, defaultValue, value, grouped, searchFn, onChange, onScroll, onSearch, onItemAdded, size, variant, width, allowCustomValue, searchable, clearable, openOnFocus, label, description, required, error, loading, sort, renderOption, OptionTooltip, }: TagBoxProps) => import("react/jsx-runtime").JSX.Element, keyof import("react").Component<any, {}, any>>;
|
|
2
|
+
declare const TagBox: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<TagBoxProps, never>> & string & Omit<({ className, data, placeholder, arrow, defaultValue, value, grouped, searchFn, onChange, onScroll, onSearch, onItemAdded, size, variant, width, allowCustomValue, searchable, clearable, openOnFocus, label, description, required, error, loading, sort, disabled, renderOption, OptionTooltip, DropDownProps, }: TagBoxProps) => import("react/jsx-runtime").JSX.Element, keyof import("react").Component<any, {}, any>>;
|
|
3
3
|
export default TagBox;
|