Skip to content

Commit 4e7cbc8

Browse files
author
Andrey Kuznecov
committed
add plugin registry
1 parent c453a2a commit 4e7cbc8

File tree

5 files changed

+29
-4
lines changed

5 files changed

+29
-4
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@2gis/deck2gis-layer",
3-
"version": "1.1.0",
3+
"version": "1.1.1",
44
"description": "",
55
"main": "dist/deck2gislayer.js",
66
"typings": "dist/types/index.d.ts",

project.d.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
import * as _mapgl from '@2gis/mapgl/types';
2+
3+
declare global {
4+
const mapgl: typeof _mapgl;
5+
}
6+
7+
export as namespace mapgl;
8+
export = _mapgl;
9+
110
declare module '*.fsh' {
211
const _: string;
312
export default _;

src/deckgl2gisLayer.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Use fork mapbox layer in deck.gl
22
// https://github.com/visgl/deck.gl/tree/master/modules/mapbox
33

4-
import { prepareDeckInstance, addLayer, removeLayer, updateLayer, drawLayer } from './utils';
4+
import { prepareDeckInstance, addLayer, removeLayer, updateLayer, drawLayer, initDeck2gisProps } from './utils';
55
import type { Deck, Layer } from '@deck.gl/core/typed';
66
import { CustomRenderProps, DeckCustomLayer } from './types';
77
import type { Map } from '@2gis/mapgl/types';
@@ -29,6 +29,8 @@ export class Deck2gisLayer<LayerT extends Layer> implements DeckCustomLayer {
2929
gl?: WebGLRenderingContext | WebGL2RenderingContext;
3030
antialiasing: boolean;
3131

32+
static initDeck2gisProps = (map: Map, deckProps?: CustomRenderProps) => initDeck2gisProps(map, deckProps);
33+
3234
private frameBuffer?: RenderTarget;
3335
private program?: ShaderProgram;
3436
private vao?: Vao;

src/index.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,18 @@
11
import { Deck2gisLayer } from './deckgl2gisLayer';
22
import { initDeck2gisProps } from './utils';
33

4+
if (typeof window !== 'undefined') {
5+
if ('mapgl' in window) {
6+
(mapgl as any).Deck2gisLayer = Deck2gisLayer;
7+
} else {
8+
// Если так вышло, что плагин инициализирован раньше mapgl, поместим его во временную переменную
9+
// Из нее уже сам mapgl все положит в себя.
10+
if (!(window as any).__mapglPlugins) {
11+
(window as any).__mapglPlugins = {};
12+
}
13+
14+
(window as any).__mapglPlugins.Deck2gisLayer = Deck2gisLayer;
15+
}
16+
}
17+
418
export { Deck2gisLayer, initDeck2gisProps };

0 commit comments

Comments
 (0)