@deck.gl/carto 8.7.0-alpha.2 → 8.7.0-alpha.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.
Files changed (38) hide show
  1. package/dist/dist.dev.js +42 -131
  2. package/dist/es5/api/layer-map.js +1 -0
  3. package/dist/es5/api/layer-map.js.map +1 -1
  4. package/dist/es5/api/maps-v3-client.js +7 -7
  5. package/dist/es5/api/maps-v3-client.js.map +1 -1
  6. package/dist/es5/api/parseMap.js +1 -0
  7. package/dist/es5/api/parseMap.js.map +1 -1
  8. package/dist/es5/index.js +0 -16
  9. package/dist/es5/index.js.map +1 -1
  10. package/dist/es5/layers/carto-layer.js +23 -21
  11. package/dist/es5/layers/carto-layer.js.map +1 -1
  12. package/dist/esm/api/layer-map.js +1 -0
  13. package/dist/esm/api/layer-map.js.map +1 -1
  14. package/dist/esm/api/maps-v3-client.js +7 -7
  15. package/dist/esm/api/maps-v3-client.js.map +1 -1
  16. package/dist/esm/api/parseMap.js +1 -0
  17. package/dist/esm/api/parseMap.js.map +1 -1
  18. package/dist/esm/index.js +0 -2
  19. package/dist/esm/index.js.map +1 -1
  20. package/dist/esm/layers/carto-layer.js +25 -23
  21. package/dist/esm/layers/carto-layer.js.map +1 -1
  22. package/dist.min.js +4 -4
  23. package/package.json +2 -2
  24. package/src/api/layer-map.js +1 -0
  25. package/src/api/maps-v3-client.js +6 -6
  26. package/src/api/parseMap.js +1 -0
  27. package/src/index.js +0 -2
  28. package/src/layers/carto-layer.js +16 -20
  29. package/dist/es5/layers/carto-bqtiler-layer.js +0 -32
  30. package/dist/es5/layers/carto-bqtiler-layer.js.map +0 -1
  31. package/dist/es5/layers/carto-sql-layer.js +0 -33
  32. package/dist/es5/layers/carto-sql-layer.js.map +0 -1
  33. package/dist/esm/layers/carto-bqtiler-layer.js +0 -16
  34. package/dist/esm/layers/carto-bqtiler-layer.js.map +0 -1
  35. package/dist/esm/layers/carto-sql-layer.js +0 -17
  36. package/dist/esm/layers/carto-sql-layer.js.map +0 -1
  37. package/src/layers/carto-bqtiler-layer.js +0 -21
  38. package/src/layers/carto-sql-layer.js +0 -22
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@deck.gl/carto",
3
3
  "description": "CARTO official integration with Deck.gl. Build geospatial applications using CARTO and Deck.gl.",
4
4
  "license": "MIT",
5
- "version": "8.7.0-alpha.2",
5
+ "version": "8.7.0-alpha.3",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
@@ -48,5 +48,5 @@
48
48
  "@deck.gl/layers": "^8.0.0",
49
49
  "@loaders.gl/core": "^3.0.0"
50
50
  },
51
- "gitHead": "67bc5fe69149ae933a5f203724ad58f58c4a1737"
51
+ "gitHead": "03fd8c4caae96d66bd651cb76e11a6d05acf8f8c"
52
52
  }
@@ -28,6 +28,7 @@ const SCALE_FUNCS = {
28
28
  const sharedPropMap = {
29
29
  color: 'getFillColor',
30
30
  isVisible: 'visible',
31
+ label: 'cartoLabel',
31
32
  textLabel: {
32
33
  alignment: 'getTextAlignmentBaseline',
33
34
  anchor: 'getTextAnchor',
@@ -240,11 +240,11 @@ export async function getData({type, source, connection, credentials, geoColumn,
240
240
  }
241
241
 
242
242
  /* global clearInterval, setInterval, URLSearchParams */
243
- async function _fetchMapDataset(dataset, accessToken) {
243
+ async function _fetchMapDataset(dataset, accessToken, credentials) {
244
244
  // First fetch metadata
245
245
  const {connectionName: connection, source, type} = dataset;
246
246
  const {url, mapFormat} = await _fetchDataUrl({
247
- credentials: {accessToken},
247
+ credentials: {...credentials, accessToken},
248
248
  connection,
249
249
  source,
250
250
  type
@@ -263,8 +263,8 @@ async function _fetchMapDataset(dataset, accessToken) {
263
263
  return true;
264
264
  }
265
265
 
266
- async function fillInMapDatasets({datasets, publicToken}) {
267
- const promises = datasets.map(dataset => _fetchMapDataset(dataset, publicToken));
266
+ async function fillInMapDatasets({datasets, token}, credentials) {
267
+ const promises = datasets.map(dataset => _fetchMapDataset(dataset, token, credentials));
268
268
  return await Promise.all(promises);
269
269
  }
270
270
 
@@ -297,7 +297,7 @@ export async function fetchMap({cartoMapId, credentials, autoRefresh, onNewData}
297
297
  let stopAutoRefresh;
298
298
  if (autoRefresh) {
299
299
  const intervalId = setInterval(async () => {
300
- const changed = await fillInMapDatasets(map);
300
+ const changed = await fillInMapDatasets(map, credentials);
301
301
  if (changed.some(v => v === true)) {
302
302
  onNewData(parseMap(map));
303
303
  }
@@ -308,7 +308,7 @@ export async function fetchMap({cartoMapId, credentials, autoRefresh, onNewData}
308
308
  }
309
309
 
310
310
  // Mutates map.datasets so that dataset.data contains data
311
- await fillInMapDatasets(map);
311
+ await fillInMapDatasets(map, credentials);
312
312
  return {
313
313
  ...parseMap(map),
314
314
  ...{stopAutoRefresh}
@@ -61,6 +61,7 @@ function extractTextLayers(layers) {
61
61
  config: {
62
62
  textLabel: t,
63
63
  ...configRest,
64
+ label: `${config.label}-label-${t.field.name}`,
64
65
  visConfig: {...configRest.visConfig, opacity: 1}
65
66
  },
66
67
  ...rest
package/src/index.js CHANGED
@@ -1,6 +1,4 @@
1
1
  export {getDefaultCredentials, setDefaultCredentials} from './config.js';
2
- export {default as CartoSQLLayer} from './layers/carto-sql-layer';
3
- export {default as CartoBQTilerLayer} from './layers/carto-bqtiler-layer';
4
2
  export {default as CartoLayer} from './layers/carto-layer';
5
3
  export {default as BASEMAP} from './basemap';
6
4
  export {default as colorBins} from './style/color-bins-style';
@@ -1,8 +1,8 @@
1
1
  import {CompositeLayer, log} from '@deck.gl/core';
2
2
  import {MVTLayer} from '@deck.gl/geo-layers';
3
3
  import {GeoJsonLayer} from '@deck.gl/layers';
4
- import {getData, getDataV2, API_VERSIONS} from '../api';
5
- import {MAP_TYPES} from '../api/maps-api-common';
4
+ import {fetchLayerData, getDataV2, API_VERSIONS} from '../api';
5
+ import {FORMATS, MAP_TYPES} from '../api/maps-api-common';
6
6
  import {getDefaultCredentials} from '../config';
7
7
 
8
8
  const defaultProps = {
@@ -12,6 +12,7 @@ const defaultProps = {
12
12
  type: null,
13
13
  onDataLoad: {type: 'function', value: data => {}, compare: false},
14
14
  onDataError: {type: 'function', value: null, compare: false, optional: true},
15
+ uniqueIdProperty: 'cartodb_id',
15
16
 
16
17
  // override carto credentials for the layer, set to null to read from default
17
18
  credentials: null,
@@ -22,6 +23,9 @@ const defaultProps = {
22
23
  // (String, required): connection name at CARTO platform
23
24
  connection: null,
24
25
 
26
+ // (String, optional): format of data
27
+ format: null,
28
+
25
29
  // (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.
26
30
  geoColumn: null,
27
31
 
@@ -93,27 +97,19 @@ export default class CartoLayer extends CompositeLayer {
93
97
 
94
98
  async _updateData() {
95
99
  try {
96
- const {type, data: source, connection, credentials, geoColumn, columns} = this.props;
100
+ const {type, data: source, credentials, ...rest} = this.props;
97
101
  const localConfig = {...getDefaultCredentials(), ...credentials};
98
102
  const {apiVersion} = localConfig;
99
103
 
100
- let data;
101
-
104
+ let result;
102
105
  if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {
103
- data = await getDataV2({type, source, credentials});
106
+ result = {data: await getDataV2({type, source, credentials})};
104
107
  } else {
105
- data = await getData({
106
- type,
107
- source,
108
- connection,
109
- credentials,
110
- geoColumn,
111
- columns
112
- });
108
+ result = await fetchLayerData({type, source, credentials, ...rest});
113
109
  }
114
110
 
115
- this.setState({data, apiVersion});
116
- this.props.onDataLoad(data);
111
+ this.setState({...result, apiVersion});
112
+ this.props.onDataLoad(result.data);
117
113
  } catch (err) {
118
114
  if (this.props.onDataError) {
119
115
  this.props.onDataError(err);
@@ -124,8 +120,7 @@ export default class CartoLayer extends CompositeLayer {
124
120
  }
125
121
 
126
122
  renderLayers() {
127
- const {data, apiVersion} = this.state;
128
- const {type} = this.props;
123
+ const {data, format, apiVersion} = this.state;
129
124
 
130
125
  if (!data) return null;
131
126
 
@@ -136,14 +131,15 @@ export default class CartoLayer extends CompositeLayer {
136
131
  if (
137
132
  apiVersion === API_VERSIONS.V1 ||
138
133
  apiVersion === API_VERSIONS.V2 ||
139
- type === MAP_TYPES.TILESET
134
+ format === FORMATS.TILEJSON
140
135
  ) {
141
136
  layer = MVTLayer;
142
137
  } else {
143
138
  layer = GeoJsonLayer;
144
139
  }
145
140
 
146
- const props = {...this.props};
141
+ const {uniqueIdProperty} = defaultProps;
142
+ const props = {uniqueIdProperty, ...this.props};
147
143
  delete props.data;
148
144
 
149
145
  // eslint-disable-next-line new-cap
@@ -1,32 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _core = require("@deck.gl/core");
11
-
12
- var _cartoLayer = _interopRequireDefault(require("./carto-layer"));
13
-
14
- var _api = require("../api");
15
-
16
- const defaultProps = { ..._cartoLayer.default.defaultProps,
17
- type: _api.MAP_TYPES.TILESET
18
- };
19
-
20
- class CartoBQTilerLayer extends _cartoLayer.default {
21
- constructor(...args) {
22
- super(...args);
23
-
24
- _core.log.warn('CartoBQTilerLayer will be removed in future versions. Use CartoLayer with type=MAP_TYPES.TILESET and apiVersion=API_VERSIONS.V2')();
25
- }
26
-
27
- }
28
-
29
- exports.default = CartoBQTilerLayer;
30
- CartoBQTilerLayer.layerName = 'CartoBQTilerLayer';
31
- CartoBQTilerLayer.defaultProps = defaultProps;
32
- //# sourceMappingURL=carto-bqtiler-layer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/layers/carto-bqtiler-layer.js"],"names":["defaultProps","CartoLayer","type","MAP_TYPES","TILESET","CartoBQTilerLayer","constructor","args","log","warn","layerName"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA,MAAMA,YAAY,GAAG,EACnB,GAAGC,oBAAWD,YADK;AAEnBE,EAAAA,IAAI,EAAEC,eAAUC;AAFG,CAArB;;AAKe,MAAMC,iBAAN,SAAgCJ,mBAAhC,CAA2C;AACxDK,EAAAA,WAAW,CAAC,GAAGC,IAAJ,EAAU;AACnB,UAAM,GAAGA,IAAT;;AAEAC,cAAIC,IAAJ,CACE,iIADF;AAGD;;AAPuD;;;AAU1DJ,iBAAiB,CAACK,SAAlB,GAA8B,mBAA9B;AACAL,iBAAiB,CAACL,YAAlB,GAAiCA,YAAjC","sourcesContent":["import {log} from '@deck.gl/core';\nimport CartoLayer from './carto-layer';\nimport {MAP_TYPES} from '../api';\n\nconst defaultProps = {\n ...CartoLayer.defaultProps,\n type: MAP_TYPES.TILESET\n};\n\nexport default class CartoBQTilerLayer extends CartoLayer {\n constructor(...args) {\n super(...args);\n\n log.warn(\n 'CartoBQTilerLayer will be removed in future versions. Use CartoLayer with type=MAP_TYPES.TILESET and apiVersion=API_VERSIONS.V2'\n )();\n }\n}\n\nCartoBQTilerLayer.layerName = 'CartoBQTilerLayer';\nCartoBQTilerLayer.defaultProps = defaultProps;\n"],"file":"carto-bqtiler-layer.js"}
@@ -1,33 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _core = require("@deck.gl/core");
11
-
12
- var _cartoLayer = _interopRequireDefault(require("./carto-layer"));
13
-
14
- var _api = require("../api");
15
-
16
- const defaultProps = { ..._cartoLayer.default.defaultProps,
17
- type: _api.MAP_TYPES.QUERY,
18
- uniqueIdProperty: 'cartodb_id'
19
- };
20
-
21
- class CartoSQLLayer extends _cartoLayer.default {
22
- constructor(...args) {
23
- super(...args);
24
-
25
- _core.log.warn('CartoSQLLayer will be removed in future versions. Use CartoLayer with type=MAP_TYPES.QUERY and apiVersion=API_VERSIONS.V2')();
26
- }
27
-
28
- }
29
-
30
- exports.default = CartoSQLLayer;
31
- CartoSQLLayer.layerName = 'CartoSQLLayer';
32
- CartoSQLLayer.defaultProps = defaultProps;
33
- //# sourceMappingURL=carto-sql-layer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/layers/carto-sql-layer.js"],"names":["defaultProps","CartoLayer","type","MAP_TYPES","QUERY","uniqueIdProperty","CartoSQLLayer","constructor","args","log","warn","layerName"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA,MAAMA,YAAY,GAAG,EACnB,GAAGC,oBAAWD,YADK;AAEnBE,EAAAA,IAAI,EAAEC,eAAUC,KAFG;AAGnBC,EAAAA,gBAAgB,EAAE;AAHC,CAArB;;AAMe,MAAMC,aAAN,SAA4BL,mBAA5B,CAAuC;AACpDM,EAAAA,WAAW,CAAC,GAAGC,IAAJ,EAAU;AACnB,UAAM,GAAGA,IAAT;;AAEAC,cAAIC,IAAJ,CACE,2HADF;AAGD;;AAPmD;;;AAUtDJ,aAAa,CAACK,SAAd,GAA0B,eAA1B;AACAL,aAAa,CAACN,YAAd,GAA6BA,YAA7B","sourcesContent":["import {log} from '@deck.gl/core';\nimport CartoLayer from './carto-layer';\nimport {MAP_TYPES} from '../api';\n\nconst defaultProps = {\n ...CartoLayer.defaultProps,\n type: MAP_TYPES.QUERY,\n uniqueIdProperty: 'cartodb_id'\n};\n\nexport default class CartoSQLLayer extends CartoLayer {\n constructor(...args) {\n super(...args);\n\n log.warn(\n 'CartoSQLLayer will be removed in future versions. Use CartoLayer with type=MAP_TYPES.QUERY and apiVersion=API_VERSIONS.V2'\n )();\n }\n}\n\nCartoSQLLayer.layerName = 'CartoSQLLayer';\nCartoSQLLayer.defaultProps = defaultProps;\n"],"file":"carto-sql-layer.js"}
@@ -1,16 +0,0 @@
1
- import { log } from '@deck.gl/core';
2
- import CartoLayer from './carto-layer';
3
- import { MAP_TYPES } from '../api';
4
- const defaultProps = { ...CartoLayer.defaultProps,
5
- type: MAP_TYPES.TILESET
6
- };
7
- export default class CartoBQTilerLayer extends CartoLayer {
8
- constructor(...args) {
9
- super(...args);
10
- log.warn('CartoBQTilerLayer will be removed in future versions. Use CartoLayer with type=MAP_TYPES.TILESET and apiVersion=API_VERSIONS.V2')();
11
- }
12
-
13
- }
14
- CartoBQTilerLayer.layerName = 'CartoBQTilerLayer';
15
- CartoBQTilerLayer.defaultProps = defaultProps;
16
- //# sourceMappingURL=carto-bqtiler-layer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/layers/carto-bqtiler-layer.js"],"names":["log","CartoLayer","MAP_TYPES","defaultProps","type","TILESET","CartoBQTilerLayer","constructor","args","warn","layerName"],"mappings":"AAAA,SAAQA,GAAR,QAAkB,eAAlB;AACA,OAAOC,UAAP,MAAuB,eAAvB;AACA,SAAQC,SAAR,QAAwB,QAAxB;AAEA,MAAMC,YAAY,GAAG,EACnB,GAAGF,UAAU,CAACE,YADK;AAEnBC,EAAAA,IAAI,EAAEF,SAAS,CAACG;AAFG,CAArB;AAKA,eAAe,MAAMC,iBAAN,SAAgCL,UAAhC,CAA2C;AACxDM,EAAAA,WAAW,CAAC,GAAGC,IAAJ,EAAU;AACnB,UAAM,GAAGA,IAAT;AAEAR,IAAAA,GAAG,CAACS,IAAJ,CACE,iIADF;AAGD;;AAPuD;AAU1DH,iBAAiB,CAACI,SAAlB,GAA8B,mBAA9B;AACAJ,iBAAiB,CAACH,YAAlB,GAAiCA,YAAjC","sourcesContent":["import {log} from '@deck.gl/core';\nimport CartoLayer from './carto-layer';\nimport {MAP_TYPES} from '../api';\n\nconst defaultProps = {\n ...CartoLayer.defaultProps,\n type: MAP_TYPES.TILESET\n};\n\nexport default class CartoBQTilerLayer extends CartoLayer {\n constructor(...args) {\n super(...args);\n\n log.warn(\n 'CartoBQTilerLayer will be removed in future versions. Use CartoLayer with type=MAP_TYPES.TILESET and apiVersion=API_VERSIONS.V2'\n )();\n }\n}\n\nCartoBQTilerLayer.layerName = 'CartoBQTilerLayer';\nCartoBQTilerLayer.defaultProps = defaultProps;\n"],"file":"carto-bqtiler-layer.js"}
@@ -1,17 +0,0 @@
1
- import { log } from '@deck.gl/core';
2
- import CartoLayer from './carto-layer';
3
- import { MAP_TYPES } from '../api';
4
- const defaultProps = { ...CartoLayer.defaultProps,
5
- type: MAP_TYPES.QUERY,
6
- uniqueIdProperty: 'cartodb_id'
7
- };
8
- export default class CartoSQLLayer extends CartoLayer {
9
- constructor(...args) {
10
- super(...args);
11
- log.warn('CartoSQLLayer will be removed in future versions. Use CartoLayer with type=MAP_TYPES.QUERY and apiVersion=API_VERSIONS.V2')();
12
- }
13
-
14
- }
15
- CartoSQLLayer.layerName = 'CartoSQLLayer';
16
- CartoSQLLayer.defaultProps = defaultProps;
17
- //# sourceMappingURL=carto-sql-layer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/layers/carto-sql-layer.js"],"names":["log","CartoLayer","MAP_TYPES","defaultProps","type","QUERY","uniqueIdProperty","CartoSQLLayer","constructor","args","warn","layerName"],"mappings":"AAAA,SAAQA,GAAR,QAAkB,eAAlB;AACA,OAAOC,UAAP,MAAuB,eAAvB;AACA,SAAQC,SAAR,QAAwB,QAAxB;AAEA,MAAMC,YAAY,GAAG,EACnB,GAAGF,UAAU,CAACE,YADK;AAEnBC,EAAAA,IAAI,EAAEF,SAAS,CAACG,KAFG;AAGnBC,EAAAA,gBAAgB,EAAE;AAHC,CAArB;AAMA,eAAe,MAAMC,aAAN,SAA4BN,UAA5B,CAAuC;AACpDO,EAAAA,WAAW,CAAC,GAAGC,IAAJ,EAAU;AACnB,UAAM,GAAGA,IAAT;AAEAT,IAAAA,GAAG,CAACU,IAAJ,CACE,2HADF;AAGD;;AAPmD;AAUtDH,aAAa,CAACI,SAAd,GAA0B,eAA1B;AACAJ,aAAa,CAACJ,YAAd,GAA6BA,YAA7B","sourcesContent":["import {log} from '@deck.gl/core';\nimport CartoLayer from './carto-layer';\nimport {MAP_TYPES} from '../api';\n\nconst defaultProps = {\n ...CartoLayer.defaultProps,\n type: MAP_TYPES.QUERY,\n uniqueIdProperty: 'cartodb_id'\n};\n\nexport default class CartoSQLLayer extends CartoLayer {\n constructor(...args) {\n super(...args);\n\n log.warn(\n 'CartoSQLLayer will be removed in future versions. Use CartoLayer with type=MAP_TYPES.QUERY and apiVersion=API_VERSIONS.V2'\n )();\n }\n}\n\nCartoSQLLayer.layerName = 'CartoSQLLayer';\nCartoSQLLayer.defaultProps = defaultProps;\n"],"file":"carto-sql-layer.js"}
@@ -1,21 +0,0 @@
1
- import {log} from '@deck.gl/core';
2
- import CartoLayer from './carto-layer';
3
- import {MAP_TYPES} from '../api';
4
-
5
- const defaultProps = {
6
- ...CartoLayer.defaultProps,
7
- type: MAP_TYPES.TILESET
8
- };
9
-
10
- export default class CartoBQTilerLayer extends CartoLayer {
11
- constructor(...args) {
12
- super(...args);
13
-
14
- log.warn(
15
- 'CartoBQTilerLayer will be removed in future versions. Use CartoLayer with type=MAP_TYPES.TILESET and apiVersion=API_VERSIONS.V2'
16
- )();
17
- }
18
- }
19
-
20
- CartoBQTilerLayer.layerName = 'CartoBQTilerLayer';
21
- CartoBQTilerLayer.defaultProps = defaultProps;
@@ -1,22 +0,0 @@
1
- import {log} from '@deck.gl/core';
2
- import CartoLayer from './carto-layer';
3
- import {MAP_TYPES} from '../api';
4
-
5
- const defaultProps = {
6
- ...CartoLayer.defaultProps,
7
- type: MAP_TYPES.QUERY,
8
- uniqueIdProperty: 'cartodb_id'
9
- };
10
-
11
- export default class CartoSQLLayer extends CartoLayer {
12
- constructor(...args) {
13
- super(...args);
14
-
15
- log.warn(
16
- 'CartoSQLLayer will be removed in future versions. Use CartoLayer with type=MAP_TYPES.QUERY and apiVersion=API_VERSIONS.V2'
17
- )();
18
- }
19
- }
20
-
21
- CartoSQLLayer.layerName = 'CartoSQLLayer';
22
- CartoSQLLayer.defaultProps = defaultProps;