UNPKG

@geogirafe/lib-geoportal

Version:

GeoGirafe is a flexible application to build online geoportals.

66 lines (65 loc) 2.1 kB
import { IUrlShortener } from '../../tools/share/iurlshortener.js'; import GirafeHTMLElement from '../../base/GirafeHTMLElement.js'; import { ShareState } from './sharestate.js'; import IGirafePanel from '../../tools/state/igirafepanel.js'; declare class ShareComponent extends GirafeHTMLElement implements IGirafePanel { protected templateUrl: string | null; protected styleUrls: string[] | null; template: () => import("uhtml").Hole; isPanelVisible: boolean; panelTitle: string; panelTogglePath: string; shareLink?: string; qrCode?: string; success: boolean; twitterLogo: string; facebookLogo: string; linkedInLogo: string; mailLogo: string; iframeUrl?: string; iframeCode?: string; awaitingShareLink: boolean; awaitingIframeUrl: boolean; private simpleMaskManager?; private readonly eventsCallbacks; private iframeSize; get shareState(): ShareState; get urlShortener(): IUrlShortener | undefined; get iframeWidth(): 400 | 600 | 800; get iframeHeight(): 300 | 600 | 450; constructor(); render(): void; /** * Renders the component by calling the necessary methods. * @private */ private renderComponent; /** * Renders an empty component when it's not visible. * @private */ private renderEmptyComponent; private clearLink; private registerEvents; private unregisterEvents; generateAndCopyLink(): Promise<void>; generateAndCopyIframeCode(): Promise<void>; private generateShareLink; private generateIframeCode; closeWindow(): void; shareFacebook(): void; shareTwitter(): void; shareLinkedIn(): void; shareMail(): void; private copyToClipboard; onSizeChanged(event: Event): void; /** * Displays a greyed out area in the main map indicating the size of the embedded map. */ private showMapPreview; private hideMapPreview; private showCopySuccessEffect; togglePanel(isVisible: boolean): void; protected connectedCallback(): void; } export default ShareComponent;