Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions packages/devextreme-angular/src/common/grids/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ export type {
AIColumnRequestCreatingInfo,
ApplyChangesMode,
ApplyFilterMode,
BasicFilterExprObj,
ColumnAIOptions,
ColumnBase,
ColumnButtonBase,
Expand All @@ -21,6 +22,9 @@ export type {
ColumnHeaderFilterSearchConfig,
ColumnLookup,
ColumnResizeMode,
CombinedFilterExprObj,
CommandInfo,
CompositeKeyPair,
DataChange,
DataChangeInfo,
DataChangeType,
Expand All @@ -30,6 +34,7 @@ export type {
EditingTextsBase,
EnterKeyAction,
EnterKeyDirection,
FilterExprObj,
FilterOperation,
FilterPanel,
FilterPanelTexts,
Expand All @@ -50,11 +55,16 @@ export type {
KeyboardNavigation,
KeyDownInfo,
LoadPanel,
NegatedFilterExprObj,
NewRowInfo,
NewRowPosition,
Pager,
PagerPageSize,
PagingBase,
PredefinedCommandNames,
PredefinedCommands,
ResponseStatus,
ResponseStatusTexts,
RowDragging,
RowDraggingTemplateData,
RowInsertedInfo,
Expand Down
12 changes: 11 additions & 1 deletion packages/devextreme-angular/src/common/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -275,12 +275,13 @@ export namespace Export {
export function Grids(): void {}
export namespace Grids {
export type AdaptiveDetailRowPreparingInfo = GridsModule.AdaptiveDetailRowPreparingInfo;
export type AIAssistant = GridsModule.AIAssistant;
export type AIAssistant<TCommands extends PredefinedCommands = PredefinedCommands> = GridsModule.AIAssistant<TCommands>;
export type AIAssistantRequestCreatingInfo = GridsModule.AIAssistantRequestCreatingInfo;
export type AIColumnMode = GridsModule.AIColumnMode;
export type AIColumnRequestCreatingInfo<TRowData = any> = GridsModule.AIColumnRequestCreatingInfo<TRowData>;
export type ApplyChangesMode = GridsModule.ApplyChangesMode;
export type ApplyFilterMode = GridsModule.ApplyFilterMode;
export type BasicFilterExprObj = GridsModule.BasicFilterExprObj;
export type ColumnAIOptions = GridsModule.ColumnAIOptions;
export type ColumnBase<TRowData = any> = GridsModule.ColumnBase<TRowData>;
export type ColumnButtonBase = GridsModule.ColumnButtonBase;
Expand All @@ -296,6 +297,9 @@ export namespace Grids {
export type ColumnHeaderFilterSearchConfig = GridsModule.ColumnHeaderFilterSearchConfig;
export type ColumnLookup = GridsModule.ColumnLookup;
export type ColumnResizeMode = GridsModule.ColumnResizeMode;
export type CombinedFilterExprObj = GridsModule.CombinedFilterExprObj;
export type CommandInfo<TCommands extends PredefinedCommands = PredefinedCommands> = GridsModule.CommandInfo<TCommands>;
export type CompositeKeyPair = GridsModule.CompositeKeyPair;
export type DataChange<TRowData = any, TKey = any> = GridsModule.DataChange<TRowData, TKey>;
export type DataChangeInfo<TRowData = any, TKey = any> = GridsModule.DataChangeInfo<TRowData, TKey>;
export type DataChangeType = GridsModule.DataChangeType;
Expand All @@ -305,6 +309,7 @@ export namespace Grids {
export type EditingTextsBase = GridsModule.EditingTextsBase;
export type EnterKeyAction = GridsModule.EnterKeyAction;
export type EnterKeyDirection = GridsModule.EnterKeyDirection;
export type FilterExprObj = GridsModule.FilterExprObj;
export type FilterOperation = GridsModule.FilterOperation;
export type FilterPanel<TComponent = any, TRowData = any, TKey = any> = GridsModule.FilterPanel<TComponent, TRowData, TKey>;
export type FilterPanelTexts = GridsModule.FilterPanelTexts;
Expand All @@ -325,11 +330,16 @@ export namespace Grids {
export type KeyboardNavigation = GridsModule.KeyboardNavigation;
export type KeyDownInfo = GridsModule.KeyDownInfo;
export type LoadPanel = GridsModule.LoadPanel;
export type NegatedFilterExprObj = GridsModule.NegatedFilterExprObj;
export type NewRowInfo<TRowData = any> = GridsModule.NewRowInfo<TRowData>;
export type NewRowPosition = GridsModule.NewRowPosition;
export type Pager = GridsModule.Pager;
export type PagerPageSize = GridsModule.PagerPageSize;
export type PagingBase = GridsModule.PagingBase;
export type PredefinedCommandNames = GridsModule.PredefinedCommandNames;
export type PredefinedCommands = GridsModule.PredefinedCommands;
export type ResponseStatus = GridsModule.ResponseStatus;
export type ResponseStatusTexts = GridsModule.ResponseStatusTexts;
export type RowDragging<TComponent extends GridBase<TRowData, TKey>, TRowData = any, TKey = any> = GridsModule.RowDragging<TComponent, TRowData, TKey>;
export type RowDraggingTemplateData<TRowData = any> = GridsModule.RowDraggingTemplateData<TRowData>;
export type RowInsertedInfo<TRowData = any, TKey = any> = GridsModule.RowInsertedInfo<TRowData, TKey>;
Expand Down
3 changes: 3 additions & 0 deletions packages/devextreme-angular/src/ui/data-grid/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -344,7 +344,10 @@ export class DxDataGridComponent<TRowData = any, TKey = any> extends DxComponent
}


/**
* [descr:dxDataGridOptions.aiAssistant]

*/
@Input()
get aiAssistant(): AIAssistant {
return this._getOption('aiAssistant');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import {


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

import {
Expand Down Expand Up @@ -48,6 +49,22 @@ export class DxoDataGridAIAssistantComponent extends NestedOption implements OnD
this._setOption('chat', value);
}

@Input()
get customizeResponseText(): ((command: CommandInfo) => ResponseStatusTexts) {
return this._getOption('customizeResponseText');
}
set customizeResponseText(value: ((command: CommandInfo) => ResponseStatusTexts)) {
this._setOption('customizeResponseText', value);
Comment thread
anna-shakhova marked this conversation as resolved.
}

@Input()
get customizeResponseTitle(): ((status: ResponseStatus, commandNames: Array<string>) => string) {
return this._getOption('customizeResponseTitle');
}
set customizeResponseTitle(value: ((status: ResponseStatus, commandNames: Array<string>) => string)) {
this._setOption('customizeResponseTitle', value);
}

@Input()
get enabled(): boolean {
return this._getOption('enabled');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import {


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

import {
Expand Down Expand Up @@ -48,6 +49,22 @@ export class DxoTreeListAIAssistantComponent extends NestedOption implements OnD
this._setOption('chat', value);
}

@Input()
get customizeResponseText(): ((command: CommandInfo) => ResponseStatusTexts) {
return this._getOption('customizeResponseText');
}
set customizeResponseText(value: ((command: CommandInfo) => ResponseStatusTexts)) {
this._setOption('customizeResponseText', value);
}

@Input()
get customizeResponseTitle(): ((status: ResponseStatus, commandNames: Array<string>) => string) {
return this._getOption('customizeResponseTitle');
}
set customizeResponseTitle(value: ((status: ResponseStatus, commandNames: Array<string>) => string)) {
this._setOption('customizeResponseTitle', value);
Comment thread
anna-shakhova marked this conversation as resolved.
}

@Input()
get enabled(): boolean {
return this._getOption('enabled');
Expand Down
1 change: 1 addition & 0 deletions packages/devextreme-metadata/make-angular-metadata.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ Ng.makeMetadata({

removeMembers(/\/grids:ColumnBase.ai/),
removeMembers(/\/grids:GridBaseOptions.aiAssistant/),
removeMembers(/\/grids:AIAssistant/),
removeMembers(/\/calendar:dxCalendarOptions.todayButtonText/),
removeMembers(/\/card_view:/),
removeMembers(/\/chat:TextMessage.attachments/),
Expand Down
10 changes: 10 additions & 0 deletions packages/devextreme-react/src/common/grids.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ export type {
AIColumnRequestCreatingInfo,
ApplyChangesMode,
ApplyFilterMode,
BasicFilterExprObj,
ColumnAIOptions,
ColumnBase,
ColumnButtonBase,
Expand All @@ -21,6 +22,9 @@ export type {
ColumnHeaderFilterSearchConfig,
ColumnLookup,
ColumnResizeMode,
CombinedFilterExprObj,
CommandInfo,
CompositeKeyPair,
DataChange,
DataChangeInfo,
DataChangeType,
Expand All @@ -30,6 +34,7 @@ export type {
EditingTextsBase,
EnterKeyAction,
EnterKeyDirection,
FilterExprObj,
FilterOperation,
FilterPanel,
FilterPanelTexts,
Expand All @@ -50,11 +55,16 @@ export type {
KeyboardNavigation,
KeyDownInfo,
LoadPanel,
NegatedFilterExprObj,
NewRowInfo,
NewRowPosition,
Pager,
PagerPageSize,
PagingBase,
PredefinedCommandNames,
PredefinedCommands,
ResponseStatus,
ResponseStatusTexts,
RowDragging,
RowDraggingTemplateData,
RowInsertedInfo,
Expand Down
12 changes: 11 additions & 1 deletion packages/devextreme-react/src/common/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -275,12 +275,13 @@ export namespace Export {
export function Grids(): void {}
export namespace Grids {
export type AdaptiveDetailRowPreparingInfo = GridsModule.AdaptiveDetailRowPreparingInfo;
export type AIAssistant = GridsModule.AIAssistant;
export type AIAssistant<TCommands extends PredefinedCommands = PredefinedCommands> = GridsModule.AIAssistant<TCommands>;
export type AIAssistantRequestCreatingInfo = GridsModule.AIAssistantRequestCreatingInfo;
export type AIColumnMode = GridsModule.AIColumnMode;
export type AIColumnRequestCreatingInfo<TRowData = any> = GridsModule.AIColumnRequestCreatingInfo<TRowData>;
export type ApplyChangesMode = GridsModule.ApplyChangesMode;
export type ApplyFilterMode = GridsModule.ApplyFilterMode;
export type BasicFilterExprObj = GridsModule.BasicFilterExprObj;
export type ColumnAIOptions = GridsModule.ColumnAIOptions;
export type ColumnBase<TRowData = any> = GridsModule.ColumnBase<TRowData>;
export type ColumnButtonBase = GridsModule.ColumnButtonBase;
Expand All @@ -296,6 +297,9 @@ export namespace Grids {
export type ColumnHeaderFilterSearchConfig = GridsModule.ColumnHeaderFilterSearchConfig;
export type ColumnLookup = GridsModule.ColumnLookup;
export type ColumnResizeMode = GridsModule.ColumnResizeMode;
export type CombinedFilterExprObj = GridsModule.CombinedFilterExprObj;
export type CommandInfo<TCommands extends PredefinedCommands = PredefinedCommands> = GridsModule.CommandInfo<TCommands>;
export type CompositeKeyPair = GridsModule.CompositeKeyPair;
export type DataChange<TRowData = any, TKey = any> = GridsModule.DataChange<TRowData, TKey>;
export type DataChangeInfo<TRowData = any, TKey = any> = GridsModule.DataChangeInfo<TRowData, TKey>;
export type DataChangeType = GridsModule.DataChangeType;
Expand All @@ -305,6 +309,7 @@ export namespace Grids {
export type EditingTextsBase = GridsModule.EditingTextsBase;
export type EnterKeyAction = GridsModule.EnterKeyAction;
export type EnterKeyDirection = GridsModule.EnterKeyDirection;
export type FilterExprObj = GridsModule.FilterExprObj;
export type FilterOperation = GridsModule.FilterOperation;
export type FilterPanel<TComponent = any, TRowData = any, TKey = any> = GridsModule.FilterPanel<TComponent, TRowData, TKey>;
export type FilterPanelTexts = GridsModule.FilterPanelTexts;
Expand All @@ -325,11 +330,16 @@ export namespace Grids {
export type KeyboardNavigation = GridsModule.KeyboardNavigation;
export type KeyDownInfo = GridsModule.KeyDownInfo;
export type LoadPanel = GridsModule.LoadPanel;
export type NegatedFilterExprObj = GridsModule.NegatedFilterExprObj;
export type NewRowInfo<TRowData = any> = GridsModule.NewRowInfo<TRowData>;
export type NewRowPosition = GridsModule.NewRowPosition;
export type Pager = GridsModule.Pager;
export type PagerPageSize = GridsModule.PagerPageSize;
export type PagingBase = GridsModule.PagingBase;
export type PredefinedCommandNames = GridsModule.PredefinedCommandNames;
export type PredefinedCommands = GridsModule.PredefinedCommands;
export type ResponseStatus = GridsModule.ResponseStatus;
export type ResponseStatusTexts = GridsModule.ResponseStatusTexts;
export type RowDragging<TComponent extends GridBase<TRowData, TKey>, TRowData = any, TKey = any> = GridsModule.RowDragging<TComponent, TRowData, TKey>;
export type RowDraggingTemplateData<TRowData = any> = GridsModule.RowDraggingTemplateData<TRowData>;
export type RowInsertedInfo<TRowData = any, TKey = any> = GridsModule.RowInsertedInfo<TRowData, TKey>;
Expand Down
8 changes: 5 additions & 3 deletions packages/devextreme-react/src/data-grid.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { Component as BaseComponent, IHtmlOptions, ComponentRef, NestedComponent
import NestedOption from "./core/nested-option";

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";
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";
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";
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";
import type { ContentReadyEvent as ButtonContentReadyEvent, DisposingEvent as ButtonDisposingEvent, InitializedEvent as ButtonInitializedEvent, dxButtonOptions, ClickEvent, OptionChangedEvent } from "devextreme/ui/button";
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";
Expand Down Expand Up @@ -131,7 +131,7 @@ const DataGrid = memo(
}
), []);

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"]), []);
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"]), []);
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"]), []);

const defaults = useMemo(() => ({
Expand Down Expand Up @@ -244,6 +244,8 @@ const AI = Object.assign<typeof _componentAI, NestedComponentMeta>(_componentAI,
type IAIAssistantProps = React.PropsWithChildren<{
aiIntegration?: AIIntegration;
chat?: Record<string, any>;
customizeResponseText?: ((command: CommandInfo) => ResponseStatusTexts);
customizeResponseTitle?: ((status: ResponseStatus, commandNames: Array<string>) => string);
Comment thread
anna-shakhova marked this conversation as resolved.
enabled?: boolean;
popup?: dxPopupOptions<any>;
title?: string;
Expand Down Expand Up @@ -2845,8 +2847,8 @@ const PatternRule = Object.assign<typeof _componentPatternRule, NestedComponentM
});

// owners:
// Editing
// AIAssistant
// Editing
type IPopupProps = React.PropsWithChildren<{
accessKey?: string | undefined;
animation?: Record<string, any> | {
Expand Down
Loading
Loading