@carto/kepler.gl 0.0.61 → 0.0.63-alpha.simplify-locales

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 (43) hide show
  1. package/CHANGELOG.md +905 -0
  2. package/README.md +42 -651
  3. package/dist/components/common/portaled.js +2 -2
  4. package/dist/components/side-panel/layer-panel/layer-configurator.js +3 -5
  5. package/dist/constants/default-settings.js +8 -5
  6. package/dist/layers/base-layer.js +19 -27
  7. package/dist/layers/geojson-layer/geojson-layer.js +5 -13
  8. package/dist/layers/icon-layer/icon-layer.js +6 -12
  9. package/dist/layers/layer-factory.js +1 -9
  10. package/dist/layers/layer-text-label.js +4 -8
  11. package/dist/layers/point-layer/point-layer.js +8 -22
  12. package/dist/localization/en.js +1 -3
  13. package/dist/localization/index.js +23 -10
  14. package/dist/localization/locales.js +2 -9
  15. package/package.json +6 -2
  16. package/src/.DS_Store +0 -0
  17. package/src/components/common/portaled.js +1 -1
  18. package/src/components/side-panel/layer-panel/layer-configurator.js +1 -8
  19. package/src/constants/default-settings.js +8 -0
  20. package/src/layers/base-layer.js +15 -26
  21. package/src/layers/geojson-layer/geojson-layer.js +4 -10
  22. package/src/layers/icon-layer/icon-layer.js +4 -17
  23. package/src/layers/layer-factory.d.ts +0 -1
  24. package/src/layers/layer-factory.js +0 -8
  25. package/src/layers/layer-text-label.js +5 -8
  26. package/src/layers/point-layer/point-layer.js +5 -17
  27. package/src/localization/en.js +0 -2
  28. package/src/localization/index.js +3 -8
  29. package/src/localization/locales.js +1 -8
  30. package/dist/localization/ca.js +0 -458
  31. package/dist/localization/cn.js +0 -461
  32. package/dist/localization/es.js +0 -458
  33. package/dist/localization/fi.js +0 -430
  34. package/dist/localization/ja.js +0 -459
  35. package/dist/localization/pt.js +0 -430
  36. package/dist/localization/ru.js +0 -467
  37. package/src/localization/ca.js +0 -479
  38. package/src/localization/cn.js +0 -480
  39. package/src/localization/es.js +0 -480
  40. package/src/localization/fi.js +0 -451
  41. package/src/localization/ja.js +0 -480
  42. package/src/localization/pt.js +0 -452
  43. package/src/localization/ru.js +0 -491
@@ -33,14 +33,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
33
33
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
34
34
  // THE SOFTWARE.
35
35
  var LOCALES = {
36
- en: 'English',
37
- fi: 'Suomi',
38
- pt: 'Português',
39
- es: 'Español',
40
- ca: 'Català',
41
- ja: '日本語',
42
- cn: '简体中文',
43
- ru: 'Русский'
36
+ en: 'English'
44
37
  };
45
38
  /**
46
39
  * Localization can be passed to `KeplerGl` via uiState `locale`.
@@ -68,4 +61,4 @@ var LOCALE_CODES = Object.keys(LOCALES).reduce(function (acc, key) {
68
61
  return _objectSpread(_objectSpread({}, acc), {}, (0, _defineProperty2["default"])({}, key, key));
69
62
  }, {});
70
63
  exports.LOCALE_CODES = LOCALE_CODES;
71
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2NhbGl6YXRpb24vbG9jYWxlcy5qcyJdLCJuYW1lcyI6WyJMT0NBTEVTIiwiZW4iLCJmaSIsInB0IiwiZXMiLCJjYSIsImphIiwiY24iLCJydSIsIkxPQ0FMRV9DT0RFUyIsIk9iamVjdCIsImtleXMiLCJyZWR1Y2UiLCJhY2MiLCJrZXkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRU8sSUFBTUEsT0FBTyxHQUFHO0FBQ3JCQyxFQUFBQSxFQUFFLEVBQUUsU0FEaUI7QUFFckJDLEVBQUFBLEVBQUUsRUFBRSxPQUZpQjtBQUdyQkMsRUFBQUEsRUFBRSxFQUFFLFdBSGlCO0FBSXJCQyxFQUFBQSxFQUFFLEVBQUUsU0FKaUI7QUFLckJDLEVBQUFBLEVBQUUsRUFBRSxRQUxpQjtBQU1yQkMsRUFBQUEsRUFBRSxFQUFFLEtBTmlCO0FBT3JCQyxFQUFBQSxFQUFFLEVBQUUsTUFQaUI7QUFRckJDLEVBQUFBLEVBQUUsRUFBRTtBQVJpQixDQUFoQjtBQVdQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUVPLElBQU1DLFlBQVksR0FBR0MsTUFBTSxDQUFDQyxJQUFQLENBQVlYLE9BQVosRUFBcUJZLE1BQXJCLENBQTRCLFVBQUNDLEdBQUQsRUFBTUMsR0FBTjtBQUFBLHlDQUFtQkQsR0FBbkIsNENBQXlCQyxHQUF6QixFQUErQkEsR0FBL0I7QUFBQSxDQUE1QixFQUFrRSxFQUFsRSxDQUFyQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmV4cG9ydCBjb25zdCBMT0NBTEVTID0ge1xuICBlbjogJ0VuZ2xpc2gnLFxuICBmaTogJ1N1b21pJyxcbiAgcHQ6ICdQb3J0dWd1w6pzJyxcbiAgZXM6ICdFc3Bhw7FvbCcsXG4gIGNhOiAnQ2F0YWzDoCcsXG4gIGphOiAn5pel5pys6KqeJyxcbiAgY246ICfnroDkvZPkuK3mlocnLFxuICBydTogJ9Cg0YPRgdGB0LrQuNC5J1xufTtcblxuLyoqXG4gKiBMb2NhbGl6YXRpb24gY2FuIGJlIHBhc3NlZCB0byBgS2VwbGVyR2xgIHZpYSB1aVN0YXRlIGBsb2NhbGVgLlxuICogQXZhaWxhYmxlIGxhbmd1YWdlcyBhcmUgYGVuYCBhbmQgYGZpYC4gRGVmYXVsdCBsYW5ndWFnZSBpcyBgZW5gXG4gKiBAY29uc3RhbnRcbiAqIEBwdWJsaWNcbiAqIEBleGFtcGxlXG4gKiBgYGBqc1xuICogaW1wb3J0IHtjb21iaW5lUmVkdWNlcnN9IGZyb20gJ3JlZHV4JztcbiAqIGltcG9ydCB7TE9DQUxFX0NPREVTfSBmcm9tICdrZXBsZXIuZ2wvbG9jYWxpemF0aW9uL2xvY2FsZXMnO1xuICpcbiAqIGNvbnN0IGN1c3RvbWl6ZWRLZXBsZXJHbFJlZHVjZXIgPSBrZXBsZXJHbFJlZHVjZXJcbiAqICAgLmluaXRpYWxTdGF0ZSh7XG4gKiAgICAgdWlTdGF0ZToge1xuICogICAgICAgLy8gdXNlIEZpbm5pc2ggbG9jYWxlXG4gKiAgICAgICBsb2NhbGU6IExPQ0FMRV9DT0RFUy5maVxuICogICAgIH1cbiAqICAgfSk7XG4gKlxuICogYGBgXG4gKi9cblxuZXhwb3J0IGNvbnN0IExPQ0FMRV9DT0RFUyA9IE9iamVjdC5rZXlzKExPQ0FMRVMpLnJlZHVjZSgoYWNjLCBrZXkpID0+ICh7Li4uYWNjLCBba2V5XToga2V5fSksIHt9KTtcbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2NhbGl6YXRpb24vbG9jYWxlcy5qcyJdLCJuYW1lcyI6WyJMT0NBTEVTIiwiZW4iLCJMT0NBTEVfQ09ERVMiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwiYWNjIiwia2V5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVPLElBQU1BLE9BQU8sR0FBRztBQUNyQkMsRUFBQUEsRUFBRSxFQUFFO0FBRGlCLENBQWhCO0FBSVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBRU8sSUFBTUMsWUFBWSxHQUFHQyxNQUFNLENBQUNDLElBQVAsQ0FBWUosT0FBWixFQUFxQkssTUFBckIsQ0FBNEIsVUFBQ0MsR0FBRCxFQUFNQyxHQUFOO0FBQUEseUNBQW1CRCxHQUFuQiw0Q0FBeUJDLEdBQXpCLEVBQStCQSxHQUEvQjtBQUFBLENBQTVCLEVBQWtFLEVBQWxFLENBQXJCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuZXhwb3J0IGNvbnN0IExPQ0FMRVMgPSB7XG4gIGVuOiAnRW5nbGlzaCdcbn07XG5cbi8qKlxuICogTG9jYWxpemF0aW9uIGNhbiBiZSBwYXNzZWQgdG8gYEtlcGxlckdsYCB2aWEgdWlTdGF0ZSBgbG9jYWxlYC5cbiAqIEF2YWlsYWJsZSBsYW5ndWFnZXMgYXJlIGBlbmAgYW5kIGBmaWAuIERlZmF1bHQgbGFuZ3VhZ2UgaXMgYGVuYFxuICogQGNvbnN0YW50XG4gKiBAcHVibGljXG4gKiBAZXhhbXBsZVxuICogYGBganNcbiAqIGltcG9ydCB7Y29tYmluZVJlZHVjZXJzfSBmcm9tICdyZWR1eCc7XG4gKiBpbXBvcnQge0xPQ0FMRV9DT0RFU30gZnJvbSAna2VwbGVyLmdsL2xvY2FsaXphdGlvbi9sb2NhbGVzJztcbiAqXG4gKiBjb25zdCBjdXN0b21pemVkS2VwbGVyR2xSZWR1Y2VyID0ga2VwbGVyR2xSZWR1Y2VyXG4gKiAgIC5pbml0aWFsU3RhdGUoe1xuICogICAgIHVpU3RhdGU6IHtcbiAqICAgICAgIC8vIHVzZSBGaW5uaXNoIGxvY2FsZVxuICogICAgICAgbG9jYWxlOiBMT0NBTEVfQ09ERVMuZmlcbiAqICAgICB9XG4gKiAgIH0pO1xuICpcbiAqIGBgYFxuICovXG5cbmV4cG9ydCBjb25zdCBMT0NBTEVfQ09ERVMgPSBPYmplY3Qua2V5cyhMT0NBTEVTKS5yZWR1Y2UoKGFjYywga2V5KSA9PiAoey4uLmFjYywgW2tleV06IGtleX0pLCB7fSk7XG4iXX0=
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@carto/kepler.gl",
3
3
  "author": "CARTO",
4
4
  "homepage": "https://github.com/CartoDB/carto-kepler#readme",
5
- "version": "0.0.61",
5
+ "version": "0.0.63-alpha.simplify-locales",
6
6
  "description": "kepler.gl is a webgl based application to visualize large scale location data in the browser",
7
7
  "license": "MIT",
8
8
  "main": "dist/index.js",
@@ -270,7 +270,11 @@
270
270
  "engines": {
271
271
  "node": ">=12.0.0"
272
272
  },
273
+ "maintainers": [
274
+ "Shan He <heshan0131@gmail.com>",
275
+ "Giuseppe Macri <gmacri@uber.com>"
276
+ ],
273
277
  "volta": {
274
278
  "node": "12.19.0"
275
279
  }
276
- }
280
+ }
package/src/.DS_Store ADDED
Binary file
@@ -112,7 +112,7 @@ const defaultModalStyle = {
112
112
  }
113
113
  };
114
114
 
115
- const WINDOW_PAD = 40;
115
+ const WINDOW_PAD = 20;
116
116
 
117
117
  const noop = () => {};
118
118
 
@@ -232,7 +232,7 @@ export default function LayerConfiguratorFactory(
232
232
  {...layer.visConfigSettings.radiusRange}
233
233
  {...visConfiguratorProps}
234
234
  label={false}
235
- disabled={!layer.config.sizeField || layer.config.visConfig.fixedRadius}
235
+ disabled={!layer.config.sizeField}
236
236
  />
237
237
  )}
238
238
  <ConfigGroupCollapsibleContent>
@@ -240,13 +240,6 @@ export default function LayerConfiguratorFactory(
240
240
  channel={layer.visualChannels.size}
241
241
  {...layerChannelConfigProps}
242
242
  />
243
- {layer.config.sizeField ? (
244
- <VisConfigSwitch
245
- {...layer.visConfigSettings.fixedRadius}
246
- {...visConfiguratorProps}
247
- disabled={layer.config.visConfig.customMarkers}
248
- />
249
- ) : null}
250
243
  </ConfigGroupCollapsibleContent>
251
244
  </LayerConfigGroup>
252
245
 
@@ -460,6 +460,7 @@ export const FIELD_TYPES_AGGREGATORS = {
460
460
  date: null,
461
461
  geojson: null,
462
462
  integer: [
463
+ AGGREGATION_TYPES.count,
463
464
  AGGREGATION_TYPES.average,
464
465
  AGGREGATION_TYPES.maximum,
465
466
  AGGREGATION_TYPES.minimum,
@@ -468,6 +469,7 @@ export const FIELD_TYPES_AGGREGATORS = {
468
469
  AGGREGATION_TYPES.variance
469
470
  ],
470
471
  real: [
472
+ AGGREGATION_TYPES.count,
471
473
  AGGREGATION_TYPES.average,
472
474
  AGGREGATION_TYPES.maximum,
473
475
  AGGREGATION_TYPES.minimum,
@@ -481,6 +483,10 @@ export const FIELD_TYPES_AGGREGATORS = {
481
483
  };
482
484
 
483
485
  export const FIELD_AGGREGATORS = [
486
+ {
487
+ id: AGGREGATION_TYPES.count,
488
+ displayName: 'COUNT'
489
+ },
484
490
  {
485
491
  id: AGGREGATION_TYPES.average,
486
492
  displayName: 'AVG'
@@ -525,6 +531,7 @@ export const linearFieldScaleFunctions = {
525
531
 
526
532
  export const linearFieldAggrScaleFunctions = {
527
533
  [CHANNEL_SCALES.colorAggr]: {
534
+ [AGGREGATION_TYPES.count]: [SCALE_TYPES.custom],
528
535
  [AGGREGATION_TYPES.average]: [SCALE_TYPES.quantize, SCALE_TYPES.quantile, SCALE_TYPES.custom],
529
536
  [AGGREGATION_TYPES.maximum]: [SCALE_TYPES.quantize, SCALE_TYPES.quantile, SCALE_TYPES.custom],
530
537
  [AGGREGATION_TYPES.minimum]: [SCALE_TYPES.quantize, SCALE_TYPES.quantile, SCALE_TYPES.custom],
@@ -535,6 +542,7 @@ export const linearFieldAggrScaleFunctions = {
535
542
  },
536
543
 
537
544
  [CHANNEL_SCALES.sizeAggr]: {
545
+ [AGGREGATION_TYPES.count]: [SCALE_TYPES.linear, SCALE_TYPES.sqrt, SCALE_TYPES.log],
538
546
  [AGGREGATION_TYPES.average]: [SCALE_TYPES.linear, SCALE_TYPES.sqrt, SCALE_TYPES.log],
539
547
  [AGGREGATION_TYPES.maximum]: [SCALE_TYPES.linear, SCALE_TYPES.sqrt, SCALE_TYPES.log],
540
548
  [AGGREGATION_TYPES.minimum]: [SCALE_TYPES.linear, SCALE_TYPES.sqrt, SCALE_TYPES.log],
@@ -975,10 +975,16 @@ class Layer {
975
975
  .unknown(UNKNOWN_COLOR);
976
976
  }
977
977
 
978
+ // for `count` aggregation, we domain is actually `[0, Infinity]` so it doesn't make sense
979
+ // to use it, so skip specyfying this domains
980
+ const domainIsInfinite = domain && (domain[0] === 0 && domain[1] === Infinity);
981
+ const scaleFactory = SCALE_FUNC[fixed ? 'linear' : scale];
978
982
  // @ts-ignore d3-scale type
979
- return SCALE_FUNC[fixed ? 'linear' : scale]()
980
- .domain(domain)
981
- .range(fixed ? domain : range);
983
+ let result = scaleFactory();
984
+ if (domain && !domainIsInfinite) {
985
+ result = result.domain(domain);
986
+ }
987
+ return result.range(fixed ? domain : range);
982
988
  }
983
989
 
984
990
  /**
@@ -1256,7 +1262,7 @@ class Layer {
1256
1262
  return objectInfo?.picked && objectInfo?.layer?.props?.id === this.id;
1257
1263
  }
1258
1264
 
1259
- getRadiusScaleByZoom(mapState, fixedRadius) {
1265
+ getRadiusScaleByZoom(mapState) {
1260
1266
  const radiusChannel = Object.values(this.visualChannels).find(vc => vc.property === 'radius');
1261
1267
 
1262
1268
  if (!radiusChannel) {
@@ -1264,25 +1270,20 @@ class Layer {
1264
1270
  }
1265
1271
 
1266
1272
  const field = radiusChannel.field;
1267
- const fixed = fixedRadius === undefined ? this.config.visConfig.fixedRadius : fixedRadius;
1268
1273
  const {radius} = this.config.visConfig;
1269
1274
 
1270
1275
  // @ts-ignore
1271
- return fixed ? 1 : (this.config[field] ? 1 : radius) * this.getZoomFactor(mapState);
1276
+ return (this.config[field] ? 1 : radius) * this.getZoomFactor(mapState);
1272
1277
  }
1273
1278
 
1274
- getRadiusScale(fixedRadius) {
1279
+ getRadiusScale() {
1275
1280
  const radiusChannel = Object.values(this.visualChannels).find(vc => vc.property === 'radius');
1276
1281
 
1277
- if (!radiusChannel) {
1282
+ if (!radiusChannel || this.config[radiusChannel.field]) {
1278
1283
  return 1;
1284
+ } else {
1285
+ return this.config.visConfig.radius;
1279
1286
  }
1280
-
1281
- const field = radiusChannel.field;
1282
- const fixed = fixedRadius === undefined ? this.config.visConfig.fixedRadius : fixedRadius;
1283
- const {radius} = this.config.visConfig;
1284
-
1285
- return fixed ? 1 : (this.config[field] ? 1 : radius);
1286
1287
  }
1287
1288
 
1288
1289
  getMaxMarkerSize() {
@@ -1292,18 +1293,6 @@ class Layer {
1292
1293
  return Math.ceil((field && radiusRange ? radiusRange[1] : radius));
1293
1294
  }
1294
1295
 
1295
- getRadiusUnit(fixedRadius) {
1296
- const radiusChannel = Object.values(this.visualChannels).find(vc => vc.property === 'radius');
1297
-
1298
- if (!radiusChannel) {
1299
- return 'pixels';
1300
- }
1301
-
1302
- const fixed = fixedRadius === undefined ? this.config.visConfig.fixedRadius : fixedRadius;
1303
-
1304
- return fixed ? 'meters' : 'pixels';
1305
- }
1306
-
1307
1296
  shouldCalculateLayerData(props) {
1308
1297
  return props.some(p => !this.noneLayerDataAffectingProps.includes(p));
1309
1298
  }
@@ -237,15 +237,11 @@ export default class GeoJsonLayer extends Layer {
237
237
 
238
238
  // get bounds from features
239
239
  const bounds = getGeojsonBounds(this.dataToFeature);
240
- // if any of the feature has properties.radius set to be true
241
- const fixedRadius = Boolean(
242
- this.dataToFeature.find(d => d && d.properties && d.properties.radius)
243
- );
244
240
 
245
241
  // keep a record of what type of geometry the collection has
246
242
  const featureTypes = getGeojsonFeatureTypes(this.dataToFeature);
247
243
 
248
- this.updateMeta({bounds, fixedRadius, featureTypes});
244
+ this.updateMeta({bounds, featureTypes});
249
245
  }
250
246
 
251
247
  setInitialLayerConfig({dataContainer}) {
@@ -271,10 +267,8 @@ export default class GeoJsonLayer extends Layer {
271
267
  renderLayer(opts) {
272
268
  const {data, gpuFilter, objectHovered} = opts;
273
269
 
274
- const {fixedRadius, featureTypes} = this.meta;
275
- const radiusScale = this.getRadiusScale(fixedRadius);
276
- const radiusUnits = this.getRadiusUnit(fixedRadius);
277
-
270
+ const {featureTypes} = this.meta;
271
+ const radiusScale = this.getRadiusScale();
278
272
  const {visConfig} = this.config;
279
273
 
280
274
  const layerProps = {
@@ -312,7 +306,7 @@ export default class GeoJsonLayer extends Layer {
312
306
  wrapLongitude: false,
313
307
  lineMiterLimit: 2,
314
308
  rounded: true,
315
- radiusUnits,
309
+ radiusUnits: 'pixels',
316
310
  lineWidthUnits: 'pixels',
317
311
  updateTriggers,
318
312
  _subLayerProps: {
@@ -45,7 +45,6 @@ export const iconOptionalColumns = ['altitude'];
45
45
 
46
46
  export const pointVisConfigs = {
47
47
  radius: 'radius',
48
- fixedRadius: 'fixedRadius',
49
48
  opacity: 'opacity',
50
49
  colorRange: 'colorRange',
51
50
  radiusRange: 'radiusRange'
@@ -245,17 +244,10 @@ export default class IconLayer extends Layer {
245
244
  }
246
245
 
247
246
  renderLayer(opts) {
248
- const {data, gpuFilter, objectHovered, mapState, interactionConfig} = opts;
247
+ const {data, gpuFilter, objectHovered, interactionConfig} = opts;
249
248
 
250
- const fixedRadius = this.config.visConfig.fixedRadius && Boolean(this.config.sizeField);
251
- const radiusScale = this.getRadiusScale(fixedRadius);
252
- const radiusUnits = this.getRadiusUnit(fixedRadius);
253
-
254
- const layerProps = {
255
- radiusScale,
256
- radiusUnits,
257
- ...(fixedRadius ? {} : {radiusMaxPixels: 500})
258
- };
249
+ const radiusScale = this.getRadiusScale();
250
+ const layerProps = {radiusScale, radiusUnits: 'pixels', radiusMaxPixels: 500};
259
251
 
260
252
  const updateTriggers = {
261
253
  getPosition: this.config.columns,
@@ -265,12 +257,7 @@ export default class IconLayer extends Layer {
265
257
 
266
258
  const defaultLayerProps = this.getDefaultDeckLayerProps(opts);
267
259
  const brushingProps = this.getBrushingExtensionProps(interactionConfig);
268
- const getPixelOffset = getTextOffsetByRadius(
269
- radiusScale,
270
- data.getRadius,
271
- mapState,
272
- fixedRadius
273
- );
260
+ const getPixelOffset = getTextOffsetByRadius(radiusScale, data.getRadius);
274
261
  const extensions = [...defaultLayerProps.extensions, brushingExtension];
275
262
 
276
263
  // shared Props between layer and label layer
@@ -84,7 +84,6 @@ export type LayerVisConfig = {
84
84
  strokeWidthRange: VisConfigRange;
85
85
  trailLength: VisConfigNumber;
86
86
  radius: VisConfigNumber;
87
- fixedRadius: VisConfigBoolean;
88
87
  radiusRange: VisConfigRange;
89
88
  clusterRadius: VisConfigNumber;
90
89
  clusterRadiusRange: VisConfigRange;
@@ -120,14 +120,6 @@ export const LAYER_VIS_CONFIGS = {
120
120
  group: PROPERTY_GROUPS.radius,
121
121
  property: 'radius'
122
122
  },
123
- fixedRadius: {
124
- defaultValue: false,
125
- type: 'boolean',
126
- label: 'layerVisConfigs.fixedRadius',
127
- description: 'layerVisConfigs.fixedRadiusDescription',
128
- group: PROPERTY_GROUPS.radius,
129
- property: 'fixedRadius'
130
- },
131
123
  radiusRange: {
132
124
  type: 'number',
133
125
  defaultValue: [0, 50],
@@ -18,15 +18,13 @@
18
18
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
19
  // THE SOFTWARE.
20
20
 
21
- import {getDistanceScales} from 'viewport-mercator-project';
22
21
  import {notNullorUndefined} from 'utils/data-utils';
23
22
  import uniq from 'lodash.uniq';
24
23
 
25
24
  export const defaultPadding = 20;
26
25
 
27
- export function getTextOffsetByRadius(radiusScale, getRadius, mapState, fixedRadius) {
26
+ export function getTextOffsetByRadius(radiusScale, getRadius) {
28
27
  return textLabel => {
29
- const distanceScale = getDistanceScales(mapState);
30
28
  const xMult = textLabel.anchor === 'middle' ? 0 : textLabel.anchor === 'start' ? 1 : -1;
31
29
  const yMult = textLabel.alignment === 'center' ? 0 : textLabel.alignment === 'bottom' ? 1 : -1;
32
30
 
@@ -37,17 +35,16 @@ export function getTextOffsetByRadius(radiusScale, getRadius, mapState, fixedRad
37
35
  ? textLabel.size
38
36
  : textLabel.size;
39
37
 
40
- const pixelRadius = fixedRadius ? radiusScale * distanceScale.pixelsPerMeter[0] : radiusScale;
41
38
  const padding = defaultPadding;
42
39
 
43
40
  return typeof getRadius === 'function'
44
41
  ? d => [
45
- xMult * (getRadius(d) * pixelRadius + padding),
46
- yMult * (getRadius(d) * pixelRadius + padding + sizeOffset)
42
+ xMult * (getRadius(d) * radiusScale + padding),
43
+ yMult * (getRadius(d) * radiusScale + padding + sizeOffset)
47
44
  ]
48
45
  : [
49
- xMult * (getRadius * pixelRadius + padding),
50
- yMult * (getRadius * pixelRadius + padding + sizeOffset)
46
+ xMult * (getRadius * radiusScale + padding),
47
+ yMult * (getRadius * radiusScale + padding + sizeOffset)
51
48
  ];
52
49
  };
53
50
  }
@@ -44,7 +44,6 @@ const brushingExtension = new BrushingExtension();
44
44
 
45
45
  export const pointVisConfigs = {
46
46
  radius: 'radius',
47
- fixedRadius: 'fixedRadius',
48
47
  customMarkers: 'customMarkers',
49
48
  customMarkersUrl: 'customMarkersUrl',
50
49
  customMarkersRange: 'customMarkersRange',
@@ -123,7 +122,6 @@ export default class PointLayer extends Layer {
123
122
  ...super.visualChannels.size,
124
123
  property: 'radius',
125
124
  range: 'radiusRange',
126
- fixed: 'fixedRadius',
127
125
  channelScaleType: 'radius',
128
126
  accessor: 'getRadius',
129
127
  defaultValue: 1
@@ -279,26 +277,16 @@ export default class PointLayer extends Layer {
279
277
 
280
278
  // eslint-disable-next-line complexity, max-statements
281
279
  renderLayer(opts) {
282
- const {data, gpuFilter, objectHovered, mapState, interactionConfig} = opts;
280
+ const {data, gpuFilter, objectHovered, interactionConfig} = opts;
283
281
 
284
- // if no field size is defined we need to pass fixed radius = false
285
- const fixedRadius = this.config.visConfig.fixedRadius && Boolean(this.config.sizeField);
286
- const radiusScale = this.getRadiusScale(fixedRadius);
287
- const radiusUnits = this.getRadiusUnit(fixedRadius);
282
+ const radiusScale = this.getRadiusScale();
288
283
 
289
284
  const defaultLayerProps = this.getDefaultDeckLayerProps(opts);
290
285
  const brushingProps = this.getBrushingExtensionProps(interactionConfig);
291
- const getPixelOffset = getTextOffsetByRadius(
292
- radiusScale,
293
- data.getRadius,
294
- mapState,
295
- fixedRadius
296
- );
286
+ const getPixelOffset = getTextOffsetByRadius(radiusScale, data.getRadius);
297
287
  const extensions = [...defaultLayerProps.extensions, brushingExtension];
298
288
 
299
- const {latitude, zoom} = mapState;
300
289
  const updateTriggers = {
301
- getPixelOffset: fixedRadius ? {latitude, zoom} : {},
302
290
  getPosition: this.config.columns,
303
291
  getFilterValue: gpuFilter.filterValueUpdateTriggers,
304
292
  ...this.getVisualChannelUpdateTriggers()
@@ -395,7 +383,7 @@ export default class PointLayer extends Layer {
395
383
  lineWidthScale: this.config.visConfig.thickness,
396
384
  // TODO: invent better way to render something when customMarkers are not yet configured
397
385
  radiusScale: customMarkersMisConfigured ? radiusScale / 2 : radiusScale,
398
- ...(this.config.visConfig.fixedRadius ? {} : {radiusMaxPixels: 500})
386
+ radiusMaxPixels: 500
399
387
  };
400
388
 
401
389
  return [
@@ -404,7 +392,7 @@ export default class PointLayer extends Layer {
404
392
  ...data,
405
393
  ...commonLayerProps,
406
394
  ...scatterPlotLayerProps,
407
- radiusUnits,
395
+ radiusUnits: 'pixels',
408
396
  lineWidthUnits: 'pixels',
409
397
  updateTriggers,
410
398
  extensions
@@ -131,8 +131,6 @@ export default {
131
131
  strokeWidth: 'Stroke Width (Pixels)',
132
132
  strokeWidthRange: 'Stroke Width Range',
133
133
  radius: 'Radius',
134
- fixedRadius: 'Fixed Radius to meter',
135
- fixedRadiusDescription: 'Map radius to absolute radius in meters, e.g. 5 to 5 meters',
136
134
  radiusRange: 'Radius Range',
137
135
  clusterRadius: 'Cluster Radius in Pixels',
138
136
  radiusRangePixels: 'Radius Range in pixels',
@@ -20,17 +20,12 @@
20
20
 
21
21
  import en from './en';
22
22
  import {flattenMessages} from 'utils/locale-utils';
23
- import {LOCALE_CODES} from './locales';
24
23
 
25
24
  const enFlat = flattenMessages(en);
26
25
 
27
- export const messages = Object.keys(LOCALE_CODES).reduce(
28
- (acc, key) => ({
29
- ...acc,
30
- [key]: key === 'en' ? enFlat : {...enFlat, ...flattenMessages(require(`./${key}`).default)}
31
- }),
32
- {}
33
- );
26
+ export const messages = {
27
+ en: enFlat
28
+ };
34
29
 
35
30
  export {LOCALE_CODES, LOCALES} from './locales';
36
31
 
@@ -19,14 +19,7 @@
19
19
  // THE SOFTWARE.
20
20
 
21
21
  export const LOCALES = {
22
- en: 'English',
23
- fi: 'Suomi',
24
- pt: 'Português',
25
- es: 'Español',
26
- ca: 'Català',
27
- ja: '日本語',
28
- cn: '简体中文',
29
- ru: 'Русский'
22
+ en: 'English'
30
23
  };
31
24
 
32
25
  /**