@kepler.gl/reducers 3.3.0-alpha.16 → 3.3.0-alpha.17

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/cjs/column-edit-reconcile.js +100 -0
  2. package/dist/cjs/column-edit-updaters.spec.js +840 -0
  3. package/dist/cjs/dataset-ops-updaters.js +101 -15
  4. package/dist/cjs/dataset-ops-updaters.spec.js +129 -4
  5. package/dist/cjs/export-utils.js +118 -46
  6. package/dist/cjs/interaction-utils.js +11 -3
  7. package/dist/cjs/layer-utils.js +3 -2
  8. package/dist/cjs/ui-state-updaters.js +70 -26
  9. package/dist/cjs/ui-state.js +2 -2
  10. package/dist/cjs/vis-state-merger-text-label.spec.js +75 -0
  11. package/dist/cjs/vis-state-merger.js +65 -22
  12. package/dist/cjs/vis-state-updaters.js +581 -177
  13. package/dist/cjs/vis-state.js +2 -2
  14. package/dist/column-edit-reconcile.d.ts +4 -0
  15. package/dist/column-edit-updaters.spec.d.ts +1 -0
  16. package/dist/dataset-ops-updaters.d.ts +3 -0
  17. package/dist/esm/column-edit-reconcile.js +95 -0
  18. package/dist/esm/column-edit-updaters.spec.js +839 -0
  19. package/dist/esm/dataset-ops-updaters.js +99 -16
  20. package/dist/esm/dataset-ops-updaters.spec.js +129 -4
  21. package/dist/esm/export-utils.js +117 -45
  22. package/dist/esm/interaction-utils.js +10 -3
  23. package/dist/esm/layer-utils.js +3 -2
  24. package/dist/esm/ui-state-updaters.js +69 -25
  25. package/dist/esm/ui-state.js +2 -2
  26. package/dist/esm/vis-state-merger-text-label.spec.js +74 -0
  27. package/dist/esm/vis-state-merger.js +66 -24
  28. package/dist/esm/vis-state-updaters.js +571 -185
  29. package/dist/esm/vis-state.js +2 -2
  30. package/dist/export-utils.d.ts +2 -2
  31. package/dist/interaction-utils.d.ts +4 -1
  32. package/dist/layer-utils.d.ts +1 -0
  33. package/dist/ui-state-updaters.d.ts +10 -0
  34. package/dist/vis-state-merger-text-label.spec.d.ts +1 -0
  35. package/dist/vis-state-merger.d.ts +10 -2
  36. package/dist/vis-state-updaters.d.ts +31 -4
  37. package/dist/vis-state.d.ts +4 -0
  38. package/package.json +17 -17
@@ -0,0 +1,74 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ // SPDX-License-Identifier: MIT
6
+ // Copyright contributors to the kepler.gl project
7
+
8
+ import { DEFAULT_TEXT_LABEL } from '@kepler.gl/constants';
9
+ import { KeplerGlLayers } from '@kepler.gl/layers';
10
+ import { fallbackTextLabelForLoadedLayer, validateSavedTextLabel } from './vis-state-merger';
11
+ var aggregationTextLabelDefaults = function aggregationTextLabelDefaults() {
12
+ return new KeplerGlLayers.HexagonLayer({
13
+ id: 'hexagon'
14
+ }).config.textLabel;
15
+ };
16
+ describe('validateSavedTextLabel point count', function () {
17
+ test('restores the synthetic field and keeps collision disabled', function () {
18
+ var defaults = aggregationTextLabelDefaults();
19
+ var saved = [_objectSpread(_objectSpread({}, defaults[0]), {}, {
20
+ field: {
21
+ name: 'pointCount',
22
+ type: 'integer'
23
+ },
24
+ collisionEnabled: false,
25
+ anchor: 'start'
26
+ })];
27
+ var _validateSavedTextLab = validateSavedTextLabel([], defaults, saved, {
28
+ layerType: 'hexagon',
29
+ throwOnError: true
30
+ }),
31
+ _validateSavedTextLab2 = _slicedToArray(_validateSavedTextLab, 1),
32
+ label = _validateSavedTextLab2[0];
33
+ expect(label.field).toMatchObject({
34
+ name: 'pointCount',
35
+ fieldIdx: -1
36
+ });
37
+ expect(label.collisionEnabled).toBe(false);
38
+ expect(label.anchor).toBe('start');
39
+ });
40
+ test('binds a real pointCount column on non-aggregation layers', function () {
41
+ var datasetField = {
42
+ name: 'pointCount',
43
+ type: 'integer',
44
+ fieldIdx: 4,
45
+ valueAccessor: function valueAccessor() {
46
+ return 1;
47
+ }
48
+ };
49
+ var saved = [_objectSpread(_objectSpread({}, DEFAULT_TEXT_LABEL), {}, {
50
+ field: {
51
+ name: 'pointCount',
52
+ type: 'integer'
53
+ }
54
+ })];
55
+ var _validateSavedTextLab3 = validateSavedTextLabel([datasetField], [DEFAULT_TEXT_LABEL], saved, {
56
+ layerType: 'point',
57
+ throwOnError: true
58
+ }),
59
+ _validateSavedTextLab4 = _slicedToArray(_validateSavedTextLab3, 1),
60
+ label = _validateSavedTextLab4[0];
61
+ expect(label.field).toBe(datasetField);
62
+ });
63
+ test('omitted textLabel on a hexagon stays unlabeled', function () {
64
+ var labels = fallbackTextLabelForLoadedLayer('hexagon', aggregationTextLabelDefaults());
65
+ expect(labels).toHaveLength(1);
66
+ expect(labels[0].field).toBeNull();
67
+ expect(labels[0].collisionEnabled).toBe(false);
68
+ });
69
+ test('omitted textLabel on a point layer keeps the layer default', function () {
70
+ var defaults = [DEFAULT_TEXT_LABEL];
71
+ expect(fallbackTextLabelForLoadedLayer('point', defaults)).toBe(defaults);
72
+ });
73
+ });
74
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJERUZBVUxUX1RFWFRfTEFCRUwiLCJLZXBsZXJHbExheWVycyIsImZhbGxiYWNrVGV4dExhYmVsRm9yTG9hZGVkTGF5ZXIiLCJ2YWxpZGF0ZVNhdmVkVGV4dExhYmVsIiwiYWdncmVnYXRpb25UZXh0TGFiZWxEZWZhdWx0cyIsIkhleGFnb25MYXllciIsImlkIiwiY29uZmlnIiwidGV4dExhYmVsIiwiZGVzY3JpYmUiLCJ0ZXN0IiwiZGVmYXVsdHMiLCJzYXZlZCIsIl9vYmplY3RTcHJlYWQiLCJmaWVsZCIsIm5hbWUiLCJ0eXBlIiwiY29sbGlzaW9uRW5hYmxlZCIsImFuY2hvciIsIl92YWxpZGF0ZVNhdmVkVGV4dExhYiIsImxheWVyVHlwZSIsInRocm93T25FcnJvciIsIl92YWxpZGF0ZVNhdmVkVGV4dExhYjIiLCJfc2xpY2VkVG9BcnJheSIsImxhYmVsIiwiZXhwZWN0IiwidG9NYXRjaE9iamVjdCIsImZpZWxkSWR4IiwidG9CZSIsImRhdGFzZXRGaWVsZCIsInZhbHVlQWNjZXNzb3IiLCJfdmFsaWRhdGVTYXZlZFRleHRMYWIzIiwiX3ZhbGlkYXRlU2F2ZWRUZXh0TGFiNCIsImxhYmVscyIsInRvSGF2ZUxlbmd0aCIsInRvQmVOdWxsIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Zpcy1zdGF0ZS1tZXJnZXItdGV4dC1sYWJlbC5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7REVGQVVMVF9URVhUX0xBQkVMfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge0tlcGxlckdsTGF5ZXJzfSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5cbmltcG9ydCB7ZmFsbGJhY2tUZXh0TGFiZWxGb3JMb2FkZWRMYXllciwgdmFsaWRhdGVTYXZlZFRleHRMYWJlbH0gZnJvbSAnLi92aXMtc3RhdGUtbWVyZ2VyJztcblxuY29uc3QgYWdncmVnYXRpb25UZXh0TGFiZWxEZWZhdWx0cyA9ICgpID0+XG4gIG5ldyBLZXBsZXJHbExheWVycy5IZXhhZ29uTGF5ZXIoe2lkOiAnaGV4YWdvbid9KS5jb25maWcudGV4dExhYmVsO1xuXG5kZXNjcmliZSgndmFsaWRhdGVTYXZlZFRleHRMYWJlbCBwb2ludCBjb3VudCcsICgpID0+IHtcbiAgdGVzdCgncmVzdG9yZXMgdGhlIHN5bnRoZXRpYyBmaWVsZCBhbmQga2VlcHMgY29sbGlzaW9uIGRpc2FibGVkJywgKCkgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0gYWdncmVnYXRpb25UZXh0TGFiZWxEZWZhdWx0cygpO1xuICAgIGNvbnN0IHNhdmVkID0gW1xuICAgICAge1xuICAgICAgICAuLi5kZWZhdWx0c1swXSxcbiAgICAgICAgZmllbGQ6IHtuYW1lOiAncG9pbnRDb3VudCcsIHR5cGU6ICdpbnRlZ2VyJ30sXG4gICAgICAgIGNvbGxpc2lvbkVuYWJsZWQ6IGZhbHNlLFxuICAgICAgICBhbmNob3I6ICdzdGFydCdcbiAgICAgIH1cbiAgICBdO1xuXG4gICAgY29uc3QgW2xhYmVsXSA9IHZhbGlkYXRlU2F2ZWRUZXh0TGFiZWwoW10sIGRlZmF1bHRzLCBzYXZlZCwge1xuICAgICAgbGF5ZXJUeXBlOiAnaGV4YWdvbicsXG4gICAgICB0aHJvd09uRXJyb3I6IHRydWVcbiAgICB9KTtcblxuICAgIGV4cGVjdChsYWJlbC5maWVsZCkudG9NYXRjaE9iamVjdCh7bmFtZTogJ3BvaW50Q291bnQnLCBmaWVsZElkeDogLTF9KTtcbiAgICBleHBlY3QobGFiZWwuY29sbGlzaW9uRW5hYmxlZCkudG9CZShmYWxzZSk7XG4gICAgZXhwZWN0KGxhYmVsLmFuY2hvcikudG9CZSgnc3RhcnQnKTtcbiAgfSk7XG5cbiAgdGVzdCgnYmluZHMgYSByZWFsIHBvaW50Q291bnQgY29sdW1uIG9uIG5vbi1hZ2dyZWdhdGlvbiBsYXllcnMnLCAoKSA9PiB7XG4gICAgY29uc3QgZGF0YXNldEZpZWxkID0ge1xuICAgICAgbmFtZTogJ3BvaW50Q291bnQnLFxuICAgICAgdHlwZTogJ2ludGVnZXInLFxuICAgICAgZmllbGRJZHg6IDQsXG4gICAgICB2YWx1ZUFjY2Vzc29yOiAoKSA9PiAxXG4gICAgfTtcbiAgICBjb25zdCBzYXZlZCA9IFt7Li4uREVGQVVMVF9URVhUX0xBQkVMLCBmaWVsZDoge25hbWU6ICdwb2ludENvdW50JywgdHlwZTogJ2ludGVnZXInfX1dO1xuXG4gICAgY29uc3QgW2xhYmVsXSA9IHZhbGlkYXRlU2F2ZWRUZXh0TGFiZWwoW2RhdGFzZXRGaWVsZF0sIFtERUZBVUxUX1RFWFRfTEFCRUxdLCBzYXZlZCwge1xuICAgICAgbGF5ZXJUeXBlOiAncG9pbnQnLFxuICAgICAgdGhyb3dPbkVycm9yOiB0cnVlXG4gICAgfSk7XG5cbiAgICBleHBlY3QobGFiZWwuZmllbGQpLnRvQmUoZGF0YXNldEZpZWxkKTtcbiAgfSk7XG5cbiAgdGVzdCgnb21pdHRlZCB0ZXh0TGFiZWwgb24gYSBoZXhhZ29uIHN0YXlzIHVubGFiZWxlZCcsICgpID0+IHtcbiAgICBjb25zdCBsYWJlbHMgPSBmYWxsYmFja1RleHRMYWJlbEZvckxvYWRlZExheWVyKCdoZXhhZ29uJywgYWdncmVnYXRpb25UZXh0TGFiZWxEZWZhdWx0cygpKTtcblxuICAgIGV4cGVjdChsYWJlbHMpLnRvSGF2ZUxlbmd0aCgxKTtcbiAgICBleHBlY3QobGFiZWxzWzBdLmZpZWxkKS50b0JlTnVsbCgpO1xuICAgIGV4cGVjdChsYWJlbHNbMF0uY29sbGlzaW9uRW5hYmxlZCkudG9CZShmYWxzZSk7XG4gIH0pO1xuXG4gIHRlc3QoJ29taXR0ZWQgdGV4dExhYmVsIG9uIGEgcG9pbnQgbGF5ZXIga2VlcHMgdGhlIGxheWVyIGRlZmF1bHQnLCAoKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdHMgPSBbREVGQVVMVF9URVhUX0xBQkVMXTtcblxuICAgIGV4cGVjdChmYWxsYmFja1RleHRMYWJlbEZv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