Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
61fa2f5
AI Column type, sorting test
Sep 18, 2025
899cf2b
Merge branch '25_2' of github.com:DevExpress/DevExtreme into AI-Colum…
Sep 18, 2025
60c2661
Fix tests
Sep 19, 2025
5251ddd
Update test handler
Sep 19, 2025
dc63e3b
Merge branch '25_2' of github.com:DevExpress/DevExtreme into AI-Colum…
Sep 19, 2025
bc882d9
Merge branch '25_2' of github.com:DevExpress/DevExtreme into AI-Colum…
Sep 22, 2025
a268cae
Merge branch '25_2' of github.com:DevExpress/DevExtreme into AI-Colum…
Sep 24, 2025
638c59d
Add structure
Sep 24, 2025
ffbf698
Add methods
Sep 24, 2025
9e65d90
Merge commit
Sep 24, 2025
38dbb4b
Merge branch '25_2' of github.com:DevExpress/DevExtreme into AI-Colum…
Sep 24, 2025
4543f14
Refactoring
Sep 24, 2025
dd4a44d
Add aiIntegration tests
Sep 29, 2025
ba73086
Prompt property
Sep 29, 2025
202d34d
Handling data changing
Oct 2, 2025
798b3e4
Async tests
Oct 2, 2025
149ca7b
Manual mode test
Oct 2, 2025
dc00b82
Merge branch '25_2' of github.com:DevExpress/DevExtreme into New-AI-C…
Oct 2, 2025
97a34ab
Remove playground file dx.ai-integration.js
Oct 2, 2025
c78d4ef
Remove playground file jquery AI Column Base.html
Oct 2, 2025
9166c36
Remove playground file jquery calculateCellValue.html
Oct 2, 2025
42163d0
Rollback
Oct 2, 2025
03acfb0
Rollback
Oct 2, 2025
a54a763
Fix tests
Oct 3, 2025
5ae838d
Update dx.all.d.ts
Oct 3, 2025
56ebe9a
Error text fix
Oct 3, 2025
03e3d20
Merge branch '25_2' of github.com:DevExpress/DevExtreme into New-AI-C…
Oct 6, 2025
6de7eaf
Fix comments
Oct 6, 2025
f660cca
Rename GenerateColumn -> GenerateGridColumn
Oct 7, 2025
378f570
.d.ts regeneration
Oct 7, 2025
3489f78
Merge branch '25_2' of github.com:DevExpress/DevExtreme into AI-Colum…
Oct 7, 2025
f223b4a
abortAIColumnRequest implementation
Oct 7, 2025
025a2e7
sendAIColumnRequest requires prompt
Oct 8, 2025
07e44df
New request aborts the previous one
Oct 8, 2025
48afd22
Merge branch '25_2' into AI-Column-Methods
Oct 8, 2025
79c790e
refreshAIColumn tests
Oct 8, 2025
6f49324
clearAIColumn tests
Oct 8, 2025
1b24cf5
getAIColumnValue test template
Oct 8, 2025
f5c40ba
Comment empty tests
Oct 8, 2025
d85654a
Update timers, move showResults, add handler tests
Oct 14, 2025
a814864
Rolllback showResults
Oct 15, 2025
bac54f9
Add onAIColumnRequestCreating implementation
Oct 15, 2025
91af18f
Merge branch '25_2' of github.com:DevExpress/DevExtreme into AI-Colum…
Oct 15, 2025
c18c97a
Passing additionalInfo
Oct 15, 2025
fec80b3
Manual running requests
Oct 15, 2025
b148e60
onAIColumnResponseReceived implementation
Oct 16, 2025
56d2595
onAIColumnResponseReceived additionalData and errorHandler
Oct 16, 2025
96b3943
TS fix
Oct 16, 2025
dd7f750
Merge branch '25_2' of github.com:DevExpress/DevExtreme into AI-Colum…
Oct 16, 2025
6ebc95f
Regenerating .d.ts.
Oct 16, 2025
daa72b2
Type fix
Oct 16, 2025
280aa17
.d.ts regenertion
Oct 16, 2025
96e9252
.d.ts fix
Oct 16, 2025
4e39d75
Dependency fix
Oct 16, 2025
0932c71
Fix test
Oct 16, 2025
3ec15bd
Merge branch '25_2' into AI-Column-Methods
Oct 21, 2025
f2a4166
Fix tests
Oct 21, 2025
c770a6a
Fix tests
Oct 22, 2025
67a9941
Fix test
Oct 22, 2025
3a5d764
Fix tests
Oct 22, 2025
38d6b2b
Merge branch '25_2' of github.com:DevExpress/DevExtreme into AI-Colum…
Oct 22, 2025
74b9850
Merge branch '25_2' into AI-Column-Methods
Raushen Oct 23, 2025
719863f
CardView: Replace public image URLs with local URLs for TestCafe test…
Alyar666 Oct 23, 2025
4c486e5
DataGrid: Apply design changes to AIPromptEditor (#31437)
Alyar666 Oct 23, 2025
1daa5d9
Merge branch '25_2' of github.com:DevExpress/DevExtreme into AI-Colum…
Oct 23, 2025
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
4 changes: 2 additions & 2 deletions packages/devextreme-themebuilder/tests/data/dependencies.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,11 @@ export const dependencies: FlatStylesDependencies = {
treeview: ['validation', 'button', 'loadindicator', 'textbox', 'checkbox'],
menu: ['validation', 'button', 'loadindicator', 'textbox', 'contextmenu', 'checkbox', 'treeview'],
filterbuilder: ['validation', 'button', 'loadindicator', 'textbox', 'checkbox', 'treeview', 'popup', 'numberbox', 'loadpanel', 'scrollview', 'list', 'selectbox', 'calendar', 'box', 'datebox'],
datagrid: ['loadindicator', 'loadpanel', 'validation', 'button', 'textbox', 'contextmenu', 'scrollview', 'popup', 'progressbar', 'toolbar', 'checkbox', 'treeview', 'numberbox', 'list', 'selectbox', 'calendar', 'box', 'datebox', 'multiview', 'tabs', 'tabpanel', 'responsivebox', 'form', 'menu', 'filterbuilder', 'buttongroup', 'dropdownbutton', 'sortable', 'textarea'],
datagrid: ['loadindicator', 'loadpanel', 'validation', 'button', 'textbox', 'toast', 'contextmenu', 'scrollview', 'popup', 'progressbar', 'toolbar', 'checkbox', 'treeview', 'numberbox', 'list', 'selectbox', 'calendar', 'box', 'datebox', 'multiview', 'tabs', 'tabpanel', 'responsivebox', 'form', 'menu', 'filterbuilder', 'buttongroup', 'dropdownbutton', 'sortable', 'textarea'],
treelist: ['loadindicator', 'loadpanel', 'validation', 'button', 'textbox', 'contextmenu', 'scrollview', 'popup', 'toolbar'],
pivotgrid: ['validation', 'button', 'loadindicator', 'textbox', 'contextmenu', 'popup', 'loadpanel', 'checkbox', 'treeview', 'scrollview', 'list'],
scheduler: ['validation', 'button', 'popup', 'loadindicator', 'loadpanel', 'multiview', 'tabs', 'tabpanel', 'box', 'responsivebox', 'textbox', 'numberbox', 'checkbox', 'calendar', 'scrollview', 'list', 'selectbox', 'datebox', 'form', 'buttongroup', 'radiogroup', 'textarea', 'tagbox', 'switch', 'dropdownbutton', 'popover', 'tooltip', 'toolbar'],
filemanager: ['toast', 'validation', 'button', 'loadindicator', 'textbox', 'contextmenu', 'checkbox', 'treeview', 'loadpanel', 'scrollview', 'popup', 'toolbar', 'numberbox', 'list', 'selectbox', 'calendar', 'box', 'datebox', 'multiview', 'tabs', 'tabpanel', 'responsivebox', 'form', 'menu', 'filterbuilder', 'buttongroup', 'dropdownbutton', 'sortable', 'datagrid', 'drawer', 'progressbar', 'fileuploader', 'textarea'],
diagram: ['loadindicator', 'validation', 'button', 'loadpanel', 'scrollview', 'popup', 'toolbar', 'textbox', 'contextmenu', 'list', 'checkbox', 'selectbox', 'numberbox', 'colorbox', 'popover', 'accordion', 'tooltip', 'multiview', 'tabs', 'tabpanel', 'progressbar', 'fileuploader'],
gantt: ['loadindicator', 'loadpanel', 'validation', 'button', 'popup', 'multiview', 'tabs', 'tabpanel', 'box', 'responsivebox', 'textbox', 'numberbox', 'checkbox', 'calendar', 'scrollview', 'list', 'selectbox', 'datebox', 'form', 'tagbox', 'radiogroup', 'popover', 'actionsheet', 'toolbar', 'contextmenu', 'treeview', 'menu', 'filterbuilder', 'sortable', 'treelist', 'progressbar', 'textarea'],
gantt: ['loadindicator', 'loadpanel', 'validation', 'button', 'popup', 'multiview', 'tabs', 'tabpanel', 'box', 'responsivebox', 'textbox', 'toast', 'numberbox', 'checkbox', 'calendar', 'scrollview', 'list', 'selectbox', 'datebox', 'form', 'tagbox', 'radiogroup', 'popover', 'actionsheet', 'toolbar', 'contextmenu', 'treeview', 'menu', 'filterbuilder', 'sortable', 'treelist', 'progressbar', 'textarea'],
};
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { GenerateGridColumnCommandParams, GenerateGridColumnCommandResult } from '@js/common/ai-integration';
import type { GenerateGridColumnCommandParams, GenerateGridColumnCommandResponse, GenerateGridColumnCommandResult } from '@js/common/ai-integration';
import { BaseCommand } from '@ts/core/ai_integration/commands/base';
import type { PromptData, PromptTemplateName } from '@ts/core/ai_integration/core/prompt_manager';

Expand All @@ -20,9 +20,24 @@ export class GenerateGridColumnCommand extends BaseCommand<
};
}

protected parseResult(response: string): GenerateGridColumnCommandResult {
const result: GenerateGridColumnCommandResult = JSON.parse(response);
return result;
protected parseResult(
response: GenerateGridColumnCommandResponse,
): GenerateGridColumnCommandResult {
if (typeof response === 'string') {
return {
data: JSON.parse(response),
additionalInfo: undefined,
};
}

const data = typeof response.data === 'string'
? JSON.parse(response.data)
: response.data;

return {
data,
additionalInfo: response.additionalInfo,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't 'response.additionalInfo' be parsed too?

Copy link
Copy Markdown
Contributor Author

@Raushen Raushen Oct 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We expected this field will be read-to-use in the onAIColumnResponseReceived handler as its value came not from AI, but from an endpoint. So yes, it was planned it is already dictionary.
However we gonna to avoid using this handler and prefer do all necessary operations on the aiIntegration.sendRequest level. In the future there will be a task removing this field.

};
}

private generateDataDescription(data: Record<PropertyKey, unknown>): string {
Expand Down
Loading
Loading