You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

114 lines
3.2 KiB

export default Link;
export type Options = {
/**
* Animate view transitions.
*/
animate?: boolean | import("../View.js").AnimationOptions | undefined;
/**
* Replace the current URL without creating the new entry in browser history.
* By default, changes in the map state result in a new entry being added to the browser history.
*/
replace?: boolean | undefined;
/**
* By default, the URL will be updated with search parameters x, y, z, and r. To
* avoid collisions with existing search parameters that your application uses, you can supply a custom prefix for
* the ones used by this interaction (e.g. 'ol:').
*/
prefix?: string | undefined;
};
/**
* @typedef {Object} Options
* @property {boolean|import('../View.js').AnimationOptions} [animate=true] Animate view transitions.
* @property {boolean} [replace=false] Replace the current URL without creating the new entry in browser history.
* By default, changes in the map state result in a new entry being added to the browser history.
* @property {string} [prefix=''] By default, the URL will be updated with search parameters x, y, z, and r. To
* avoid collisions with existing search parameters that your application uses, you can supply a custom prefix for
* the ones used by this interaction (e.g. 'ol:').
*/
/**
* @classdesc
* An interaction that synchronizes the map state with the URL.
*
* @api
*/
declare class Link extends Interaction {
/**
* @param {Options} [options] Link options.
*/
constructor(options?: Options | undefined);
/**
* @type {import('../View.js').AnimationOptions|null}
* @private
*/
private animationOptions_;
/**
* @private
* @type {boolean}
*/
private replace_;
/**
* @private
* @type {string}
*/
private prefix_;
/**
* @private
* @type {!Array<import("../events.js").EventsKey>}
*/
private listenerKeys_;
/**
* @private
* @type {boolean}
*/
private initial_;
/**
* @private
*/
private updateState_;
/**
* @private
* @param {string} name A parameter name.
* @return {string} A name with the prefix applied.
*/
private getParamName_;
/**
* @private
* @param {URLSearchParams} params The search params.
* @param {string} name The unprefixed parameter name.
* @return {string|null} The parameter value.
*/
private get_;
/**
* @private
* @param {URLSearchParams} params The search params.
* @param {string} name The unprefixed parameter name.
* @param {string} value The param value.
*/
private set_;
/**
* @private
* @param {URLSearchParams} params The search params.
* @param {string} name The unprefixed parameter name.
*/
private delete_;
/**
* @param {import("../Map.js").default} map Map.
* @private
*/
private registerListeners_;
/**
* @param {import("../Map.js").default} map Map.
* @private
*/
private unregisterListeners_;
/**
* @private
*/
private handleChangeLayerGroup_;
/**
* @private
*/
private updateUrl_;
}
import Interaction from "./Interaction.js";
//# sourceMappingURL=Link.d.ts.map