mod-arch-shared 0.1.1 → 0.1.2
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/__tests__/__mocks__/mockGenericResponse.js +5 -8
- package/dist/__tests__/__mocks__/mockGenericResponse.js.map +1 -1
- package/dist/__tests__/unit/jest.setup.js +14 -23
- package/dist/__tests__/unit/jest.setup.js.map +1 -1
- package/dist/__tests__/unit/testUtils/hooks.js +44 -67
- package/dist/__tests__/unit/testUtils/hooks.js.map +1 -1
- package/dist/__tests__/unit/testUtils/hooks.spec.js +56 -91
- package/dist/__tests__/unit/testUtils/hooks.spec.js.map +1 -1
- package/dist/api/__tests__/errorUtils.spec.js +22 -55
- package/dist/api/__tests__/errorUtils.spec.js.map +1 -1
- package/dist/api/apiUtils.d.ts.map +1 -1
- package/dist/api/apiUtils.js +69 -90
- package/dist/api/apiUtils.js.map +1 -1
- package/dist/api/const.d.ts +3 -0
- package/dist/api/const.d.ts.map +1 -0
- package/dist/api/const.js +4 -0
- package/dist/api/const.js.map +1 -0
- package/dist/api/errorUtils.js +20 -22
- package/dist/api/errorUtils.js.map +1 -1
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +1 -0
- package/dist/api/index.js.map +1 -1
- package/dist/api/k8s.d.ts +7 -2
- package/dist/api/k8s.d.ts.map +1 -1
- package/dist/api/k8s.js +13 -21
- package/dist/api/k8s.js.map +1 -1
- package/dist/api/useAPIState.js +8 -9
- package/dist/api/useAPIState.js.map +1 -1
- package/dist/components/ApplicationsPage.js +4 -5
- package/dist/components/ApplicationsPage.js.map +1 -1
- package/dist/components/DashboardDescriptionListGroup.js +4 -4
- package/dist/components/DashboardDescriptionListGroup.js.map +1 -1
- package/dist/components/DashboardEmptyTableView.js +5 -8
- package/dist/components/DashboardEmptyTableView.js.map +1 -1
- package/dist/components/DashboardHelpTooltip.js +2 -5
- package/dist/components/DashboardHelpTooltip.js.map +1 -1
- package/dist/components/DashboardModalFooter.js +12 -15
- package/dist/components/DashboardModalFooter.js.map +1 -1
- package/dist/components/DashboardSearchField.js +15 -18
- package/dist/components/DashboardSearchField.js.map +1 -1
- package/dist/components/EditableLabelsDescriptionListGroup.js +60 -73
- package/dist/components/EditableLabelsDescriptionListGroup.js.map +1 -1
- package/dist/components/EditableTextDescriptionListGroup.d.ts.map +1 -1
- package/dist/components/EditableTextDescriptionListGroup.js +18 -33
- package/dist/components/EditableTextDescriptionListGroup.js.map +1 -1
- package/dist/components/EmptyStateErrorMessage.js +6 -9
- package/dist/components/EmptyStateErrorMessage.js.map +1 -1
- package/dist/components/FieldGroupHelpLabelIcon.js +2 -5
- package/dist/components/FieldGroupHelpLabelIcon.js.map +1 -1
- package/dist/components/FormFieldset.js +4 -7
- package/dist/components/FormFieldset.js.map +1 -1
- package/dist/components/InlineTruncatedClipboardCopy.js +7 -10
- package/dist/components/InlineTruncatedClipboardCopy.js.map +1 -1
- package/dist/components/KubeflowDocs.js +3 -6
- package/dist/components/KubeflowDocs.js.map +1 -1
- package/dist/components/MarkdownView.js +4 -6
- package/dist/components/MarkdownView.js.map +1 -1
- package/dist/components/NavBar.d.ts.map +1 -1
- package/dist/components/NavBar.js +12 -14
- package/dist/components/NavBar.js.map +1 -1
- package/dist/components/NavSidebar.d.ts.map +1 -1
- package/dist/components/NavSidebar.js +13 -19
- package/dist/components/NavSidebar.js.map +1 -1
- package/dist/components/PopoverListContent.js +6 -13
- package/dist/components/PopoverListContent.js.map +1 -1
- package/dist/components/ResourceNameTooltip.js +15 -19
- package/dist/components/ResourceNameTooltip.js.map +1 -1
- package/dist/components/SimpleSelect.js +20 -33
- package/dist/components/SimpleSelect.js.map +1 -1
- package/dist/components/ToastNotification.js +10 -13
- package/dist/components/ToastNotification.js.map +1 -1
- package/dist/components/ToastNotifications.js +3 -3
- package/dist/components/ToastNotifications.js.map +1 -1
- package/dist/components/TruncatedText.js +17 -14
- package/dist/components/TruncatedText.js.map +1 -1
- package/dist/components/TypeaheadSelect.js +56 -66
- package/dist/components/TypeaheadSelect.js.map +1 -1
- package/dist/components/WhosMyAdministrator.js +2 -5
- package/dist/components/WhosMyAdministrator.js.map +1 -1
- package/dist/components/browserStorage/BrowserStorageContext.js +29 -44
- package/dist/components/browserStorage/BrowserStorageContext.js.map +1 -1
- package/dist/components/dashboard/DashboardPopupIconButton.js +1 -5
- package/dist/components/dashboard/DashboardPopupIconButton.js.map +1 -1
- package/dist/components/design/CollapsibleSection.js +8 -10
- package/dist/components/design/CollapsibleSection.js.map +1 -1
- package/dist/components/design/DividedGallery.js +7 -11
- package/dist/components/design/DividedGallery.js.map +1 -1
- package/dist/components/design/DividedGalleryItem.js +1 -5
- package/dist/components/design/DividedGalleryItem.js.map +1 -1
- package/dist/components/design/HeaderIcon.js +12 -15
- package/dist/components/design/HeaderIcon.js.map +1 -1
- package/dist/components/design/InfoGalleryItem.js +20 -24
- package/dist/components/design/InfoGalleryItem.js.map +1 -1
- package/dist/components/design/ScrolledGallery.js +7 -9
- package/dist/components/design/ScrolledGallery.js.map +1 -1
- package/dist/components/design/TitleWithIcon.js +11 -14
- package/dist/components/design/TitleWithIcon.js.map +1 -1
- package/dist/components/design/TypeBorderedCard.js +1 -5
- package/dist/components/design/TypeBorderedCard.js.map +1 -1
- package/dist/components/design/TypedObjectIcon.js +6 -5
- package/dist/components/design/TypedObjectIcon.js.map +1 -1
- package/dist/components/design/utils.js +8 -8
- package/dist/components/design/utils.js.map +1 -1
- package/dist/components/notFound/NotFound.js +2 -2
- package/dist/components/notFound/NotFound.js.map +1 -1
- package/dist/components/pf-overrides/FormSection.js +3 -7
- package/dist/components/pf-overrides/FormSection.js.map +1 -1
- package/dist/components/table/CheckboxTd.js +3 -5
- package/dist/components/table/CheckboxTd.js.map +1 -1
- package/dist/components/table/Table.js +9 -11
- package/dist/components/table/Table.js.map +1 -1
- package/dist/components/table/TableBase.js +47 -54
- package/dist/components/table/TableBase.js.map +1 -1
- package/dist/components/table/TableRowTitleDescription.js +4 -5
- package/dist/components/table/TableRowTitleDescription.js.map +1 -1
- package/dist/components/table/__tests__/useCheckboxTable.spec.js +12 -12
- package/dist/components/table/__tests__/useCheckboxTable.spec.js.map +1 -1
- package/dist/components/table/const.js +9 -9
- package/dist/components/table/const.js.map +1 -1
- package/dist/components/table/useCheckboxTable.js +3 -4
- package/dist/components/table/useCheckboxTable.js.map +1 -1
- package/dist/components/table/useCheckboxTableBase.js +36 -37
- package/dist/components/table/useCheckboxTableBase.js.map +1 -1
- package/dist/components/table/useTableColumnSort.js +34 -38
- package/dist/components/table/useTableColumnSort.js.map +1 -1
- package/dist/config/stylePaths.js +2 -2
- package/dist/config/stylePaths.js.map +1 -1
- package/dist/config/transform.file.js +4 -4
- package/dist/config/transform.file.js.map +1 -1
- package/dist/context/DashboardScriptLoader.d.ts.map +1 -1
- package/dist/context/DashboardScriptLoader.js +14 -15
- package/dist/context/DashboardScriptLoader.js.map +1 -1
- package/dist/context/ModularArchContext.d.ts +19 -0
- package/dist/context/ModularArchContext.d.ts.map +1 -0
- package/dist/context/ModularArchContext.js +7 -0
- package/dist/context/ModularArchContext.js.map +1 -0
- package/dist/context/NamespaceSelectorContext.js +24 -31
- package/dist/context/NamespaceSelectorContext.js.map +1 -1
- package/dist/context/NotificationContext.js +16 -17
- package/dist/context/NotificationContext.js.map +1 -1
- package/dist/context/ThemeContext.d.ts.map +1 -1
- package/dist/context/ThemeContext.js +12 -11
- package/dist/context/ThemeContext.js.map +1 -1
- package/dist/context/__tests__/NamespaceSelectorContext.test.js +95 -75
- package/dist/context/__tests__/NamespaceSelectorContext.test.js.map +1 -1
- package/dist/context/index.d.ts +1 -0
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +1 -1
- package/dist/context/index.js.map +1 -1
- package/dist/hooks/index.d.ts +2 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +2 -2
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useModularArchContext.d.ts +4 -0
- package/dist/hooks/useModularArchContext.d.ts.map +1 -0
- package/dist/hooks/useModularArchContext.js +10 -0
- package/dist/hooks/useModularArchContext.js.map +1 -0
- package/dist/hooks/useNamespaces.d.ts.map +1 -1
- package/dist/hooks/useNamespaces.js +14 -10
- package/dist/hooks/useNamespaces.js.map +1 -1
- package/dist/hooks/useNotification.js +17 -17
- package/dist/hooks/useNotification.js.map +1 -1
- package/dist/hooks/useQueryParamNamespaces.js +4 -4
- package/dist/hooks/useQueryParamNamespaces.js.map +1 -1
- package/dist/hooks/useSettings.d.ts.map +1 -1
- package/dist/hooks/useSettings.js +35 -38
- package/dist/hooks/useSettings.js.map +1 -1
- package/dist/hooks/useTimeBasedRefresh.js +10 -11
- package/dist/hooks/useTimeBasedRefresh.js.map +1 -1
- package/dist/images/icons/AcceleratorProfileIcon.js +1 -1
- package/dist/images/icons/AcceleratorProfileIcon.js.map +1 -1
- package/dist/images/icons/ArtifactIcon.js +1 -1
- package/dist/images/icons/ArtifactIcon.js.map +1 -1
- package/dist/images/icons/BuildIcon.js +1 -1
- package/dist/images/icons/BuildIcon.js.map +1 -1
- package/dist/images/icons/ClusterSettingsIcon.js +1 -1
- package/dist/images/icons/ClusterSettingsIcon.js.map +1 -1
- package/dist/images/icons/ConfigurationIcon.js +1 -1
- package/dist/images/icons/ConfigurationIcon.js.map +1 -1
- package/dist/images/icons/CreateAndTrainIcon.js +1 -1
- package/dist/images/icons/CreateAndTrainIcon.js.map +1 -1
- package/dist/images/icons/DataConnectionIcon.js +1 -1
- package/dist/images/icons/DataConnectionIcon.js.map +1 -1
- package/dist/images/icons/DeployedModelIcon.js +1 -1
- package/dist/images/icons/DeployedModelIcon.js.map +1 -1
- package/dist/images/icons/DistributedWorkloadIcon.js +1 -1
- package/dist/images/icons/DistributedWorkloadIcon.js.map +1 -1
- package/dist/images/icons/EnabledApplicationsIcon.js +1 -1
- package/dist/images/icons/EnabledApplicationsIcon.js.map +1 -1
- package/dist/images/icons/ExperimentIcon.js +1 -1
- package/dist/images/icons/ExperimentIcon.js.map +1 -1
- package/dist/images/icons/ExploreApplicationsIcon.js +1 -1
- package/dist/images/icons/ExploreApplicationsIcon.js.map +1 -1
- package/dist/images/icons/GroupIcon.js +1 -1
- package/dist/images/icons/GroupIcon.js.map +1 -1
- package/dist/images/icons/ModelIcon.js +1 -1
- package/dist/images/icons/ModelIcon.js.map +1 -1
- package/dist/images/icons/ModelRegistryIcon.js +1 -1
- package/dist/images/icons/ModelRegistryIcon.js.map +1 -1
- package/dist/images/icons/ModelServerIcon.js +1 -1
- package/dist/images/icons/ModelServerIcon.js.map +1 -1
- package/dist/images/icons/MultiModelIcon.js +1 -1
- package/dist/images/icons/MultiModelIcon.js.map +1 -1
- package/dist/images/icons/NotebookIcon.js +1 -1
- package/dist/images/icons/NotebookIcon.js.map +1 -1
- package/dist/images/icons/NotebookImageIcon.js +1 -1
- package/dist/images/icons/NotebookImageIcon.js.map +1 -1
- package/dist/images/icons/PermissionsIcon.js +1 -1
- package/dist/images/icons/PermissionsIcon.js.map +1 -1
- package/dist/images/icons/PipelineExecutionIcon.js +1 -1
- package/dist/images/icons/PipelineExecutionIcon.js.map +1 -1
- package/dist/images/icons/PipelineIcon.js +1 -1
- package/dist/images/icons/PipelineIcon.js.map +1 -1
- package/dist/images/icons/PipelineRunIcon.js +1 -1
- package/dist/images/icons/PipelineRunIcon.js.map +1 -1
- package/dist/images/icons/ProjectIcon.js +1 -1
- package/dist/images/icons/ProjectIcon.js.map +1 -1
- package/dist/images/icons/RegisteredModelIcon.js +1 -1
- package/dist/images/icons/RegisteredModelIcon.js.map +1 -1
- package/dist/images/icons/ResourcesIcon.js +1 -1
- package/dist/images/icons/ResourcesIcon.js.map +1 -1
- package/dist/images/icons/ServingRuntimeIcon.js +1 -1
- package/dist/images/icons/ServingRuntimeIcon.js.map +1 -1
- package/dist/images/icons/SingleModelIcon.js +1 -1
- package/dist/images/icons/SingleModelIcon.js.map +1 -1
- package/dist/images/icons/StorageClassIcon.js +1 -1
- package/dist/images/icons/StorageClassIcon.js.map +1 -1
- package/dist/images/icons/StorageIcon.js +1 -1
- package/dist/images/icons/StorageIcon.js.map +1 -1
- package/dist/images/icons/UserIcon.js +1 -1
- package/dist/images/icons/UserIcon.js.map +1 -1
- package/dist/index.d.ts +2 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -6
- package/dist/index.js.map +1 -1
- package/dist/style/MUI-theme.scss +77 -53
- package/dist/style/index.d.ts +1 -1
- package/dist/style/index.d.ts.map +1 -1
- package/dist/style/index.js +5 -4
- package/dist/style/index.js.map +1 -1
- package/dist/style/index.ts +5 -4
- package/dist/types/common.js +1 -3
- package/dist/types/common.js.map +1 -1
- package/dist/types/k8sTypes.d.ts +2 -0
- package/dist/types/k8sTypes.d.ts.map +1 -1
- package/dist/types/k8sTypes.js.map +1 -1
- package/dist/utilities/appUtils.js +3 -4
- package/dist/utilities/appUtils.js.map +1 -1
- package/dist/utilities/const.d.ts +2 -18
- package/dist/utilities/const.d.ts.map +1 -1
- package/dist/utilities/const.js +3 -22
- package/dist/utilities/const.js.map +1 -1
- package/dist/utilities/markdown.js +4 -4
- package/dist/utilities/markdown.js.map +1 -1
- package/dist/utilities/time.js +14 -14
- package/dist/utilities/time.js.map +1 -1
- package/dist/utilities/useDebounceCallback.js +1 -4
- package/dist/utilities/useDebounceCallback.js.map +1 -1
- package/dist/utilities/useDeepCompareMemoize.js +2 -2
- package/dist/utilities/useDeepCompareMemoize.js.map +1 -1
- package/dist/utilities/useEventListener.js +3 -3
- package/dist/utilities/useEventListener.js.map +1 -1
- package/dist/utilities/useFetchState.js +67 -79
- package/dist/utilities/useFetchState.js.map +1 -1
- package/dist/utilities/useGenericObjectState.js +6 -10
- package/dist/utilities/useGenericObjectState.js.map +1 -1
- package/dist/utilities/useMakeFetchObject.js +3 -4
- package/dist/utilities/useMakeFetchObject.js.map +1 -1
- package/dist/utilities/utils.js +4 -11
- package/dist/utilities/utils.js.map +1 -1
- package/package.json +8 -7
- package/style/MUI-theme.scss +77 -53
- package/style/index.ts +5 -4
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { __assign, __rest } from "tslib";
|
|
2
1
|
import * as React from 'react';
|
|
3
2
|
import { Pagination, Skeleton, Toolbar, ToolbarContent, ToolbarItem, Tooltip, } from '@patternfly/react-core';
|
|
4
3
|
import { Table, Thead, Tr, Th, Caption, Tbody, Td, InnerScrollContainer, } from '@patternfly/react-table';
|
|
5
4
|
import { CHECKBOX_FIELD_ID, EXPAND_FIELD_ID, KEBAB_FIELD_ID } from './const';
|
|
6
|
-
export
|
|
7
|
-
|
|
5
|
+
export const MIN_PAGE_SIZE = 10;
|
|
6
|
+
const defaultPerPageOptions = [
|
|
8
7
|
{
|
|
9
8
|
title: '10',
|
|
10
9
|
value: 10,
|
|
@@ -18,33 +17,30 @@ var defaultPerPageOptions = [
|
|
|
18
17
|
value: 30,
|
|
19
18
|
},
|
|
20
19
|
];
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
} }))); };
|
|
20
|
+
const TableBase = ({ data, columns, subColumns, hasNestedHeader, rowRenderer, enablePagination, toolbarContent, onClearFilters, bottomToolbarContent, emptyTableView, caption, disableRowRenderSupport, selectAll, footerRow, tbodyProps, perPage = 10, page = 1, perPageOptions = defaultPerPageOptions, onSetPage, onNextClick, onPreviousClick, onPerPageSelect, getColumnSort, itemCount = 0, loading, skeletonRowCount, skeletonRowProps = {}, toggleTemplate, disableItemCount = false, hasStickyColumns, ...props }) => {
|
|
21
|
+
const selectAllRef = React.useRef(null);
|
|
22
|
+
const showPagination = enablePagination;
|
|
23
|
+
const pagination = (variant) => (React.createElement(Pagination, { isCompact: true, ...(!disableItemCount && { itemCount }), perPage: perPage, page: page, onSetPage: onSetPage, onNextClick: onNextClick, onPreviousClick: onPreviousClick, onPerPageSelect: onPerPageSelect, toggleTemplate: toggleTemplate, variant: variant, widgetId: "table-pagination", perPageOptions: perPageOptions, menuAppendTo: "inline", titles: {
|
|
24
|
+
paginationAriaLabel: `${variant} pagination`,
|
|
25
|
+
} }));
|
|
28
26
|
// Use a reference to store the heights of table rows once loaded
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
React.useLayoutEffect(
|
|
32
|
-
var _a;
|
|
27
|
+
const tableRef = React.useRef(null);
|
|
28
|
+
const rowHeightsRef = React.useRef();
|
|
29
|
+
React.useLayoutEffect(() => {
|
|
33
30
|
if (!loading || rowHeightsRef.current == null) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
rows
|
|
37
|
-
rowHeightsRef.current =
|
|
31
|
+
const heights = [];
|
|
32
|
+
const rows = tableRef.current?.querySelectorAll(':scope > tbody > tr');
|
|
33
|
+
rows?.forEach((r) => heights.push(r.offsetHeight));
|
|
34
|
+
rowHeightsRef.current = heights;
|
|
38
35
|
}
|
|
39
36
|
}, [loading]);
|
|
40
|
-
|
|
41
|
-
var _a;
|
|
37
|
+
const renderColumnHeader = (col, i, isSubheader) => {
|
|
42
38
|
if (col.field === CHECKBOX_FIELD_ID && selectAll) {
|
|
43
|
-
return (React.createElement(React.Fragment, { key:
|
|
44
|
-
React.createElement(Tooltip, { key: "select-all-checkbox", content:
|
|
39
|
+
return (React.createElement(React.Fragment, { key: `checkbox-${i}` },
|
|
40
|
+
React.createElement(Tooltip, { key: "select-all-checkbox", content: selectAll.tooltip ?? 'Select all page items', triggerRef: selectAllRef }),
|
|
45
41
|
React.createElement(Th, { ref: selectAllRef, colSpan: col.colSpan, rowSpan: col.rowSpan, isStickyColumn: col.isStickyColumn, stickyMinWidth: col.stickyMinWidth, select: {
|
|
46
42
|
isSelected: selectAll.selected,
|
|
47
|
-
onSelect:
|
|
43
|
+
onSelect: (e, value) => selectAll.onSelect(value),
|
|
48
44
|
isDisabled: selectAll.disabled,
|
|
49
45
|
},
|
|
50
46
|
// TODO: Log PF bug -- when there are no rows this gets truncated
|
|
@@ -54,39 +50,36 @@ var TableBase = function (_a) {
|
|
|
54
50
|
// Table headers cannot be empty for a11y, table cells can -- https://dequeuniversity.com/rules/axe/4.0/empty-table-header
|
|
55
51
|
React.createElement(Td, { key: col.field + i, width: col.width }));
|
|
56
52
|
};
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
: data.map(function (row, rowIndex) { return rowRenderer(row, rowIndex); });
|
|
83
|
-
};
|
|
84
|
-
var table = (React.createElement(Table, __assign({}, props, (hasStickyColumns && { gridBreakPoint: '' }), { ref: tableRef }),
|
|
53
|
+
const renderRows = () => loading
|
|
54
|
+
? // compute the number of items in the upcoming page
|
|
55
|
+
new Array(itemCount === 0
|
|
56
|
+
? skeletonRowCount || rowHeightsRef.current?.length || MIN_PAGE_SIZE
|
|
57
|
+
: Math.max(0, Math.min(perPage, itemCount - perPage * (page - 1))))
|
|
58
|
+
.fill(undefined)
|
|
59
|
+
.map((_, i) => {
|
|
60
|
+
// Set the height to the last known row height or otherwise the same height as the first row.
|
|
61
|
+
// When going to a previous page, the number of rows may be greater than the current.
|
|
62
|
+
const getRow = () => (React.createElement(Tr, { key: `skeleton-${i}`, ...skeletonRowProps, style: {
|
|
63
|
+
...(skeletonRowProps.style || {}),
|
|
64
|
+
height: rowHeightsRef.current?.[i] || rowHeightsRef.current?.[0],
|
|
65
|
+
} }, columns.map((col) => (React.createElement(Td, { key: col.field,
|
|
66
|
+
// assign classes to reserve space
|
|
67
|
+
className: col.field === CHECKBOX_FIELD_ID || col.field === EXPAND_FIELD_ID
|
|
68
|
+
? 'pf-c-table__toggle'
|
|
69
|
+
: col.field === KEBAB_FIELD_ID
|
|
70
|
+
? 'pf-c-table__action'
|
|
71
|
+
: undefined },
|
|
72
|
+
// render placeholders to reserve space
|
|
73
|
+
col.field === EXPAND_FIELD_ID || col.field === KEBAB_FIELD_ID ? (React.createElement("div", { style: { width: 46 } })) : col.field === CHECKBOX_FIELD_ID ? (React.createElement("div", { style: { width: 13 } })) : (React.createElement(Skeleton, { width: "50%" })))))));
|
|
74
|
+
return disableRowRenderSupport ? (React.createElement(Tbody, { key: `skeleton-tbody-${i}` }, getRow())) : (getRow());
|
|
75
|
+
})
|
|
76
|
+
: data.map((row, rowIndex) => rowRenderer(row, rowIndex));
|
|
77
|
+
const table = (React.createElement(Table, { ...props, ...(hasStickyColumns && { gridBreakPoint: '' }), ref: tableRef },
|
|
85
78
|
caption && React.createElement(Caption, null, caption),
|
|
86
79
|
React.createElement(Thead, { noWrap: true, hasNestedHeader: hasNestedHeader },
|
|
87
|
-
React.createElement(Tr, null, columns.map(
|
|
88
|
-
|
|
89
|
-
disableRowRenderSupport ? renderRows() : React.createElement(Tbody,
|
|
80
|
+
React.createElement(Tr, null, columns.map((col, i) => renderColumnHeader(col, i))),
|
|
81
|
+
subColumns?.length ? (React.createElement(Tr, null, subColumns.map((col, i) => renderColumnHeader(col, columns.length + i, true)))) : null),
|
|
82
|
+
disableRowRenderSupport ? renderRows() : React.createElement(Tbody, { ...tbodyProps }, renderRows()),
|
|
90
83
|
footerRow && footerRow(page)));
|
|
91
84
|
return (React.createElement(React.Fragment, null,
|
|
92
85
|
(toolbarContent || showPagination) && (React.createElement(Toolbar, { inset: { default: 'insetNone' }, className: "pf-v6-u-w-100", customLabelGroupContent: onClearFilters ? undefined : React.createElement(React.Fragment, null), clearAllFilters: onClearFilters },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableBase.js","sourceRoot":"","sources":["../../../components/table/TableBase.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TableBase.js","sourceRoot":"","sources":["../../../components/table/TableBase.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { Content } from '@patternfly/react-core';
|
|
3
3
|
import MarkdownView from '../../components/MarkdownView';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var descriptionNode;
|
|
4
|
+
const TableRowTitleDescription = ({ title, description,
|
|
5
|
+
// resource,
|
|
6
|
+
subtitle, descriptionAsMarkdown, label, }) => {
|
|
7
|
+
let descriptionNode;
|
|
9
8
|
if (description) {
|
|
10
9
|
descriptionNode = descriptionAsMarkdown ? (React.createElement(MarkdownView, { conciseDisplay: true, markdown: description })) : (React.createElement(Content, { component: "p", "data-testid": "table-row-title-description", style: { color: 'var(--pf-v6-global--Color--200)' } }, description));
|
|
11
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableRowTitleDescription.js","sourceRoot":"","sources":["../../../components/table/TableRowTitleDescription.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAWrD,
|
|
1
|
+
{"version":3,"file":"TableRowTitleDescription.js","sourceRoot":"","sources":["../../../components/table/TableRowTitleDescription.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAWrD,MAAM,wBAAwB,GAA4C,CAAC,EACzE,KAAK,EACL,WAAW;AACX,YAAY;AACZ,QAAQ,EACR,qBAAqB,EACrB,KAAK,GACN,EAAE,EAAE;IACH,IAAI,eAAgC,CAAC;IACrC,IAAI,WAAW,EAAE,CAAC;QAChB,eAAe,GAAG,qBAAqB,CAAC,CAAC,CAAC,CACxC,oBAAC,YAAY,IAAC,cAAc,QAAC,QAAQ,EAAE,WAAW,GAAI,CACvD,CAAC,CAAC,CAAC,CACF,oBAAC,OAAO,IACN,SAAS,EAAC,GAAG,iBACD,6BAA6B,EACzC,KAAK,EAAE,EAAE,KAAK,EAAE,iCAAiC,EAAE,IAElD,WAAW,CACJ,CACX,CAAC;IACJ,CAAC;IAED,OAAO,CACL;QACE,0CAAe,iBAAiB,IAE7B,KAAK,CACJ;QACH,QAAQ;QACR,eAAe;QACf,KAAK,CACL,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { act } from 'react';
|
|
2
2
|
import { testHook } from '../../../__tests__/unit/testUtils/hooks';
|
|
3
3
|
import { useCheckboxTable } from '../../../components/table';
|
|
4
|
-
describe('useCheckboxTable',
|
|
5
|
-
it('should select/unselect all',
|
|
6
|
-
|
|
7
|
-
act(
|
|
4
|
+
describe('useCheckboxTable', () => {
|
|
5
|
+
it('should select/unselect all', () => {
|
|
6
|
+
const renderResult = testHook(useCheckboxTable)(['a', 'b', 'c']);
|
|
7
|
+
act(() => {
|
|
8
8
|
renderResult.result.current.tableProps.selectAll.onSelect(true);
|
|
9
9
|
});
|
|
10
10
|
expect(renderResult.result.current.selections).toStrictEqual(['a', 'b', 'c']);
|
|
11
11
|
expect(renderResult.result.current.tableProps.selectAll.selected).toBe(true);
|
|
12
|
-
act(
|
|
12
|
+
act(() => {
|
|
13
13
|
renderResult.result.current.tableProps.selectAll.onSelect(false);
|
|
14
14
|
});
|
|
15
15
|
expect(renderResult.result.current.selections).toStrictEqual([]);
|
|
16
16
|
expect(renderResult.result.current.tableProps.selectAll.selected).toBe(false);
|
|
17
17
|
});
|
|
18
|
-
it('should select/unselect ids',
|
|
19
|
-
|
|
20
|
-
act(
|
|
18
|
+
it('should select/unselect ids', () => {
|
|
19
|
+
const renderResult = testHook(useCheckboxTable)(['a', 'b', 'c']);
|
|
20
|
+
act(() => {
|
|
21
21
|
renderResult.result.current.toggleSelection('a');
|
|
22
22
|
renderResult.result.current.toggleSelection('b');
|
|
23
23
|
});
|
|
@@ -25,7 +25,7 @@ describe('useCheckboxTable', function () {
|
|
|
25
25
|
expect(renderResult.result.current.isSelected('a')).toBe(true);
|
|
26
26
|
expect(renderResult.result.current.isSelected('b')).toBe(true);
|
|
27
27
|
expect(renderResult.result.current.isSelected('c')).toBe(false);
|
|
28
|
-
act(
|
|
28
|
+
act(() => {
|
|
29
29
|
renderResult.result.current.toggleSelection('a');
|
|
30
30
|
});
|
|
31
31
|
expect(renderResult.result.current.selections).toStrictEqual(['b']);
|
|
@@ -33,9 +33,9 @@ describe('useCheckboxTable', function () {
|
|
|
33
33
|
expect(renderResult.result.current.isSelected('b')).toBe(true);
|
|
34
34
|
expect(renderResult.result.current.isSelected('c')).toBe(false);
|
|
35
35
|
});
|
|
36
|
-
it('should remove selected ids that no longer exist',
|
|
37
|
-
|
|
38
|
-
act(
|
|
36
|
+
it('should remove selected ids that no longer exist', () => {
|
|
37
|
+
const renderResult = testHook(useCheckboxTable)(['a', 'b', 'c']);
|
|
38
|
+
act(() => {
|
|
39
39
|
renderResult.result.current.tableProps.selectAll.onSelect(true);
|
|
40
40
|
});
|
|
41
41
|
renderResult.rerender(['c']);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCheckboxTable.spec.js","sourceRoot":"","sources":["../../../../components/table/__tests__/useCheckboxTable.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,QAAQ,CAAC,kBAAkB,EAAE;
|
|
1
|
+
{"version":3,"file":"useCheckboxTable.spec.js","sourceRoot":"","sources":["../../../../components/table/__tests__/useCheckboxTable.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
1
|
+
export const CHECKBOX_FIELD_ID = 'checkbox';
|
|
2
|
+
export const KEBAB_FIELD_ID = 'kebab';
|
|
3
|
+
export const EXPAND_FIELD_ID = 'expand';
|
|
4
|
+
export const checkboxTableColumn = () => ({
|
|
5
5
|
label: '',
|
|
6
6
|
field: CHECKBOX_FIELD_ID,
|
|
7
7
|
sortable: false,
|
|
8
|
-
});
|
|
9
|
-
export
|
|
8
|
+
});
|
|
9
|
+
export const kebabTableColumn = () => ({
|
|
10
10
|
label: '',
|
|
11
11
|
field: KEBAB_FIELD_ID,
|
|
12
12
|
sortable: false,
|
|
13
|
-
});
|
|
14
|
-
export
|
|
13
|
+
});
|
|
14
|
+
export const expandTableColumn = () => ({
|
|
15
15
|
label: '',
|
|
16
16
|
field: EXPAND_FIELD_ID,
|
|
17
17
|
sortable: false,
|
|
18
|
-
});
|
|
18
|
+
});
|
|
19
19
|
//# sourceMappingURL=const.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../components/table/const.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../components/table/const.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAC5C,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AACtC,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC;AAExC,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAA0B,EAAE,CAAC,CAAC;IAC/D,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,iBAAiB;IACxB,QAAQ,EAAE,KAAK;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAA0B,EAAE,CAAC,CAAC;IAC5D,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,cAAc;IACrB,QAAQ,EAAE,KAAK;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAA0B,EAAE,CAAC,CAAC;IAC7D,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,eAAe;IACtB,QAAQ,EAAE,KAAK;CAChB,CAAC,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { __read } from "tslib";
|
|
2
1
|
import * as React from 'react';
|
|
3
2
|
import { useCheckboxTableBase } from '../../components/table';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
return useCheckboxTableBase(dataIds, selectedIds, setSelectedIds, React.useCallback(
|
|
3
|
+
const useCheckboxTable = (dataIds, defaultSelectedIds, persistSelections) => {
|
|
4
|
+
const [selectedIds, setSelectedIds] = React.useState(defaultSelectedIds ?? []);
|
|
5
|
+
return useCheckboxTableBase(dataIds, selectedIds, setSelectedIds, React.useCallback((d) => d, []), { persistSelections });
|
|
7
6
|
};
|
|
8
7
|
export default useCheckboxTable;
|
|
9
8
|
//# sourceMappingURL=useCheckboxTable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCheckboxTable.js","sourceRoot":"","sources":["../../../components/table/useCheckboxTable.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useCheckboxTable.js","sourceRoot":"","sources":["../../../components/table/useCheckboxTable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAW1D,MAAM,gBAAgB,GAAG,CACvB,OAAiB,EACjB,kBAA6B,EAC7B,iBAA2B,EACT,EAAE;IACpB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAW,kBAAkB,IAAI,EAAE,CAAC,CAAC;IAEzF,OAAO,oBAAoB,CACzB,OAAO,EACP,WAAW,EACX,cAAc,EACd,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAC/B,EAAE,iBAAiB,EAAE,CACtB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import { __assign, __read, __spreadArray } from "tslib";
|
|
2
1
|
import * as React from 'react';
|
|
3
2
|
import { intersection, xor } from 'lodash-es';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
const useCheckboxTableBase = (data, selectedData, setSelectedData, dataMappingHelper, options) => {
|
|
4
|
+
const dataIds = React.useMemo(() => data.map(dataMappingHelper), [data, dataMappingHelper]);
|
|
5
|
+
const [disabledData, setDisabledData] = React.useState([]);
|
|
6
|
+
const selectedDataIds = React.useMemo(() => selectedData.map(dataMappingHelper), [selectedData, dataMappingHelper]);
|
|
8
7
|
// remove selected ids that are no longer present in the provided dataIds
|
|
9
|
-
React.useEffect(
|
|
10
|
-
if (options
|
|
8
|
+
React.useEffect(() => {
|
|
9
|
+
if (options?.persistSelections) {
|
|
11
10
|
return;
|
|
12
11
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
.map(
|
|
16
|
-
.filter(
|
|
12
|
+
const newSelectedIds = intersection(selectedDataIds, dataIds);
|
|
13
|
+
const newSelectedData = newSelectedIds
|
|
14
|
+
.map((id) => data.find((d) => dataMappingHelper(d) === id))
|
|
15
|
+
.filter((v) => !!v);
|
|
17
16
|
if (selectedData.length !== newSelectedData.length) {
|
|
18
17
|
setSelectedData(newSelectedData);
|
|
19
18
|
}
|
|
@@ -21,44 +20,44 @@ var useCheckboxTableBase = function (data, selectedData, setSelectedData, dataMa
|
|
|
21
20
|
data,
|
|
22
21
|
dataIds,
|
|
23
22
|
dataMappingHelper,
|
|
24
|
-
options
|
|
23
|
+
options?.persistSelections,
|
|
25
24
|
selectedData,
|
|
26
25
|
selectedDataIds,
|
|
27
26
|
setSelectedData,
|
|
28
27
|
]);
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
: prevData.filter(function (d) { return dataMappingHelper(d) !== dataMappingHelper(item); });
|
|
36
|
-
});
|
|
37
|
-
}, [dataMappingHelper]);
|
|
38
|
-
return React.useMemo(function () {
|
|
28
|
+
const disableCheck = React.useCallback((item, disabled) => setDisabledData((prevData) => disabled
|
|
29
|
+
? prevData.some((d) => dataMappingHelper(d) === dataMappingHelper(item))
|
|
30
|
+
? prevData
|
|
31
|
+
: [...prevData, item]
|
|
32
|
+
: prevData.filter((d) => dataMappingHelper(d) !== dataMappingHelper(item))), [dataMappingHelper]);
|
|
33
|
+
return React.useMemo(() => {
|
|
39
34
|
// Header is selected if all selections and all ids are equal
|
|
40
35
|
// This will allow for checking of the header to "reset" to provided ids during a trim/filter
|
|
41
|
-
|
|
42
|
-
|
|
36
|
+
const checkable = data.filter((d) => !disabledData.some((item) => dataMappingHelper(item) === dataMappingHelper(d)));
|
|
37
|
+
const headerSelected = selectedDataIds.length > 0 &&
|
|
43
38
|
xor(selectedDataIds, checkable.map(dataMappingHelper)).length === 0;
|
|
44
|
-
|
|
39
|
+
const allDisabled = selectedData.length === 0 && disabledData.length === data.length;
|
|
45
40
|
return {
|
|
46
41
|
selections: selectedData,
|
|
47
42
|
setSelections: setSelectedData,
|
|
48
43
|
tableProps: {
|
|
49
|
-
selectAll:
|
|
44
|
+
selectAll: {
|
|
45
|
+
disabled: allDisabled,
|
|
46
|
+
tooltip: allDisabled ? 'No selectable rows' : undefined,
|
|
47
|
+
onSelect: (value) => {
|
|
50
48
|
setSelectedData(value ? checkable : []);
|
|
51
|
-
},
|
|
49
|
+
},
|
|
50
|
+
selected: headerSelected,
|
|
51
|
+
...options?.selectAll,
|
|
52
|
+
},
|
|
52
53
|
},
|
|
53
|
-
disableCheck
|
|
54
|
-
isSelected:
|
|
55
|
-
toggleSelection:
|
|
56
|
-
|
|
57
|
-
setSelectedData(
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
: __spreadArray(__spreadArray([], __read(prevData), false), [selection], false);
|
|
61
|
-
});
|
|
54
|
+
disableCheck,
|
|
55
|
+
isSelected: (selection) => selectedDataIds.includes(dataMappingHelper(selection)),
|
|
56
|
+
toggleSelection: (selection) => {
|
|
57
|
+
const id = dataMappingHelper(selection);
|
|
58
|
+
setSelectedData((prevData) => prevData.map(dataMappingHelper).includes(id)
|
|
59
|
+
? prevData.filter((currentSelectedData) => dataMappingHelper(currentSelectedData) !== id)
|
|
60
|
+
: [...prevData, selection]);
|
|
62
61
|
},
|
|
63
62
|
};
|
|
64
63
|
}, [
|
|
@@ -68,7 +67,7 @@ var useCheckboxTableBase = function (data, selectedData, setSelectedData, dataMa
|
|
|
68
67
|
selectedData,
|
|
69
68
|
disabledData,
|
|
70
69
|
setSelectedData,
|
|
71
|
-
options
|
|
70
|
+
options?.selectAll,
|
|
72
71
|
disableCheck,
|
|
73
72
|
]);
|
|
74
73
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCheckboxTableBase.js","sourceRoot":"","sources":["../../../components/table/useCheckboxTableBase.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useCheckboxTableBase.js","sourceRoot":"","sources":["../../../components/table/useCheckboxTableBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +1,27 @@
|
|
|
1
|
-
import { __assign, __read, __rest } from "tslib";
|
|
2
1
|
import * as React from 'react';
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
: undefined;
|
|
27
|
-
};
|
|
28
|
-
};
|
|
2
|
+
export const getTableColumnSort = ({ columns, subColumns, sortField, setSortField, ...sortProps }) => getTableColumnSortByIndex({
|
|
3
|
+
columns,
|
|
4
|
+
subColumns,
|
|
5
|
+
sortIndex: columns.findIndex((c) => c.field === sortField),
|
|
6
|
+
setSortIndex: (index) => setSortField(String(columns[index].field)),
|
|
7
|
+
...sortProps,
|
|
8
|
+
});
|
|
9
|
+
const getTableColumnSortByIndex = ({ columns, subColumns, sortIndex, sortDirection, setSortIndex, setSortDirection, }) => (columnIndex) => (columnIndex < columns.length
|
|
10
|
+
? columns[columnIndex]
|
|
11
|
+
: subColumns?.[columnIndex - columns.length])?.sortable
|
|
12
|
+
? {
|
|
13
|
+
sortBy: {
|
|
14
|
+
index: sortIndex,
|
|
15
|
+
direction: sortDirection,
|
|
16
|
+
defaultDirection: 'asc',
|
|
17
|
+
},
|
|
18
|
+
onSort: (_event, index, direction) => {
|
|
19
|
+
setSortIndex(index);
|
|
20
|
+
setSortDirection(direction);
|
|
21
|
+
},
|
|
22
|
+
columnIndex,
|
|
23
|
+
}
|
|
24
|
+
: undefined;
|
|
29
25
|
/**
|
|
30
26
|
* Using PF Composable Tables, this utility will help with handling sort logic.
|
|
31
27
|
*
|
|
@@ -34,19 +30,19 @@ var getTableColumnSortByIndex = function (_a) {
|
|
|
34
30
|
*
|
|
35
31
|
* @see https://www.patternfly.org/v4/components/table
|
|
36
32
|
*/
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
33
|
+
const useTableColumnSort = (columns, subColumns, defaultSortColIndex) => {
|
|
34
|
+
const [activeSortIndex, setActiveSortIndex] = React.useState(defaultSortColIndex);
|
|
35
|
+
const [activeSortDirection, setActiveSortDirection] = React.useState('asc');
|
|
40
36
|
return {
|
|
41
|
-
transformData:
|
|
37
|
+
transformData: (data) => {
|
|
42
38
|
if (activeSortIndex === undefined) {
|
|
43
39
|
return data;
|
|
44
40
|
}
|
|
45
|
-
return data.toSorted(
|
|
46
|
-
|
|
41
|
+
return data.toSorted((a, b) => {
|
|
42
|
+
const columnField = activeSortIndex < columns.length
|
|
47
43
|
? columns[activeSortIndex]
|
|
48
44
|
: subColumns[activeSortIndex - columns.length];
|
|
49
|
-
|
|
45
|
+
const compute = () => {
|
|
50
46
|
if (typeof columnField.sortable === 'function') {
|
|
51
47
|
return columnField.sortable(a, b, columnField.field);
|
|
52
48
|
}
|
|
@@ -55,9 +51,9 @@ var useTableColumnSort = function (columns, subColumns, defaultSortColIndex) {
|
|
|
55
51
|
return 0;
|
|
56
52
|
}
|
|
57
53
|
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
58
|
-
|
|
54
|
+
const dataValueA = a[columnField.field];
|
|
59
55
|
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
60
|
-
|
|
56
|
+
const dataValueB = b[columnField.field];
|
|
61
57
|
if (typeof dataValueA === 'string' && typeof dataValueB === 'string') {
|
|
62
58
|
return dataValueA.localeCompare(dataValueB);
|
|
63
59
|
}
|
|
@@ -70,8 +66,8 @@ var useTableColumnSort = function (columns, subColumns, defaultSortColIndex) {
|
|
|
70
66
|
});
|
|
71
67
|
},
|
|
72
68
|
getColumnSort: getTableColumnSortByIndex({
|
|
73
|
-
columns
|
|
74
|
-
subColumns
|
|
69
|
+
columns,
|
|
70
|
+
subColumns,
|
|
75
71
|
sortDirection: activeSortDirection,
|
|
76
72
|
setSortDirection: setActiveSortDirection,
|
|
77
73
|
sortIndex: activeSortIndex,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableColumnSort.js","sourceRoot":"","sources":["../../../components/table/useTableColumnSort.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useTableColumnSort.js","sourceRoot":"","sources":["../../../components/table/useTableColumnSort.ts"],"names":[],"mappings":"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"}
|