import { HTMLDOMElement } from '../../Core/Renderer/DOMElementType.js'; import BaseForm from '../../Shared/BaseForm.js'; import CellEditToolbar from './Toolbar/CellEditToolbar.js'; import RowEditToolbar from './Toolbar/RowEditToolbar.js'; import EditMode from './EditMode.js'; /** * Class to create confirmation popup. */ declare class ConfirmationPopup extends BaseForm { /** * Constructs an instance of the ConfirmationPopup. * * @param parentDiv * Parent div where the popup will be added. * * @param iconsURL * URL to the icons. * * @param editMode * The EditMode instance. * * @param options * Options for confirmation popup. */ constructor(parentDiv: HTMLElement, iconsURL: string, editMode: EditMode, options?: Options); /** * Container for buttons. */ buttonContainer: HTMLDOMElement | undefined; /** * Container for popup content. */ contentContainer: HTMLDOMElement | undefined; /** * The EditMode instance. */ editMode: EditMode; /** * Options for confirmation popup. */ options?: Options; /** * Show options for confirmation popup. */ contentOptions?: ContentOptions; /** * Returns popup container. * * @param parentDiv * Parent div where the popup will be added. * * @param className * Class name added to the popup container. */ protected createPopupContainer(parentDiv: HTMLElement, className?: string): HTMLElement; /** * Adds close button to the popup. * * @param className * Class name added to the close button. */ protected addCloseButton(className?: string): HTMLElement; /** * Adds events to the close button. * * @override BaseForm.closeButtonEvents */ closeButtonEvents(): void; /** * Adds content inside the popup. */ renderContent(): void; /** * Shows confirmation popup. * * @param options * Options for confirmation popup. */ show(options: ContentOptions): void; /** * Hides confirmation popup. */ closePopup(): void; } /** * Options for confirmation popup. */ export interface Options { /** * Close icon * * Try it: * * {@link https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/dashboards/edit-mode/change-close-icon/ | Change close icon} */ close: CloseIcon; } /** * Close icon options. */ export interface CloseIcon { /** * Icon's URL. */ icon: string; } export interface ContentOptions { confirmButton: ConfirmButton; cancelButton: ConfirmButton; text: string; } export interface ConfirmButton { value: string; callback: Function; context?: RowEditToolbar | CellEditToolbar; } export interface CancelButton { value: string; callback: Function; } export default ConfirmationPopup;