@mailstep/design-system 0.7.62-beta.1 → 0.7.62
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/package.json +1 -1
- package/ui/Blocks/CommonGrid/CommonGrid.d.ts +1 -1
- package/ui/Blocks/CommonGrid/CommonGrid.js +14 -3
- package/ui/Blocks/CommonGrid/CommonGridContainer.js +2 -8
- package/ui/Blocks/CommonGrid/components/ControlButtons/ControlButtons.js +2 -2
- package/ui/Blocks/CommonGrid/components/HeadCell.d.ts +0 -2
- package/ui/Blocks/CommonGrid/components/HeadCell.js +2 -2
- package/ui/Blocks/CommonGrid/components/HeadRow.d.ts +1 -2
- package/ui/Blocks/CommonGrid/components/HeadRow.js +2 -2
- package/ui/Blocks/CommonGrid/components/OversizedScroll.d.ts +2 -1
- package/ui/Blocks/CommonGrid/components/OversizedScroll.js +4 -4
- package/ui/Blocks/CommonGrid/components/Table.d.ts +1 -14
- package/ui/Blocks/CommonGrid/components/Table.js +2 -7
- package/ui/Blocks/CommonGrid/hooks/useQuickFilter.d.ts +1 -1
- package/ui/Blocks/CommonGrid/hooks/useQuickFilter.js +7 -7
- package/ui/Blocks/CommonGrid/store/index.js +0 -1
- package/ui/Blocks/CommonGrid/storybook/stories/loading.stories.d.ts +10 -0
- package/ui/Blocks/CommonGrid/storybook/stories/loading.stories.js +12 -0
- package/ui/Blocks/CommonGrid/styles.d.ts +1 -1
- package/ui/Blocks/CommonGrid/styles.js +1 -1
- package/ui/Blocks/CommonGrid/types.d.ts +0 -3
- package/ui/Blocks/Header/components/MenuItems/components/MenuItem/index.js +1 -1
- package/ui/Blocks/Header/components/MenuItems/styles.js +1 -1
- package/ui/Blocks/SideMenu/MenuItem.d.ts +1 -1
- package/ui/Blocks/SideMenu/MenuItem.js +2 -2
- package/ui/Blocks/SideMenu/types.d.ts +3 -2
- package/ui/index.es.js +8288 -8332
- package/ui/index.umd.js +533 -532
- package/ui/utils/translations.js +1 -1
- package/ui/Blocks/CommonGrid/components/GridInfo/index.d.ts +0 -7
- package/ui/Blocks/CommonGrid/components/GridInfo/index.js +0 -8
- package/ui/Blocks/CommonGrid/components/GridStatus/index.d.ts +0 -9
- package/ui/Blocks/CommonGrid/components/GridStatus/index.js +0 -10
- package/ui/Blocks/CommonGrid/storybook/stories/gridStates.stories.d.ts +0 -8
- package/ui/Blocks/CommonGrid/storybook/stories/gridStates.stories.js +0 -12
- package/ui/Blocks/CommonGrid/utils/hasSortTerminated.d.ts +0 -9
- package/ui/Blocks/CommonGrid/utils/hasSortTerminated.js +0 -11
package/package.json
CHANGED
|
@@ -7,5 +7,5 @@ type Props = CommonGridProps & {
|
|
|
7
7
|
hasGroups: boolean;
|
|
8
8
|
hasFilters: boolean;
|
|
9
9
|
};
|
|
10
|
-
declare const CommonGrid: ({ filters, comparators, handleDragEnd, gridSelectors, gridActions, isLoading, rowsData, hasColouredRows, actionColumnDefinition, allowRowSelect, allowRowSelectOnAction, onRowAction, onRowClick, columnLayout, displayColumnsDefinitions, className, minColumnWidth, errorMessage, floatingButtonProps, hasGroups, hasFilters
|
|
10
|
+
declare const CommonGrid: ({ filters, comparators, handleDragEnd, gridSelectors, gridActions, isLoading, rowsData, hasColouredRows, actionColumnDefinition, allowRowSelect, allowRowSelectOnAction, onRowAction, onRowClick, columnLayout, displayColumnsDefinitions, className, minColumnWidth, errorMessage, floatingButtonProps, hasGroups, hasFilters }: Props) => JSX.Element;
|
|
11
11
|
export default CommonGrid;
|
|
@@ -14,13 +14,14 @@ import React from 'react';
|
|
|
14
14
|
import DataRow from './components/DataRow';
|
|
15
15
|
import FilterRow from './components/FilterRow';
|
|
16
16
|
import FloatingButton from './components/FloatingButton/FloatingButton';
|
|
17
|
-
import { GridStatus } from './components/GridStatus';
|
|
18
17
|
import GroupRow from './components/GroupRow';
|
|
19
18
|
import HeadRow from './components/HeadRow';
|
|
20
19
|
import OversizedScroll from './components/OversizedScroll';
|
|
20
|
+
import { Row, MessageCell } from './components/Table';
|
|
21
21
|
import useColumnSizes from './hooks/useColumnSizes';
|
|
22
22
|
import useRowsKeyControls from './hooks/useRowsKeyControls';
|
|
23
23
|
import useUxReset from './hooks/useUxReset';
|
|
24
|
+
import { Trans } from '@lingui/react';
|
|
24
25
|
import { x } from '@xstyled/styled-components';
|
|
25
26
|
import { initialState } from './store';
|
|
26
27
|
import { getGroups } from './utils';
|
|
@@ -39,11 +40,21 @@ var CommonGrid = function (_a) {
|
|
|
39
40
|
// redux props
|
|
40
41
|
gridSelectors = _a.gridSelectors, gridActions = _a.gridActions,
|
|
41
42
|
// input props
|
|
42
|
-
isLoading = _a.isLoading, rowsData = _a.rowsData, hasColouredRows = _a.hasColouredRows, actionColumnDefinition = _a.actionColumnDefinition, allowRowSelect = _a.allowRowSelect, allowRowSelectOnAction = _a.allowRowSelectOnAction, onRowAction = _a.onRowAction, onRowClick = _a.onRowClick, _b = _a.columnLayout, columnLayout = _b === void 0 ? 'normal' : _b, displayColumnsDefinitions = _a.displayColumnsDefinitions, className = _a.className, minColumnWidth = _a.minColumnWidth, errorMessage = _a.errorMessage, floatingButtonProps = _a.floatingButtonProps, hasGroups = _a.hasGroups, hasFilters = _a.hasFilters
|
|
43
|
+
isLoading = _a.isLoading, rowsData = _a.rowsData, hasColouredRows = _a.hasColouredRows, actionColumnDefinition = _a.actionColumnDefinition, allowRowSelect = _a.allowRowSelect, allowRowSelectOnAction = _a.allowRowSelectOnAction, onRowAction = _a.onRowAction, onRowClick = _a.onRowClick, _b = _a.columnLayout, columnLayout = _b === void 0 ? 'normal' : _b, displayColumnsDefinitions = _a.displayColumnsDefinitions, className = _a.className, minColumnWidth = _a.minColumnWidth, errorMessage = _a.errorMessage, floatingButtonProps = _a.floatingButtonProps, hasGroups = _a.hasGroups, hasFilters = _a.hasFilters;
|
|
43
44
|
var _c = gridSelectors.uxState, uxState = _c === void 0 ? defaultUxState : _c, _d = gridSelectors.columnsWidth, columnsWidth = _d === void 0 ? defaultColumnsWidth : _d, columnsWidthVariant = gridSelectors.columnsWidthVariant, _e = gridSelectors.page, page = _e === void 0 ? 1 : _e, filter = gridSelectors.filter, sorting = gridSelectors.sorting, _f = gridSelectors.rowsPerPage, rowsPerPage = _f === void 0 ? 10 : _f;
|
|
44
45
|
var clearUxState = gridActions.clearUxState, handleUxChange = gridActions.handleUxChange, _g = gridActions.addFilter, addFilter = _g === void 0 ? defaultVoidFunction : _g, _h = gridActions.addSorting, addSorting = _h === void 0 ? defaultVoidFunction : _h, _j = gridActions.setColumnWidth, setColumnWidth = _j === void 0 ? defaultVoidFunction : _j;
|
|
45
46
|
var handleRowsKeyDown = useRowsKeyControls(rowsData, uxState, handleUxChange);
|
|
46
47
|
useUxReset(rowsData, uxState, clearUxState);
|
|
48
|
+
var GridMessage;
|
|
49
|
+
var messageClass = 'info';
|
|
50
|
+
if (isLoading)
|
|
51
|
+
GridMessage = _jsx(Trans, { id: "dataGrid.status.loadingData", message: "... loading data ..." });
|
|
52
|
+
if (!isLoading && (!rowsData || rowsData.length < 1))
|
|
53
|
+
GridMessage = _jsx(Trans, { id: "dataGrid.status.noDataFound", message: "No data found." });
|
|
54
|
+
if (!isLoading && errorMessage) {
|
|
55
|
+
GridMessage = errorMessage;
|
|
56
|
+
messageClass = 'error';
|
|
57
|
+
}
|
|
47
58
|
var _k = useColumnSizes(displayColumnsDefinitions, columnsWidth, columnsWidthVariant, setColumnWidth, columnLayout, minColumnWidth), displayColumnsWidth = _k.displayColumnsWidth, totalColumnsWidth = _k.totalColumnsWidth, gridBoxRef = _k.gridBoxRef, handleResizeDrag = _k.handleResizeDrag;
|
|
48
59
|
var groups = React.useMemo(function () {
|
|
49
60
|
return getGroups(displayColumnsDefinitions);
|
|
@@ -51,7 +62,7 @@ var CommonGrid = function (_a) {
|
|
|
51
62
|
var commonGridRef = React.useCallback(function (node) {
|
|
52
63
|
gridBoxRef.current = node;
|
|
53
64
|
}, []);
|
|
54
|
-
return (_jsxs(_Fragment, { children: [_jsx(x.div, { className: className || '', children: _jsxs(OversizedScroll, { columnLayout: columnLayout, totalColumnsWidth: totalColumnsWidth, floatingChildren: _jsx(
|
|
65
|
+
return (_jsxs(_Fragment, { children: [_jsx(x.div, { className: className || '', children: _jsxs(OversizedScroll, { columnLayout: columnLayout, isLoading: isLoading, totalColumnsWidth: totalColumnsWidth, floatingChildren: GridMessage && (_jsx(Row, { className: "dataRow", align: "center", children: _jsx(MessageCell, { align: "center", className: "gridMessage ".concat(messageClass), width: window.innerWidth, children: GridMessage }) })), ref: commonGridRef, children: [_jsxs("div", { className: "gridHead", children: [hasGroups && (_jsx(GroupRow, { actionColumn: actionColumnDefinition, columns: displayColumnsDefinitions, displayColumnsWidth: displayColumnsWidth, groups: groups })), _jsx(HeadRow, { columns: displayColumnsDefinitions, onAddSort: addSorting, columnLayout: columnLayout, sortingValues: sorting, displayColumnsWidth: displayColumnsWidth, handleResizeDrag: handleResizeDrag, groups: groups, handleDragEnd: handleDragEnd }), hasFilters && (_jsx(FilterRow, { filters: filters, comparators: comparators, columns: displayColumnsDefinitions, actionColumn: actionColumnDefinition, onChange: addFilter, filterValues: filter, displayColumnsWidth: displayColumnsWidth, groups: groups, rowsData: rowsData, uxState: uxState, handleUxChange: handleUxChange }))] }), _jsx("div", { className: "body flx_1", style: rowsStyles, tabIndex: -1, onKeyDown: handleRowsKeyDown, children: !isLoading &&
|
|
55
66
|
rowsData &&
|
|
56
67
|
displayColumnsDefinitions &&
|
|
57
68
|
rowsData.map(function (row, index) {
|
|
@@ -27,7 +27,6 @@ import HidePrint from '../HidePrint/HidePrint';
|
|
|
27
27
|
import { useModal } from '../Modal/hooks/useModal';
|
|
28
28
|
import ActionHead from './components/ActionHead';
|
|
29
29
|
import ControlButtons from './components/ControlButtons';
|
|
30
|
-
import { GridInfo } from './components/GridInfo';
|
|
31
30
|
import { GridModals } from './components/GridModals';
|
|
32
31
|
import TablePagination from './components/TablePagination';
|
|
33
32
|
import useEditReadAsColumn from './hooks/useEditReadAsColumn';
|
|
@@ -35,13 +34,12 @@ import { useGridAutoRowsPerPage } from './hooks/useGridAutoRowsPerPage';
|
|
|
35
34
|
import useManageColumn from './hooks/useManageColumn';
|
|
36
35
|
import { usePresetState } from './hooks/usePresetsState';
|
|
37
36
|
import { getRowsPerPage } from './utils/getRowsPerPage';
|
|
38
|
-
import hasSortTerminated from './utils/hasSortTerminated';
|
|
39
37
|
import { x } from '@xstyled/styled-components';
|
|
40
38
|
import { CommonGridWithStyles, BottomWrapper, CommonGridWrap, ContentContainer, StyledButtonStrip } from './styles';
|
|
41
39
|
import { getFilters } from './utils';
|
|
42
40
|
var CommonGridContainer = function (props) {
|
|
43
41
|
var _a;
|
|
44
|
-
var _b = props.optimizeFilters, optimizeFilters = _b === void 0 ? false : _b, extraControlButtons = props.extraControlButtons, onBatchAction = props.onBatchAction, processCheckedValues = props.processCheckedValues, processCheckedValuesTitle = props.processCheckedValuesTitle, hideControlButtons = props.hideControlButtons, quickFilter = props.quickFilter, floatingButtonProps = props.floatingButtonProps, queryRowsParam = props.queryRowsParam, customPaginationHandler = props.customPaginationHandler, _c = props.autoHeight, autoHeight = _c === void 0 ? true : _c, gridName = props.gridName, _d = props.withPresets, withPresets = _d === void 0 ? true : _d, _e = props.withManageColumnButton, withManageColumnButton = _e === void 0 ? true : _e, _f = props.withPagination, withPagination = _f === void 0 ? true : _f,
|
|
42
|
+
var _b = props.optimizeFilters, optimizeFilters = _b === void 0 ? false : _b, extraControlButtons = props.extraControlButtons, onBatchAction = props.onBatchAction, processCheckedValues = props.processCheckedValues, processCheckedValuesTitle = props.processCheckedValuesTitle, hideControlButtons = props.hideControlButtons, quickFilter = props.quickFilter, floatingButtonProps = props.floatingButtonProps, queryRowsParam = props.queryRowsParam, customPaginationHandler = props.customPaginationHandler, _c = props.autoHeight, autoHeight = _c === void 0 ? true : _c, gridName = props.gridName, _d = props.withPresets, withPresets = _d === void 0 ? true : _d, _e = props.withManageColumnButton, withManageColumnButton = _e === void 0 ? true : _e, _f = props.withPagination, withPagination = _f === void 0 ? true : _f, passDownProps = __rest(props, ["optimizeFilters", "extraControlButtons", "onBatchAction", "processCheckedValues", "processCheckedValuesTitle", "hideControlButtons", "quickFilter", "floatingButtonProps", "queryRowsParam", "customPaginationHandler", "autoHeight", "gridName", "withPresets", "withManageColumnButton", "withPagination"]);
|
|
45
43
|
var gridActions = passDownProps.gridActions, gridSelectors = passDownProps.gridSelectors, rowsData = passDownProps.rowsData, actionColumnDefinition = passDownProps.actionColumnDefinition;
|
|
46
44
|
var _g = useState(false), displayManageColumnButton = _g[0], setDisplayManageColumnButton = _g[1];
|
|
47
45
|
var gridRef = useRef(null);
|
|
@@ -68,10 +66,6 @@ var CommonGridContainer = function (props) {
|
|
|
68
66
|
onClose: onClose
|
|
69
67
|
}), columnsConfigValues = _j.columnsConfigValues, setColumnsConfigOptions = _j.setColumnsConfigOptions, onConfirmForm = _j.onConfirmForm, resetColumnConfig = _j.resetColumnConfig, handleDragEnd = _j.handleDragEnd, onCloseForm = _j.onCloseForm, displayColumnsDefinitions = _j.displayColumnsDefinitions, manageColumnsFormDefinitions = _j.manageColumnsFormDefinitions;
|
|
70
68
|
var _k = usePresetState(), isPresetsModalOpen = _k.isPresetsModalOpen, onClosePresetsModal = _k.onClosePresetsModal, onOpenPresetsModal = _k.onOpenPresetsModal, setSelectedPresetName = _k.setSelectedPresetName, selectedPresetName = _k.selectedPresetName;
|
|
71
|
-
|
|
72
|
-
allowSortingOnlyUnderTotalRows: allowSortingOnlyUnderTotalRows,
|
|
73
|
-
totalRowsCount: passDownProps === null || passDownProps === void 0 ? void 0 : passDownProps.totalRowsCount
|
|
74
|
-
}), isSortTerminatedAppeal = _l.isSortTerminatedAppeal, isSortTerminated = _l.isSortTerminated;
|
|
75
|
-
return (_jsxs(_Fragment, { children: [_jsxs(ContentContainer, { ref: gridRef, children: [_jsxs(CommonGridWrap, { withPagination: withPagination, children: [withButtonStrip && (_jsx(HidePrint, { children: _jsx(StyledButtonStrip, { className: "buttonsStrip", children: _jsx(ControlButtons, { hideControlButtons: hideControlButtons, extraControlButtons: extraControlButtons, gridActions: gridActions, gridSelectors: gridSelectors, quickFilter: quickFilter, displayColumnsDefinitions: displayColumnsDefinitions, filters: filters, setDisplayManageColumnButton: setDisplayManageColumnButton, displayManageColumnButton: displayManageColumnButton, openManageColumnForm: openManageColumnForm, onOpenPresetsModal: onOpenPresetsModal, selectedPresetName: selectedPresetName, withPresets: withPresets, gridName: gridName, withManageColumnButton: withManageColumnButton }) }) })), _jsx(CommonGridWithStyles, __assign({}, passDownProps, modifiedPassDownProps, { withButtonStrip: withButtonStrip, hasGroupsOrFilters: hasGroupsOrFilters, filters: filters, floatingButtonProps: floatingButtonProps, handleDragEnd: handleDragEnd(false), displayColumnsDefinitions: displayColumnsDefinitions, hasFilters: hasFilters, hasGroups: hasGroups, isSortTerminated: isSortTerminated, hasColouredRows: true }))] }), _jsxs(BottomWrapper, { withPagination: withPagination, children: [(processCheckedValues || !!((_a = actionColumnDefinition === null || actionColumnDefinition === void 0 ? void 0 : actionColumnDefinition.actionOptions) === null || _a === void 0 ? void 0 : _a.length)) && (_jsx(ActionHead, { rowsData: rowsData, onBatchAction: onBatchAction, gridActions: gridActions, gridSelectors: gridSelectors, actionOptions: actionColumnDefinition === null || actionColumnDefinition === void 0 ? void 0 : actionColumnDefinition.actionOptions, processCheckedValues: processCheckedValues, processCheckedValuesTitle: processCheckedValuesTitle })), _jsxs(x.div, { display: "flex", justifyContent: "space-between", alignItems: "center", w: "100%", children: [_jsx(GridInfo, { isSortTerminatedAppeal: isSortTerminatedAppeal, isSortTerminated: isSortTerminated }), withPagination && (_jsxs(x.div, { display: "flex", alignItems: "center", className: "paginatorWrapper", children: [_jsx(Pagination, { page: gridSelectors === null || gridSelectors === void 0 ? void 0 : gridSelectors.page, itemCount: passDownProps === null || passDownProps === void 0 ? void 0 : passDownProps.totalRowsCount, itemPerPage: (gridSelectors === null || gridSelectors === void 0 ? void 0 : gridSelectors.rowsPerPage) || 10, onPageChange: gridActions === null || gridActions === void 0 ? void 0 : gridActions.setPage, customPaginationHandler: customPaginationHandler, radius: window.innerWidth < 768 ? 3 : 5, rate: window.innerWidth < 768 ? 1 : 4 }), _jsx(TablePagination, { gridActions: gridActions, gridSelectors: gridSelectors, customPaginationHandler: customPaginationHandler, autoRowsPerPage: autoRowsPerPage })] }))] })] })] }), _jsx(GridModals, { manageColumnFormVisible: manageColumnFormVisible, onCloseForm: onCloseForm, resetColumnConfig: resetColumnConfig, onConfirmForm: onConfirmForm, manageColumnsFormDefinitions: manageColumnsFormDefinitions, columnsConfigValues: columnsConfigValues, setColumnsConfigOptions: setColumnsConfigOptions, handleDragEnd: handleDragEnd(true), gridName: gridName, gridActions: gridActions, gridSelectors: gridSelectors, onClosePresetsModal: onClosePresetsModal, isPresetsModalOpen: isPresetsModalOpen, selectedPresetName: selectedPresetName, setSelectedPresetName: setSelectedPresetName })] }));
|
|
69
|
+
return (_jsxs(_Fragment, { children: [_jsxs(ContentContainer, { ref: gridRef, children: [_jsxs(CommonGridWrap, { withPagination: withPagination, children: [withButtonStrip && (_jsx(HidePrint, { children: _jsx(StyledButtonStrip, { className: "buttonsStrip", children: _jsx(ControlButtons, { hideControlButtons: hideControlButtons, extraControlButtons: extraControlButtons, gridActions: gridActions, gridSelectors: gridSelectors, quickFilter: quickFilter, displayColumnsDefinitions: displayColumnsDefinitions, filters: filters, setDisplayManageColumnButton: setDisplayManageColumnButton, displayManageColumnButton: displayManageColumnButton, openManageColumnForm: openManageColumnForm, onOpenPresetsModal: onOpenPresetsModal, selectedPresetName: selectedPresetName, withPresets: withPresets, gridName: gridName, withManageColumnButton: withManageColumnButton }) }) })), _jsx(CommonGridWithStyles, __assign({}, passDownProps, modifiedPassDownProps, { withButtonStrip: withButtonStrip, hasGroupsOrFilters: hasGroupsOrFilters, filters: filters, floatingButtonProps: floatingButtonProps, handleDragEnd: handleDragEnd(false), displayColumnsDefinitions: displayColumnsDefinitions, hasFilters: hasFilters, hasGroups: hasGroups, hasColouredRows: true }))] }), _jsxs(BottomWrapper, { withPagination: withPagination, children: [(processCheckedValues || !!((_a = actionColumnDefinition === null || actionColumnDefinition === void 0 ? void 0 : actionColumnDefinition.actionOptions) === null || _a === void 0 ? void 0 : _a.length)) && (_jsx(ActionHead, { rowsData: rowsData, onBatchAction: onBatchAction, gridActions: gridActions, gridSelectors: gridSelectors, actionOptions: actionColumnDefinition === null || actionColumnDefinition === void 0 ? void 0 : actionColumnDefinition.actionOptions, processCheckedValues: processCheckedValues, processCheckedValuesTitle: processCheckedValuesTitle })), withPagination && (_jsxs(x.div, { display: "flex", justifyContent: "center", alignItems: "center", className: "paginatorWrapper", w: "100%", children: [_jsx(Pagination, { page: gridSelectors === null || gridSelectors === void 0 ? void 0 : gridSelectors.page, itemCount: passDownProps === null || passDownProps === void 0 ? void 0 : passDownProps.totalRowsCount, itemPerPage: (gridSelectors === null || gridSelectors === void 0 ? void 0 : gridSelectors.rowsPerPage) || 10, onPageChange: gridActions === null || gridActions === void 0 ? void 0 : gridActions.setPage, customPaginationHandler: customPaginationHandler, radius: window.innerWidth < 768 ? 3 : 5, rate: window.innerWidth < 768 ? 1 : 4 }), _jsx(TablePagination, { gridActions: gridActions, gridSelectors: gridSelectors, customPaginationHandler: customPaginationHandler, autoRowsPerPage: autoRowsPerPage })] }))] })] }), _jsx(GridModals, { manageColumnFormVisible: manageColumnFormVisible, onCloseForm: onCloseForm, resetColumnConfig: resetColumnConfig, onConfirmForm: onConfirmForm, manageColumnsFormDefinitions: manageColumnsFormDefinitions, columnsConfigValues: columnsConfigValues, setColumnsConfigOptions: setColumnsConfigOptions, handleDragEnd: handleDragEnd(true), gridName: gridName, gridActions: gridActions, gridSelectors: gridSelectors, onClosePresetsModal: onClosePresetsModal, isPresetsModalOpen: isPresetsModalOpen, selectedPresetName: selectedPresetName, setSelectedPresetName: setSelectedPresetName })] }));
|
|
76
70
|
};
|
|
77
71
|
export default CommonGridContainer;
|
|
@@ -32,7 +32,7 @@ var ControlButtons = function (_a) {
|
|
|
32
32
|
quickFilter: quickFilter,
|
|
33
33
|
displayColumnsDefinitions: displayColumnsDefinitions,
|
|
34
34
|
filters: filters
|
|
35
|
-
}), searchedValue = _c.searchedValue, translatedValue = _c.translatedValue, onChangeInputValue = _c.onChangeInputValue, onClear = _c.onClear,
|
|
35
|
+
}), searchedValue = _c.searchedValue, translatedValue = _c.translatedValue, onChangeInputValue = _c.onChangeInputValue, onClear = _c.onClear, onResetFilters = _c.onResetFilters, onDisplayInput = _c.onDisplayInput, displayInput = _c.displayInput, isMobileInputView = _c.isMobileInputView, isMobile = _c.isMobile, filter = _c.filter;
|
|
36
36
|
useEffect(function () {
|
|
37
37
|
setDisplayManageColumnButton(!isMobileInputView && !!withManageColumnButton);
|
|
38
38
|
}, [isMobileInputView, withManageColumnButton, setDisplayManageColumnButton]);
|
|
@@ -41,6 +41,6 @@ var ControlButtons = function (_a) {
|
|
|
41
41
|
id: 'controlButtons.searchPlaceholder',
|
|
42
42
|
message: "Search ".concat(translatedValue, " ..."),
|
|
43
43
|
values: { translatedValue: translatedValue }
|
|
44
|
-
}), onChange: onChangeInputValue, onClear: onClear, onClick: onDisplayInput, displayInput: displayInput, isMobileInputView: isMobileInputView, alwaysShowClear: isMobile })), _jsx(ExtraControlButtons, { extraControlButtons: extraControlButtons, targetPosition: ExtraControlButtonPosition.TopLeft }), _jsx(x.div, { children: filtersOn && (_jsx(Button, { type: "button", onClick:
|
|
44
|
+
}), onChange: onChangeInputValue, onClear: onClear, onClick: onDisplayInput, displayInput: displayInput, isMobileInputView: isMobileInputView, alwaysShowClear: isMobile })), _jsx(ExtraControlButtons, { extraControlButtons: extraControlButtons, targetPosition: ExtraControlButtonPosition.TopLeft }), _jsx(x.div, { children: filtersOn && (_jsx(Button, { type: "button", onClick: onResetFilters, variant: "default", appearance: "secondary", "data-cy": "resetFiltersBtn", children: _jsx(Trans, { id: "dataGrid.buttonClearSettings", message: "Reset filters" }) })) })] })), withPresets && gridName && (_jsxs(_Fragment, { children: [_jsx(x.div, { mx: "12px", children: _jsx(Button, { onClick: onOpenPresetsModal, type: "button", variant: "default", appearance: "tertiary", children: _jsx(Trans, { id: "dataGrid.presets.title", message: "Presets" }) }) }), selectedPresetName && (_jsx(Tag, __assign({ size: "medium" }, palletes.redWhite, { children: _jsx(H6, { mt: 0, mb: 0, variant: "semiBold", children: selectedPresetName }) })))] }))] }), _jsxs(Right, { children: [_jsx(ExtraControlButtons, { extraControlButtons: extraControlButtons, targetPosition: ExtraControlButtonPosition.TopRight }), displayManageColumnButton && (_jsx(StyledColumnButton, { type: "button", variant: "ghost", appearance: "primary", iconLeft: _jsx(Settings2, {}), onClick: openManageColumnForm, children: _jsx(H6, { variant: "semiBold", mt: 0, mb: 0, children: _jsx(Trans, { id: "manageColumn.title", message: "Manage column" }) }) }))] })] }));
|
|
45
45
|
};
|
|
46
46
|
export default ControlButtons;
|
|
@@ -11,8 +11,6 @@ type HeadCellProps = {
|
|
|
11
11
|
onSetSort: (column: string, systemName?: string) => (value: SortingValueType) => void;
|
|
12
12
|
group: Group;
|
|
13
13
|
hasResize: boolean;
|
|
14
|
-
totalRowsCount?: number;
|
|
15
|
-
isSortTerminated?: boolean;
|
|
16
14
|
};
|
|
17
15
|
export declare const HeadCell: FC<HeadCellProps>;
|
|
18
16
|
export {};
|
|
@@ -18,12 +18,12 @@ import Resize from './Resize';
|
|
|
18
18
|
import { Cell } from './Table';
|
|
19
19
|
export var HeadCell = function (_a) {
|
|
20
20
|
var _b;
|
|
21
|
-
var column = _a.column, isDragDisabled = _a.isDragDisabled, displayColumnsWidth = _a.displayColumnsWidth, onResizeOut = _a.onResizeOut, onResizeOver = _a.onResizeOver, onResize = _a.onResize, sortingValues = _a.sortingValues, onSetSort = _a.onSetSort, group = _a.group, hasResize = _a.hasResize
|
|
21
|
+
var column = _a.column, isDragDisabled = _a.isDragDisabled, displayColumnsWidth = _a.displayColumnsWidth, onResizeOut = _a.onResizeOut, onResizeOver = _a.onResizeOver, onResize = _a.onResize, sortingValues = _a.sortingValues, onSetSort = _a.onSetSort, group = _a.group, hasResize = _a.hasResize;
|
|
22
22
|
var _c = useSortable({
|
|
23
23
|
id: column.name,
|
|
24
24
|
disabled: isDragDisabled || !!column.sticky,
|
|
25
25
|
animateLayoutChanges: function () { return false; }
|
|
26
26
|
}), attributes = _c.attributes, listeners = _c.listeners, setNodeRef = _c.setNodeRef, transform = _c.transform, transition = _c.transition;
|
|
27
27
|
var cellClassName = "cell".concat(getStickyCollClassNames(!!(column === null || column === void 0 ? void 0 : column.sticky), column === null || column === void 0 ? void 0 : column.stickTo), " ").concat(getGroupClassNames(group));
|
|
28
|
-
return (_jsxs(Cell, __assign({}, getCellSizeProps(column, displayColumnsWidth[column.name]), attributes, listeners, { className: cellClassName, transition: transition, transform: CSS.Transform.toString(transform), ref: setNodeRef, children: [_jsx(ColumnTitle, { title: column === null || column === void 0 ? void 0 : column.title, isSortable: !!column.sorting
|
|
28
|
+
return (_jsxs(Cell, __assign({}, getCellSizeProps(column, displayColumnsWidth[column.name]), attributes, listeners, { className: cellClassName, transition: transition, transform: CSS.Transform.toString(transform), ref: setNodeRef, children: [_jsx(ColumnTitle, { title: column === null || column === void 0 ? void 0 : column.title, isSortable: !!column.sorting, onSetSort: onSetSort(column.name, column.systemName), sortValue: ((_b = sortingValues.find(function (sorting) { return sorting.column === getSortName(column); })) === null || _b === void 0 ? void 0 : _b.direction) || null }), hasResize && onResizeOut && onResizeOver && (_jsx(Resize, { onResize: onResize(column.name), onResizeOver: onResizeOver, onResizeOut: onResizeOut }))] })));
|
|
29
29
|
};
|
|
@@ -9,7 +9,6 @@ type HeadRowProps = {
|
|
|
9
9
|
handleResizeDrag: (column: string, width: number) => void;
|
|
10
10
|
handleDragEnd: (event: DragEndEvent) => void;
|
|
11
11
|
groups: Group[];
|
|
12
|
-
isSortTerminated?: boolean;
|
|
13
12
|
};
|
|
14
|
-
declare const HeadRow: ({ columns, onAddSort, handleDragEnd, sortingValues, displayColumnsWidth, columnLayout, handleResizeDrag, groups
|
|
13
|
+
declare const HeadRow: ({ columns, onAddSort, handleDragEnd, sortingValues, displayColumnsWidth, columnLayout, handleResizeDrag, groups }: HeadRowProps) => JSX.Element;
|
|
15
14
|
export default HeadRow;
|
|
@@ -25,7 +25,7 @@ var getStickyComponent = function (columns, stickyTo, displayColumnsWidth) {
|
|
|
25
25
|
});
|
|
26
26
|
};
|
|
27
27
|
var HeadRow = function (_a) {
|
|
28
|
-
var columns = _a.columns, onAddSort = _a.onAddSort, handleDragEnd = _a.handleDragEnd, _b = _a.sortingValues, sortingValues = _b === void 0 ? [] : _b, displayColumnsWidth = _a.displayColumnsWidth, columnLayout = _a.columnLayout, handleResizeDrag = _a.handleResizeDrag, groups = _a.groups
|
|
28
|
+
var columns = _a.columns, onAddSort = _a.onAddSort, handleDragEnd = _a.handleDragEnd, _b = _a.sortingValues, sortingValues = _b === void 0 ? [] : _b, displayColumnsWidth = _a.displayColumnsWidth, columnLayout = _a.columnLayout, handleResizeDrag = _a.handleResizeDrag, groups = _a.groups;
|
|
29
29
|
var _c = useState(false), showUIElements = _c[0], setShowUIElements = _c[1];
|
|
30
30
|
useEffect(function () {
|
|
31
31
|
setShowUIElements(true);
|
|
@@ -49,6 +49,6 @@ var HeadRow = function (_a) {
|
|
|
49
49
|
return name;
|
|
50
50
|
}), strategy: horizontalListSortingStrategy, children: _jsxs(Row, { className: "headRow", children: [getStickyComponent(columns, 'left', displayColumnsWidth), columns
|
|
51
51
|
.filter(function (item) { return !item.sticky; })
|
|
52
|
-
.map(function (column, index) { return (_jsx(HeadCell, { column: column, isDragDisabled: isDragDisabled, displayColumnsWidth: displayColumnsWidth, onResizeOut: onResizeOut, onResizeOver: onResizeOver, onResize: onResize, sortingValues: sortingValues, onSetSort: onSetSort, group: groups[index], hasResize: columnLayout === 'normal' || !!columns[index + 1]
|
|
52
|
+
.map(function (column, index) { return (_jsx(HeadCell, { column: column, isDragDisabled: isDragDisabled, displayColumnsWidth: displayColumnsWidth, onResizeOut: onResizeOut, onResizeOver: onResizeOver, onResize: onResize, sortingValues: sortingValues, onSetSort: onSetSort, group: groups[index], hasResize: columnLayout === 'normal' || !!columns[index + 1] }, column.name)); }), getStickyComponent(columns, 'right', displayColumnsWidth)] }) }) })) }));
|
|
53
53
|
};
|
|
54
54
|
export default HeadRow;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import
|
|
2
|
+
import { CommonGridProps } from '../types';
|
|
3
3
|
type OversizedScrollProps = {
|
|
4
4
|
columnLayout: Required<CommonGridProps>['columnLayout'];
|
|
5
|
+
isLoading?: boolean;
|
|
5
6
|
children: React.ReactNode;
|
|
6
7
|
floatingChildren?: React.ReactNode;
|
|
7
8
|
totalColumnsWidth: number;
|
|
@@ -6,15 +6,15 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import styled, { css } from '@xstyled/styled-components';
|
|
8
8
|
var ScrollWrapper = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n ", ";\n"], ["\n ", ";\n"])), function (props) {
|
|
9
|
-
return props.columnLayout
|
|
9
|
+
return props.columnLayout != 'no-scroll' && css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n overflow-x: ", ";\n position: relative;\n @media (min-width: 1024px) {\n overflow-x: auto;\n }\n "], ["\n overflow-x: ", ";\n position: relative;\n @media (min-width: 1024px) {\n overflow-x: auto;\n }\n "])), props.columnLayout == 'sticky' ? 'inherit' : 'auto');
|
|
10
10
|
});
|
|
11
11
|
var ScrollSizer = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n ", ";\n"], ["\n ", ";\n"])), function (props) {
|
|
12
|
-
return props.columnLayout
|
|
12
|
+
return props.columnLayout != 'no-scroll' && css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n width: ", "px;\n "], ["\n width: ", "px;\n "])), props.totalColumnsWidth);
|
|
13
13
|
});
|
|
14
14
|
var FloatPosition = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n position: sticky;\n left: 0;\n"], ["\n position: sticky;\n left: 0;\n"])));
|
|
15
15
|
var OversizedScroll = function (_a, ref) {
|
|
16
|
-
var columnLayout = _a.columnLayout, children = _a.children, floatingChildren = _a.floatingChildren, totalColumnsWidth = _a.totalColumnsWidth;
|
|
17
|
-
return (_jsxs(ScrollWrapper, { columnLayout: columnLayout, className: "gridWrapper", ref: ref, children: [_jsx(ScrollSizer, { columnLayout: columnLayout, totalColumnsWidth: totalColumnsWidth, children: children }), floatingChildren && _jsx(FloatPosition, { children: floatingChildren })] }));
|
|
16
|
+
var columnLayout = _a.columnLayout, isLoading = _a.isLoading, children = _a.children, floatingChildren = _a.floatingChildren, totalColumnsWidth = _a.totalColumnsWidth;
|
|
17
|
+
return (_jsxs(ScrollWrapper, { columnLayout: columnLayout, isLoading: isLoading, className: "gridWrapper", ref: ref, children: [_jsx(ScrollSizer, { columnLayout: columnLayout, totalColumnsWidth: totalColumnsWidth, children: children }), floatingChildren && _jsx(FloatPosition, { children: floatingChildren })] }));
|
|
18
18
|
};
|
|
19
19
|
var forwardedWrapper = React.forwardRef(OversizedScroll);
|
|
20
20
|
export default forwardedWrapper;
|
|
@@ -31,19 +31,6 @@ export declare const MessageCell: import("styled-components").StyledComponent<"d
|
|
|
31
31
|
flexShrink?: number | undefined;
|
|
32
32
|
transition?: string | undefined;
|
|
33
33
|
transform?: string | undefined;
|
|
34
|
-
}, never>;
|
|
35
|
-
declare const variantColors: {
|
|
36
|
-
error: (props: import("@xstyled/util").Props<import("@xstyled/system").Theme>) => import("@xstyled/system").CSSScalar;
|
|
37
|
-
info: (props: import("@xstyled/util").Props<import("@xstyled/system").Theme>) => import("@xstyled/system").CSSScalar;
|
|
38
|
-
};
|
|
39
|
-
export declare const MessageCellBody: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
|
|
40
|
-
align?: string | undefined;
|
|
41
|
-
flexBasis?: number | undefined;
|
|
42
|
-
flexGrow?: number | undefined;
|
|
43
|
-
flexShrink?: number | undefined;
|
|
44
|
-
transition?: string | undefined;
|
|
45
|
-
transform?: string | undefined;
|
|
46
34
|
} & {
|
|
47
|
-
|
|
35
|
+
width: number;
|
|
48
36
|
}, never>;
|
|
49
|
-
export {};
|
|
@@ -7,10 +7,5 @@ export var Row = styled.div(templateObject_1 || (templateObject_1 = __makeTempla
|
|
|
7
7
|
export var Cell = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n ", ";\n display: flex;\n overflow: hidden;\n align-items: center;\n justify-content: ", ";\n transition: ", ";\n transform: ", ";\n"], ["\n ", ";\n display: flex;\n overflow: hidden;\n align-items: center;\n justify-content: ", ";\n transition: ", ";\n transform: ", ";\n"])), system, function (props) { return props.align; }, function (props) { return props.transition; }, function (props) { return props.transform; });
|
|
8
8
|
export var StyledDataRow = styled(Row)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n background-color: ", ";\n"], ["\n background-color: ", ";\n"])), function (props) { return (props.isEven ? th('colors.bgLightGray') : 'white'); });
|
|
9
9
|
export var TextCell = styled(Cell)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n text-overflow: ellipsis;\n white-space: nowrap;\n"], ["\n text-overflow: ellipsis;\n white-space: nowrap;\n"])));
|
|
10
|
-
export var MessageCell = styled(Cell)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n width:
|
|
11
|
-
var
|
|
12
|
-
error: th('colors.red1'),
|
|
13
|
-
info: th('colors.gray1')
|
|
14
|
-
};
|
|
15
|
-
export var MessageCellBody = styled(Cell)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n padding: 2px 10px;\n border-radius: 4px;\n color: ", ";\n"], ["\n padding: 2px 10px;\n border-radius: 4px;\n color: ", ";\n"])), function (props) { return variantColors[props.variant]; });
|
|
16
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;
|
|
10
|
+
export var MessageCell = styled(Cell)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n width: ", "px;\n position: sticky;\n left: 0;\n"], ["\n width: ", "px;\n position: sticky;\n left: 0;\n"])), function (props) { return props.width; });
|
|
11
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
|
|
@@ -12,7 +12,7 @@ declare const useQuickFilter: ({ gridActions, gridSelectors, quickFilter, displa
|
|
|
12
12
|
searchedValue: string;
|
|
13
13
|
translatedValue: any;
|
|
14
14
|
onChangeInputValue: (e: ChangeEvent<HTMLInputElement>) => void;
|
|
15
|
-
|
|
15
|
+
onResetFilters: () => void;
|
|
16
16
|
onDisplayInput: () => void;
|
|
17
17
|
displayInput: boolean;
|
|
18
18
|
onClear: () => void;
|
|
@@ -13,11 +13,11 @@ var defaultVoidFunction = function () {
|
|
|
13
13
|
var useQuickFilter = function (_a) {
|
|
14
14
|
var _b, _c;
|
|
15
15
|
var gridActions = _a.gridActions, gridSelectors = _a.gridSelectors, quickFilter = _a.quickFilter, displayColumnsDefinitions = _a.displayColumnsDefinitions, filters = _a.filters;
|
|
16
|
-
var
|
|
16
|
+
var resetFilters = gridActions.resetFilters, _d = gridActions.addFilter, addFilter = _d === void 0 ? defaultVoidFunction : _d;
|
|
17
17
|
var filter = gridSelectors.filter;
|
|
18
18
|
var isMobile = useCheckDeviceWidth().isMobile;
|
|
19
|
-
var
|
|
20
|
-
var
|
|
19
|
+
var _e = useState(''), searchedValue = _e[0], setSearchedValue = _e[1];
|
|
20
|
+
var _f = useState(false), displayInput = _f[0], setDisplayInput = _f[1];
|
|
21
21
|
var handleAddFilter = useAddFilter(addFilter);
|
|
22
22
|
var quickFilterValues = quickFilter ? (_b = filter === null || filter === void 0 ? void 0 : filter[quickFilter]) === null || _b === void 0 ? void 0 : _b.value : undefined;
|
|
23
23
|
var searchedColumnsDefinitions = (displayColumnsDefinitions === null || displayColumnsDefinitions === void 0 ? void 0 : displayColumnsDefinitions.find(function (item) { return item.name === quickFilter; })) || null;
|
|
@@ -62,16 +62,16 @@ var useQuickFilter = function (_a) {
|
|
|
62
62
|
var onDisplayInput = useCallback(function () {
|
|
63
63
|
setDisplayInput(true);
|
|
64
64
|
}, []);
|
|
65
|
-
var
|
|
66
|
-
|
|
65
|
+
var onResetFilters = useCallback(function () {
|
|
66
|
+
resetFilters === null || resetFilters === void 0 ? void 0 : resetFilters();
|
|
67
67
|
setSearchedValue === null || setSearchedValue === void 0 ? void 0 : setSearchedValue('');
|
|
68
|
-
}, [
|
|
68
|
+
}, [resetFilters, setSearchedValue]);
|
|
69
69
|
var translatedValue = getTranslatedValue(searchedColumnsDefinitions);
|
|
70
70
|
return {
|
|
71
71
|
searchedValue: searchedValue,
|
|
72
72
|
translatedValue: translatedValue,
|
|
73
73
|
onChangeInputValue: onChangeInputValue,
|
|
74
|
-
|
|
74
|
+
onResetFilters: onResetFilters,
|
|
75
75
|
onDisplayInput: onDisplayInput,
|
|
76
76
|
displayInput: displayInput,
|
|
77
77
|
onClear: onClear,
|
|
@@ -122,7 +122,6 @@ export default (function (state, action) {
|
|
|
122
122
|
draft[gridName].page = initialState.page;
|
|
123
123
|
draft[gridName].filter = initialState.filter;
|
|
124
124
|
draft[gridName].uxState = initialState.uxState;
|
|
125
|
-
draft[gridName].sorting = [];
|
|
126
125
|
break;
|
|
127
126
|
case actionTypes.setPage:
|
|
128
127
|
draft[gridName].page = action.page;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import CommonGrid from '../../CommonGridContainer';
|
|
3
|
+
import { createRandomData, gridSelectors, gridDummyActions } from '../utils/utils';
|
|
4
|
+
import { columnDefinitions } from '../utils/columnDefinition';
|
|
5
|
+
import { LinguiContainer } from '../../../../utils/LinguiContainer';
|
|
6
|
+
export default {
|
|
7
|
+
title: 'Blocks/CommonGrid'
|
|
8
|
+
};
|
|
9
|
+
export var LoadingState = function () { return (_jsx(LinguiContainer, { children: _jsx(CommonGrid, { columnsDefinitions: columnDefinitions, rowsData: createRandomData(10), gridSelectors: gridSelectors, gridActions: gridDummyActions, isLoading: true }) })); };
|
|
10
|
+
LoadingState.story = {
|
|
11
|
+
name: 'Loading state'
|
|
12
|
+
};
|
|
@@ -7,7 +7,7 @@ export declare const CommonGridWrap: import("styled-components").StyledComponent
|
|
|
7
7
|
withPagination: boolean;
|
|
8
8
|
}, "color">;
|
|
9
9
|
export declare const StyledButtonStrip: import("styled-components").StyledComponent<(props: Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "color">) => import("react").ReactElement<any, "div">, import("@xstyled/system").Theme, import("@xstyled/system").SystemProps<import("@xstyled/system").Theme>, "color">;
|
|
10
|
-
export declare const CommonGridWithStyles: import("styled-components").StyledComponent<({ filters, comparators, handleDragEnd, gridSelectors, gridActions, isLoading, rowsData, hasColouredRows, actionColumnDefinition, allowRowSelect, allowRowSelectOnAction, onRowAction, onRowClick, columnLayout, displayColumnsDefinitions, className, minColumnWidth, errorMessage, floatingButtonProps, hasGroups, hasFilters
|
|
10
|
+
export declare const CommonGridWithStyles: import("styled-components").StyledComponent<({ filters, comparators, handleDragEnd, gridSelectors, gridActions, isLoading, rowsData, hasColouredRows, actionColumnDefinition, allowRowSelect, allowRowSelectOnAction, onRowAction, onRowClick, columnLayout, displayColumnsDefinitions, className, minColumnWidth, errorMessage, floatingButtonProps, hasGroups, hasFilters }: import("./types").CommonGridProps & {
|
|
11
11
|
filters?: import("./types").FiltersConfig | undefined;
|
|
12
12
|
handleDragEnd: (item: import("@dnd-kit/core").DragEndEvent) => void;
|
|
13
13
|
displayColumnsDefinitions: import("./types").ColumnDefinition[];
|
|
@@ -6,7 +6,7 @@ import { gridRowHeight, gridFooterHeight, gridButtonStripHeight, gridHeadHeight,
|
|
|
6
6
|
import styled, { x } from '@xstyled/styled-components';
|
|
7
7
|
import { th } from '@xstyled/system';
|
|
8
8
|
import CommonGrid from './CommonGrid';
|
|
9
|
-
export var BottomWrapper = styled(x.div)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: fixed;\n z-index: 2;\n bottom: 0px;\n padding: ", ";\n left: 0;\n width: 100%;\n height: ", "px;\n background-color: bgLightGray;\n\n @media print {\n display: none;\n }\n\n @media (min-width: 1024px) {\n position: relative;\n bottom: 0;\n margin-bottom: 0;\n }\n"], ["\n position: fixed;\n z-index: 2;\n bottom: 0px;\n padding: ", ";\n left: 0;\n width: 100%;\n height: ", "px;\n background-color: bgLightGray;\n\n @media print {\n display: none;\n }\n\n @media (min-width: 1024px) {\n position: relative;\n bottom: 0;\n margin-bottom: 0;\n }\n"])), function (_a) {
|
|
9
|
+
export var BottomWrapper = styled(x.div)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: fixed;\n z-index: 2;\n bottom: 0px;\n padding: ", ";\n left: 0;\n width: 100%;\n height: ", "px;\n background-color: bgLightGray;\n\n & > * {\n @media (min-width: 1024px) {\n justify-content: flex-end;\n }\n }\n\n @media print {\n display: none;\n }\n\n @media (min-width: 1024px) {\n position: relative;\n bottom: 0;\n margin-bottom: 0;\n }\n"], ["\n position: fixed;\n z-index: 2;\n bottom: 0px;\n padding: ", ";\n left: 0;\n width: 100%;\n height: ", "px;\n background-color: bgLightGray;\n\n & > * {\n @media (min-width: 1024px) {\n justify-content: flex-end;\n }\n }\n\n @media print {\n display: none;\n }\n\n @media (min-width: 1024px) {\n position: relative;\n bottom: 0;\n margin-bottom: 0;\n }\n"])), function (_a) {
|
|
10
10
|
var withPagination = _a.withPagination;
|
|
11
11
|
return (withPagination ? '10px 0' : '0px');
|
|
12
12
|
}, function (_a) {
|
|
@@ -238,7 +238,6 @@ export type GridActionsType = {
|
|
|
238
238
|
setFilters?: (filters: Filtering) => void;
|
|
239
239
|
resetFilters?: () => void;
|
|
240
240
|
addSorting?: (column: string, direction: SortingValueType) => void;
|
|
241
|
-
resetSorting?: () => void;
|
|
242
241
|
openConfigForm?: () => void;
|
|
243
242
|
closeConfigForm?: () => void;
|
|
244
243
|
clearSettings?: () => void;
|
|
@@ -280,7 +279,6 @@ export type CommonGridProps<TData extends RowProps = RowProps> = {
|
|
|
280
279
|
floatingButtonProps?: FloatingButtonProps;
|
|
281
280
|
editReadPosition?: EditReadPosition;
|
|
282
281
|
comparators?: CustomComparators;
|
|
283
|
-
isSortTerminated?: boolean;
|
|
284
282
|
};
|
|
285
283
|
export declare enum EditReadPosition {
|
|
286
284
|
Left = "left",
|
|
@@ -325,7 +323,6 @@ export type GridProps = CommonGridProps & {
|
|
|
325
323
|
withPresets?: boolean;
|
|
326
324
|
withManageColumnButton?: boolean;
|
|
327
325
|
withPagination?: boolean;
|
|
328
|
-
allowSortingOnlyUnderTotalRows?: [number, number];
|
|
329
326
|
};
|
|
330
327
|
export type Item = {
|
|
331
328
|
title: string | JSX.Element;
|
|
@@ -3,5 +3,5 @@ import { Link } from 'react-router-dom';
|
|
|
3
3
|
import { MenuItemsListItem } from '../../styles';
|
|
4
4
|
export var MenuItem = function (_a) {
|
|
5
5
|
var item = _a.item;
|
|
6
|
-
return _jsx(MenuItemsListItem, { children: item.link ? _jsx(Link, { to: item.link, children: item.title }) : item.title });
|
|
6
|
+
return (_jsx(MenuItemsListItem, { onClick: item.onClick, children: item.link ? _jsx(Link, { to: item.link, children: item.title }) : item.title }));
|
|
7
7
|
};
|
|
@@ -4,5 +4,5 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
|
|
|
4
4
|
};
|
|
5
5
|
import styled from '@xstyled/styled-components';
|
|
6
6
|
export var MenuItemsList = styled.ul(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: none;\n gap: 10px;\n\n @media (min-width: 1024px) {\n display: flex;\n }\n"], ["\n display: none;\n gap: 10px;\n\n @media (min-width: 1024px) {\n display: flex;\n }\n"])));
|
|
7
|
-
export var MenuItemsListItem = styled.li(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n a {\n text-decoration: none;\n border-color: red1;\n color: typoPrimary;\n }\n\n a:hover {\n border-bottom: 1px solid;\n color: red1;\n }\n"], ["\n a {\n text-decoration: none;\n border-color: red1;\n color: typoPrimary;\n }\n\n a:hover {\n border-bottom: 1px solid;\n color: red1;\n }\n"])));
|
|
7
|
+
export var MenuItemsListItem = styled.li(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n cursor: pointer;\n\n a {\n text-decoration: none;\n border-color: red1;\n color: typoPrimary;\n }\n\n a:hover {\n border-bottom: 1px solid;\n color: red1;\n }\n"], ["\n cursor: pointer;\n\n a {\n text-decoration: none;\n border-color: red1;\n color: typoPrimary;\n }\n\n a:hover {\n border-bottom: 1px solid;\n color: red1;\n }\n"])));
|
|
8
8
|
var templateObject_1, templateObject_2;
|
|
@@ -25,7 +25,7 @@ var MenuItem = function (_a) {
|
|
|
25
25
|
var _e = useLeftMenuContext(), expandedItem = _e.expandedItem, expandItem = _e.expandItem;
|
|
26
26
|
var isExpanded = expandedItem === id;
|
|
27
27
|
var toggleChildren = useCallback(function () {
|
|
28
|
-
hasChildren && expandItem(isExpanded ? null : id);
|
|
28
|
+
hasChildren && expandItem(isExpanded ? null : id !== null && id !== void 0 ? id : null);
|
|
29
29
|
!hasChildren && !lightMode && onCloseLeftMenu && onCloseLeftMenu();
|
|
30
30
|
}, [hasChildren, expandItem, isExpanded, id, lightMode, onCloseLeftMenu]);
|
|
31
31
|
var linkProps = useMemo(function () { return (link.startsWith('https://') ? { to: { pathname: link }, target: '_blank' } : { to: link }); }, [link]);
|
|
@@ -48,7 +48,7 @@ var MenuItem = function (_a) {
|
|
|
48
48
|
return isActive || childSelected || partialMatch;
|
|
49
49
|
}, [items, link]);
|
|
50
50
|
return (_jsxs(_Fragment, { children: [separator && _jsx(ItemsSeparator, {}), _jsxs(MenuItemContainer, { ref: parentRef, "$isCompact": isCompact, "$lightMode": lightMode, hasChildren: hasChildren, isHovering: isHovering, children: [_jsxs(ItemLinkWrap, __assign({}, linkProps, { onMouseOver: handleMouseOver, exact: true, activeClassName: hasChildren ? 'selected' : undefined, onClick: toggleChildren, "$isCompact": isCompact, className: itemLinkWrapClassName,
|
|
51
|
-
// @ts-
|
|
51
|
+
// @ts-expect-error
|
|
52
52
|
isActive: isActive, "$lightMode": lightMode, children: [_jsxs(ItemLabel, { "$isCompact": isCompact, isSubitem: isSubitem, children: [!isSubitem && icon && (_jsx(ItemIcon, { className: "mainIcon", "$isCompact": isCompact, children: typeof icon === 'string' ? _jsx(Icon, { icon: icon, fill: "none" }) : icon })), _jsx(Title, { variant: "semiBold", mt: 0, mb: 0, textAlign: "left", children: _jsx(OverflowWithEllipsis, { children: title }) })] }), !isCompact && hasChildren && _jsx(ItemDropdownArrow, { icon: "goDown", "$lightMode": lightMode })] })), isHovering && isCompact && hasChildren && !listExpandedItems && (_jsx(SubitemTooltip, { items: items, childRef: childRef, parentRef: parentRef, isLeftMenuOpen: isLeftMenuOpen, onCloseLeftMenu: onCloseLeftMenu, lightMode: lightMode }))] }), hasChildren && listExpandedItems && (_jsx(SubItemsWrap, { children: items === null || items === void 0 ? void 0 : items.map(function (item, index) { return (_jsx(MenuItem, __assign({ isCompact: isCompact, lightMode: lightMode }, item, { onCloseLeftMenu: onCloseLeftMenu, isSubitem: true }), "".concat(index))); }) }))] }));
|
|
53
53
|
};
|
|
54
54
|
export default memo(MenuItem);
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
2
|
export type MenuItemType = {
|
|
3
3
|
icon?: ReactNode;
|
|
4
|
+
onClick?: () => void;
|
|
4
5
|
title: string;
|
|
5
6
|
link?: string;
|
|
6
7
|
acl?: [string, string];
|
|
7
8
|
items?: MenuItemType[];
|
|
8
|
-
id
|
|
9
|
+
id?: string;
|
|
9
10
|
lightMode?: boolean;
|
|
10
11
|
separator?: boolean;
|
|
11
12
|
appearance?: 'gray' | 'default';
|