import { Component, Attributes } from 'jinge'; import { LocaleDict } from '../_locales/common'; export interface DialogConfirmAttrs { active?: boolean; title: string; content?: string; confirmSpinner?: boolean; confirmText?: string; cancelText?: string; } export declare class DialogConfirm extends Component { static template: string; /** * * @param {Object} opts * @param {Function} confirmCallback * @param {Function} cancelCallback * * DialogConfirm.show 可以通过第二个和第三个参数传递 Confirm 和 Cancel 回调函数。 * * 在实际业务使用时,有一种常见情况是,在 confirm 回调中要调用服务器的 * api 接口更新,api 请求成功后,才关闭 DialogConfirm 对话框(如果失败,则 * 允许用户重试),api 请求过程中 Confirm 按钮不能点击且有 spinner 状态。 * * 针对这种情况,confirmCallback 允许返回 `false` 来阻止对话框关闭,还允许直接 * 返回一个 Promise 对象。对话框会等待该 Promise,直到其 resolve 返回的数据 * 不是 `false` 才关闭对话框。 */ static show(opts: string | Exclude, confirmCallback: () => boolean | string | undefined | void | Promise, cancelCallback?: () => boolean | undefined | void): Component & { active: boolean; errorTip: string | false; inputValue: unknown; confirmSpinner: boolean; }; active?: boolean; title?: string; content?: string; confirmSpinner?: boolean; confirmText?: string; cancelText?: string; _localeChangeHandler: () => void; locale: LocaleDict; constructor(attrs: Attributes); _onLocaleChange(locale: LocaleDict): void; passActive(active: boolean): void; onCancel(): void; onConfirm(): void; } export interface ShowConfirmOrPromptOptions { title: string; confirmText?: string; cancelText?: string; content?: string; errorTip?: string; inputPlaceholder?: string; inputRequired?: boolean; inputMaxlength?: number; defaultValue?: unknown; } export declare function showConfirmOrPrompt(Clazz: { create: (v: unknown) => Component & { active: boolean; errorTip: false | string; inputValue: unknown; confirmSpinner: boolean; }; }, opts: string | ShowConfirmOrPromptOptions, confirmCallback: (value?: unknown) => void | undefined | boolean | string | Promise, cancelCallback: () => void | undefined | boolean): Component & { active: boolean; errorTip: false | string; inputValue: unknown; confirmSpinner: boolean; };