/** * @typedef {function(): MessagePopup} PopupFactory */ /** * The options for a popup created by the popup factory. * * @typedef {Object} PopupOptions * @property {boolean} [autoDestroy=false] Whether the popup should be automatically destroyed when hidden * or not. * @property {string} [cls] Extra class name to add to the popup. * @property {*} [content] The content of the popup. Either the content or URL must be set. * @property {string} [height] The height of the popup. * @property {string} [title] The title of the popup. * @property {string} [url] The URL to use for the iframe to include as content for the popup. * @property {string} [width] The width of the popup. */ /** * Provides a factory to create a popup in the page. * The factory returns a ngeo.message.Popup object. * * Example: * * let popup = ngeoCreatePopup(); * popup.setTitle("A title"); * popup.setContent("Some content"); * popup.setOpen(true); * * @class * @param {angular.ICompileService} $compile The compile provider. * @param {angular.IScope} $rootScope The rootScope provider. * @param {angular.ISCEService} $sce Angular sce service. * @param {angular.ITimeoutService} $timeout Angular timeout service. * @ngdoc service * @ngname ngeoCreatePopup * @hidden */ export function MessagePopup($compile: angular.ICompileService, $rootScope: angular.IScope, $sce: angular.ISCEService, $timeout: angular.ITimeoutService): void; export class MessagePopup { /** * @typedef {function(): MessagePopup} PopupFactory */ /** * The options for a popup created by the popup factory. * * @typedef {Object} PopupOptions * @property {boolean} [autoDestroy=false] Whether the popup should be automatically destroyed when hidden * or not. * @property {string} [cls] Extra class name to add to the popup. * @property {*} [content] The content of the popup. Either the content or URL must be set. * @property {string} [height] The height of the popup. * @property {string} [title] The title of the popup. * @property {string} [url] The URL to use for the iframe to include as content for the popup. * @property {string} [width] The width of the popup. */ /** * Provides a factory to create a popup in the page. * The factory returns a ngeo.message.Popup object. * * Example: * * let popup = ngeoCreatePopup(); * popup.setTitle("A title"); * popup.setContent("Some content"); * popup.setOpen(true); * * @class * @param {angular.ICompileService} $compile The compile provider. * @param {angular.IScope} $rootScope The rootScope provider. * @param {angular.ISCEService} $sce Angular sce service. * @param {angular.ITimeoutService} $timeout Angular timeout service. * @ngdoc service * @ngname ngeoCreatePopup * @hidden */ constructor($compile: angular.ICompileService, $rootScope: angular.IScope, $sce: angular.ISCEService, $timeout: angular.ITimeoutService); /** * The scope the compiled element is link to. * * @type {angular.IScope} */ scope: angular.IScope; /** * @type {angular.ISCEService} */ sce_: angular.ISCEService; /** * @type {angular.ITimeoutService} */ timeout_: angular.ITimeoutService; /** * The element. * * @type {JQuery} */ element_: JQuery; /** * @type {boolean} */ autoDestroy_: boolean; /** * Get the current popup state. * * @returns {boolean} `true` if the popup is currently, otherwise `false`. */ getOpen(): boolean; /** * Show/hide the popup. * * @param {boolean} open `true` to show the popup, `false` to hide it. */ setOpen(open: boolean): void; /** * Destroy the popup. */ destroy(): void; /** * Set the popup's title. * * @param {string} title The title. */ setTitle(title: string): void; /** * Set the popup's content. * Note: the type of the `content` param is `*` instead of `string`, this * is because the content may be trusted using `$sce.trustAsHtml`. * * @param {string} content The content. * @param {boolean} [opt_trusted] Whether the content can be trusted. * Default is false. */ setContent(content: string, opt_trusted?: boolean): void; /** * Set the popup's content with an iframe using the given url. * * @param {string} url The url of the page. */ setUrl(url: string): void; /** * Set the popup's width. * * @param {string} width Width the popup should have. */ setWidth(width: string): void; /** * Set the popup's height. * * @param {string} height Height the popup should have. */ setHeight(height: string): void; /** * Set the popup's width and height. * * @param {string} width Width the popup should have. * @param {string} height Height the popup should have. */ setSize(width: string, height: string): void; /** * Set the popup's autoDestroy property. * * @param {boolean} autoDestroy Whether to automatically destroy the popup when * being closed or not. */ setAutoDestroy(autoDestroy: boolean): void; /** * Add an extra CSS class name to the popup. * * @param {string} cls Class name to add to the popup element. */ addClass(cls: string): void; /** * Open a popup with the given properties. * * @param {PopupOptions} options Options. */ open(options: PopupOptions): void; } /** * @param {angular.ICompileService} $compile Angular compile service. * @param {angular.IScope} $rootScope Angular rootScope service. * @param {angular.ISCEService} $sce Angular sce service. * @param {angular.ITimeoutService} $timeout Angular timeout service. * @returns {PopupFactory} The function to create a popup. * @hidden */ export function Factory($compile: angular.ICompileService, $rootScope: angular.IScope, $sce: angular.ISCEService, $timeout: angular.ITimeoutService): PopupFactory; export namespace Factory { let $inject: string[]; } export default myModule; export type PopupFactory = () => MessagePopup; /** * The options for a popup created by the popup factory. */ export type PopupOptions = { /** * Whether the popup should be automatically destroyed when hidden * or not. */ autoDestroy?: boolean; /** * Extra class name to add to the popup. */ cls?: string; /** * The content of the popup. Either the content or URL must be set. */ content?: any; /** * The height of the popup. */ height?: string; /** * The title of the popup. */ title?: string; /** * The URL to use for the iframe to include as content for the popup. */ url?: string; /** * The width of the popup. */ width?: string; }; import angular from 'angular'; /** * @type {angular.IModule} * @hidden */ declare const myModule: angular.IModule;