@carto/kepler.gl 0.0.65-alpha.labels.7 → 0.0.65-alpha.labels.9

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/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.65-alpha.labels.7",
5
+ "version": "0.0.65-alpha.labels.9",
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",
@@ -69,16 +69,6 @@ function TextLabelPanelFactory(RangeSlider, LayerConfigGroup, FieldSelector, Col
69
69
  const currentFields = textLabel.map(tl => tl.field && tl.field.name).filter(d => d);
70
70
 
71
71
  return (
72
- // Switch only works with group/property set to customMarkers???
73
- /* <LayerConfigGroup
74
- type="boolean"
75
- disabled={undefined}
76
- layer={layer}
77
- group="labels"
78
- property="labelsEnabled"
79
- label="panel.text.label"
80
- collapsible
81
- >*/
82
72
  <LayerConfigGroup label={'panel.text.label'} collapsible>
83
73
  <ConfigGroupCollapsibleHeader>
84
74
  <FieldSelector
@@ -190,14 +190,15 @@ export class PointLabelLayer extends CompositeLayer {
190
190
  const getPixelOffset = this.calculatePixelOffset(false);
191
191
  const backgroundPadding = this.calculateBackgroundPadding();
192
192
  const out = [
193
- this.renderTextLayer('primary', {
193
+ // Text doesn't update via updateTrigger for some reason
194
+ this.renderTextLayer(`${updateTriggers.getText}-primary`, {
194
195
  backgroundPadding,
195
196
  getText,
196
197
  getPixelOffset,
197
198
  background: true // Only use background for primary label for faster collisions
198
199
  }),
199
200
  getSecondaryText &&
200
- this.renderTextLayer('secondary', {
201
+ this.renderTextLayer(`${updateTriggers.getSecondaryText}-secondary`, {
201
202
  getText: getSecondaryText,
202
203
  getPixelOffset: this.calculatePixelOffset(true),
203
204
  getAlignmentBaseline: 'top',
@@ -291,6 +291,7 @@ export default class PointLayer extends Layer {
291
291
  getFilterValue: data.getFilterValue,
292
292
  extensions,
293
293
  filterRange: defaultLayerProps.filterRange,
294
+ maskId: defaultLayerProps.maskId,
294
295
  visible: defaultLayerProps.visible,
295
296
  ...brushingProps
296
297
  };
@@ -315,16 +315,19 @@ function addOrRemoveTextLabels(newFields, textLabel) {
315
315
 
316
316
  // delete
317
317
  newTextLabel = newTextLabel.filter(tl => tl.field && !deleteFields.includes(tl.field.name));
318
- newTextLabel = !newTextLabel.length ? [DEFAULT_TEXT_LABEL] : newTextLabel;
319
318
 
320
319
  // add
321
- newTextLabel = [
322
- ...newTextLabel.filter(tl => tl.field),
323
- ...addFields.map(af => ({
324
- ...DEFAULT_TEXT_LABEL,
325
- field: af
326
- }))
327
- ];
320
+ newTextLabel = newTextLabel.filter(tl => tl.field);
321
+ const defaultLabel = newTextLabel.length ? DEFAULT_SECONDARY_TEXT_LABEL : DEFAULT_TEXT_LABEL;
322
+ newTextLabel = [...newTextLabel, ...addFields.map(af => ({...defaultLabel, field: af}))];
323
+
324
+ // limit to 2 labels (overwrite 2nd label with 3rd)
325
+ if (newTextLabel.length > 2) {
326
+ newTextLabel = [newTextLabel[0], newTextLabel[2]];
327
+ }
328
+
329
+ // default
330
+ newTextLabel = !newTextLabel.length ? [DEFAULT_TEXT_LABEL] : newTextLabel;
328
331
 
329
332
  return newTextLabel;
330
333
  }