@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
TypeScript
/**-----------------------------------------------------------------------------------------
* 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>;
}