@addev-be/ui 0.2.8 → 0.2.10
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/components/data/DataGrid/DataGridFilterMenu/index.js +6 -5
- package/dist/components/data/DataGrid/FilterValuesScroller.js +4 -3
- package/dist/components/data/DataGrid/helpers/columns.js +1 -1
- package/dist/components/data/DataGrid/helpers/filters.d.ts +1 -1
- package/dist/components/data/DataGrid/helpers/filters.js +23 -12
- package/dist/components/data/DataGrid/index.js +1 -1
- package/dist/components/data/DataGrid/styles.d.ts +5 -0
- package/dist/components/data/DataGrid/styles.js +8 -4
- package/dist/components/data/DataGrid/types.d.ts +4 -3
- package/dist/components/data/SqlRequestDataGrid/helpers/columns.js +1 -1
- package/dist/components/data/SqlRequestDataGrid/index.js +1 -1
- package/dist/components/ui/ContextMenu/index.js +7 -2
- package/dist/components/ui/ContextMenu/styles.js +2 -2
- package/package.json +1 -1
- package/src/components/data/DataGrid/hooks/useDataGrid.tsx +3 -2
|
@@ -79,6 +79,7 @@ var sortDesc = {
|
|
|
79
79
|
};
|
|
80
80
|
var footerFunctionsTexts = {
|
|
81
81
|
average: 'Moyenne',
|
|
82
|
+
avg: 'Moyenne',
|
|
82
83
|
count: 'Nombre',
|
|
83
84
|
max: 'Maximum',
|
|
84
85
|
min: 'Minimum',
|
|
@@ -86,6 +87,7 @@ var footerFunctionsTexts = {
|
|
|
86
87
|
};
|
|
87
88
|
var footerFunctionsIcons = {
|
|
88
89
|
average: Icons_1.XBarIcon,
|
|
90
|
+
avg: Icons_1.XBarIcon,
|
|
89
91
|
count: Icons_1.TallyIcon,
|
|
90
92
|
max: Icons_1.ArrowUpBigSmallIcon,
|
|
91
93
|
min: Icons_1.ArrowDownBigSmallIcon,
|
|
@@ -165,11 +167,10 @@ var DataGridFilterMenu = function (_a) {
|
|
|
165
167
|
}
|
|
166
168
|
}, []);
|
|
167
169
|
var checkboxesComponent = (0, react_1.useMemo)(function () {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
}
|
|
172
|
-
return ((0, jsx_runtime_1.jsx)(FilterValuesScroller_1.FilterValuesScroller, { values: filteredAvailableValues, selectedValues: selectedValues, onToggle: toggleValues, formatter: formatter, renderer: renderer }));
|
|
170
|
+
var groups = column.type === 'date'
|
|
171
|
+
? (0, helpers_1.getDateGroups)(filteredAvailableValues)
|
|
172
|
+
: undefined;
|
|
173
|
+
return ((0, jsx_runtime_1.jsx)(FilterValuesScroller_1.FilterValuesScroller, { values: filteredAvailableValues, selectedValues: selectedValues, onToggle: toggleValues, formatter: formatter, renderer: renderer, groups: groups }));
|
|
173
174
|
}, [
|
|
174
175
|
column.type,
|
|
175
176
|
filteredAvailableValues,
|
|
@@ -44,10 +44,11 @@ var react_1 = require("react");
|
|
|
44
44
|
var hooks_1 = require("../../../hooks");
|
|
45
45
|
var CheckboxTemplate = function (_a) {
|
|
46
46
|
var selectedValues = _a.selectedValues, value = _a.value, index = _a.index, className = _a.className, style = _a.style, onToggle = _a.onToggle;
|
|
47
|
-
|
|
47
|
+
var checked = (0, react_1.useMemo)(function () { return value.values.every(function (v) { return selectedValues.includes(v); }); }, [selectedValues, value.values]);
|
|
48
|
+
return ((0, jsx_runtime_1.jsxs)(styles.FilterValueContainer, { className: (0, lodash_1.join)([
|
|
48
49
|
// 'absolute left-0 right-0 flex flex-row cursor-pointer hover:bg-gray-50',
|
|
49
50
|
className,
|
|
50
|
-
], ' '), style: __assign(__assign({}, style), { paddingLeft: "".concat(value.level, "rem") }), title: value.title, onClick: function () { return onToggle === null || onToggle === void 0 ? void 0 : onToggle(
|
|
51
|
+
], ' '), style: __assign(__assign({}, style), { paddingLeft: "".concat(value.level, "rem") }), title: value.title, onClick: function () { return onToggle === null || onToggle === void 0 ? void 0 : onToggle(value.values); }, children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: checked, readOnly: true }), (0, jsx_runtime_1.jsx)("span", { children: value.displayValue || '(Vides)' })] }, index));
|
|
51
52
|
};
|
|
52
53
|
var FilterValuesScroller = function (_a) {
|
|
53
54
|
var values = _a.values, _b = _a.rowHeight, rowHeight = _b === void 0 ? styles.DEFAULT_FILTER_ROW_HEIGHT : _b, onRangeChange = _a.onRangeChange, onToggle = _a.onToggle, _c = _a.formatter, formatter = _c === void 0 ? helpers_1.defaultRendererAndFormatter : _c, _d = _a.renderer, renderer = _d === void 0 ? helpers_1.defaultRendererAndFormatter : _d, _e = _a.selectedValues, selectedValues = _e === void 0 ? [] : _e, groups = _a.groups;
|
|
@@ -62,7 +63,7 @@ var FilterValuesScroller = function (_a) {
|
|
|
62
63
|
var target = e.target;
|
|
63
64
|
setScrollTop(function () { return target.scrollTop; });
|
|
64
65
|
}, 50), []);
|
|
65
|
-
var checkboxes = (0, react_1.useMemo)(function () { return (0, helpers_1.getCheckboxes)(values, renderer, formatter, groups); }, [values, groups, renderer, formatter]);
|
|
66
|
+
var checkboxes = (0, react_1.useMemo)(function () { return (0, helpers_1.getCheckboxes)(values, '', renderer, formatter, groups); }, [values, groups, renderer, formatter]);
|
|
66
67
|
var visibleCheckboxes = checkboxes.slice(Math.max(0, index - tolerance), index + length + 1 + tolerance);
|
|
67
68
|
var firstCheckboxTop = Math.max(0, index - tolerance) * rowHeight;
|
|
68
69
|
(0, react_1.useEffect)(function () {
|
|
@@ -61,7 +61,7 @@ exports.phoneColumn = phoneColumn;
|
|
|
61
61
|
var dateColumn = function (key, title, options) {
|
|
62
62
|
var _a;
|
|
63
63
|
return (_a = {},
|
|
64
|
-
_a[key] = __assign({ name: title, render: function (row) { var _a; return (_a = (0, moment_1.default)(row[key]).format('DD/MM/YYYY')) !== null && _a !== void 0 ? _a : ''; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: (0, filters_1.textFilter)(key) }, options),
|
|
64
|
+
_a[key] = __assign({ name: title, type: 'date', render: function (row) { var _a; return (_a = (0, moment_1.default)(row[key]).format('DD/MM/YYYY')) !== null && _a !== void 0 ? _a : ''; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: __assign(__assign({}, (0, filters_1.textFilter)(key)), { renderer: function (value) { var _a; return (_a = (0, moment_1.default)(value).format('DD/MM/YYYY')) !== null && _a !== void 0 ? _a : ''; } }) }, options),
|
|
65
65
|
_a);
|
|
66
66
|
};
|
|
67
67
|
exports.dateColumn = dateColumn;
|
|
@@ -12,6 +12,6 @@ export declare const defaultValueParsers: {
|
|
|
12
12
|
export declare const groupDatesByYearAndMonth: (dates: any[]) => Record<string, Record<string, any[]>>;
|
|
13
13
|
export declare const getDateGroups: (dates: any[]) => DataGridFilterGroup[];
|
|
14
14
|
export declare const defaultRendererAndFormatter: (value: any) => string;
|
|
15
|
-
export declare const getCheckboxes: (values: DataGridFilterValue[], renderer: DataGridFilterRenderer, formatter: DataGridFilterFormatter, groups?: DataGridFilterGroup[], level?: number) => DataGridFilterCheckbox[];
|
|
15
|
+
export declare const getCheckboxes: (values: DataGridFilterValue[], displayValue: DataGridFilterValue, renderer: DataGridFilterRenderer, formatter: DataGridFilterFormatter, groups?: DataGridFilterGroup[], level?: number) => DataGridFilterCheckbox[];
|
|
16
16
|
export declare const textFilter: (key: string) => DataGridFilter<"text">;
|
|
17
17
|
export declare const numberFilter: (key: string) => DataGridFilter<"number">;
|
|
@@ -207,10 +207,12 @@ var getDateGroups = function (dates) {
|
|
|
207
207
|
var year = _a[0], months = _a[1];
|
|
208
208
|
return ({
|
|
209
209
|
name: year,
|
|
210
|
+
displayValue: year,
|
|
210
211
|
values: Object.values(months).flat(),
|
|
211
212
|
groups: Object.entries(months).map(function (_a) {
|
|
212
213
|
var month = _a[0], dates = _a[1];
|
|
213
214
|
return ({
|
|
215
|
+
displayValue: month,
|
|
214
216
|
name: month,
|
|
215
217
|
values: dates,
|
|
216
218
|
});
|
|
@@ -223,19 +225,28 @@ var defaultRendererAndFormatter = function (value) {
|
|
|
223
225
|
return String(value !== null && value !== void 0 ? value : '').trim() || '(Vides)';
|
|
224
226
|
};
|
|
225
227
|
exports.defaultRendererAndFormatter = defaultRendererAndFormatter;
|
|
226
|
-
var getCheckboxes = function (values, renderer, formatter, groups, level) {
|
|
228
|
+
var getCheckboxes = function (values, displayValue, renderer, formatter, groups, level) {
|
|
227
229
|
if (level === void 0) { level = 0; }
|
|
228
|
-
return
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
230
|
+
return groups
|
|
231
|
+
? groups
|
|
232
|
+
.map(function (group) {
|
|
233
|
+
var _a, _b;
|
|
234
|
+
return __spreadArray([
|
|
235
|
+
{
|
|
236
|
+
displayValue: group.displayValue,
|
|
237
|
+
title: formatter(group.displayValue),
|
|
238
|
+
values: (_a = group.values) !== null && _a !== void 0 ? _a : [],
|
|
239
|
+
level: level,
|
|
240
|
+
}
|
|
241
|
+
], (0, exports.getCheckboxes)((_b = group.values) !== null && _b !== void 0 ? _b : [], group.displayValue, renderer, formatter, group.groups, level + 1), true);
|
|
242
|
+
})
|
|
243
|
+
.flat()
|
|
244
|
+
: values.map(function (value) { return ({
|
|
245
|
+
displayValue: renderer(value),
|
|
246
|
+
title: formatter(value),
|
|
247
|
+
values: [value !== null && value !== void 0 ? value : ''],
|
|
248
|
+
level: level,
|
|
249
|
+
}); });
|
|
239
250
|
};
|
|
240
251
|
exports.getCheckboxes = getCheckboxes;
|
|
241
252
|
var textFilter = function (key) { return ({
|
|
@@ -103,6 +103,6 @@ var DataGrid = function (_a) {
|
|
|
103
103
|
toggleSelection,
|
|
104
104
|
visibleColumns,
|
|
105
105
|
]);
|
|
106
|
-
return ((0, jsx_runtime_1.jsx)(DataGridContext.Provider, { value: contextProps, children: (0, jsx_runtime_1.jsxs)(styles.DataGridContainer, { ref: scrollableRef, onScroll: onScroll, "$headerRowHeight": headerRowHeight, "$rowHeight": rowHeight, "$rowsCount": contextProps.sortedRows.length, className: className, children: [(0, jsx_runtime_1.jsx)(DataGridHeader_1.DataGridHeader, { context: DataGridContext }), (0, jsx_runtime_1.jsx)(VirtualScroller_1.VirtualScroller, { onRangeChange: onVisibleRowsChange, hasFooter: hasFooter, rowTemplate: rowTemplate, context: DataGridContext }), hasFooter && (0, jsx_runtime_1.jsx)(DataGridFooter_1.DataGridFooter, { context: DataGridContext })] }) }));
|
|
106
|
+
return ((0, jsx_runtime_1.jsx)(DataGridContext.Provider, { value: contextProps, children: (0, jsx_runtime_1.jsxs)(styles.DataGridContainer, { ref: scrollableRef, onScroll: onScroll, "$headerRowHeight": headerRowHeight, "$rowHeight": rowHeight, "$rowsCount": contextProps.sortedRows.length, "$withFooter": hasFooter, className: className, children: [(0, jsx_runtime_1.jsx)(DataGridHeader_1.DataGridHeader, { context: DataGridContext }), (0, jsx_runtime_1.jsx)(VirtualScroller_1.VirtualScroller, { onRangeChange: onVisibleRowsChange, hasFooter: hasFooter, rowTemplate: rowTemplate, context: DataGridContext }), hasFooter && (0, jsx_runtime_1.jsx)(DataGridFooter_1.DataGridFooter, { context: DataGridContext })] }) }));
|
|
107
107
|
};
|
|
108
108
|
exports.DataGrid = DataGrid;
|
|
@@ -2,6 +2,7 @@ import { ThemeColor } from '../../../providers/ThemeProvider/types';
|
|
|
2
2
|
export declare const VIRTUAL_SCROLL_TOLERANCE = 20;
|
|
3
3
|
export declare const TOOLBAR_HEIGHT = 40;
|
|
4
4
|
export declare const DEFAULT_HEADER_ROW_HEIGHT = 40;
|
|
5
|
+
export declare const DEFAULT_FOOTER_ROW_HEIGHT = 40;
|
|
5
6
|
export declare const DEFAULT_ROW_HEIGHT = 32;
|
|
6
7
|
export declare const DEFAULT_FILTER_ROW_HEIGHT = 24;
|
|
7
8
|
export declare const TopPaddingRow: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
@@ -31,6 +32,7 @@ export declare const DataGridContainer: import("styled-components/dist/types").I
|
|
|
31
32
|
$rowHeight?: number;
|
|
32
33
|
$rowsCount: number;
|
|
33
34
|
$showToolsHeader?: boolean;
|
|
35
|
+
$withFooter?: boolean;
|
|
34
36
|
}>> & string;
|
|
35
37
|
type DataGridHeaderOrFooterRowProps = {
|
|
36
38
|
$headerRowHeight?: number;
|
|
@@ -61,4 +63,7 @@ export declare const FilterValuesScrollerContainer: import("styled-components/di
|
|
|
61
63
|
}>, never>, {
|
|
62
64
|
$rowHeight?: number;
|
|
63
65
|
}>> & string;
|
|
66
|
+
export declare const FilterValueContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
67
|
+
ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
68
|
+
}>, never>, never>> & string;
|
|
64
69
|
export {};
|
|
@@ -27,11 +27,12 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
27
27
|
return result;
|
|
28
28
|
};
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
-
exports.FilterValuesScrollerContainer = exports.ResizeBackdrop = exports.HeaderSelectionCell = exports.SelectionCell = exports.LoadingCell = exports.DataGridRow = exports.DataGridFooterRow = exports.DataGridHeaderRow = exports.DataGridContainer = exports.DataGridToolsRow = exports.DataGridCell = exports.DataGridHeaderCellContainer = exports.DataGridResizeGrip = exports.VirtualScrollerRowsContainer = exports.VirtualScrollerContainer = exports.BottomPaddingRow = exports.TopPaddingRow = exports.DEFAULT_FILTER_ROW_HEIGHT = exports.DEFAULT_ROW_HEIGHT = exports.DEFAULT_HEADER_ROW_HEIGHT = exports.TOOLBAR_HEIGHT = exports.VIRTUAL_SCROLL_TOLERANCE = void 0;
|
|
30
|
+
exports.FilterValueContainer = exports.FilterValuesScrollerContainer = exports.ResizeBackdrop = exports.HeaderSelectionCell = exports.SelectionCell = exports.LoadingCell = exports.DataGridRow = exports.DataGridFooterRow = exports.DataGridHeaderRow = exports.DataGridContainer = exports.DataGridToolsRow = exports.DataGridCell = exports.DataGridHeaderCellContainer = exports.DataGridResizeGrip = exports.VirtualScrollerRowsContainer = exports.VirtualScrollerContainer = exports.BottomPaddingRow = exports.TopPaddingRow = exports.DEFAULT_FILTER_ROW_HEIGHT = exports.DEFAULT_ROW_HEIGHT = exports.DEFAULT_FOOTER_ROW_HEIGHT = exports.DEFAULT_HEADER_ROW_HEIGHT = exports.TOOLBAR_HEIGHT = exports.VIRTUAL_SCROLL_TOLERANCE = void 0;
|
|
31
31
|
var styled_components_1 = __importStar(require("styled-components"));
|
|
32
32
|
exports.VIRTUAL_SCROLL_TOLERANCE = 20;
|
|
33
33
|
exports.TOOLBAR_HEIGHT = 40;
|
|
34
34
|
exports.DEFAULT_HEADER_ROW_HEIGHT = 40;
|
|
35
|
+
exports.DEFAULT_FOOTER_ROW_HEIGHT = 40;
|
|
35
36
|
exports.DEFAULT_ROW_HEIGHT = 32;
|
|
36
37
|
exports.DEFAULT_FILTER_ROW_HEIGHT = 24;
|
|
37
38
|
exports.TopPaddingRow = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([""], [""])));
|
|
@@ -70,8 +71,8 @@ exports.DataGridCell.displayName = 'DataGridCell';
|
|
|
70
71
|
exports.DataGridToolsRow = styled_components_1.default.div(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 1;\n display: flex;\n gap: var(--space-1);\n padding: 0 var(--space-1);\n align-items: center;\n background-color: var(--color-neutral-200);\n position: sticky;\n top: 0;\n left: 0;\n z-index: 10;\n"], ["\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 1;\n display: flex;\n gap: var(--space-1);\n padding: 0 var(--space-1);\n align-items: center;\n background-color: var(--color-neutral-200);\n position: sticky;\n top: 0;\n left: 0;\n z-index: 10;\n"])));
|
|
71
72
|
exports.DataGridToolsRow.displayName = 'DataGridToolsRow';
|
|
72
73
|
exports.DataGridContainer = styled_components_1.default.div(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n display: grid;\n width: 100%;\n height: 100%;\n background-color: var(--color-neutral-50);\n font-size: var(--text-base);\n overflow: scroll;\n grid-template-rows: ", ";\n\n ", " {\n height: ", "px;\n }\n ", " {\n position: sticky;\n top: ", ";\n height: ", ";\n }\n ", " {\n height: ", ";\n line-height: ", ";\n }\n\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 3;\n }\n"], ["\n display: grid;\n width: 100%;\n height: 100%;\n background-color: var(--color-neutral-50);\n font-size: var(--text-base);\n overflow: scroll;\n grid-template-rows: ", ";\n\n ", " {\n height: ", "px;\n }\n ", " {\n position: sticky;\n top: ", ";\n height: ", ";\n }\n ", " {\n height: ", ";\n line-height: ", ";\n }\n\n ", " {\n grid-column-start: 1;\n grid-column-end: -1;\n grid-row: 3;\n }\n"])), function (_a) {
|
|
73
|
-
var _b = _a.$headerRowHeight, $headerRowHeight = _b === void 0 ? exports.DEFAULT_HEADER_ROW_HEIGHT : _b;
|
|
74
|
-
return "".concat(exports.TOOLBAR_HEIGHT, "px ").concat($headerRowHeight, "px auto");
|
|
74
|
+
var _b = _a.$headerRowHeight, $headerRowHeight = _b === void 0 ? exports.DEFAULT_HEADER_ROW_HEIGHT : _b, _c = _a.$withFooter, $withFooter = _c === void 0 ? false : _c;
|
|
75
|
+
return "".concat(exports.TOOLBAR_HEIGHT, "px ").concat($headerRowHeight, "px auto ").concat($withFooter ? exports.DEFAULT_FOOTER_ROW_HEIGHT + 'px' : '');
|
|
75
76
|
}, exports.DataGridToolsRow, exports.TOOLBAR_HEIGHT, exports.DataGridHeaderCellContainer, function (_a) {
|
|
76
77
|
var _b = _a.$headerRowHeight, $headerRowHeight = _b === void 0 ? exports.DEFAULT_HEADER_ROW_HEIGHT : _b;
|
|
77
78
|
return "".concat($headerRowHeight, "px");
|
|
@@ -131,4 +132,7 @@ exports.FilterValuesScrollerContainer = styled_components_1.default.div.attrs({
|
|
|
131
132
|
var _b = _a.$rowHeight, $rowHeight = _b === void 0 ? exports.DEFAULT_FILTER_ROW_HEIGHT : _b;
|
|
132
133
|
return "".concat($rowHeight, "px");
|
|
133
134
|
});
|
|
134
|
-
|
|
135
|
+
exports.FilterValueContainer = styled_components_1.default.div.attrs({
|
|
136
|
+
className: 'FilterValueContainer',
|
|
137
|
+
})(templateObject_26 || (templateObject_26 = __makeTemplateObject(["\n position: absolute;\n display: flex;\n flex-direction: row;\n align-items: center;\n cursor: pointer;\n &:hover {\n background-color: var(--color-neutral-50);\n }\n"], ["\n position: absolute;\n display: flex;\n flex-direction: row;\n align-items: center;\n cursor: pointer;\n &:hover {\n background-color: var(--color-neutral-50);\n }\n"])));
|
|
138
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22, templateObject_23, templateObject_24, templateObject_25, templateObject_26;
|
|
@@ -6,7 +6,7 @@ export type DataGridCellFC = FC<{
|
|
|
6
6
|
onDoubleClick?: MouseEventHandler;
|
|
7
7
|
style?: CSSProperties;
|
|
8
8
|
}>;
|
|
9
|
-
export type DataGridFooterPredefinedFunction = 'average' | 'count' | 'max' | 'min' | 'sum';
|
|
9
|
+
export type DataGridFooterPredefinedFunction = 'average' | 'avg' | 'count' | 'max' | 'min' | 'sum';
|
|
10
10
|
export type DataGridFooterFunction<R> = (allRows: R[], filteredRows: R[], selectedRows: R[]) => ReactNode;
|
|
11
11
|
export type DataGridColumn<R> = {
|
|
12
12
|
component?: DataGridCellFC;
|
|
@@ -150,13 +150,14 @@ export type DataGridFilter<T extends string = DataGridFilterType> = T extends Da
|
|
|
150
150
|
} : never;
|
|
151
151
|
export type DataGridFilterGroup = {
|
|
152
152
|
name: string;
|
|
153
|
-
|
|
153
|
+
displayValue: DataGridFilterValue;
|
|
154
|
+
values?: DataGridFilterValue[];
|
|
154
155
|
groups?: DataGridFilterGroup[];
|
|
155
156
|
};
|
|
156
157
|
export type DataGridFilterValue = string | number | null;
|
|
157
158
|
export type DataGridFilterCheckbox = {
|
|
158
159
|
displayValue: ReactNode;
|
|
159
160
|
title: string;
|
|
160
|
-
|
|
161
|
+
values: DataGridFilterValue[];
|
|
161
162
|
level: number;
|
|
162
163
|
};
|
|
@@ -58,7 +58,7 @@ exports.sqlPhoneColumn = sqlPhoneColumn;
|
|
|
58
58
|
var sqlDateColumn = function (key, title, options) {
|
|
59
59
|
var _a;
|
|
60
60
|
return (_a = {},
|
|
61
|
-
_a[key] = __assign({ name: title, render: function (row) { return (0, dates_1.formatDate)(row[key]); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: __assign(__assign({}, (0, helpers_1.textFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; } }), footer: function (rows) { return "".concat(rows[0][key], " \u00E9l\u00E9ments"); } }, options),
|
|
61
|
+
_a[key] = __assign({ name: title, type: 'date', render: function (row) { return (0, dates_1.formatDate)(row[key]); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: __assign(__assign({}, (0, helpers_1.textFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; } }), footer: function (rows) { return "".concat(rows[0][key], " \u00E9l\u00E9ments"); } }, options),
|
|
62
62
|
_a);
|
|
63
63
|
};
|
|
64
64
|
exports.sqlDateColumn = sqlDateColumn;
|
|
@@ -91,7 +91,7 @@ var SqlRequestDataGrid = function (_a) {
|
|
|
91
91
|
];
|
|
92
92
|
}, [props.columns, props.hiddenColumns]), columnsKeys = _l[0], visibleColumnsKeys = _l[1];
|
|
93
93
|
var columnTypes = (0, react_1.useMemo)(function () {
|
|
94
|
-
return visibleColumnsKeys.map(function (key) { var _a; return String((_a = props.columns[key].type) !== null &&
|
|
94
|
+
return visibleColumnsKeys.map(function (key) { var _a, _b; return String((_b = (_a = props.columns[key]) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : 'text'); });
|
|
95
95
|
}, [visibleColumnsKeys, props.columns]);
|
|
96
96
|
var refresh = (0, react_1.useCallback)(function () {
|
|
97
97
|
setRows([]);
|
|
@@ -34,7 +34,9 @@ exports.ContextMenu = ContextMenu;
|
|
|
34
34
|
var ParentMenuItem = function (_a) {
|
|
35
35
|
var children = _a.children, props = __rest(_a, ["children"]);
|
|
36
36
|
var _b = (0, react_1.useState)(false), isOpened = _b[0], setIsOpened = _b[1];
|
|
37
|
-
var _c = (0, react_1.useState)(
|
|
37
|
+
var _c = (0, react_1.useState)(false), isSubMenuLeft = _c[0], setIsSubMenuLeft = _c[1];
|
|
38
|
+
var _d = (0, react_1.useState)(null), currentTimeout = _d[0], setCurrentTimeout = _d[1];
|
|
39
|
+
var containerRef = (0, react_1.useRef)(null);
|
|
38
40
|
var stopTimeout = (0, react_1.useCallback)(function () {
|
|
39
41
|
if (currentTimeout) {
|
|
40
42
|
clearTimeout(currentTimeout);
|
|
@@ -44,12 +46,15 @@ var ParentMenuItem = function (_a) {
|
|
|
44
46
|
var startTimeout = (0, react_1.useCallback)(function (open) {
|
|
45
47
|
stopTimeout();
|
|
46
48
|
setCurrentTimeout(window.setTimeout(function () {
|
|
49
|
+
var _a;
|
|
50
|
+
var rect = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
|
|
51
|
+
setIsSubMenuLeft(!!rect && rect.right + 280 > window.innerWidth);
|
|
47
52
|
setIsOpened(open);
|
|
48
53
|
}, open ? 100 : 300));
|
|
49
54
|
}, [stopTimeout]);
|
|
50
55
|
var open = (0, react_1.useCallback)(function () { return startTimeout(true); }, [startTimeout]);
|
|
51
56
|
var close = (0, react_1.useCallback)(function () { return startTimeout(false); }, [startTimeout]);
|
|
52
|
-
return ((0, jsx_runtime_1.jsx)(styles_1.MenuItemContainer, __assign({}, props, { className: isOpened ? 'opened' : '', onMouseEnter: open, onMouseLeave: close, "$withArrow": true, children: children })));
|
|
57
|
+
return ((0, jsx_runtime_1.jsx)(styles_1.MenuItemContainer, __assign({ ref: containerRef }, props, { className: "".concat(isOpened ? 'opened' : '', " ").concat(isSubMenuLeft ? 'left' : ''), onMouseEnter: open, onMouseLeave: close, "$withArrow": true, children: children })));
|
|
53
58
|
};
|
|
54
59
|
exports.ParentMenuItem = ParentMenuItem;
|
|
55
60
|
exports.ContextMenu.Item = styles_1.MenuItemContainer;
|
|
@@ -40,7 +40,7 @@ exports.SubMenu = styled_components_1.default.div.attrs({
|
|
|
40
40
|
exports.SubMenu.displayName = 'SubMenu';
|
|
41
41
|
exports.MenuItemContainer = styled_components_1.default.div.attrs({
|
|
42
42
|
className: 'MenuItemContainer',
|
|
43
|
-
})(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n position: relative;\n display: flex;\n align-items: center;\n font-family: var(--font-sans);\n font-weight: normal;\n text-align: left;\n padding: var(--space-1) var(--space-2);\n font-size: var(--text-base);\n line-height: var(--leading-6);\n border: none;\n cursor: pointer;\n\n ", "\n\n ", "\n\n svg {\n fill: currentColor;\n width: var(--space-4);\n height: var(--space-4);\n margin-right: var(--space-2);\n }\n\n & > ", " {\n display: none;\n margin-top: calc(0px - var(--space-1));\n }\n &.opened > ", " {\n display: block;\n }\n"], ["\n position: relative;\n display: flex;\n align-items: center;\n font-family: var(--font-sans);\n font-weight: normal;\n text-align: left;\n padding: var(--space-1) var(--space-2);\n font-size: var(--text-base);\n line-height: var(--leading-6);\n border: none;\n cursor: pointer;\n\n ", "\n\n ", "\n\n svg {\n fill: currentColor;\n width: var(--space-4);\n height: var(--space-4);\n margin-right: var(--space-2);\n }\n\n & > ", " {\n display: none;\n margin-top: calc(0px - var(--space-1));\n }\n &.opened > ", " {\n display: block;\n }\n"])), function (_a) {
|
|
43
|
+
})(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n position: relative;\n display: flex;\n align-items: center;\n font-family: var(--font-sans);\n font-weight: normal;\n text-align: left;\n padding: var(--space-1) var(--space-2);\n font-size: var(--text-base);\n line-height: var(--leading-6);\n border: none;\n cursor: pointer;\n\n ", "\n\n ", "\n\n svg {\n fill: currentColor;\n width: var(--space-4);\n height: var(--space-4);\n margin-right: var(--space-2);\n }\n\n & > ", " {\n display: none;\n margin-top: calc(0px - var(--space-1));\n }\n &.opened > ", " {\n display: block;\n }\n &.opened.left > ", " {\n left: auto;\n right: 100%;\n }\n"], ["\n position: relative;\n display: flex;\n align-items: center;\n font-family: var(--font-sans);\n font-weight: normal;\n text-align: left;\n padding: var(--space-1) var(--space-2);\n font-size: var(--text-base);\n line-height: var(--leading-6);\n border: none;\n cursor: pointer;\n\n ", "\n\n ", "\n\n svg {\n fill: currentColor;\n width: var(--space-4);\n height: var(--space-4);\n margin-right: var(--space-2);\n }\n\n & > ", " {\n display: none;\n margin-top: calc(0px - var(--space-1));\n }\n &.opened > ", " {\n display: block;\n }\n &.opened.left > ", " {\n left: auto;\n right: 100%;\n }\n"])), function (_a) {
|
|
44
44
|
var $withArrow = _a.$withArrow;
|
|
45
45
|
return $withArrow && (0, styled_components_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n &::after {\n content: '';\n position: absolute;\n right: var(--space-2);\n top: 50%;\n transform: translateY(-50%);\n border: 4px solid transparent;\n border-left-color: var(--color-neutral-600);\n }\n "], ["\n &::after {\n content: '';\n position: absolute;\n right: var(--space-2);\n top: 50%;\n transform: translateY(-50%);\n border: 4px solid transparent;\n border-left-color: var(--color-neutral-600);\n }\n "])));
|
|
46
46
|
}, function (_a) {
|
|
@@ -48,7 +48,7 @@ exports.MenuItemContainer = styled_components_1.default.div.attrs({
|
|
|
48
48
|
return disabled
|
|
49
49
|
? (0, styled_components_1.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n color: var(--color-neutral-300);\n background-color: var(--color-neutral-100);\n cursor: default;\n "], ["\n color: var(--color-neutral-300);\n background-color: var(--color-neutral-100);\n cursor: default;\n "]))) : $color
|
|
50
50
|
? (0, styled_components_1.css)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n color: var(--color-", "-600);\n background-color: var(--color-neutral-100);\n &:hover {\n background-color: var(--color-", "-200);\n }\n "], ["\n color: var(--color-", "-600);\n background-color: var(--color-neutral-100);\n &:hover {\n background-color: var(--color-", "-200);\n }\n "])), $color, $color) : (0, styled_components_1.css)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n color: var(--color-neutral-900);\n background-color: var(--color-neutral-100);\n &:hover {\n background-color: var(--color-neutral-200);\n }\n "], ["\n color: var(--color-neutral-900);\n background-color: var(--color-neutral-100);\n &:hover {\n background-color: var(--color-neutral-200);\n }\n "])));
|
|
51
|
-
}, exports.SubMenu, exports.SubMenu);
|
|
51
|
+
}, exports.SubMenu, exports.SubMenu, exports.SubMenu);
|
|
52
52
|
exports.MenuItemContainer.displayName = 'MenuItemContainer';
|
|
53
53
|
exports.Divider = styled_components_1.default.div.attrs({
|
|
54
54
|
className: 'Divider',
|
package/package.json
CHANGED
|
@@ -191,9 +191,10 @@ export const useDataGrid = <R,>(
|
|
|
191
191
|
acc[columnKey] = column.footer;
|
|
192
192
|
} else if (
|
|
193
193
|
typeof column.footer === 'object' &&
|
|
194
|
-
typeof column.footer[footerKey] === 'function'
|
|
194
|
+
typeof column.footer[footerKey] === 'function' &&
|
|
195
|
+
column.footer[footerKey] !== null
|
|
195
196
|
) {
|
|
196
|
-
acc[columnKey] = column.footer[footerKey];
|
|
197
|
+
acc[columnKey] = column.footer[footerKey] as any;
|
|
197
198
|
}
|
|
198
199
|
return acc;
|
|
199
200
|
}, {} as Record<string, DataGridFooterFunction<R>>),
|