AIAssistViewModel

16 Dec 202515 minutes to read

Interface for a class AIAssistView

Properties

attachmentRemoved EmitType<object>

Event triggered when an attachment is removed.
Provides details about the removed file.

attachmentUploadFailure EmitType<object>

Event triggered on attachment upload failure.
Provides details about the failed file and error message.

attachmentUploadSuccess EmitType<object>

Event triggered on successful attachment upload.
Provides details about the uploaded file.

beforeAttachmentUpload EmitType<BeforeUploadEventArgs>

Event triggered before an attachment upload is initiated.
Provides details about the file to be uploaded.

created EmitType<Object>

Event triggers when the component is created.

promptChanged EmitType<PromptChangedEventArgs>

Event triggered when the prompt text changed in the AIAssistView component.

promptRequest EmitType<PromptRequestEventArgs>

Event triggered when a prompt request is made in the AIAssistView component.
Provides details about the prompt request, including whether it should be cancelled, the prompt text, output, and toolbar items.

stopRespondingClick EmitType<StopRespondingEventArgs>

Triggers when the ‘Stop Responding’ button is clicked while a prompt request is in progress.
This event allows users to handle stopping the response generation and update the UI accordingly.

activeView number

Specifies the index of the active view in the AIAssistView component.
Determines the currently active and visible view.

attachmentSettings AttachmentSettingsModel

Specifies the settings for the attachments in the AIAssistView component.
Represents the configuration for the uploader associated with footer.

bannerTemplate string|function|JSX.Element

Specifies the template for the banner in the AIAssistView component.
Represents the content or layout used to render the banner. Can be a string or a function.

import { AIAssistViewComponent } from '@syncfusion/ej2-react-interactive-chat';
import * as React from 'react';
import * as ReactDOM from "react-dom";

function App() {
    const bannerTemplate: string = '<div class="banner-content"><div class="e-icons e-assistview-icon"></div><h3>AI Assistance.</h3></div>';
  
    return (
        <AIAssistViewComponent id="aiAssistView" bannerTemplate={bannerTemplate}></AIAssistViewComponent>
    );
}

ReactDOM.render(<App />, document.getElementById('container'));

cssClass string

Specifies custom CSS classes for the AIAssistView component. Allows for additional custom styling.

enableAttachments boolean

Specifies whether the attachments is enabled in the AIAssistView component.

enablePersistence boolean

Enable or disable persisting component’s state between page reloads.

enableRtl boolean

Enable or disable rendering component in right to left direction.

footerTemplate string|function|JSX.Element

Specifies the template for the footer in the AIAssistView component.
Defines the content or layout used to render the footer. Can be a string or a function.

import { AIAssistViewComponent } from '@syncfusion/ej2-react-interactive-chat';
import * as React from 'react';
import * as ReactDOM from "react-dom";

function App() {
    const footerTemplate: string = '<div><textarea id="promptTextArea" class="e-input"></textarea><button>Generate</button></div>';
  
    return (
        <AIAssistViewComponent id="aiAssistView" footerTemplate={footerTemplate}></AIAssistViewComponent>
    );
}

ReactDOM.render(<App />, document.getElementById('container'));

footerToolbarSettings FooterToolbarSettingsModel

Configuration object for rendering a Syncfusion Toolbar in the footer.
This property holds the settings required to initialize and display a custom Syncfusion Toolbar in the input field.

height string|number

Specifies the height of the AIAssistView component.

locale string

Overrides the global culture and localization value for this component. Default global culture is ‘en-US’.

prompt string

Specifies the text input prompt for the AIAssistView component.

promptIconCss string

Specifies the CSS class for the prompter avatar in the AIAssistView component. Allows custom styling for the prompt avatar.

promptItemTemplate string|function|JSX.Element

Specifies the template for rendering prompt items in the AIAssistView component.
Defines the content or layout used to render prompt items, and can be either a string or a function.
The template context includes prompt text and toolbar items.

import { AIAssistViewComponent, PromptModel, PromptRequestEventArgs } from '@syncfusion/ej2-react-interactive-chat';
import * as React from 'react';
import * as ReactDOM from "react-dom";

function App() {
    const assistInstance = React.useRef<AIAssistViewComponent>(null);
    const promptItemContent = (props: any) => {
        return (
            <div>{props.prompt}</div>
        );
    }; 
    const prompts: PromptModel[] = [
        {
            prompt: "What is AI?",
            response: "<div>AI stands for Artificial Intelligence, enabling machines to mimic human intelligence for tasks such as learning, problem-solving, and decision-making.</div>"
        }
    ];
    const onPromptRequest = (args: PromptRequestEventArgs) => {
        setTimeout(() => {
            assistInstance.current.addPromptResponse('Connect the AIAssistView component to OpenAI or Azure Cognitive Services for real-time prompts, using API credentials for authentication.');
        }, 1000);
    };
    return (
        <AIAssistViewComponent id="aiAssistView" ref={assistInstance} prompts={prompts} promptRequest={onPromptRequest} promptItemTemplate={promptItemContent}></AIAssistViewComponent>
    );
}

ReactDOM.render(<App />, document.getElementById('container'));

promptPlaceholder string

Specifies the placeholder text for the prompt input text area in the AIAssistView component.

promptSuggestionItemTemplate string|function|JSX.Element

Specifies the template for rendering prompt suggestion items in the AIAssistView component.
Defines the content or layout used to render prompt suggestion items, and can be either a string or a function.
The template context includes the index and suggestion text.

import { AIAssistViewComponent, PromptRequestEventArgs } from '@syncfusion/ej2-react-interactive-chat';
import * as React from 'react';
import * as ReactDOM from "react-dom";

function App() {
    const assistInstance = React.useRef<AIAssistViewComponent>(null);
    const promptSuggestions: string[] = [
        "Best practices for clean, maintainable code?",
        "How to optimize code editor for speed?"
    ];
    const onPromptRequest = (args: PromptRequestEventArgs) => {
        setTimeout(() => {
            assistInstance.current.addPromptResponse('Connect the AIAssistView component to OpenAI or Azure Cognitive Services for real-time prompts, using API credentials for authentication.');
        }, 1000);
    };
    const promptSuggestionItemTemplate = (props: any) => {
        return (
            <div>{props.promptSuggestion}</div>
        );
    };
    return (
        <AIAssistViewComponent id="aiAssistView" ref={assistInstance} promptRequest={onPromptRequest} promptSuggestions={promptSuggestions} promptSuggestionItemTemplate={promptSuggestionItemTemplate}></AIAssistViewComponent>
    );
}

ReactDOM.render(<App />, document.getElementById('container'));

promptSuggestions string[]

Specifies the list of prompt suggestions in the AIAssistView component.
Contains suggestions that can be used as prompts.

import { AIAssistViewComponent, PromptRequestEventArgs } from '@syncfusion/ej2-react-interactive-chat';
import * as React from 'react';
import * as ReactDOM from "react-dom";

function App() {

    const assistInstance = React.useRef<AIAssistViewComponent>(null);
  
    const promptSuggestions: string[] = [
        "Best practices for clean, maintainable code?",
        "How to optimize code editor for speed?"
    ];
    
    const onPromptRequest = (args: PromptRequestEventArgs) => {
        setTimeout(() => {
            assistInstance.current.addPromptResponse('Connect the AIAssistView component to OpenAI or Azure Cognitive Services for real-time prompts, using API credentials for authentication.');
        }, 1000);
    };
  
    return (
        // specifies the tag for render the AI AssistView component
        <AIAssistViewComponent id="aiAssistView" ref={assistInstance} promptRequest={onPromptRequest} promptSuggestions={promptSuggestions}></AIAssistViewComponent>
    );
}

ReactDOM.render(<App />, document.getElementById('container'));

promptSuggestionsHeader string

Specifies the header text for the prompt suggestions in the AIAssistView component. Provides a header for the list of suggestions.

promptToolbarSettings PromptToolbarSettingsModel

Specifies the settings for the prompt toolbar in the AIAssistView component.
Represents the configuration for the toolbar associated with prompt items.

import { AIAssistViewComponent, PromptRequestEventArgs, ToolbarSettingsModel, PromptModel } from '@syncfusion/ej2-react-interactive-chat';
import * as React from 'react';
import * as ReactDOM from "react-dom";

function App() {

    const assistInstance = React.useRef<AIAssistViewComponent>(null);
  
    const prompts: PromptModel[] = [
        {
            prompt: "What is AI?",
            response: "<div>AI stands for Artificial Intelligence, enabling machines to mimic human intelligence for tasks such as learning, problem-solving, and decision-making.</div>"
        }
    ];
    const promptToolbarSettings: ToolbarSettingsModel = {
        items: [
            { type: 'Button', iconCss: 'e-icons e-edit' }
        ]
    };
    
    const onPromptRequest = (args: PromptRequestEventArgs) => {
        setTimeout(() => {
            assistInstance.current.addPromptResponse('Connect the AIAssistView component to OpenAI or Azure Cognitive Services for real-time prompts, using API credentials for authentication.');
        }, 1000);
    };
  
    return (
        // specifies the tag for render the AI AssistView component
        <AIAssistViewComponent id="aiAssistView" ref={assistInstance} prompts={prompts} promptRequest={onPromptRequest} promptToolbarSettings={promptToolbarSettings}></AIAssistViewComponent>
    );
}

ReactDOM.render(<App />, document.getElementById('container'));

prompts PromptModel[]

Specifies the collection of prompts and their responses in the AIAssistView component.

import { AIAssistViewComponent, PromptRequestEventArgs, PromptModel } from '@syncfusion/ej2-react-interactive-chat';
import * as React from 'react';
import * as ReactDOM from "react-dom";

function App() {

    const assistInstance = React.useRef<AIAssistViewComponent>(null);
  
    const prompts: PromptModel[] = [
        {
            prompt: "What is AI?",
            response: "<div>AI stands for Artificial Intelligence, enabling machines to mimic human intelligence for tasks such as learning, problem-solving, and decision-making.</div>"
        }
    ];
    
    const onPromptRequest = (args: PromptRequestEventArgs) => {
        setTimeout(() => {
            assistInstance.current.addPromptResponse('Connect the AIAssistView component to OpenAI or Azure Cognitive Services for real-time prompts, using API credentials for authentication.');
        }, 1000);
    };
  
    return (
        // specifies the tag for render the AI AssistView component
        <AIAssistViewComponent id="aiAssistView" ref={assistInstance} promptRequest={onPromptRequest} prompts={prompts}></AIAssistViewComponent>
    );
}

ReactDOM.render(<App />, document.getElementById('container'));

responseIconCss string

Specifies the CSS class for the responder avatar in the AIAssistView component. Allows custom styling for the responder avatar.

responseItemTemplate string|function|JSX.Element

Specifies the template for rendering response items in the AIAssistView component.
Defines the content or layout used to render response items, and can be either a string or a function.
The template context includes the prompt text, response text, and toolbar items.

import { AIAssistViewComponent, PromptModel, PromptRequestEventArgs } from '@syncfusion/ej2-react-interactive-chat';
import * as React from 'react';
import * as ReactDOM from "react-dom";

function App() {
    const assistInstance = React.useRef<AIAssistViewComponent>(null);
    const responseTemplate = (props: any) => {
        return (
            <div dangerouslySetInnerHTML={{ __html: props.response}}></div>
        );
    };
    const prompts: PromptModel[] = [
        {
            prompt: "What is AI?",
            response: "<div>AI stands for Artificial Intelligence, enabling machines to mimic human intelligence for tasks such as learning, problem-solving, and decision-making.</div>"
        }
    ];
    const onPromptRequest = (args: PromptRequestEventArgs) => {
        setTimeout(() => {
            assistInstance.current.addPromptResponse('Connect the AIAssistView component to OpenAI or Azure Cognitive Services for real-time prompts, using API credentials for authentication.');
        }, 1000);
    };
    return (
        <AIAssistViewComponent id="aiAssistView" ref={assistInstance} prompts={prompts} promptRequest={onPromptRequest} responseItemTemplate={responseTemplate}></AIAssistViewComponent>
    );
}

ReactDOM.render(<App />, document.getElementById('container'));

responseToolbarSettings ResponseToolbarSettingsModel

Specifies the settings for the response toolbar in the AIAssistView component.
Represents the configuration for the toolbar associated with response items.

import { AIAssistViewComponent, PromptRequestEventArgs, ToolbarSettingsModel, PromptModel } from '@syncfusion/ej2-react-interactive-chat';
import * as React from 'react';
import * as ReactDOM from "react-dom";

function App() {

    const assistInstance = React.useRef<AIAssistViewComponent>(null);
  
    const prompts: PromptModel[] = [
        {
            prompt: "What is AI?",
            response: "<div>AI stands for Artificial Intelligence, enabling machines to mimic human intelligence for tasks such as learning, problem-solving, and decision-making.</div>"
        }
    ];
    const responseToolbarSettings: ToolbarSettingsModel = {
        items: [
            { type: 'Button', iconCss: 'e-icons e-download' },
            { type: 'Button', iconCss: 'e-icons e-refresh' },
            { type: 'Button', iconCss: 'e-icons e-assist-like' },
            { type: 'Button', iconCss: 'e-icons e-assist-dislike' },
        ]
    };
    
    const onPromptRequest = (args: PromptRequestEventArgs) => {
        setTimeout(() => {
            assistInstance.current.addPromptResponse('Connect the AIAssistView component to OpenAI or Azure Cognitive Services for real-time prompts, using API credentials for authentication.');
        }, 1000);
    };
  
    return (
        // specifies the tag for render the AI AssistView component
        <AIAssistViewComponent id="aiAssistView" ref={assistInstance} prompts={prompts} promptRequest={onPromptRequest} responseToolbarSettings={responseToolbarSettings}></AIAssistViewComponent>
    );
}

ReactDOM.render(<App />, document.getElementById('container'));

showClearButton boolean

Specifies whether the clear button of text area is displayed in the AIAssistView component.
Determines if a button for clearing the prompt text area is shown or hidden.

showHeader boolean

Specifies whether the header is displayed in the AIAssistView component.

toolbarSettings ToolbarSettingsModel

Specifies the toolbar settings for the AIAssistView component.
Represents the configuration for toolbar items and actions within the component.

import { AIAssistViewComponent, PromptRequestEventArgs, ToolbarSettingsModel } from '@syncfusion/ej2-react-interactive-chat';
import * as React from 'react';
import * as ReactDOM from "react-dom";

function App() {

    const assistInstance = React.useRef<AIAssistViewComponent>(null);
    
    const toolbarSettings: ToolbarSettingsModel = {
        items: [
            { type: 'Button', iconCss: 'e-icons e-user', align: 'Right', disabled: true }
        ]
    };

    const onPromptRequest = (args: PromptRequestEventArgs) => {
        setTimeout(() => {
            assistInstance.current.addPromptResponse('Connect the AIAssistView component to OpenAI or Azure Cognitive Services for real-time prompts, using API credentials for authentication.');
        }, 1000);
    };
  
    return (
        // specifies the tag for render the AI AssistView component
        <AIAssistViewComponent id="aiAssistView" ref={assistInstance} promptRequest={onPromptRequest} toolbarSettings={toolbarSettings}></AIAssistViewComponent>
    );
}

ReactDOM.render(<App />, document.getElementById('container'));

views AssistViewModel[]

Specifies the collection of assist view models in the AIAssistView component.
Represents the views available in the assist view.

import { AIAssistViewComponent, PromptRequestEventArgs, ViewsDirective, ViewDirective } from '@syncfusion/ej2-react-interactive-chat';
import * as React from 'react';
import * as ReactDOM from "react-dom";

function App() {

    const assistInstance = React.useRef<AIAssistViewComponent>(null);
    const responseViewTemplate: string = '<div class="view-container"><h5>Response view content</h5></div>';

    const onPromptRequest = (args: PromptRequestEventArgs) => {
        setTimeout(() => {
            assistInstance.current.addPromptResponse('Connect the AIAssistView component to OpenAI or Azure Cognitive Services for real-time prompts, using API credentials for authentication.');
          }, 1000);
    };
  
    return (
        // specifies the tag for render the AI AssistView component
        <AIAssistViewComponent id="aiAssistView" ref={assistInstance} promptRequest={onPromptRequest}>
            <ViewsDirective>
                <ViewDirective type='Assist' name='Prompt'></ViewDirective>
                <ViewDirective type='Custom' name='Response' iconCss='e-comment-show' viewTemplate={responseViewTemplate}></ViewDirective>
            </ViewsDirective>
        </AIAssistViewComponent>
    );
}

ReactDOM.render(<App />, document.getElementById('container'));

width string|number

Specifies the width of the AIAssistView component.