adding leaflet-groupedlayercontrol types (#39044)

* adding leaflet-groupedlayercontrol types

* Adding typescript version information to index.d.ts file.

* Updating formatting in types

* Adding dom to libs in tsconfig

* Updating formatting issues in index.d.ts file
This commit is contained in:
ryanc16 2019-10-14 19:39:46 -04:00 committed by Andrew Branch
parent 7c2c4a1a3f
commit dc02437227
4 changed files with 80 additions and 0 deletions

View File

@ -0,0 +1,29 @@
// Type definitions for leaflet-groupedlayercontrol 0.6
// Project: https://github.com/ismyrnow/leaflet-groupedlayercontrol
// Definitions by: Ryan Conklin <https://github.com/ryanc16>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.3
import * as L from 'leaflet';
declare module 'leaflet' {
namespace Control {
class GroupedLayers extends Control {
constructor(baseLayers: { [index: string]: Layer }, groupedOverlays: { [index: string]: { [index: string]: LayerGroup } }, options: GroupedLayersOptions);
}
}
namespace control {
function groupedLayers(baseLayers: { [index: string]: Layer }, groupedOverlays: { [index: string]: { [index: string]: LayerGroup } }, options: GroupedLayersOptions): Control;
}
interface GroupedLayersOptions extends ControlOptions {
/** Default: true */
collapsed?: boolean;
/** Default: true */
autoZIndex?: boolean;
exclusiveGroups?: string[];
/** Default: false */
groupCheckboxes?: boolean;
}
}

View File

@ -0,0 +1,26 @@
import * as L from 'leaflet';
import 'leaflet-groupedlayercontrol';
const map: L.Map = L.map('#map');
const baseLayers = {
street: L.tileLayer('...')
};
const groupedOverlays = {
overlayGroup1: {
overlay1: L.layerGroup(),
overlay2: L.layerGroup()
},
overlayGroup2: {
overlay3: L.layerGroup()
}
};
const groupedLayersOptions: L.GroupedLayersOptions = {
position: 'topleft',
exclusiveGroups: ['overlayGroup1', 'overlayGroup2'],
groupCheckboxes: false
};
L.control.groupedLayers(baseLayers, groupedOverlays, groupedLayersOptions).addTo(map);

View File

@ -0,0 +1,24 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": [
"es6",
"dom"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictFunctionTypes": true,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"leaflet-groupedlayercontrol-tests.ts"
]
}

View File

@ -0,0 +1 @@
{ "extends": "dtslint/dt.json" }