All Downloads are FREE. Search and download functionalities are using the official Maven repository.

package.control.FullScreen.d.ts Maven / Gradle / Ivy

The newest version!
export default FullScreen;
/**
 * *
 */
export type FullScreenOnSignature = import("../Observable").OnSignature & import("../Observable").OnSignature & import("../Observable").CombinedOnSignature;
export type Options = {
    /**
     * CSS class name.
     */
    className?: string | undefined;
    /**
     * Text label to use for the button.
     * Instead of text, also an element (e.g. a `span` element) can be used.
     */
    label?: string | HTMLElement | Text | undefined;
    /**
     * Text label to use for the
     * button when full-screen is active.
     * Instead of text, also an element (e.g. a `span` element) can be used.
     */
    labelActive?: string | HTMLElement | Text | undefined;
    /**
     * CSS class name for the button
     * when full-screen is active.
     */
    activeClassName?: string | undefined;
    /**
     * CSS class name for the button
     * when full-screen is inactive.
     */
    inactiveClassName?: string | undefined;
    /**
     * Text label to use for the button tip.
     */
    tipLabel?: string | undefined;
    /**
     * Full keyboard access.
     */
    keys?: boolean | undefined;
    /**
     * Specify a target if you want the
     * control to be rendered outside of the map's viewport.
     */
    target?: string | HTMLElement | undefined;
    /**
     * The element to be displayed
     * fullscreen. When not provided, the element containing the map viewport will
     * be displayed fullscreen.
     */
    source?: string | HTMLElement | undefined;
};
/***
 * @template Return
 * @typedef {import("../Observable").OnSignature &
 *   import("../Observable").OnSignature &
 *   import("../Observable").CombinedOnSignature} FullScreenOnSignature
 */
/**
 * @typedef {Object} Options
 * @property {string} [className='ol-full-screen'] CSS class name.
 * @property {string|Text|HTMLElement} [label='\u2922'] Text label to use for the button.
 * Instead of text, also an element (e.g. a `span` element) can be used.
 * @property {string|Text|HTMLElement} [labelActive='\u00d7'] Text label to use for the
 * button when full-screen is active.
 * Instead of text, also an element (e.g. a `span` element) can be used.
 * @property {string} [activeClassName=className + '-true'] CSS class name for the button
 * when full-screen is active.
 * @property {string} [inactiveClassName=className + '-false'] CSS class name for the button
 * when full-screen is inactive.
 * @property {string} [tipLabel='Toggle full-screen'] Text label to use for the button tip.
 * @property {boolean} [keys=false] Full keyboard access.
 * @property {HTMLElement|string} [target] Specify a target if you want the
 * control to be rendered outside of the map's viewport.
 * @property {HTMLElement|string} [source] The element to be displayed
 * fullscreen. When not provided, the element containing the map viewport will
 * be displayed fullscreen.
 */
/**
 * @classdesc
 * Provides a button that when clicked fills up the full screen with the map.
 * The full screen source element is by default the element containing the map viewport unless
 * overridden by providing the `source` option. In which case, the dom
 * element introduced using this parameter will be displayed in full screen.
 *
 * When in full screen mode, a close button is shown to exit full screen mode.
 * The [Fullscreen API](https://www.w3.org/TR/fullscreen/) is used to
 * toggle the map in full screen mode.
 *
 * @fires FullScreenEventType#enterfullscreen
 * @fires FullScreenEventType#leavefullscreen
 * @api
 */
declare class FullScreen extends Control {
    /**
     * @param {Options} [options] Options.
     */
    constructor(options?: Options | undefined);
    /***
     * @type {FullScreenOnSignature}
     */
    on: FullScreenOnSignature;
    /***
     * @type {FullScreenOnSignature}
     */
    once: FullScreenOnSignature;
    /***
     * @type {FullScreenOnSignature}
     */
    un: FullScreenOnSignature;
    /**
     * @private
     * @type {boolean}
     */
    private keys_;
    /**
     * @private
     * @type {HTMLElement|string|undefined}
     */
    private source_;
    /**
     * @type {boolean}
     * @private
     */
    private isInFullscreen_;
    /**
     * @private
     */
    private boundHandleMapTargetChange_;
    /**
     * @private
     * @type {string}
     */
    private cssClassName_;
    /**
     * @private
     * @type {Array}
     */
    private documentListeners_;
    /**
     * @private
     * @type {Array}
     */
    private activeClassName_;
    /**
     * @private
     * @type {Array}
     */
    private inactiveClassName_;
    /**
     * @private
     * @type {Text|HTMLElement}
     */
    private labelNode_;
    /**
     * @private
     * @type {Text|HTMLElement}
     */
    private labelActiveNode_;
    /**
     * @private
     * @type {HTMLElement}
     */
    private button_;
    /**
     * @param {MouseEvent} event The event to handle
     * @private
     */
    private handleClick_;
    /**
     * @private
     */
    private handleFullScreen_;
    /**
     * @private
     */
    private handleFullScreenChange_;
    /**
     * @param {HTMLElement} element Target element
     * @param {boolean} fullscreen True if fullscreen class name should be active
     * @private
     */
    private setClassName_;
    /**
     * @private
     */
    private handleMapTargetChange_;
}
import Control from './Control.js';
//# sourceMappingURL=FullScreen.d.ts.map




© 2015 - 2024 Weber Informatics LLC | Privacy Policy