@progress/kendo-react-grid 13.3.0-develop.9 → 13.4.0-develop.1
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/BasePDFExport.d.ts +31 -0
- package/Grid.d.ts +129 -0
- package/GridClientContextReader.d.ts +17 -0
- package/GridClientWrapper.d.ts +32 -0
- package/GridClientWrapper.js +1 -1
- package/GridClientWrapper.mjs +21 -25
- package/GridColumn.d.ts +51 -0
- package/GridComponent.d.ts +14 -0
- package/GridComponent.js +1 -1
- package/GridComponent.mjs +35 -35
- package/GridPdfExportButton.d.ts +18 -0
- package/GridSearchBox.d.ts +27 -0
- package/GridState.d.ts +30 -0
- package/GridToolbar.d.ts +48 -0
- package/ScrollMode.d.ts +8 -0
- package/StatusBar.d.ts +59 -0
- package/VirtualScroll.d.ts +45 -0
- package/cells/GridDetailHierarchyCell.d.ts +16 -0
- package/cells/GridFilterCell.d.ts +10 -0
- package/cells/GridFilterCell.mjs +4 -4
- package/cells/datacell/GridCell.d.ts +15 -0
- package/cells/datacell/GridCellServer.d.ts +15 -0
- package/cells/datacell/GridCellServerContainer.d.ts +11 -0
- package/cells/datacell/useCellClientTdProps.d.ts +69 -0
- package/cells/datacell/utils.d.ts +20 -0
- package/cells/detailcell/GridDetailCell.d.ts +23 -0
- package/cells/detailcell/GridDetailCellServer.d.ts +11 -0
- package/cells/detailcell/GridDetailCellServerContainer.d.ts +12 -0
- package/cells/detailcell/useDetailCellClientTdProps.d.ts +23 -0
- package/cells/detailcell/utils.d.ts +19 -0
- package/cells/editcell/GridEditCell.d.ts +15 -0
- package/cells/editcell/GridEditCellEditor.d.ts +11 -0
- package/cells/editcell/GridEditCellServer.d.ts +15 -0
- package/cells/editcell/GridEditCellServerContainer.d.ts +11 -0
- package/cells/editcell/useEditCellClientTdProps.d.ts +25 -0
- package/cells/editcell/utils.d.ts +19 -0
- package/cells/groupcell/GridGroupCell.d.ts +15 -0
- package/cells/groupcell/GridGroupCellServer.d.ts +15 -0
- package/cells/groupcell/GridGroupCellServerContainer.d.ts +12 -0
- package/cells/groupcell/GridGroupCellToggle.d.ts +13 -0
- package/cells/groupcell/useGroupCellClientTdProps.d.ts +41 -0
- package/cells/groupcell/utils.d.ts +22 -0
- package/cells/hierarchycell/GridHierarchyCell.d.ts +15 -0
- package/cells/hierarchycell/GridHierarchyCellServer.d.ts +15 -0
- package/cells/hierarchycell/GridHierarchyCellServerContainer.d.ts +11 -0
- package/cells/hierarchycell/GridHierarchyCellToggle.d.ts +13 -0
- package/cells/hierarchycell/GridHierarchyCellToggle.mjs +2 -2
- package/cells/hierarchycell/useHierarchyCellClientTdProps.d.ts +32 -0
- package/cells/hierarchycell/utils.d.ts +20 -0
- package/cells/hooks.d.ts +25 -0
- package/cells/rowreordercell/GridRowReorderCell.d.ts +15 -0
- package/cells/rowreordercell/GridRowReorderCellServer.d.ts +15 -0
- package/cells/rowreordercell/GridRowReorderCellServerContainer.d.ts +11 -0
- package/cells/rowreordercell/useRowReorderCellClientTdProps.d.ts +27 -0
- package/cells/rowreordercell/utils.d.ts +15 -0
- package/cells/selectioncell/GridSelectionCell.d.ts +15 -0
- package/cells/selectioncell/GridSelectionCellInput.d.ts +13 -0
- package/cells/selectioncell/GridSelectionCellServer.d.ts +15 -0
- package/cells/selectioncell/GridSelectionCellServerContainer.d.ts +11 -0
- package/cells/selectioncell/useSelectionCellClientTdProps.d.ts +25 -0
- package/cells/selectioncell/utils.d.ts +25 -0
- package/codemods/v11/cell-render.js +2 -9
- package/codemods/v11/column-cell.js +2 -9
- package/codemods/v11/column-filter-cell.js +2 -9
- package/codemods/v11/column-footer-cell.js +2 -9
- package/codemods/v11/column-header-cell.js +2 -9
- package/codemods/v11/detail-expand-state.js +2 -9
- package/codemods/v11/edit-state.js +2 -9
- package/codemods/v11/filter-cell-render.js +2 -9
- package/codemods/v11/group-expand-state.js +2 -9
- package/codemods/v11/header-cell-render.js +2 -9
- package/codemods/v11/index.js +0 -7
- package/codemods/v11/row-render.js +2 -9
- package/codemods/v11/selection-state.js +2 -9
- package/codemods/v11/utils.js +2 -9
- package/columnMenu/GridColumnMenuCheckboxFilter.d.ts +58 -0
- package/columnMenu/GridColumnMenuCheckboxFilter.js +1 -1
- package/columnMenu/GridColumnMenuCheckboxFilter.mjs +0 -1
- package/columnMenu/GridColumnMenuColumnsChooser.d.ts +30 -0
- package/columnMenu/GridColumnMenuColumnsList.d.ts +34 -0
- package/columnMenu/GridColumnMenuFilter.d.ts +101 -0
- package/columnMenu/GridColumnMenuFilterCell.d.ts +29 -0
- package/columnMenu/GridColumnMenuFilterUI.d.ts +13 -0
- package/columnMenu/GridColumnMenuGroup.d.ts +61 -0
- package/columnMenu/GridColumnMenuGroup.mjs +3 -3
- package/columnMenu/GridColumnMenuItem.d.ts +48 -0
- package/columnMenu/GridColumnMenuItemContent.d.ts +22 -0
- package/columnMenu/GridColumnMenuItemGroup.d.ts +18 -0
- package/columnMenu/GridColumnMenuSort.d.ts +67 -0
- package/columnMenu/GridColumnMenuWrapper.d.ts +33 -0
- package/columnMenu/GridColumnMenuWrapper.mjs +5 -5
- package/columnMenu/adaptiveContent/GridActionSheetFooter.d.ts +26 -0
- package/columnMenu/adaptiveContent/GridAdaptiveCheckboxFilter.d.ts +27 -0
- package/columnMenu/adaptiveContent/GridAdaptiveCheckboxFilter.mjs +4 -4
- package/columnMenu/adaptiveContent/GridAdaptiveColumnChooser.d.ts +32 -0
- package/columnMenu/adaptiveContent/GridAdaptiveColumnChooser.mjs +3 -3
- package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.d.ts +12 -0
- package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.js +1 -1
- package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.mjs +4 -4
- package/columnMenu/adaptiveContent/GridAdaptiveFilterMenu.d.ts +27 -0
- package/columnMenu/adaptiveContent/GridAdaptiveFilterMenu.mjs +8 -8
- package/columnMenu/adaptiveContext/GridColumnMenuAdaptiveContext.d.ts +23 -0
- package/components/GridContainerElementContainer.d.ts +12 -0
- package/components/GridDragClue.d.ts +12 -0
- package/components/GridDraggableRowsContainer.d.ts +20 -0
- package/components/GridDropClue.d.ts +12 -0
- package/components/GridEditDialog.d.ts +22 -0
- package/components/GridEditDialog.mjs +1 -1
- package/components/GridElementContainer.d.ts +14 -0
- package/components/GridLoader.d.ts +17 -0
- package/components/PagerContainer.d.ts +12 -0
- package/components/VirtualScrollHeightContainer.d.ts +12 -0
- package/components/colGroup/GridColGroup.d.ts +12 -0
- package/components/icons/reorder-row-svg.d.ts +12 -0
- package/components/noRecords/GridNoRecords.d.ts +31 -0
- package/components/noRecords/GridNoRecordsContainer.d.ts +15 -0
- package/components/noRecords/GridNoRecordsContainer.mjs +1 -1
- package/components/table/GridTable.d.ts +12 -0
- package/components/table/GridTableBody.d.ts +12 -0
- package/components/table/GridTableScrollable.d.ts +12 -0
- package/components/utils.d.ts +21 -0
- package/constants/index.d.ts +15 -0
- package/constants/index.mjs +2 -2
- package/contextMenu/GridContextMenu.d.ts +205 -0
- package/contextMenu/GridContextMenu.mjs +19 -19
- package/contextMenu/enums.d.ts +36 -0
- package/dist/cdn/js/kendo-react-grid.js +1 -1
- package/drag/ColumnDraggable.d.ts +26 -0
- package/drag/ColumnResize.d.ts +47 -0
- package/drag/CommonDragLogic.d.ts +50 -0
- package/drag/GroupingIndicator.d.ts +26 -0
- package/drag/GroupingIndicator.js +1 -1
- package/drag/GroupingIndicator.mjs +20 -20
- package/filterCommon.d.ts +86 -0
- package/footer/Footer.d.ts +38 -0
- package/footer/Footer.js +1 -1
- package/footer/Footer.mjs +9 -9
- package/footer/FooterCell.d.ts +19 -0
- package/footer/FooterRow.d.ts +23 -0
- package/footer/client/FooterCellContainer.d.ts +12 -0
- package/header/FilterRow.d.ts +35 -0
- package/header/GridHeaderCell.d.ts +48 -0
- package/header/GridHeaderSelectionCell.d.ts +13 -0
- package/header/GroupPanel.d.ts +23 -0
- package/header/GroupPanel.js +1 -1
- package/header/GroupPanel.mjs +11 -11
- package/header/Header.d.ts +44 -0
- package/header/Header.js +1 -1
- package/header/Header.mjs +1 -1
- package/header/HeaderRow.d.ts +45 -0
- package/header/client/GridFilterCellContainer.d.ts +12 -0
- package/header/client/GridFilterCellElementContainer.d.ts +12 -0
- package/header/client/GridHeaderCellContainer.d.ts +12 -0
- package/header/client/GridHeaderCellElementContainer.d.ts +12 -0
- package/header/client/GridHeaderRowContainer.d.ts +16 -0
- package/header/client/GridHeaderRowReorderCell.d.ts +12 -0
- package/header/client/HeaderCellResizer.d.ts +11 -0
- package/header/client/HeaderRowDraggable.d.ts +11 -0
- package/index.d.mts +84 -5356
- package/index.d.ts +84 -5356
- package/interfaces/ColumnType.d.ts +13 -0
- package/interfaces/CompositeHighlightDescriptor.d.ts +29 -0
- package/interfaces/GridAIAssistantCommand.d.ts +110 -0
- package/interfaces/GridAICommands.d.ts +60 -0
- package/interfaces/GridCellProps.d.ts +112 -0
- package/interfaces/GridCellRenderModel.d.ts +15 -0
- package/interfaces/GridCellsSettings.d.ts +366 -0
- package/interfaces/GridColSpanProps.d.ts +21 -0
- package/interfaces/GridColumnChildrenProps.d.ts +18 -0
- package/interfaces/GridColumnMenuBaseProps.d.ts +21 -0
- package/interfaces/GridColumnMenuColumnProps.d.ts +32 -0
- package/interfaces/GridColumnMenuColumnsChooserBaseProps.d.ts +22 -0
- package/interfaces/GridColumnMenuFilterBaseProps.d.ts +31 -0
- package/interfaces/GridColumnMenuFilterUIProps.d.ts +38 -0
- package/interfaces/GridColumnMenuGroupBaseProps.d.ts +26 -0
- package/interfaces/GridColumnMenuProps.d.ts +24 -0
- package/interfaces/GridColumnMenuSortBaseProps.d.ts +27 -0
- package/interfaces/GridColumnProps.d.ts +230 -0
- package/interfaces/GridColumnState.d.ts +52 -0
- package/interfaces/GridDataType.d.ts +12 -0
- package/interfaces/GridDetailExpandableSettings.d.ts +11 -0
- package/interfaces/GridDetailRowProps.d.ts +20 -0
- package/interfaces/GridEditDialogProps.d.ts +30 -0
- package/interfaces/GridEditableSettings.d.ts +16 -0
- package/interfaces/GridFilterCellProps.d.ts +67 -0
- package/interfaces/GridFilterOperator.d.ts +13 -0
- package/interfaces/GridFilterOperators.d.ts +56 -0
- package/interfaces/GridFooterCellProps.d.ts +29 -0
- package/interfaces/GridGroupExpandableSettings.d.ts +22 -0
- package/interfaces/GridGroupableSettings.d.ts +25 -0
- package/interfaces/GridHeaderCellProps.d.ts +23 -0
- package/interfaces/GridHighlightDescriptor.d.ts +16 -0
- package/interfaces/GridNoRecordsProps.d.ts +16 -0
- package/interfaces/GridProps.d.ts +1083 -0
- package/interfaces/GridReorderDropDir.d.ts +11 -0
- package/interfaces/GridRowProps.d.ts +75 -0
- package/interfaces/GridRowReorderSettings.d.ts +25 -0
- package/interfaces/GridRowSpannableSettings.d.ts +21 -0
- package/interfaces/GridRowType.d.ts +16 -0
- package/interfaces/GridRowsSettings.d.ts +57 -0
- package/interfaces/GridSelectableSettings.d.ts +25 -0
- package/interfaces/GridSortSettings.d.ts +26 -0
- package/interfaces/GridStackedLayoutSettings.d.ts +60 -0
- package/interfaces/GridToolbarProps.d.ts +17 -0
- package/interfaces/VirtualScrollInterface.d.ts +29 -0
- package/interfaces/events.d.ts +357 -0
- package/interfaces/index.d.ts +15 -0
- package/messages/index.d.ts +365 -0
- package/messages/messagesMap.d.ts +14 -0
- package/package-metadata.d.ts +12 -0
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +10 -16
- package/package.json +17 -17
- package/paging/GridPagerSettings.d.ts +89 -0
- package/paging/Page.d.ts +20 -0
- package/rows/GridDetailRow.d.ts +41 -0
- package/rows/GridDetailRowRenderer.d.ts +48 -0
- package/rows/GridRow.d.ts +13 -0
- package/rows/GridRowRenderer.d.ts +47 -0
- package/sortCommon.d.ts +20 -0
- package/stacked/GridStackedCell.d.ts +67 -0
- package/stacked/GridStackedDetailToggle.d.ts +20 -0
- package/stacked/GridStackedDetailToggle.mjs +2 -2
- package/stacked/GridStackedRow.d.ts +214 -0
- package/stacked/StackedModeComponents.d.ts +45 -0
- package/stacked/StackedModeRow.d.ts +46 -0
- package/toolbar-tools/GridToolbarAIAssistant.d.ts +246 -0
- package/toolbar-tools/GridToolbarCheckboxFilter.d.ts +89 -0
- package/toolbar-tools/GridToolbarCheckboxFilter.js +1 -1
- package/toolbar-tools/GridToolbarCheckboxFilter.mjs +0 -1
- package/toolbar-tools/GridToolbarColumnsChooser.d.ts +55 -0
- package/toolbar-tools/GridToolbarFilter.d.ts +72 -0
- package/toolbar-tools/GridToolbarFilter.mjs +5 -5
- package/toolbar-tools/GridToolbarGroup.d.ts +55 -0
- package/toolbar-tools/GridToolbarSeparator.d.ts +21 -0
- package/toolbar-tools/GridToolbarSort.d.ts +55 -0
- package/toolbar-tools/GridToolbarSpacer.d.ts +21 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarCheckboxFilter.d.ts +35 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarCheckboxFilter.mjs +3 -3
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarColumnChooser.d.ts +33 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarColumnChooser.mjs +3 -3
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarFilter.d.ts +34 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarFilter.mjs +3 -3
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarGroup.d.ts +26 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarSort.d.ts +27 -0
- package/toolbar-tools/adaptiveContext/GridToolbarAdaptiveContext.d.ts +23 -0
- package/toolbar-tools/ai-tool/GridAIPrompt.d.ts +160 -0
- package/utils/GridContext.d.ts +12 -0
- package/utils/_clientModule.d.ts +11 -0
- package/utils/_serverModule.d.ts +12 -0
- package/utils/handleAIResponse.d.ts +221 -0
- package/utils/index.d.ts +185 -0
- package/utils/index.js +1 -1
- package/utils/index.mjs +2 -2
- package/utils/premium.d.ts +31 -0
- package/utils/virtualColumns.d.ts +18 -0
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import { SpeechToTextButtonProps } from '@progress/kendo-react-buttons';
|
|
9
|
+
import { SVGIcon } from '@progress/kendo-svg-icons';
|
|
10
|
+
import { AxiosResponse, AxiosRequestConfig } from 'axios';
|
|
11
|
+
import { CustomComponent } from '@progress/kendo-react-common';
|
|
12
|
+
import { AIPromptOutputInterface } from '@progress/kendo-react-conversational-ui';
|
|
13
|
+
import { GridAIPromptProps } from './ai-tool/GridAIPrompt.js';
|
|
14
|
+
import * as React from 'react';
|
|
15
|
+
/**
|
|
16
|
+
* Represents the handle interface for the GridToolbarAIAssistant component.
|
|
17
|
+
*/
|
|
18
|
+
export interface GridToolbarAIAssistantHandle {
|
|
19
|
+
/**
|
|
20
|
+
* Shows the AI assistant prompt interface.
|
|
21
|
+
*/
|
|
22
|
+
show: () => void;
|
|
23
|
+
/**
|
|
24
|
+
* Hides the AI assistant prompt interface.
|
|
25
|
+
*/
|
|
26
|
+
hide: () => void;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Represents the request data structure for the GridToolbarAIAssistant component.
|
|
30
|
+
*/
|
|
31
|
+
export interface GridToolbarAIAssistantRequestData {
|
|
32
|
+
/**
|
|
33
|
+
* The role or context for the AI request.
|
|
34
|
+
*/
|
|
35
|
+
role: string;
|
|
36
|
+
/**
|
|
37
|
+
* The array of column definitions with their field names.
|
|
38
|
+
*/
|
|
39
|
+
columns: Array<{
|
|
40
|
+
field: string;
|
|
41
|
+
}>;
|
|
42
|
+
/**
|
|
43
|
+
* The headers object containing key-value pairs for the request.
|
|
44
|
+
*/
|
|
45
|
+
headers: Record<string, string>;
|
|
46
|
+
/**
|
|
47
|
+
* The prompt message sent to the AI assistant.
|
|
48
|
+
*/
|
|
49
|
+
promptMessage: string;
|
|
50
|
+
/**
|
|
51
|
+
* The request configuration options for the HTTP request.
|
|
52
|
+
*/
|
|
53
|
+
requestOptions: {
|
|
54
|
+
url?: string;
|
|
55
|
+
method?: string;
|
|
56
|
+
withCredentials?: boolean;
|
|
57
|
+
responseType?: string;
|
|
58
|
+
cancelToken?: any;
|
|
59
|
+
[key: string]: any;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Represents the props interface for the GridToolbarAIAssistant component.
|
|
64
|
+
* This component provides AI-powered functionality for grid operations through natural language prompts.
|
|
65
|
+
* Users can request sorting, filtering, grouping, and highlighting through conversational input.
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```tsx
|
|
69
|
+
* <Grid data={products}>
|
|
70
|
+
* <GridToolbar>
|
|
71
|
+
* <GridToolbarAIAssistant
|
|
72
|
+
* requestUrl="/api/ai/grid"
|
|
73
|
+
* promptPlaceHolder="Ask AI to sort, filter, or group your data"
|
|
74
|
+
* suggestionsList={[
|
|
75
|
+
* 'Sort products by price',
|
|
76
|
+
* 'Show only electronics',
|
|
77
|
+
* 'Group by category'
|
|
78
|
+
* ]}
|
|
79
|
+
* onResponseSuccess={(response) => console.log('AI processed:', response)}
|
|
80
|
+
* />
|
|
81
|
+
* </GridToolbar>
|
|
82
|
+
* </Grid>
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
export interface GridToolbarAIAssistantProps {
|
|
86
|
+
/**
|
|
87
|
+
* Defines the URL to which the request will be sent.
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```jsx
|
|
91
|
+
* <GridToolbarAIAssistant requestUrl="https://example.com/api/ai" />
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
requestUrl?: string;
|
|
95
|
+
/**
|
|
96
|
+
* Enables the speech-to-text functionality for the input of the GridToolbarAIAssistant.
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```jsx
|
|
100
|
+
* <GridToolbarAIAssistant enableSpeechToText={true} />
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
103
|
+
enableSpeechToText?: boolean | SpeechToTextButtonProps;
|
|
104
|
+
/**
|
|
105
|
+
* Defines the placeholder text for the AI prompt input.
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```jsx
|
|
109
|
+
* <GridToolbarAIAssistant promptPlaceHolder="Ask AI to filter, sort or group" />
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
112
|
+
promptPlaceHolder?: string;
|
|
113
|
+
/**
|
|
114
|
+
* Defines the list of suggestions for the AI prompt.
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```jsx
|
|
118
|
+
* <GridToolbarAIAssistant suggestionsList={['Sort by Amount', 'Group by Account Type']} />
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
suggestionsList?: string[];
|
|
122
|
+
/**
|
|
123
|
+
* Defines if the AI prompt is in streaming mode.
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
* ```jsx
|
|
127
|
+
* <GridToolbarAIAssistant streaming={true} />
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
streaming?: boolean;
|
|
131
|
+
/**
|
|
132
|
+
* Defines if the AI prompt is in loading mode.
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```jsx
|
|
136
|
+
* <GridToolbarAIAssistant loading={true} />
|
|
137
|
+
* ```
|
|
138
|
+
*/
|
|
139
|
+
loading?: boolean;
|
|
140
|
+
/**
|
|
141
|
+
* Defines the outputs of the AI prompt.
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
* ```jsx
|
|
145
|
+
* <GridToolbarAIAssistant outputs={[{ id: 1, title: 'Output 1', responseContent: '...' }]} />
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
outputs?: AIPromptOutputInterface[];
|
|
149
|
+
/**
|
|
150
|
+
* Defines the options for the axios request.
|
|
151
|
+
*
|
|
152
|
+
* @example
|
|
153
|
+
* ```jsx
|
|
154
|
+
* <GridToolbarAIAssistant requestOptions={{ timeout: 5000 }} />
|
|
155
|
+
* ```
|
|
156
|
+
*/
|
|
157
|
+
requestOptions?: AxiosRequestConfig;
|
|
158
|
+
/**
|
|
159
|
+
* Called before the request is sent.
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```jsx
|
|
163
|
+
* <GridToolbarAIAssistant onPromptRequest={(request) => console.log(request)} />
|
|
164
|
+
* ```
|
|
165
|
+
*/
|
|
166
|
+
onPromptRequest?: (request: GridToolbarAIAssistantRequestData, isRetry?: boolean) => void;
|
|
167
|
+
/**
|
|
168
|
+
* Called when the response is received.
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```jsx
|
|
172
|
+
* <GridToolbarAIAssistant onResponseSuccess={(response) => console.log(response)} />
|
|
173
|
+
* ```
|
|
174
|
+
*/
|
|
175
|
+
onResponseSuccess?: (response: AxiosResponse<any>, promptMessage?: string, isRetry?: boolean) => void;
|
|
176
|
+
/**
|
|
177
|
+
* Called when the response returns an error.
|
|
178
|
+
*
|
|
179
|
+
* @example
|
|
180
|
+
* ```jsx
|
|
181
|
+
* <GridToolbarAIAssistant onResponseError={(error) => console.error(error)} />
|
|
182
|
+
* ```
|
|
183
|
+
*/
|
|
184
|
+
onResponseError?: (error: any) => void;
|
|
185
|
+
/**
|
|
186
|
+
* Defines the user role for the request. Defaults to 'user'.
|
|
187
|
+
*
|
|
188
|
+
* @example
|
|
189
|
+
* ```jsx
|
|
190
|
+
* <GridToolbarAIAssistant role="admin" />
|
|
191
|
+
* ```
|
|
192
|
+
*/
|
|
193
|
+
role?: string;
|
|
194
|
+
/**
|
|
195
|
+
* Customizes the AI prompt component.
|
|
196
|
+
*
|
|
197
|
+
* @example
|
|
198
|
+
* ```jsx
|
|
199
|
+
* <GridToolbarAIAssistant gridAIPrompt={MyCustomPromptComponent} />
|
|
200
|
+
* ```
|
|
201
|
+
*/
|
|
202
|
+
gridAIPrompt?: CustomComponent<GridAIPromptProps>;
|
|
203
|
+
/**
|
|
204
|
+
* Defines the icon rendered in the GridToolbarAIAssistant tool ([see example](https://www.telerik.com/kendo-react-ui/components/common/icon)).
|
|
205
|
+
*
|
|
206
|
+
* @example
|
|
207
|
+
* ```jsx
|
|
208
|
+
* <GridToolbarAIAssistant icon="home" />
|
|
209
|
+
* ```
|
|
210
|
+
*/
|
|
211
|
+
icon?: string;
|
|
212
|
+
/**
|
|
213
|
+
* Defines the SVG icon rendered in the GridToolbarAIAssistant tool ([see example](https://www.telerik.com/kendo-react-ui/components/common/svgicon)).
|
|
214
|
+
*
|
|
215
|
+
* @example
|
|
216
|
+
* ```jsx
|
|
217
|
+
* import { gearIcon } from '@progress/kendo-svg-icons';
|
|
218
|
+
*
|
|
219
|
+
* <GridToolbarAIAssistant svgIcon={gearIcon} />
|
|
220
|
+
* ```
|
|
221
|
+
*/
|
|
222
|
+
svgIcon?: SVGIcon;
|
|
223
|
+
/**
|
|
224
|
+
* Specifies if the popup will be displayed.
|
|
225
|
+
*
|
|
226
|
+
* @example
|
|
227
|
+
* ```jsx
|
|
228
|
+
* <GridToolbarAIAssistant show={true} />
|
|
229
|
+
* ```
|
|
230
|
+
*/
|
|
231
|
+
show?: boolean;
|
|
232
|
+
/**
|
|
233
|
+
* The method that will be called to close the column menu.
|
|
234
|
+
*
|
|
235
|
+
* @example
|
|
236
|
+
* ```jsx
|
|
237
|
+
* <GridToolbarAIAssistant onCloseWindow={() => console.log('close menu');} />
|
|
238
|
+
* ```
|
|
239
|
+
*/
|
|
240
|
+
onCloseWindow?: () => void;
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Represents the GridToolbarAIAssistant component.
|
|
244
|
+
*/
|
|
245
|
+
declare const GridToolbarAIAssistant: React.ForwardRefExoticComponent<GridToolbarAIAssistantProps & React.RefAttributes<GridToolbarAIAssistantHandle>>;
|
|
246
|
+
export { GridToolbarAIAssistant };
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import { SVGIcon } from '@progress/kendo-react-common';
|
|
9
|
+
import * as React from 'react';
|
|
10
|
+
export interface GridToolbarCheckboxFilterProps {
|
|
11
|
+
/**
|
|
12
|
+
* Sets the items collection that will be rendered by the GridToolbarCheckboxFilter component.
|
|
13
|
+
*/
|
|
14
|
+
data: Array<string | object>;
|
|
15
|
+
/**
|
|
16
|
+
* Defines the icon rendered in the GridToolbarCheckboxFilter tool ([see example](https://www.telerik.com/kendo-react-ui/components/common/icon)).
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```jsx
|
|
20
|
+
* <GridToolbarCheckboxFilter icon="home" />
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
icon?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Defines the SVG icon rendered in the GridToolbarCheckboxFilter tool ([see example](https://www.telerik.com/kendo-react-ui/components/common/svgicon)).
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```jsx
|
|
29
|
+
* import { gearIcon } from '@progress/kendo-svg-icons';
|
|
30
|
+
*
|
|
31
|
+
* <GridToolbarCheckboxFilter svgIcon={gearIcon} />
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
svgIcon?: SVGIcon;
|
|
35
|
+
/**
|
|
36
|
+
* Defines the component that will be rendered as a search box.
|
|
37
|
+
*
|
|
38
|
+
*/
|
|
39
|
+
searchBox?: React.ComponentType<any>;
|
|
40
|
+
/**
|
|
41
|
+
* Defines the filter operator that will be used to filter the values via the search box.
|
|
42
|
+
* "startswith"
|
|
43
|
+
* "endswith"
|
|
44
|
+
* "contains"
|
|
45
|
+
* "doesnotcontain"
|
|
46
|
+
* "isempty"
|
|
47
|
+
* "isnotempty"
|
|
48
|
+
* "eq" (equal to)
|
|
49
|
+
* "eq" (equal to)
|
|
50
|
+
* "neq" (not equal to)
|
|
51
|
+
* "isnull" (is equal to null)
|
|
52
|
+
* "isnotnull" (is not equal to null)
|
|
53
|
+
*/
|
|
54
|
+
searchBoxFilterOperator?: string | Function;
|
|
55
|
+
/**
|
|
56
|
+
* Determines if the data in the component will be unique. By default the property is set to true.
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```jsx
|
|
60
|
+
* <GridToolbarCheckboxFilter uniqueData={true} />
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
uniqueData?: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Specifies if the popup will be displayed.
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```jsx
|
|
69
|
+
* <GridToolbarCheckboxFilter show={true} />
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
show?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* The method that will be called to close the column menu.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```jsx
|
|
78
|
+
* <GridToolbarCheckboxFilter onCloseMenu={() => console.log('close menu');} />
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
onCloseMenu?: Function;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Represents the GridToolbarCheckboxFilter component.
|
|
85
|
+
*/
|
|
86
|
+
export declare const GridToolbarCheckboxFilter: {
|
|
87
|
+
(props: GridToolbarCheckboxFilterProps): React.JSX.Element;
|
|
88
|
+
displayName: string;
|
|
89
|
+
};
|
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const qe=require("react"),ye=require("react-dom"),E=require("@progress/kendo-react-common"),De=require("../columnMenu/GridColumnMenuItem.js"),we=require("../columnMenu/GridColumnMenuItemContent.js"),Ne=require("../columnMenu/GridColumnMenuItemGroup.js"),Ae=require("../utils/GridContext.js"),F=require("@progress/kendo-svg-icons"),ce=require("@progress/kendo-data-query"),B=require("@progress/kendo-react-buttons"),V=require("@progress/kendo-react-inputs"),o=require("../messages/index.js"),Ge=require("@progress/kendo-react-intl"),se=require("../utils/index.js"),Oe=require("../columnMenu/GridColumnMenuCheckboxFilter.js"),Te=require("./adaptiveContent/GridAdaptiveToolbarCheckboxFilter.js"),Pe=require("@progress/kendo-react-popup"),ue=require("@progress/kendo-react-indicators"),Le=require("./adaptiveContext/GridToolbarAdaptiveContext.js");function Ve(l){const m=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(l){for(const k in l)if(k!=="default"){const v=Object.getOwnPropertyDescriptor(l,k);Object.defineProperty(m,k,v.get?v:{enumerable:!0,get:()=>l[k]})}}return m.default=l,Object.freeze(m)}const n=Ve(qe),je={uniqueData:!0},de=l=>{var oe,ie;const{uniqueData:m=je.uniqueData,svgIcon:k,icon:v}=l,c=n.useContext(Ae.GridContext),C=c.columnsRef,M=c.defaultFilter,[D,I]=n.useState(!1),x=n.useRef(null),w=n.useRef(null),j=n.useRef(null),N=n.useRef(0),g=Ge.useLocalization(),i=n.useRef(null),fe=E.useDocument(x),A=()=>M?E.clone(M):{filters:[],logic:"and"},me=()=>{var r;const e=(r=i==null?void 0:i.current)==null?void 0:r.field;return A().filters.findIndex(u=>u.filters&&u.filters.length>0&&u.filters[0].field===e)},b=(e,t)=>{var u;const a=((u=i==null?void 0:i.current)==null?void 0:u.field)||"",r=e.map(d=>se.getNestedValue(a,d));return t?r.filter((d,y)=>r.indexOf(d)===y):r},s=n.useRef(me()),[ge,S]=n.useState(!1),[h,z]=n.useState((C==null?void 0:C.map(e=>({column:e,expanded:!1})))||[]),[K,_]=n.useState(""),[q,p]=n.useState(b(l.data,m)||[]),[R,$]=n.useState(b(l.data,!1)||[]),[f,H]=n.useState(A()),[he,Q]=n.useState(!1),ke=g.toLanguageString(o.filterClearButton,o.messages[o.filterClearButton]),W=n.useMemo(()=>(C==null?void 0:C.filter(e=>{var t;return(t=e.title||e.field)==null?void 0:t.toLowerCase()}))||[],[C]);n.useEffect(()=>{M&&S(!0)},[M]),n.useEffect(()=>{var a;const e=((a=i==null?void 0:i.current)==null?void 0:a.field)||"",t=l.data.map(r=>se.getNestedValue(e,r));Oe.isArrayEqual(t,R)||(p(t),$(t))},[R,l.data]),n.useEffect(()=>{h.find(e=>e.expanded)&&p(b(l.data,m)||[])},[h,l.data,m]);const J=n.useCallback(e=>{const t=f.filters.some(a=>a.field===e.field);return n.createElement(n.Fragment,null,e.title||e.field,t&&n.createElement("span",{className:"k-columnmenu-indicators"},n.createElement(E.SvgIcon,{key:1,icon:F.filterIcon})))},[f]),U=n.useCallback((e,t)=>{z(a=>(i.current=t,a.map(r=>r.column.field===t.field?{...r,expanded:!r.expanded}:{...r,expanded:!1}))),p(b(l.data,m)||[]),$(b(l.data,m)||[]),Q(!he)},[]),X=e=>{var r;const t=l.searchBoxFilterOperator?l.searchBoxFilterOperator:"startswith",a={logic:"and",filters:[{field:(r=i==null?void 0:i.current)==null?void 0:r.field,operator:t,value:e.target.value,ignoreCase:!0}]};_(e.target.value),p(b(ce.filterBy(l.data||[],a),m))},Ce=()=>{var a;const e=l.searchBoxFilterOperator?l.searchBoxFilterOperator:"startswith",t={logic:"and",filters:[{field:(a=i==null?void 0:i.current)==null?void 0:a.field,operator:e,value:"",ignoreCase:!0}]};_(""),p(b(ce.filterBy(l.data||[],t),m))},Y=()=>{let e=!1;if(f){const t=[...f.filters];return s.current===-1?!1:(e=q.every(a=>s.current!==-1&&t[s.current].filters?t[s.current].filters.findIndex(u=>u.value===a)>=0:!1),e)}return e},G=(e,t)=>{var y;const a=((y=i==null?void 0:i.current)==null?void 0:y.field)||"",r={...f},u=[...f.filters];let d=[];if(s.current!==-1&&r.filters[s.current].filters&&t!=="all"&&(d=r.filters[s.current].filters),e.value&&t==="all")q.forEach(L=>{d.push({field:a,operator:"eq",value:L})});else if(e.value)d.push({field:a,operator:"eq",value:t});else if(f){const L=d.findIndex(Se=>Se.value===t);d.splice(L,1)}r.logic="and",s.current!==-1?u[s.current]={logic:"or",filters:d}:u.push({logic:"or",filters:d}),(!e.value&&t==="all"||d.length===0)&&u.splice(s.current,1),r.filters=u,H(r)},O=[];if(f){const e=[...f.filters];s.current=e.findIndex(t=>{var a;return t.filters&&t.filters.length>0?t.filters[0].field===((a=i==null?void 0:i.current)==null?void 0:a.field):!1}),s.current!==-1&&e[s.current].filters.length>0&&e[s.current].filters.forEach(t=>{var a;t.field===((a=i==null?void 0:i.current)==null?void 0:a.field)&&O.push(t.value)})}const T=O.filter((e,t)=>O.indexOf(e)===t),Z=e=>{if(e.preventDefault(),!c.filterChange)return;const t=f||null;t!==null&&t.filters.length>0?(s.current>=0&&t.filters.splice(s.current,1),c.filterChange(t,e)):c.filterChange(null,e),l.onCloseMenu&&l.onCloseMenu(),S(!1)},ee=e=>{if(e.preventDefault(),!c.filterChange)return;const t=f||null;c.filterChange(t,e),l.onCloseMenu&&l.onCloseMenu(),S(!0),I(!1)},te=l.searchBox?n.createElement(l.searchBox,{value:K,onChange:X}):n.createElement("div",{className:`k-searchbox k-textbox k-input k-input-solid ${c!=null&&c.mobileMode?"k-input-lg":"k-input-md"}`},n.createElement(E.IconWrap,{className:"k-input-icon",name:"search",icon:F.searchIcon}),n.createElement(V.Input,{className:"k-input-inner",type:"text",placeholder:g.toLanguageString(o.searchPlaceholder,o.messages[o.searchPlaceholder]),value:K,onChange:e=>X(e.nativeEvent)}),n.createElement(B.Button,{type:"button",
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const qe=require("react"),ye=require("react-dom"),E=require("@progress/kendo-react-common"),De=require("../columnMenu/GridColumnMenuItem.js"),we=require("../columnMenu/GridColumnMenuItemContent.js"),Ne=require("../columnMenu/GridColumnMenuItemGroup.js"),Ae=require("../utils/GridContext.js"),F=require("@progress/kendo-svg-icons"),ce=require("@progress/kendo-data-query"),B=require("@progress/kendo-react-buttons"),V=require("@progress/kendo-react-inputs"),o=require("../messages/index.js"),Ge=require("@progress/kendo-react-intl"),se=require("../utils/index.js"),Oe=require("../columnMenu/GridColumnMenuCheckboxFilter.js"),Te=require("./adaptiveContent/GridAdaptiveToolbarCheckboxFilter.js"),Pe=require("@progress/kendo-react-popup"),ue=require("@progress/kendo-react-indicators"),Le=require("./adaptiveContext/GridToolbarAdaptiveContext.js");function Ve(l){const m=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(l){for(const k in l)if(k!=="default"){const v=Object.getOwnPropertyDescriptor(l,k);Object.defineProperty(m,k,v.get?v:{enumerable:!0,get:()=>l[k]})}}return m.default=l,Object.freeze(m)}const n=Ve(qe),je={uniqueData:!0},de=l=>{var oe,ie;const{uniqueData:m=je.uniqueData,svgIcon:k,icon:v}=l,c=n.useContext(Ae.GridContext),C=c.columnsRef,M=c.defaultFilter,[D,I]=n.useState(!1),x=n.useRef(null),w=n.useRef(null),j=n.useRef(null),N=n.useRef(0),g=Ge.useLocalization(),i=n.useRef(null),fe=E.useDocument(x),A=()=>M?E.clone(M):{filters:[],logic:"and"},me=()=>{var r;const e=(r=i==null?void 0:i.current)==null?void 0:r.field;return A().filters.findIndex(u=>u.filters&&u.filters.length>0&&u.filters[0].field===e)},b=(e,t)=>{var u;const a=((u=i==null?void 0:i.current)==null?void 0:u.field)||"",r=e.map(d=>se.getNestedValue(a,d));return t?r.filter((d,y)=>r.indexOf(d)===y):r},s=n.useRef(me()),[ge,S]=n.useState(!1),[h,z]=n.useState((C==null?void 0:C.map(e=>({column:e,expanded:!1})))||[]),[K,_]=n.useState(""),[q,p]=n.useState(b(l.data,m)||[]),[R,$]=n.useState(b(l.data,!1)||[]),[f,H]=n.useState(A()),[he,Q]=n.useState(!1),ke=g.toLanguageString(o.filterClearButton,o.messages[o.filterClearButton]),W=n.useMemo(()=>(C==null?void 0:C.filter(e=>{var t;return(t=e.title||e.field)==null?void 0:t.toLowerCase()}))||[],[C]);n.useEffect(()=>{M&&S(!0)},[M]),n.useEffect(()=>{var a;const e=((a=i==null?void 0:i.current)==null?void 0:a.field)||"",t=l.data.map(r=>se.getNestedValue(e,r));Oe.isArrayEqual(t,R)||(p(t),$(t))},[R,l.data]),n.useEffect(()=>{h.find(e=>e.expanded)&&p(b(l.data,m)||[])},[h,l.data,m]);const J=n.useCallback(e=>{const t=f.filters.some(a=>a.field===e.field);return n.createElement(n.Fragment,null,e.title||e.field,t&&n.createElement("span",{className:"k-columnmenu-indicators"},n.createElement(E.SvgIcon,{key:1,icon:F.filterIcon})))},[f]),U=n.useCallback((e,t)=>{z(a=>(i.current=t,a.map(r=>r.column.field===t.field?{...r,expanded:!r.expanded}:{...r,expanded:!1}))),p(b(l.data,m)||[]),$(b(l.data,m)||[]),Q(!he)},[]),X=e=>{var r;const t=l.searchBoxFilterOperator?l.searchBoxFilterOperator:"startswith",a={logic:"and",filters:[{field:(r=i==null?void 0:i.current)==null?void 0:r.field,operator:t,value:e.target.value,ignoreCase:!0}]};_(e.target.value),p(b(ce.filterBy(l.data||[],a),m))},Ce=()=>{var a;const e=l.searchBoxFilterOperator?l.searchBoxFilterOperator:"startswith",t={logic:"and",filters:[{field:(a=i==null?void 0:i.current)==null?void 0:a.field,operator:e,value:"",ignoreCase:!0}]};_(""),p(b(ce.filterBy(l.data||[],t),m))},Y=()=>{let e=!1;if(f){const t=[...f.filters];return s.current===-1?!1:(e=q.every(a=>s.current!==-1&&t[s.current].filters?t[s.current].filters.findIndex(u=>u.value===a)>=0:!1),e)}return e},G=(e,t)=>{var y;const a=((y=i==null?void 0:i.current)==null?void 0:y.field)||"",r={...f},u=[...f.filters];let d=[];if(s.current!==-1&&r.filters[s.current].filters&&t!=="all"&&(d=r.filters[s.current].filters),e.value&&t==="all")q.forEach(L=>{d.push({field:a,operator:"eq",value:L})});else if(e.value)d.push({field:a,operator:"eq",value:t});else if(f){const L=d.findIndex(Se=>Se.value===t);d.splice(L,1)}r.logic="and",s.current!==-1?u[s.current]={logic:"or",filters:d}:u.push({logic:"or",filters:d}),(!e.value&&t==="all"||d.length===0)&&u.splice(s.current,1),r.filters=u,H(r)},O=[];if(f){const e=[...f.filters];s.current=e.findIndex(t=>{var a;return t.filters&&t.filters.length>0?t.filters[0].field===((a=i==null?void 0:i.current)==null?void 0:a.field):!1}),s.current!==-1&&e[s.current].filters.length>0&&e[s.current].filters.forEach(t=>{var a;t.field===((a=i==null?void 0:i.current)==null?void 0:a.field)&&O.push(t.value)})}const T=O.filter((e,t)=>O.indexOf(e)===t),Z=e=>{if(e.preventDefault(),!c.filterChange)return;const t=f||null;t!==null&&t.filters.length>0?(s.current>=0&&t.filters.splice(s.current,1),c.filterChange(t,e)):c.filterChange(null,e),l.onCloseMenu&&l.onCloseMenu(),S(!1)},ee=e=>{if(e.preventDefault(),!c.filterChange)return;const t=f||null;c.filterChange(t,e),l.onCloseMenu&&l.onCloseMenu(),S(!0),I(!1)},te=l.searchBox?n.createElement(l.searchBox,{value:K,onChange:X}):n.createElement("div",{className:`k-searchbox k-textbox k-input k-input-solid ${c!=null&&c.mobileMode?"k-input-lg":"k-input-md"}`},n.createElement(E.IconWrap,{className:"k-input-icon",name:"search",icon:F.searchIcon}),n.createElement(V.Input,{className:"k-input-inner",type:"text",placeholder:g.toLanguageString(o.searchPlaceholder,o.messages[o.searchPlaceholder]),value:K,onChange:e=>X(e.nativeEvent)}),n.createElement(B.Button,{type:"button",className:"k-input-button",onClick:Ce,icon:"x","aria-label":ke,svgIcon:F.xIcon})),be=()=>{Q(!1)},Ee=e=>{e.preventDefault(),I(!D)},xe=e=>{!e.isAnchorClicked&&I(!1)},P=n.useMemo(()=>l.show!==void 0?l.show:D,[l.show,D]),ve=e=>{const t=E.getActiveElement(document);clearTimeout(N.current),N.current=window.setTimeout(()=>{!c.mobileMode&&t&&e.relatedTarget!==x.current&&w.current&&!w.current.contains(t)&&ne()})},ne=()=>{var e;l.onCloseMenu&&l.onCloseMenu(),I(!1),x.current&&((e=x.current.element)==null||e.focus())},pe=()=>{clearTimeout(N.current)},{onFocus:Fe,onBlur:Be}=E.useAsyncFocusBlur({onFocus:e=>pe(),onBlur:e=>ve(e)}),Me=e=>{var t;(t=j.current)==null||t.triggerMouseEvent(e)},Ie=e=>{var t;(t=j.current)==null||t.triggerKeyboardEvent(e)},re=e=>{if(e.preventDefault(),!c.filterChange)return;const t=f||null;t!==null&&t.filters.length>0?(t.filters=[],c.filterChange(t,e)):c.filterChange(null,e),H(A()),S(!1),z(a=>a.map(r=>({...r,expanded:!1})))},le=n.createElement(B.Button,{ref:x,togglable:!0,selected:P,svgIcon:k||(v?void 0:F.filterIcon),icon:v,size:c.mobileMode?"large":"medium",className:E.classNames("k-toolbar-button",{"k-icon-button":c.mobileMode}),title:g.toLanguageString(o.toolbarCheckboxFilter,o.messages[o.toolbarCheckboxFilter]),onClick:Ee},!c.mobileMode&&g.toLanguageString(o.toolbarCheckboxFilter,o.messages[o.toolbarCheckboxFilter])),ae=n.createElement(n.Fragment,null,W.map(e=>{var t,a;return e.filterable&&n.createElement(Ne.GridColumnMenuItemGroup,{key:e.id},n.createElement("div",{className:"k-expander"},n.createElement(De.GridColumnMenuItem,{title:J(e),expandable:!0,expanded:!!((t=h==null?void 0:h.find(r=>r.column.field===e.field))!=null&&t.expanded),onClick:r=>U(r,e)})),n.createElement(we.GridColumnMenuItemContent,{show:!!((a=h==null?void 0:h.find(r=>r.column.field===e.field))!=null&&a.expanded)},n.createElement("form",{className:"k-filter-menu",onSubmit:ee,onReset:Z},n.createElement("div",{className:"k-filter-menu-container"},te,n.createElement("ul",{className:"k-multicheck-wrap"},n.createElement("li",{className:"k-item k-check-all-wrap"},n.createElement(V.Checkbox,{label:g.toLanguageString(o.filterCheckAll,o.messages[o.filterCheckAll]),onChange:r=>G(r,"all"),checked:Y()})),q.map((r,u)=>n.createElement("li",{className:"k-item",key:u},n.createElement(V.Checkbox,{label:String(r),onChange:d=>G(d,r),checked:T.includes(r)})))),n.createElement("div",{className:"k-filter-selected-items"},T.length+" "+g.toLanguageString(o.filterSelectedItems,o.messages[o.filterSelectedItems])),n.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},n.createElement(B.Button,{themeColor:"primary",type:"submit"},g.toLanguageString(o.filterSubmitButton,o.messages[o.filterSubmitButton])),n.createElement(B.Button,{className:"k-button",type:"reset"},g.toLanguageString(o.filterClearButton,o.messages[o.filterClearButton])))))))}),n.createElement("div",{className:"k-actions k-actions-stretched k-actions-horizontal k-column-menu-footer"},n.createElement(B.Button,{svgIcon:F.filterClearIcon,onClick:re},g.toLanguageString(o.filterClearAllButton,o.messages[o.filterClearAllButton]))));return n.createElement(n.Fragment,null,ge?n.createElement(ue.BadgeContainer,null,le,n.createElement(ue.Badge,{themeColor:"primary"})):le,c.mobileMode?n.createElement(Le.GridToolbarAdaptiveProvider,null,ye.createPortal(n.createElement(Te.GridAdaptiveToolbarCheckboxFilter,{filtered:W,computedShow:P,expandState:h,currentData:q,uniqueFilterValues:T,searchBox:te,renderTitle:J,onBackView:be,isAllSelected:Y,handleCheckBoxChange:G,clear:Z,submit:ee,onClose:ne,onFilterExpand:U,handleClearAllFilters:re},ae),(oe=fe())==null?void 0:oe.body)):n.createElement(Pe.Popup,{anchor:(ie=x.current)==null?void 0:ie.element,show:P,popupClass:"k-grid-columnmenu-popup",onMouseDownOutside:xe},n.createElement("div",{ref:w,onBlur:Be,onFocus:Fe,onMouseDown:Me,onKeyDown:Ie,className:"k-column-menu k-column-menu-md"},ae)))};de.displayName="KendoReactGridToolbarCheckboxFilter";exports.GridToolbarCheckboxFilter=de;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import { SVGIcon } from '@progress/kendo-react-common';
|
|
9
|
+
import * as React from 'react';
|
|
10
|
+
export interface GridToolbarColumnsChooserProps {
|
|
11
|
+
/**
|
|
12
|
+
* Defines the icon rendered in the GridToolbarSort tool ([see example](https://www.telerik.com/kendo-react-ui/components/common/icon)).
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```jsx
|
|
16
|
+
* <GridToolbarSort icon="home" />
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
icon?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Defines the SVG icon rendered in the GridToolbarSort tool ([see example](https://www.telerik.com/kendo-react-ui/components/common/svgicon)).
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```jsx
|
|
25
|
+
* import { gearIcon } from '@progress/kendo-svg-icons';
|
|
26
|
+
*
|
|
27
|
+
* <GridToolbarSort svgIcon={gearIcon} />
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
svgIcon?: SVGIcon;
|
|
31
|
+
/**
|
|
32
|
+
* Specifies if the popup will be displayed.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```jsx
|
|
36
|
+
* <GridToolbarColumnsChooser show={true} />
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
show?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* The method that will be called to close the column menu.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```jsx
|
|
45
|
+
* <GridToolbarColumnsChooser onCloseMenu={() => console.log('close menu');} />
|
|
46
|
+
*/
|
|
47
|
+
onCloseMenu?: Function;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Represents the GridToolbarColumnsChooser component.
|
|
51
|
+
*/
|
|
52
|
+
export declare const GridToolbarColumnsChooser: {
|
|
53
|
+
(props: GridToolbarColumnsChooserProps): React.JSX.Element;
|
|
54
|
+
displayName: string;
|
|
55
|
+
};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import { SVGIcon } from '@progress/kendo-react-common';
|
|
9
|
+
import { CompositeFilterDescriptor } from '@progress/kendo-data-query';
|
|
10
|
+
import { GridColumnMenuFilterUIProps } from '../interfaces/GridColumnMenuFilterUIProps.js';
|
|
11
|
+
import { ComponentType } from 'react';
|
|
12
|
+
import * as React from 'react';
|
|
13
|
+
export interface GridToolbarFilterProps {
|
|
14
|
+
/**
|
|
15
|
+
* Defines the icon rendered in the GridToolbarFilter tool ([see example](https://www.telerik.com/kendo-react-ui/components/common/icon)).
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```jsx
|
|
19
|
+
* <GridToolbarFilter icon="home" />
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
icon?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Defines the SVG icon rendered in the GridToolbarFilter tool ([see example](https://www.telerik.com/kendo-react-ui/components/common/svgicon)).
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```jsx
|
|
28
|
+
* import { gearIcon } from '@progress/kendo-svg-icons';
|
|
29
|
+
*
|
|
30
|
+
* <GridToolbarFilter svgIcon={gearIcon} />
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
svgIcon?: SVGIcon;
|
|
34
|
+
/**
|
|
35
|
+
* If set to `false`, the second filter operator and the input will be hidden.
|
|
36
|
+
*/
|
|
37
|
+
hideSecondFilter?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Specifies a React element that will be cloned and rendered inside the UI of the column-menu filter component
|
|
40
|
+
* ([see example](https://www.telerik.com/kendo-react-ui/components/grid/columns/column-menu#toc-customizing-the-filter-component)).
|
|
41
|
+
*/
|
|
42
|
+
filterUI?: ComponentType<GridColumnMenuFilterUIProps>;
|
|
43
|
+
/**
|
|
44
|
+
* Specifies if the popup will be displayed.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```jsx
|
|
48
|
+
* <GridToolbarFilter show={true} />
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
show?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* The method that will be called to close the column menu.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```jsx
|
|
57
|
+
* <GridToolbarFilter onCloseMenu={() => console.log('close menu');} />
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
onCloseMenu?: Function;
|
|
61
|
+
/**
|
|
62
|
+
* The method that will be called to notify the parent Grid about a filter change.
|
|
63
|
+
*/
|
|
64
|
+
onFilterChange?: (filter: CompositeFilterDescriptor | null, syntheticEvent: React.SyntheticEvent<any>) => any;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Represents the GridToolbarFilter component.
|
|
68
|
+
*/
|
|
69
|
+
export declare const GridToolbarFilter: {
|
|
70
|
+
(props: GridToolbarFilterProps): React.JSX.Element;
|
|
71
|
+
displayName: string;
|
|
72
|
+
};
|
|
@@ -13,7 +13,7 @@ import { GridColumnMenuItemContent as je } from "../columnMenu/GridColumnMenuIte
|
|
|
13
13
|
import { GridColumnMenuItemGroup as qe } from "../columnMenu/GridColumnMenuItemGroup.mjs";
|
|
14
14
|
import { GridContext as Je } from "../utils/GridContext.mjs";
|
|
15
15
|
import { filterIcon as me, filterClearIcon as Qe } from "@progress/kendo-svg-icons";
|
|
16
|
-
import { getFilterType as de, operatorMap as V,
|
|
16
|
+
import { getFilterType as de, operatorMap as V, booleanFilterValues as We, filterLogicList as Xe, defaultHideSecondFilter as Ye, IsUnaryFilter as b, getDefaultOperator as Ze } from "../filterCommon.mjs";
|
|
17
17
|
import { Button as k } from "@progress/kendo-react-buttons";
|
|
18
18
|
import { GridColumnMenuFilterUI as $e } from "../columnMenu/GridColumnMenuFilterUI.mjs";
|
|
19
19
|
import { toolbarFilter as M, messages as F, filterSubmitButton as ge, filterClearButton as pe, filterClearAllButton as he } from "../messages/index.mjs";
|
|
@@ -49,7 +49,7 @@ const nt = (c) => {
|
|
|
49
49
|
var o, i, l, s, ce, ue;
|
|
50
50
|
let e;
|
|
51
51
|
if (r != null && r.current && ((o = r == null ? void 0 : r.current) != null && o.field)) {
|
|
52
|
-
const Ge = de((i = r == null ? void 0 : r.current) == null ? void 0 : i.filter), v =
|
|
52
|
+
const Ge = de((i = r == null ? void 0 : r.current) == null ? void 0 : i.filter), v = Ze(n.filterOperators, Ge);
|
|
53
53
|
e = Re((l = r == null ? void 0 : r.current) == null ? void 0 : l.field, n.filter), e = e ? {
|
|
54
54
|
...e,
|
|
55
55
|
filters: e.filters.map((O) => ({ ...O }))
|
|
@@ -90,7 +90,7 @@ const nt = (c) => {
|
|
|
90
90
|
...u,
|
|
91
91
|
filters: i
|
|
92
92
|
});
|
|
93
|
-
}, [u, B] = t.useState(q()), a = u == null ? void 0 : u.filters, C = de((re = r == null ? void 0 : r.current) == null ? void 0 : re.filter), A = V(n.filterOperators[C], f), Q = V(
|
|
93
|
+
}, [u, B] = t.useState(q()), a = u == null ? void 0 : u.filters, C = de((re = r == null ? void 0 : r.current) == null ? void 0 : re.filter), A = V(n.filterOperators[C], f), Q = V(We, f), ke = {
|
|
94
94
|
field: (oe = r == null ? void 0 : r.current) == null ? void 0 : oe.field,
|
|
95
95
|
value: a == null ? void 0 : a[0].value,
|
|
96
96
|
operator: a == null ? void 0 : a[0].operator,
|
|
@@ -109,11 +109,11 @@ const nt = (c) => {
|
|
|
109
109
|
}, we = (e) => {
|
|
110
110
|
let o = e.target.value;
|
|
111
111
|
e.target.tagName === "SPAN" && (o = e.target.parentElement.value), B({ ...u, logic: o });
|
|
112
|
-
}, W = u == null ? void 0 : u.logic, X = V(
|
|
112
|
+
}, W = u == null ? void 0 : u.logic, X = V(Xe, f), T = {
|
|
113
113
|
value: X.find((e) => e.operator === (W === null ? "" : W)),
|
|
114
114
|
onChange: we,
|
|
115
115
|
data: X
|
|
116
|
-
}, Se = c.hideSecondFilter !== void 0 ? c.hideSecondFilter :
|
|
116
|
+
}, Se = c.hideSecondFilter !== void 0 ? c.hideSecondFilter : Ye[C], N = c.filterUI, L = {
|
|
117
117
|
firstFilterProps: ke,
|
|
118
118
|
secondFilterProps: Me,
|
|
119
119
|
logicData: T.data,
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import { SVGIcon } from '@progress/kendo-svg-icons';
|
|
9
|
+
export interface GridToolbarGroupProps {
|
|
10
|
+
/**
|
|
11
|
+
* Defines the icon rendered in the GridToolbarGroup tool ([see example](https://www.telerik.com/kendo-react-ui/components/common/icon)).
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```jsx
|
|
15
|
+
* <GridToolbarGroup icon="home" />
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
icon?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Defines the SVG icon rendered in the GridToolbarGroup tool ([see example](https://www.telerik.com/kendo-react-ui/components/common/svgicon)).
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```jsx
|
|
24
|
+
* import { gearIcon } from '@progress/kendo-svg-icons';
|
|
25
|
+
*
|
|
26
|
+
* <GridToolbarGroup svgIcon={gearIcon} />
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
svgIcon?: SVGIcon;
|
|
30
|
+
/**
|
|
31
|
+
* Specifies if the popup will be displayed.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```jsx
|
|
35
|
+
* <GridToolbarGroup show={true} />
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
show?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* The method that will be called to close the column menu.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```jsx
|
|
44
|
+
* <GridToolbarGroup onCloseMenu={() => console.log('close menu');} />
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
onCloseMenu?: Function;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Represents the GridToolbarGroup component.
|
|
51
|
+
*/
|
|
52
|
+
export declare const GridToolbarGroup: {
|
|
53
|
+
(props: GridToolbarGroupProps): any;
|
|
54
|
+
displayName: string;
|
|
55
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import { ToolbarSeparatorProps } from '@progress/kendo-react-buttons';
|
|
9
|
+
import * as React from 'react';
|
|
10
|
+
/**
|
|
11
|
+
* Represents the props of KendoReact GridToolbarSeparator component.
|
|
12
|
+
*/
|
|
13
|
+
export interface GridToolbarSeparatorProps extends ToolbarSeparatorProps {
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Represents the GridToolbarSeparator component.
|
|
17
|
+
*/
|
|
18
|
+
export declare const GridToolbarSeparator: {
|
|
19
|
+
(props: GridToolbarSeparatorProps): React.JSX.Element;
|
|
20
|
+
displayName: string;
|
|
21
|
+
};
|