@ansible/ansible-ui-framework 0.0.0
Sign up to get free protection for your applications and to get access to all the features.
- package/LICENSE.md +168 -0
- package/README.md +5 -0
- package/assets/editor.worker-CKha-MBL.js +11 -0
- package/assets/json.worker-BXgpME0S.js +42 -0
- package/assets/yaml.worker-DhJ2nZ1S.js +466 -0
- package/framework/PageActions/PageAction.d.ts +100 -0
- package/framework/PageActions/PageActionButton.d.ts +10 -0
- package/framework/PageActions/PageActionDropdown.d.ts +20 -0
- package/framework/PageActions/PageActionLink.d.ts +9 -0
- package/framework/PageActions/PageActionSwitch.d.ts +8 -0
- package/framework/PageActions/PageActionUtils.d.ts +3 -0
- package/framework/PageActions/PageActions.d.ts +16 -0
- package/framework/PageActions/PageActionsPinned.d.ts +21 -0
- package/framework/PageAlertToaster.d.ts +14 -0
- package/framework/PageBody.d.ts +6 -0
- package/framework/PageCarousel/PageCarousel.d.ts +10 -0
- package/framework/PageCarousel/PageCarouselCardPage.d.ts +9 -0
- package/framework/PageCarousel/PageCarouselNav.d.ts +5 -0
- package/framework/PageCells/BytesCell.d.ts +4 -0
- package/framework/PageCells/CopyCell.d.ts +4 -0
- package/framework/PageCells/DateTimeCell.d.ts +8 -0
- package/framework/PageCells/ElapsedTimeCell.d.ts +4 -0
- package/framework/PageCells/LabelsCell.d.ts +18 -0
- package/framework/PageCells/TextCell.d.ts +15 -0
- package/framework/PageDashboard/PageChartContainer.d.ts +10 -0
- package/framework/PageDashboard/PageChartLegend.d.ts +12 -0
- package/framework/PageDashboard/PageDashboard.d.ts +7 -0
- package/framework/PageDashboard/PageDashboardCard.d.ts +28 -0
- package/framework/PageDashboard/PageDashboardCarousel.d.ts +14 -0
- package/framework/PageDashboard/PageDashboardChart.d.ts +30 -0
- package/framework/PageDashboard/PageDashboardCount.d.ts +7 -0
- package/framework/PageDashboard/PageDashboardCountBar.cy.d.ts +1 -0
- package/framework/PageDashboard/PageDashboardCountBar.d.ts +14 -0
- package/framework/PageDashboard/PageDashboardGettingStarted.d.ts +11 -0
- package/framework/PageDashboard/PageDonutChart.d.ts +15 -0
- package/framework/PageDashboard/PageScatterChart.d.ts +10 -0
- package/framework/PageDashboard/usePageChartColors.d.ts +16 -0
- package/framework/PageDetails/PageDetail.d.ts +8 -0
- package/framework/PageDetails/PageDetailCodeEditor.d.ts +8 -0
- package/framework/PageDetails/PageDetails.d.ts +9 -0
- package/framework/PageDetails/PageDetailsFromColumns.d.ts +7 -0
- package/framework/PageDialogs/BulkActionDialog.cy.d.ts +1 -0
- package/framework/PageDialogs/BulkActionDialog.d.ts +17 -0
- package/framework/PageDialogs/BulkConfirmationDialog.d.ts +21 -0
- package/framework/PageDialogs/MultiSelectDialog.d.ts +24 -0
- package/framework/PageDialogs/PageDialog.cy.d.ts +1 -0
- package/framework/PageDialogs/PageDialog.d.ts +14 -0
- package/framework/PageDialogs/SingleSelectDialog.d.ts +20 -0
- package/framework/PageDialogs/useSelectDialog.d.ts +33 -0
- package/framework/PageEmptyStates/PageNotFound.d.ts +3 -0
- package/framework/PageEmptyStates/PageNotImplemented.d.ts +1 -0
- package/framework/PageForm/ErrorAlert.cy.d.ts +1 -0
- package/framework/PageForm/ErrorAlert.d.ts +9 -0
- package/framework/PageForm/GenericForm.d.ts +14 -0
- package/framework/PageForm/Inputs/FormGroupDateTimePicker.d.ts +12 -0
- package/framework/PageForm/Inputs/FormGroupTypeAheadMultiSelect.d.ts +29 -0
- package/framework/PageForm/Inputs/PageFormAsyncMultiSelect.cy.d.ts +1 -0
- package/framework/PageForm/Inputs/PageFormAsyncMultiSelect.d.ts +9 -0
- package/framework/PageForm/Inputs/PageFormAsyncSelect.d.ts +49 -0
- package/framework/PageForm/Inputs/PageFormAsyncSingleSelect.cy.d.ts +1 -0
- package/framework/PageForm/Inputs/PageFormAsyncSingleSelect.d.ts +9 -0
- package/framework/PageForm/Inputs/PageFormCheckbox.d.ts +11 -0
- package/framework/PageForm/Inputs/PageFormCreatableSelect.d.ts +20 -0
- package/framework/PageForm/Inputs/PageFormDataEditor.cy.d.ts +1 -0
- package/framework/PageForm/Inputs/PageFormDataEditor.d.ts +36 -0
- package/framework/PageForm/Inputs/PageFormDateTimePicker.d.ts +12 -0
- package/framework/PageForm/Inputs/PageFormFileUpload.d.ts +7 -0
- package/framework/PageForm/Inputs/PageFormGroup.d.ts +14 -0
- package/framework/PageForm/Inputs/PageFormMarkdown.d.ts +19 -0
- package/framework/PageForm/Inputs/PageFormMarkdownEditor.cy.d.ts +1 -0
- package/framework/PageForm/Inputs/PageFormMultiInput.d.ts +23 -0
- package/framework/PageForm/Inputs/PageFormMultiSelect.d.ts +9 -0
- package/framework/PageForm/Inputs/PageFormSecret.cy.d.ts +1 -0
- package/framework/PageForm/Inputs/PageFormSecret.d.ts +14 -0
- package/framework/PageForm/Inputs/PageFormSelect.d.ts +21 -0
- package/framework/PageForm/Inputs/PageFormSingleSelect.d.ts +9 -0
- package/framework/PageForm/Inputs/PageFormSlider.d.ts +9 -0
- package/framework/PageForm/Inputs/PageFormSwitch.d.ts +18 -0
- package/framework/PageForm/Inputs/PageFormTextArea.d.ts +3 -0
- package/framework/PageForm/Inputs/PageFormTextInput.d.ts +29 -0
- package/framework/PageForm/Inputs/validation-hooks.d.ts +4 -0
- package/framework/PageForm/PageForm.d.ts +37 -0
- package/framework/PageForm/PageFormButtons.d.ts +9 -0
- package/framework/PageForm/PageFormExpandableSection.cy.d.ts +1 -0
- package/framework/PageForm/PageFormExpandableSection.d.ts +7 -0
- package/framework/PageForm/Utils/PageFormHidden.d.ts +6 -0
- package/framework/PageForm/Utils/PageFormSection.d.ts +7 -0
- package/framework/PageForm/Utils/PageFormSetError.d.ts +5 -0
- package/framework/PageForm/Utils/PageFormSetValue.d.ts +5 -0
- package/framework/PageForm/Utils/PageFormWatch.d.ts +6 -0
- package/framework/PageForm/genericErrorAdapter.cy.d.ts +1 -0
- package/framework/PageForm/genericErrorAdapter.d.ts +2 -0
- package/framework/PageForm/typesErrorAdapter.d.ts +12 -0
- package/framework/PageFramework.d.ts +5 -0
- package/framework/PageHeader.d.ts +23 -0
- package/framework/PageInputs/PageAsyncMultiSelect.cy.d.ts +1 -0
- package/framework/PageInputs/PageAsyncMultiSelect.d.ts +13 -0
- package/framework/PageInputs/PageAsyncSingleSelect.cy.d.ts +1 -0
- package/framework/PageInputs/PageAsyncSingleSelect.d.ts +14 -0
- package/framework/PageInputs/PageMultiSelect.cy.d.ts +1 -0
- package/framework/PageInputs/PageMultiSelect.d.ts +17 -0
- package/framework/PageInputs/PageSelectOption.d.ts +9 -0
- package/framework/PageInputs/PageSingleSelect.cy.d.ts +1 -0
- package/framework/PageInputs/PageSingleSelect.d.ts +29 -0
- package/framework/PageLayout.d.ts +4 -0
- package/framework/PageMasonry.d.ts +6 -0
- package/framework/PageMasthead/PageMasthead.d.ts +6 -0
- package/framework/PageMasthead/PageMastheadDropdown.d.ts +7 -0
- package/framework/PageMasthead/PageNotificationsIcon.d.ts +1 -0
- package/framework/PageMasthead/PageSettingsIcon.d.ts +1 -0
- package/framework/PageMasthead/PageThemeSwitcher.d.ts +1 -0
- package/framework/PageNavigation/PageApp.d.ts +9 -0
- package/framework/PageNavigation/PageNavSidebar.d.ts +12 -0
- package/framework/PageNavigation/PageNavigation.d.ts +5 -0
- package/framework/PageNavigation/PageNavigationItem.d.ts +25 -0
- package/framework/PageNavigation/PageNavigationRoutesProvider.d.ts +9 -0
- package/framework/PageNavigation/useGetPageUrl.d.ts +4 -0
- package/framework/PageNavigation/usePageNavigate.d.ts +4 -0
- package/framework/PageNotifications/PageNotificationsProvider.cy.d.ts +1 -0
- package/framework/PageNotifications/PageNotificationsProvider.d.ts +27 -0
- package/framework/PageTable/PageLoadingTable.d.ts +1 -0
- package/framework/PageTable/PagePagination.d.ts +13 -0
- package/framework/PageTable/PageTable.d.ts +65 -0
- package/framework/PageTable/PageTableCard.d.ts +39 -0
- package/framework/PageTable/PageTableCards.d.ts +3 -0
- package/framework/PageTable/PageTableColumn.d.ts +310 -0
- package/framework/PageTable/PageTableList.d.ts +7 -0
- package/framework/PageTable/useTableItems.d.ts +74 -0
- package/framework/PageTabs/PageBreadcrumbs.d.ts +11 -0
- package/framework/PageTabs/PageRoutedTabs.d.ts +20 -0
- package/framework/PageTabs/PageTabs.d.ts +11 -0
- package/framework/PageToolbar/PageTableViewType.d.ts +6 -0
- package/framework/PageToolbar/PageToolbar.d.ts +47 -0
- package/framework/PageToolbar/PageToolbarFilter.d.ts +25 -0
- package/framework/PageToolbar/PageToolbarFilters/ToolbarAsyncMultiSelectFilter.d.ts +20 -0
- package/framework/PageToolbar/PageToolbarFilters/ToolbarAsyncSelectFilterBuilder.d.ts +23 -0
- package/framework/PageToolbar/PageToolbarFilters/ToolbarAsyncSingleSelectFilter.d.ts +15 -0
- package/framework/PageToolbar/PageToolbarFilters/ToolbarDateRangeFilter.d.ts +33 -0
- package/framework/PageToolbar/PageToolbarFilters/ToolbarFilterCommon.d.ts +7 -0
- package/framework/PageToolbar/PageToolbarFilters/ToolbarFilters.cy.d.ts +1 -0
- package/framework/PageToolbar/PageToolbarFilters/ToolbarMultiSelectFilter.d.ts +8 -0
- package/framework/PageToolbar/PageToolbarFilters/ToolbarSingleSelectFilter.d.ts +9 -0
- package/framework/PageToolbar/PageToolbarFilters/ToolbarTextFilter.d.ts +24 -0
- package/framework/PageToolbar/PageToolbarSort.d.ts +16 -0
- package/framework/PageToolbar/PageToolbarToggleGroup.d.ts +10 -0
- package/framework/PageToolbar/PageToolbarView.d.ts +10 -0
- package/framework/PageWizard/PageWizard.cy.d.ts +1 -0
- package/framework/PageWizard/PageWizard.d.ts +12 -0
- package/framework/PageWizard/PageWizardBody.cy.d.ts +1 -0
- package/framework/PageWizard/PageWizardBody.d.ts +2 -0
- package/framework/PageWizard/PageWizardFooter.cy.d.ts +1 -0
- package/framework/PageWizard/PageWizardFooter.d.ts +5 -0
- package/framework/PageWizard/PageWizardHeader.d.ts +5 -0
- package/framework/PageWizard/PageWizardNavigation.d.ts +1 -0
- package/framework/PageWizard/PageWizardProvider.d.ts +10 -0
- package/framework/PageWizard/PageWizardToggle.d.ts +1 -0
- package/framework/PageWizard/index.d.ts +3 -0
- package/framework/PageWizard/types.d.ts +32 -0
- package/framework/Settings.d.ts +20 -0
- package/framework/components/BulkSelector.d.ts +11 -0
- package/framework/components/Collapse.d.ts +6 -0
- package/framework/components/DataEditor.d.ts +12 -0
- package/framework/components/DetailInfo.d.ts +4 -0
- package/framework/components/Dotted.d.ts +4 -0
- package/framework/components/DropZone.d.ts +7 -0
- package/framework/components/DropdownControlled.d.ts +4 -0
- package/framework/components/EmptyStateCustom.d.ts +11 -0
- package/framework/components/EmptyStateError.d.ts +4 -0
- package/framework/components/EmptyStateFilter.d.ts +6 -0
- package/framework/components/EmptyStateNoData.d.ts +7 -0
- package/framework/components/EmptyStateUnauthorized.d.ts +6 -0
- package/framework/components/ErrorBoundary.d.ts +15 -0
- package/framework/components/Help.d.ts +6 -0
- package/framework/components/IconButton.d.ts +2 -0
- package/framework/components/IconWrapper.d.ts +9 -0
- package/framework/components/LoadingPage.d.ts +4 -0
- package/framework/components/LoadingState.d.ts +1 -0
- package/framework/components/Masonry.d.ts +6 -0
- package/framework/components/PageGrid.d.ts +6 -0
- package/framework/components/ReorderItems.d.ts +20 -0
- package/framework/components/Scrollable.d.ts +9 -0
- package/framework/components/StandardPopover.d.ts +9 -0
- package/framework/components/icons/ExpandIcon.d.ts +4 -0
- package/framework/components/icons/RunningIcon.d.ts +2 -0
- package/framework/components/pfcolors.d.ts +32 -0
- package/framework/components/useBreakPoint.d.ts +4 -0
- package/framework/components/useIsMounted.d.ts +5 -0
- package/framework/components/useManageColumns.d.ts +5 -0
- package/framework/components/useManagedItems.d.ts +28 -0
- package/framework/components/useOpen.d.ts +4 -0
- package/framework/components/useSearchParams.d.ts +1 -0
- package/framework/components/useWindowLocation.d.ts +5 -0
- package/framework/hooks/useClipboard.d.ts +8 -0
- package/framework/hooks/useID.d.ts +11 -0
- package/framework/index.d.ts +70 -0
- package/framework/publish/assets/editor.worker-CKha-MBL.d.ts +0 -0
- package/framework/publish/assets/json.worker-BXgpME0S.d.ts +3 -0
- package/framework/publish/assets/yaml.worker-DhJ2nZ1S.d.ts +3 -0
- package/framework/publish/index.d.ts +318 -0
- package/framework/publish/index.umd.d.cts +1 -0
- package/framework/useFrameworkTranslations.d.ts +42 -0
- package/framework/useInMemoryView.d.ts +17 -0
- package/framework/useView.d.ts +36 -0
- package/framework/utils/codeEditorUtils.d.ts +1 -0
- package/framework/utils/compare.d.ts +3 -0
- package/framework/utils/dateTimeHelpers.d.ts +2 -0
- package/framework/utils/download-file.d.ts +2 -0
- package/framework/utils/formatDateString.d.ts +1 -0
- package/framework/utils/random-string.d.ts +3 -0
- package/framework/utils/strings.d.ts +2 -0
- package/framework/vite.config.d.ts +2 -0
- package/index.js +50018 -0
- package/index.umd.cjs +600 -0
- package/package.json +40 -0
- package/style.css +1 -0
@@ -0,0 +1,310 @@
|
|
1
|
+
import { ReactNode } from 'react';
|
2
|
+
import { PageTableViewTypeE } from '../PageToolbar/PageTableViewType';
|
3
|
+
export declare enum ColumnTableOption {
|
4
|
+
description = "description",
|
5
|
+
expanded = "expanded",
|
6
|
+
hidden = "hidden"
|
7
|
+
}
|
8
|
+
export declare enum ColumnListOption {
|
9
|
+
name = "name",
|
10
|
+
subtitle = "subtitle",
|
11
|
+
description = "description",
|
12
|
+
hidden = "hidden",
|
13
|
+
primary = "primary",
|
14
|
+
secondary = "secondary"
|
15
|
+
}
|
16
|
+
export declare enum ColumnCardOption {
|
17
|
+
name = "name",
|
18
|
+
subtitle = "subtitle",
|
19
|
+
description = "description",
|
20
|
+
hidden = "hidden"
|
21
|
+
}
|
22
|
+
export declare enum ColumnModalOption {
|
23
|
+
hidden = "hidden"
|
24
|
+
}
|
25
|
+
export declare enum ColumnDashboardOption {
|
26
|
+
hidden = "hidden"
|
27
|
+
}
|
28
|
+
export declare enum ColumnPriority {
|
29
|
+
last = "last"
|
30
|
+
}
|
31
|
+
interface ITableColumnCommon<T extends object> {
|
32
|
+
id?: string;
|
33
|
+
header: string;
|
34
|
+
minWidth?: number;
|
35
|
+
maxWidth?: number;
|
36
|
+
fullWidth?: boolean;
|
37
|
+
sort?: string;
|
38
|
+
defaultSortDirection?: 'asc' | 'desc';
|
39
|
+
defaultSort?: boolean;
|
40
|
+
icon?: (item: T) => ReactNode;
|
41
|
+
table?: keyof typeof ColumnTableOption;
|
42
|
+
list?: keyof typeof ColumnListOption;
|
43
|
+
card?: keyof typeof ColumnCardOption;
|
44
|
+
modal?: keyof typeof ColumnModalOption;
|
45
|
+
dashboard?: keyof typeof ColumnDashboardOption;
|
46
|
+
priority?: keyof typeof ColumnPriority;
|
47
|
+
}
|
48
|
+
export interface ITableColumnTypeReactNode<T extends object> extends ITableColumnCommon<T> {
|
49
|
+
type?: undefined;
|
50
|
+
value?: CellFn<T, string | string[] | number | boolean | undefined | null>;
|
51
|
+
cell: CellFn<T, ReactNode | undefined>;
|
52
|
+
}
|
53
|
+
export interface ITableColumnTypeText<T extends object> extends ITableColumnCommon<T> {
|
54
|
+
type: 'text';
|
55
|
+
value: CellFn<T, string | null | undefined>;
|
56
|
+
to?: (item: T) => string | undefined;
|
57
|
+
}
|
58
|
+
export interface ITableColumnTypeDescription<T extends object> extends ITableColumnCommon<T> {
|
59
|
+
type: 'description';
|
60
|
+
value: CellFn<T, string | undefined | null>;
|
61
|
+
}
|
62
|
+
export interface ITableColumnTypeCount<T extends object> extends ITableColumnCommon<T> {
|
63
|
+
type: 'count';
|
64
|
+
value: CellFn<T, number | undefined>;
|
65
|
+
}
|
66
|
+
export interface ITableColumnTypeLabels<T extends object> extends ITableColumnCommon<T> {
|
67
|
+
type: 'labels';
|
68
|
+
value: CellFn<T, string[] | undefined>;
|
69
|
+
}
|
70
|
+
export interface ITableColumnTypeDateTime<T extends object> extends ITableColumnCommon<T> {
|
71
|
+
type: 'datetime';
|
72
|
+
value: CellFn<T, number | string | undefined>;
|
73
|
+
}
|
74
|
+
export type ITableColumn<T extends object> = ITableColumnTypeReactNode<T> | ITableColumnTypeText<T> | ITableColumnTypeDescription<T> | ITableColumnTypeDateTime<T> | ITableColumnTypeLabels<T> | ITableColumnTypeCount<T>;
|
75
|
+
export declare function TableColumnCell<T extends object>(props: {
|
76
|
+
item: T;
|
77
|
+
column?: ITableColumn<T>;
|
78
|
+
}): JSX.Element;
|
79
|
+
export declare function useVisibleTableColumns<T extends object>(columns: ITableColumn<T>[]): ITableColumn<T>[];
|
80
|
+
export declare function useVisibleListColumns<T extends object>(columns: ITableColumn<T>[]): ITableColumn<T>[];
|
81
|
+
export declare function useVisibleCardColumns<T extends object>(columns: ITableColumn<T>[]): ITableColumn<T>[];
|
82
|
+
export declare function useVisibleModalColumns<T extends object>(columns: ITableColumn<T>[]): ITableColumn<T>[];
|
83
|
+
export declare function useDashboardColumns<T extends object>(columns: ITableColumn<T>[]): ITableColumn<T>[];
|
84
|
+
export declare function useVisibleColumns<T extends object>(columns: ITableColumn<T>[], viewType: PageTableViewTypeE): ITableColumn<T>[];
|
85
|
+
export declare function useDescriptionColumns<T extends object>(columns: ITableColumn<T>[]): ITableColumn<T>[];
|
86
|
+
export declare function useExpandedColumns<T extends object>(columns: ITableColumn<T>[]): ITableColumn<T>[];
|
87
|
+
type CellFn<T extends object, R> = (item: T) => R;
|
88
|
+
export declare function useColumnsWithoutSort<T extends object>(columns: ITableColumn<T>[]): ({
|
89
|
+
sort: undefined;
|
90
|
+
type?: undefined;
|
91
|
+
value?: CellFn<T, string | number | boolean | string[] | null | undefined> | undefined;
|
92
|
+
cell: CellFn<T, ReactNode>;
|
93
|
+
id?: string | undefined;
|
94
|
+
header: string;
|
95
|
+
minWidth?: number | undefined;
|
96
|
+
maxWidth?: number | undefined;
|
97
|
+
fullWidth?: boolean | undefined;
|
98
|
+
defaultSortDirection?: "desc" | "asc" | undefined;
|
99
|
+
defaultSort?: boolean | undefined;
|
100
|
+
icon?: ((item: T) => ReactNode) | undefined;
|
101
|
+
table?: "hidden" | "description" | "expanded" | undefined;
|
102
|
+
list?: "name" | "hidden" | "secondary" | "primary" | "description" | "subtitle" | undefined;
|
103
|
+
card?: "name" | "hidden" | "description" | "subtitle" | undefined;
|
104
|
+
modal?: "hidden" | undefined;
|
105
|
+
dashboard?: "hidden" | undefined;
|
106
|
+
priority?: "last" | undefined;
|
107
|
+
} | {
|
108
|
+
sort: undefined;
|
109
|
+
type: "text";
|
110
|
+
value: CellFn<T, string | null | undefined>;
|
111
|
+
to?: ((item: T) => string | undefined) | undefined;
|
112
|
+
id?: string | undefined;
|
113
|
+
header: string;
|
114
|
+
minWidth?: number | undefined;
|
115
|
+
maxWidth?: number | undefined;
|
116
|
+
fullWidth?: boolean | undefined;
|
117
|
+
defaultSortDirection?: "desc" | "asc" | undefined;
|
118
|
+
defaultSort?: boolean | undefined;
|
119
|
+
icon?: ((item: T) => ReactNode) | undefined;
|
120
|
+
table?: "hidden" | "description" | "expanded" | undefined;
|
121
|
+
list?: "name" | "hidden" | "secondary" | "primary" | "description" | "subtitle" | undefined;
|
122
|
+
card?: "name" | "hidden" | "description" | "subtitle" | undefined;
|
123
|
+
modal?: "hidden" | undefined;
|
124
|
+
dashboard?: "hidden" | undefined;
|
125
|
+
priority?: "last" | undefined;
|
126
|
+
} | {
|
127
|
+
sort: undefined;
|
128
|
+
type: "description";
|
129
|
+
value: CellFn<T, string | null | undefined>;
|
130
|
+
id?: string | undefined;
|
131
|
+
header: string;
|
132
|
+
minWidth?: number | undefined;
|
133
|
+
maxWidth?: number | undefined;
|
134
|
+
fullWidth?: boolean | undefined;
|
135
|
+
defaultSortDirection?: "desc" | "asc" | undefined;
|
136
|
+
defaultSort?: boolean | undefined;
|
137
|
+
icon?: ((item: T) => ReactNode) | undefined;
|
138
|
+
table?: "hidden" | "description" | "expanded" | undefined;
|
139
|
+
list?: "name" | "hidden" | "secondary" | "primary" | "description" | "subtitle" | undefined;
|
140
|
+
card?: "name" | "hidden" | "description" | "subtitle" | undefined;
|
141
|
+
modal?: "hidden" | undefined;
|
142
|
+
dashboard?: "hidden" | undefined;
|
143
|
+
priority?: "last" | undefined;
|
144
|
+
} | {
|
145
|
+
sort: undefined;
|
146
|
+
type: "datetime";
|
147
|
+
value: CellFn<T, string | number | undefined>;
|
148
|
+
id?: string | undefined;
|
149
|
+
header: string;
|
150
|
+
minWidth?: number | undefined;
|
151
|
+
maxWidth?: number | undefined;
|
152
|
+
fullWidth?: boolean | undefined;
|
153
|
+
defaultSortDirection?: "desc" | "asc" | undefined;
|
154
|
+
defaultSort?: boolean | undefined;
|
155
|
+
icon?: ((item: T) => ReactNode) | undefined;
|
156
|
+
table?: "hidden" | "description" | "expanded" | undefined;
|
157
|
+
list?: "name" | "hidden" | "secondary" | "primary" | "description" | "subtitle" | undefined;
|
158
|
+
card?: "name" | "hidden" | "description" | "subtitle" | undefined;
|
159
|
+
modal?: "hidden" | undefined;
|
160
|
+
dashboard?: "hidden" | undefined;
|
161
|
+
priority?: "last" | undefined;
|
162
|
+
} | {
|
163
|
+
sort: undefined;
|
164
|
+
type: "labels";
|
165
|
+
value: CellFn<T, string[] | undefined>;
|
166
|
+
id?: string | undefined;
|
167
|
+
header: string;
|
168
|
+
minWidth?: number | undefined;
|
169
|
+
maxWidth?: number | undefined;
|
170
|
+
fullWidth?: boolean | undefined;
|
171
|
+
defaultSortDirection?: "desc" | "asc" | undefined;
|
172
|
+
defaultSort?: boolean | undefined;
|
173
|
+
icon?: ((item: T) => ReactNode) | undefined;
|
174
|
+
table?: "hidden" | "description" | "expanded" | undefined;
|
175
|
+
list?: "name" | "hidden" | "secondary" | "primary" | "description" | "subtitle" | undefined;
|
176
|
+
card?: "name" | "hidden" | "description" | "subtitle" | undefined;
|
177
|
+
modal?: "hidden" | undefined;
|
178
|
+
dashboard?: "hidden" | undefined;
|
179
|
+
priority?: "last" | undefined;
|
180
|
+
} | {
|
181
|
+
sort: undefined;
|
182
|
+
type: "count";
|
183
|
+
value: CellFn<T, number | undefined>;
|
184
|
+
id?: string | undefined;
|
185
|
+
header: string;
|
186
|
+
minWidth?: number | undefined;
|
187
|
+
maxWidth?: number | undefined;
|
188
|
+
fullWidth?: boolean | undefined;
|
189
|
+
defaultSortDirection?: "desc" | "asc" | undefined;
|
190
|
+
defaultSort?: boolean | undefined;
|
191
|
+
icon?: ((item: T) => ReactNode) | undefined;
|
192
|
+
table?: "hidden" | "description" | "expanded" | undefined;
|
193
|
+
list?: "name" | "hidden" | "secondary" | "primary" | "description" | "subtitle" | undefined;
|
194
|
+
card?: "name" | "hidden" | "description" | "subtitle" | undefined;
|
195
|
+
modal?: "hidden" | undefined;
|
196
|
+
dashboard?: "hidden" | undefined;
|
197
|
+
priority?: "last" | undefined;
|
198
|
+
})[];
|
199
|
+
export declare function useColumnsWithoutExpandedRow<T extends object>(columns: ITableColumn<T>[]): ({
|
200
|
+
table: "hidden" | "description" | undefined;
|
201
|
+
type?: undefined;
|
202
|
+
value?: CellFn<T, string | number | boolean | string[] | null | undefined> | undefined;
|
203
|
+
cell: CellFn<T, ReactNode>;
|
204
|
+
id?: string | undefined;
|
205
|
+
header: string;
|
206
|
+
minWidth?: number | undefined;
|
207
|
+
maxWidth?: number | undefined;
|
208
|
+
fullWidth?: boolean | undefined;
|
209
|
+
sort?: string | undefined;
|
210
|
+
defaultSortDirection?: "desc" | "asc" | undefined;
|
211
|
+
defaultSort?: boolean | undefined;
|
212
|
+
icon?: ((item: T) => ReactNode) | undefined;
|
213
|
+
list?: "name" | "hidden" | "secondary" | "primary" | "description" | "subtitle" | undefined;
|
214
|
+
card?: "name" | "hidden" | "description" | "subtitle" | undefined;
|
215
|
+
modal?: "hidden" | undefined;
|
216
|
+
dashboard?: "hidden" | undefined;
|
217
|
+
priority?: "last" | undefined;
|
218
|
+
} | {
|
219
|
+
table: "hidden" | "description" | undefined;
|
220
|
+
type: "text";
|
221
|
+
value: CellFn<T, string | null | undefined>;
|
222
|
+
to?: ((item: T) => string | undefined) | undefined;
|
223
|
+
id?: string | undefined;
|
224
|
+
header: string;
|
225
|
+
minWidth?: number | undefined;
|
226
|
+
maxWidth?: number | undefined;
|
227
|
+
fullWidth?: boolean | undefined;
|
228
|
+
sort?: string | undefined;
|
229
|
+
defaultSortDirection?: "desc" | "asc" | undefined;
|
230
|
+
defaultSort?: boolean | undefined;
|
231
|
+
icon?: ((item: T) => ReactNode) | undefined;
|
232
|
+
list?: "name" | "hidden" | "secondary" | "primary" | "description" | "subtitle" | undefined;
|
233
|
+
card?: "name" | "hidden" | "description" | "subtitle" | undefined;
|
234
|
+
modal?: "hidden" | undefined;
|
235
|
+
dashboard?: "hidden" | undefined;
|
236
|
+
priority?: "last" | undefined;
|
237
|
+
} | {
|
238
|
+
table: "hidden" | "description" | undefined;
|
239
|
+
type: "description";
|
240
|
+
value: CellFn<T, string | null | undefined>;
|
241
|
+
id?: string | undefined;
|
242
|
+
header: string;
|
243
|
+
minWidth?: number | undefined;
|
244
|
+
maxWidth?: number | undefined;
|
245
|
+
fullWidth?: boolean | undefined;
|
246
|
+
sort?: string | undefined;
|
247
|
+
defaultSortDirection?: "desc" | "asc" | undefined;
|
248
|
+
defaultSort?: boolean | undefined;
|
249
|
+
icon?: ((item: T) => ReactNode) | undefined;
|
250
|
+
list?: "name" | "hidden" | "secondary" | "primary" | "description" | "subtitle" | undefined;
|
251
|
+
card?: "name" | "hidden" | "description" | "subtitle" | undefined;
|
252
|
+
modal?: "hidden" | undefined;
|
253
|
+
dashboard?: "hidden" | undefined;
|
254
|
+
priority?: "last" | undefined;
|
255
|
+
} | {
|
256
|
+
table: "hidden" | "description" | undefined;
|
257
|
+
type: "datetime";
|
258
|
+
value: CellFn<T, string | number | undefined>;
|
259
|
+
id?: string | undefined;
|
260
|
+
header: string;
|
261
|
+
minWidth?: number | undefined;
|
262
|
+
maxWidth?: number | undefined;
|
263
|
+
fullWidth?: boolean | undefined;
|
264
|
+
sort?: string | undefined;
|
265
|
+
defaultSortDirection?: "desc" | "asc" | undefined;
|
266
|
+
defaultSort?: boolean | undefined;
|
267
|
+
icon?: ((item: T) => ReactNode) | undefined;
|
268
|
+
list?: "name" | "hidden" | "secondary" | "primary" | "description" | "subtitle" | undefined;
|
269
|
+
card?: "name" | "hidden" | "description" | "subtitle" | undefined;
|
270
|
+
modal?: "hidden" | undefined;
|
271
|
+
dashboard?: "hidden" | undefined;
|
272
|
+
priority?: "last" | undefined;
|
273
|
+
} | {
|
274
|
+
table: "hidden" | "description" | undefined;
|
275
|
+
type: "labels";
|
276
|
+
value: CellFn<T, string[] | undefined>;
|
277
|
+
id?: string | undefined;
|
278
|
+
header: string;
|
279
|
+
minWidth?: number | undefined;
|
280
|
+
maxWidth?: number | undefined;
|
281
|
+
fullWidth?: boolean | undefined;
|
282
|
+
sort?: string | undefined;
|
283
|
+
defaultSortDirection?: "desc" | "asc" | undefined;
|
284
|
+
defaultSort?: boolean | undefined;
|
285
|
+
icon?: ((item: T) => ReactNode) | undefined;
|
286
|
+
list?: "name" | "hidden" | "secondary" | "primary" | "description" | "subtitle" | undefined;
|
287
|
+
card?: "name" | "hidden" | "description" | "subtitle" | undefined;
|
288
|
+
modal?: "hidden" | undefined;
|
289
|
+
dashboard?: "hidden" | undefined;
|
290
|
+
priority?: "last" | undefined;
|
291
|
+
} | {
|
292
|
+
table: "hidden" | "description" | undefined;
|
293
|
+
type: "count";
|
294
|
+
value: CellFn<T, number | undefined>;
|
295
|
+
id?: string | undefined;
|
296
|
+
header: string;
|
297
|
+
minWidth?: number | undefined;
|
298
|
+
maxWidth?: number | undefined;
|
299
|
+
fullWidth?: boolean | undefined;
|
300
|
+
sort?: string | undefined;
|
301
|
+
defaultSortDirection?: "desc" | "asc" | undefined;
|
302
|
+
defaultSort?: boolean | undefined;
|
303
|
+
icon?: ((item: T) => ReactNode) | undefined;
|
304
|
+
list?: "name" | "hidden" | "secondary" | "primary" | "description" | "subtitle" | undefined;
|
305
|
+
card?: "name" | "hidden" | "description" | "subtitle" | undefined;
|
306
|
+
modal?: "hidden" | undefined;
|
307
|
+
dashboard?: "hidden" | undefined;
|
308
|
+
priority?: "last" | undefined;
|
309
|
+
})[];
|
310
|
+
export {};
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { ReactNode } from 'react';
|
2
|
+
import { IPageAction } from '../PageActions/PageAction';
|
3
|
+
import { PageTableProps } from './PageTable';
|
4
|
+
import { ITableColumn } from './PageTableColumn';
|
5
|
+
export type PageTableListProps<T extends object> = PageTableProps<T>;
|
6
|
+
export declare function PageTableList<T extends object>(props: PageTableListProps<T>): import("react/jsx-runtime").JSX.Element;
|
7
|
+
export declare function useColumnsToDataList<T extends object>(tableColumns: ITableColumn<T>[], keyFn: (item: T) => string | number, isSelected?: (item: T) => boolean, selectItem?: (item: T) => void, unselectItem?: (item: T) => void, rowActions?: IPageAction<T>[], defaultCardSubtitle?: ReactNode, showSelect?: boolean): (item: T) => ReactNode;
|
@@ -0,0 +1,74 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
import debounce from 'debounce';
|
3
|
+
export declare function useTableItems<T extends object>(items: T[], keyFn: (item: T) => string | number, defaults?: {
|
4
|
+
search?: string | null;
|
5
|
+
}): {
|
6
|
+
allSelected: boolean;
|
7
|
+
filtered: T[];
|
8
|
+
isSelected: (item: T) => boolean;
|
9
|
+
page: number;
|
10
|
+
paged: T[];
|
11
|
+
perPage: number;
|
12
|
+
search: string;
|
13
|
+
searched: T[];
|
14
|
+
selectAll: () => void;
|
15
|
+
selectItem: (item: T) => void;
|
16
|
+
selectPage: () => void;
|
17
|
+
selectedItems: T[];
|
18
|
+
setFilterFn: (filterFn: ((item: T) => boolean) | undefined) => void;
|
19
|
+
setPage: import("react").Dispatch<import("react").SetStateAction<number>>;
|
20
|
+
setPerPage: import("react").Dispatch<import("react").SetStateAction<number>>;
|
21
|
+
setSearch: debounce.DebouncedFunction<(search: string) => void>;
|
22
|
+
setSearchFn: (searchFn: (item: T, search: string) => number) => void;
|
23
|
+
setSort: import("react").Dispatch<import("react").SetStateAction<ISort<T> | undefined>>;
|
24
|
+
sort: ISort<T> | undefined;
|
25
|
+
sorted: T[];
|
26
|
+
unselectAll: () => void;
|
27
|
+
unselectItem: (item: T) => void;
|
28
|
+
};
|
29
|
+
export interface ISelected<T extends object> {
|
30
|
+
selectedItems: T[];
|
31
|
+
selectItem: (item: T) => void;
|
32
|
+
selectItems: (items: T[]) => void;
|
33
|
+
unselectItem: (item: T) => void;
|
34
|
+
unselectItems: (items: T[]) => void;
|
35
|
+
isSelected: (item: T) => boolean;
|
36
|
+
selectAll: () => void;
|
37
|
+
unselectAll: () => void;
|
38
|
+
allSelected: boolean;
|
39
|
+
keyFn: (item: T) => string | number;
|
40
|
+
}
|
41
|
+
export declare function useSelected<T extends object>(items: T[], keyFn: (item: T) => string | number, defaultSelection?: T[]): ISelected<T>;
|
42
|
+
export declare function useSelectedInMemory<T extends object>(items: T[] | undefined, keyFn: (item: T) => string | number): {
|
43
|
+
selectedItems: T[];
|
44
|
+
selectItem: (item: T) => void;
|
45
|
+
unselectItem: (item: T) => void;
|
46
|
+
isSelected: (item: T) => boolean;
|
47
|
+
selectItems: (items: T[]) => void;
|
48
|
+
selectAll: () => void;
|
49
|
+
unselectAll: () => void;
|
50
|
+
allSelected: boolean;
|
51
|
+
keyFn: (item: T) => string | number;
|
52
|
+
unselectItems: (items: T[]) => void;
|
53
|
+
};
|
54
|
+
export interface ISort<T extends object> {
|
55
|
+
id: string;
|
56
|
+
sortFn: (l: T, r: T) => number;
|
57
|
+
direction: 'asc' | 'desc';
|
58
|
+
}
|
59
|
+
export declare function useSorted<T extends object>(items: T[] | undefined): {
|
60
|
+
sorted: T[];
|
61
|
+
sort: ISort<T> | undefined;
|
62
|
+
setSort: import("react").Dispatch<import("react").SetStateAction<ISort<T> | undefined>>;
|
63
|
+
};
|
64
|
+
export declare function useFiltered<T extends object>(items: T[], keyFn: (item: T) => string | number): {
|
65
|
+
filtered: T[];
|
66
|
+
setFilterFn: (filterFn: ((item: T) => boolean) | undefined) => void;
|
67
|
+
};
|
68
|
+
export declare function usePaged<T extends object>(source: T[]): {
|
69
|
+
paged: T[];
|
70
|
+
page: number;
|
71
|
+
setPage: import("react").Dispatch<import("react").SetStateAction<number>>;
|
72
|
+
perPage: number;
|
73
|
+
setPerPage: import("react").Dispatch<import("react").SetStateAction<number>>;
|
74
|
+
};
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { Dispatch, ReactNode, SetStateAction } from 'react';
|
2
|
+
import { ICatalogBreadcrumb } from '../PageHeader';
|
3
|
+
export type PageBreadcrumbsContext = {
|
4
|
+
tabBreadcrumb?: ICatalogBreadcrumb;
|
5
|
+
setTabBreadcrumb: Dispatch<SetStateAction<ICatalogBreadcrumb | undefined>>;
|
6
|
+
};
|
7
|
+
export declare const PageBreadcrumbsContext: import("react").Context<PageBreadcrumbsContext>;
|
8
|
+
export declare function PageBreadcrumbsProvider(props: {
|
9
|
+
children: ReactNode;
|
10
|
+
}): import("react/jsx-runtime").JSX.Element;
|
11
|
+
export declare const usePageBreadcrumbs: () => PageBreadcrumbsContext;
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import './PageTabs.css';
|
2
|
+
export declare function PageRoutedTabs(props: {
|
3
|
+
backTab?: {
|
4
|
+
label: string;
|
5
|
+
page: string;
|
6
|
+
persistentFilterKey: string;
|
7
|
+
};
|
8
|
+
tabs: ({
|
9
|
+
label: string;
|
10
|
+
page: string;
|
11
|
+
dataCy?: string;
|
12
|
+
} | false)[];
|
13
|
+
params?: {
|
14
|
+
[key: string]: string | number | undefined;
|
15
|
+
};
|
16
|
+
componentParams?: {
|
17
|
+
[key: string]: unknown;
|
18
|
+
};
|
19
|
+
sharedQueryKeys?: string[];
|
20
|
+
}): import("react/jsx-runtime").JSX.Element;
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { ReactNode } from 'react';
|
2
|
+
import './PageTabs.css';
|
3
|
+
export declare function PageTabs(props: {
|
4
|
+
children: ReactNode;
|
5
|
+
initialTabIndex?: number;
|
6
|
+
loading?: boolean;
|
7
|
+
}): import("react/jsx-runtime").JSX.Element;
|
8
|
+
export declare function PageTab(props: {
|
9
|
+
label?: string;
|
10
|
+
children: ReactNode;
|
11
|
+
}): import("react/jsx-runtime").JSX.Element;
|
@@ -0,0 +1,47 @@
|
|
1
|
+
import { PerPageOptions } from '@patternfly/react-core';
|
2
|
+
import React, { Dispatch, SetStateAction } from 'react';
|
3
|
+
import { IPageAction } from '../PageActions/PageAction';
|
4
|
+
import { PageTableViewType } from './PageTableViewType';
|
5
|
+
import './PageToolbar.css';
|
6
|
+
import { IFilterState, IToolbarFilter } from './PageToolbarFilter';
|
7
|
+
import { PageTableSortOption } from './PageToolbarSort';
|
8
|
+
export type PageToolbarProps<T extends object> = {
|
9
|
+
localStorageKey?: string;
|
10
|
+
openColumnModal?: () => void;
|
11
|
+
keyFn: (item: T) => string | number;
|
12
|
+
itemCount?: number;
|
13
|
+
toolbarActions?: IPageAction<T>[];
|
14
|
+
toolbarFilters?: IToolbarFilter[];
|
15
|
+
filterState?: IFilterState;
|
16
|
+
setFilterState?: Dispatch<SetStateAction<IFilterState>>;
|
17
|
+
clearAllFilters?: () => void;
|
18
|
+
page?: number;
|
19
|
+
perPage?: number;
|
20
|
+
setPage?: (page: number) => void;
|
21
|
+
setPerPage?: (perPage: number) => void;
|
22
|
+
perPageOptions?: PerPageOptions[];
|
23
|
+
isSelected?: (item: T) => boolean;
|
24
|
+
selectedItems?: T[];
|
25
|
+
selectItem?: (item: T) => void;
|
26
|
+
unselectItem?: (item: T) => void;
|
27
|
+
selectItems?: (items: T[]) => void;
|
28
|
+
unselectAll?: () => void;
|
29
|
+
onSelect?: (item: T) => void;
|
30
|
+
showSelect?: boolean;
|
31
|
+
sort?: string;
|
32
|
+
setSort?: (sort: string) => void;
|
33
|
+
sortDirection?: 'asc' | 'desc';
|
34
|
+
setSortDirection?: (sortDirection: 'asc' | 'desc') => void;
|
35
|
+
viewType?: PageTableViewType;
|
36
|
+
setViewType?: (viewType: PageTableViewType) => void;
|
37
|
+
disableTableView?: boolean;
|
38
|
+
disableListView?: boolean;
|
39
|
+
disableCardView?: boolean;
|
40
|
+
disablePagination?: boolean;
|
41
|
+
autoHidePagination?: boolean;
|
42
|
+
sortOptions?: PageTableSortOption[];
|
43
|
+
maxSelections?: number;
|
44
|
+
toolbarContent?: React.ReactNode;
|
45
|
+
limitFiltersToOneOrOperation?: boolean;
|
46
|
+
};
|
47
|
+
export declare function PageToolbar<T extends object>(props: PageToolbarProps<T>): import("react/jsx-runtime").JSX.Element;
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { Dispatch, SetStateAction } from 'react';
|
2
|
+
import { IToolbarAsyncMultiSelectFilter } from './PageToolbarFilters/ToolbarAsyncMultiSelectFilter';
|
3
|
+
import { IToolbarAsyncSingleSelectFilter } from './PageToolbarFilters/ToolbarAsyncSingleSelectFilter';
|
4
|
+
import { IToolbarDateRangeFilter } from './PageToolbarFilters/ToolbarDateRangeFilter';
|
5
|
+
import { IToolbarMultiSelectFilter } from './PageToolbarFilters/ToolbarMultiSelectFilter';
|
6
|
+
import { IToolbarSingleSelectFilter } from './PageToolbarFilters/ToolbarSingleSelectFilter';
|
7
|
+
import { IToolbarMultiTextFilter, IToolbarSingleTextFilter } from './PageToolbarFilters/ToolbarTextFilter';
|
8
|
+
export declare enum ToolbarFilterType {
|
9
|
+
SingleText = 0,
|
10
|
+
MultiText = 1,
|
11
|
+
SingleSelect = 2,
|
12
|
+
MultiSelect = 3,
|
13
|
+
DateRange = 4,
|
14
|
+
AsyncSingleSelect = 5,
|
15
|
+
AsyncMultiSelect = 6
|
16
|
+
}
|
17
|
+
export type IToolbarFilter = IToolbarSingleTextFilter | IToolbarMultiTextFilter | IToolbarDateRangeFilter | IToolbarSingleSelectFilter | IToolbarMultiSelectFilter | IToolbarAsyncSingleSelectFilter | IToolbarAsyncMultiSelectFilter;
|
18
|
+
export type IFilterState = Record<string, string[] | undefined>;
|
19
|
+
export type PageToolbarFiltersProps = {
|
20
|
+
toolbarFilters?: IToolbarFilter[];
|
21
|
+
filterState: IFilterState;
|
22
|
+
setFilterState: Dispatch<SetStateAction<IFilterState>>;
|
23
|
+
limitFiltersToOneOrOperation?: boolean;
|
24
|
+
};
|
25
|
+
export declare function PageToolbarFilters(props: PageToolbarFiltersProps): import("react/jsx-runtime").JSX.Element;
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { PageAsyncMultiSelectOptionsFn } from '../../PageInputs/PageAsyncMultiSelect';
|
2
|
+
import { PageAsyncQueryErrorTextType } from '../../PageInputs/PageAsyncSingleSelect';
|
3
|
+
import { ToolbarFilterType } from '../PageToolbarFilter';
|
4
|
+
import { ToolbarFilterCommon } from './ToolbarFilterCommon';
|
5
|
+
type ToolbarOpenMultiSelectBrowse = (onSelect: (values: string[]) => void, defaultSelections?: string[]) => void;
|
6
|
+
export interface IToolbarAsyncMultiSelectFilter extends ToolbarFilterCommon {
|
7
|
+
type: ToolbarFilterType.AsyncMultiSelect;
|
8
|
+
queryOptions: PageAsyncMultiSelectOptionsFn<string>;
|
9
|
+
queryPlaceholder?: string;
|
10
|
+
queryErrorText?: PageAsyncQueryErrorTextType;
|
11
|
+
queryLabel?: (value: string) => Promise<string | undefined>;
|
12
|
+
openBrowse?: ToolbarOpenMultiSelectBrowse;
|
13
|
+
isRequired?: boolean;
|
14
|
+
}
|
15
|
+
export declare function multiSelectBrowseAdapter<T>(selectFn: (onItemsSelect: (itemValue: T[]) => void, itemDefaultSelections?: T[]) => void, keyFn: (item: T) => string, objectFn: (name: string) => object, customOnSelect?: (items: T[]) => void): ToolbarOpenMultiSelectBrowse;
|
16
|
+
export declare function AsyncQueryChip(props: {
|
17
|
+
value: string;
|
18
|
+
queryLabel?: (value: string) => Promise<string | undefined>;
|
19
|
+
}): import("react/jsx-runtime").JSX.Element;
|
20
|
+
export {};
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { ITableColumn, IToolbarFilter, ISelected } from '../../../framework';
|
2
|
+
import { IView, ViewExtendedOptions } from '../../useView';
|
3
|
+
import { MultiDialogs } from '../../../frontend/hub/administration/repositories/hooks/useAddCollections';
|
4
|
+
type BaseView<T extends object> = IView & ISelected<T> & {
|
5
|
+
itemCount: number | undefined;
|
6
|
+
pageItems: T[] | undefined;
|
7
|
+
refresh: () => Promise<void>;
|
8
|
+
};
|
9
|
+
export type AsyncSelectFilterBuilderProps<T extends object> = {
|
10
|
+
title: string;
|
11
|
+
tableColumns: ITableColumn<T>[];
|
12
|
+
toolbarFilters?: IToolbarFilter[];
|
13
|
+
viewParams: ViewExtendedOptions<T>;
|
14
|
+
useView: (viewParams: ViewExtendedOptions<T>) => BaseView<T>;
|
15
|
+
multiDialogs?: MultiDialogs;
|
16
|
+
};
|
17
|
+
export declare function useAsyncSingleSelectFilterBuilder<T extends object>(props: AsyncSelectFilterBuilderProps<T>): {
|
18
|
+
openBrowse: (onSelect: (value: T) => void, defaultSelection?: T) => void;
|
19
|
+
};
|
20
|
+
export declare function useAsyncMultiSelectFilterBuilder<T extends object>(props: AsyncSelectFilterBuilderProps<T>): {
|
21
|
+
openBrowse: (onSelect: (value: T[]) => void, defaultSelection?: T[]) => void;
|
22
|
+
};
|
23
|
+
export {};
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { ToolbarFilterType } from '../PageToolbarFilter';
|
2
|
+
import { PageAsyncQueryErrorTextType, PageAsyncSingleSelectOptionsFn } from './../../PageInputs/PageAsyncSingleSelect';
|
3
|
+
import { ToolbarFilterCommon } from './ToolbarFilterCommon';
|
4
|
+
type ToolbarOpenSingleSelectBrowse = (onSelect: (value: string) => void, defaultSelection?: string) => void;
|
5
|
+
export interface IToolbarAsyncSingleSelectFilter extends ToolbarFilterCommon {
|
6
|
+
type: ToolbarFilterType.AsyncSingleSelect;
|
7
|
+
queryOptions: PageAsyncSingleSelectOptionsFn<string>;
|
8
|
+
queryPlaceholder?: string;
|
9
|
+
queryErrorText?: PageAsyncQueryErrorTextType;
|
10
|
+
openBrowse?: ToolbarOpenSingleSelectBrowse;
|
11
|
+
queryLabel?: (value: string) => Promise<string | undefined>;
|
12
|
+
isRequired?: boolean;
|
13
|
+
}
|
14
|
+
export declare function singleSelectBrowseAdapter<T>(selectFn: (onItemSelect: (itemValue: T) => void, itemDefaultSelection?: T) => void, keyFn: (item: T) => string, objectFn: (name: string) => object, customOnSelect?: (item: T) => void): ToolbarOpenSingleSelectBrowse;
|
15
|
+
export {};
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import { ToolbarFilterType } from '../PageToolbarFilter';
|
2
|
+
import { ToolbarFilterCommon } from './ToolbarFilterCommon';
|
3
|
+
export interface IToolbarDateRangeFilter extends ToolbarFilterCommon {
|
4
|
+
type: ToolbarFilterType.DateRange;
|
5
|
+
options: IToolbarDateFilterOption[];
|
6
|
+
isRequired?: boolean;
|
7
|
+
defaultValue?: string;
|
8
|
+
isPinned?: true;
|
9
|
+
}
|
10
|
+
interface IToolbarDateFilterOption {
|
11
|
+
label: string;
|
12
|
+
description?: string;
|
13
|
+
value: string;
|
14
|
+
isCustom?: boolean;
|
15
|
+
}
|
16
|
+
export interface IToolbarDateRangeFilterProps {
|
17
|
+
id?: string;
|
18
|
+
label?: string;
|
19
|
+
placeholder: string;
|
20
|
+
filterValues?: string[] | undefined;
|
21
|
+
setFilterValues: (setter: (prevValues: string[] | undefined) => string[]) => void;
|
22
|
+
options: IToolbarDateFilterOption[];
|
23
|
+
isRequired?: boolean;
|
24
|
+
defaultValue?: string;
|
25
|
+
}
|
26
|
+
export declare function ToolbarDateRangeFilter(props: IToolbarDateRangeFilterProps): import("react/jsx-runtime").JSX.Element;
|
27
|
+
export declare function DateRange(props: {
|
28
|
+
to?: string;
|
29
|
+
setTo: (value?: string) => void;
|
30
|
+
from?: string;
|
31
|
+
setFrom: (value?: string) => void;
|
32
|
+
}): import("react/jsx-runtime").JSX.Element;
|
33
|
+
export {};
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { PageSelectOption } from '../../PageInputs/PageSelectOption';
|
2
|
+
import { ToolbarFilterType } from '../PageToolbarFilter';
|
3
|
+
import { ToolbarFilterCommon } from './ToolbarFilterCommon';
|
4
|
+
export interface IToolbarMultiSelectFilter extends ToolbarFilterCommon {
|
5
|
+
type: ToolbarFilterType.MultiSelect;
|
6
|
+
options: PageSelectOption<string>[];
|
7
|
+
placeholder: string;
|
8
|
+
}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { PageSelectOption } from '../../PageInputs/PageSelectOption';
|
2
|
+
import { ToolbarFilterType } from '../PageToolbarFilter';
|
3
|
+
import { ToolbarFilterCommon } from './ToolbarFilterCommon';
|
4
|
+
export interface IToolbarSingleSelectFilter extends ToolbarFilterCommon {
|
5
|
+
type: ToolbarFilterType.SingleSelect;
|
6
|
+
options: PageSelectOption<string>[];
|
7
|
+
isRequired?: boolean;
|
8
|
+
placeholder: string;
|
9
|
+
}
|