Skip to content
Draft
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
5 changes: 5 additions & 0 deletions packages/devextreme-angular/src/common/grids/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ export type {
ColumnHeaderFilterSearchConfig,
ColumnLookup,
ColumnResizeMode,
CommandInfo,
DataChange,
DataChangeInfo,
DataChangeType,
Expand Down Expand Up @@ -55,6 +56,10 @@ export type {
Pager,
PagerPageSize,
PagingBase,
PredefinedCommandNames,
PredefinedCommands,
ResponseStatus,
ResponseStatusTexts,
RowDragging,
RowDraggingTemplateData,
RowInsertedInfo,
Expand Down
7 changes: 6 additions & 1 deletion packages/devextreme-angular/src/common/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@ 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>;
Expand All @@ -296,6 +296,7 @@ export namespace Grids {
export type ColumnHeaderFilterSearchConfig = GridsModule.ColumnHeaderFilterSearchConfig;
export type ColumnLookup = GridsModule.ColumnLookup;
export type ColumnResizeMode = GridsModule.ColumnResizeMode;
export type CommandInfo<TCommands extends PredefinedCommands = PredefinedCommands> = GridsModule.CommandInfo<TCommands>;
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 Down Expand Up @@ -330,6 +331,10 @@ export namespace Grids {
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);
}

@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);
}

@Input()
get enabled(): boolean {
return this._getOption('enabled');
Expand Down
2 changes: 2 additions & 0 deletions packages/devextreme-metadata/make-angular-metadata.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { cleanArtifacts, types } from './common';
import { commonSmdCollectionItems } from './common/smd';
import { NG_SMD_FILE, PATHS } from './common/paths';
import { replaceTypesMutations } from './common-smd-mutations';
import { dxDataGridOptions } from 'devextreme/js/ui/data_grid';

cleanArtifacts(NG_SMD_FILE, 'NgSmdGenerator.cfg.json');

Expand Down Expand Up @@ -48,6 +49,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
5 changes: 5 additions & 0 deletions packages/devextreme-react/src/common/grids.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ export type {
ColumnHeaderFilterSearchConfig,
ColumnLookup,
ColumnResizeMode,
CommandInfo,
DataChange,
DataChangeInfo,
DataChangeType,
Expand Down Expand Up @@ -55,6 +56,10 @@ export type {
Pager,
PagerPageSize,
PagingBase,
PredefinedCommandNames,
PredefinedCommands,
ResponseStatus,
ResponseStatusTexts,
RowDragging,
RowDraggingTemplateData,
RowInsertedInfo,
Expand Down
7 changes: 6 additions & 1 deletion packages/devextreme-react/src/common/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@ 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>;
Expand All @@ -296,6 +296,7 @@ export namespace Grids {
export type ColumnHeaderFilterSearchConfig = GridsModule.ColumnHeaderFilterSearchConfig;
export type ColumnLookup = GridsModule.ColumnLookup;
export type ColumnResizeMode = GridsModule.ColumnResizeMode;
export type CommandInfo<TCommands extends PredefinedCommands = PredefinedCommands> = GridsModule.CommandInfo<TCommands>;
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 Down Expand Up @@ -330,6 +331,10 @@ export namespace Grids {
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);
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
4 changes: 3 additions & 1 deletion packages/devextreme-react/src/tree-list.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 { dxTreeListColumn, AdaptiveDetailRowPreparingEvent, AIAssistantRequestCreatingEvent, AIColumnRequestCreatingEvent, CellClickEvent, CellDblClickEvent, CellPreparedEvent, ContentReadyEvent, ContextMenuPreparingEvent, DataErrorOccurredEvent, DisposingEvent, EditCanceledEvent, EditCancelingEvent, EditingStartEvent, EditorPreparedEvent, EditorPreparingEvent, FocusedCellChangingEvent, FocusedRowChangingEvent, InitializedEvent, InitNewRowEvent, KeyDownEvent, NodesInitializedEvent, RowClickEvent, RowCollapsedEvent, RowCollapsingEvent, RowDblClickEvent, RowExpandedEvent, RowExpandingEvent, RowInsertedEvent, RowInsertingEvent, RowPreparedEvent, RowRemovedEvent, RowRemovingEvent, RowUpdatedEvent, RowUpdatingEvent, RowValidatingEvent, SavedEvent, SavingEvent, ToolbarPreparingEvent, dxTreeListRowObject, TreeListPredefinedColumnButton, ColumnButtonClickEvent, dxTreeListColumnButton, TreeListCommandColumnType, TreeListPredefinedToolbarItem, dxTreeListToolbarItem } from "devextreme/ui/tree_list";
import type { DataChange, AIColumnMode, DataChangeType, ColumnAIOptions, FilterOperation, FilterType, FixedPosition, ColumnHeaderFilter as GridsColumnHeaderFilter, SelectedFilterOperation, ColumnChooserMode, ColumnChooserSearchConfig, ColumnChooserSelectionConfig, HeaderFilterGroupInterval, ColumnHeaderFilterSearchConfig, GridsEditMode, GridsEditRefreshMode, StartEditAction, FilterPanel as GridsFilterPanel, FilterPanelTexts as GridsFilterPanelTexts, ApplyFilterMode, HeaderFilterSearchConfig, HeaderFilterTexts, 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, GridsEditMode, GridsEditRefreshMode, StartEditAction, FilterPanel as GridsFilterPanel, FilterPanelTexts as GridsFilterPanelTexts, ApplyFilterMode, HeaderFilterSearchConfig, HeaderFilterTexts, EnterKeyAction, EnterKeyDirection, PagerPageSize, GridBase, DataRenderMode, StateStoreType } from "devextreme/common/grids";
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";
import type { ContentReadyEvent as FilterBuilderContentReadyEvent, DisposingEvent as FilterBuilderDisposingEvent, EditorPreparedEvent as FilterBuilderEditorPreparedEvent, EditorPreparingEvent as FilterBuilderEditorPreparingEvent, InitializedEvent as FilterBuilderInitializedEvent, OptionChangedEvent as FilterBuilderOptionChangedEvent, dxFilterBuilderField, FieldInfo, ValueChangedEvent as FilterBuilderValueChangedEvent, FilterBuilderOperation, dxFilterBuilderCustomOperation, GroupOperation } from "devextreme/ui/filter_builder";
Expand Down Expand Up @@ -216,6 +216,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);
enabled?: boolean;
popup?: dxPopupOptions<any>;
title?: string;
Expand Down
5 changes: 5 additions & 0 deletions packages/devextreme-vue/src/common/grids.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ export type {
ColumnHeaderFilterSearchConfig,
ColumnLookup,
ColumnResizeMode,
CommandInfo,
DataChange,
DataChangeInfo,
DataChangeType,
Expand Down Expand Up @@ -55,6 +56,10 @@ export type {
Pager,
PagerPageSize,
PagingBase,
PredefinedCommandNames,
PredefinedCommands,
ResponseStatus,
ResponseStatusTexts,
RowDragging,
RowDraggingTemplateData,
RowInsertedInfo,
Expand Down
Loading
Loading