devextreme
Version:
JavaScript/TypeScript Component Suite for Responsive Web Development
65 lines (64 loc) • 2.17 kB
JavaScript
/**
* DevExtreme (esm/__internal/grids/grid_core/ai_chat/utils.js)
* Version: 26.1.3
* Build date: Wed Jun 10 2026
*
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
import {
MessageStatus
} from "../../../grids/grid_core/ai_assistant/const";
import {
ABORTED_ITEM_EMOJI,
CLASSES,
ERROR_ITEM_EMOJI,
SUCCESS_ITEM_EMOJI
} from "./const";
export const getMessageStateClass = status => {
switch (status) {
case "success":
return CLASSES.messageSuccess;
case "failure":
return CLASSES.messageError;
default:
return CLASSES.messagePending
}
};
export const getMessageIconName = message => {
switch (message.status) {
case MessageStatus.Failure:
return "errorcircle";
case MessageStatus.Success:
return "checkmarkcirclefilled";
case MessageStatus.Pending:
default:
return "sparkle"
}
};
export const findMessageById = (items, id) => null === items || void 0 === items ? void 0 : items.find(item => item.id === id);
export const needToShowRegenerateButton = message => {
var _message$commands;
const isError = message.status === MessageStatus.Failure;
return isError && !(null !== (_message$commands = message.commands) && void 0 !== _message$commands && _message$commands.length)
};
export const getCommandItemStyle = status => {
switch (status) {
case "failure":
return {
stateClass: CLASSES.actionListItemError, emoji: ERROR_ITEM_EMOJI
};
case "aborted":
return {
stateClass: CLASSES.actionListItemAborted, emoji: ABORTED_ITEM_EMOJI
};
default:
return {
stateClass: CLASSES.actionListItemSuccess, emoji: SUCCESS_ITEM_EMOJI
}
}
};
export const needToRenderCommandList = message => {
var _message$commands2;
return !!(null !== (_message$commands2 = message.commands) && void 0 !== _message$commands2 && _message$commands2.length)
};