UNPKG

@progress/kendo-angular-grid

Version:

Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.

116 lines (115 loc) 6.05 kB
/**----------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { NgZone, AfterViewInit, OnInit, OnDestroy, ChangeDetectorRef, EventEmitter } from '@angular/core'; import { RefreshService, ToolBarButtonComponent } from '@progress/kendo-angular-toolbar'; import { SVGIcon } from '@progress/kendo-svg-icons'; import { ContextService } from '../../../../common/provider.service'; import { ToolbarToolBase } from '../../../../common/toolbar-tool-base.directive'; import { WindowService } from '@progress/kendo-angular-dialog'; import { GridAIAssistantPromptSettings, GridAIAssistantWindowSettings, GridAIRequestOptions, GridAIAssistantResponseSuccessEvent, GridAIAssistantResponseErrorEvent, GridAIAssistantRequestEvent, GridAIAssistantOpenEvent } from './models'; import { PromptOutput } from '@progress/kendo-angular-conversational-ui'; import * as i0 from "@angular/core"; /** * Represents an AI Assistant tool of the Grid. * Use this directive on any `kendo-toolbar-button` inside a ToolbarComponent in the Grid. * * @example * ```html-no-run * <kendo-grid> * <kendo-toolbar> * <kendo-toolbar-button kendoGridAIAssistantTool></kendo-toolbar-button> * </kendo-toolbar> * </kendo-grid> * ``` * @remarks * Applied to: {@link ToolBarButtonComponent}. */ export declare class AIAssistantToolbarDirective extends ToolbarToolBase implements OnInit, AfterViewInit, OnDestroy { private windowService; host: ToolBarButtonComponent; ctx: ContextService; zone: NgZone; private refresh; /** * The URL to which the AI Assistant tool sends the AI request. * - When you set this property, the AI Assistant tool sends and handles an HTTP request to the provided `requestUrl`. You can handle the `promptRequest` event to modify the request options before the tool sends it. * - When you do not set this property, the AI Assistant tool does not send an HTTP request. You should handle the `promptRequest` event to send and handle a custom HTTP request. */ requestUrl?: string; /** * Configures the request options that the AI Assistant tool sends with the AI request. * * @default { headers: new HttpHeaders({ 'Content-Type': 'application/json' }), role: 'user', method: 'POST', responseType: 'json', withCredentials: false } */ requestOptions?: GridAIRequestOptions; /** * Configures the initial settings for the AI Assistant Window when opened. */ aiWindowSettings: GridAIAssistantWindowSettings; /** * Configures the initial settings for the AI Prompt component that the AI Assistant Window component uses when opened. */ aiPromptSettings: GridAIAssistantPromptSettings; /** * Determines whether to close the AI Assistant Window automatically after a successful request. * @default true */ autoClose: boolean; /** * Determines whether to keep the AI Prompt's outputs after closing the AI Assistant Window. * @default false */ keepOutputHistory: boolean; /** * Emits an event before the AI Assistant tool sends the AI request. * - When you provide a `requestUrl`, you can handle the event to modify the request options. * - When you do not provide a `requestUrl`, you can handle the event to perform an entirely custom request. */ promptRequest: EventEmitter<GridAIAssistantRequestEvent>; /** * Emits an event when the user clicks the cancel button. */ cancelRequest: EventEmitter<undefined>; /** * Emits an event when the AI Assistant tool completes the AI request successfully. * The event contains the response from the AI service and is preventable to allow stopping the default response handling. */ responseSuccess: EventEmitter<GridAIAssistantResponseSuccessEvent>; /** * Emits an event when the AI Assistant tool completes the AI request with an error. * The event contains the error response from the AI service and is preventable to allow stopping the default error handling. */ responseError: EventEmitter<GridAIAssistantResponseErrorEvent>; /** * Emits an event when the AI Assistant tool closes. */ close: EventEmitter<undefined>; /** * Emits an event when the AI Assistant tool opens. */ open: EventEmitter<GridAIAssistantOpenEvent>; tableWizardIcon: SVGIcon; emitOpenClose: boolean; promptOutputs: PromptOutput[]; private windowRef; private subs; private defaultAiPromptSettings; constructor(windowService: WindowService, host: ToolBarButtonComponent, ctx: ContextService, zone: NgZone, refresh: RefreshService, cdr: ChangeDetectorRef); ngOnInit(): void; ngAfterViewInit(): void; ngOnDestroy(): void; /** * @hidden */ onClick(): void; /** * Toggles the AI Assistant window. */ toggleWindow(): void; private openWindow; private closeWindow; static ɵfac: i0.ɵɵFactoryDeclaration<AIAssistantToolbarDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<AIAssistantToolbarDirective, "[kendoGridAIAssistantTool]", never, { "requestUrl": { "alias": "requestUrl"; "required": false; }; "requestOptions": { "alias": "requestOptions"; "required": false; }; "aiWindowSettings": { "alias": "aiWindowSettings"; "required": false; }; "aiPromptSettings": { "alias": "aiPromptSettings"; "required": false; }; "autoClose": { "alias": "autoClose"; "required": false; }; "keepOutputHistory": { "alias": "keepOutputHistory"; "required": false; }; }, { "promptRequest": "promptRequest"; "cancelRequest": "cancelRequest"; "responseSuccess": "responseSuccess"; "responseError": "responseError"; "close": "close"; "open": "open"; }, never, never, true, never>; }