Skip to content

Commit c30cd28

Browse files
Merge branch '26_1' into 26_1_T1327666
2 parents d03b27b + 7bf490f commit c30cd28

28 files changed

Lines changed: 598 additions & 102 deletions

File tree

packages/devextreme-angular/src/common/grids/index.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ export type {
66
AIColumnRequestCreatingInfo,
77
ApplyChangesMode,
88
ApplyFilterMode,
9+
BasicFilterExprObj,
910
ColumnAIOptions,
1011
ColumnBase,
1112
ColumnButtonBase,
@@ -21,6 +22,9 @@ export type {
2122
ColumnHeaderFilterSearchConfig,
2223
ColumnLookup,
2324
ColumnResizeMode,
25+
CombinedFilterExprObj,
26+
CommandInfo,
27+
CompositeKeyPair,
2428
DataChange,
2529
DataChangeInfo,
2630
DataChangeType,
@@ -30,6 +34,7 @@ export type {
3034
EditingTextsBase,
3135
EnterKeyAction,
3236
EnterKeyDirection,
37+
FilterExprObj,
3338
FilterOperation,
3439
FilterPanel,
3540
FilterPanelTexts,
@@ -50,11 +55,16 @@ export type {
5055
KeyboardNavigation,
5156
KeyDownInfo,
5257
LoadPanel,
58+
NegatedFilterExprObj,
5359
NewRowInfo,
5460
NewRowPosition,
5561
Pager,
5662
PagerPageSize,
5763
PagingBase,
64+
PredefinedCommandNames,
65+
PredefinedCommands,
66+
ResponseStatus,
67+
ResponseStatusTexts,
5868
RowDragging,
5969
RowDraggingTemplateData,
6070
RowInsertedInfo,

packages/devextreme-angular/src/common/index.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,12 +275,13 @@ export namespace Export {
275275
export function Grids(): void {}
276276
export namespace Grids {
277277
export type AdaptiveDetailRowPreparingInfo = GridsModule.AdaptiveDetailRowPreparingInfo;
278-
export type AIAssistant = GridsModule.AIAssistant;
278+
export type AIAssistant<TCommands extends PredefinedCommands = PredefinedCommands> = GridsModule.AIAssistant<TCommands>;
279279
export type AIAssistantRequestCreatingInfo = GridsModule.AIAssistantRequestCreatingInfo;
280280
export type AIColumnMode = GridsModule.AIColumnMode;
281281
export type AIColumnRequestCreatingInfo<TRowData = any> = GridsModule.AIColumnRequestCreatingInfo<TRowData>;
282282
export type ApplyChangesMode = GridsModule.ApplyChangesMode;
283283
export type ApplyFilterMode = GridsModule.ApplyFilterMode;
284+
export type BasicFilterExprObj = GridsModule.BasicFilterExprObj;
284285
export type ColumnAIOptions = GridsModule.ColumnAIOptions;
285286
export type ColumnBase<TRowData = any> = GridsModule.ColumnBase<TRowData>;
286287
export type ColumnButtonBase = GridsModule.ColumnButtonBase;
@@ -296,6 +297,9 @@ export namespace Grids {
296297
export type ColumnHeaderFilterSearchConfig = GridsModule.ColumnHeaderFilterSearchConfig;
297298
export type ColumnLookup = GridsModule.ColumnLookup;
298299
export type ColumnResizeMode = GridsModule.ColumnResizeMode;
300+
export type CombinedFilterExprObj = GridsModule.CombinedFilterExprObj;
301+
export type CommandInfo<TCommands extends PredefinedCommands = PredefinedCommands> = GridsModule.CommandInfo<TCommands>;
302+
export type CompositeKeyPair = GridsModule.CompositeKeyPair;
299303
export type DataChange<TRowData = any, TKey = any> = GridsModule.DataChange<TRowData, TKey>;
300304
export type DataChangeInfo<TRowData = any, TKey = any> = GridsModule.DataChangeInfo<TRowData, TKey>;
301305
export type DataChangeType = GridsModule.DataChangeType;
@@ -305,6 +309,7 @@ export namespace Grids {
305309
export type EditingTextsBase = GridsModule.EditingTextsBase;
306310
export type EnterKeyAction = GridsModule.EnterKeyAction;
307311
export type EnterKeyDirection = GridsModule.EnterKeyDirection;
312+
export type FilterExprObj = GridsModule.FilterExprObj;
308313
export type FilterOperation = GridsModule.FilterOperation;
309314
export type FilterPanel<TComponent = any, TRowData = any, TKey = any> = GridsModule.FilterPanel<TComponent, TRowData, TKey>;
310315
export type FilterPanelTexts = GridsModule.FilterPanelTexts;
@@ -325,11 +330,16 @@ export namespace Grids {
325330
export type KeyboardNavigation = GridsModule.KeyboardNavigation;
326331
export type KeyDownInfo = GridsModule.KeyDownInfo;
327332
export type LoadPanel = GridsModule.LoadPanel;
333+
export type NegatedFilterExprObj = GridsModule.NegatedFilterExprObj;
328334
export type NewRowInfo<TRowData = any> = GridsModule.NewRowInfo<TRowData>;
329335
export type NewRowPosition = GridsModule.NewRowPosition;
330336
export type Pager = GridsModule.Pager;
331337
export type PagerPageSize = GridsModule.PagerPageSize;
332338
export type PagingBase = GridsModule.PagingBase;
339+
export type PredefinedCommandNames = GridsModule.PredefinedCommandNames;
340+
export type PredefinedCommands = GridsModule.PredefinedCommands;
341+
export type ResponseStatus = GridsModule.ResponseStatus;
342+
export type ResponseStatusTexts = GridsModule.ResponseStatusTexts;
333343
export type RowDragging<TComponent extends GridBase<TRowData, TKey>, TRowData = any, TKey = any> = GridsModule.RowDragging<TComponent, TRowData, TKey>;
334344
export type RowDraggingTemplateData<TRowData = any> = GridsModule.RowDraggingTemplateData<TRowData>;
335345
export type RowInsertedInfo<TRowData = any, TKey = any> = GridsModule.RowInsertedInfo<TRowData, TKey>;

packages/devextreme-angular/src/ui/data-grid/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,10 @@ export class DxDataGridComponent<TRowData = any, TKey = any> extends DxComponent
344344
}
345345

346346

347+
/**
348+
* [descr:dxDataGridOptions.aiAssistant]
347349
350+
*/
348351
@Input()
349352
get aiAssistant(): AIAssistant {
350353
return this._getOption('aiAssistant');

packages/devextreme-angular/src/ui/data-grid/nested/ai-assistant.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import {
1515

1616

1717
import type { AIIntegration } from 'devextreme/common/ai-integration';
18+
import type { CommandInfo, ResponseStatusTexts, ResponseStatus } from 'devextreme/common/grids';
1819
import type { dxPopupOptions } from 'devextreme/ui/popup';
1920

2021
import {
@@ -48,6 +49,22 @@ export class DxoDataGridAIAssistantComponent extends NestedOption implements OnD
4849
this._setOption('chat', value);
4950
}
5051

52+
@Input()
53+
get customizeResponseText(): ((command: CommandInfo) => ResponseStatusTexts) {
54+
return this._getOption('customizeResponseText');
55+
}
56+
set customizeResponseText(value: ((command: CommandInfo) => ResponseStatusTexts)) {
57+
this._setOption('customizeResponseText', value);
58+
}
59+
60+
@Input()
61+
get customizeResponseTitle(): ((status: ResponseStatus, commandNames: Array<string>) => string) {
62+
return this._getOption('customizeResponseTitle');
63+
}
64+
set customizeResponseTitle(value: ((status: ResponseStatus, commandNames: Array<string>) => string)) {
65+
this._setOption('customizeResponseTitle', value);
66+
}
67+
5168
@Input()
5269
get enabled(): boolean {
5370
return this._getOption('enabled');

packages/devextreme-angular/src/ui/tree-list/nested/ai-assistant.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import {
1515

1616

1717
import type { AIIntegration } from 'devextreme/common/ai-integration';
18+
import type { CommandInfo, ResponseStatusTexts, ResponseStatus } from 'devextreme/common/grids';
1819
import type { dxPopupOptions } from 'devextreme/ui/popup';
1920

2021
import {
@@ -48,6 +49,22 @@ export class DxoTreeListAIAssistantComponent extends NestedOption implements OnD
4849
this._setOption('chat', value);
4950
}
5051

52+
@Input()
53+
get customizeResponseText(): ((command: CommandInfo) => ResponseStatusTexts) {
54+
return this._getOption('customizeResponseText');
55+
}
56+
set customizeResponseText(value: ((command: CommandInfo) => ResponseStatusTexts)) {
57+
this._setOption('customizeResponseText', value);
58+
}
59+
60+
@Input()
61+
get customizeResponseTitle(): ((status: ResponseStatus, commandNames: Array<string>) => string) {
62+
return this._getOption('customizeResponseTitle');
63+
}
64+
set customizeResponseTitle(value: ((status: ResponseStatus, commandNames: Array<string>) => string)) {
65+
this._setOption('customizeResponseTitle', value);
66+
}
67+
5168
@Input()
5269
get enabled(): boolean {
5370
return this._getOption('enabled');

packages/devextreme-metadata/make-angular-metadata.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ Ng.makeMetadata({
4848

4949
removeMembers(/\/grids:ColumnBase.ai/),
5050
removeMembers(/\/grids:GridBaseOptions.aiAssistant/),
51+
removeMembers(/\/grids:AIAssistant/),
5152
removeMembers(/\/calendar:dxCalendarOptions.todayButtonText/),
5253
removeMembers(/\/card_view:/),
5354
removeMembers(/\/chat:TextMessage.attachments/),

packages/devextreme-react/src/common/grids.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ export type {
66
AIColumnRequestCreatingInfo,
77
ApplyChangesMode,
88
ApplyFilterMode,
9+
BasicFilterExprObj,
910
ColumnAIOptions,
1011
ColumnBase,
1112
ColumnButtonBase,
@@ -21,6 +22,9 @@ export type {
2122
ColumnHeaderFilterSearchConfig,
2223
ColumnLookup,
2324
ColumnResizeMode,
25+
CombinedFilterExprObj,
26+
CommandInfo,
27+
CompositeKeyPair,
2428
DataChange,
2529
DataChangeInfo,
2630
DataChangeType,
@@ -30,6 +34,7 @@ export type {
3034
EditingTextsBase,
3135
EnterKeyAction,
3236
EnterKeyDirection,
37+
FilterExprObj,
3338
FilterOperation,
3439
FilterPanel,
3540
FilterPanelTexts,
@@ -50,11 +55,16 @@ export type {
5055
KeyboardNavigation,
5156
KeyDownInfo,
5257
LoadPanel,
58+
NegatedFilterExprObj,
5359
NewRowInfo,
5460
NewRowPosition,
5561
Pager,
5662
PagerPageSize,
5763
PagingBase,
64+
PredefinedCommandNames,
65+
PredefinedCommands,
66+
ResponseStatus,
67+
ResponseStatusTexts,
5868
RowDragging,
5969
RowDraggingTemplateData,
6070
RowInsertedInfo,

packages/devextreme-react/src/common/index.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,12 +275,13 @@ export namespace Export {
275275
export function Grids(): void {}
276276
export namespace Grids {
277277
export type AdaptiveDetailRowPreparingInfo = GridsModule.AdaptiveDetailRowPreparingInfo;
278-
export type AIAssistant = GridsModule.AIAssistant;
278+
export type AIAssistant<TCommands extends PredefinedCommands = PredefinedCommands> = GridsModule.AIAssistant<TCommands>;
279279
export type AIAssistantRequestCreatingInfo = GridsModule.AIAssistantRequestCreatingInfo;
280280
export type AIColumnMode = GridsModule.AIColumnMode;
281281
export type AIColumnRequestCreatingInfo<TRowData = any> = GridsModule.AIColumnRequestCreatingInfo<TRowData>;
282282
export type ApplyChangesMode = GridsModule.ApplyChangesMode;
283283
export type ApplyFilterMode = GridsModule.ApplyFilterMode;
284+
export type BasicFilterExprObj = GridsModule.BasicFilterExprObj;
284285
export type ColumnAIOptions = GridsModule.ColumnAIOptions;
285286
export type ColumnBase<TRowData = any> = GridsModule.ColumnBase<TRowData>;
286287
export type ColumnButtonBase = GridsModule.ColumnButtonBase;
@@ -296,6 +297,9 @@ export namespace Grids {
296297
export type ColumnHeaderFilterSearchConfig = GridsModule.ColumnHeaderFilterSearchConfig;
297298
export type ColumnLookup = GridsModule.ColumnLookup;
298299
export type ColumnResizeMode = GridsModule.ColumnResizeMode;
300+
export type CombinedFilterExprObj = GridsModule.CombinedFilterExprObj;
301+
export type CommandInfo<TCommands extends PredefinedCommands = PredefinedCommands> = GridsModule.CommandInfo<TCommands>;
302+
export type CompositeKeyPair = GridsModule.CompositeKeyPair;
299303
export type DataChange<TRowData = any, TKey = any> = GridsModule.DataChange<TRowData, TKey>;
300304
export type DataChangeInfo<TRowData = any, TKey = any> = GridsModule.DataChangeInfo<TRowData, TKey>;
301305
export type DataChangeType = GridsModule.DataChangeType;
@@ -305,6 +309,7 @@ export namespace Grids {
305309
export type EditingTextsBase = GridsModule.EditingTextsBase;
306310
export type EnterKeyAction = GridsModule.EnterKeyAction;
307311
export type EnterKeyDirection = GridsModule.EnterKeyDirection;
312+
export type FilterExprObj = GridsModule.FilterExprObj;
308313
export type FilterOperation = GridsModule.FilterOperation;
309314
export type FilterPanel<TComponent = any, TRowData = any, TKey = any> = GridsModule.FilterPanel<TComponent, TRowData, TKey>;
310315
export type FilterPanelTexts = GridsModule.FilterPanelTexts;
@@ -325,11 +330,16 @@ export namespace Grids {
325330
export type KeyboardNavigation = GridsModule.KeyboardNavigation;
326331
export type KeyDownInfo = GridsModule.KeyDownInfo;
327332
export type LoadPanel = GridsModule.LoadPanel;
333+
export type NegatedFilterExprObj = GridsModule.NegatedFilterExprObj;
328334
export type NewRowInfo<TRowData = any> = GridsModule.NewRowInfo<TRowData>;
329335
export type NewRowPosition = GridsModule.NewRowPosition;
330336
export type Pager = GridsModule.Pager;
331337
export type PagerPageSize = GridsModule.PagerPageSize;
332338
export type PagingBase = GridsModule.PagingBase;
339+
export type PredefinedCommandNames = GridsModule.PredefinedCommandNames;
340+
export type PredefinedCommands = GridsModule.PredefinedCommands;
341+
export type ResponseStatus = GridsModule.ResponseStatus;
342+
export type ResponseStatusTexts = GridsModule.ResponseStatusTexts;
333343
export type RowDragging<TComponent extends GridBase<TRowData, TKey>, TRowData = any, TKey = any> = GridsModule.RowDragging<TComponent, TRowData, TKey>;
334344
export type RowDraggingTemplateData<TRowData = any> = GridsModule.RowDraggingTemplateData<TRowData>;
335345
export type RowInsertedInfo<TRowData = any, TKey = any> = GridsModule.RowInsertedInfo<TRowData, TKey>;

packages/devextreme-react/src/data-grid.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { Component as BaseComponent, IHtmlOptions, ComponentRef, NestedComponent
1010
import NestedOption from "./core/nested-option";
1111

1212
import type { dxDataGridColumn, AdaptiveDetailRowPreparingEvent, AIAssistantRequestCreatingEvent, AIColumnRequestCreatingEvent, CellClickEvent, CellDblClickEvent, CellPreparedEvent, ContentReadyEvent, ContextMenuPreparingEvent, DataErrorOccurredEvent, DisposingEvent, EditCanceledEvent, EditCancelingEvent, EditingStartEvent, EditorPreparedEvent, EditorPreparingEvent, ExportingEvent, FocusedCellChangingEvent, FocusedRowChangingEvent, InitializedEvent, InitNewRowEvent, KeyDownEvent, RowClickEvent, RowCollapsedEvent, RowCollapsingEvent, RowDblClickEvent, RowExpandedEvent, RowExpandingEvent, RowInsertedEvent, RowInsertingEvent, RowPreparedEvent, RowRemovedEvent, RowRemovingEvent, RowUpdatedEvent, RowUpdatingEvent, RowValidatingEvent, SavedEvent, SavingEvent, ToolbarPreparingEvent, dxDataGridRowObject, DataGridPredefinedColumnButton, ColumnButtonClickEvent, dxDataGridColumnButton, DataGridCommandColumnType, SelectionSensitivity, DataGridPredefinedToolbarItem, DataGridExportFormat, DataGridScrollMode, dxDataGridToolbarItem } from "devextreme/ui/data_grid";
13-
import type { DataChange, AIColumnMode, DataChangeType, ColumnAIOptions, FilterOperation, FilterType, FixedPosition, ColumnHeaderFilter as GridsColumnHeaderFilter, SelectedFilterOperation, ColumnChooserMode, ColumnChooserSearchConfig, ColumnChooserSelectionConfig, HeaderFilterGroupInterval, ColumnHeaderFilterSearchConfig, HeaderFilterSearchConfig, HeaderFilterTexts, SelectionColumnDisplayMode, GridsEditMode, NewRowPosition, GridsEditRefreshMode, StartEditAction, FilterPanel as GridsFilterPanel, FilterPanelTexts as GridsFilterPanelTexts, ApplyFilterMode, GroupExpandMode, SummaryType, EnterKeyAction, EnterKeyDirection, PagerPageSize, GridBase, DataRenderMode, StateStoreType } from "devextreme/common/grids";
13+
import type { DataChange, AIColumnMode, CommandInfo, ResponseStatusTexts, ResponseStatus, DataChangeType, ColumnAIOptions, FilterOperation, FilterType, FixedPosition, ColumnHeaderFilter as GridsColumnHeaderFilter, SelectedFilterOperation, ColumnChooserMode, ColumnChooserSearchConfig, ColumnChooserSelectionConfig, HeaderFilterGroupInterval, ColumnHeaderFilterSearchConfig, HeaderFilterSearchConfig, HeaderFilterTexts, SelectionColumnDisplayMode, GridsEditMode, NewRowPosition, GridsEditRefreshMode, StartEditAction, FilterPanel as GridsFilterPanel, FilterPanelTexts as GridsFilterPanelTexts, ApplyFilterMode, GroupExpandMode, SummaryType, EnterKeyAction, EnterKeyDirection, PagerPageSize, GridBase, DataRenderMode, StateStoreType } from "devextreme/common/grids";
1414
import type { Mode, ValidationRuleType, HorizontalAlignment, VerticalAlignment, template, TextEditorButtonLocation, ButtonStyle, ButtonType, DataType, Format as CommonFormat, SortOrder, SearchMode, ComparisonOperator, SingleMultipleOrNone, SelectAllMode, ToolbarItemLocation, ToolbarItemComponent, TextBoxPredefinedButton, TextEditorButton, LabelMode, MaskMode, EditorStyle, ValidationMessageMode, Position as CommonPosition, ValidationStatus, PositionAlignment, Direction, DisplayMode, DragDirection, DragHighlight, ScrollbarMode, TabsIconPosition, TabsStyle } from "devextreme/common";
1515
import type { ContentReadyEvent as ButtonContentReadyEvent, DisposingEvent as ButtonDisposingEvent, InitializedEvent as ButtonInitializedEvent, dxButtonOptions, ClickEvent, OptionChangedEvent } from "devextreme/ui/button";
1616
import type { ContentReadyEvent as TextBoxContentReadyEvent, DisposingEvent as TextBoxDisposingEvent, InitializedEvent as TextBoxInitializedEvent, KeyDownEvent as TextBoxKeyDownEvent, dxTextBoxOptions, OptionChangedEvent as TextBoxOptionChangedEvent, TextBoxType, ChangeEvent, CopyEvent, CutEvent, EnterKeyEvent, FocusInEvent, FocusOutEvent, InputEvent, KeyUpEvent, PasteEvent, ValueChangedEvent } from "devextreme/ui/text_box";
@@ -131,7 +131,7 @@ const DataGrid = memo(
131131
}
132132
), []);
133133

134-
const subscribableOptions = useMemo(() => (["columns","editing","editing.changes","editing.editColumnName","editing.editRowKey","filterValue","focusedColumnIndex","focusedRowIndex","focusedRowKey","groupPanel","groupPanel.visible","paging","paging.pageIndex","paging.pageSize","selectedRowKeys","selectionFilter","filterBuilder.value","filterBuilderPopup.height","filterBuilderPopup.position","filterBuilderPopup.visible","filterBuilderPopup.width","filterPanel.filterEnabled","editing.form.formData","editing.popup.height","aIAssistant.popup.height","editing.popup.position","aIAssistant.popup.position","editing.popup.visible","aIAssistant.popup.visible","editing.popup.width","aIAssistant.popup.width","searchPanel.text"]), []);
134+
const subscribableOptions = useMemo(() => (["columns","editing","editing.changes","editing.editColumnName","editing.editRowKey","filterValue","focusedColumnIndex","focusedRowIndex","focusedRowKey","groupPanel","groupPanel.visible","paging","paging.pageIndex","paging.pageSize","selectedRowKeys","selectionFilter","filterBuilder.value","filterBuilderPopup.height","filterBuilderPopup.position","filterBuilderPopup.visible","filterBuilderPopup.width","filterPanel.filterEnabled","editing.form.formData","aIAssistant.popup.height","editing.popup.height","aIAssistant.popup.position","editing.popup.position","aIAssistant.popup.visible","editing.popup.visible","aIAssistant.popup.width","editing.popup.width","searchPanel.text"]), []);
135135
const independentEvents = useMemo(() => (["onAdaptiveDetailRowPreparing","onAIAssistantRequestCreating","onAIColumnRequestCreating","onCellClick","onCellDblClick","onCellPrepared","onContentReady","onContextMenuPreparing","onDataErrorOccurred","onDisposing","onEditCanceled","onEditCanceling","onEditingStart","onEditorPrepared","onEditorPreparing","onExporting","onFocusedCellChanging","onFocusedRowChanging","onInitialized","onInitNewRow","onKeyDown","onRowClick","onRowCollapsed","onRowCollapsing","onRowDblClick","onRowExpanded","onRowExpanding","onRowInserted","onRowInserting","onRowPrepared","onRowRemoved","onRowRemoving","onRowUpdated","onRowUpdating","onRowValidating","onSaved","onSaving","onToolbarPreparing"]), []);
136136

137137
const defaults = useMemo(() => ({
@@ -244,6 +244,8 @@ const AI = Object.assign<typeof _componentAI, NestedComponentMeta>(_componentAI,
244244
type IAIAssistantProps = React.PropsWithChildren<{
245245
aiIntegration?: AIIntegration;
246246
chat?: Record<string, any>;
247+
customizeResponseText?: ((command: CommandInfo) => ResponseStatusTexts);
248+
customizeResponseTitle?: ((status: ResponseStatus, commandNames: Array<string>) => string);
247249
enabled?: boolean;
248250
popup?: dxPopupOptions<any>;
249251
title?: string;
@@ -2845,8 +2847,8 @@ const PatternRule = Object.assign<typeof _componentPatternRule, NestedComponentM
28452847
});
28462848

28472849
// owners:
2848-
// Editing
28492850
// AIAssistant
2851+
// Editing
28502852
type IPopupProps = React.PropsWithChildren<{
28512853
accessKey?: string | undefined;
28522854
animation?: Record<string, any> | {

0 commit comments

Comments
 (0)