@deck.gl/carto 8.7.0-beta.2 → 8.7.0-beta.3
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/dist.dev.js +33 -21
- package/dist/es5/api/maps-api-common.js +7 -1
- package/dist/es5/api/maps-api-common.js.map +1 -1
- package/dist/es5/index.js +8 -0
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/layers/carto-layer.js +3 -4
- package/dist/es5/layers/carto-layer.js.map +1 -1
- package/dist/esm/api/maps-api-common.js +5 -0
- package/dist/esm/api/maps-api-common.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layers/carto-layer.js +3 -3
- package/dist/esm/layers/carto-layer.js.map +1 -1
- package/dist.min.js +1 -1
- package/package.json +2 -2
- package/src/api/maps-api-common.js +6 -0
- package/src/index.js +1 -0
- package/src/layers/carto-layer.js +9 -3
package/dist/dist.dev.js
CHANGED
|
@@ -52437,7 +52437,7 @@ function getTextPixelOffsetAccessor({
|
|
|
52437
52437
|
/*!************************************!*\
|
|
52438
52438
|
!*** ./src/api/maps-api-common.js ***!
|
|
52439
52439
|
\************************************/
|
|
52440
|
-
/*! exports provided: DEFAULT_USER_COMPONENT_IN_URL, DEFAULT_REGION_COMPONENT_IN_URL, API_VERSIONS, DEFAULT_MAPS_URL_FORMAT, MAP_TYPES, FORMATS, encodeParameter */
|
|
52440
|
+
/*! exports provided: DEFAULT_USER_COMPONENT_IN_URL, DEFAULT_REGION_COMPONENT_IN_URL, API_VERSIONS, DEFAULT_MAPS_URL_FORMAT, MAP_TYPES, FORMATS, TILE_FORMATS, encodeParameter */
|
|
52441
52441
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
52442
52442
|
|
|
52443
52443
|
"use strict";
|
|
@@ -52448,6 +52448,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
52448
52448
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DEFAULT_MAPS_URL_FORMAT", function() { return DEFAULT_MAPS_URL_FORMAT; });
|
|
52449
52449
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MAP_TYPES", function() { return MAP_TYPES; });
|
|
52450
52450
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FORMATS", function() { return FORMATS; });
|
|
52451
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TILE_FORMATS", function() { return TILE_FORMATS; });
|
|
52451
52452
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "encodeParameter", function() { return encodeParameter; });
|
|
52452
52453
|
const DEFAULT_USER_COMPONENT_IN_URL = '{user}';
|
|
52453
52454
|
const DEFAULT_REGION_COMPONENT_IN_URL = '{region}';
|
|
@@ -52472,6 +52473,11 @@ const FORMATS = {
|
|
|
52472
52473
|
TILEJSON: 'tilejson',
|
|
52473
52474
|
JSON: 'json'
|
|
52474
52475
|
};
|
|
52476
|
+
const TILE_FORMATS = {
|
|
52477
|
+
MVT: 'mvt',
|
|
52478
|
+
GEOJSON: 'geojson',
|
|
52479
|
+
BINARY: 'binary'
|
|
52480
|
+
};
|
|
52475
52481
|
/**
|
|
52476
52482
|
* Simple encode parameter
|
|
52477
52483
|
*/
|
|
@@ -53447,7 +53453,7 @@ function buildMapsUrlFromBase(apiBaseUrl) {
|
|
|
53447
53453
|
/*!**********************!*\
|
|
53448
53454
|
!*** ./src/index.js ***!
|
|
53449
53455
|
\**********************/
|
|
53450
|
-
/*! exports provided: getDefaultCredentials, setDefaultCredentials, CartoLayer, BASEMAP, colorBins, colorCategories, colorContinuous, FORMATS, MAP_TYPES, API_VERSIONS, fetchLayerData, fetchMap, _getDataV2, getData, _mapInstantiation */
|
|
53456
|
+
/*! exports provided: getDefaultCredentials, setDefaultCredentials, CartoLayer, _CartoDynamicTileLayer, BASEMAP, colorBins, colorCategories, colorContinuous, FORMATS, MAP_TYPES, API_VERSIONS, fetchLayerData, fetchMap, _getDataV2, getData, _mapInstantiation */
|
|
53451
53457
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
53452
53458
|
|
|
53453
53459
|
"use strict";
|
|
@@ -53460,34 +53466,38 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
53460
53466
|
/* harmony import */ var _layers_carto_layer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./layers/carto-layer */ "./src/layers/carto-layer.js");
|
|
53461
53467
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CartoLayer", function() { return _layers_carto_layer__WEBPACK_IMPORTED_MODULE_1__["default"]; });
|
|
53462
53468
|
|
|
53463
|
-
/* harmony import */ var
|
|
53464
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "
|
|
53469
|
+
/* harmony import */ var _layers_carto_dynamic_tile_layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./layers/carto-dynamic-tile-layer */ "./src/layers/carto-dynamic-tile-layer.js");
|
|
53470
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_CartoDynamicTileLayer", function() { return _layers_carto_dynamic_tile_layer__WEBPACK_IMPORTED_MODULE_2__["default"]; });
|
|
53471
|
+
|
|
53472
|
+
/* harmony import */ var _basemap__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./basemap */ "./src/basemap.js");
|
|
53473
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BASEMAP", function() { return _basemap__WEBPACK_IMPORTED_MODULE_3__["default"]; });
|
|
53465
53474
|
|
|
53466
|
-
/* harmony import */ var
|
|
53467
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "colorBins", function() { return
|
|
53475
|
+
/* harmony import */ var _style_color_bins_style__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./style/color-bins-style */ "./src/style/color-bins-style.js");
|
|
53476
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "colorBins", function() { return _style_color_bins_style__WEBPACK_IMPORTED_MODULE_4__["default"]; });
|
|
53468
53477
|
|
|
53469
|
-
/* harmony import */ var
|
|
53470
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "colorCategories", function() { return
|
|
53478
|
+
/* harmony import */ var _style_color_categories_style__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./style/color-categories-style */ "./src/style/color-categories-style.js");
|
|
53479
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "colorCategories", function() { return _style_color_categories_style__WEBPACK_IMPORTED_MODULE_5__["default"]; });
|
|
53471
53480
|
|
|
53472
|
-
/* harmony import */ var
|
|
53473
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "colorContinuous", function() { return
|
|
53481
|
+
/* harmony import */ var _style_color_continuous_style__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./style/color-continuous-style */ "./src/style/color-continuous-style.js");
|
|
53482
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "colorContinuous", function() { return _style_color_continuous_style__WEBPACK_IMPORTED_MODULE_6__["default"]; });
|
|
53474
53483
|
|
|
53475
|
-
/* harmony import */ var
|
|
53476
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FORMATS", function() { return
|
|
53484
|
+
/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./api */ "./src/api/index.js");
|
|
53485
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FORMATS", function() { return _api__WEBPACK_IMPORTED_MODULE_7__["FORMATS"]; });
|
|
53477
53486
|
|
|
53478
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MAP_TYPES", function() { return
|
|
53487
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MAP_TYPES", function() { return _api__WEBPACK_IMPORTED_MODULE_7__["MAP_TYPES"]; });
|
|
53479
53488
|
|
|
53480
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "API_VERSIONS", function() { return
|
|
53489
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "API_VERSIONS", function() { return _api__WEBPACK_IMPORTED_MODULE_7__["API_VERSIONS"]; });
|
|
53481
53490
|
|
|
53482
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fetchLayerData", function() { return
|
|
53491
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fetchLayerData", function() { return _api__WEBPACK_IMPORTED_MODULE_7__["fetchLayerData"]; });
|
|
53483
53492
|
|
|
53484
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fetchMap", function() { return
|
|
53493
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fetchMap", function() { return _api__WEBPACK_IMPORTED_MODULE_7__["fetchMap"]; });
|
|
53485
53494
|
|
|
53486
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_getDataV2", function() { return
|
|
53495
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_getDataV2", function() { return _api__WEBPACK_IMPORTED_MODULE_7__["getDataV2"]; });
|
|
53487
53496
|
|
|
53488
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getData", function() { return
|
|
53497
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getData", function() { return _api__WEBPACK_IMPORTED_MODULE_7__["getData"]; });
|
|
53498
|
+
|
|
53499
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_mapInstantiation", function() { return _api__WEBPACK_IMPORTED_MODULE_7__["mapInstantiation"]; });
|
|
53489
53500
|
|
|
53490
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_mapInstantiation", function() { return _api__WEBPACK_IMPORTED_MODULE_6__["mapInstantiation"]; });
|
|
53491
53501
|
|
|
53492
53502
|
|
|
53493
53503
|
|
|
@@ -53799,12 +53809,14 @@ class CartoLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeLa
|
|
|
53799
53809
|
} = this.state;
|
|
53800
53810
|
if (!data) return null;
|
|
53801
53811
|
const {
|
|
53802
|
-
type,
|
|
53803
53812
|
updateTriggers
|
|
53804
53813
|
} = this.props;
|
|
53805
53814
|
let layer;
|
|
53815
|
+
/* global URLSearchParams */
|
|
53816
|
+
|
|
53817
|
+
const tilesFormat = apiVersion === _api__WEBPACK_IMPORTED_MODULE_2__["API_VERSIONS"].V3 && format === _api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__["FORMATS"].TILEJSON && new URLSearchParams(data.tiles[0]).get('format');
|
|
53806
53818
|
|
|
53807
|
-
if (
|
|
53819
|
+
if (tilesFormat && tilesFormat !== _api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__["TILE_FORMATS"].MVT) {
|
|
53808
53820
|
layer = _carto_dynamic_tile_layer__WEBPACK_IMPORTED_MODULE_1__["default"];
|
|
53809
53821
|
} else if (apiVersion === _api__WEBPACK_IMPORTED_MODULE_2__["API_VERSIONS"].V1 || apiVersion === _api__WEBPACK_IMPORTED_MODULE_2__["API_VERSIONS"].V2 || format === _api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__["FORMATS"].TILEJSON) {
|
|
53810
53822
|
layer = _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["MVTLayer"];
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.encodeParameter = encodeParameter;
|
|
9
|
-
exports.FORMATS = exports.MAP_TYPES = exports.DEFAULT_MAPS_URL_FORMAT = exports.API_VERSIONS = exports.DEFAULT_REGION_COMPONENT_IN_URL = exports.DEFAULT_USER_COMPONENT_IN_URL = void 0;
|
|
9
|
+
exports.TILE_FORMATS = exports.FORMATS = exports.MAP_TYPES = exports.DEFAULT_MAPS_URL_FORMAT = exports.API_VERSIONS = exports.DEFAULT_REGION_COMPONENT_IN_URL = exports.DEFAULT_USER_COMPONENT_IN_URL = void 0;
|
|
10
10
|
|
|
11
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
12
|
|
|
@@ -37,6 +37,12 @@ var FORMATS = {
|
|
|
37
37
|
JSON: 'json'
|
|
38
38
|
};
|
|
39
39
|
exports.FORMATS = FORMATS;
|
|
40
|
+
var TILE_FORMATS = {
|
|
41
|
+
MVT: 'mvt',
|
|
42
|
+
GEOJSON: 'geojson',
|
|
43
|
+
BINARY: 'binary'
|
|
44
|
+
};
|
|
45
|
+
exports.TILE_FORMATS = TILE_FORMATS;
|
|
40
46
|
|
|
41
47
|
function encodeParameter(name, value) {
|
|
42
48
|
return "".concat(name, "=").concat(encodeURIComponent(value));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api/maps-api-common.js"],"names":["DEFAULT_USER_COMPONENT_IN_URL","DEFAULT_REGION_COMPONENT_IN_URL","API_VERSIONS","V1","V2","V3","DEFAULT_MAPS_URL_FORMAT","MAP_TYPES","QUERY","TABLE","TILESET","FORMATS","GEOJSON","NDJSON","TILEJSON","JSON","encodeParameter","name","value","encodeURIComponent"],"mappings":";;;;;;;;;;;;;;AAAO,IAAMA,6BAA6B,GAAG,QAAtC;;AACA,IAAMC,+BAA+B,GAAG,UAAxC;;AAEA,IAAMC,YAAY,GAAG;AAC1BC,EAAAA,EAAE,EAAE,IADsB;AAE1BC,EAAAA,EAAE,EAAE,IAFsB;AAG1BC,EAAAA,EAAE,EAAE;AAHsB,CAArB;;AAMA,IAAMC,uBAAuB,qFACjCJ,YAAY,CAACC,EADoB,oBACJH,6BADI,kFAEjCE,YAAY,CAACE,EAFoB,gCAEQH,+BAFR,6BAE0DD,6BAF1D,0BAA7B;;AAKA,IAAMO,SAAS,GAAG;AACvBC,EAAAA,KAAK,EAAE,OADgB;AAEvBC,EAAAA,KAAK,EAAE,OAFgB;AAGvBC,EAAAA,OAAO,EAAE;AAHc,CAAlB;;AAOA,IAAMC,OAAO,GAAG;AACrBC,EAAAA,OAAO,EAAE,SADY;AAErBC,EAAAA,MAAM,EAAE,QAFa;AAGrBC,EAAAA,QAAQ,EAAE,UAHW;AAIrBC,EAAAA,IAAI,EAAE;AAJe,CAAhB;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/api/maps-api-common.js"],"names":["DEFAULT_USER_COMPONENT_IN_URL","DEFAULT_REGION_COMPONENT_IN_URL","API_VERSIONS","V1","V2","V3","DEFAULT_MAPS_URL_FORMAT","MAP_TYPES","QUERY","TABLE","TILESET","FORMATS","GEOJSON","NDJSON","TILEJSON","JSON","TILE_FORMATS","MVT","BINARY","encodeParameter","name","value","encodeURIComponent"],"mappings":";;;;;;;;;;;;;;AAAO,IAAMA,6BAA6B,GAAG,QAAtC;;AACA,IAAMC,+BAA+B,GAAG,UAAxC;;AAEA,IAAMC,YAAY,GAAG;AAC1BC,EAAAA,EAAE,EAAE,IADsB;AAE1BC,EAAAA,EAAE,EAAE,IAFsB;AAG1BC,EAAAA,EAAE,EAAE;AAHsB,CAArB;;AAMA,IAAMC,uBAAuB,qFACjCJ,YAAY,CAACC,EADoB,oBACJH,6BADI,kFAEjCE,YAAY,CAACE,EAFoB,gCAEQH,+BAFR,6BAE0DD,6BAF1D,0BAA7B;;AAKA,IAAMO,SAAS,GAAG;AACvBC,EAAAA,KAAK,EAAE,OADgB;AAEvBC,EAAAA,KAAK,EAAE,OAFgB;AAGvBC,EAAAA,OAAO,EAAE;AAHc,CAAlB;;AAOA,IAAMC,OAAO,GAAG;AACrBC,EAAAA,OAAO,EAAE,SADY;AAErBC,EAAAA,MAAM,EAAE,QAFa;AAGrBC,EAAAA,QAAQ,EAAE,UAHW;AAIrBC,EAAAA,IAAI,EAAE;AAJe,CAAhB;;AAOA,IAAMC,YAAY,GAAG;AAC1BC,EAAAA,GAAG,EAAE,KADqB;AAE1BL,EAAAA,OAAO,EAAE,SAFiB;AAG1BM,EAAAA,MAAM,EAAE;AAHkB,CAArB;;;AASA,SAASC,eAAT,CAAyBC,IAAzB,EAA+BC,KAA/B,EAAsC;AAC3C,mBAAUD,IAAV,cAAkBE,kBAAkB,CAACD,KAAD,CAApC;AACD","sourcesContent":["export const DEFAULT_USER_COMPONENT_IN_URL = '{user}';\nexport const DEFAULT_REGION_COMPONENT_IN_URL = '{region}';\n\nexport const API_VERSIONS = {\n V1: 'v1',\n V2: 'v2',\n V3: 'v3'\n};\n\nexport const DEFAULT_MAPS_URL_FORMAT = {\n [API_VERSIONS.V1]: `https://${DEFAULT_USER_COMPONENT_IN_URL}.carto.com/api/v1/map`,\n [API_VERSIONS.V2]: `https://maps-api-v2.${DEFAULT_REGION_COMPONENT_IN_URL}.carto.com/user/${DEFAULT_USER_COMPONENT_IN_URL}`\n};\n\nexport const MAP_TYPES = {\n QUERY: 'query',\n TABLE: 'table',\n TILESET: 'tileset'\n};\n\n// AVAILABLE FORMATS\nexport const FORMATS = {\n GEOJSON: 'geojson',\n NDJSON: 'ndjson',\n TILEJSON: 'tilejson',\n JSON: 'json'\n};\n\nexport const TILE_FORMATS = {\n MVT: 'mvt',\n GEOJSON: 'geojson',\n BINARY: 'binary'\n};\n\n/**\n * Simple encode parameter\n */\nexport function encodeParameter(name, value) {\n return `${name}=${encodeURIComponent(value)}`;\n}\n"],"file":"maps-api-common.js"}
|
package/dist/es5/index.js
CHANGED
|
@@ -23,6 +23,12 @@ Object.defineProperty(exports, "CartoLayer", {
|
|
|
23
23
|
return _cartoLayer.default;
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
|
+
Object.defineProperty(exports, "_CartoDynamicTileLayer", {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
get: function get() {
|
|
29
|
+
return _cartoDynamicTileLayer.default;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
26
32
|
Object.defineProperty(exports, "BASEMAP", {
|
|
27
33
|
enumerable: true,
|
|
28
34
|
get: function get() {
|
|
@@ -100,6 +106,8 @@ var _config = require("./config.js");
|
|
|
100
106
|
|
|
101
107
|
var _cartoLayer = _interopRequireDefault(require("./layers/carto-layer"));
|
|
102
108
|
|
|
109
|
+
var _cartoDynamicTileLayer = _interopRequireDefault(require("./layers/carto-dynamic-tile-layer"));
|
|
110
|
+
|
|
103
111
|
var _basemap = _interopRequireDefault(require("./basemap"));
|
|
104
112
|
|
|
105
113
|
var _colorBinsStyle = _interopRequireDefault(require("./style/color-bins-style"));
|
package/dist/es5/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["export {getDefaultCredentials, setDefaultCredentials} from './config.js';\nexport {default as CartoLayer} from './layers/carto-layer';\nexport {default as _CartoDynamicTileLayer} from './layers/carto-dynamic-tile-layer';\nexport {default as BASEMAP} from './basemap';\nexport {default as colorBins} from './style/color-bins-style';\nexport {default as colorCategories} from './style/color-categories-style';\nexport {default as colorContinuous} from './style/color-continuous-style';\nexport {\n FORMATS,\n MAP_TYPES,\n API_VERSIONS,\n fetchLayerData,\n fetchMap,\n getDataV2 as _getDataV2,\n getData,\n mapInstantiation as _mapInstantiation\n} from './api';\n"],"file":"index.js"}
|
|
@@ -252,12 +252,11 @@ var CartoLayer = function (_CompositeLayer) {
|
|
|
252
252
|
format = _this$state.format,
|
|
253
253
|
apiVersion = _this$state.apiVersion;
|
|
254
254
|
if (!data) return null;
|
|
255
|
-
var
|
|
256
|
-
type = _this$props2.type,
|
|
257
|
-
updateTriggers = _this$props2.updateTriggers;
|
|
255
|
+
var updateTriggers = this.props.updateTriggers;
|
|
258
256
|
var layer;
|
|
257
|
+
var tilesFormat = apiVersion === _api.API_VERSIONS.V3 && format === _mapsApiCommon.FORMATS.TILEJSON && new URLSearchParams(data.tiles[0]).get('format');
|
|
259
258
|
|
|
260
|
-
if (
|
|
259
|
+
if (tilesFormat && tilesFormat !== _mapsApiCommon.TILE_FORMATS.MVT) {
|
|
261
260
|
layer = _cartoDynamicTileLayer.default;
|
|
262
261
|
} else if (apiVersion === _api.API_VERSIONS.V1 || apiVersion === _api.API_VERSIONS.V2 || format === _mapsApiCommon.FORMATS.TILEJSON) {
|
|
263
262
|
layer = _geoLayers.MVTLayer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/layers/carto-layer.js"],"names":["defaultProps","data","type","onDataLoad","value","compare","onDataError","optional","uniqueIdProperty","credentials","connection","format","clientId","geoColumn","columns","CartoLayer","state","apiVersion","getSubLayers","length","props","localCreds","log","assert","Object","values","API_VERSIONS","includes","V1","V2","MAP_TYPES","QUERY","TILESET","V3","TABLE","Array","isArray","oldProps","changeFlags","_checkProps","shouldUpdateData","dataChanged","JSON","stringify","setState","_updateData","source","rest","localConfig","result","updateTriggers","layer","FORMATS","TILEJSON","CartoDynamicTileLayer","MVTLayer","GeoJsonLayer","getSubLayerProps","id","layerName","CompositeLayer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA,IAAMA,YAAY,GAAG;AAEnBC,EAAAA,IAAI,EAAE,IAFa;AAInBC,EAAAA,IAAI,EAAE,IAJa;AAKnBC,EAAAA,UAAU,EAAE;AAACD,IAAAA,IAAI,EAAE,UAAP;AAAmBE,IAAAA,KAAK,EAAE,eAAAH,IAAI,EAAI,CAAE,CAApC;AAAsCI,IAAAA,OAAO,EAAE;AAA/C,GALO;AAMnBC,EAAAA,WAAW,EAAE;AAACJ,IAAAA,IAAI,EAAE,UAAP;AAAmBE,IAAAA,KAAK,EAAE,IAA1B;AAAgCC,IAAAA,OAAO,EAAE,KAAzC;AAAgDE,IAAAA,QAAQ,EAAE;AAA1D,GANM;AAOnBC,EAAAA,gBAAgB,EAAE,YAPC;AAUnBC,EAAAA,WAAW,EAAE,IAVM;AAgBnBC,EAAAA,UAAU,EAAE,IAhBO;AAmBnBC,EAAAA,MAAM,EAAE,IAnBW;AAsBnBC,EAAAA,QAAQ,EAAE,IAtBS;AAyBnBC,EAAAA,SAAS,EAAE,IAzBQ;AA4BnBC,EAAAA,OAAO,EAAE;AAACZ,IAAAA,IAAI,EAAE,OAAP;AAAgBE,IAAAA,KAAK,EAAE;AAAvB;AA5BU,CAArB;;IA+BqBW,U;;;;;;;;;;;;WACnB,2BAAkB;AAChB,WAAKC,KAAL,GAAa;AACXf,QAAAA,IAAI,EAAE,IADK;AAEXgB,QAAAA,UAAU,EAAE;AAFD,OAAb;AAID;;;SAED,eAAe;AACb,aAAO,KAAKC,YAAL,GAAoBC,MAApB,GAA6B,CAA7B,6FAAP;AACD;;;WAED,qBAAYC,KAAZ,EAAmB;AACjB,UAAOlB,IAAP,GAA4DkB,KAA5D,CAAOlB,IAAP;AAAA,UAAaO,WAAb,GAA4DW,KAA5D,CAAaX,WAAb;AAAA,UAA0BC,UAA1B,GAA4DU,KAA5D,CAA0BV,UAA1B;AAAA,UAAsCG,SAAtC,GAA4DO,KAA5D,CAAsCP,SAAtC;AAAA,UAAiDC,OAAjD,GAA4DM,KAA5D,CAAiDN,OAAjD;;AACA,UAAMO,UAAU,mCAAO,oCAAP,GAAmCZ,WAAnC,CAAhB;;AACA,UAAOQ,UAAP,GAAqBI,UAArB,CAAOJ,UAAP;;AAEAK,gBAAIC,MAAJ,CACEC,MAAM,CAACC,MAAP,CAAcC,iBAAd,EAA4BC,QAA5B,CAAqCV,UAArC,CADF,+BAEwBA,UAFxB;;AAKA,UAAIA,UAAU,KAAKS,kBAAaE,EAA5B,IAAkCX,UAAU,KAAKS,kBAAaG,EAAlE,EAAsE;AACpEP,kBAAIC,MAAJ,CACErB,IAAI,KAAK4B,yBAAUC,KAAnB,IAA4B7B,IAAI,KAAK4B,yBAAUE,OADjD,yBAEkB9B,IAFlB,4EAEwFe,UAFxF;;AAIAK,kBAAIC,MAAJ,CAAW,CAACb,UAAZ,4DAA2EO,UAA3E;;AACAK,kBAAIC,MAAJ,CAAW,CAACV,SAAZ,2DAAyEI,UAAzE;;AACAK,kBAAIC,MAAJ,CAAW,CAACT,OAAZ,yDAAqEG,UAArE;AACD,OARD,MAQO,IAAIA,UAAU,KAAKS,kBAAaO,EAAhC,EAAoC;AACzCX,kBAAIC,MAAJ,CAAWb,UAAX,EAAuB,wCAAvB;;AACAY,kBAAIC,MAAJ,CACEC,MAAM,CAACC,MAAP,CAAcK,wBAAd,EAAyBH,QAAzB,CAAkCzB,IAAlC,CADF,yBAEkBA,IAFlB;;AAIA,YAAIA,IAAI,KAAK4B,yBAAUI,KAAvB,EAA8B;AAC5BZ,oBAAIC,MAAJ,CAAW,CAACV,SAAZ,sDAAoEiB,yBAAUI,KAA9E;;AACAZ,oBAAIC,MAAJ,CAAW,CAACT,OAAZ,oDAAgEgB,yBAAUI,KAA1E;AACD;;AACD,YAAIpB,OAAJ,EAAa;AACXQ,oBAAIC,MAAJ,CAAWY,KAAK,CAACC,OAAN,CAActB,OAAd,CAAX,EAAmC,+BAAnC;AACD;AACF;AACF;;;WAED,2BAA4C;AAAA,UAA/BM,KAA+B,QAA/BA,KAA+B;AAAA,UAAxBiB,QAAwB,QAAxBA,QAAwB;AAAA,UAAdC,WAAc,QAAdA,WAAc;;AAC1C,WAAKC,WAAL,CAAiBnB,KAAjB;;AACA,UAAMoB,gBAAgB,GACpBF,WAAW,CAACG,WAAZ,IACArB,KAAK,CAACV,UAAN,KAAqB2B,QAAQ,CAAC3B,UAD9B,IAEAU,KAAK,CAACP,SAAN,KAAoBwB,QAAQ,CAACxB,SAF7B,IAGA6B,IAAI,CAACC,SAAL,CAAevB,KAAK,CAACN,OAArB,MAAkC4B,IAAI,CAACC,SAAL,CAAeN,QAAQ,CAACvB,OAAxB,CAHlC,IAIAM,KAAK,CAAClB,IAAN,KAAemC,QAAQ,CAACnC,IAJxB,IAKAwC,IAAI,CAACC,SAAL,CAAevB,KAAK,CAACX,WAArB,MAAsCiC,IAAI,CAACC,SAAL,CAAeN,QAAQ,CAAC5B,WAAxB,CANxC;;AAQA,UAAI+B,gBAAJ,EAAsB;AACpB,aAAKI,QAAL,CAAc;AAAC3C,UAAAA,IAAI,EAAE,IAAP;AAAagB,UAAAA,UAAU,EAAE;AAAzB,SAAd;;AACA,aAAK4B,WAAL;AACD;AACF;;;;mFAED;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAEiE,KAAKzB,KAFtE,EAEWlB,IAFX,eAEWA,IAFX,EAEuB4C,MAFvB,eAEiB7C,IAFjB,EAE+BW,QAF/B,eAE+BA,QAF/B,EAEyCH,WAFzC,eAEyCA,WAFzC,EAEyDsC,IAFzD;AAGUC,gBAAAA,WAHV,mCAG4B,oCAH5B,GAGwDvC,WAHxD;AAIWQ,gBAAAA,UAJX,GAIyB+B,WAJzB,CAIW/B,UAJX;;AAAA,sBAOQA,UAAU,KAAKS,kBAAaE,EAA5B,IAAkCX,UAAU,KAAKS,kBAAaG,EAPtE;AAAA;AAAA;AAAA;;AAAA;AAAA,uBAQ4B,oBAAU;AAAC3B,kBAAAA,IAAI,EAAJA,IAAD;AAAO4C,kBAAAA,MAAM,EAANA,MAAP;AAAerC,kBAAAA,WAAW,EAAXA;AAAf,iBAAV,CAR5B;;AAAA;AAAA;AAQMwC,gBAAAA,MARN;AAQgBhD,kBAAAA,IARhB;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA,uBAUqB;AAAgBC,kBAAAA,IAAI,EAAJA,IAAhB;AAAsB4C,kBAAAA,MAAM,EAANA,MAAtB;AAA8BlC,kBAAAA,QAAQ,EAARA,QAA9B;AAAwCH,kBAAAA,WAAW,EAAXA;AAAxC,mBAAwDsC,IAAxD,EAVrB;;AAAA;AAUME,gBAAAA,MAVN;;AAAA;AAaI,qBAAKL,QAAL,iCAAkBK,MAAlB;AAA0BhC,kBAAAA,UAAU,EAAVA;AAA1B;AACA,qBAAKG,KAAL,CAAWjB,UAAX,CAAsB8C,MAAM,CAAChD,IAA7B;AAdJ;AAAA;;AAAA;AAAA;AAAA;;AAAA,qBAgBQ,KAAKmB,KAAL,CAAWd,WAhBnB;AAAA;AAAA;AAAA;;AAiBM,qBAAKc,KAAL,CAAWd,WAAX;AAjBN;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAwBA,wBAAe;AACb,wBAAmC,KAAKU,KAAxC;AAAA,UAAOf,IAAP,eAAOA,IAAP;AAAA,UAAaU,MAAb,eAAaA,MAAb;AAAA,UAAqBM,UAArB,eAAqBA,UAArB;AAEA,UAAI,CAAChB,IAAL,EAAW,OAAO,IAAP;AAEX,yBAA+B,KAAKmB,KAApC;AAAA,UAAOlB,IAAP,gBAAOA,IAAP;AAAA,UAAagD,cAAb,gBAAaA,cAAb;AAEA,UAAIC,KAAJ;;AAEA,UAAIlC,UAAU,KAAKS,kBAAaO,EAA5B,IAAkC/B,IAAI,KAAK4B,yBAAUI,KAArD,IAA8DvB,MAAM,KAAKyC,uBAAQC,QAArF,EAA+F;AAC7FF,QAAAA,KAAK,GAAGG,8BAAR;AACD,OAFD,MAEO,IACLrC,UAAU,KAAKS,kBAAaE,EAA5B,IACAX,UAAU,KAAKS,kBAAaG,EAD5B,IAEAlB,MAAM,KAAKyC,uBAAQC,QAHd,EAIL;AACAF,QAAAA,KAAK,GAAGI,mBAAR;AACD,OANM,MAMA;AACLJ,QAAAA,KAAK,GAAGK,oBAAR;AACD;;AAED,UAAOhD,gBAAP,GAA2BR,YAA3B,CAAOQ,gBAAP;;AACA,UAAMY,KAAK;AAAIZ,QAAAA,gBAAgB,EAAhBA;AAAJ,SAAyB,KAAKY,KAA9B,CAAX;;AACA,aAAOA,KAAK,CAACnB,IAAb;AAGA,aAAO,IAAIkD,KAAJ,CACL/B,KADK,EAEL,KAAKqC,gBAAL,CAAsB;AACpBC,QAAAA,EAAE,kBAAWP,KAAK,CAACQ,SAAjB,CADkB;AAEpB1D,QAAAA,IAAI,EAAJA,IAFoB;AAGpBiD,QAAAA,cAAc,EAAdA;AAHoB,OAAtB,CAFK,CAAP;AAQD;;;EAxHqCU,oB;;;AA2HxC7C,UAAU,CAAC4C,SAAX,GAAuB,YAAvB;AACA5C,UAAU,CAACf,YAAX,GAA0BA,YAA1B","sourcesContent":["import {CompositeLayer, log} from '@deck.gl/core';\nimport CartoDynamicTileLayer from './carto-dynamic-tile-layer';\nimport {MVTLayer} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {fetchLayerData, getDataV2, API_VERSIONS} from '../api';\nimport {FORMATS, MAP_TYPES} from '../api/maps-api-common';\nimport {getDefaultCredentials} from '../config';\n\nconst defaultProps = {\n // (String, required): data resource to load. table name, sql query or tileset name.\n data: null,\n // (Enum (MAP_TYPES), required)\n type: null,\n onDataLoad: {type: 'function', value: data => {}, compare: false},\n onDataError: {type: 'function', value: null, compare: false, optional: true},\n uniqueIdProperty: 'cartodb_id',\n\n // override carto credentials for the layer, set to null to read from default\n credentials: null,\n\n /*********************/\n /* API v3 PARAMETERS */\n /**********************/\n // (String, required): connection name at CARTO platform\n connection: null,\n\n // (String, optional): format of data\n format: null,\n\n // (String, optional): clientId identifier used for internal tracing, place here a string to identify the client who is doing the request.\n clientId: null,\n\n // (String, optional): name of the `geo_column` in the CARTO platform. Use this override the default column ('geom'), from which the geometry information should be fetched.\n geoColumn: null,\n\n // (Array<String>, optional): names of columns to fetch. By default, all columns are fetched.\n columns: {type: 'array', value: null}\n};\n\nexport default class CartoLayer extends CompositeLayer {\n initializeState() {\n this.state = {\n data: null,\n apiVersion: null\n };\n }\n\n get isLoaded() {\n return this.getSubLayers().length > 0 && super.isLoaded;\n }\n\n _checkProps(props) {\n const {type, credentials, connection, geoColumn, columns} = props;\n const localCreds = {...getDefaultCredentials(), ...credentials};\n const {apiVersion} = localCreds;\n\n log.assert(\n Object.values(API_VERSIONS).includes(apiVersion),\n `Invalid apiVersion ${apiVersion}. Use API_VERSIONS enum.`\n );\n\n if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {\n log.assert(\n type === MAP_TYPES.QUERY || type === MAP_TYPES.TILESET,\n `Invalid type ${type}. Use type MAP_TYPES.QUERY or MAP_TYPES.TILESET for apiVersion ${apiVersion}`\n );\n log.assert(!connection, `Connection prop is not supported for apiVersion ${apiVersion}`);\n log.assert(!geoColumn, `geoColumn prop is not supported for apiVersion ${apiVersion}`);\n log.assert(!columns, `columns prop is not supported for apiVersion ${apiVersion}`);\n } else if (apiVersion === API_VERSIONS.V3) {\n log.assert(connection, 'Missing mandatory connection parameter');\n log.assert(\n Object.values(MAP_TYPES).includes(type),\n `Invalid type ${type}. Use MAP_TYPES enum.`\n );\n if (type !== MAP_TYPES.TABLE) {\n log.assert(!geoColumn, `geoColumn prop is only supported for type ${MAP_TYPES.TABLE}`);\n log.assert(!columns, `columns prop is only supported for type ${MAP_TYPES.TABLE}`);\n }\n if (columns) {\n log.assert(Array.isArray(columns), 'columns prop must be an Array');\n }\n }\n }\n\n updateState({props, oldProps, changeFlags}) {\n this._checkProps(props);\n const shouldUpdateData =\n changeFlags.dataChanged ||\n props.connection !== oldProps.connection ||\n props.geoColumn !== oldProps.geoColumn ||\n JSON.stringify(props.columns) !== JSON.stringify(oldProps.columns) ||\n props.type !== oldProps.type ||\n JSON.stringify(props.credentials) !== JSON.stringify(oldProps.credentials);\n\n if (shouldUpdateData) {\n this.setState({data: null, apiVersion: null});\n this._updateData();\n }\n }\n\n async _updateData() {\n try {\n const {type, data: source, clientId, credentials, ...rest} = this.props;\n const localConfig = {...getDefaultCredentials(), ...credentials};\n const {apiVersion} = localConfig;\n\n let result;\n if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {\n result = {data: await getDataV2({type, source, credentials})};\n } else {\n result = await fetchLayerData({type, source, clientId, credentials, ...rest});\n }\n\n this.setState({...result, apiVersion});\n this.props.onDataLoad(result.data);\n } catch (err) {\n if (this.props.onDataError) {\n this.props.onDataError(err);\n } else {\n throw err;\n }\n }\n }\n\n renderLayers() {\n const {data, format, apiVersion} = this.state;\n\n if (!data) return null;\n\n const {type, updateTriggers} = this.props;\n\n let layer;\n\n if (apiVersion === API_VERSIONS.V3 && type === MAP_TYPES.TABLE && format === FORMATS.TILEJSON) {\n layer = CartoDynamicTileLayer;\n } else if (\n apiVersion === API_VERSIONS.V1 ||\n apiVersion === API_VERSIONS.V2 ||\n format === FORMATS.TILEJSON\n ) {\n layer = MVTLayer;\n } else {\n layer = GeoJsonLayer;\n }\n\n const {uniqueIdProperty} = defaultProps;\n const props = {uniqueIdProperty, ...this.props};\n delete props.data;\n\n // eslint-disable-next-line new-cap\n return new layer(\n props,\n this.getSubLayerProps({\n id: `carto-${layer.layerName}`,\n data,\n updateTriggers\n })\n );\n }\n}\n\nCartoLayer.layerName = 'CartoLayer';\nCartoLayer.defaultProps = defaultProps;\n"],"file":"carto-layer.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/carto-layer.js"],"names":["defaultProps","data","type","onDataLoad","value","compare","onDataError","optional","uniqueIdProperty","credentials","connection","format","clientId","geoColumn","columns","CartoLayer","state","apiVersion","getSubLayers","length","props","localCreds","log","assert","Object","values","API_VERSIONS","includes","V1","V2","MAP_TYPES","QUERY","TILESET","V3","TABLE","Array","isArray","oldProps","changeFlags","_checkProps","shouldUpdateData","dataChanged","JSON","stringify","setState","_updateData","source","rest","localConfig","result","updateTriggers","layer","tilesFormat","FORMATS","TILEJSON","URLSearchParams","tiles","get","TILE_FORMATS","MVT","CartoDynamicTileLayer","MVTLayer","GeoJsonLayer","getSubLayerProps","id","layerName","CompositeLayer"],"mappings":"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","sourcesContent":["import {CompositeLayer, log} from '@deck.gl/core';\nimport CartoDynamicTileLayer from './carto-dynamic-tile-layer';\nimport {MVTLayer} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {fetchLayerData, getDataV2, API_VERSIONS} from '../api';\nimport {FORMATS, MAP_TYPES, TILE_FORMATS} from '../api/maps-api-common';\nimport {getDefaultCredentials} from '../config';\n\nconst defaultProps = {\n // (String, required): data resource to load. table name, sql query or tileset name.\n data: null,\n // (Enum (MAP_TYPES), required)\n type: null,\n onDataLoad: {type: 'function', value: data => {}, compare: false},\n onDataError: {type: 'function', value: null, compare: false, optional: true},\n uniqueIdProperty: 'cartodb_id',\n\n // override carto credentials for the layer, set to null to read from default\n credentials: null,\n\n /*********************/\n /* API v3 PARAMETERS */\n /**********************/\n // (String, required): connection name at CARTO platform\n connection: null,\n\n // (String, optional): format of data\n format: null,\n\n // (String, optional): clientId identifier used for internal tracing, place here a string to identify the client who is doing the request.\n clientId: null,\n\n // (String, optional): name of the `geo_column` in the CARTO platform. Use this override the default column ('geom'), from which the geometry information should be fetched.\n geoColumn: null,\n\n // (Array<String>, optional): names of columns to fetch. By default, all columns are fetched.\n columns: {type: 'array', value: null}\n};\n\nexport default class CartoLayer extends CompositeLayer {\n initializeState() {\n this.state = {\n data: null,\n apiVersion: null\n };\n }\n\n get isLoaded() {\n return this.getSubLayers().length > 0 && super.isLoaded;\n }\n\n _checkProps(props) {\n const {type, credentials, connection, geoColumn, columns} = props;\n const localCreds = {...getDefaultCredentials(), ...credentials};\n const {apiVersion} = localCreds;\n\n log.assert(\n Object.values(API_VERSIONS).includes(apiVersion),\n `Invalid apiVersion ${apiVersion}. Use API_VERSIONS enum.`\n );\n\n if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {\n log.assert(\n type === MAP_TYPES.QUERY || type === MAP_TYPES.TILESET,\n `Invalid type ${type}. Use type MAP_TYPES.QUERY or MAP_TYPES.TILESET for apiVersion ${apiVersion}`\n );\n log.assert(!connection, `Connection prop is not supported for apiVersion ${apiVersion}`);\n log.assert(!geoColumn, `geoColumn prop is not supported for apiVersion ${apiVersion}`);\n log.assert(!columns, `columns prop is not supported for apiVersion ${apiVersion}`);\n } else if (apiVersion === API_VERSIONS.V3) {\n log.assert(connection, 'Missing mandatory connection parameter');\n log.assert(\n Object.values(MAP_TYPES).includes(type),\n `Invalid type ${type}. Use MAP_TYPES enum.`\n );\n if (type !== MAP_TYPES.TABLE) {\n log.assert(!geoColumn, `geoColumn prop is only supported for type ${MAP_TYPES.TABLE}`);\n log.assert(!columns, `columns prop is only supported for type ${MAP_TYPES.TABLE}`);\n }\n if (columns) {\n log.assert(Array.isArray(columns), 'columns prop must be an Array');\n }\n }\n }\n\n updateState({props, oldProps, changeFlags}) {\n this._checkProps(props);\n const shouldUpdateData =\n changeFlags.dataChanged ||\n props.connection !== oldProps.connection ||\n props.geoColumn !== oldProps.geoColumn ||\n JSON.stringify(props.columns) !== JSON.stringify(oldProps.columns) ||\n props.type !== oldProps.type ||\n JSON.stringify(props.credentials) !== JSON.stringify(oldProps.credentials);\n\n if (shouldUpdateData) {\n this.setState({data: null, apiVersion: null});\n this._updateData();\n }\n }\n\n async _updateData() {\n try {\n const {type, data: source, clientId, credentials, ...rest} = this.props;\n const localConfig = {...getDefaultCredentials(), ...credentials};\n const {apiVersion} = localConfig;\n\n let result;\n if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {\n result = {data: await getDataV2({type, source, credentials})};\n } else {\n result = await fetchLayerData({type, source, clientId, credentials, ...rest});\n }\n\n this.setState({...result, apiVersion});\n this.props.onDataLoad(result.data);\n } catch (err) {\n if (this.props.onDataError) {\n this.props.onDataError(err);\n } else {\n throw err;\n }\n }\n }\n\n renderLayers() {\n const {data, format, apiVersion} = this.state;\n\n if (!data) return null;\n\n const {updateTriggers} = this.props;\n\n let layer;\n\n /* global URLSearchParams */\n const tilesFormat =\n apiVersion === API_VERSIONS.V3 &&\n format === FORMATS.TILEJSON &&\n new URLSearchParams(data.tiles[0]).get('format');\n\n if (tilesFormat && tilesFormat !== TILE_FORMATS.MVT) {\n layer = CartoDynamicTileLayer;\n } else if (\n apiVersion === API_VERSIONS.V1 ||\n apiVersion === API_VERSIONS.V2 ||\n format === FORMATS.TILEJSON\n ) {\n layer = MVTLayer;\n } else {\n layer = GeoJsonLayer;\n }\n\n const {uniqueIdProperty} = defaultProps;\n const props = {uniqueIdProperty, ...this.props};\n delete props.data;\n\n // eslint-disable-next-line new-cap\n return new layer(\n props,\n this.getSubLayerProps({\n id: `carto-${layer.layerName}`,\n data,\n updateTriggers\n })\n );\n }\n}\n\nCartoLayer.layerName = 'CartoLayer';\nCartoLayer.defaultProps = defaultProps;\n"],"file":"carto-layer.js"}
|
|
@@ -20,6 +20,11 @@ export const FORMATS = {
|
|
|
20
20
|
TILEJSON: 'tilejson',
|
|
21
21
|
JSON: 'json'
|
|
22
22
|
};
|
|
23
|
+
export const TILE_FORMATS = {
|
|
24
|
+
MVT: 'mvt',
|
|
25
|
+
GEOJSON: 'geojson',
|
|
26
|
+
BINARY: 'binary'
|
|
27
|
+
};
|
|
23
28
|
export function encodeParameter(name, value) {
|
|
24
29
|
return "".concat(name, "=").concat(encodeURIComponent(value));
|
|
25
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api/maps-api-common.js"],"names":["DEFAULT_USER_COMPONENT_IN_URL","DEFAULT_REGION_COMPONENT_IN_URL","API_VERSIONS","V1","V2","V3","DEFAULT_MAPS_URL_FORMAT","MAP_TYPES","QUERY","TABLE","TILESET","FORMATS","GEOJSON","NDJSON","TILEJSON","JSON","encodeParameter","name","value","encodeURIComponent"],"mappings":"AAAA,OAAO,MAAMA,6BAA6B,GAAG,QAAtC;AACP,OAAO,MAAMC,+BAA+B,GAAG,UAAxC;AAEP,OAAO,MAAMC,YAAY,GAAG;AAC1BC,EAAAA,EAAE,EAAE,IADsB;AAE1BC,EAAAA,EAAE,EAAE,IAFsB;AAG1BC,EAAAA,EAAE,EAAE;AAHsB,CAArB;AAMP,OAAO,MAAMC,uBAAuB,GAAG;AACrC,GAACJ,YAAY,CAACC,EAAd,qBAA8BH,6BAA9B,0BADqC;AAErC,GAACE,YAAY,CAACE,EAAd,iCAA0CH,+BAA1C,6BAA4FD,6BAA5F;AAFqC,CAAhC;AAKP,OAAO,MAAMO,SAAS,GAAG;AACvBC,EAAAA,KAAK,EAAE,OADgB;AAEvBC,EAAAA,KAAK,EAAE,OAFgB;AAGvBC,EAAAA,OAAO,EAAE;AAHc,CAAlB;AAOP,OAAO,MAAMC,OAAO,GAAG;AACrBC,EAAAA,OAAO,EAAE,SADY;AAErBC,EAAAA,MAAM,EAAE,QAFa;AAGrBC,EAAAA,QAAQ,EAAE,UAHW;AAIrBC,EAAAA,IAAI,EAAE;AAJe,CAAhB;
|
|
1
|
+
{"version":3,"sources":["../../../src/api/maps-api-common.js"],"names":["DEFAULT_USER_COMPONENT_IN_URL","DEFAULT_REGION_COMPONENT_IN_URL","API_VERSIONS","V1","V2","V3","DEFAULT_MAPS_URL_FORMAT","MAP_TYPES","QUERY","TABLE","TILESET","FORMATS","GEOJSON","NDJSON","TILEJSON","JSON","TILE_FORMATS","MVT","BINARY","encodeParameter","name","value","encodeURIComponent"],"mappings":"AAAA,OAAO,MAAMA,6BAA6B,GAAG,QAAtC;AACP,OAAO,MAAMC,+BAA+B,GAAG,UAAxC;AAEP,OAAO,MAAMC,YAAY,GAAG;AAC1BC,EAAAA,EAAE,EAAE,IADsB;AAE1BC,EAAAA,EAAE,EAAE,IAFsB;AAG1BC,EAAAA,EAAE,EAAE;AAHsB,CAArB;AAMP,OAAO,MAAMC,uBAAuB,GAAG;AACrC,GAACJ,YAAY,CAACC,EAAd,qBAA8BH,6BAA9B,0BADqC;AAErC,GAACE,YAAY,CAACE,EAAd,iCAA0CH,+BAA1C,6BAA4FD,6BAA5F;AAFqC,CAAhC;AAKP,OAAO,MAAMO,SAAS,GAAG;AACvBC,EAAAA,KAAK,EAAE,OADgB;AAEvBC,EAAAA,KAAK,EAAE,OAFgB;AAGvBC,EAAAA,OAAO,EAAE;AAHc,CAAlB;AAOP,OAAO,MAAMC,OAAO,GAAG;AACrBC,EAAAA,OAAO,EAAE,SADY;AAErBC,EAAAA,MAAM,EAAE,QAFa;AAGrBC,EAAAA,QAAQ,EAAE,UAHW;AAIrBC,EAAAA,IAAI,EAAE;AAJe,CAAhB;AAOP,OAAO,MAAMC,YAAY,GAAG;AAC1BC,EAAAA,GAAG,EAAE,KADqB;AAE1BL,EAAAA,OAAO,EAAE,SAFiB;AAG1BM,EAAAA,MAAM,EAAE;AAHkB,CAArB;AASP,OAAO,SAASC,eAAT,CAAyBC,IAAzB,EAA+BC,KAA/B,EAAsC;AAC3C,mBAAUD,IAAV,cAAkBE,kBAAkB,CAACD,KAAD,CAApC;AACD","sourcesContent":["export const DEFAULT_USER_COMPONENT_IN_URL = '{user}';\nexport const DEFAULT_REGION_COMPONENT_IN_URL = '{region}';\n\nexport const API_VERSIONS = {\n V1: 'v1',\n V2: 'v2',\n V3: 'v3'\n};\n\nexport const DEFAULT_MAPS_URL_FORMAT = {\n [API_VERSIONS.V1]: `https://${DEFAULT_USER_COMPONENT_IN_URL}.carto.com/api/v1/map`,\n [API_VERSIONS.V2]: `https://maps-api-v2.${DEFAULT_REGION_COMPONENT_IN_URL}.carto.com/user/${DEFAULT_USER_COMPONENT_IN_URL}`\n};\n\nexport const MAP_TYPES = {\n QUERY: 'query',\n TABLE: 'table',\n TILESET: 'tileset'\n};\n\n// AVAILABLE FORMATS\nexport const FORMATS = {\n GEOJSON: 'geojson',\n NDJSON: 'ndjson',\n TILEJSON: 'tilejson',\n JSON: 'json'\n};\n\nexport const TILE_FORMATS = {\n MVT: 'mvt',\n GEOJSON: 'geojson',\n BINARY: 'binary'\n};\n\n/**\n * Simple encode parameter\n */\nexport function encodeParameter(name, value) {\n return `${name}=${encodeURIComponent(value)}`;\n}\n"],"file":"maps-api-common.js"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { getDefaultCredentials, setDefaultCredentials } from './config.js';
|
|
2
2
|
export { default as CartoLayer } from './layers/carto-layer';
|
|
3
|
+
export { default as _CartoDynamicTileLayer } from './layers/carto-dynamic-tile-layer';
|
|
3
4
|
export { default as BASEMAP } from './basemap';
|
|
4
5
|
export { default as colorBins } from './style/color-bins-style';
|
|
5
6
|
export { default as colorCategories } from './style/color-categories-style';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.js"],"names":["getDefaultCredentials","setDefaultCredentials","default","CartoLayer","BASEMAP","colorBins","colorCategories","colorContinuous","FORMATS","MAP_TYPES","API_VERSIONS","fetchLayerData","fetchMap","getDataV2","_getDataV2","getData","mapInstantiation","_mapInstantiation"],"mappings":"AAAA,SAAQA,qBAAR,EAA+BC,qBAA/B,QAA2D,aAA3D;AACA,SAAQC,OAAO,IAAIC,UAAnB,QAAoC,sBAApC;AACA,SAAQD,OAAO,IAAIE,OAAnB,QAAiC,WAAjC;AACA,
|
|
1
|
+
{"version":3,"sources":["../../src/index.js"],"names":["getDefaultCredentials","setDefaultCredentials","default","CartoLayer","_CartoDynamicTileLayer","BASEMAP","colorBins","colorCategories","colorContinuous","FORMATS","MAP_TYPES","API_VERSIONS","fetchLayerData","fetchMap","getDataV2","_getDataV2","getData","mapInstantiation","_mapInstantiation"],"mappings":"AAAA,SAAQA,qBAAR,EAA+BC,qBAA/B,QAA2D,aAA3D;AACA,SAAQC,OAAO,IAAIC,UAAnB,QAAoC,sBAApC;AACA,SAAQD,OAAO,IAAIE,sBAAnB,QAAgD,mCAAhD;AACA,SAAQF,OAAO,IAAIG,OAAnB,QAAiC,WAAjC;AACA,SAAQH,OAAO,IAAII,SAAnB,QAAmC,0BAAnC;AACA,SAAQJ,OAAO,IAAIK,eAAnB,QAAyC,gCAAzC;AACA,SAAQL,OAAO,IAAIM,eAAnB,QAAyC,gCAAzC;AACA,SACEC,OADF,EAEEC,SAFF,EAGEC,YAHF,EAIEC,cAJF,EAKEC,QALF,EAMEC,SAAS,IAAIC,UANf,EAOEC,OAPF,EAQEC,gBAAgB,IAAIC,iBARtB,QASO,OATP","sourcesContent":["export {getDefaultCredentials, setDefaultCredentials} from './config.js';\nexport {default as CartoLayer} from './layers/carto-layer';\nexport {default as _CartoDynamicTileLayer} from './layers/carto-dynamic-tile-layer';\nexport {default as BASEMAP} from './basemap';\nexport {default as colorBins} from './style/color-bins-style';\nexport {default as colorCategories} from './style/color-categories-style';\nexport {default as colorContinuous} from './style/color-continuous-style';\nexport {\n FORMATS,\n MAP_TYPES,\n API_VERSIONS,\n fetchLayerData,\n fetchMap,\n getDataV2 as _getDataV2,\n getData,\n mapInstantiation as _mapInstantiation\n} from './api';\n"],"file":"index.js"}
|
|
@@ -3,7 +3,7 @@ import CartoDynamicTileLayer from './carto-dynamic-tile-layer';
|
|
|
3
3
|
import { MVTLayer } from '@deck.gl/geo-layers';
|
|
4
4
|
import { GeoJsonLayer } from '@deck.gl/layers';
|
|
5
5
|
import { fetchLayerData, getDataV2, API_VERSIONS } from '../api';
|
|
6
|
-
import { FORMATS, MAP_TYPES } from '../api/maps-api-common';
|
|
6
|
+
import { FORMATS, MAP_TYPES, TILE_FORMATS } from '../api/maps-api-common';
|
|
7
7
|
import { getDefaultCredentials } from '../config';
|
|
8
8
|
const defaultProps = {
|
|
9
9
|
data: null,
|
|
@@ -153,12 +153,12 @@ export default class CartoLayer extends CompositeLayer {
|
|
|
153
153
|
} = this.state;
|
|
154
154
|
if (!data) return null;
|
|
155
155
|
const {
|
|
156
|
-
type,
|
|
157
156
|
updateTriggers
|
|
158
157
|
} = this.props;
|
|
159
158
|
let layer;
|
|
159
|
+
const tilesFormat = apiVersion === API_VERSIONS.V3 && format === FORMATS.TILEJSON && new URLSearchParams(data.tiles[0]).get('format');
|
|
160
160
|
|
|
161
|
-
if (
|
|
161
|
+
if (tilesFormat && tilesFormat !== TILE_FORMATS.MVT) {
|
|
162
162
|
layer = CartoDynamicTileLayer;
|
|
163
163
|
} else if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2 || format === FORMATS.TILEJSON) {
|
|
164
164
|
layer = MVTLayer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/layers/carto-layer.js"],"names":["CompositeLayer","log","CartoDynamicTileLayer","MVTLayer","GeoJsonLayer","fetchLayerData","getDataV2","API_VERSIONS","FORMATS","MAP_TYPES","getDefaultCredentials","defaultProps","data","type","onDataLoad","value","compare","onDataError","optional","uniqueIdProperty","credentials","connection","format","clientId","geoColumn","columns","CartoLayer","initializeState","state","apiVersion","isLoaded","getSubLayers","length","_checkProps","props","localCreds","assert","Object","values","includes","V1","V2","QUERY","TILESET","V3","TABLE","Array","isArray","updateState","oldProps","changeFlags","shouldUpdateData","dataChanged","JSON","stringify","setState","_updateData","source","rest","localConfig","result","err","renderLayers","updateTriggers","layer","TILEJSON","getSubLayerProps","id","layerName"],"mappings":"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","sourcesContent":["import {CompositeLayer, log} from '@deck.gl/core';\nimport CartoDynamicTileLayer from './carto-dynamic-tile-layer';\nimport {MVTLayer} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {fetchLayerData, getDataV2, API_VERSIONS} from '../api';\nimport {FORMATS, MAP_TYPES} from '../api/maps-api-common';\nimport {getDefaultCredentials} from '../config';\n\nconst defaultProps = {\n // (String, required): data resource to load. table name, sql query or tileset name.\n data: null,\n // (Enum (MAP_TYPES), required)\n type: null,\n onDataLoad: {type: 'function', value: data => {}, compare: false},\n onDataError: {type: 'function', value: null, compare: false, optional: true},\n uniqueIdProperty: 'cartodb_id',\n\n // override carto credentials for the layer, set to null to read from default\n credentials: null,\n\n /*********************/\n /* API v3 PARAMETERS */\n /**********************/\n // (String, required): connection name at CARTO platform\n connection: null,\n\n // (String, optional): format of data\n format: null,\n\n // (String, optional): clientId identifier used for internal tracing, place here a string to identify the client who is doing the request.\n clientId: null,\n\n // (String, optional): name of the `geo_column` in the CARTO platform. Use this override the default column ('geom'), from which the geometry information should be fetched.\n geoColumn: null,\n\n // (Array<String>, optional): names of columns to fetch. By default, all columns are fetched.\n columns: {type: 'array', value: null}\n};\n\nexport default class CartoLayer extends CompositeLayer {\n initializeState() {\n this.state = {\n data: null,\n apiVersion: null\n };\n }\n\n get isLoaded() {\n return this.getSubLayers().length > 0 && super.isLoaded;\n }\n\n _checkProps(props) {\n const {type, credentials, connection, geoColumn, columns} = props;\n const localCreds = {...getDefaultCredentials(), ...credentials};\n const {apiVersion} = localCreds;\n\n log.assert(\n Object.values(API_VERSIONS).includes(apiVersion),\n `Invalid apiVersion ${apiVersion}. Use API_VERSIONS enum.`\n );\n\n if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {\n log.assert(\n type === MAP_TYPES.QUERY || type === MAP_TYPES.TILESET,\n `Invalid type ${type}. Use type MAP_TYPES.QUERY or MAP_TYPES.TILESET for apiVersion ${apiVersion}`\n );\n log.assert(!connection, `Connection prop is not supported for apiVersion ${apiVersion}`);\n log.assert(!geoColumn, `geoColumn prop is not supported for apiVersion ${apiVersion}`);\n log.assert(!columns, `columns prop is not supported for apiVersion ${apiVersion}`);\n } else if (apiVersion === API_VERSIONS.V3) {\n log.assert(connection, 'Missing mandatory connection parameter');\n log.assert(\n Object.values(MAP_TYPES).includes(type),\n `Invalid type ${type}. Use MAP_TYPES enum.`\n );\n if (type !== MAP_TYPES.TABLE) {\n log.assert(!geoColumn, `geoColumn prop is only supported for type ${MAP_TYPES.TABLE}`);\n log.assert(!columns, `columns prop is only supported for type ${MAP_TYPES.TABLE}`);\n }\n if (columns) {\n log.assert(Array.isArray(columns), 'columns prop must be an Array');\n }\n }\n }\n\n updateState({props, oldProps, changeFlags}) {\n this._checkProps(props);\n const shouldUpdateData =\n changeFlags.dataChanged ||\n props.connection !== oldProps.connection ||\n props.geoColumn !== oldProps.geoColumn ||\n JSON.stringify(props.columns) !== JSON.stringify(oldProps.columns) ||\n props.type !== oldProps.type ||\n JSON.stringify(props.credentials) !== JSON.stringify(oldProps.credentials);\n\n if (shouldUpdateData) {\n this.setState({data: null, apiVersion: null});\n this._updateData();\n }\n }\n\n async _updateData() {\n try {\n const {type, data: source, clientId, credentials, ...rest} = this.props;\n const localConfig = {...getDefaultCredentials(), ...credentials};\n const {apiVersion} = localConfig;\n\n let result;\n if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {\n result = {data: await getDataV2({type, source, credentials})};\n } else {\n result = await fetchLayerData({type, source, clientId, credentials, ...rest});\n }\n\n this.setState({...result, apiVersion});\n this.props.onDataLoad(result.data);\n } catch (err) {\n if (this.props.onDataError) {\n this.props.onDataError(err);\n } else {\n throw err;\n }\n }\n }\n\n renderLayers() {\n const {data, format, apiVersion} = this.state;\n\n if (!data) return null;\n\n const {type, updateTriggers} = this.props;\n\n let layer;\n\n if (apiVersion === API_VERSIONS.V3 && type === MAP_TYPES.TABLE && format === FORMATS.TILEJSON) {\n layer = CartoDynamicTileLayer;\n } else if (\n apiVersion === API_VERSIONS.V1 ||\n apiVersion === API_VERSIONS.V2 ||\n format === FORMATS.TILEJSON\n ) {\n layer = MVTLayer;\n } else {\n layer = GeoJsonLayer;\n }\n\n const {uniqueIdProperty} = defaultProps;\n const props = {uniqueIdProperty, ...this.props};\n delete props.data;\n\n // eslint-disable-next-line new-cap\n return new layer(\n props,\n this.getSubLayerProps({\n id: `carto-${layer.layerName}`,\n data,\n updateTriggers\n })\n );\n }\n}\n\nCartoLayer.layerName = 'CartoLayer';\nCartoLayer.defaultProps = defaultProps;\n"],"file":"carto-layer.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/carto-layer.js"],"names":["CompositeLayer","log","CartoDynamicTileLayer","MVTLayer","GeoJsonLayer","fetchLayerData","getDataV2","API_VERSIONS","FORMATS","MAP_TYPES","TILE_FORMATS","getDefaultCredentials","defaultProps","data","type","onDataLoad","value","compare","onDataError","optional","uniqueIdProperty","credentials","connection","format","clientId","geoColumn","columns","CartoLayer","initializeState","state","apiVersion","isLoaded","getSubLayers","length","_checkProps","props","localCreds","assert","Object","values","includes","V1","V2","QUERY","TILESET","V3","TABLE","Array","isArray","updateState","oldProps","changeFlags","shouldUpdateData","dataChanged","JSON","stringify","setState","_updateData","source","rest","localConfig","result","err","renderLayers","updateTriggers","layer","tilesFormat","TILEJSON","URLSearchParams","tiles","get","MVT","getSubLayerProps","id","layerName"],"mappings":"AAAA,SAAQA,cAAR,EAAwBC,GAAxB,QAAkC,eAAlC;AACA,OAAOC,qBAAP,MAAkC,4BAAlC;AACA,SAAQC,QAAR,QAAuB,qBAAvB;AACA,SAAQC,YAAR,QAA2B,iBAA3B;AACA,SAAQC,cAAR,EAAwBC,SAAxB,EAAmCC,YAAnC,QAAsD,QAAtD;AACA,SAAQC,OAAR,EAAiBC,SAAjB,EAA4BC,YAA5B,QAA+C,wBAA/C;AACA,SAAQC,qBAAR,QAAoC,WAApC;AAEA,MAAMC,YAAY,GAAG;AAEnBC,EAAAA,IAAI,EAAE,IAFa;AAInBC,EAAAA,IAAI,EAAE,IAJa;AAKnBC,EAAAA,UAAU,EAAE;AAACD,IAAAA,IAAI,EAAE,UAAP;AAAmBE,IAAAA,KAAK,EAAEH,IAAI,IAAI,CAAE,CAApC;AAAsCI,IAAAA,OAAO,EAAE;AAA/C,GALO;AAMnBC,EAAAA,WAAW,EAAE;AAACJ,IAAAA,IAAI,EAAE,UAAP;AAAmBE,IAAAA,KAAK,EAAE,IAA1B;AAAgCC,IAAAA,OAAO,EAAE,KAAzC;AAAgDE,IAAAA,QAAQ,EAAE;AAA1D,GANM;AAOnBC,EAAAA,gBAAgB,EAAE,YAPC;AAUnBC,EAAAA,WAAW,EAAE,IAVM;AAgBnBC,EAAAA,UAAU,EAAE,IAhBO;AAmBnBC,EAAAA,MAAM,EAAE,IAnBW;AAsBnBC,EAAAA,QAAQ,EAAE,IAtBS;AAyBnBC,EAAAA,SAAS,EAAE,IAzBQ;AA4BnBC,EAAAA,OAAO,EAAE;AAACZ,IAAAA,IAAI,EAAE,OAAP;AAAgBE,IAAAA,KAAK,EAAE;AAAvB;AA5BU,CAArB;AA+BA,eAAe,MAAMW,UAAN,SAAyB3B,cAAzB,CAAwC;AACrD4B,EAAAA,eAAe,GAAG;AAChB,SAAKC,KAAL,GAAa;AACXhB,MAAAA,IAAI,EAAE,IADK;AAEXiB,MAAAA,UAAU,EAAE;AAFD,KAAb;AAID;;AAEW,MAARC,QAAQ,GAAG;AACb,WAAO,KAAKC,YAAL,GAAoBC,MAApB,GAA6B,CAA7B,IAAkC,MAAMF,QAA/C;AACD;;AAEDG,EAAAA,WAAW,CAACC,KAAD,EAAQ;AACjB,UAAM;AAACrB,MAAAA,IAAD;AAAOO,MAAAA,WAAP;AAAoBC,MAAAA,UAApB;AAAgCG,MAAAA,SAAhC;AAA2CC,MAAAA;AAA3C,QAAsDS,KAA5D;AACA,UAAMC,UAAU,GAAG,EAAC,GAAGzB,qBAAqB,EAAzB;AAA6B,SAAGU;AAAhC,KAAnB;AACA,UAAM;AAACS,MAAAA;AAAD,QAAeM,UAArB;AAEAnC,IAAAA,GAAG,CAACoC,MAAJ,CACEC,MAAM,CAACC,MAAP,CAAchC,YAAd,EAA4BiC,QAA5B,CAAqCV,UAArC,CADF,+BAEwBA,UAFxB;;AAKA,QAAIA,UAAU,KAAKvB,YAAY,CAACkC,EAA5B,IAAkCX,UAAU,KAAKvB,YAAY,CAACmC,EAAlE,EAAsE;AACpEzC,MAAAA,GAAG,CAACoC,MAAJ,CACEvB,IAAI,KAAKL,SAAS,CAACkC,KAAnB,IAA4B7B,IAAI,KAAKL,SAAS,CAACmC,OADjD,yBAEkB9B,IAFlB,4EAEwFgB,UAFxF;AAIA7B,MAAAA,GAAG,CAACoC,MAAJ,CAAW,CAACf,UAAZ,4DAA2EQ,UAA3E;AACA7B,MAAAA,GAAG,CAACoC,MAAJ,CAAW,CAACZ,SAAZ,2DAAyEK,UAAzE;AACA7B,MAAAA,GAAG,CAACoC,MAAJ,CAAW,CAACX,OAAZ,yDAAqEI,UAArE;AACD,KARD,MAQO,IAAIA,UAAU,KAAKvB,YAAY,CAACsC,EAAhC,EAAoC;AACzC5C,MAAAA,GAAG,CAACoC,MAAJ,CAAWf,UAAX,EAAuB,wCAAvB;AACArB,MAAAA,GAAG,CAACoC,MAAJ,CACEC,MAAM,CAACC,MAAP,CAAc9B,SAAd,EAAyB+B,QAAzB,CAAkC1B,IAAlC,CADF,yBAEkBA,IAFlB;;AAIA,UAAIA,IAAI,KAAKL,SAAS,CAACqC,KAAvB,EAA8B;AAC5B7C,QAAAA,GAAG,CAACoC,MAAJ,CAAW,CAACZ,SAAZ,sDAAoEhB,SAAS,CAACqC,KAA9E;AACA7C,QAAAA,GAAG,CAACoC,MAAJ,CAAW,CAACX,OAAZ,oDAAgEjB,SAAS,CAACqC,KAA1E;AACD;;AACD,UAAIpB,OAAJ,EAAa;AACXzB,QAAAA,GAAG,CAACoC,MAAJ,CAAWU,KAAK,CAACC,OAAN,CAActB,OAAd,CAAX,EAAmC,+BAAnC;AACD;AACF;AACF;;AAEDuB,EAAAA,WAAW,CAAC;AAACd,IAAAA,KAAD;AAAQe,IAAAA,QAAR;AAAkBC,IAAAA;AAAlB,GAAD,EAAiC;AAC1C,SAAKjB,WAAL,CAAiBC,KAAjB;;AACA,UAAMiB,gBAAgB,GACpBD,WAAW,CAACE,WAAZ,IACAlB,KAAK,CAACb,UAAN,KAAqB4B,QAAQ,CAAC5B,UAD9B,IAEAa,KAAK,CAACV,SAAN,KAAoByB,QAAQ,CAACzB,SAF7B,IAGA6B,IAAI,CAACC,SAAL,CAAepB,KAAK,CAACT,OAArB,MAAkC4B,IAAI,CAACC,SAAL,CAAeL,QAAQ,CAACxB,OAAxB,CAHlC,IAIAS,KAAK,CAACrB,IAAN,KAAeoC,QAAQ,CAACpC,IAJxB,IAKAwC,IAAI,CAACC,SAAL,CAAepB,KAAK,CAACd,WAArB,MAAsCiC,IAAI,CAACC,SAAL,CAAeL,QAAQ,CAAC7B,WAAxB,CANxC;;AAQA,QAAI+B,gBAAJ,EAAsB;AACpB,WAAKI,QAAL,CAAc;AAAC3C,QAAAA,IAAI,EAAE,IAAP;AAAaiB,QAAAA,UAAU,EAAE;AAAzB,OAAd;;AACA,WAAK2B,WAAL;AACD;AACF;;AAEgB,QAAXA,WAAW,GAAG;AAClB,QAAI;AACF,YAAM;AAAC3C,QAAAA,IAAD;AAAOD,QAAAA,IAAI,EAAE6C,MAAb;AAAqBlC,QAAAA,QAArB;AAA+BH,QAAAA,WAA/B;AAA4C,WAAGsC;AAA/C,UAAuD,KAAKxB,KAAlE;AACA,YAAMyB,WAAW,GAAG,EAAC,GAAGjD,qBAAqB,EAAzB;AAA6B,WAAGU;AAAhC,OAApB;AACA,YAAM;AAACS,QAAAA;AAAD,UAAe8B,WAArB;AAEA,UAAIC,MAAJ;;AACA,UAAI/B,UAAU,KAAKvB,YAAY,CAACkC,EAA5B,IAAkCX,UAAU,KAAKvB,YAAY,CAACmC,EAAlE,EAAsE;AACpEmB,QAAAA,MAAM,GAAG;AAAChD,UAAAA,IAAI,EAAE,MAAMP,SAAS,CAAC;AAACQ,YAAAA,IAAD;AAAO4C,YAAAA,MAAP;AAAerC,YAAAA;AAAf,WAAD;AAAtB,SAAT;AACD,OAFD,MAEO;AACLwC,QAAAA,MAAM,GAAG,MAAMxD,cAAc,CAAC;AAACS,UAAAA,IAAD;AAAO4C,UAAAA,MAAP;AAAelC,UAAAA,QAAf;AAAyBH,UAAAA,WAAzB;AAAsC,aAAGsC;AAAzC,SAAD,CAA7B;AACD;;AAED,WAAKH,QAAL,CAAc,EAAC,GAAGK,MAAJ;AAAY/B,QAAAA;AAAZ,OAAd;AACA,WAAKK,KAAL,CAAWpB,UAAX,CAAsB8C,MAAM,CAAChD,IAA7B;AACD,KAdD,CAcE,OAAOiD,GAAP,EAAY;AACZ,UAAI,KAAK3B,KAAL,CAAWjB,WAAf,EAA4B;AAC1B,aAAKiB,KAAL,CAAWjB,WAAX,CAAuB4C,GAAvB;AACD,OAFD,MAEO;AACL,cAAMA,GAAN;AACD;AACF;AACF;;AAEDC,EAAAA,YAAY,GAAG;AACb,UAAM;AAAClD,MAAAA,IAAD;AAAOU,MAAAA,MAAP;AAAeO,MAAAA;AAAf,QAA6B,KAAKD,KAAxC;AAEA,QAAI,CAAChB,IAAL,EAAW,OAAO,IAAP;AAEX,UAAM;AAACmD,MAAAA;AAAD,QAAmB,KAAK7B,KAA9B;AAEA,QAAI8B,KAAJ;AAGA,UAAMC,WAAW,GACfpC,UAAU,KAAKvB,YAAY,CAACsC,EAA5B,IACAtB,MAAM,KAAKf,OAAO,CAAC2D,QADnB,IAEA,IAAIC,eAAJ,CAAoBvD,IAAI,CAACwD,KAAL,CAAW,CAAX,CAApB,EAAmCC,GAAnC,CAAuC,QAAvC,CAHF;;AAKA,QAAIJ,WAAW,IAAIA,WAAW,KAAKxD,YAAY,CAAC6D,GAAhD,EAAqD;AACnDN,MAAAA,KAAK,GAAG/D,qBAAR;AACD,KAFD,MAEO,IACL4B,UAAU,KAAKvB,YAAY,CAACkC,EAA5B,IACAX,UAAU,KAAKvB,YAAY,CAACmC,EAD5B,IAEAnB,MAAM,KAAKf,OAAO,CAAC2D,QAHd,EAIL;AACAF,MAAAA,KAAK,GAAG9D,QAAR;AACD,KANM,MAMA;AACL8D,MAAAA,KAAK,GAAG7D,YAAR;AACD;;AAED,UAAM;AAACgB,MAAAA;AAAD,QAAqBR,YAA3B;AACA,UAAMuB,KAAK,GAAG;AAACf,MAAAA,gBAAD;AAAmB,SAAG,KAAKe;AAA3B,KAAd;AACA,WAAOA,KAAK,CAACtB,IAAb;AAGA,WAAO,IAAIoD,KAAJ,CACL9B,KADK,EAEL,KAAKqC,gBAAL,CAAsB;AACpBC,MAAAA,EAAE,kBAAWR,KAAK,CAACS,SAAjB,CADkB;AAEpB7D,MAAAA,IAFoB;AAGpBmD,MAAAA;AAHoB,KAAtB,CAFK,CAAP;AAQD;;AA9HoD;AAiIvDrC,UAAU,CAAC+C,SAAX,GAAuB,YAAvB;AACA/C,UAAU,CAACf,YAAX,GAA0BA,YAA1B","sourcesContent":["import {CompositeLayer, log} from '@deck.gl/core';\nimport CartoDynamicTileLayer from './carto-dynamic-tile-layer';\nimport {MVTLayer} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {fetchLayerData, getDataV2, API_VERSIONS} from '../api';\nimport {FORMATS, MAP_TYPES, TILE_FORMATS} from '../api/maps-api-common';\nimport {getDefaultCredentials} from '../config';\n\nconst defaultProps = {\n // (String, required): data resource to load. table name, sql query or tileset name.\n data: null,\n // (Enum (MAP_TYPES), required)\n type: null,\n onDataLoad: {type: 'function', value: data => {}, compare: false},\n onDataError: {type: 'function', value: null, compare: false, optional: true},\n uniqueIdProperty: 'cartodb_id',\n\n // override carto credentials for the layer, set to null to read from default\n credentials: null,\n\n /*********************/\n /* API v3 PARAMETERS */\n /**********************/\n // (String, required): connection name at CARTO platform\n connection: null,\n\n // (String, optional): format of data\n format: null,\n\n // (String, optional): clientId identifier used for internal tracing, place here a string to identify the client who is doing the request.\n clientId: null,\n\n // (String, optional): name of the `geo_column` in the CARTO platform. Use this override the default column ('geom'), from which the geometry information should be fetched.\n geoColumn: null,\n\n // (Array<String>, optional): names of columns to fetch. By default, all columns are fetched.\n columns: {type: 'array', value: null}\n};\n\nexport default class CartoLayer extends CompositeLayer {\n initializeState() {\n this.state = {\n data: null,\n apiVersion: null\n };\n }\n\n get isLoaded() {\n return this.getSubLayers().length > 0 && super.isLoaded;\n }\n\n _checkProps(props) {\n const {type, credentials, connection, geoColumn, columns} = props;\n const localCreds = {...getDefaultCredentials(), ...credentials};\n const {apiVersion} = localCreds;\n\n log.assert(\n Object.values(API_VERSIONS).includes(apiVersion),\n `Invalid apiVersion ${apiVersion}. Use API_VERSIONS enum.`\n );\n\n if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {\n log.assert(\n type === MAP_TYPES.QUERY || type === MAP_TYPES.TILESET,\n `Invalid type ${type}. Use type MAP_TYPES.QUERY or MAP_TYPES.TILESET for apiVersion ${apiVersion}`\n );\n log.assert(!connection, `Connection prop is not supported for apiVersion ${apiVersion}`);\n log.assert(!geoColumn, `geoColumn prop is not supported for apiVersion ${apiVersion}`);\n log.assert(!columns, `columns prop is not supported for apiVersion ${apiVersion}`);\n } else if (apiVersion === API_VERSIONS.V3) {\n log.assert(connection, 'Missing mandatory connection parameter');\n log.assert(\n Object.values(MAP_TYPES).includes(type),\n `Invalid type ${type}. Use MAP_TYPES enum.`\n );\n if (type !== MAP_TYPES.TABLE) {\n log.assert(!geoColumn, `geoColumn prop is only supported for type ${MAP_TYPES.TABLE}`);\n log.assert(!columns, `columns prop is only supported for type ${MAP_TYPES.TABLE}`);\n }\n if (columns) {\n log.assert(Array.isArray(columns), 'columns prop must be an Array');\n }\n }\n }\n\n updateState({props, oldProps, changeFlags}) {\n this._checkProps(props);\n const shouldUpdateData =\n changeFlags.dataChanged ||\n props.connection !== oldProps.connection ||\n props.geoColumn !== oldProps.geoColumn ||\n JSON.stringify(props.columns) !== JSON.stringify(oldProps.columns) ||\n props.type !== oldProps.type ||\n JSON.stringify(props.credentials) !== JSON.stringify(oldProps.credentials);\n\n if (shouldUpdateData) {\n this.setState({data: null, apiVersion: null});\n this._updateData();\n }\n }\n\n async _updateData() {\n try {\n const {type, data: source, clientId, credentials, ...rest} = this.props;\n const localConfig = {...getDefaultCredentials(), ...credentials};\n const {apiVersion} = localConfig;\n\n let result;\n if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {\n result = {data: await getDataV2({type, source, credentials})};\n } else {\n result = await fetchLayerData({type, source, clientId, credentials, ...rest});\n }\n\n this.setState({...result, apiVersion});\n this.props.onDataLoad(result.data);\n } catch (err) {\n if (this.props.onDataError) {\n this.props.onDataError(err);\n } else {\n throw err;\n }\n }\n }\n\n renderLayers() {\n const {data, format, apiVersion} = this.state;\n\n if (!data) return null;\n\n const {updateTriggers} = this.props;\n\n let layer;\n\n /* global URLSearchParams */\n const tilesFormat =\n apiVersion === API_VERSIONS.V3 &&\n format === FORMATS.TILEJSON &&\n new URLSearchParams(data.tiles[0]).get('format');\n\n if (tilesFormat && tilesFormat !== TILE_FORMATS.MVT) {\n layer = CartoDynamicTileLayer;\n } else if (\n apiVersion === API_VERSIONS.V1 ||\n apiVersion === API_VERSIONS.V2 ||\n format === FORMATS.TILEJSON\n ) {\n layer = MVTLayer;\n } else {\n layer = GeoJsonLayer;\n }\n\n const {uniqueIdProperty} = defaultProps;\n const props = {uniqueIdProperty, ...this.props};\n delete props.data;\n\n // eslint-disable-next-line new-cap\n return new layer(\n props,\n this.getSubLayerProps({\n id: `carto-${layer.layerName}`,\n data,\n updateTriggers\n })\n );\n }\n}\n\nCartoLayer.layerName = 'CartoLayer';\nCartoLayer.defaultProps = defaultProps;\n"],"file":"carto-layer.js"}
|