typescript-closure-tools
Version:
Command-line tools to convert closure-style JSDoc annotations to typescript, and to convert typescript sources to closure externs files
465 lines (394 loc) • 18.7 kB
TypeScript
/// <reference path="../../../globals.d.ts" />
/// <reference path="./modalpopup.d.ts" />
/// <reference path="../dom/dom.d.ts" />
/// <reference path="../html/safehtml.d.ts" />
/// <reference path="../a11y/aria/roles.d.ts" />
/// <reference path="../fx/dragger.d.ts" />
/// <reference path="../events/event.d.ts" />
/// <reference path="../structs/map.d.ts" />
declare module goog.ui {
class Dialog extends Dialog__Class { }
/** Fake class which should be extended to avoid inheriting static properties */
class Dialog__Class extends goog.ui.ModalPopup__Class {
/**
* Class for showing simple dialog boxes.
* The Html structure of the dialog box is:
* <pre>
* Element Function Class-name, modal-dialog = default
* ----------------------------------------------------------------------------
* - iframe Iframe mask modal-dialog-bg
* - div Background mask modal-dialog-bg
* - div Dialog area modal-dialog
* - div Title bar modal-dialog-title
* - span modal-dialog-title-text
* - text Title text N/A
* - span modal-dialog-title-close
* - ?? Close box N/A
* - div Content area modal-dialog-content
* - ?? User specified content N/A
* - div Button area modal-dialog-buttons
* - button N/A
* - button
* - ...
* </pre>
* @constructor
* @param {string=} opt_class CSS class name for the dialog element, also used
* as a class name prefix for related elements; defaults to modal-dialog.
* This should be a single, valid CSS class name.
* @param {boolean=} opt_useIframeMask Work around windowed controls z-index
* issue by using an iframe instead of a div for bg element.
* @param {goog.dom.DomHelper=} opt_domHelper Optional DOM helper; see {@link
* goog.ui.Component} for semantics.
* @extends {goog.ui.ModalPopup}
*/
constructor(opt_class?: string, opt_useIframeMask?: boolean, opt_domHelper?: goog.dom.DomHelper);
/**
* Sets the title.
* @param {string} title The title text.
*/
setTitle(title: string): void;
/**
* Gets the title.
* @return {string} The title.
*/
getTitle(): string;
/**
* Allows arbitrary HTML to be set in the content element.
* TODO(user): Deprecate in favor of setSafeHtmlContent, once developer docs on
* using goog.html.SafeHtml are in place.
* @param {string} html Content HTML.
*/
setContent(html: string): void;
/**
* Allows arbitrary HTML to be set in the content element.
* @param {!goog.html.SafeHtml} html Content HTML.
*/
setSafeHtmlContent(html: goog.html.SafeHtml): void;
/**
* Gets the content HTML of the content element as a plain string.
*
* Note that this method returns the HTML markup that was previously set via
* setContent(). In particular, the HTML returned by this method does not
* reflect any changes to the content element's DOM that were made my means
* other than setContent().
*
* @return {string} Content HTML.
*/
getContent(): string;
/**
* Gets the content HTML of the content element.
* @return {goog.html.SafeHtml} Content HTML.
*/
getSafeHtmlContent(): goog.html.SafeHtml;
/**
* Returns the dialog's preferred ARIA role. This can be used to override the
* default dialog role, e.g. with an ARIA role of ALERTDIALOG for a simple
* warning or confirmation dialog.
* @return {goog.a11y.aria.Role} This dialog's preferred ARIA role.
*/
getPreferredAriaRole(): goog.a11y.aria.Role;
/**
* Sets the dialog's preferred ARIA role. This can be used to override the
* default dialog role, e.g. with an ARIA role of ALERTDIALOG for a simple
* warning or confirmation dialog.
* @param {goog.a11y.aria.Role} role This dialog's preferred ARIA role.
*/
setPreferredAriaRole(role: goog.a11y.aria.Role): void;
/**
* Returns the title element so that more complicated things can be done with
* the title. Renders if the DOM is not yet created.
* @return {Element} The title element.
*/
getTitleElement(): Element;
/**
* Returns the title text element so that more complicated things can be done
* with the text of the title. Renders if the DOM is not yet created.
* @return {Element} The title text element.
*/
getTitleTextElement(): Element;
/**
* Returns the title close element so that more complicated things can be done
* with the close area of the title. Renders if the DOM is not yet created.
* @return {Element} The close box.
*/
getTitleCloseElement(): Element;
/**
* Returns the button element so that more complicated things can be done with
* the button area. Renders if the DOM is not yet created.
* @return {Element} The button container element.
*/
getButtonElement(): Element;
/**
* Returns the dialog element so that more complicated things can be done with
* the dialog box. Renders if the DOM is not yet created.
* @return {Element} The dialog element.
*/
getDialogElement(): Element;
/**
* Gets the opacity of the background mask.
* @return {number} Background mask opacity.
*/
getBackgroundElementOpacity(): number;
/**
* Sets the opacity of the background mask.
* @param {number} opacity Background mask opacity.
*/
setBackgroundElementOpacity(opacity: number): void;
/**
* Sets the modal property of the dialog. In case the dialog is already
* inDocument, renders the modal background elements according to the specified
* modal parameter.
*
* Note that non-modal dialogs cannot use an iframe mask.
*
* @param {boolean} modal Whether the dialog is modal.
*/
setModal(modal: boolean): void;
/**
* @return {boolean} modal Whether the dialog is modal.
*/
getModal(): boolean;
/**
* @return {string} The CSS class name for the dialog element.
*/
getClass(): string;
/**
* Sets whether the dialog can be dragged.
* @param {boolean} draggable Whether the dialog can be dragged.
*/
setDraggable(draggable: boolean): void;
/**
* Returns a dragger for moving the dialog and adds a class for the move cursor.
* Defaults to allow dragging of the title only, but can be overridden if
* different drag targets or dragging behavior is desired.
* @return {!goog.fx.Dragger} The created dragger instance.
* @protected
*/
createDragger(): goog.fx.Dragger;
/**
* @return {boolean} Whether the dialog is draggable.
*/
getDraggable(): boolean;
/**
* @return {boolean} Whether this dialog has a title close button.
*/
getHasTitleCloseButton(): boolean;
/**
* Sets whether the dialog should have a close button in the title bar. There
* will always be an element for the title close button, but setting this
* parameter to false will cause it to be hidden and have no active listener.
* @param {boolean} b Whether this dialog should have a title close button.
*/
setHasTitleCloseButton(b: boolean): void;
/**
* @return {boolean} Whether the escape key should close this dialog.
*/
isEscapeToCancel(): boolean;
/**
* @param {boolean} b Whether the escape key should close this dialog.
*/
setEscapeToCancel(b: boolean): void;
/**
* Sets whether the dialog should be disposed when it is hidden. By default
* dialogs are not disposed when they are hidden.
* @param {boolean} b Whether the dialog should get disposed when it gets
* hidden.
*/
setDisposeOnHide(b: boolean): void;
/**
* @return {boolean} Whether the dialog should be disposed when it is hidden.
*/
getDisposeOnHide(): boolean;
/**
* Sets the button set to use.
* Note: Passing in null will cause no button set to be rendered.
* @param {goog.ui.Dialog.ButtonSet?} buttons The button set to use.
*/
setButtonSet(buttons: goog.ui.Dialog.ButtonSet): void;
/**
* Returns the button set being used.
* @return {goog.ui.Dialog.ButtonSet?} The button set being used.
*/
getButtonSet(): goog.ui.Dialog.ButtonSet;
}
}
declare module goog.ui.Dialog {
class Event extends Event__Class { }
/** Fake class which should be extended to avoid inheriting static properties */
class Event__Class extends goog.events.Event__Class {
/**
* Dialog event class.
* @param {string} key Key identifier for the button.
* @param {string|Element} caption Caption on the button (might be i18nlized).
* @constructor
* @extends {goog.events.Event}
*/
constructor(key: string, caption: string|Element);
}
class ButtonSet extends ButtonSet__Class { }
/** Fake class which should be extended to avoid inheriting static properties */
class ButtonSet__Class extends goog.structs.Map__Class<any, any> {
/**
* A button set defines the behaviour of a set of buttons that the dialog can
* show. Uses the {@link goog.structs.Map} interface.
* @param {goog.dom.DomHelper=} opt_domHelper Optional DOM helper; see {@link
* goog.ui.Component} for semantics.
* @constructor
* @extends {goog.structs.Map}
*/
constructor(opt_domHelper?: goog.dom.DomHelper);
/**
* Adds a button (an object with a key and caption) to this button set. Buttons
* will be displayed in the order they are added.
* @see goog.ui.Dialog.DefaultButtons
* @param {!{key: string, caption: string}} button The button key and caption.
* @param {boolean=} opt_isDefault Whether this button is the default button.
* Dialog will dispatch for this button if enter is pressed.
* @param {boolean=} opt_isCancel Whether this button has the same behavior as
* cancel. If escape is pressed this button will fire.
* @return {!goog.ui.Dialog.ButtonSet} The button set, to make it easy to chain
* "addButton" calls and build new ButtonSets.
*/
addButton(button: { key: string; caption: string }, opt_isDefault?: boolean, opt_isCancel?: boolean): goog.ui.Dialog.ButtonSet;
/**
* Attaches the button set to an element, rendering it inside.
* @param {Element} el Container.
*/
attachToElement(el: Element): void;
/**
* Renders the button set inside its container element.
*/
render(): void;
/**
* Decorates the given element by adding any {@code button} elements found
* among its descendants to the button set. The first button found is assumed
* to be the default and will receive focus when the button set is rendered.
* If a button with a name of {@link goog.ui.Dialog.DefaultButtonKeys.CANCEL}
* is found, it is assumed to have "Cancel" semantics.
* TODO(attila): ButtonSet should be a goog.ui.Component. Really.
* @param {Element} element The element to decorate; should contain buttons.
*/
decorate(element: Element): void;
/**
* Gets the component's element.
* @return {Element} The element for the component.
* TODO(user): Remove after refactoring to goog.ui.Component.
*/
getElement(): Element;
/**
* Returns the dom helper that is being used on this component.
* @return {!goog.dom.DomHelper} The dom helper used on this component.
* TODO(user): Remove after refactoring to goog.ui.Component.
*/
getDomHelper(): goog.dom.DomHelper;
/**
* Sets the default button.
* @param {?string} key The default button.
*/
setDefault(key: string): void;
/**
* Returns the default button.
* @return {?string} The default button.
*/
getDefault(): string;
/**
* Sets the cancel button.
* @param {?string} key The cancel button.
*/
setCancel(key: string): void;
/**
* Returns the cancel button.
* @return {?string} The cancel button.
*/
getCancel(): string;
/**
* Returns the HTML Button element.
* @param {string} key The button to return.
* @return {Element} The button, if found else null.
*/
getButton(key: string): Element;
/**
* Returns all the HTML Button elements in the button set container.
* @return {!NodeList} A live NodeList of the buttons.
*/
getAllButtons(): NodeList;
/**
* Enables or disables a button in this set by key. If the button is not found,
* does nothing.
* @param {string} key The button to enable or disable.
* @param {boolean} enabled True to enable; false to disable.
*/
setButtonEnabled(key: string, enabled: boolean): void;
/**
* Enables or disables all of the buttons in this set.
* @param {boolean} enabled True to enable; false to disable.
*/
setAllButtonsEnabled(enabled: boolean): void;
}
/**
* Event type constant for dialog events.
* TODO(attila): Change this to goog.ui.Dialog.EventType.SELECT.
* @type {string}
* @deprecated Use goog.ui.Dialog.EventType.SELECT.
*/
var SELECT_EVENT: string;
/**
* Events dispatched by dialogs.
* @enum {string}
*/
enum EventType { SELECT, AFTER_HIDE, AFTER_SHOW }
/**
* The keys used to identify standard buttons in events.
* @enum {string}
*/
enum DefaultButtonKeys { OK, CANCEL, YES, NO, SAVE, CONTINUE }
/**
* The default captions for the default buttons.
* @enum {string}
*/
enum DefaultButtonCaptions { OK, CANCEL, YES, NO, SAVE, CONTINUE }
}
declare module goog.ui.Dialog.ButtonSet {
/**
* The standard buttons (keys associated with captions).
* @enum {!{key: string, caption: string}}
*/
enum DefaultButtons { OK, CANCEL, YES, NO, SAVE, CONTINUE }
/**
* Creates a new ButtonSet with a single 'OK' button, which is also set with
* cancel button semantics so that pressing escape will close the dialog.
* @return {!goog.ui.Dialog.ButtonSet} The created ButtonSet.
*/
function createOk(): goog.ui.Dialog.ButtonSet;
/**
* Creates a new ButtonSet with 'OK' (default) and 'Cancel' buttons.
* @return {!goog.ui.Dialog.ButtonSet} The created ButtonSet.
*/
function createOkCancel(): goog.ui.Dialog.ButtonSet;
/**
* Creates a new ButtonSet with 'Yes' (default) and 'No' buttons.
* @return {!goog.ui.Dialog.ButtonSet} The created ButtonSet.
*/
function createYesNo(): goog.ui.Dialog.ButtonSet;
/**
* Creates a new ButtonSet with 'Yes', 'No' (default), and 'Cancel' buttons.
* @return {!goog.ui.Dialog.ButtonSet} The created ButtonSet.
*/
function createYesNoCancel(): goog.ui.Dialog.ButtonSet;
/**
* Creates a new ButtonSet with 'Continue', 'Save', and 'Cancel' (default)
* buttons.
* @return {!goog.ui.Dialog.ButtonSet} The created ButtonSet.
*/
function createContinueSaveCancel(): goog.ui.Dialog.ButtonSet;
/** @deprecated Use goog.ui.Dialog.ButtonSet#createOk. */
var OK: any /*missing*/;
/** @deprecated Use goog.ui.Dialog.ButtonSet#createOkCancel. */
var OK_CANCEL: any /*missing*/;
/** @deprecated Use goog.ui.Dialog.ButtonSet#createYesNo. */
var YES_NO: any /*missing*/;
/** @deprecated Use goog.ui.Dialog.ButtonSet#createYesNoCancel. */
var YES_NO_CANCEL: any /*missing*/;
/** @deprecated Use goog.ui.Dialog.ButtonSet#createContinueSaveCancel. */
var CONTINUE_SAVE_CANCEL: any /*missing*/;
}