@types/leaflet.pm
TypeScript icon, indicating that this package has built-in type declarations

0.13.8 • Public • Published

Installation

npm install --save @types/leaflet.pm

Summary

This package contains type definitions for leaflet.pm (https://github.com/codeofsumit/leaflet.pm).

Details

Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/leaflet.pm.

index.d.ts

import * as L from "leaflet";

declare module "leaflet" {
    interface Map {
        pm: PM.Map;
    }

    interface Polygon {
        pm: PM.Edit.Line;
    }

    interface Polyline {
        pm: PM.Edit.Line;
    }

    interface Marker {
        pm: PM.Edit.Marker;
    }

    interface LayerGroup {
        pm: PM.Edit.LayerGroup;
    }

    namespace PM {
        interface Map {
            addControls(options?: ToolbarOptions): void;
            enableDraw(shape: string, options?: DrawOptions): void;
            disableDraw(shape: string): void;
            setPathOptions(options: PathOptions): void;
            toggleRemoval(enabled: boolean): void;
            globalEditEnabled(): boolean;
            toggleGlobalEditMode(options?: EditOptions): void;

            Draw: Draw;
        }

        interface Draw {
            getShapes(): string[];
        }

        interface ToolbarOptions {
            position?: string | undefined; // topleft | topright | bottomleft | bottomright
            drawMarker?: boolean | undefined;
            drawPolygon?: boolean | undefined;
            drawPolyline?: boolean | undefined;
            editPolygon?: boolean | undefined;
            deleteLayer?: boolean | undefined;
        }

        interface DrawOptions {
            templineStyle?: PathOptions | undefined;
            hintlineStyle?: PathOptions | undefined;
            pathOptions?: PathOptions | undefined;
        }

        interface EditOptions {
            draggable?: boolean | undefined;
            snappable?: boolean | undefined;
            snapDistance?: number | undefined;
        }

        namespace Edit {
            interface Line {
                enable(options?: EditOptions): void;
                disable(poly?: Layer): void;
                toggleEdit(options?: EditOptions): void;
                enabled(): boolean;
            }

            interface Marker {
                enable(options?: EditOptions): void;
                disable(): void;
                toggleEdit(options?: EditOptions): void;
                enabled(): boolean;
            }

            interface LayerGroup {
                enable(options?: EditOptions): void;
                disable(): void;
                toggleEdit(options?: EditOptions): void;
                enabled(): boolean;
                findLayers(): Layer[];
                dragging(): boolean;
                getOptions(): EditOptions;
            }
        }
    }
}

Additional Details

  • Last updated: Tue, 07 Nov 2023 09:09:38 GMT
  • Dependencies: @types/leaflet

Credits

These definitions were written by Thomas Kleinke.

Readme

Keywords

none

Package Sidebar

Install

npm i @types/leaflet.pm

Weekly Downloads

408

Version

0.13.8

License

MIT

Unpacked Size

7.6 kB

Total Files

5

Last publish

Collaborators

  • types