').addClass(CLASSES.chatSuggestions));
+
+ aiChat.setDisabled(true);
+
+ expect(mockWidgetInstance.option).toHaveBeenCalledWith('disabled', true);
+ });
+
+ it('should enable chat suggestions widget when set to false', () => {
+ const { aiChat } = createAIChat();
+ triggerContentTemplate();
+ mockChatElement.append($('
').addClass(CLASSES.chatSuggestions));
+
+ aiChat.setDisabled(true);
+ aiChat.setDisabled(false);
+
+ expect(mockWidgetInstance.option).toHaveBeenCalledWith('disabled', false);
+ });
+
it('should not update when setting same disabled value', () => {
const { aiChat } = createAIChat();
triggerContentTemplate();
diff --git a/packages/devextreme/js/__internal/grids/grid_core/ai_chat/ai_chat.ts b/packages/devextreme/js/__internal/grids/grid_core/ai_chat/ai_chat.ts
index 155ccb35b83f..9daa02d9ae24 100644
--- a/packages/devextreme/js/__internal/grids/grid_core/ai_chat/ai_chat.ts
+++ b/packages/devextreme/js/__internal/grids/grid_core/ai_chat/ai_chat.ts
@@ -273,6 +273,14 @@ export class AIChat {
this.clearChatButtonInstance?.option('disabled', disabled);
}
+ private setChatSuggestionsDisabled(disabled: boolean): void {
+ const $chatSuggestions = this.chatInstance?.$element().find(`.${CLASSES.chatSuggestions}`);
+
+ if ($chatSuggestions?.length) {
+ gridCoreUtils.getWidgetInstance($chatSuggestions)?.option('disabled', disabled);
+ }
+ }
+
public updateOptions(options: AIChatOptions, updatePopup: boolean, updateChat: boolean): void {
this.options = options;
@@ -308,6 +316,7 @@ export class AIChat {
this.setTextAreaDisabled(disabled);
this.setSpeechToTextDisabled(disabled);
this.setClearChatButtonDisabled(disabled);
+ this.setChatSuggestionsDisabled(disabled);
}
public renderAIMessage(message: AIMessage, container: HTMLElement): void {
diff --git a/packages/devextreme/js/__internal/grids/grid_core/ai_chat/const.ts b/packages/devextreme/js/__internal/grids/grid_core/ai_chat/const.ts
index a7f5caf28466..2fe88cd74d58 100644
--- a/packages/devextreme/js/__internal/grids/grid_core/ai_chat/const.ts
+++ b/packages/devextreme/js/__internal/grids/grid_core/ai_chat/const.ts
@@ -48,6 +48,7 @@ export const CLASSES = {
disabled: 'dx-ai-chat--disabled',
textArea: TEXTAREA_CLASS,
speechToTextButton: SPEECH_TO_TEXT_CLASS,
+ chatSuggestions: 'dx-chat-suggestions',
};
export const CLEAR_CHAT_ICON = 'clearhistory';
From 324a8100f7fedbce17d88b27fa0bbb6726c728c9 Mon Sep 17 00:00:00 2001
From: Alyar <>
Date: Fri, 15 May 2026 02:02:32 +0400
Subject: [PATCH 2/3] small refactoring code
---
.../__internal/grids/grid_core/ai_chat/ai_chat.test.ts | 10 ++++------
.../js/__internal/grids/grid_core/ai_chat/ai_chat.ts | 6 +-----
2 files changed, 5 insertions(+), 11 deletions(-)
diff --git a/packages/devextreme/js/__internal/grids/grid_core/ai_chat/ai_chat.test.ts b/packages/devextreme/js/__internal/grids/grid_core/ai_chat/ai_chat.test.ts
index 6ad53113b3e9..792707a594fd 100644
--- a/packages/devextreme/js/__internal/grids/grid_core/ai_chat/ai_chat.test.ts
+++ b/packages/devextreme/js/__internal/grids/grid_core/ai_chat/ai_chat.test.ts
@@ -812,25 +812,23 @@ describe('AIChat', () => {
expect(mockClearChatButtonInstance.option).toHaveBeenCalledWith('disabled', false);
});
- it('should disable chat suggestions widget', () => {
+ it('should disable chat suggestions via chatInstance option', () => {
const { aiChat } = createAIChat();
triggerContentTemplate();
- mockChatElement.append($('
').addClass(CLASSES.chatSuggestions));
aiChat.setDisabled(true);
- expect(mockWidgetInstance.option).toHaveBeenCalledWith('disabled', true);
+ expect(mockChatInstance.option).toHaveBeenCalledWith({ suggestions: { disabled: true } });
});
- it('should enable chat suggestions widget when set to false', () => {
+ it('should enable chat suggestions via chatInstance option when set to false', () => {
const { aiChat } = createAIChat();
triggerContentTemplate();
- mockChatElement.append($('
').addClass(CLASSES.chatSuggestions));
aiChat.setDisabled(true);
aiChat.setDisabled(false);
- expect(mockWidgetInstance.option).toHaveBeenCalledWith('disabled', false);
+ expect(mockChatInstance.option).toHaveBeenCalledWith({ suggestions: { disabled: false } });
});
it('should not update when setting same disabled value', () => {
diff --git a/packages/devextreme/js/__internal/grids/grid_core/ai_chat/ai_chat.ts b/packages/devextreme/js/__internal/grids/grid_core/ai_chat/ai_chat.ts
index 9daa02d9ae24..a3043e8db9f6 100644
--- a/packages/devextreme/js/__internal/grids/grid_core/ai_chat/ai_chat.ts
+++ b/packages/devextreme/js/__internal/grids/grid_core/ai_chat/ai_chat.ts
@@ -274,11 +274,7 @@ export class AIChat {
}
private setChatSuggestionsDisabled(disabled: boolean): void {
- const $chatSuggestions = this.chatInstance?.$element().find(`.${CLASSES.chatSuggestions}`);
-
- if ($chatSuggestions?.length) {
- gridCoreUtils.getWidgetInstance($chatSuggestions)?.option('disabled', disabled);
- }
+ this.chatInstance?.option({ suggestions: { disabled } });
}
public updateOptions(options: AIChatOptions, updatePopup: boolean, updateChat: boolean): void {
From 8b3e5249d96d4f036c9d678778643c9f83aa31b3 Mon Sep 17 00:00:00 2001
From: Alyar <>
Date: Fri, 15 May 2026 11:57:21 +0400
Subject: [PATCH 3/3] remove extra class
---
.../devextreme/js/__internal/grids/grid_core/ai_chat/const.ts | 1 -
1 file changed, 1 deletion(-)
diff --git a/packages/devextreme/js/__internal/grids/grid_core/ai_chat/const.ts b/packages/devextreme/js/__internal/grids/grid_core/ai_chat/const.ts
index 2fe88cd74d58..a7f5caf28466 100644
--- a/packages/devextreme/js/__internal/grids/grid_core/ai_chat/const.ts
+++ b/packages/devextreme/js/__internal/grids/grid_core/ai_chat/const.ts
@@ -48,7 +48,6 @@ export const CLASSES = {
disabled: 'dx-ai-chat--disabled',
textArea: TEXTAREA_CLASS,
speechToTextButton: SPEECH_TO_TEXT_CLASS,
- chatSuggestions: 'dx-chat-suggestions',
};
export const CLEAR_CHAT_ICON = 'clearhistory';