1 | import { Disposable, MaybePromise, CancellationTokenSource } from '../common';
|
2 | import { Widget, BaseWidget, Message } from './widgets';
|
3 | import { FrontendApplicationContribution } from './frontend-application-contribution';
|
4 | export declare class DialogProps {
|
5 | readonly title: string;
|
6 | |
7 |
|
8 |
|
9 |
|
10 | maxWidth?: number;
|
11 | |
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 | wordWrap?: 'normal' | 'break-word' | 'initial' | 'inherit';
|
20 | }
|
21 | export declare type DialogMode = 'open' | 'preview';
|
22 | export declare type DialogError = string | boolean | {
|
23 | message: string;
|
24 | result: boolean;
|
25 | };
|
26 | export declare namespace DialogError {
|
27 | function getResult(error: DialogError): boolean;
|
28 | function getMessage(error: DialogError): string;
|
29 | }
|
30 | export declare namespace Dialog {
|
31 | const YES: string;
|
32 | const NO: string;
|
33 | const OK: string;
|
34 | const CANCEL: string;
|
35 | }
|
36 | export declare class DialogOverlayService implements FrontendApplicationContribution {
|
37 | protected static INSTANCE: DialogOverlayService;
|
38 | static get(): DialogOverlayService;
|
39 | protected readonly dialogs: AbstractDialog<any>[];
|
40 | protected readonly documents: Document[];
|
41 | constructor();
|
42 | initialize(): void;
|
43 | protected get currentDialog(): AbstractDialog<any> | undefined;
|
44 | push(dialog: AbstractDialog<any>): Disposable;
|
45 | protected handleEscape(event: KeyboardEvent): boolean | void;
|
46 | protected handleEnter(event: KeyboardEvent): boolean | void;
|
47 | }
|
48 | export declare abstract class AbstractDialog<T> extends BaseWidget {
|
49 | protected readonly props: DialogProps;
|
50 | protected readonly titleNode: HTMLDivElement;
|
51 | protected readonly contentNode: HTMLDivElement;
|
52 | protected readonly closeCrossNode: HTMLElement;
|
53 | protected readonly controlPanel: HTMLDivElement;
|
54 | protected readonly errorMessageNode: HTMLDivElement;
|
55 | protected resolve: undefined | ((value: T | undefined) => void);
|
56 | protected reject: undefined | ((reason: any) => void);
|
57 | protected closeButton: HTMLButtonElement | undefined;
|
58 | protected acceptButton: HTMLButtonElement | undefined;
|
59 | protected activeElement: HTMLElement | undefined;
|
60 | constructor(props: DialogProps, options?: Widget.IOptions);
|
61 | protected appendCloseButton(text?: string): HTMLButtonElement;
|
62 | protected appendAcceptButton(text?: string): HTMLButtonElement;
|
63 | protected appendButton(text: string, primary: boolean): HTMLButtonElement;
|
64 | protected createButton(text: string): HTMLButtonElement;
|
65 | protected onAfterAttach(msg: Message): void;
|
66 | protected handleEscape(event: KeyboardEvent): boolean | void;
|
67 | protected handleEnter(event: KeyboardEvent): boolean | void;
|
68 | protected onActivateRequest(msg: Message): void;
|
69 | open(): Promise<T | undefined>;
|
70 | close(): void;
|
71 | protected onUpdateRequest(msg: Message): void;
|
72 | protected validateCancellationSource: CancellationTokenSource;
|
73 | protected validate(): Promise<void>;
|
74 | protected acceptCancellationSource: CancellationTokenSource;
|
75 | protected accept(): Promise<void>;
|
76 | abstract get value(): T;
|
77 | /**
|
78 | * Return a string of zero-length or true if valid.
|
79 | */
|
80 | protected isValid(value: T, mode: DialogMode): MaybePromise<DialogError>;
|
81 | protected setErrorMessage(error: DialogError): void;
|
82 | protected addAction<K extends keyof HTMLElementEventMap>(element: HTMLElement, callback: () => void, ...additionalEventTypes: K[]): void;
|
83 | protected addCloseAction<K extends keyof HTMLElementEventMap>(element: HTMLElement, ...additionalEventTypes: K[]): void;
|
84 | protected addAcceptAction<K extends keyof HTMLElementEventMap>(element: HTMLElement, ...additionalEventTypes: K[]): void;
|
85 | }
|
86 | export declare class MessageDialogProps extends DialogProps {
|
87 | readonly msg: string | HTMLElement;
|
88 | }
|
89 | export declare class ConfirmDialogProps extends MessageDialogProps {
|
90 | readonly cancel?: string;
|
91 | readonly ok?: string;
|
92 | }
|
93 | export declare class ConfirmDialog extends AbstractDialog<boolean> {
|
94 | protected readonly props: ConfirmDialogProps;
|
95 | protected confirmed: boolean;
|
96 | constructor(props: ConfirmDialogProps);
|
97 | protected onCloseRequest(msg: Message): void;
|
98 | get value(): boolean;
|
99 | protected createMessageNode(msg: string | HTMLElement): HTMLElement;
|
100 | }
|
101 | export declare function confirmExit(): Promise<boolean>;
|
102 | export declare class ConfirmSaveDialogProps extends MessageDialogProps {
|
103 | readonly cancel: string;
|
104 | readonly dontSave: string;
|
105 | readonly save: string;
|
106 | }
|
107 | export declare class ConfirmSaveDialog extends AbstractDialog<boolean | undefined> {
|
108 | protected readonly props: ConfirmSaveDialogProps;
|
109 | protected result?: boolean;
|
110 | constructor(props: ConfirmSaveDialogProps);
|
111 | get value(): boolean | undefined;
|
112 | protected createMessageNode(msg: string | HTMLElement): HTMLElement;
|
113 | protected appendButtonAndSetResult(text: string, primary: boolean, result?: boolean): HTMLButtonElement;
|
114 | }
|
115 | export declare class SingleTextInputDialogProps extends DialogProps {
|
116 | readonly confirmButtonLabel?: string;
|
117 | readonly initialValue?: string;
|
118 | readonly placeholder?: string;
|
119 | readonly initialSelectionRange?: {
|
120 | start: number;
|
121 | end: number;
|
122 | direction?: 'forward' | 'backward' | 'none';
|
123 | };
|
124 | readonly validate?: (input: string, mode: DialogMode) => MaybePromise<DialogError>;
|
125 | }
|
126 | export declare class SingleTextInputDialog extends AbstractDialog<string> {
|
127 | protected props: SingleTextInputDialogProps;
|
128 | protected readonly inputField: HTMLInputElement;
|
129 | constructor(props: SingleTextInputDialogProps);
|
130 | get value(): string;
|
131 | protected isValid(value: string, mode: DialogMode): MaybePromise<DialogError>;
|
132 | protected onAfterAttach(msg: Message): void;
|
133 | protected onActivateRequest(msg: Message): void;
|
134 | protected handleEnter(event: KeyboardEvent): boolean | void;
|
135 | }
|
136 | //# sourceMappingURL=dialogs.d.ts.map |
\ | No newline at end of file |