@kepler.gl/deckgl-layers 3.3.0-alpha.0 → 3.3.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/3d-building-layer/3d-building-layer.js +66 -0
- package/dist/cjs/3d-building-layer/3d-building-utils.js +166 -0
- package/dist/cjs/3d-building-layer/types.js +6 -0
- package/dist/cjs/cluster-layer/cluster-layer.js +292 -0
- package/dist/cjs/column-layer/enhanced-column-layer.js +160 -0
- package/dist/{deckgl-extensions → cjs/deckgl-extensions}/filter-arrow-layer.js +1 -1
- package/dist/cjs/deckgl-extensions/filter-shader-module.js +26 -0
- package/dist/cjs/globe/atmosphere-layer.js +341 -0
- package/dist/cjs/globe/enhanced-multi-icon-layer.js +63 -0
- package/dist/cjs/globe/globe-depth-disk-layer.js +145 -0
- package/dist/cjs/globe/globe-layers.js +574 -0
- package/dist/cjs/globe/globe-stars-layer.js +99 -0
- package/dist/cjs/globe/globe-stars-layer.spec.js +42 -0
- package/dist/cjs/globe/globe-view.js +404 -0
- package/dist/cjs/globe/index.js +140 -0
- package/dist/cjs/globe/mvt-label-layer.js +190 -0
- package/dist/cjs/grid-layer/enhanced-cpu-grid-layer.js +116 -0
- package/dist/cjs/hexagon-layer/enhanced-hexagon-layer.js +134 -0
- package/dist/cjs/index.js +163 -0
- package/dist/cjs/layer-utils/aggregation-utils.js +181 -0
- package/dist/cjs/layer-utils/cluster-utils.js +95 -0
- package/dist/cjs/layer-utils/cpu-aggregator.js +798 -0
- package/dist/cjs/layer-utils/globe-cell-utils.js +203 -0
- package/dist/cjs/layer-utils/globe-cell-utils.spec.js +118 -0
- package/dist/cjs/layer-utils/shader-utils.js +38 -0
- package/dist/cjs/line-layer/line-layer.js +95 -0
- package/dist/cjs/raster/images.js +271 -0
- package/dist/cjs/raster/pipeline-validation-patch.js +101 -0
- package/dist/cjs/raster/raster-layer/raster-layer-shaders.js +163 -0
- package/dist/cjs/raster/raster-layer/raster-layer-webgl1.fs.js +10 -0
- package/dist/cjs/raster/raster-layer/raster-layer-webgl1.vs.js +10 -0
- package/dist/cjs/raster/raster-layer/raster-layer-webgl2.fs.js +10 -0
- package/dist/cjs/raster/raster-layer/raster-layer-webgl2.vs.js +10 -0
- package/dist/cjs/raster/raster-layer/raster-layer.js +287 -0
- package/dist/cjs/raster/raster-mesh-layer/raster-mesh-layer-shaders.js +38 -0
- package/dist/cjs/raster/raster-mesh-layer/raster-mesh-layer-webgl1.fs.js +10 -0
- package/dist/cjs/raster/raster-mesh-layer/raster-mesh-layer-webgl1.vs.js +10 -0
- package/dist/cjs/raster/raster-mesh-layer/raster-mesh-layer-webgl2.fs.js +10 -0
- package/dist/cjs/raster/raster-mesh-layer/raster-mesh-layer-webgl2.vs.js +10 -0
- package/dist/cjs/raster/raster-mesh-layer/raster-mesh-layer.js +321 -0
- package/dist/cjs/raster/raster-processing-uniforms.js +124 -0
- package/dist/cjs/raster/types.js +6 -0
- package/dist/cjs/raster/util.js +139 -0
- package/dist/cjs/raster/webgl/color/colormap.js +45 -0
- package/dist/cjs/raster/webgl/color/filter.js +58 -0
- package/dist/cjs/raster/webgl/color/gamma-contrast.js +68 -0
- package/dist/cjs/raster/webgl/color/linear-rescale.js +35 -0
- package/dist/cjs/raster/webgl/color/saturation.js +42 -0
- package/dist/cjs/raster/webgl/color/sigmoidal-contrast.js +68 -0
- package/dist/{raster → cjs/raster}/webgl/index.js +1 -1
- package/dist/cjs/raster/webgl/pansharpen/pansharpen-brovey.js +46 -0
- package/dist/cjs/raster/webgl/spectral-indices/evi.js +26 -0
- package/dist/cjs/raster/webgl/spectral-indices/msavi.js +25 -0
- package/dist/cjs/raster/webgl/spectral-indices/normalized-difference.js +19 -0
- package/dist/cjs/raster/webgl/spectral-indices/savi.js +21 -0
- package/dist/cjs/raster/webgl/texture/combine-bands.js +65 -0
- package/dist/cjs/raster/webgl/texture/mask.js +50 -0
- package/dist/cjs/raster/webgl/texture/reorder-bands.js +72 -0
- package/dist/cjs/raster/webgl/texture/rgba-image.js +34 -0
- package/dist/cjs/raster/webgl/types.js +6 -0
- package/dist/cjs/svg-icon-layer/scatterplot-icon-layer.js +88 -0
- package/dist/cjs/svg-icon-layer/svg-icon-layer.js +104 -0
- package/dist/cjs/wms/wms-layer.js +624 -0
- package/dist/esm/3d-building-layer/3d-building-layer.js +62 -0
- package/dist/esm/3d-building-layer/3d-building-utils.js +157 -0
- package/dist/esm/3d-building-layer/types.js +3 -0
- package/dist/esm/cluster-layer/cluster-layer.js +286 -0
- package/dist/esm/column-layer/enhanced-column-layer.js +156 -0
- package/dist/esm/deckgl-extensions/filter-arrow-layer.js +64 -0
- package/dist/esm/deckgl-extensions/filter-shader-module.js +20 -0
- package/dist/esm/globe/atmosphere-layer.js +335 -0
- package/dist/esm/globe/enhanced-multi-icon-layer.js +60 -0
- package/dist/esm/globe/globe-depth-disk-layer.js +140 -0
- package/dist/esm/globe/globe-layers.js +566 -0
- package/dist/esm/globe/globe-stars-layer.js +92 -0
- package/dist/esm/globe/globe-stars-layer.spec.js +40 -0
- package/dist/esm/globe/globe-view.js +398 -0
- package/dist/esm/globe/index.js +26 -0
- package/dist/esm/globe/mvt-label-layer.js +187 -0
- package/dist/esm/grid-layer/enhanced-cpu-grid-layer.js +112 -0
- package/dist/esm/hexagon-layer/enhanced-hexagon-layer.js +130 -0
- package/dist/esm/index.js +22 -0
- package/dist/esm/layer-utils/aggregation-utils.js +172 -0
- package/dist/esm/layer-utils/cluster-utils.js +89 -0
- package/dist/esm/layer-utils/cpu-aggregator.js +788 -0
- package/dist/esm/layer-utils/globe-cell-utils.js +197 -0
- package/dist/esm/layer-utils/globe-cell-utils.spec.js +115 -0
- package/dist/esm/layer-utils/shader-utils.js +32 -0
- package/dist/esm/line-layer/line-layer.js +91 -0
- package/dist/esm/raster/images.js +267 -0
- package/dist/esm/raster/pipeline-validation-patch.js +94 -0
- package/dist/esm/raster/raster-layer/raster-layer-shaders.js +153 -0
- package/dist/esm/raster/raster-layer/raster-layer-webgl1.fs.js +5 -0
- package/dist/esm/raster/raster-layer/raster-layer-webgl1.vs.js +5 -0
- package/dist/esm/raster/raster-layer/raster-layer-webgl2.fs.js +5 -0
- package/dist/esm/raster/raster-layer/raster-layer-webgl2.vs.js +5 -0
- package/dist/esm/raster/raster-layer/raster-layer.js +283 -0
- package/dist/esm/raster/raster-mesh-layer/raster-mesh-layer-shaders.js +30 -0
- package/dist/esm/raster/raster-mesh-layer/raster-mesh-layer-webgl1.fs.js +5 -0
- package/dist/esm/raster/raster-mesh-layer/raster-mesh-layer-webgl1.vs.js +5 -0
- package/dist/esm/raster/raster-mesh-layer/raster-mesh-layer-webgl2.fs.js +5 -0
- package/dist/esm/raster/raster-mesh-layer/raster-mesh-layer-webgl2.vs.js +5 -0
- package/dist/esm/raster/raster-mesh-layer/raster-mesh-layer.js +318 -0
- package/dist/esm/raster/raster-processing-uniforms.js +118 -0
- package/dist/esm/raster/types.js +3 -0
- package/dist/esm/raster/util.js +134 -0
- package/dist/esm/raster/webgl/color/colormap.js +39 -0
- package/dist/esm/raster/webgl/color/filter.js +52 -0
- package/dist/esm/raster/webgl/color/gamma-contrast.js +62 -0
- package/dist/esm/raster/webgl/color/linear-rescale.js +29 -0
- package/dist/esm/raster/webgl/color/saturation.js +36 -0
- package/dist/esm/raster/webgl/color/sigmoidal-contrast.js +62 -0
- package/dist/esm/raster/webgl/index.js +26 -0
- package/dist/esm/raster/webgl/pansharpen/pansharpen-brovey.js +40 -0
- package/dist/esm/raster/webgl/spectral-indices/evi.js +20 -0
- package/dist/esm/raster/webgl/spectral-indices/msavi.js +19 -0
- package/dist/esm/raster/webgl/spectral-indices/normalized-difference.js +13 -0
- package/dist/esm/raster/webgl/spectral-indices/savi.js +15 -0
- package/dist/esm/raster/webgl/texture/combine-bands.js +58 -0
- package/dist/esm/raster/webgl/texture/mask.js +44 -0
- package/dist/esm/raster/webgl/texture/reorder-bands.js +65 -0
- package/dist/esm/raster/webgl/texture/rgba-image.js +28 -0
- package/dist/esm/raster/webgl/types.js +3 -0
- package/dist/esm/svg-icon-layer/scatterplot-icon-layer.js +84 -0
- package/dist/esm/svg-icon-layer/svg-icon-layer.js +101 -0
- package/dist/esm/wms/wms-layer.js +619 -0
- package/dist/globe/atmosphere-layer.d.ts +58 -0
- package/dist/globe/enhanced-multi-icon-layer.d.ts +6 -0
- package/dist/globe/globe-depth-disk-layer.d.ts +19 -0
- package/dist/globe/globe-layers.d.ts +108 -0
- package/dist/globe/globe-stars-layer.d.ts +10 -0
- package/dist/globe/globe-stars-layer.spec.d.ts +1 -0
- package/dist/globe/globe-view.d.ts +23 -0
- package/dist/globe/index.d.ts +8 -0
- package/dist/globe/mvt-label-layer.d.ts +7928 -0
- package/dist/grid-layer/enhanced-cpu-grid-layer.d.ts +145 -56
- package/dist/hexagon-layer/enhanced-hexagon-layer.d.ts +145 -56
- package/dist/index.d.ts +2 -0
- package/dist/layer-utils/aggregation-utils.d.ts +44 -0
- package/dist/layer-utils/cluster-utils.d.ts +6 -1
- package/dist/layer-utils/globe-cell-utils.d.ts +30 -0
- package/dist/layer-utils/globe-cell-utils.spec.d.ts +1 -0
- package/dist/layer-utils/shader-utils.d.ts +1 -0
- package/dist/raster/images.d.ts +10 -1
- package/dist/raster/raster-layer/raster-layer.d.ts +4 -0
- package/dist/raster/raster-mesh-layer/raster-mesh-layer.d.ts +4 -0
- package/dist/raster/raster-processing-uniforms.d.ts +38 -0
- package/dist/raster/util.d.ts +15 -0
- package/dist/svg-icon-layer/scatterplot-icon-layer.d.ts +4 -1
- package/dist/wms/wms-layer.d.ts +32 -2
- package/package.json +37 -25
- package/dist/3d-building-layer/3d-building-layer.js +0 -66
- package/dist/3d-building-layer/3d-building-utils.js +0 -166
- package/dist/3d-building-layer/types.js +0 -6
- package/dist/cluster-layer/cluster-layer.js +0 -296
- package/dist/column-layer/enhanced-column-layer.js +0 -135
- package/dist/deckgl-extensions/filter-shader-module.js +0 -26
- package/dist/grid-layer/enhanced-cpu-grid-layer.js +0 -69
- package/dist/hexagon-layer/enhanced-hexagon-layer.js +0 -87
- package/dist/index.js +0 -140
- package/dist/layer-utils/cluster-utils.js +0 -93
- package/dist/layer-utils/cpu-aggregator.js +0 -798
- package/dist/layer-utils/shader-utils.js +0 -29
- package/dist/line-layer/line-layer.js +0 -95
- package/dist/raster/images.js +0 -259
- package/dist/raster/pipeline-validation-patch.js +0 -60
- package/dist/raster/raster-layer/raster-layer-shaders.js +0 -129
- package/dist/raster/raster-layer/raster-layer-webgl1.fs.js +0 -10
- package/dist/raster/raster-layer/raster-layer-webgl1.vs.js +0 -10
- package/dist/raster/raster-layer/raster-layer-webgl2.fs.js +0 -10
- package/dist/raster/raster-layer/raster-layer-webgl2.vs.js +0 -10
- package/dist/raster/raster-layer/raster-layer.js +0 -256
- package/dist/raster/raster-mesh-layer/matrix.d.ts +0 -4
- package/dist/raster/raster-mesh-layer/matrix.js +0 -18
- package/dist/raster/raster-mesh-layer/raster-mesh-layer-shaders.js +0 -38
- package/dist/raster/raster-mesh-layer/raster-mesh-layer-webgl1.fs.js +0 -10
- package/dist/raster/raster-mesh-layer/raster-mesh-layer-webgl1.vs.js +0 -10
- package/dist/raster/raster-mesh-layer/raster-mesh-layer-webgl2.fs.js +0 -10
- package/dist/raster/raster-mesh-layer/raster-mesh-layer-webgl2.vs.js +0 -10
- package/dist/raster/raster-mesh-layer/raster-mesh-layer.js +0 -282
- package/dist/raster/types.js +0 -6
- package/dist/raster/util.js +0 -29
- package/dist/raster/webgl/color/colormap.js +0 -45
- package/dist/raster/webgl/color/filter.js +0 -58
- package/dist/raster/webgl/color/gamma-contrast.js +0 -68
- package/dist/raster/webgl/color/linear-rescale.js +0 -35
- package/dist/raster/webgl/color/saturation.js +0 -42
- package/dist/raster/webgl/color/sigmoidal-contrast.js +0 -68
- package/dist/raster/webgl/pansharpen/pansharpen-brovey.js +0 -46
- package/dist/raster/webgl/spectral-indices/evi.js +0 -26
- package/dist/raster/webgl/spectral-indices/msavi.js +0 -25
- package/dist/raster/webgl/spectral-indices/normalized-difference.js +0 -19
- package/dist/raster/webgl/spectral-indices/savi.js +0 -21
- package/dist/raster/webgl/texture/combine-bands.js +0 -65
- package/dist/raster/webgl/texture/mask.js +0 -50
- package/dist/raster/webgl/texture/reorder-bands.js +0 -72
- package/dist/raster/webgl/texture/rgba-image.js +0 -34
- package/dist/raster/webgl/types.js +0 -6
- package/dist/svg-icon-layer/scatterplot-icon-layer.js +0 -51
- package/dist/svg-icon-layer/svg-icon-layer.js +0 -104
- package/dist/wms/wms-layer.js +0 -351
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.rgbaImage = void 0;
|
|
7
|
-
// SPDX-License-Identifier: MIT
|
|
8
|
-
// Copyright contributors to the kepler.gl project
|
|
9
|
-
|
|
10
|
-
function getUniforms() {
|
|
11
|
-
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
12
|
-
var imageRgba = opts.imageRgba;
|
|
13
|
-
if (!imageRgba) {
|
|
14
|
-
return null;
|
|
15
|
-
}
|
|
16
|
-
return {
|
|
17
|
-
bitmapTextureRgba: imageRgba
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
var fs1 = "uniform sampler2D bitmapTextureRgba;\n";
|
|
21
|
-
var fs2 = "precision mediump float;\nprecision mediump int;\nprecision mediump usampler2D;\n\n#ifdef SAMPLER_TYPE\n uniform SAMPLER_TYPE bitmapTextureRgba;\n#else\n uniform sampler2D bitmapTextureRgba;\n#endif\n";
|
|
22
|
-
var rgbaImage = exports.rgbaImage = {
|
|
23
|
-
name: 'rgba-image',
|
|
24
|
-
fs1: fs1,
|
|
25
|
-
fs2: fs2,
|
|
26
|
-
getUniforms: getUniforms,
|
|
27
|
-
defines: {
|
|
28
|
-
SAMPLER_TYPE: 'sampler2D'
|
|
29
|
-
},
|
|
30
|
-
inject: {
|
|
31
|
-
'fs:DECKGL_CREATE_COLOR': "\n image = vec4(texture2D(bitmapTextureRgba, coord));\n if (image.a < 0.5) {\n discard;\n }\n "
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRVbmlmb3JtcyIsIm9wdHMiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJpbWFnZVJnYmEiLCJiaXRtYXBUZXh0dXJlUmdiYSIsImZzMSIsImZzMiIsInJnYmFJbWFnZSIsImV4cG9ydHMiLCJuYW1lIiwiZGVmaW5lcyIsIlNBTVBMRVJfVFlQRSIsImluamVjdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9yYXN0ZXIvd2ViZ2wvdGV4dHVyZS9yZ2JhLWltYWdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB0eXBlIHtUZXh0dXJlfSBmcm9tICdAbHVtYS5nbC9jb3JlJztcbmltcG9ydCB7R2V0VW5pZm9ybXNPdXRwdXQsIFNoYWRlck1vZHVsZX0gZnJvbSAnLi4vdHlwZXMnO1xuXG5mdW5jdGlvbiBnZXRVbmlmb3JtcyhvcHRzOiB7aW1hZ2VSZ2JhPzogVGV4dHVyZX0gPSB7fSk6IEdldFVuaWZvcm1zT3V0cHV0IHtcbiAgY29uc3Qge2ltYWdlUmdiYX0gPSBvcHRzO1xuXG4gIGlmICghaW1hZ2VSZ2JhKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGJpdG1hcFRleHR1cmVSZ2JhOiBpbWFnZVJnYmFcbiAgfTtcbn1cblxuY29uc3QgZnMxID0gYFxcXG51bmlmb3JtIHNhbXBsZXIyRCBiaXRtYXBUZXh0dXJlUmdiYTtcbmA7XG5cbmNvbnN0IGZzMiA9IGBcXFxucHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7XG5wcmVjaXNpb24gbWVkaXVtcCBpbnQ7XG5wcmVjaXNpb24gbWVkaXVtcCB1c2FtcGxlcjJEO1xuXG4jaWZkZWYgU0FNUExFUl9UWVBFXG4gIHVuaWZvcm0gU0FNUExFUl9UWVBFIGJpdG1hcFRleHR1cmVSZ2JhO1xuI2Vsc2VcbiAgdW5pZm9ybSBzYW1wbGVyMkQgYml0bWFwVGV4dHVyZVJnYmE7XG4jZW5kaWZcbmA7XG5cbmV4cG9ydCBjb25zdCByZ2JhSW1hZ2U6IFNoYWRlck1vZHVsZSA9IHtcbiAgbmFtZTogJ3JnYmEtaW1hZ2UnLFxuICBmczEsXG4gIGZzMixcbiAgZ2V0VW5pZm9ybXMsXG4gIGRlZmluZXM6IHtcbiAgICBTQU1QTEVSX1RZUEU6ICdzYW1wbGVyMkQnXG4gIH0sXG4gIGluamVjdDoge1xuICAgICdmczpERUNLR0xfQ1JFQVRFX0NPTE9SJzogYFxuICAgIGltYWdlID0gdmVjNCh0ZXh0dXJlMkQoYml0bWFwVGV4dHVyZVJnYmEsIGNvb3JkKSk7XG4gICAgaWYgKGltYWdlLmEgPCAwLjUpIHtcbiAgICAgIGRpc2NhcmQ7XG4gICAgfVxuICAgIGBcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTs7QUFLQSxTQUFTQSxXQUFXQSxDQUFBLEVBQXNEO0VBQUEsSUFBckRDLElBQTJCLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHLENBQUMsQ0FBQztFQUNuRCxJQUFPRyxTQUFTLEdBQUlKLElBQUksQ0FBakJJLFNBQVM7RUFFaEIsSUFBSSxDQUFDQSxTQUFTLEVBQUU7SUFDZCxPQUFPLElBQUk7RUFDYjtFQUVBLE9BQU87SUFDTEMsaUJBQWlCLEVBQUVEO0VBQ3JCLENBQUM7QUFDSDtBQUVBLElBQU1FLEdBQUcsMkNBRVI7QUFFRCxJQUFNQyxHQUFHLCtNQVVSO0FBRU0sSUFBTUMsU0FBdUIsR0FBQUMsT0FBQSxDQUFBRCxTQUFBLEdBQUc7RUFDckNFLElBQUksRUFBRSxZQUFZO0VBQ2xCSixHQUFHLEVBQUhBLEdBQUc7RUFDSEMsR0FBRyxFQUFIQSxHQUFHO0VBQ0hSLFdBQVcsRUFBWEEsV0FBVztFQUNYWSxPQUFPLEVBQUU7SUFDUEMsWUFBWSxFQUFFO0VBQ2hCLENBQUM7RUFDREMsTUFBTSxFQUFFO0lBQ04sd0JBQXdCO0VBTTFCO0FBQ0YsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Jhc3Rlci93ZWJnbC90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgdHlwZSB7VGV4dHVyZX0gZnJvbSAnQGx1bWEuZ2wvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hhZGVyTW9kdWxlIHtcbiAgLyoqIEEgdW5pcXVlIG5hbWUgZm9yIHRoaXMgc2hhZGVyIG1vZHVsZSAqL1xuICBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqIEEgZnJhZ21lbnQgc2hhZGVyIHRvIGJlIHVzZWQgaW4gYm90aCBXZWJHTDEgYW5kIFdlYkdMMiBlbnZpcm9ubWVudHMgKi9cbiAgZnM/OiBzdHJpbmc7XG5cbiAgLyoqIEEgZnJhZ21lbnQgc2hhZGVyIHRvIGJlIHVzZWQgb25seSBpbiBXZWJHTDEgZW52aXJvbm1lbnRzICovXG4gIGZzMT86IHN0cmluZztcblxuICAvKiogQSBmcmFnbWVudCBzaGFkZXIgdG8gYmUgdXNlZCBvbmx5IGluIFdlYkdMMiBlbnZpcm9ubWVudHMgKi9cbiAgZnMyPzogc3RyaW5nO1xuXG4gIC8qKiBBIHZlcnRleCBzaGFkZXIgdG8gaW5qZWN0ICovXG4gIHZzPzogc3RyaW5nO1xuICB1bmlmb3Jtcz86IFJlY29yZDxzdHJpbmcsIFVuaWZvcm1UeXBlPjtcbiAgZ2V0VW5pZm9ybXM/OiAob3B0czogb2JqZWN0KSA9PiBHZXRVbmlmb3Jtc091dHB1dDtcblxuICAvKiogbHVtYS5nbCA5IFVCTyB1bmlmb3JtIHR5cGUgZGVjbGFyYXRpb25zIChlLmcuIHsgb3BhY2l0eTogJ2YzMicgfSkgKi9cbiAgdW5pZm9ybVR5cGVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKiogT3B0aW9uYWwgY29uc3RhbnRzIHRvIGRlZmluZSB3aGVuIGluamVjdGluZyAqL1xuICBkZWZpbmVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgaW5qZWN0PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgZGVwZW5kZW5jaWVzPzogU2hhZGVyTW9kdWxlW107XG4gIGRlcHJlY2F0aW9ucz86IHt0eXBlOiBzdHJpbmc7IG9sZDogc3RyaW5nOyBuZXc6IHN0cmluZ31bXTtcbn1cblxuZXhwb3J0IHR5cGUgVW5pZm9ybVR5cGUgPSBudW1iZXIgfCBudW1iZXJbXSB8IFRleHR1cmUgfCB1bmRlZmluZWQ7XG5cbmV4cG9ydCB0eXBlIEdldFVuaWZvcm1zT3V0cHV0ID0gUmVjb3JkPHN0cmluZywgVW5pZm9ybVR5cGU+IHwgbnVsbDtcbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports["default"] = void 0;
|
|
8
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
11
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
12
|
-
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
13
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
-
var _layers = require("@deck.gl/layers");
|
|
15
|
-
var _engine = require("@luma.gl/engine");
|
|
16
|
-
var _constants = require("@kepler.gl/constants");
|
|
17
|
-
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
18
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
19
|
-
function _superPropGet(t, e, r, o) { var p = (0, _get2["default"])((0, _getPrototypeOf2["default"])(1 & o ? t.prototype : t), e, r); return 2 & o ? function (t) { return p.apply(r, t); } : p; } // SPDX-License-Identifier: MIT
|
|
20
|
-
// Copyright contributors to the kepler.gl project
|
|
21
|
-
var DEFAULT_POS = [-1, -1, 0, -1, 1, 0, 1, 1, 0, 1, -1, 0];
|
|
22
|
-
var ScatterplotIconLayer = exports["default"] = /*#__PURE__*/function (_ScatterplotLayer) {
|
|
23
|
-
function ScatterplotIconLayer() {
|
|
24
|
-
(0, _classCallCheck2["default"])(this, ScatterplotIconLayer);
|
|
25
|
-
return _callSuper(this, ScatterplotIconLayer, arguments);
|
|
26
|
-
}
|
|
27
|
-
(0, _inherits2["default"])(ScatterplotIconLayer, _ScatterplotLayer);
|
|
28
|
-
return (0, _createClass2["default"])(ScatterplotIconLayer, [{
|
|
29
|
-
key: "_getModel",
|
|
30
|
-
value: function _getModel() {
|
|
31
|
-
var iconGeometry = this.props.iconGeometry;
|
|
32
|
-
var positions = iconGeometry ? new Float32Array(iconGeometry) : new Float32Array(DEFAULT_POS);
|
|
33
|
-
var geometry = new _engine.Geometry({
|
|
34
|
-
topology: iconGeometry ? _constants.TOPOLOGY.TRIANGLE_LIST : _constants.TOPOLOGY.TRIANGLE_STRIP,
|
|
35
|
-
attributes: {
|
|
36
|
-
positions: {
|
|
37
|
-
size: 3,
|
|
38
|
-
value: positions
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
var model = _superPropGet(ScatterplotIconLayer, "_getModel", this, 3)([]);
|
|
43
|
-
if (model) {
|
|
44
|
-
model.setGeometry(geometry);
|
|
45
|
-
}
|
|
46
|
-
return model;
|
|
47
|
-
}
|
|
48
|
-
}]);
|
|
49
|
-
}(_layers.ScatterplotLayer);
|
|
50
|
-
ScatterplotIconLayer.layerName = 'ScatterplotIconLayer';
|
|
51
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGF5ZXJzIiwicmVxdWlyZSIsIl9lbmdpbmUiLCJfY29uc3RhbnRzIiwiX2NhbGxTdXBlciIsInQiLCJvIiwiZSIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiYXBwbHkiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsImNhbGwiLCJfc3VwZXJQcm9wR2V0IiwiciIsInAiLCJfZ2V0MiIsIkRFRkFVTFRfUE9TIiwiU2NhdHRlcnBsb3RJY29uTGF5ZXIiLCJleHBvcnRzIiwiX1NjYXR0ZXJwbG90TGF5ZXIiLCJfY2xhc3NDYWxsQ2hlY2syIiwiYXJndW1lbnRzIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJ2YWx1ZSIsIl9nZXRNb2RlbCIsImljb25HZW9tZXRyeSIsInByb3BzIiwicG9zaXRpb25zIiwiRmxvYXQzMkFycmF5IiwiZ2VvbWV0cnkiLCJHZW9tZXRyeSIsInRvcG9sb2d5IiwiVE9QT0xPR1kiLCJUUklBTkdMRV9MSVNUIiwiVFJJQU5HTEVfU1RSSVAiLCJhdHRyaWJ1dGVzIiwic2l6ZSIsIm1vZGVsIiwic2V0R2VvbWV0cnkiLCJTY2F0dGVycGxvdExheWVyIiwibGF5ZXJOYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N2Zy1pY29uLWxheWVyL3NjYXR0ZXJwbG90LWljb24tbGF5ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtTY2F0dGVycGxvdExheWVyLCBTY2F0dGVycGxvdExheWVyUHJvcHN9IGZyb20gJ0BkZWNrLmdsL2xheWVycyc7XG5pbXBvcnQge0dlb21ldHJ5fSBmcm9tICdAbHVtYS5nbC9lbmdpbmUnO1xuaW1wb3J0IHtUT1BPTE9HWX0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuXG5jb25zdCBERUZBVUxUX1BPUyA9IFstMSwgLTEsIDAsIC0xLCAxLCAwLCAxLCAxLCAwLCAxLCAtMSwgMF07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NhdHRlcnBsb3RJY29uTGF5ZXJQcm9wcyBleHRlbmRzIFNjYXR0ZXJwbG90TGF5ZXJQcm9wczxhbnk+IHtcbiAgaWNvbkdlb21ldHJ5OiBudW1iZXJbXTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2NhdHRlcnBsb3RJY29uTGF5ZXIgZXh0ZW5kcyBTY2F0dGVycGxvdExheWVyPGFueSwgU2NhdHRlcnBsb3RJY29uTGF5ZXJQcm9wcz4ge1xuICBfZ2V0TW9kZWwoKSB7XG4gICAgY29uc3Qge2ljb25HZW9tZXRyeX0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHBvc2l0aW9ucyA9IGljb25HZW9tZXRyeSA/IG5ldyBGbG9hdDMyQXJyYXkoaWNvbkdlb21ldHJ5KSA6IG5ldyBGbG9hdDMyQXJyYXkoREVGQVVMVF9QT1MpO1xuXG4gICAgY29uc3QgZ2VvbWV0cnkgPSBuZXcgR2VvbWV0cnkoe1xuICAgICAgdG9wb2xvZ3k6IGljb25HZW9tZXRyeSA/IFRPUE9MT0dZLlRSSUFOR0xFX0xJU1QgOiBUT1BPTE9HWS5UUklBTkdMRV9TVFJJUCxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgcG9zaXRpb25zOiB7c2l6ZTogMywgdmFsdWU6IHBvc2l0aW9uc31cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IG1vZGVsID0gc3VwZXIuX2dldE1vZGVsKCk7XG4gICAgaWYgKG1vZGVsKSB7XG4gICAgICBtb2RlbC5zZXRHZW9tZXRyeShnZW9tZXRyeSk7XG4gICAgfVxuICAgIHJldHVybiBtb2RlbDtcbiAgfVxufVxuXG5TY2F0dGVycGxvdEljb25MYXllci5sYXllck5hbWUgPSAnU2NhdHRlcnBsb3RJY29u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
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports["default"] = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
12
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
13
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
-
var _core = require("@deck.gl/core");
|
|
15
|
-
var _scatterplotIconLayer = _interopRequireDefault(require("./scatterplot-icon-layer"));
|
|
16
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
17
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
18
|
-
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
19
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } // SPDX-License-Identifier: MIT
|
|
20
|
-
// Copyright contributors to the kepler.gl project
|
|
21
|
-
// default icon geometry is a square
|
|
22
|
-
var DEFAULT_ICON_GEOMETRY = [1, 1, 0, 1, -1, 0, -1, -1, 0, -1, -1, 0, -1, 1, 0, 1, 1, 0];
|
|
23
|
-
var defaultProps = {
|
|
24
|
-
getIconGeometry: function getIconGeometry() {
|
|
25
|
-
return DEFAULT_ICON_GEOMETRY;
|
|
26
|
-
},
|
|
27
|
-
getIcon: function getIcon(d) {
|
|
28
|
-
return d.icon;
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
var SvgIconLayer = exports["default"] = /*#__PURE__*/function (_CompositeLayer) {
|
|
32
|
-
function SvgIconLayer() {
|
|
33
|
-
(0, _classCallCheck2["default"])(this, SvgIconLayer);
|
|
34
|
-
return _callSuper(this, SvgIconLayer, arguments);
|
|
35
|
-
}
|
|
36
|
-
(0, _inherits2["default"])(SvgIconLayer, _CompositeLayer);
|
|
37
|
-
return (0, _createClass2["default"])(SvgIconLayer, [{
|
|
38
|
-
key: "initializeState",
|
|
39
|
-
value:
|
|
40
|
-
// Must be defined
|
|
41
|
-
function initializeState() {
|
|
42
|
-
this.state = {
|
|
43
|
-
data: {}
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
}, {
|
|
47
|
-
key: "updateState",
|
|
48
|
-
value: function updateState(_ref) {
|
|
49
|
-
var changeFlags = _ref.changeFlags;
|
|
50
|
-
if (changeFlags.dataChanged) {
|
|
51
|
-
this._extractSublayers();
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}, {
|
|
55
|
-
key: "_extractSublayers",
|
|
56
|
-
value: function _extractSublayers() {
|
|
57
|
-
var _this$props = this.props,
|
|
58
|
-
rawData = _this$props.data,
|
|
59
|
-
getIconGeometry = _this$props.getIconGeometry,
|
|
60
|
-
getIcon = _this$props.getIcon;
|
|
61
|
-
var data = rawData;
|
|
62
|
-
var iconLayers = {};
|
|
63
|
-
for (var i = 0; i < data.length; i++) {
|
|
64
|
-
var iconId = getIcon(data[i]);
|
|
65
|
-
iconLayers[iconId] = iconLayers[iconId] || {
|
|
66
|
-
id: iconId,
|
|
67
|
-
geometry: getIconGeometry(iconId) || DEFAULT_ICON_GEOMETRY,
|
|
68
|
-
data: []
|
|
69
|
-
};
|
|
70
|
-
iconLayers[iconId].data.push(data[i]);
|
|
71
|
-
}
|
|
72
|
-
this.setState({
|
|
73
|
-
data: Object.values(iconLayers)
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
}, {
|
|
77
|
-
key: "_updateAutoHighlight",
|
|
78
|
-
value: function _updateAutoHighlight(info) {
|
|
79
|
-
var _info$sourceLayer;
|
|
80
|
-
info === null || info === void 0 || (_info$sourceLayer = info.sourceLayer) === null || _info$sourceLayer === void 0 || _info$sourceLayer.updateAutoHighlight(info);
|
|
81
|
-
}
|
|
82
|
-
}, {
|
|
83
|
-
key: "renderLayers",
|
|
84
|
-
value: function renderLayers() {
|
|
85
|
-
var _this = this;
|
|
86
|
-
var layerId = this.props.id;
|
|
87
|
-
var data = this.state.data;
|
|
88
|
-
var layers = data && data.length && data.map(function (_ref2) {
|
|
89
|
-
var id = _ref2.id,
|
|
90
|
-
data = _ref2.data,
|
|
91
|
-
geometry = _ref2.geometry;
|
|
92
|
-
return new _scatterplotIconLayer["default"](_objectSpread(_objectSpread({}, _this.props), {}, {
|
|
93
|
-
id: "".concat(layerId, "-").concat(id),
|
|
94
|
-
data: data,
|
|
95
|
-
iconGeometry: geometry
|
|
96
|
-
}));
|
|
97
|
-
});
|
|
98
|
-
return layers && layers.length > 0 ? layers : null;
|
|
99
|
-
}
|
|
100
|
-
}]);
|
|
101
|
-
}(_core.CompositeLayer);
|
|
102
|
-
SvgIconLayer.layerName = 'SvgIconLayer';
|
|
103
|
-
SvgIconLayer.defaultProps = defaultProps;
|
|
104
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29yZSIsInJlcXVpcmUiLCJfc2NhdHRlcnBsb3RJY29uTGF5ZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0Iiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsImNhbGwiLCJERUZBVUxUX0lDT05fR0VPTUVUUlkiLCJkZWZhdWx0UHJvcHMiLCJnZXRJY29uR2VvbWV0cnkiLCJnZXRJY29uIiwiZCIsImljb24iLCJTdmdJY29uTGF5ZXIiLCJleHBvcnRzIiwiX0NvbXBvc2l0ZUxheWVyIiwiX2NsYXNzQ2FsbENoZWNrMiIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwidmFsdWUiLCJpbml0aWFsaXplU3RhdGUiLCJzdGF0ZSIsImRhdGEiLCJ1cGRhdGVTdGF0ZSIsIl9yZWYiLCJjaGFuZ2VGbGFncyIsImRhdGFDaGFuZ2VkIiwiX2V4dHJhY3RTdWJsYXllcnMiLCJfdGhpcyRwcm9wcyIsInByb3BzIiwicmF3RGF0YSIsImljb25MYXllcnMiLCJpIiwiaWNvbklkIiwiaWQiLCJnZW9tZXRyeSIsInNldFN0YXRlIiwidmFsdWVzIiwiX3VwZGF0ZUF1dG9IaWdobGlnaHQiLCJpbmZvIiwiX2luZm8kc291cmNlTGF5ZXIiLCJzb3VyY2VMYXllciIsInVwZGF0ZUF1dG9IaWdobGlnaHQiLCJyZW5kZXJMYXllcnMiLCJfdGhpcyIsImxheWVySWQiLCJsYXllcnMiLCJtYXAiLCJfcmVmMiIsIlNjYXR0ZXJwbG90SWNvbkxheWVyIiwiY29uY2F0IiwiaWNvbkdlb21ldHJ5IiwiQ29tcG9zaXRlTGF5ZXIiLCJsYXllck5hbWUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3ZnLWljb24tbGF5ZXIvc3ZnLWljb24tbGF5ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtDb21wb3NpdGVMYXllciwgQ29tcG9zaXRlTGF5ZXJQcm9wcywgTGF5ZXIsIFBvc2l0aW9ufSBmcm9tICdAZGVjay5nbC9jb3JlJztcblxuaW1wb3J0IHtSR0JDb2xvciwgUkdCQUNvbG9yfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCBTY2F0dGVycGxvdEljb25MYXllciBmcm9tICcuL3NjYXR0ZXJwbG90LWljb24tbGF5ZXInO1xuXG4vLyBkZWZhdWx0IGljb24gZ2VvbWV0cnkgaXMgYSBzcXVhcmVcbmNvbnN0IERFRkFVTFRfSUNPTl9HRU9NRVRSWSA9IFsxLCAxLCAwLCAxLCAtMSwgMCwgLTEsIC0xLCAwLCAtMSwgLTEsIDAsIC0xLCAxLCAwLCAxLCAxLCAwXTtcblxuaW50ZXJmYWNlIFN2Z0ljb25EYXRhIHtcbiAgaWQ6IHN0cmluZztcbiAgZGF0YTogdW5rbm93bltdO1xuICBnZW9tZXRyeTogbnVtYmVyW107XG59XG5cbmNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgZ2V0SWNvbkdlb21ldHJ5OiAoKSA9PiBERUZBVUxUX0lDT05fR0VPTUVUUlksXG4gIGdldEljb246IChkOiB7aWNvbjogc3RyaW5nfSkgPT4gZC5pY29uXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFN2Z0ljb25MYXllclByb3BzIGV4dGVuZHMgQ29tcG9zaXRlTGF5ZXJQcm9wcyB7XG4gIGdldEljb25HZW9tZXRyeTogKGk6IHN0cmluZykgPT4gbnVtYmVyW107XG4gIGdldEljb246IChkOiB7aWNvbjogc3RyaW5nfSkgPT4gc3RyaW5nO1xuICBnZXRQb3NpdGlvbjogKGQ6IGFueSkgPT4gUG9zaXRpb247XG4gIGdldFJhZGl1czogKChkOiBhbnkpID0+IG51bWJlcikgfCBudW1iZXI7XG4gIGdldEZpbGxDb2xvcjogUkdCQ29sb3IgfCBSR0JBQ29sb3I7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN2Z0ljb25MYXllciBleHRlbmRzIENvbXBvc2l0ZUxheWVyPFN2Z0ljb25MYXllclByb3BzPiB7XG4gIC8vIE11c3QgYmUgZGVmaW5lZFxuICBpbml0aWFsaXplU3RhdGUoKSB7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGRhdGE6IHt9XG4gICAgfTtcbiAgfVxuXG4gIHVwZGF0ZVN0YXRlKHtjaGFuZ2VGbGFnc30pIHtcbiAgICBpZiAoY2hhbmdlRmxhZ3MuZGF0YUNoYW5nZWQpIHtcbiAgICAgIHRoaXMuX2V4dHJhY3RTdWJsYXllcnMoKTtcbiAgICB9XG4gIH1cblxuICBfZXh0cmFjdFN1YmxheWVycygpIHtcbiAgICBjb25zdCB7ZGF0YTogcmF3RGF0YSwgZ2V0SWNvbkdlb21ldHJ5LCBnZXRJY29ufSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgZGF0YSA9IHJhd0RhdGEgYXMge2ljb246IHN0cmluZ31bXTtcblxuICAgIGNvbnN0IGljb25MYXllcnM6IFJlY29yZDxzdHJpbmcsIFN2Z0ljb25EYXRhPiA9IHt9O1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgaWNvbklkID0gZ2V0SWNvbihkYXRhW2ldKTtcbiAgICAgIGljb25MYXllcnNbaWNvbklkXSA9IGljb25MYXllcnNbaWNvbklkXSB8fCB7XG4gICAgICAgIGlkOiBpY29uSWQsXG4gICAgICAgIGdlb21ldHJ5OiBnZXRJY29uR2VvbWV0cnkoaWNvbklkKSB8fCBERUZBVUxUX0lDT05fR0VPTUVUUlksXG4gICAgICAgIGRhdGE6IFtdXG4gICAgICB9O1xuICAgICAgaWNvbkxheWVyc1tpY29uSWRdLmRhdGEucHVzaChkYXRhW2ldKTtcbiAgICB9XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBkYXRhOiBPYmplY3QudmFsdWVzKGljb25MYXllcnMpXG4gICAgfSk7XG4gIH1cblxuICBfdXBkYXRlQXV0b0hpZ2hsaWdodChpbmZvKSB7XG4gICAgaW5mbz8uc291cmNlTGF5ZXI/LnVwZGF0ZUF1dG9IaWdobGlnaHQoaW5mbyk7XG4gIH1cblxuICByZW5kZXJMYXllcnMoKTogTGF5ZXJbXSB8IG51bGwge1xuICAgIGNvbnN0IGxheWVySWQgPSB0aGlzLnByb3BzLmlkO1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLnN0YXRlLmRhdGEgYXMgU3ZnSWNvbkRhdGFbXTtcblxuICAgIGNvbnN0IGxheWVycyA9XG4gICAgICBkYXRhICYmXG4gICAgICBkYXRhLmxlbmd0aCAmJlxuICAgICAgZGF0YS5tYXAoXG4gICAgICAgICh7aWQsIGRhdGEsIGdlb21ldHJ5fSkgPT5cbiAgICAgICAgICBuZXcgU2NhdHRlcnBsb3RJY29uTGF5ZXIoe1xuICAgICAgICAgICAgLi4udGhpcy5wcm9wcyxcbiAgICAgICAgICAgIGlkOiBgJHtsYXllcklkfS0ke2lkfWAsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgaWNvbkdlb21ldHJ5OiBnZW9tZXRyeVxuICAgICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgcmV0dXJuIGxheWVycyAmJiBsYXllcnMubGVuZ3RoID4gMCA/IGxheWVycyA6IG51bGw7XG4gIH1cbn1cblxuU3ZnSWNvbkxheWVyLmxheWVyTmFtZSA9ICdTdmdJY29uTGF5ZXInO1xuU3ZnSWNv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
|
package/dist/wms/wms-layer.js
DELETED
|
@@ -1,351 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.WGS84ToPseudoMercator = WGS84ToPseudoMercator;
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
14
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
15
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
16
|
-
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
17
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
18
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
19
|
-
var _webMercator = require("@math.gl/web-mercator");
|
|
20
|
-
var _core = require("@deck.gl/core");
|
|
21
|
-
var _layers = require("@deck.gl/layers");
|
|
22
|
-
var _wms = require("@loaders.gl/wms");
|
|
23
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
24
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
25
|
-
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
26
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
27
|
-
function _superPropGet(t, e, r, o) { var p = (0, _get2["default"])((0, _getPrototypeOf2["default"])(1 & o ? t.prototype : t), e, r); return 2 & o ? function (t) { return p.apply(r, t); } : p; } // SPDX-License-Identifier: MIT
|
|
28
|
-
// Copyright contributors to the kepler.gl project
|
|
29
|
-
// TODO: This is a modified copy of WMSLayer from deck.gl. Remove this once we upgrade deck.gl and loaders.gl.
|
|
30
|
-
|
|
31
|
-
/** All props supported by the TileLayer */
|
|
32
|
-
|
|
33
|
-
/** Props added by the TileLayer */
|
|
34
|
-
|
|
35
|
-
var defaultProps = {
|
|
36
|
-
id: 'imagery-layer',
|
|
37
|
-
data: '',
|
|
38
|
-
serviceType: 'auto',
|
|
39
|
-
srs: 'auto',
|
|
40
|
-
layers: {
|
|
41
|
-
type: 'array',
|
|
42
|
-
compare: true,
|
|
43
|
-
value: []
|
|
44
|
-
},
|
|
45
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
46
|
-
onMetadataLoad: {
|
|
47
|
-
type: 'function',
|
|
48
|
-
value: function value() {}
|
|
49
|
-
},
|
|
50
|
-
// eslint-disable-next-line
|
|
51
|
-
onMetadataLoadError: {
|
|
52
|
-
type: 'function',
|
|
53
|
-
value: console.error
|
|
54
|
-
},
|
|
55
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
56
|
-
onImageLoadStart: {
|
|
57
|
-
type: 'function',
|
|
58
|
-
value: function value() {}
|
|
59
|
-
},
|
|
60
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
61
|
-
onImageLoad: {
|
|
62
|
-
type: 'function',
|
|
63
|
-
value: function value() {}
|
|
64
|
-
},
|
|
65
|
-
onImageLoadError: {
|
|
66
|
-
type: 'function',
|
|
67
|
-
compare: false,
|
|
68
|
-
// eslint-disable-next-line
|
|
69
|
-
value: function value(requestId, error) {
|
|
70
|
-
return console.error(error, requestId);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
var WMSLayer = exports["default"] = /*#__PURE__*/function (_CompositeLayer) {
|
|
75
|
-
function WMSLayer() {
|
|
76
|
-
(0, _classCallCheck2["default"])(this, WMSLayer);
|
|
77
|
-
return _callSuper(this, WMSLayer, arguments);
|
|
78
|
-
}
|
|
79
|
-
(0, _inherits2["default"])(WMSLayer, _CompositeLayer);
|
|
80
|
-
return (0, _createClass2["default"])(WMSLayer, [{
|
|
81
|
-
key: "isLoaded",
|
|
82
|
-
get: /** Returns true if all async resources are loaded */
|
|
83
|
-
function get() {
|
|
84
|
-
// Track the explicit loading done by this layer
|
|
85
|
-
return Boolean(this.state) && this.state.loadCounter === 0 && _superPropGet(WMSLayer, "isLoaded", this, 1);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/** Lets deck.gl know that we want viewport change events */
|
|
89
|
-
}, {
|
|
90
|
-
key: "shouldUpdateState",
|
|
91
|
-
value: function shouldUpdateState() {
|
|
92
|
-
return true;
|
|
93
|
-
}
|
|
94
|
-
}, {
|
|
95
|
-
key: "initializeState",
|
|
96
|
-
value: function initializeState() {
|
|
97
|
-
// intentionally empty, initialization is done in updateState
|
|
98
|
-
this.state._nextRequestId = 0;
|
|
99
|
-
this.state.lastRequestId = -1;
|
|
100
|
-
this.state.loadCounter = 0;
|
|
101
|
-
}
|
|
102
|
-
}, {
|
|
103
|
-
key: "updateState",
|
|
104
|
-
value: function updateState(_ref) {
|
|
105
|
-
var _this = this;
|
|
106
|
-
var changeFlags = _ref.changeFlags,
|
|
107
|
-
props = _ref.props,
|
|
108
|
-
oldProps = _ref.oldProps;
|
|
109
|
-
var viewport = this.context.viewport;
|
|
110
|
-
|
|
111
|
-
// Check if data source has changed
|
|
112
|
-
if (changeFlags.dataChanged || props.serviceType !== oldProps.serviceType) {
|
|
113
|
-
this.state.imageSource = this._createImageSource(props);
|
|
114
|
-
this._loadMetadata();
|
|
115
|
-
this.debounce(function () {
|
|
116
|
-
return _this.loadImage(viewport, 'image source changed');
|
|
117
|
-
}, 0);
|
|
118
|
-
} else if (!(0, _core._deepEqual)(props.layers, oldProps.layers, 1)) {
|
|
119
|
-
this.debounce(function () {
|
|
120
|
-
return _this.loadImage(viewport, 'layers changed');
|
|
121
|
-
}, 0);
|
|
122
|
-
} else if (changeFlags.viewportChanged) {
|
|
123
|
-
this.debounce(function () {
|
|
124
|
-
return _this.loadImage(viewport, 'viewport changed');
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}, {
|
|
129
|
-
key: "renderLayers",
|
|
130
|
-
value: function renderLayers() {
|
|
131
|
-
var _this$state = this.state,
|
|
132
|
-
bounds = _this$state.bounds,
|
|
133
|
-
image = _this$state.image,
|
|
134
|
-
lastRequestParameters = _this$state.lastRequestParameters;
|
|
135
|
-
return image && new _layers.BitmapLayer(_objectSpread(_objectSpread({}, this.getSubLayerProps({
|
|
136
|
-
id: 'bitmap'
|
|
137
|
-
})), {}, {
|
|
138
|
-
_imageCoordinateSystem: lastRequestParameters.srs === 'EPSG:4326' ? _core.COORDINATE_SYSTEM.LNGLAT : _core.COORDINATE_SYSTEM.CARTESIAN,
|
|
139
|
-
bounds: bounds,
|
|
140
|
-
image: image,
|
|
141
|
-
pickable: this.props.pickable
|
|
142
|
-
}));
|
|
143
|
-
}
|
|
144
|
-
}, {
|
|
145
|
-
key: "getFeatureInfoText",
|
|
146
|
-
value: function () {
|
|
147
|
-
var _getFeatureInfoText = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(x, y) {
|
|
148
|
-
var lastRequestParameters, _this$state$imageSour, _this$state$imageSour2, featureInfo;
|
|
149
|
-
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
150
|
-
while (1) switch (_context.prev = _context.next) {
|
|
151
|
-
case 0:
|
|
152
|
-
lastRequestParameters = this.state.lastRequestParameters;
|
|
153
|
-
if (!lastRequestParameters) {
|
|
154
|
-
_context.next = 6;
|
|
155
|
-
break;
|
|
156
|
-
}
|
|
157
|
-
_context.next = 4;
|
|
158
|
-
return (_this$state$imageSour = (_this$state$imageSour2 = this.state.imageSource).getFeatureInfoText) === null || _this$state$imageSour === void 0 ? void 0 : _this$state$imageSour.call(_this$state$imageSour2, _objectSpread(_objectSpread({}, lastRequestParameters), {}, {
|
|
159
|
-
query_layers: lastRequestParameters.layers,
|
|
160
|
-
x: x,
|
|
161
|
-
y: y,
|
|
162
|
-
info_format: 'application/vnd.ogc.gml'
|
|
163
|
-
}));
|
|
164
|
-
case 4:
|
|
165
|
-
featureInfo = _context.sent;
|
|
166
|
-
return _context.abrupt("return", featureInfo);
|
|
167
|
-
case 6:
|
|
168
|
-
return _context.abrupt("return", '');
|
|
169
|
-
case 7:
|
|
170
|
-
case "end":
|
|
171
|
-
return _context.stop();
|
|
172
|
-
}
|
|
173
|
-
}, _callee, this);
|
|
174
|
-
}));
|
|
175
|
-
function getFeatureInfoText(_x, _x2) {
|
|
176
|
-
return _getFeatureInfoText.apply(this, arguments);
|
|
177
|
-
}
|
|
178
|
-
return getFeatureInfoText;
|
|
179
|
-
}()
|
|
180
|
-
}, {
|
|
181
|
-
key: "_createImageSource",
|
|
182
|
-
value: function _createImageSource(props) {
|
|
183
|
-
if (props.data instanceof _wms.ImageSource) {
|
|
184
|
-
return props.data;
|
|
185
|
-
}
|
|
186
|
-
if (typeof props.data === 'string') {
|
|
187
|
-
return (0, _wms.createImageSource)({
|
|
188
|
-
url: props.data,
|
|
189
|
-
loadOptions: props.loadOptions,
|
|
190
|
-
type: props.serviceType
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
|
-
throw new Error('invalid image source in props.data');
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
/** Run a getMetadata on the image service */
|
|
197
|
-
}, {
|
|
198
|
-
key: "_loadMetadata",
|
|
199
|
-
value: (function () {
|
|
200
|
-
var _loadMetadata2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
201
|
-
var imageSource, metadata, _this$getCurrentLayer, _this$getCurrentLayer2;
|
|
202
|
-
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
203
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
204
|
-
case 0:
|
|
205
|
-
imageSource = this.state.imageSource;
|
|
206
|
-
_context2.prev = 1;
|
|
207
|
-
this.state.loadCounter++;
|
|
208
|
-
_context2.next = 5;
|
|
209
|
-
return imageSource.getMetadata();
|
|
210
|
-
case 5:
|
|
211
|
-
metadata = _context2.sent;
|
|
212
|
-
// If a request takes a long time, it may no longer be expected
|
|
213
|
-
if (this.state.imageSource === imageSource) {
|
|
214
|
-
(_this$getCurrentLayer = this.getCurrentLayer()) === null || _this$getCurrentLayer === void 0 || _this$getCurrentLayer.props.onMetadataLoad(metadata);
|
|
215
|
-
}
|
|
216
|
-
_context2.next = 12;
|
|
217
|
-
break;
|
|
218
|
-
case 9:
|
|
219
|
-
_context2.prev = 9;
|
|
220
|
-
_context2.t0 = _context2["catch"](1);
|
|
221
|
-
(_this$getCurrentLayer2 = this.getCurrentLayer()) === null || _this$getCurrentLayer2 === void 0 || _this$getCurrentLayer2.props.onMetadataLoadError(_context2.t0);
|
|
222
|
-
case 12:
|
|
223
|
-
_context2.prev = 12;
|
|
224
|
-
this.state.loadCounter--;
|
|
225
|
-
return _context2.finish(12);
|
|
226
|
-
case 15:
|
|
227
|
-
case "end":
|
|
228
|
-
return _context2.stop();
|
|
229
|
-
}
|
|
230
|
-
}, _callee2, this, [[1, 9, 12, 15]]);
|
|
231
|
-
}));
|
|
232
|
-
function _loadMetadata() {
|
|
233
|
-
return _loadMetadata2.apply(this, arguments);
|
|
234
|
-
}
|
|
235
|
-
return _loadMetadata;
|
|
236
|
-
}() /** Load an image */)
|
|
237
|
-
}, {
|
|
238
|
-
key: "loadImage",
|
|
239
|
-
value: (function () {
|
|
240
|
-
var _loadImage = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(viewport, _reason) {
|
|
241
|
-
var _this$props, layers, serviceType, transparent, bounds, width, height, requestId, srs, requestParams, _WGS84ToPseudoMercato, _WGS84ToPseudoMercato2, minX, minY, _WGS84ToPseudoMercato3, _WGS84ToPseudoMercato4, maxX, maxY, image, _this$getCurrentLayer3, _this$context$onError, _this$context, _this$getCurrentLayer4;
|
|
242
|
-
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
243
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
244
|
-
case 0:
|
|
245
|
-
_this$props = this.props, layers = _this$props.layers, serviceType = _this$props.serviceType, transparent = _this$props.transparent; // TODO - move to ImageSource?
|
|
246
|
-
if (!(serviceType === 'wms' && layers.length === 0)) {
|
|
247
|
-
_context3.next = 3;
|
|
248
|
-
break;
|
|
249
|
-
}
|
|
250
|
-
return _context3.abrupt("return");
|
|
251
|
-
case 3:
|
|
252
|
-
bounds = viewport.getBounds();
|
|
253
|
-
width = viewport.width, height = viewport.height;
|
|
254
|
-
requestId = this.getRequestId();
|
|
255
|
-
srs = this.props.srs;
|
|
256
|
-
if (srs === 'auto') {
|
|
257
|
-
// BitmapLayer only supports LNGLAT or CARTESIAN (Web-Mercator)
|
|
258
|
-
srs = viewport.resolution ? 'EPSG:4326' : 'EPSG:3857';
|
|
259
|
-
}
|
|
260
|
-
requestParams = {
|
|
261
|
-
width: width,
|
|
262
|
-
height: height,
|
|
263
|
-
// TODO: remove bbox once deck.gl is upgraded to ^8.10 with loaders.gl ^4
|
|
264
|
-
bbox: bounds,
|
|
265
|
-
boundingBox: [[bounds[0], bounds[1]], [bounds[2], bounds[3]]],
|
|
266
|
-
layers: layers,
|
|
267
|
-
srs: srs,
|
|
268
|
-
transparent: transparent
|
|
269
|
-
};
|
|
270
|
-
if (srs === 'EPSG:3857') {
|
|
271
|
-
_WGS84ToPseudoMercato = WGS84ToPseudoMercator([bounds[0], bounds[1]]), _WGS84ToPseudoMercato2 = (0, _slicedToArray2["default"])(_WGS84ToPseudoMercato, 2), minX = _WGS84ToPseudoMercato2[0], minY = _WGS84ToPseudoMercato2[1];
|
|
272
|
-
_WGS84ToPseudoMercato3 = WGS84ToPseudoMercator([bounds[2], bounds[3]]), _WGS84ToPseudoMercato4 = (0, _slicedToArray2["default"])(_WGS84ToPseudoMercato3, 2), maxX = _WGS84ToPseudoMercato4[0], maxY = _WGS84ToPseudoMercato4[1];
|
|
273
|
-
requestParams.boundingBox = [[minX, minY], [maxX, maxY]];
|
|
274
|
-
// TODO: remove bbox once deck.gl is upgraded to ^8.10 with loaders.gl ^4
|
|
275
|
-
requestParams.bbox = [minX, minY, maxX, maxY];
|
|
276
|
-
}
|
|
277
|
-
_context3.prev = 10;
|
|
278
|
-
this.state.loadCounter++;
|
|
279
|
-
this.props.onImageLoadStart(requestId);
|
|
280
|
-
_context3.next = 15;
|
|
281
|
-
return this.state.imageSource.getImage(requestParams);
|
|
282
|
-
case 15:
|
|
283
|
-
image = _context3.sent;
|
|
284
|
-
// If a request takes a long time, later requests may have already loaded.
|
|
285
|
-
if (this.state.lastRequestId < requestId) {
|
|
286
|
-
(_this$getCurrentLayer3 = this.getCurrentLayer()) === null || _this$getCurrentLayer3 === void 0 || _this$getCurrentLayer3.props.onImageLoad(requestId);
|
|
287
|
-
// Not type safe...
|
|
288
|
-
this.setState({
|
|
289
|
-
image: image,
|
|
290
|
-
bounds: bounds,
|
|
291
|
-
lastRequestParameters: requestParams,
|
|
292
|
-
lastRequestId: requestId
|
|
293
|
-
});
|
|
294
|
-
}
|
|
295
|
-
_context3.next = 23;
|
|
296
|
-
break;
|
|
297
|
-
case 19:
|
|
298
|
-
_context3.prev = 19;
|
|
299
|
-
_context3.t0 = _context3["catch"](10);
|
|
300
|
-
(_this$context$onError = (_this$context = this.context).onError) === null || _this$context$onError === void 0 || _this$context$onError.call(_this$context, _context3.t0, this);
|
|
301
|
-
(_this$getCurrentLayer4 = this.getCurrentLayer()) === null || _this$getCurrentLayer4 === void 0 || _this$getCurrentLayer4.props.onImageLoadError(requestId, _context3.t0);
|
|
302
|
-
case 23:
|
|
303
|
-
_context3.prev = 23;
|
|
304
|
-
this.state.loadCounter--;
|
|
305
|
-
return _context3.finish(23);
|
|
306
|
-
case 26:
|
|
307
|
-
case "end":
|
|
308
|
-
return _context3.stop();
|
|
309
|
-
}
|
|
310
|
-
}, _callee3, this, [[10, 19, 23, 26]]);
|
|
311
|
-
}));
|
|
312
|
-
function loadImage(_x3, _x4) {
|
|
313
|
-
return _loadImage.apply(this, arguments);
|
|
314
|
-
}
|
|
315
|
-
return loadImage;
|
|
316
|
-
}() // HELPERS
|
|
317
|
-
/** Global counter for issuing unique request ids */
|
|
318
|
-
)
|
|
319
|
-
}, {
|
|
320
|
-
key: "getRequestId",
|
|
321
|
-
value: function getRequestId() {
|
|
322
|
-
return this.state._nextRequestId++;
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
/** Runs an action in the future, cancels it if the new action is issued before it executes */
|
|
326
|
-
}, {
|
|
327
|
-
key: "debounce",
|
|
328
|
-
value: function debounce(fn) {
|
|
329
|
-
var ms = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;
|
|
330
|
-
clearTimeout(this.state._timeoutId);
|
|
331
|
-
this.state._timeoutId = setTimeout(function () {
|
|
332
|
-
return fn();
|
|
333
|
-
}, ms);
|
|
334
|
-
}
|
|
335
|
-
}]);
|
|
336
|
-
}(_core.CompositeLayer); // https://epsg.io/3857
|
|
337
|
-
// +proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs +type=crs
|
|
338
|
-
(0, _defineProperty2["default"])(WMSLayer, "layerName", 'WMSLayer');
|
|
339
|
-
(0, _defineProperty2["default"])(WMSLayer, "defaultProps", defaultProps);
|
|
340
|
-
var HALF_EARTH_CIRCUMFERENCE = 6378137 * Math.PI;
|
|
341
|
-
|
|
342
|
-
/** Projects EPSG:4326 to EPSG:3857
|
|
343
|
-
* This is a lightweight replacement of proj4. Use tests to ensure conformance.
|
|
344
|
-
*/
|
|
345
|
-
function WGS84ToPseudoMercator(coord) {
|
|
346
|
-
var mercator = (0, _webMercator.lngLatToWorld)(coord);
|
|
347
|
-
mercator[0] = (mercator[0] / 256 - 1) * HALF_EARTH_CIRCUMFERENCE;
|
|
348
|
-
mercator[1] = (mercator[1] / 256 - 1) * HALF_EARTH_CIRCUMFERENCE;
|
|
349
|
-
return mercator;
|
|
350
|
-
}
|
|
351
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd2ViTWVyY2F0b3IiLCJyZXF1aXJlIiwiX2NvcmUiLCJfbGF5ZXJzIiwiX3dtcyIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJjYWxsIiwiX3N1cGVyUHJvcEdldCIsInAiLCJfZ2V0MiIsImRlZmF1bHRQcm9wcyIsImlkIiwiZGF0YSIsInNlcnZpY2VUeXBlIiwic3JzIiwibGF5ZXJzIiwidHlwZSIsImNvbXBhcmUiLCJ2YWx1ZSIsIm9uTWV0YWRhdGFMb2FkIiwib25NZXRhZGF0YUxvYWRFcnJvciIsImNvbnNvbGUiLCJlcnJvciIsIm9uSW1hZ2VMb2FkU3RhcnQiLCJvbkltYWdlTG9hZCIsIm9uSW1hZ2VMb2FkRXJyb3IiLCJyZXF1ZXN0SWQiLCJXTVNMYXllciIsImV4cG9ydHMiLCJfQ29tcG9zaXRlTGF5ZXIiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJnZXQiLCJzdGF0ZSIsImxvYWRDb3VudGVyIiwic2hvdWxkVXBkYXRlU3RhdGUiLCJpbml0aWFsaXplU3RhdGUiLCJfbmV4dFJlcXVlc3RJZCIsImxhc3RSZXF1ZXN0SWQiLCJ1cGRhdGVTdGF0ZSIsIl9yZWYiLCJfdGhpcyIsImNoYW5nZUZsYWdzIiwicHJvcHMiLCJvbGRQcm9wcyIsInZpZXdwb3J0IiwiY29udGV4dCIsImRhdGFDaGFuZ2VkIiwiaW1hZ2VTb3VyY2UiLCJfY3JlYXRlSW1hZ2VTb3VyY2UiLCJfbG9hZE1ldGFkYXRhIiwiZGVib3VuY2UiLCJsb2FkSW1hZ2UiLCJkZWVwRXF1YWwiLCJ2aWV3cG9ydENoYW5nZWQiLCJyZW5kZXJMYXllcnMiLCJfdGhpcyRzdGF0ZSIsImJvdW5kcyIsImltYWdlIiwibGFzdFJlcXVlc3RQYXJhbWV0ZXJzIiwiQml0bWFwTGF5ZXIiLCJnZXRTdWJMYXllclByb3BzIiwiX2ltYWdlQ29vcmRpbmF0ZVN5c3RlbSIsIkNPT1JESU5BVEVfU1lTVEVNIiwiTE5HTEFUIiwiQ0FSVEVTSUFOIiwicGlja2FibGUiLCJfZ2V0RmVhdHVyZUluZm9UZXh0IiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJ4IiwieSIsIl90aGlzJHN0YXRlJGltYWdlU291ciIsIl90aGlzJHN0YXRlJGltYWdlU291cjIiLCJmZWF0dXJlSW5mbyIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJnZXRGZWF0dXJlSW5mb1RleHQiLCJxdWVyeV9sYXllcnMiLCJpbmZvX2Zvcm1hdCIsInNlbnQiLCJhYnJ1cHQiLCJzdG9wIiwiX3giLCJfeDIiLCJJbWFnZVNvdXJjZSIsImNyZWF0ZUltYWdlU291cmNlIiwidXJsIiwibG9hZE9wdGlvbnMiLCJFcnJvciIsIl9sb2FkTWV0YWRhdGEyIiwiX2NhbGxlZTIiLCJtZXRhZGF0YSIsIl90aGlzJGdldEN1cnJlbnRMYXllciIsIl90aGlzJGdldEN1cnJlbnRMYXllcjIiLCJfY2FsbGVlMiQiLCJfY29udGV4dDIiLCJnZXRNZXRhZGF0YSIsImdldEN1cnJlbnRMYXllciIsInQwIiwiZmluaXNoIiwiX2xvYWRJbWFnZSIsIl9jYWxsZWUzIiwiX3JlYXNvbiIsIl90aGlzJHByb3BzIiwidHJhbnNwYXJlbnQiLCJ3aWR0aCIsImhlaWdodCIsInJlcXVlc3RQYXJhbXMiLCJfV0dTODRUb1BzZXVkb01lcmNhdG8iLCJfV0dTODRUb1BzZXVkb01lcmNhdG8yIiwibWluWCIsIm1pblkiLCJfV0dTODRUb1BzZXVkb01lcmNhdG8zIiwiX1dHUzg0VG9Qc2V1ZG9NZXJjYXRvNCIsIm1heFgiLCJtYXhZIiwiX3RoaXMkZ2V0Q3VycmVudExheWVyMyIsIl90aGlzJGNvbnRleHQkb25FcnJvciIsIl90aGlzJGNvbnRleHQiLCJfdGhpcyRnZXRDdXJyZW50TGF5ZXI0IiwiX2NhbGxlZTMkIiwiX2NvbnRleHQzIiwiZ2V0Qm91bmRzIiwiZ2V0UmVxdWVzdElkIiwicmVzb2x1dGlvbiIsImJib3giLCJib3VuZGluZ0JveCIsIldHUzg0VG9Qc2V1ZG9NZXJjYXRvciIsIl9zbGljZWRUb0FycmF5MiIsImdldEltYWdlIiwic2V0U3RhdGUiLCJvbkVycm9yIiwiX3gzIiwiX3g0IiwiZm4iLCJtcyIsInVuZGVmaW5lZCIsImNsZWFyVGltZW91dCIsIl90aW1lb3V0SWQiLCJzZXRUaW1lb3V0IiwiQ29tcG9zaXRlTGF5ZXIiLCJIQUxGX0VBUlRIX0NJUkNVTUZFUkVOQ0UiLCJNYXRoIiwiUEkiLCJjb29yZCIsIm1lcmNhdG9yIiwibG5nTGF0VG9Xb3JsZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93bXMvd21zLWxheWVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7bG5nTGF0VG9Xb3JsZH0gZnJvbSAnQG1hdGguZ2wvd2ViLW1lcmNhdG9yJztcblxuaW1wb3J0IHtcbiAgTGF5ZXIsXG4gIENvbXBvc2l0ZUxheWVyLFxuICBDb21wb3NpdGVMYXllclByb3BzLFxuICBVcGRhdGVQYXJhbWV0ZXJzLFxuICBEZWZhdWx0UHJvcHMsXG4gIFZpZXdwb3J0LFxuICBDT09SRElOQVRFX1NZU1RFTSxcbiAgX2RlZXBFcXVhbCBhcyBkZWVwRXF1YWxcbn0gZnJvbSAnQGRlY2suZ2wvY29yZSc7XG5pbXBvcnQge0JpdG1hcExheWVyfSBmcm9tICdAZGVjay5nbC9sYXllcnMnO1xuaW1wb3J0IHtJbWFnZVNvdXJjZSwgY3JlYXRlSW1hZ2VTb3VyY2V9IGZyb20gJ0Bsb2FkZXJzLmdsL3dtcyc7XG5cbmltcG9ydCB0eXBlIHtJbWFnZVNvdXJjZU1ldGFkYXRhfSBmcm9tICdAbG9hZGVycy5nbC9sb2FkZXItdXRpbHMnO1xuaW1wb3J0IHR5cGUge0ltYWdlVHlwZSwgSW1hZ2VTZXJ2aWNlVHlwZX0gZnJvbSAnQGxvYWRlcnMuZ2wvd21zJztcblxuLy8gVE9ETzogVGhpcyBpcyBhIG1vZGlmaWVkIGNvcHkgb2YgV01TTGF5ZXIgZnJvbSBkZWNrLmdsLiBSZW1vdmUgdGhpcyBvbmNlIHdlIHVwZ3JhZGUgZGVjay5nbCBhbmQgbG9hZGVycy5nbC5cblxuLyoqIEFsbCBwcm9wcyBzdXBwb3J0ZWQgYnkgdGhlIFRpbGVMYXllciAqL1xuZXhwb3J0IHR5cGUgV01TTGF5ZXJQcm9wcyA9IENvbXBvc2l0ZUxheWVyUHJvcHMgJiBfV01TTGF5ZXJQcm9wcztcblxuLyoqIFByb3BzIGFkZGVkIGJ5IHRoZSBUaWxlTGF5ZXIgKi9cbnR5cGUgX1dNU0xheWVyUHJvcHMgPSB7XG4gIGRhdGE6IHN0cmluZyB8IEltYWdlU291cmNlO1xuICBzZXJ2aWNlVHlwZT86IEltYWdlU2VydmljZVR5cGUgfCAnYXV0byc7XG4gIGxheWVycz86IHN0cmluZ1tdO1xuICBzcnM/OiAnRVBTRzo0MzI2JyB8ICdFUFNHOjM4NTcnIHwgJ2F1dG8nO1xuICB0cmFuc3BhcmVudD86IGJvb2xlYW47XG4gIG9uTWV0YWRhdGFMb2FkPzogKG1ldGFkYXRhOiBJbWFnZVNvdXJjZU1ldGFkYXRhKSA9PiB2b2lkO1xuICBvbk1ldGFkYXRhTG9hZEVycm9yPzogKGVycm9yOiBFcnJvcikgPT4gdm9pZDtcbiAgb25JbWFnZUxvYWRTdGFydD86IChyZXF1ZXN0SWQ6IHVua25vd24pID0+IHZvaWQ7XG4gIG9uSW1hZ2VMb2FkPzogKHJlcXVlc3RJZDogdW5rbm93bikgPT4gdm9pZDtcbiAgb25JbWFnZUxvYWRFcnJvcj86IChyZXF1ZXN0SWQ6IHVua25vd24sIGVycm9yOiBFcnJvcikgPT4gdm9pZDtcbn07XG5cbmNvbnN0IGRlZmF1bHRQcm9wczogRGVmYXVsdFByb3BzPFdNU0xheWVyUHJvcHM+ID0ge1xuICBpZDogJ2ltYWdlcnktbGF5ZXInLFxuICBkYXRhOiAnJyxcbiAgc2VydmljZVR5cGU6ICdhdXRvJyxcbiAgc3JzOiAnYXV0bycsXG4gIGxheWVyczoge3R5cGU6ICdhcnJheScsIGNvbXBhcmU6IHRydWUsIHZhbHVlOiBbXX0sXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgb25NZXRhZGF0YUxvYWQ6IHt0eXBlOiAnZnVuY3Rpb24nLCB2YWx1ZTogKCkgPT4ge319LFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgb25NZXRhZGF0YUxvYWRFcnJvcjoge3R5cGU6ICdmdW5jdGlvbicsIHZhbHVlOiBjb25zb2xlLmVycm9yfSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICBvbkltYWdlTG9hZFN0YXJ0OiB7dHlwZTogJ2Z1bmN0aW9uJywgdmFsdWU6ICgpID0+IHt9fSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICBvbkltYWdlTG9hZDoge3R5cGU6ICdmdW5jdGlvbicsIHZhbHVlOiAoKSA9PiB7fX0sXG4gIG9uSW1hZ2VMb2FkRXJyb3I6IHtcbiAgICB0eXBlOiAnZnVuY3Rpb24nLFxuICAgIGNvbXBhcmU6IGZhbHNlLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIHZhbHVlOiAocmVxdWVzdElkOiB1bmtub3duLCBlcnJvcjogRXJyb3IpID0+IGNvbnNvbGUuZXJyb3IoZXJyb3IsIHJlcXVlc3RJZClcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgV01TTGF5ZXIgZXh0ZW5kcyBDb21wb3NpdGVMYXllcjxSZXF1aXJlZDxfV01TTGF5ZXJQcm9wcz4+IHtcbiAgc3RhdGljIGxheWVyTmFtZSA9ICdXTVNMYXllcic7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHM6IERlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wcztcblxuICBkZWNsYXJlIHN0YXRlOiB7XG4gICAgaW1hZ2VTb3VyY2U6IEltYWdlU291cmNlO1xuICAgIGltYWdlOiBJbWFnZVR5cGU7XG4gICAgYm91bmRzOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcbiAgICBsYXN0UmVxdWVzdFBhcmFtZXRlcnM6IHtcbiAgICAgIC8vIFRPRE86IHJlbW92ZSBiYm94IG9uY2UgZGVjay5nbCBpcyB1cGdyYWRlZCB0byBeOC4xMCB3aXRoIGxvYWRlcnMuZ2wgXjRcbiAgICAgIGJib3g6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICAgICAgYm91bmRpbmdCb3g6IFtbbnVtYmVyLCBudW1iZXJdLCBbbnVtYmVyLCBudW1iZXJdXTtcbiAgICAgIGxheWVyczogc3RyaW5nW107XG4gICAgICBzcnM6ICdFUFNHOjQzMjYnIHwgJ0VQU0c6Mzg1Nyc7XG4gICAgICB3aWR0aDogbnVtYmVyO1xuICAgICAgaGVpZ2h0OiBudW1iZXI7XG4gICAgfTtcbiAgICBsYXN0UmVxdWVzdElkOiBudW1iZXI7XG4gICAgX25leHRSZXF1ZXN0SWQ6IG51bWJlcjtcbiAgICAvKiogVE9ETzogQ2hhbmdlIGFueSA9PiBzZXRUaW1lb3V0IHJldHVybiB0eXBlLiBEaWZmZXJlbnQgYmV0d2VlbiBOb2RlIGFuZCBicm93c2VyLi4uICovXG4gICAgX3RpbWVvdXRJZDogYW55O1xuICAgIGxvYWRDb3VudGVyOiBudW1iZXI7XG4gIH07XG5cbiAgLyoqIFJldHVybnMgdHJ1ZSBpZiBhbGwgYXN5bmMgcmVzb3VyY2VzIGFyZSBsb2FkZWQgKi9cbiAgZ2V0IGlzTG9hZGVkKCk6IGJvb2xlYW4ge1xuICAgIC8vIFRyYWNrIHRoZSBleHBsaWNpdCBsb2FkaW5nIGRvbmUgYnkgdGhpcyBsYXllclxuICAgIHJldHVybiBCb29sZWFuKHRoaXMuc3RhdGUpICYmIHRoaXMuc3RhdGUubG9hZENvdW50ZXIgPT09IDAgJiYgc3VwZXIuaXNMb2FkZWQ7XG4gIH1cblxuICAvKiogTGV0cyBkZWNrLmdsIGtub3cgdGhhdCB3ZSB3YW50IHZpZXdwb3J0IGNoYW5nZSBldmVudHMgKi9cbiAgb3ZlcnJpZGUgc2hvdWxkVXBkYXRlU3RhdGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBvdmVycmlkZSBpbml0aWFsaXplU3RhdGUoKTogdm9pZCB7XG4gICAgLy8gaW50ZW50aW9uYWxseSBlbXB0eSwgaW5pdGlhbGl6YXRpb24gaXMgZG9uZSBpbiB1cGRhdGVTdGF0ZVxuICAgIHRoaXMuc3RhdGUuX25leHRSZXF1ZXN0SWQgPSAwO1xuICAgIHRoaXMuc3RhdGUubGFzdFJlcXVlc3RJZCA9IC0xO1xuICAgIHRoaXMuc3RhdGUubG9hZENvdW50ZXIgPSAwO1xuICB9XG5cbiAgb3ZlcnJpZGUgdXBkYXRlU3RhdGUoe2NoYW5nZUZsYWdzLCBwcm9wcywgb2xkUHJvcHN9OiBVcGRhdGVQYXJhbWV0ZXJzPHRoaXM+KTogdm9pZCB7XG4gICAgY29uc3Qge3ZpZXdwb3J0fSA9IHRoaXMuY29udGV4dDtcblxuICAgIC8vIENoZWNrIGlmIGRhdGEgc291cmNlIGhhcyBjaGFuZ2VkXG4gICAgaWYgKGNoYW5nZUZsYWdzLmRhdGFDaGFuZ2VkIHx8IHByb3BzLnNlcnZpY2VUeXBlICE9PSBvbGRQcm9wcy5zZXJ2aWNlVHlwZSkge1xuICAgICAgdGhpcy5zdGF0ZS5pbWFnZVNvdXJjZSA9IHRoaXMuX2NyZWF0ZUltYWdlU291cmNlKHByb3BzKTtcblxuICAgICAgdGhpcy5fbG9hZE1ldGFkYXRhKCk7XG4gICAgICB0aGlzLmRlYm91bmNlKCgpID0+IHRoaXMubG9hZEltYWdlKHZpZXdwb3J0LCAnaW1hZ2Ugc291cmNlIGNoYW5nZWQnKSwgMCk7XG4gICAgfSBlbHNlIGlmICghZGVlcEVxdWFsKHByb3BzLmxheWVycywgb2xkUHJvcHMubGF5ZXJzLCAxKSkge1xuICAgICAgdGhpcy5kZWJvdW5jZSgoKSA9PiB0aGlzLmxvYWRJbWFnZSh2aWV3cG9ydCwgJ2xheWVycyBjaGFuZ2VkJyksIDApO1xuICAgIH0gZWxzZSBpZiAoY2hhbmdlRmxhZ3Mudmlld3BvcnRDaGFuZ2VkKSB7XG4gICAgICB0aGlzLmRlYm91bmNlKCgpID0+IHRoaXMubG9hZEltYWdlKHZpZXdwb3J0LCAndmlld3BvcnQgY2hhbmdlZCcpKTtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSByZW5kZXJMYXllcnMoKTogTGF5ZXI8YW55PiB7XG4gICAgY29uc3Qge2JvdW5kcywgaW1hZ2UsIGxhc3RSZXF1ZXN0UGFyYW1ldGVyc30gPSB0aGlzLnN0YXRlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIGltYWdlICYmXG4gICAgICBuZXcgQml0bWFwTGF5ZXIoe1xuICAgICAgICAuLi50aGlzLmdldFN1YkxheWVyUHJvcHMoe2lkOiAnYml0bWFwJ30pLFxuICAgICAgICBfaW1hZ2VDb29yZGluYXRlU3lzdGVtOlxuICAgICAgICAgIGxhc3RSZXF1ZXN0UGFyYW1ldGVycy5zcnMgPT09ICdFUFNHOjQzMjYnXG4gICAgICAgICAgICA/IENPT1JESU5BVEVfU1lTVEVNLkxOR0xBVFxuICAgICAgICAgICAgOiBDT09SRElOQVRFX1NZU1RFTS5DQVJURVNJQU4sXG4gICAgICAgIGJvdW5kcyxcbiAgICAgICAgaW1hZ2UsXG4gICAgICAgIHBpY2thYmxlOiB0aGlzLnByb3BzLnBpY2thYmxlXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBhc3luYyBnZXRGZWF0dXJlSW5mb1RleHQoeDogbnVtYmVyLCB5OiBudW1iZXIpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICBjb25zdCB7bGFzdFJlcXVlc3RQYXJhbWV0ZXJzfSA9IHRoaXMuc3RhdGU7XG4gICAgaWYgKGxhc3RSZXF1ZXN0UGFyYW1ldGVycykge1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBVbmRvY3VtZW50ZWQgbWV0aG9kXG4gICAgICBjb25zdCBmZWF0dXJlSW5mbyA9IGF3YWl0IHRoaXMuc3RhdGUuaW1hZ2VTb3VyY2UuZ2V0RmVhdHVyZUluZm9UZXh0Py4oe1xuICAgICAgICAuLi5sYXN0UmVxdWVzdFBhcmFtZXRlcnMsXG4gICAgICAgIHF1ZXJ5X2xheWVyczogbGFzdFJlcXVlc3RQYXJhbWV0ZXJzLmxheWVycyxcbiAgICAgICAgeCxcbiAgICAgICAgeSxcbiAgICAgICAgaW5mb19mb3JtYXQ6ICdhcHBsaWNhdGlvbi92bmQub2djLmdtbCdcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGZlYXR1cmVJbmZvO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBfY3JlYXRlSW1hZ2VTb3VyY2UocHJvcHM6IFdNU0xheWVyUHJvcHMpOiBJbWFnZVNvdXJjZSB7XG4gICAgaWYgKHByb3BzLmRhdGEgaW5zdGFuY2VvZiBJbWFnZVNvdXJjZSkge1xuICAgICAgcmV0dXJuIHByb3BzLmRhdGE7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBwcm9wcy5kYXRhID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGNyZWF0ZUltYWdlU291cmNlKHtcbiAgICAgICAgdXJsOiBwcm9wcy5kYXRhLFxuICAgICAgICBsb2FkT3B0aW9uczogcHJvcHMubG9hZE9wdGlvbnMsXG4gICAgICAgIHR5cGU6IHByb3BzLnNlcnZpY2VUeXBlXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgaW1hZ2Ugc291cmNlIGluIHByb3BzLmRhdGEnKTtcbiAgfVxuXG4gIC8qKiBSdW4gYSBnZXRNZXRhZGF0YSBvbiB0aGUgaW1hZ2Ugc2VydmljZSAqL1xuICBhc3luYyBfbG9hZE1ldGFkYXRhKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHtpbWFnZVNvdXJjZX0gPSB0aGlzLnN0YXRlO1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLmxvYWRDb3VudGVyKys7XG4gICAgICBjb25zdCBtZXRhZGF0YSA9IGF3YWl0IGltYWdlU291cmNlLmdldE1ldGFkYXRhKCk7XG5cbiAgICAgIC8vIElmIGEgcmVxdWVzdCB0YWtlcyBhIGxvbmcgdGltZSwgaXQgbWF5IG5vIGxvbmdlciBiZSBleHBlY3RlZFxuICAgICAgaWYgKHRoaXMuc3RhdGUuaW1hZ2VTb3VyY2UgPT09IGltYWdlU291cmNlKSB7XG4gICAgICAgIHRoaXMuZ2V0Q3VycmVudExheWVyKCk/LnByb3BzLm9uTWV0YWRhdGFMb2FkKG1ldGFkYXRhKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5nZXRDdXJyZW50TGF5ZXIoKT8ucHJvcHMub25NZXRhZGF0YUxvYWRFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc3RhdGUubG9hZENvdW50ZXItLTtcbiAgICB9XG4gIH1cblxuICAvKiogTG9hZCBhbiBpbWFnZSAqL1xuICBhc3luYyBsb2FkSW1hZ2Uodmlld3BvcnQ6IFZpZXdwb3J0LCBfcmVhc29uOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7bGF5ZXJzLCBzZXJ2aWNlVHlwZSwgdHJhbnNwYXJlbnR9ID0gdGhpcy5wcm9wcztcblxuICAgIC8vIFRPRE8gLSBtb3ZlIHRvIEltYWdlU291cmNlP1xuICAgIGlmIChzZXJ2aWNlVHlwZSA9PT0gJ3dtcycgJiYgbGF5ZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGJvdW5kcyA9IHZpZXdwb3J0LmdldEJvdW5kcygpO1xuICAgIGNvbnN0IHt3aWR0aCwgaGVpZ2h0fSA9IHZpZXdwb3J0O1xuICAgIGNvbnN0IHJlcXVlc3RJZCA9IHRoaXMuZ2V0UmVxdWVzdElkKCk7XG4gICAgbGV0IHtzcnN9ID0gdGhpcy5wcm9wcztcbiAgICBpZiAoc3JzID09PSAnYXV0bycpIHtcbiAgICAgIC8vIEJpdG1hcExheWVyIG9ubHkgc3VwcG9ydHMgTE5HTEFUIG9yIENBUlRFU0lBTiAoV2ViLU1lcmNhdG9yKVxuICAgICAgc3JzID0gdmlld3BvcnQucmVzb2x1dGlvbiA/ICdFUFNHOjQzMjYnIDogJ0VQU0c6Mzg1Nyc7XG4gICAgfVxuICAgIGNvbnN0IHJlcXVlc3RQYXJhbXMgPSB7XG4gICAgICB3aWR0aCxcbiAgICAgIGhlaWdodCxcbiAgICAgIC8vIFRPRE86IHJlbW92ZSBiYm94IG9uY2UgZGVjay5nbCBpcyB1cGdyYWRlZCB0byBeOC4xMCB3aXRoIGxvYWRlcnMuZ2wgXjRcbiAgICAgIGJib3g6IGJvdW5kcyxcbiAgICAgIGJvdW5kaW5nQm94OiBbXG4gICAgICAgIFtib3VuZHNbMF0sIGJvdW5kc1sxXV0sXG4gICAgICAgIFtib3VuZHNbMl0sIGJvdW5kc1szXV1cbiAgICAgIF0gYXMgW1tudW1iZXIsIG51bWJlcl0sIFtudW1iZXIsIG51bWJlcl1dLFxuICAgICAgbGF5ZXJzLFxuICAgICAgc3JzLFxuICAgICAgdHJhbnNwYXJlbnRcbiAgICB9O1xuICAgIGlmIChzcnMgPT09ICdFUFNHOjM4NTcnKSB7XG4gICAgICBjb25zdCBbbWluWCwgbWluWV0gPSBXR1M4NFRvUHNldWRvTWVyY2F0b3IoW2JvdW5kc1swXSwgYm91bmRzWzFdXSk7XG4gICAgICBjb25zdCBbbWF4WCwgbWF4WV0gPSBXR1M4NFRvUHNldWRvTWVyY2F0b3IoW2JvdW5kc1syXSwgYm91bmRzWzNdXSk7XG4gICAgICByZXF1ZXN0UGFyYW1zLmJvdW5kaW5nQm94ID0gW1xuICAgICAgICBbbWluWCwgbWluWV0sXG4gICAgICAgIFttYXhYLCBtYXhZXVxuICAgICAgXTtcbiAgICAgIC8vIFRPRE86IHJlbW92ZSBiYm94IG9uY2UgZGVjay5nbCBpcyB1cGdyYWRlZCB0byBeOC4xMCB3aXRoIGxvYWRlcnMuZ2wgXjRcbiAgICAgIHJlcXVlc3RQYXJhbXMuYmJveCA9IFttaW5YLCBtaW5ZLCBtYXhYLCBtYXhZXTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5sb2FkQ291bnRlcisrO1xuICAgICAgdGhpcy5wcm9wcy5vbkltYWdlTG9hZFN0YXJ0KHJlcXVlc3RJZCk7XG5cbiAgICAgIGNvbnN0IGltYWdlID0gYXdhaXQgdGhpcy5zdGF0ZS5pbWFnZVNvdXJjZS5nZXRJbWFnZShyZXF1ZXN0UGFyYW1zKTtcblxuICAgICAgLy8gSWYgYSByZXF1ZXN0IHRha2VzIGEgbG9uZyB0aW1lLCBsYXRlciByZXF1ZXN0cyBtYXkgaGF2ZSBhbHJlYWR5IGxvYWRlZC5cbiAgICAgIGlmICh0aGlzLnN0YXRlLmxhc3RSZXF1ZXN0SWQgPCByZXF1ZXN0SWQpIHtcbiAgICAgICAgdGhpcy5nZXRDdXJyZW50TGF5ZXIoKT8ucHJvcHMub25JbWFnZUxvYWQocmVxdWVzdElkKTtcbiAgICAgICAgLy8gTm90IHR5cGUgc2FmZS4uLlxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICBpbWFnZSxcbiAgICAgICAgICBib3VuZHMsXG4gICAgICAgICAgbGFzdFJlcXVlc3RQYXJhbWV0ZXJzOiByZXF1ZXN0UGFyYW1zLFxuICAgICAgICAgIGxhc3RSZXF1ZXN0SWQ6IHJlcXVlc3RJZFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5jb250ZXh0Lm9uRXJyb3I/LihlcnJvciBhcyBFcnJvciwgdGhpcyk7XG4gICAgICB0aGlzLmdldEN1cnJlbnRMYXllcigpPy5wcm9wcy5vbkltYWdlTG9hZEVycm9yKHJlcXVlc3RJZCwgZXJyb3IgYXMgRXJyb3IpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLmxvYWRDb3VudGVyLS07XG4gICAgfVxuICB9XG5cbiAgLy8gSEVMUEVSU1xuXG4gIC8qKiBHbG9iYWwgY291bnRlciBmb3IgaXNzdWluZyB1bmlxdWUgcmVxdWVzdCBpZHMgKi9cbiAgcHJpdmF0ZSBnZXRSZXF1ZXN0SWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5fbmV4dFJlcXVlc3RJZCsrO1xuICB9XG5cbiAgLyoqIFJ1bnMgYW4gYWN0aW9uIGluIHRoZSBmdXR1cmUsIGNhbmNlbHMgaXQgaWYgdGhlIG5ldyBhY3Rpb24gaXMgaXNzdWVkIGJlZm9yZSBpdCBleGVjdXRlcyAqL1xuICBwcml2YXRlIGRlYm91bmNlKGZuOiAoKSA9PiB2b2lkLCBtcyA9IDUwMCk6IHZvaWQge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnN0YXRlLl90aW1lb3V0SWQpO1xuICAgIHRoaXMuc3RhdGUuX3RpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4gZm4oKSwgbXMpO1xuICB9XG59XG5cbi8vIGh0dHBzOi8vZXBzZy5pby8zODU3XG4vLyArcHJvaj1tZXJjICthPTYzNzgxMzcgK2I9NjM3ODEzNyArbGF0X3RzPTAgK2xvbl8wPTAgK3hfMD0wICt5XzA9MCAraz0xICt1bml0cz1tICtuYWRncmlkcz1AbnVsbCArd2t0ZXh0ICtub19kZWZzICt0eXBlPWNyc1xuY29uc3QgSEFMRl9FQVJUSF9DSVJDVU1GRVJFTkNFID0gNjM3ODEzNyAqIE1hdGguUEk7XG5cbi8qKiBQcm9qZWN0cyBFUFNHOjQzMjYgdG8gRVBTRzozODU3XG4gKiBUaGlzIGlzIGEgbGlnaHR3ZWlnaHQgcmVwbGFjZW1lbnQgb2YgcHJvajQuIFVzZSB0ZXN0cyB0byBlbnN1cmUgY29uZm9ybWFuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBXR1M4NFRvUHNldWRvTWVyY2F0b3IoY29vcmQ6IFtudW1iZXIsIG51bWJlcl0pOiBbbnVtYmVyLCBudW1iZXJdIHtcbiAgY29uc3QgbWVyY2F0b3IgPSBsbmdMYXRUb1dvcmxkKGNvb3JkKTtcbiAgbWVyY2F0b3JbMF0gPSAobWVyY2F0b3JbMF0gLyAyNTYgLSAxKSAqIEhBTEZfRUFSVEhfQ0lSQ1VNRkVSRU5DRTtcbiAgbWVyY2F0b3JbMV0gPSAobWVyY2F0b3JbMV0gLyAyNTYgLSAxKSAqIEhBTEZfRUFSVEhfQ0lSQ1VNRkVSRU5DRTtcbiAgcmV0dXJuIG1lcmNhdG9yO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxZQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxLQUFBLEdBQUFELE9BQUE7QUFVQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxJQUFBLEdBQUFILE9BQUE7QUFBK0QsU0FBQUksUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLENBQUEsT0FBQUcsTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FBQUwsQ0FBQSxHQUFBQyxDQUFBLEtBQUFLLENBQUEsR0FBQUEsQ0FBQSxDQUFBQyxNQUFBLFdBQUFOLENBQUEsV0FBQUUsTUFBQSxDQUFBSyx3QkFBQSxDQUFBUixDQUFBLEVBQUFDLENBQUEsRUFBQVEsVUFBQSxPQUFBUCxDQUFBLENBQUFRLElBQUEsQ0FBQUMsS0FBQSxDQUFBVCxDQUFBLEVBQUFJLENBQUEsWUFBQUosQ0FBQTtBQUFBLFNBQUFVLGNBQUFaLENBQUEsYUFBQUMsQ0FBQSxNQUFBQSxDQUFBLEdBQUFZLFNBQUEsQ0FBQUMsTUFBQSxFQUFBYixDQUFBLFVBQUFDLENBQUEsV0FBQVcsU0FBQSxDQUFBWixDQUFBLElBQUFZLFNBQUEsQ0FBQVosQ0FBQSxRQUFBQSxDQUFBLE9BQUFGLE9BQUEsQ0FBQUksTUFBQSxDQUFBRCxDQUFBLE9BQUFhLE9BQUEsV0FBQWQs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
|