@tap-payments/os-micro-frontend-shared 0.1.372-test.2-test.3-test.4-test.5-test.6 → 0.1.372-test.2-test.3-test.4
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/build/components/Sandbox/style.js +2 -3
- package/build/components/TableHeader/FiltersRow.d.ts +1 -1
- package/build/components/TableHeader/FiltersRow.js +3 -3
- package/build/components/TableHeader/TableHeader.d.ts +1 -1
- package/build/components/TableHeader/TableHeader.js +2 -2
- package/build/components/TableHeader/TableView/CreateViewDialog.d.ts +1 -1
- package/build/components/TableHeader/TableView/CreateViewDialog.js +42 -11
- package/build/components/TableHeader/TableView/ViewsDropdown.d.ts +1 -1
- package/build/components/TableHeader/TableView/ViewsDropdown.js +91 -93
- package/build/components/TableHeader/TableView/ViewsMenu.d.ts +5 -0
- package/build/components/TableHeader/TableView/ViewsMenu.js +76 -0
- package/build/components/TableHeader/TableView/components/ViewsSubmenu.js +46 -23
- package/build/components/TableHeader/TableView/constants.d.ts +1 -1
- package/build/components/TableHeader/TableView/constants.js +1 -1
- package/build/components/TableHeader/TableView/hooks/index.d.ts +1 -1
- package/build/components/TableHeader/TableView/hooks/index.js +1 -1
- package/build/components/TableHeader/TableView/hooks/useCreateViewDialog.js +15 -5
- package/build/components/TableHeader/TableView/hooks/useNestedSubmenu.js +2 -9
- package/build/components/TableHeader/TableView/hooks/useViewsManager.d.ts +5 -8
- package/build/components/TableHeader/TableView/hooks/useViewsManager.js +50 -94
- package/build/components/TableHeader/TableView/hooks/useViewsMenu.d.ts +44 -0
- package/build/components/TableHeader/TableView/hooks/useViewsMenu.js +177 -0
- package/build/components/TableHeader/TableView/index.d.ts +3 -3
- package/build/components/TableHeader/TableView/index.js +2 -4
- package/build/components/TableHeader/TableView/styles.js +11 -2
- package/build/components/TableHeader/TableView/types.d.ts +34 -32
- package/build/components/TableHeader/TableView/utils.d.ts +6 -5
- package/build/components/TableHeader/TableView/utils.js +56 -13
- package/build/components/TableHeader/index.d.ts +1 -0
- package/build/components/TableHeader/type.d.ts +2 -8
- package/build/components/Toolbar/Toolbar.js +1 -1
- package/build/components/VirtualTables/VirtualTable/VirtualTable.d.ts +1 -1
- package/build/components/VirtualTables/VirtualTable/VirtualTable.js +4 -3
- package/build/constants/apps.js +2 -0
- package/build/constants/assets.d.ts +1 -0
- package/build/constants/assets.js +1 -0
- package/build/types/reports.d.ts +21 -0
- package/build/types/table.d.ts +1 -0
- package/build/utils/date.js +5 -3
- package/build/utils/index.d.ts +1 -0
- package/build/utils/index.js +1 -0
- package/build/utils/skeletonColumns.d.ts +4 -0
- package/build/utils/skeletonColumns.js +17 -0
- package/package.json +2 -2
- package/build/components/TableHeader/TableView/ViewSelector.d.ts +0 -5
- package/build/components/TableHeader/TableView/ViewSelector.js +0 -44
- package/build/components/TableHeader/TableView/hooks/useViewSelector.d.ts +0 -56
- package/build/components/TableHeader/TableView/hooks/useViewSelector.js +0 -122
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { memo } from 'react';
|
|
3
|
-
import { useTranslation } from 'react-i18next';
|
|
4
|
-
import ClickAwayListener from '@mui/material/ClickAwayListener';
|
|
5
|
-
import { Icon, StyledButton } from '../../index.js';
|
|
6
|
-
import { viewIcon } from '../../../constants/index.js';
|
|
7
|
-
import ViewsDropdown from './ViewsDropdown';
|
|
8
|
-
import CreateViewDialog from './CreateViewDialog';
|
|
9
|
-
import { ViewWrapper } from './styles';
|
|
10
|
-
import { useViewsManager } from './hooks';
|
|
11
|
-
import { useViewSelector } from './hooks/useViewSelector';
|
|
12
|
-
function ViewSelector({ onViewChange, setIsViewVisible, setTableViews, tableViews: externalTableViews, resetTableViews, customViews: externalCustomViews, onCreateCustomView, onEditCustomView, onDeleteCustomView, tableMode = 'default', onTableViewsChange, onCustomViewsChange, templates, lang = 'en', }) {
|
|
13
|
-
const { t } = useTranslation();
|
|
14
|
-
// Map tableMode to viewMode: 'sheet' → 'sheet', 'default' → 'advanced'
|
|
15
|
-
const mode = tableMode === 'sheet' ? 'sheet' : 'advanced';
|
|
16
|
-
const { defaultColumns, setDefaultColumns, internalTableViews, setInternalTableViews, internalCustomViews, setInternalCustomViews, defaultTemplate, } = useViewsManager({
|
|
17
|
-
mode,
|
|
18
|
-
templates,
|
|
19
|
-
lang,
|
|
20
|
-
});
|
|
21
|
-
const tableViews = externalTableViews !== null && externalTableViews !== void 0 ? externalTableViews : internalTableViews;
|
|
22
|
-
const customViews = externalCustomViews !== null && externalCustomViews !== void 0 ? externalCustomViews : internalCustomViews;
|
|
23
|
-
const { anchorViewEl, defaultViewEl, setDefaultViewElement, isCreateDialogOpen, editingView, selectedViewInfo, shouldUseCurrentState, handleViewButtonClick, handleCloseViewDropdown, handleSelectedViewInfo, handleOpenCreateDialog, handleOpenEditDialog, handleCloseCreateDialog, handleSaveView, handleDeleteView, handleResetViews, handleTableViewsChange, } = useViewSelector({
|
|
24
|
-
mode,
|
|
25
|
-
onViewChange,
|
|
26
|
-
onTableViewsChange,
|
|
27
|
-
onCustomViewsChange,
|
|
28
|
-
onCreateCustomView,
|
|
29
|
-
onEditCustomView,
|
|
30
|
-
onDeleteCustomView,
|
|
31
|
-
resetTableViews,
|
|
32
|
-
setTableViews,
|
|
33
|
-
tableViews,
|
|
34
|
-
customViews,
|
|
35
|
-
defaultColumns,
|
|
36
|
-
defaultTemplate,
|
|
37
|
-
setInternalCustomViews,
|
|
38
|
-
setInternalTableViews,
|
|
39
|
-
});
|
|
40
|
-
return (_jsxs(_Fragment, { children: [_jsx(ClickAwayListener, Object.assign({ onClickAway: handleCloseViewDropdown }, { children: _jsxs(ViewWrapper, Object.assign({ sx: { width: '32px' }, "data-testid": "ViewSelector" }, { children: [_jsx(StyledButton, Object.assign({ title: t('tableView'), "data-testid": "ViewSelector_button", onClick: handleViewButtonClick }, { children: _jsx(Icon, { src: viewIcon, alt: "view", sx: { width: 14, height: 14 } }) })), _jsx(ViewsDropdown, { open: Boolean(defaultViewEl), anchorEl: anchorViewEl, setSelectedViewInfo: handleSelectedViewInfo, selectedViewInfo: selectedViewInfo, onSelect: (e, selectedView) => {
|
|
41
|
-
setDefaultViewElement(defaultViewEl ? null : e.currentTarget);
|
|
42
|
-
}, setViews: handleResetViews, tableViews: tableViews, setTableViews: handleTableViewsChange, onCreateCustomView: handleOpenCreateDialog, customViews: customViews, onEditCustomView: handleOpenEditDialog, defaultColumns: defaultColumns, setDefaultColumns: setDefaultColumns })] })) })), _jsx(CreateViewDialog, { open: isCreateDialogOpen, onClose: handleCloseCreateDialog, availableColumns: defaultColumns, defaultColumns: defaultColumns, onCreate: handleSaveView, editingView: editingView, onDelete: handleDeleteView, tableViews: shouldUseCurrentState ? defaultColumns : undefined, mode: mode })] }));
|
|
43
|
-
}
|
|
44
|
-
export default memo(ViewSelector);
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { type MouseEvent } from 'react';
|
|
2
|
-
import type { ColumnViewProps } from '../../../../types/index.js';
|
|
3
|
-
import type { ViewMenuItem, LayoutSection, ViewMode } from '../types';
|
|
4
|
-
import type { ViewOption } from '../../type';
|
|
5
|
-
export interface UseViewSelectorProps {
|
|
6
|
-
mode: ViewMode;
|
|
7
|
-
onViewChange?: (selectedView?: ViewMenuItem) => void;
|
|
8
|
-
onTableViewsChange?: (tableViews: ColumnViewProps[]) => void;
|
|
9
|
-
onCustomViewsChange?: (customViews: ViewMenuItem[]) => void;
|
|
10
|
-
onCreateCustomView?: (data: {
|
|
11
|
-
name: string;
|
|
12
|
-
selectedColumns: ColumnViewProps[];
|
|
13
|
-
layout: LayoutSection;
|
|
14
|
-
}) => Promise<void>;
|
|
15
|
-
onEditCustomView?: (viewId: string, data: {
|
|
16
|
-
name: string;
|
|
17
|
-
selectedColumns: ColumnViewProps[];
|
|
18
|
-
layout: LayoutSection;
|
|
19
|
-
}) => Promise<void>;
|
|
20
|
-
onDeleteCustomView?: (viewId: string) => Promise<void>;
|
|
21
|
-
resetTableViews?: (view: {
|
|
22
|
-
id: string;
|
|
23
|
-
label: string;
|
|
24
|
-
}) => void;
|
|
25
|
-
setTableViews?: (columns: ColumnViewProps[]) => void;
|
|
26
|
-
tableViews: ColumnViewProps[];
|
|
27
|
-
customViews: ViewMenuItem[];
|
|
28
|
-
defaultColumns: ColumnViewProps[];
|
|
29
|
-
defaultTemplate?: ViewMenuItem;
|
|
30
|
-
setInternalCustomViews: (views: ViewMenuItem[]) => void;
|
|
31
|
-
setInternalTableViews: (views: ColumnViewProps[]) => void;
|
|
32
|
-
}
|
|
33
|
-
export declare const useViewSelector: ({ mode, onViewChange, onTableViewsChange, onCustomViewsChange, onCreateCustomView, onEditCustomView, onDeleteCustomView, resetTableViews, setTableViews, tableViews, customViews, defaultColumns, defaultTemplate, setInternalCustomViews, setInternalTableViews, }: UseViewSelectorProps) => {
|
|
34
|
-
anchorViewEl: HTMLDivElement | null;
|
|
35
|
-
defaultViewEl: HTMLDivElement | null;
|
|
36
|
-
setDefaultViewElement: import("react").Dispatch<import("react").SetStateAction<HTMLDivElement | null>>;
|
|
37
|
-
isCreateDialogOpen: boolean;
|
|
38
|
-
editingView: ViewMenuItem | null;
|
|
39
|
-
selectedViewInfo: ViewOption;
|
|
40
|
-
shouldUseCurrentState: boolean;
|
|
41
|
-
handleViewButtonClick: (event: MouseEvent<HTMLDivElement>) => void;
|
|
42
|
-
handleCloseViewDropdown: () => void;
|
|
43
|
-
handleClose: () => void;
|
|
44
|
-
handleSelectedViewInfo: (selected: ViewOption, viewMenuItem?: ViewMenuItem) => void;
|
|
45
|
-
handleOpenCreateDialog: (useCurrentState?: boolean) => void;
|
|
46
|
-
handleOpenEditDialog: (view: ViewMenuItem) => void;
|
|
47
|
-
handleCloseCreateDialog: () => void;
|
|
48
|
-
handleSaveView: (data: {
|
|
49
|
-
name: string;
|
|
50
|
-
selectedColumns: ColumnViewProps[];
|
|
51
|
-
layout: LayoutSection;
|
|
52
|
-
}) => Promise<void>;
|
|
53
|
-
handleDeleteView: (viewId: string) => Promise<void>;
|
|
54
|
-
handleResetViews: (views: string[]) => void;
|
|
55
|
-
handleTableViewsChange: (newTableViews: ColumnViewProps[]) => void;
|
|
56
|
-
};
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { useState, useCallback, useEffect } from 'react';
|
|
11
|
-
import { createCustomViewMenuItem } from '../utils';
|
|
12
|
-
export const useViewSelector = ({ mode, onViewChange, onTableViewsChange, onCustomViewsChange, onCreateCustomView, onEditCustomView, onDeleteCustomView, resetTableViews, setTableViews, tableViews, customViews, defaultColumns, defaultTemplate, setInternalCustomViews, setInternalTableViews, }) => {
|
|
13
|
-
const [anchorViewEl, setAnchorViewEl] = useState(null);
|
|
14
|
-
const [defaultViewEl, setDefaultViewElement] = useState(null);
|
|
15
|
-
const [isCreateDialogOpen, setIsCreateDialogOpen] = useState(false);
|
|
16
|
-
const [editingView, setEditingView] = useState(null);
|
|
17
|
-
const [selectedViewInfo, setSelectedViewInfo] = useState({ id: 'default', label: 'Default' });
|
|
18
|
-
const [shouldUseCurrentState, setShouldUseCurrentState] = useState(false);
|
|
19
|
-
const [selectedView, setSelectedView] = useState(undefined);
|
|
20
|
-
// Notify parent of initial view on mount
|
|
21
|
-
useEffect(() => {
|
|
22
|
-
// Use defaultTemplate if available, otherwise undefined (built-in default view)
|
|
23
|
-
const initialView = defaultTemplate || undefined;
|
|
24
|
-
setSelectedView(initialView);
|
|
25
|
-
onViewChange === null || onViewChange === void 0 ? void 0 : onViewChange(initialView);
|
|
26
|
-
}, [onViewChange, defaultTemplate]);
|
|
27
|
-
const handleTableViewsChange = useCallback((newTableViews) => {
|
|
28
|
-
const setTableViewsState = setTableViews !== null && setTableViews !== void 0 ? setTableViews : setInternalTableViews;
|
|
29
|
-
setTableViewsState(newTableViews);
|
|
30
|
-
onTableViewsChange === null || onTableViewsChange === void 0 ? void 0 : onTableViewsChange(newTableViews);
|
|
31
|
-
}, [setTableViews, setInternalTableViews, onTableViewsChange]);
|
|
32
|
-
const handleCustomViewsChange = useCallback((newCustomViews) => {
|
|
33
|
-
setInternalCustomViews(newCustomViews);
|
|
34
|
-
onCustomViewsChange === null || onCustomViewsChange === void 0 ? void 0 : onCustomViewsChange(newCustomViews);
|
|
35
|
-
}, [setInternalCustomViews, onCustomViewsChange]);
|
|
36
|
-
const handleViewButtonClick = useCallback((event) => {
|
|
37
|
-
setAnchorViewEl(event.currentTarget);
|
|
38
|
-
setDefaultViewElement(event.currentTarget);
|
|
39
|
-
}, []);
|
|
40
|
-
const handleCloseViewDropdown = useCallback(() => {
|
|
41
|
-
setDefaultViewElement(null);
|
|
42
|
-
}, []);
|
|
43
|
-
const handleClose = useCallback(() => {
|
|
44
|
-
setAnchorViewEl(null);
|
|
45
|
-
setDefaultViewElement(null);
|
|
46
|
-
setSelectedViewInfo({ label: 'Default', id: 'default' });
|
|
47
|
-
}, []);
|
|
48
|
-
const handleSelectedViewInfo = useCallback((selected, viewMenuItem) => {
|
|
49
|
-
setSelectedViewInfo(selected);
|
|
50
|
-
// Update selected view and notify parent
|
|
51
|
-
const newSelectedView = viewMenuItem || undefined;
|
|
52
|
-
setSelectedView(newSelectedView);
|
|
53
|
-
onViewChange === null || onViewChange === void 0 ? void 0 : onViewChange(newSelectedView);
|
|
54
|
-
handleCloseViewDropdown();
|
|
55
|
-
}, [handleCloseViewDropdown, onViewChange]);
|
|
56
|
-
const handleOpenCreateDialog = useCallback((useCurrentState = false) => {
|
|
57
|
-
setEditingView(null);
|
|
58
|
-
setShouldUseCurrentState(useCurrentState);
|
|
59
|
-
setIsCreateDialogOpen(true);
|
|
60
|
-
setDefaultViewElement(null);
|
|
61
|
-
}, []);
|
|
62
|
-
const handleOpenEditDialog = useCallback((view) => {
|
|
63
|
-
setEditingView(view);
|
|
64
|
-
setShouldUseCurrentState(true);
|
|
65
|
-
setIsCreateDialogOpen(true);
|
|
66
|
-
}, []);
|
|
67
|
-
const handleCloseCreateDialog = useCallback(() => {
|
|
68
|
-
setIsCreateDialogOpen(false);
|
|
69
|
-
setEditingView(null);
|
|
70
|
-
setShouldUseCurrentState(false);
|
|
71
|
-
}, []);
|
|
72
|
-
const handleSaveView = useCallback((data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
73
|
-
if (editingView) {
|
|
74
|
-
const updatedViews = customViews.map((view) => view.id === editingView.id
|
|
75
|
-
? Object.assign(Object.assign({}, view), { label: data.name, columns: data.selectedColumns.map((col) => col.name), submenu: data.selectedColumns }) : view);
|
|
76
|
-
handleCustomViewsChange(updatedViews);
|
|
77
|
-
yield (onEditCustomView === null || onEditCustomView === void 0 ? void 0 : onEditCustomView(editingView.id, data));
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
const newView = createCustomViewMenuItem(data.name, data.selectedColumns);
|
|
81
|
-
const updatedViews = [...customViews, newView];
|
|
82
|
-
handleCustomViewsChange(updatedViews);
|
|
83
|
-
yield (onCreateCustomView === null || onCreateCustomView === void 0 ? void 0 : onCreateCustomView(data));
|
|
84
|
-
}
|
|
85
|
-
}), [editingView, customViews, handleCustomViewsChange, onEditCustomView, onCreateCustomView]);
|
|
86
|
-
const handleDeleteView = useCallback((viewId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
87
|
-
const updatedViews = customViews.filter((view) => view.id !== viewId);
|
|
88
|
-
handleCustomViewsChange(updatedViews);
|
|
89
|
-
yield (onDeleteCustomView === null || onDeleteCustomView === void 0 ? void 0 : onDeleteCustomView(viewId));
|
|
90
|
-
}), [customViews, handleCustomViewsChange, onDeleteCustomView]);
|
|
91
|
-
const handleResetViews = useCallback((views) => {
|
|
92
|
-
if (resetTableViews) {
|
|
93
|
-
resetTableViews({ id: views[0], label: views[0] });
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
// Reset to default columns from templates
|
|
97
|
-
handleTableViewsChange([...defaultColumns]);
|
|
98
|
-
}
|
|
99
|
-
}, [resetTableViews, defaultColumns, handleTableViewsChange]);
|
|
100
|
-
return {
|
|
101
|
-
// State
|
|
102
|
-
anchorViewEl,
|
|
103
|
-
defaultViewEl,
|
|
104
|
-
setDefaultViewElement,
|
|
105
|
-
isCreateDialogOpen,
|
|
106
|
-
editingView,
|
|
107
|
-
selectedViewInfo,
|
|
108
|
-
shouldUseCurrentState,
|
|
109
|
-
// Handlers
|
|
110
|
-
handleViewButtonClick,
|
|
111
|
-
handleCloseViewDropdown,
|
|
112
|
-
handleClose,
|
|
113
|
-
handleSelectedViewInfo,
|
|
114
|
-
handleOpenCreateDialog,
|
|
115
|
-
handleOpenEditDialog,
|
|
116
|
-
handleCloseCreateDialog,
|
|
117
|
-
handleSaveView,
|
|
118
|
-
handleDeleteView,
|
|
119
|
-
handleResetViews,
|
|
120
|
-
handleTableViewsChange,
|
|
121
|
-
};
|
|
122
|
-
};
|