@ansible/ansible-ui-framework 0.0.469 → 0.0.471
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/PageActions/PageActions.d.ts +1 -0
- package/cjs/PageActions/PageActions.js +1 -1
- package/cjs/PageActions/PageDropdownAction.d.ts +1 -0
- package/cjs/PageActions/PageDropdownAction.js +4 -0
- package/cjs/PageTable/PageTable.d.ts +2 -0
- package/cjs/PageTable/PageTable.js +70 -65
- package/cjs/PageTable/PageToolbar.d.ts +4 -0
- package/cjs/PageTable/PageToolbar.js +15 -2
- package/cjs/useSelectDialog.js +1 -1
- package/cjs/useSelectMultipleDialog.js +1 -1
- package/package.json +1 -1
@@ -23,5 +23,6 @@ export declare function PageActions<T extends object>(props: {
|
|
23
23
|
position?: DropdownPosition;
|
24
24
|
/** Indicates if only to show the icon when not collapsed */
|
25
25
|
iconOnly?: boolean;
|
26
|
+
onOpen?: (open: boolean) => void;
|
26
27
|
}): JSX.Element;
|
27
28
|
export declare function isHiddenAction<T extends object>(action: IPageAction<T>, selectedItem: T | undefined): boolean;
|
@@ -43,7 +43,7 @@ function PageActions(props) {
|
|
43
43
|
return visibleActions;
|
44
44
|
return (_a = visibleActions === null || visibleActions === void 0 ? void 0 : visibleActions.filter(function (action) { return !isPinnedAction(action); })) !== null && _a !== void 0 ? _a : [];
|
45
45
|
}, [collapseButtons, visibleActions]);
|
46
|
-
return ((0, jsx_runtime_1.jsxs)(react_core_1.Split, __assign({ hasGutter: (!iconOnly && selectedItem !== undefined) || (selectedItems && selectedItems.length > 0) }, { children: [pinnedActions !== undefined && pinnedActions.length > 0 && ((0, jsx_runtime_1.jsx)(PagePinnedActions_1.PagePinnedActions, __assign({}, props, { actions: pinnedActions }))), dropdownActions.length > 0 && ((0, jsx_runtime_1.jsx)(react_core_1.SplitItem, __assign({ isFilled: true, style: { display: 'flex', justifyContent: 'flex-end' } }, { children: (0, jsx_runtime_1.jsx)(PageDropdownAction_1.PageDropdownAction, __assign({}, props, { actions: dropdownActions })) })))] })));
|
46
|
+
return ((0, jsx_runtime_1.jsxs)(react_core_1.Split, __assign({ hasGutter: (!iconOnly && selectedItem !== undefined) || (selectedItems && selectedItems.length > 0) }, { children: [pinnedActions !== undefined && pinnedActions.length > 0 && ((0, jsx_runtime_1.jsx)(PagePinnedActions_1.PagePinnedActions, __assign({}, props, { actions: pinnedActions }))), dropdownActions.length > 0 && ((0, jsx_runtime_1.jsx)(react_core_1.SplitItem, __assign({ isFilled: true, style: { display: 'flex', justifyContent: 'flex-end' } }, { children: (0, jsx_runtime_1.jsx)(PageDropdownAction_1.PageDropdownAction, __assign({}, props, { actions: dropdownActions, onOpen: props.onOpen })) })))] })));
|
47
47
|
}
|
48
48
|
exports.PageActions = PageActions;
|
49
49
|
function isPinnedAction(action) {
|
@@ -11,5 +11,6 @@ export declare function PageDropdownAction<T extends object>(props: {
|
|
11
11
|
selectedItem?: T;
|
12
12
|
position?: DropdownPosition;
|
13
13
|
iconOnly?: boolean;
|
14
|
+
onOpen?: (open: boolean) => void;
|
14
15
|
}): JSX.Element;
|
15
16
|
export declare function filterActionSeperators<T extends object>(actions: IPageAction<T>[]): IPageAction<T>[];
|
@@ -53,6 +53,10 @@ function PageDropdownAction(props) {
|
|
53
53
|
var hasIcons = (0, react_1.useMemo)(function () {
|
54
54
|
return actions.find(function (action) { return action.type !== PageActionType_1.PageActionType.seperator && action.icon !== undefined; }) !== undefined;
|
55
55
|
}, [actions]);
|
56
|
+
(0, react_1.useEffect)(function () {
|
57
|
+
var _a;
|
58
|
+
(_a = props.onOpen) === null || _a === void 0 ? void 0 : _a.call(props, dropdownOpen);
|
59
|
+
}, [dropdownOpen, props]);
|
56
60
|
if (actions.length === 0)
|
57
61
|
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
|
58
62
|
var Icon = icon;
|
@@ -42,9 +42,11 @@ export type PageTableProps<T extends object> = {
|
|
42
42
|
disableTableView?: boolean;
|
43
43
|
disableListView?: boolean;
|
44
44
|
disableCardView?: boolean;
|
45
|
+
disableColumnManagement?: boolean;
|
45
46
|
defaultTableView?: PageTableViewType;
|
46
47
|
disableBodyPadding?: boolean;
|
47
48
|
defaultSubtitle?: ReactNode;
|
49
|
+
expandedRow?: (item: T) => ReactNode;
|
48
50
|
};
|
49
51
|
/**
|
50
52
|
* The PageTable component is used for adding a table to a page.
|
@@ -72,11 +72,12 @@ function PageTable(props) {
|
|
72
72
|
// const { disableBodyPadding } = props
|
73
73
|
var toolbarActions = props.toolbarActions, filters = props.filters, error = props.error, itemCount = props.itemCount;
|
74
74
|
var _b = (0, PageColumnModal_1.useColumnModal)(props.tableColumns), openColumnModal = _b.openColumnModal, columnModal = _b.columnModal, managedColumns = _b.managedColumns;
|
75
|
-
var showSelect =
|
76
|
-
|
75
|
+
var showSelect = props.showSelect ||
|
76
|
+
(toolbarActions === null || toolbarActions === void 0 ? void 0 : toolbarActions.find(function (toolbarAction) { return PageActionType_1.PageActionType.bulk === toolbarAction.type; })) !==
|
77
|
+
undefined;
|
77
78
|
var hasTableViewType = !props.disableTableView;
|
78
79
|
var hasListViewType = !props.disableListView;
|
79
|
-
// const hasCardViewType = !props.disableCardView
|
80
|
+
// const hasCardViewType = !props.disableCardView;
|
80
81
|
var _c = __read((0, react_1.useState)(function () {
|
81
82
|
var _a;
|
82
83
|
return (_a = props.defaultTableView) !== null && _a !== void 0 ? _a : (hasTableViewType
|
@@ -110,7 +111,7 @@ function PageTable(props) {
|
|
110
111
|
}
|
111
112
|
exports.PageTable = PageTable;
|
112
113
|
function PageTableView(props) {
|
113
|
-
var tableColumns = props.tableColumns, pageItems = props.pageItems, selectItem = props.selectItem, unselectItem = props.unselectItem, isSelected = props.isSelected, keyFn = props.keyFn, rowActions = props.rowActions, toolbarActions = props.toolbarActions, itemCount = props.itemCount, perPage = props.perPage, clearAllFilters = props.clearAllFilters, onSelect = props.onSelect, unselectAll = props.unselectAll;
|
114
|
+
var tableColumns = props.tableColumns, pageItems = props.pageItems, selectItem = props.selectItem, unselectItem = props.unselectItem, isSelected = props.isSelected, keyFn = props.keyFn, rowActions = props.rowActions, toolbarActions = props.toolbarActions, itemCount = props.itemCount, perPage = props.perPage, clearAllFilters = props.clearAllFilters, onSelect = props.onSelect, unselectAll = props.unselectAll, expandedRow = props.expandedRow;
|
114
115
|
var t = props.t;
|
115
116
|
t = t ? t : function (t) { return t; };
|
116
117
|
var showSelect = props.showSelect ||
|
@@ -141,10 +142,10 @@ function PageTableView(props) {
|
|
141
142
|
? new Array(perPage).fill(0).map(function (_, index) { return ((0, jsx_runtime_1.jsx)(react_table_1.Tr, { children: (0, jsx_runtime_1.jsx)(react_table_1.Td, { children: (0, jsx_runtime_1.jsx)("div", __assign({ style: { paddingTop: 5, paddingBottom: 5 } }, { children: (0, jsx_runtime_1.jsx)(react_core_1.Skeleton, { height: "27px" }) })) }) }, index)); })
|
142
143
|
: pageItems === undefined
|
143
144
|
? new Array(Math.min(perPage, itemCount)).fill(0).map(function (_, index) { return ((0, jsx_runtime_1.jsxs)(react_table_1.Tr, { children: [showSelect && (0, jsx_runtime_1.jsx)(react_table_1.Td, {}), (0, jsx_runtime_1.jsx)(react_table_1.Td, __assign({ colSpan: tableColumns.length }, { children: (0, jsx_runtime_1.jsx)("div", __assign({ style: { paddingTop: 5, paddingBottom: 5 } }, { children: (0, jsx_runtime_1.jsx)(react_core_1.Skeleton, { height: "27px" }) })) }))] }, index)); })
|
144
|
-
: pageItems === null || pageItems === void 0 ? void 0 : pageItems.map(function (item, rowIndex) { return ((0, jsx_runtime_1.jsx)(TableRow, { columns: tableColumns, item: item, isItemSelected: isSelected === null || isSelected === void 0 ? void 0 : isSelected(item), selectItem: selectItem, unselectItem: unselectItem, rowActions: rowActions, rowIndex: rowIndex, showSelect: showSelect, scrollLeft: scroll.left > 0, scrollRight: scroll.right > 1, unselectAll: unselectAll, onSelect: onSelect }, keyFn ? keyFn(item) : rowIndex)); }) })] })), itemCount === 0 && ((0, jsx_runtime_1.jsxs)(react_core_1.EmptyState, __assign({ style: { paddingTop: 48 } }, { children: [(0, jsx_runtime_1.jsx)(react_core_1.EmptyStateIcon, { icon: react_icons_1.SearchIcon }), (0, jsx_runtime_1.jsx)(react_core_1.Title, __assign({ headingLevel: "h2", size: "lg" }, { children: t('No results found') })), (0, jsx_runtime_1.jsx)(react_core_1.EmptyStateBody, { children: t('No results match this filter criteria. Adjust your filters and try again.') }), clearAllFilters && ((0, jsx_runtime_1.jsx)(react_core_1.EmptyStateSecondaryActions, { children: (0, jsx_runtime_1.jsx)(react_core_1.Button, __assign({ variant: "link", onClick: clearAllFilters }, { children: t('Clear all filters') })) }))] })))] })));
|
145
|
+
: pageItems === null || pageItems === void 0 ? void 0 : pageItems.map(function (item, rowIndex) { return ((0, jsx_runtime_1.jsx)(TableRow, { columns: tableColumns, item: item, isItemSelected: isSelected === null || isSelected === void 0 ? void 0 : isSelected(item), selectItem: selectItem, unselectItem: unselectItem, rowActions: rowActions, rowIndex: rowIndex, showSelect: showSelect, scrollLeft: scroll.left > 0, scrollRight: scroll.right > 1, unselectAll: unselectAll, onSelect: onSelect, expandedRow: expandedRow }, keyFn ? keyFn(item) : rowIndex)); }) })] })), itemCount === 0 && ((0, jsx_runtime_1.jsxs)(react_core_1.EmptyState, __assign({ style: { paddingTop: 48 } }, { children: [(0, jsx_runtime_1.jsx)(react_core_1.EmptyStateIcon, { icon: react_icons_1.SearchIcon }), (0, jsx_runtime_1.jsx)(react_core_1.Title, __assign({ headingLevel: "h2", size: "lg" }, { children: t('No results found') })), (0, jsx_runtime_1.jsx)(react_core_1.EmptyStateBody, { children: t('No results match this filter criteria. Adjust your filters and try again.') }), clearAllFilters && ((0, jsx_runtime_1.jsx)(react_core_1.EmptyStateSecondaryActions, { children: (0, jsx_runtime_1.jsx)(react_core_1.Button, __assign({ variant: "link", onClick: clearAllFilters }, { children: t('Clear all filters') })) }))] })))] })));
|
145
146
|
}
|
146
147
|
function TableHead(props) {
|
147
|
-
var columns = props.tableColumns, itemActions = props.rowActions, sort = props.sort, setSort = props.setSort, sortDirection = props.sortDirection, setSortDirection = props.setSortDirection, showSelect = props.showSelect, onSelect = props.onSelect;
|
148
|
+
var columns = props.tableColumns, itemActions = props.rowActions, sort = props.sort, setSort = props.setSort, sortDirection = props.sortDirection, setSortDirection = props.setSortDirection, showSelect = props.showSelect, onSelect = props.onSelect, expandedRow = props.expandedRow;
|
148
149
|
var settings = (0, Settings_1.useSettings)();
|
149
150
|
var getColumnSort = (0, react_1.useCallback)(function (columnIndex, column) {
|
150
151
|
if (!column.sort)
|
@@ -164,78 +165,82 @@ function TableHead(props) {
|
|
164
165
|
columnIndex: columnIndex,
|
165
166
|
};
|
166
167
|
}, [setSort, setSortDirection, sort, sortDirection]);
|
167
|
-
return ((0, jsx_runtime_1.jsx)(react_table_1.Thead, { children: (0, jsx_runtime_1.jsxs)(react_table_1.Tr,
|
168
|
-
|
169
|
-
|
170
|
-
}, stickyMinWidth: "45px", hasRightBorder: props.scrollLeft }, { children: "\u00A0" }))), columns
|
168
|
+
return ((0, jsx_runtime_1.jsx)(react_table_1.Thead, { children: (0, jsx_runtime_1.jsxs)(react_table_1.Tr, __assign({ style: {
|
169
|
+
backgroundColor: settings.theme === 'dark' ? 'var(--pf-global--BackgroundColor--300)' : undefined,
|
170
|
+
} }, { children: [expandedRow && (0, jsx_runtime_1.jsx)(react_table_1.Th, { style: { padding: 0, backgroundColor: 'inherit' } }), (showSelect || onSelect) && ((0, jsx_runtime_1.jsx)(react_table_1.Th, __assign({ isStickyColumn: true, stickyMinWidth: "0px", hasRightBorder: props.scrollLeft, style: { backgroundColor: 'inherit' } }, { children: "\u00A0" }))), columns
|
171
171
|
.filter(function (column) { return column.enabled !== false; })
|
172
172
|
.map(function (column, index) {
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
}
|
182
|
-
}), itemActions !== undefined && ((0, jsx_runtime_1.jsx)(react_table_1.
|
183
|
-
paddingRight: 8,
|
184
|
-
paddingLeft: 0,
|
185
|
-
width: '0%',
|
173
|
+
return ((0, jsx_runtime_1.jsx)(react_table_1.Th, __assign({ sort: getColumnSort(index, column), style: {
|
174
|
+
minWidth: column.minWidth === 0
|
175
|
+
? '1%'
|
176
|
+
: column.minWidth !== undefined
|
177
|
+
? column.minWidth
|
178
|
+
: undefined,
|
179
|
+
maxWidth: column.maxWidth !== undefined ? column.maxWidth : undefined,
|
180
|
+
backgroundColor: 'inherit',
|
181
|
+
} }, { children: column.header }), column.header));
|
182
|
+
}), itemActions !== undefined && ((0, jsx_runtime_1.jsx)(react_table_1.Td, __assign({ isActionCell: true, isStickyColumn: true, stickyMinWidth: "0px", style: {
|
186
183
|
right: 0,
|
187
|
-
|
188
|
-
|
184
|
+
padding: 0,
|
185
|
+
paddingRight: 0,
|
186
|
+
backgroundColor: 'inherit',
|
187
|
+
zIndex: 302,
|
188
|
+
}, className: props.scrollRight ? 'pf-m-border-left' : undefined }, { children: "\u00A0" })))] })) }));
|
189
189
|
}
|
190
190
|
function TableRow(props) {
|
191
|
-
var columns = props.columns, selectItem = props.selectItem, unselectItem = props.unselectItem, unselectAll = props.unselectAll, isItemSelected = props.isItemSelected, item = props.item, rowActions = props.rowActions, rowIndex = props.rowIndex, showSelect = props.showSelect, onSelect = props.onSelect;
|
192
|
-
var
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
191
|
+
var columns = props.columns, selectItem = props.selectItem, unselectItem = props.unselectItem, unselectAll = props.unselectAll, isItemSelected = props.isItemSelected, item = props.item, rowActions = props.rowActions, rowIndex = props.rowIndex, showSelect = props.showSelect, onSelect = props.onSelect, expandedRow = props.expandedRow;
|
192
|
+
var _a = __read((0, react_1.useState)(false), 2), expanded = _a[0], setExpanded = _a[1];
|
193
|
+
var settings = (0, Settings_1.useSettings)();
|
194
|
+
var expandedContent = expandedRow === null || expandedRow === void 0 ? void 0 : expandedRow(item);
|
195
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(react_table_1.Tr, __assign({ className: isItemSelected ? 'selected' : undefined, isRowSelected: expanded, style: {
|
196
|
+
boxShadow: 'unset',
|
197
|
+
borderBottom: expanded ? 'unset' : undefined,
|
198
|
+
} }, { children: [expandedRow && ((0, jsx_runtime_1.jsx)(react_table_1.Td, { expand: expandedContent
|
199
|
+
? {
|
200
|
+
rowIndex: rowIndex,
|
201
|
+
isExpanded: expanded,
|
202
|
+
onToggle: function () { return setExpanded(function (expanded) { return !expanded; }); },
|
200
203
|
}
|
201
|
-
|
202
|
-
|
204
|
+
: undefined, style: { paddingLeft: expandedContent ? 8 : 4 } })), showSelect && ((0, jsx_runtime_1.jsx)(react_table_1.Th, { select: isItemSelected !== undefined
|
205
|
+
? {
|
206
|
+
onSelect: function (_event, isSelecting) {
|
207
|
+
if (isSelecting) {
|
208
|
+
selectItem === null || selectItem === void 0 ? void 0 : selectItem(item);
|
209
|
+
}
|
210
|
+
else {
|
211
|
+
unselectItem === null || unselectItem === void 0 ? void 0 : unselectItem(item);
|
212
|
+
}
|
213
|
+
},
|
214
|
+
isSelected: isItemSelected,
|
203
215
|
}
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
width: '0%',
|
219
|
-
paddingLeft: md ? undefined : 20,
|
220
|
-
position: 'sticky',
|
221
|
-
left: 0,
|
222
|
-
background: 'var(--pf-c-table__sticky-column--BackgroundColor)',
|
223
|
-
zIndex: 1,
|
224
|
-
} })), (0, jsx_runtime_1.jsx)(TableCells, { rowIndex: rowIndex, columns: columns, item: item, rowActions: rowActions, scrollLeft: props.scrollLeft, scrollRight: props.scrollRight })] })));
|
216
|
+
: undefined, isStickyColumn: true, stickyMinWidth: "0px", hasRightBorder: props.scrollLeft })), onSelect && ((0, jsx_runtime_1.jsx)(react_table_1.Td, { select: {
|
217
|
+
rowIndex: rowIndex,
|
218
|
+
onSelect: function () {
|
219
|
+
unselectAll === null || unselectAll === void 0 ? void 0 : unselectAll();
|
220
|
+
selectItem === null || selectItem === void 0 ? void 0 : selectItem(item);
|
221
|
+
onSelect === null || onSelect === void 0 ? void 0 : onSelect(item);
|
222
|
+
},
|
223
|
+
isSelected: isItemSelected !== null && isItemSelected !== void 0 ? isItemSelected : false,
|
224
|
+
variant: 'radio',
|
225
|
+
}, isStickyColumn: true, stickyMinWidth: "0px", hasRightBorder: props.scrollLeft })), (0, jsx_runtime_1.jsx)(TableCells, { columns: columns, item: item, rowActions: rowActions, scrollLeft: props.scrollLeft, scrollRight: props.scrollRight })] })), expandedRow && expanded && expandedContent && ((0, jsx_runtime_1.jsxs)(react_table_1.Tr, __assign({ className: isItemSelected ? 'selected' : undefined, isExpanded: expanded, style: { boxShadow: 'unset' } }, { children: [(0, jsx_runtime_1.jsx)(react_table_1.Td, {}), showSelect && ((0, jsx_runtime_1.jsx)(react_table_1.Th, { isStickyColumn: true, stickyMinWidth: "0px", hasRightBorder: props.scrollLeft })), onSelect && (0, jsx_runtime_1.jsx)(react_table_1.Td, { isStickyColumn: true, stickyMinWidth: "0px", hasRightBorder: props.scrollLeft }), (0, jsx_runtime_1.jsx)(react_table_1.Td, __assign({ colSpan: columns.filter(function (column) { return column.enabled !== false; }).length, style: { paddingBottom: settings.tableLayout === 'compact' ? 12 : 24, paddingTop: 0 } }, { children: (0, jsx_runtime_1.jsx)(react_table_1.CollapseColumn, { children: expandedContent }) })), rowActions !== undefined && rowActions.length > 0 && ((0, jsx_runtime_1.jsx)(react_table_1.Td, __assign({ isActionCell: true, isStickyColumn: true, stickyMinWidth: "0px", style: {
|
226
|
+
right: 0,
|
227
|
+
padding: 0,
|
228
|
+
paddingRight: 0,
|
229
|
+
}, className: props.scrollRight ? 'pf-m-border-left' : undefined }, { children: "\u00A0" })))] })))] }));
|
225
230
|
}
|
226
231
|
function TableCells(props) {
|
227
|
-
var columns = props.columns, item = props.item, rowActions = props.rowActions
|
232
|
+
var columns = props.columns, item = props.item, rowActions = props.rowActions;
|
233
|
+
var _a = __read((0, react_1.useState)(false), 2), actionsExpanded = _a[0], setActionsExpanded = _a[1];
|
228
234
|
return ((0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [columns
|
229
235
|
.filter(function (column) { return column.enabled !== false; })
|
230
236
|
.map(function (column) {
|
231
|
-
return ((0, jsx_runtime_1.jsx)(react_table_1.Td, __assign({ dataLabel: column.header, modifier: "nowrap" }, { children: (0, jsx_runtime_1.jsx)(TableColumnCell, { item: item, column: column }) }), column.header));
|
232
|
-
}), rowActions !== undefined && rowActions.length > 0 && ((0, jsx_runtime_1.jsx)(react_table_1.
|
233
|
-
zIndex: 100 - rowIndex,
|
234
|
-
paddingRight: 8,
|
235
|
-
paddingLeft: 8,
|
236
|
-
width: '0%',
|
237
|
+
return ((0, jsx_runtime_1.jsx)(react_table_1.Td, __assign({ dataLabel: column.header, modifier: "nowrap", style: { width: column.minWidth === 0 ? '0%' : undefined } }, { children: (0, jsx_runtime_1.jsx)(TableColumnCell, { item: item, column: column }) }), column.header));
|
238
|
+
}), rowActions !== undefined && rowActions.length > 0 && ((0, jsx_runtime_1.jsx)(react_table_1.Td, __assign({ isActionCell: true, isStickyColumn: true, stickyMinWidth: "0px", style: {
|
237
239
|
right: 0,
|
238
|
-
|
240
|
+
padding: 0,
|
241
|
+
paddingRight: 0,
|
242
|
+
zIndex: actionsExpanded ? 301 : undefined,
|
243
|
+
}, className: props.scrollRight ? 'pf-m-border-left' : undefined }, { children: (0, jsx_runtime_1.jsx)(PageActions_1.PageActions, { actions: rowActions, selectedItem: item, position: react_core_1.DropdownPosition.right, iconOnly: true, onOpen: setActionsExpanded }) })))] }));
|
239
244
|
}
|
240
245
|
var TableColumnSomething;
|
241
246
|
(function (TableColumnSomething) {
|
@@ -56,5 +56,9 @@ export type PagetableToolbarProps<T extends object> = {
|
|
56
56
|
showSelect?: boolean;
|
57
57
|
viewType: PageTableViewType;
|
58
58
|
setViewType: (viewType: PageTableViewType) => void;
|
59
|
+
disableTableView?: boolean;
|
60
|
+
disableListView?: boolean;
|
61
|
+
disableCardView?: boolean;
|
62
|
+
disableColumnManagement?: boolean;
|
59
63
|
};
|
60
64
|
export declare function PageTableToolbar<T extends object>(props: PagetableToolbarProps<T>): JSX.Element;
|
@@ -92,6 +92,13 @@ function PageTableToolbar(props) {
|
|
92
92
|
return toolbarFilters ? ((toolbarFilters === null || toolbarFilters === void 0 ? void 0 : toolbarFilters.length) > 0 ? toolbarFilters[0].key : '') : '';
|
93
93
|
}), 2), selectedFilter = _b[0], setSeletedFilter = _b[1];
|
94
94
|
var settings = (0, Settings_1.useSettings)();
|
95
|
+
var viewTypeCount = 0;
|
96
|
+
if (!props.disableTableView)
|
97
|
+
viewTypeCount++;
|
98
|
+
if (!props.disableCardView)
|
99
|
+
viewTypeCount++;
|
100
|
+
if (!props.disableListView)
|
101
|
+
viewTypeCount++;
|
95
102
|
if (!showToolbar) {
|
96
103
|
return (0, jsx_runtime_1.jsx)(react_1.Fragment, {});
|
97
104
|
}
|
@@ -159,7 +166,13 @@ function PageTableToolbar(props) {
|
|
159
166
|
return newState;
|
160
167
|
});
|
161
168
|
}, showToolbarItem: false }, { children: (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}) }), filter.label));
|
162
|
-
})] })) }))), (0, jsx_runtime_1.jsx)(react_core_1.ToolbarGroup, __assign({ variant: "button-group", style: { zIndex: 302 } }, { children: (0, jsx_runtime_1.jsx)(PageActions_1.PageActions, { actions: toolbarActions, selectedItems: selectedItems, wrapper: react_core_1.ToolbarItem }) })), (0, jsx_runtime_1.jsx)("div", { style: { flexGrow: 1 } }), (0, jsx_runtime_1.jsxs)(react_core_1.ToolbarGroup, __assign({ variant: "button-group", style: { zIndex: 302 } }, { children: [openColumnModal && viewType === 'table' && ((0, jsx_runtime_1.jsx)(react_core_1.ToolbarItem, { children: (0, jsx_runtime_1.jsx)(react_core_1.Tooltip, __assign({ content: 'Manage columns' }, { children: (0, jsx_runtime_1.jsx)(react_core_1.Button, { variant: "plain", icon: (0, jsx_runtime_1.jsx)(react_icons_1.ColumnsIcon, {}), onClick: openColumnModal }) })) })), (0, jsx_runtime_1.jsx)(react_core_1.ToolbarItem, { children: (0, jsx_runtime_1.jsx)(react_core_1.ToggleGroup, __assign({ "aria-label": "table view toggle" }, { children: [
|
169
|
+
})] })) }))), (0, jsx_runtime_1.jsx)(react_core_1.ToolbarGroup, __assign({ variant: "button-group", style: { zIndex: 302 } }, { children: (0, jsx_runtime_1.jsx)(PageActions_1.PageActions, { actions: toolbarActions, selectedItems: selectedItems, wrapper: react_core_1.ToolbarItem }) })), (0, jsx_runtime_1.jsx)("div", { style: { flexGrow: 1 } }), (0, jsx_runtime_1.jsxs)(react_core_1.ToolbarGroup, __assign({ variant: "button-group", style: { zIndex: 302 } }, { children: [!props.disableColumnManagement && openColumnModal && viewType === 'table' && ((0, jsx_runtime_1.jsx)(react_core_1.ToolbarItem, { children: (0, jsx_runtime_1.jsx)(react_core_1.Tooltip, __assign({ content: 'Manage columns' }, { children: (0, jsx_runtime_1.jsx)(react_core_1.Button, { variant: "plain", icon: (0, jsx_runtime_1.jsx)(react_icons_1.ColumnsIcon, {}), onClick: openColumnModal }) })) })), viewTypeCount > 1 && ((0, jsx_runtime_1.jsx)(react_core_1.ToolbarItem, { children: (0, jsx_runtime_1.jsx)(react_core_1.ToggleGroup, __assign({ "aria-label": "table view toggle" }, { children: [
|
170
|
+
!props.disableTableView && PageTableViewType_1.PageTableViewTypeE.Table,
|
171
|
+
!props.disableListView && PageTableViewType_1.PageTableViewTypeE.List,
|
172
|
+
!props.disableCardView && PageTableViewType_1.PageTableViewTypeE.Cards,
|
173
|
+
]
|
174
|
+
.filter(function (i) { return i; })
|
175
|
+
.map(function (vt) {
|
163
176
|
switch (vt) {
|
164
177
|
case PageTableViewType_1.PageTableViewTypeE.Cards:
|
165
178
|
return ((0, jsx_runtime_1.jsx)(react_core_1.Tooltip, __assign({ content: 'Card view', position: "top-end", enableFlip: false }, { children: (0, jsx_runtime_1.jsx)(react_core_1.ToggleGroupItem, { icon: (0, jsx_runtime_1.jsx)(react_icons_1.ThLargeIcon, {}), isSelected: viewType === PageTableViewType_1.PageTableViewTypeE.Cards, onClick: function () { return setViewType === null || setViewType === void 0 ? void 0 : setViewType(PageTableViewType_1.PageTableViewTypeE.Cards); }, "aria-label": "card view" }) }), vt));
|
@@ -168,7 +181,7 @@ function PageTableToolbar(props) {
|
|
168
181
|
case PageTableViewType_1.PageTableViewTypeE.Table:
|
169
182
|
return ((0, jsx_runtime_1.jsx)(react_core_1.Tooltip, __assign({ content: 'Table view', position: "top-end", enableFlip: false }, { children: (0, jsx_runtime_1.jsx)(react_core_1.ToggleGroupItem, { icon: (0, jsx_runtime_1.jsx)(react_icons_1.TableIcon, {}), isSelected: viewType === PageTableViewType_1.PageTableViewTypeE.Table, onClick: function () { return setViewType === null || setViewType === void 0 ? void 0 : setViewType(PageTableViewType_1.PageTableViewTypeE.Table); }, "aria-label": "table view" }) }), vt));
|
170
183
|
}
|
171
|
-
}) })) })] })), (0, jsx_runtime_1.jsx)(react_core_1.ToolbarItem, __assign({ visibility: { default: 'hidden', '2xl': 'visible' } }, { children: (0, jsx_runtime_1.jsx)(react_core_1.Pagination, { variant: react_core_1.PaginationVariant.top, isCompact: true, itemCount: itemCount, perPage: perPage, page: page, onSetPage: onSetPage, onPerPageSelect: onPerPageSelect, style: { marginTop: -8, marginBottom: -8 } }) }))] }) })));
|
184
|
+
}) })) }))] })), (0, jsx_runtime_1.jsx)(react_core_1.ToolbarItem, __assign({ visibility: { default: 'hidden', '2xl': 'visible' } }, { children: (0, jsx_runtime_1.jsx)(react_core_1.Pagination, { variant: react_core_1.PaginationVariant.top, isCompact: true, itemCount: itemCount, perPage: perPage, page: page, onSetPage: onSetPage, onPerPageSelect: onPerPageSelect, style: { marginTop: -8, marginBottom: -8 } }) }))] }) })));
|
172
185
|
}
|
173
186
|
exports.PageTableToolbar = PageTableToolbar;
|
174
187
|
function ToolbarFilterInput(props) {
|
package/cjs/useSelectDialog.js
CHANGED
@@ -76,6 +76,6 @@ function SelectDialog(props) {
|
|
76
76
|
flexDirection: 'column',
|
77
77
|
maxHeight: 400,
|
78
78
|
overflow: 'hidden',
|
79
|
-
} }, { children: (0, jsx_runtime_1.jsx)(PageTable_1.PageTable, __assign({ tableColumns: tableColumns, toolbarFilters: toolbarFilters, emptyStateTitle: "No organizations found", errorStateTitle: "Error loading organizations" }, view, { onSelect: function () { return null; } })) })) }))] })));
|
79
|
+
} }, { children: (0, jsx_runtime_1.jsx)(PageTable_1.PageTable, __assign({ tableColumns: tableColumns, toolbarFilters: toolbarFilters, emptyStateTitle: "No organizations found", errorStateTitle: "Error loading organizations" }, view, { onSelect: function () { return null; }, disableCardView: true, disableListView: true, disableColumnManagement: true })) })) }))] })));
|
80
80
|
}
|
81
81
|
exports.SelectDialog = SelectDialog;
|
@@ -51,7 +51,7 @@ function SelectMultipleDialog(props) {
|
|
51
51
|
flexDirection: 'column',
|
52
52
|
maxHeight: 500,
|
53
53
|
overflow: 'hidden',
|
54
|
-
} }, { children: (0, jsx_runtime_1.jsx)(PageTable_1.PageTable, __assign({ tableColumns: tableColumns, toolbarFilters: toolbarFilters }, view, { emptyStateTitle: (_a = props.emptyStateTitle) !== null && _a !== void 0 ? _a : translations.noItemsFound, errorStateTitle: (_b = props.errorStateTitle) !== null && _b !== void 0 ? _b : translations.errorText, showSelect: true })) })) })));
|
54
|
+
} }, { children: (0, jsx_runtime_1.jsx)(PageTable_1.PageTable, __assign({ tableColumns: tableColumns, toolbarFilters: toolbarFilters }, view, { emptyStateTitle: (_a = props.emptyStateTitle) !== null && _a !== void 0 ? _a : translations.noItemsFound, errorStateTitle: (_b = props.errorStateTitle) !== null && _b !== void 0 ? _b : translations.errorText, showSelect: true, disableCardView: true, disableListView: true, disableColumnManagement: true })) })) })));
|
55
55
|
}
|
56
56
|
exports.SelectMultipleDialog = SelectMultipleDialog;
|
57
57
|
function useSelectMultipleDialog() {
|