package.control.FullScreen.d.ts Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ol Show documentation
Show all versions of ol Show documentation
OpenLayers mapping library
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