@flowmap.gl/data 8.0.0-alpha.21 → 8.0.0-alpha.22

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.
@@ -9,6 +9,7 @@ export interface SettingsState {
9
9
  fadeEnabled: boolean;
10
10
  fadeOpacityEnabled: boolean;
11
11
  locationTotalsEnabled: boolean;
12
+ locationLabelsEnabled: boolean;
12
13
  adaptiveScalesEnabled: boolean;
13
14
  clusteringEnabled: boolean;
14
15
  clusteringAuto: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"FlowmapState.d.ts","sourceRoot":"","sources":["../src/FlowmapState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,aAAa,CAAC;CACzB"}
1
+ {"version":3,"file":"FlowmapState.d.ts","sourceRoot":"","sources":["../src/FlowmapState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,aAAa,CAAC;CACzB"}
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmxvd21hcFN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Zsb3dtYXBTdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMb2NhdGlvbkZpbHRlck1vZGUsIFZpZXdwb3J0UHJvcHN9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlclN0YXRlIHtcbiAgc2VsZWN0ZWRMb2NhdGlvbnM/OiBzdHJpbmdbXTtcbiAgbG9jYXRpb25GaWx0ZXJNb2RlPzogTG9jYXRpb25GaWx0ZXJNb2RlO1xuICBzZWxlY3RlZFRpbWVSYW5nZT86IFtEYXRlLCBEYXRlXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXR0aW5nc1N0YXRlIHtcbiAgYW5pbWF0aW9uRW5hYmxlZDogYm9vbGVhbjtcbiAgZmFkZUVuYWJsZWQ6IGJvb2xlYW47XG4gIGZhZGVPcGFjaXR5RW5hYmxlZDogYm9vbGVhbjtcbiAgbG9jYXRpb25Ub3RhbHNFbmFibGVkOiBib29sZWFuO1xuICBhZGFwdGl2ZVNjYWxlc0VuYWJsZWQ6IGJvb2xlYW47XG4gIGNsdXN0ZXJpbmdFbmFibGVkOiBib29sZWFuO1xuICBjbHVzdGVyaW5nQXV0bzogYm9vbGVhbjtcbiAgY2x1c3RlcmluZ0xldmVsPzogbnVtYmVyO1xuICBkYXJrTW9kZTogYm9vbGVhbjtcbiAgZmFkZUFtb3VudDogbnVtYmVyO1xuICBjb2xvclNjaGVtZTogc3RyaW5nIHwgc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gIGhpZ2hsaWdodENvbG9yOiBzdHJpbmc7XG4gIG1heFRvcEZsb3dzRGlzcGxheU51bTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dtYXBTdGF0ZSB7XG4gIGZpbHRlcj86IEZpbHRlclN0YXRlO1xuICBzZXR0aW5nczogU2V0dGluZ3NTdGF0ZTtcbiAgdmlld3BvcnQ6IFZpZXdwb3J0UHJvcHM7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmxvd21hcFN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Zsb3dtYXBTdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMb2NhdGlvbkZpbHRlck1vZGUsIFZpZXdwb3J0UHJvcHN9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlclN0YXRlIHtcbiAgc2VsZWN0ZWRMb2NhdGlvbnM/OiBzdHJpbmdbXTtcbiAgbG9jYXRpb25GaWx0ZXJNb2RlPzogTG9jYXRpb25GaWx0ZXJNb2RlO1xuICBzZWxlY3RlZFRpbWVSYW5nZT86IFtEYXRlLCBEYXRlXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXR0aW5nc1N0YXRlIHtcbiAgYW5pbWF0aW9uRW5hYmxlZDogYm9vbGVhbjtcbiAgZmFkZUVuYWJsZWQ6IGJvb2xlYW47XG4gIGZhZGVPcGFjaXR5RW5hYmxlZDogYm9vbGVhbjtcbiAgbG9jYXRpb25Ub3RhbHNFbmFibGVkOiBib29sZWFuO1xuICBsb2NhdGlvbkxhYmVsc0VuYWJsZWQ6IGJvb2xlYW47XG4gIGFkYXB0aXZlU2NhbGVzRW5hYmxlZDogYm9vbGVhbjtcbiAgY2x1c3RlcmluZ0VuYWJsZWQ6IGJvb2xlYW47XG4gIGNsdXN0ZXJpbmdBdXRvOiBib29sZWFuO1xuICBjbHVzdGVyaW5nTGV2ZWw/OiBudW1iZXI7XG4gIGRhcmtNb2RlOiBib29sZWFuO1xuICBmYWRlQW1vdW50OiBudW1iZXI7XG4gIGNvbG9yU2NoZW1lOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgaGlnaGxpZ2h0Q29sb3I6IHN0cmluZztcbiAgbWF4VG9wRmxvd3NEaXNwbGF5TnVtOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvd21hcFN0YXRlIHtcbiAgZmlsdGVyPzogRmlsdGVyU3RhdGU7XG4gIHNldHRpbmdzOiBTZXR0aW5nc1N0YXRlO1xuICB2aWV3cG9ydDogVmlld3BvcnRQcm9wcztcbn1cbiJdfQ==
@@ -1,6 +1,7 @@
1
1
  import type FlowmapDataProvider from './FlowmapDataProvider';
2
2
  import type { Cluster, ClusterNode, FlowmapData, FlowmapDataAccessors, LayersData, LocationTotals, ViewportProps, AggregateFlow } from '../types';
3
3
  import { FlowmapState } from '../FlowmapState';
4
+ import FlowmapSelectors from '../FlowmapSelectors';
4
5
  import { GetViewStateOptions } from '../getViewStateForLocations';
5
6
  export default class LocalFlowmapDataProvider<L, F> implements FlowmapDataProvider<L, F> {
6
7
  private selectors;
@@ -8,8 +9,11 @@ export default class LocalFlowmapDataProvider<L, F> implements FlowmapDataProvid
8
9
  private flowmapState;
9
10
  constructor(accessors: FlowmapDataAccessors<L, F>);
10
11
  setAccessors(accessors: FlowmapDataAccessors<L, F>): void;
11
- setFlowmapData(flowmapData: FlowmapData<L, F>): Promise<void>;
12
+ setFlowmapData(flowmapData: FlowmapData<L, F>): void;
13
+ getSelectors(): FlowmapSelectors<L, F>;
14
+ getFlowmapData(): FlowmapData<L, F> | undefined;
12
15
  setFlowmapState(flowmapState: FlowmapState): Promise<void>;
16
+ getFlowmapState(): FlowmapState | undefined;
13
17
  getFlowByIndex(idx: number): Promise<F | AggregateFlow | undefined>;
14
18
  getLocationByIndex(idx: number): Promise<L | ClusterNode | undefined>;
15
19
  getLayersData(): Promise<LayersData | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"LocalFlowmapDataProvider.d.ts","sourceRoot":"","sources":["../../src/provider/LocalFlowmapDataProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,mBAAmB,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,UAAU,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EACL,mBAAmB,EAEpB,MAAM,6BAA6B,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAChD,YAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;IAEpC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,YAAY,CAA2B;gBAEnC,SAAS,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC;IAOjD,YAAY,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC;IAI5C,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1D,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,aAAa,GAAG,SAAS,CAAC;IAYnE,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,WAAW,GAAG,SAAS,CAAC;IAWrE,aAAa,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAOhD,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,GAAG,SAAS,CAAC;IAqBtE,oBAAoB,CACxB,EAAE,EAAE,MAAM,GAAG,MAAM,GAClB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAShC,uBAAuB,CAC3B,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACtB,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAgB/B,gBAAgB,CACpB,aAAa,EAAE,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,KAAK,IAAI;CAI9D"}
1
+ {"version":3,"file":"LocalFlowmapDataProvider.d.ts","sourceRoot":"","sources":["../../src/provider/LocalFlowmapDataProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,mBAAmB,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,UAAU,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACL,mBAAmB,EAEpB,MAAM,6BAA6B,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAChD,YAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;IAEpC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,YAAY,CAA2B;gBAEnC,SAAS,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC;IAOjD,YAAY,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC;IAIlD,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI;IAIpD,YAAY,IAAI,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;IAItC,cAAc,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS;IAIzC,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE,eAAe,IAAI,YAAY,GAAG,SAAS;IAIrC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,aAAa,GAAG,SAAS,CAAC;IAYnE,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,WAAW,GAAG,SAAS,CAAC;IAWrE,aAAa,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAOhD,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,GAAG,SAAS,CAAC;IAqBtE,oBAAoB,CACxB,EAAE,EAAE,MAAM,GAAG,MAAM,GAClB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAShC,uBAAuB,CAC3B,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EACtB,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAgB/B,gBAAgB,CACpB,aAAa,EAAE,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,KAAK,IAAI;CAI9D"}
@@ -20,15 +20,22 @@ export default class LocalFlowmapDataProvider {
20
20
  this.selectors.setAccessors(accessors);
21
21
  }
22
22
  setFlowmapData(flowmapData) {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- this.flowmapData = flowmapData;
25
- });
23
+ this.flowmapData = flowmapData;
24
+ }
25
+ getSelectors() {
26
+ return this.selectors;
27
+ }
28
+ getFlowmapData() {
29
+ return this.flowmapData;
26
30
  }
27
31
  setFlowmapState(flowmapState) {
28
32
  return __awaiter(this, void 0, void 0, function* () {
29
33
  this.flowmapState = flowmapState;
30
34
  });
31
35
  }
36
+ getFlowmapState() {
37
+ return this.flowmapState;
38
+ }
32
39
  getFlowByIndex(idx) {
33
40
  return __awaiter(this, void 0, void 0, function* () {
34
41
  if (!this.flowmapState || !this.flowmapData) {
@@ -101,4 +108,4 @@ export default class LocalFlowmapDataProvider {
101
108
  });
102
109
  }
103
110
  }
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxGbG93bWFwRGF0YVByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVyL0xvY2FsRmxvd21hcERhdGFQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFZQSxPQUFPLGdCQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFFTCx3QkFBd0IsR0FDekIsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxNQUFNLENBQUMsT0FBTyxPQUFPLHdCQUF3QjtJQU8zQyxZQUFZLFNBQXFDO1FBQy9DLGtFQUFrRTtRQUNsRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksZ0JBQWdCLENBQU8sU0FBUyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUFxQztRQUNoRCxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUssY0FBYyxDQUFDLFdBQThCOztZQUNqRCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUNqQyxDQUFDO0tBQUE7SUFFSyxlQUFlLENBQUMsWUFBMEI7O1lBQzlDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ25DLENBQUM7S0FBQTtJQUVLLGNBQWMsQ0FBQyxHQUFXOztZQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQzNDLE9BQU8sU0FBUyxDQUFDO2FBQ2xCO1lBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FDbEQsSUFBSSxDQUFDLFlBQVksRUFDakIsSUFBSSxDQUFDLFdBQVcsQ0FDakIsQ0FBQztZQUNGLE9BQU8sS0FBSyxh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dGVudCI6WyJpbXBvcnQgdHlwZSBGbG93bWFwRGF0YVByb3ZpZGVyIGZyb20gJy4vRmxvd21hcERhdGFQcm92aWRlcic7XG5pbXBvcnQgdHlwZSB7XG4gIENsdXN0ZXIsXG4gIENsdXN0ZXJOb2RlLFxuICBGbG93bWFwRGF0YSxcbiAgRmxvd21hcERhdGFBY2Nlc3NvcnMsXG4gIExheWVyc0RhdGEsXG4gIExvY2F0aW9uVG90YWxzLFxuICBWaWV3cG9ydFByb3BzLFxuICBBZ2dyZWdhdGVGbG93LFxufSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge0Zsb3dtYXBTdGF0ZX0gZnJvbSAnLi4vRmxvd21hcFN0YXRlJztcbmltcG9ydCBGbG93bWFwU2VsZWN0b3JzIGZyb20gJy4uL0Zsb3dtYXBTZWxlY3RvcnMnO1xuaW1wb3J0IHtcbiAgR2V0Vmlld1N0YXRlT3B0aW9ucyxcbiAgZ2V0Vmlld1N0YXRlRm9yTG9jYXRpb25zLFxufSBmcm9tICcuLi9nZXRWaWV3U3RhdGVGb3JMb2NhdGlvbnMnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMb2NhbEZsb3dtYXBEYXRhUHJvdmlkZXI8TCwgRj5cbiAgaW1wbGVtZW50cyBGbG93bWFwRGF0YVByb3ZpZGVyPEwsIEY+XG57XG4gIHByaXZhdGUgc2VsZWN0b3JzOiBGbG93bWFwU2VsZWN0b3JzPEwsIEY+O1xuICBwcml2YXRlIGZsb3dtYXBEYXRhOiBGbG93bWFwRGF0YTxMLCBGPiB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBmbG93bWFwU3RhdGU6IEZsb3dtYXBTdGF0ZSB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihhY2Nlc3NvcnM6IEZsb3dtYXBEYXRhQWNjZXNzb3JzPEwsIEY+KSB7XG4gICAgLy8gc2NvcGUgc2VsZWN0b3JzIHRvIHRoZSBjb25jcmV0ZSBpbnN0YW5jZSBvZiBGbG93bWFwRGF0YVByb3ZpZGVyXG4gICAgdGhpcy5zZWxlY3RvcnMgPSBuZXcgRmxvd21hcFNlbGVjdG9yczxMLCBGPihhY2Nlc3NvcnMpO1xuICAgIHRoaXMuZmxvd21hcERhdGEgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5mbG93bWFwU3RhdGUgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBzZXRBY2Nlc3NvcnMoYWNjZXNzb3JzOiBGbG93bWFwRGF0YUFjY2Vzc29yczxMLCBGPikge1xuICAgIHRoaXMuc2VsZWN0b3JzLnNldEFjY2Vzc29ycyhhY2Nlc3NvcnMpO1xuICB9XG5cbiAgYXN5bmMgc2V0Rmxvd21hcERhdGEoZmxvd21hcERhdGE6IEZsb3dtYXBEYXRhPEwsIEY+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5mbG93bWFwRGF0YSA9IGZsb3dtYXBEYXRhO1xuICB9XG5cbiAgYXN5bmMgc2V0Rmxvd21hcFN0YXRlKGZsb3dtYXBTdGF0ZTogRmxvd21hcFN0YXRlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5mbG93bWFwU3RhdGUgPSBmbG93bWFwU3RhdGU7XG4gIH1cblxuICBhc3luYyBnZXRGbG93QnlJbmRleChpZHg6IG51bWJlcik6IFByb21pc2U8RiB8IEFnZ3JlZ2F0ZUZsb3cgfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAoIXRoaXMuZmxvd21hcFN0YXRlIHx8ICF0aGlzLmZsb3dtYXBEYXRhKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBmbG93cyA9IHRoaXMuc2VsZWN0b3JzLmdldEZsb3dzRm9yRmxvd21hcExheWVyKFxuICAgICAgdGhpcy5mbG93bWFwU3RhdGUsXG4gICAgICB0aGlzLmZsb3dtYXBEYXRhLFxuICAgICk7XG4gICAgcmV0dXJuIGZsb3dzPy5baWR4XTtcbiAgfVxuXG4gIC8vIFRPRE86IHRoaXMgaXMgdW5yZWxpYWJsZSwgc2hvdWxkIHJlcGxhY2UgYnkgdW5xaXVlIElEXG4gIGFzeW5jIGdldExvY2F0aW9uQnlJbmRleChpZHg6IG51bWJlcik6IFByb21pc2U8TCB8IENsdXN0ZXJOb2RlIHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKCF0aGlzLmZsb3dtYXBTdGF0ZSB8fCAhdGhpcy5mbG93bWFwRGF0YSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgbG9jYXRpb25zID0gdGhpcy5zZWxlY3RvcnMuZ2V0TG9jYXRpb25zRm9yRmxvd21hcExheWVyKFxuICAgICAgdGhpcy5mbG93bWFwU3RhdGUsXG4gICAgICB0aGlzLmZsb3dtYXBEYXRhLFxuICAgICk7XG4gICAgcmV0dXJuIGxvY2F0aW9ucz8uW2lkeF07XG4gIH1cblxuICBhc3luYyBnZXRMYXllcnNEYXRhKCk6IFByb21pc2U8TGF5ZXJzRGF0YSB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICghdGhpcy5mbG93bWFwU3RhdGUgfHwgIXRoaXMuZmxvd21hcERhdGEpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNlbGVjdG9ycy5nZXRMYXllcnNEYXRhKHRoaXMuZmxvd21hcFN0YXRlLCB0aGlzLmZsb3dtYXBEYXRhKTtcbiAgfVxuXG4gIGFzeW5jIGdldExvY2F0aW9uQnlJZChpZDogc3RyaW5nIHwgbnVtYmVyKTogUHJvbWlzZTxMIHwgQ2x1c3RlciB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICghdGhpcy5mbG93bWFwU3RhdGUgfHwgIXRoaXMuZmxvd21hcERhdGEpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGNvbnN0IGNsdXN0ZXJJbmRleCA9IHRoaXMuc2VsZWN0b3JzLmdldENsdXN0ZXJJbmRleChcbiAgICAgIHRoaXMuZmxvd21hcFN0YXRlLFxuICAgICAgdGhpcy5mbG93bWFwRGF0YSxcbiAgICApO1xuICAgIGlmIChjbHVzdGVySW5kZXgpIHtcbiAgICAgIGNvbnN0IGNsdXN0ZXIgPSBjbHVzdGVySW5kZXguZ2V0Q2x1c3RlckJ5SWQoaWQpO1xuICAgICAgaWYgKGNsdXN0ZXIpIHtcbiAgICAgICAgcmV0dXJuIGNsdXN0ZXI7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGxvY2F0aW9uc0J5SWQgPSB0aGlzLnNlbGVjdG9ycy5nZXRMb2NhdGlvbnNCeUlkKFxuICAgICAgdGhpcy5mbG93bWFwU3RhdGUsXG4gICAgICB0aGlzLmZsb3dtYXBEYXRhLFxuICAgICk7XG4gICAgcmV0dXJuIGxvY2F0aW9uc0J5SWQ/LmdldChpZCk7XG4gIH1cblxuICBhc3luYyBnZXRUb3RhbHNGb3JMb2NhdGlvbihcbiAgICBpZDogc3RyaW5nIHwgbnVtYmVyLFxuICApOiBQcm9taXNlPExvY2F0aW9uVG90YWxzIHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKCF0aGlzLmZsb3dtYXBTdGF0ZSB8fCAhdGhpcy5mbG93bWFwRGF0YSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0b3JzXG4gICAgICAuZ2V0TG9jYXRpb25Ub3RhbHModGhpcy5mbG93bWFwU3RhdGUsIHRoaXMuZmxvd21hcERhdGEpXG4gICAgICA/LmdldChpZCk7XG4gIH1cblxuICBhc3luYyBnZXRWaWV3cG9ydEZvckxvY2F0aW9ucyhcbiAgICBkaW1zOiBbbnVtYmVyLCBudW1iZXJdLFxuICAgIG9wdHM/OiBHZXRWaWV3U3RhdGVPcHRpb25zLFxuICApOiBQcm9taXNlPFZpZXdwb3J0UHJvcHMgfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAoIXRoaXMuZmxvd21hcERhdGE/LmxvY2F0aW9ucykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiBnZXRWaWV3U3RhdGVGb3JMb2NhdGlvbnMoXG4gICAgICB0aGlzLmZsb3dtYXBEYXRhLmxvY2F0aW9ucyxcbiAgICAgIChsb2MpID0+IFtcbiAgICAgICAgdGhpcy5zZWxlY3RvcnMuYWNjZXNzb3JzLmdldExvY2F0aW9uTG9uKGxvYyksXG4gICAgICAgIHRoaXMuc2VsZWN0b3JzLmFjY2Vzc29ycy5nZXRMb2NhdGlvbkxhdChsb2MpLFxuICAgICAgXSxcbiAgICAgIGRpbXMsXG4gICAgICBvcHRzLFxuICAgICk7XG4gIH1cblxuICBhc3luYyB1cGRhdGVMYXllcnNEYXRhKFxuICAgIHNldExheWVyc0RhdGE6IChsYXllcnNEYXRhOiBMYXllcnNEYXRhIHwgdW5kZWZpbmVkKSA9PiB2b2lkLFxuICApIHtcbiAgICBzZXRMYXllcnNEYXRhKGF3YWl0IHRoaXMuZ2V0TGF5ZXJzRGF0YSgpKTtcbiAgfVxufVxuIl19
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxGbG93bWFwRGF0YVByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVyL0xvY2FsRmxvd21hcERhdGFQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFZQSxPQUFPLGdCQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFFTCx3QkFBd0IsR0FDekIsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxNQUFNLENBQUMsT0FBTyxPQUFPLHdCQUF3QjtJQU8zQyxZQUFZLFNBQXFDO1FBQy9DLGtFQUFrRTtRQUNsRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksZ0JBQWdCLENBQU8sU0FBUyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUFxQztRQUNoRCxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQThCO1FBQzNDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFSyxlQUFlLENBQUMsWUFBMEI7O1lBQzlDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ25DLENBQUM7S0FBQTtJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVLLGNBQWMsQ0FBQyxHQUFXOztZQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVB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QyxFQUNELElBQUksRUFDSixJQUFJLENBQ0wsQ0FBQzs7S0FDSDtJQUVLLGdCQUFnQixDQUNwQixhQUEyRDs7WUFFM0QsYUFBYSxDQUFDLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDNUMsQ0FBQztLQUFBO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBGbG93bWFwRGF0YVByb3ZpZGVyIGZyb20gJy4vRmxvd21hcERhdGFQcm92aWRlcic7XG5pbXBvcnQgdHlwZSB7XG4gIENsdXN0ZXIsXG4gIENsdXN0ZXJOb2RlLFxuICBGbG93bWFwRGF0YSxcbiAgRmxvd21hcERhdGFBY2Nlc3NvcnMsXG4gIExheWVyc0RhdGEsXG4gIExvY2F0aW9uVG90YWxzLFxuICBWaWV3cG9ydFByb3BzLFxuICBBZ2dyZWdhdGVGbG93LFxufSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge0Zsb3dtYXBTdGF0ZX0gZnJvbSAnLi4vRmxvd21hcFN0YXRlJztcbmltcG9ydCBGbG93bWFwU2VsZWN0b3JzIGZyb20gJy4uL0Zsb3dtYXBTZWxlY3RvcnMnO1xuaW1wb3J0IHtcbiAgR2V0Vmlld1N0YXRlT3B0aW9ucyxcbiAgZ2V0Vmlld1N0YXRlRm9yTG9jYXRpb25zLFxufSBmcm9tICcuLi9nZXRWaWV3U3RhdGVGb3JMb2NhdGlvbnMnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMb2NhbEZsb3dtYXBEYXRhUHJvdmlkZXI8TCwgRj5cbiAgaW1wbGVtZW50cyBGbG93bWFwRGF0YVByb3ZpZGVyPEwsIEY+XG57XG4gIHByaXZhdGUgc2VsZWN0b3JzOiBGbG93bWFwU2VsZWN0b3JzPEwsIEY+O1xuICBwcml2YXRlIGZsb3dtYXBEYXRhOiBGbG93bWFwRGF0YTxMLCBGPiB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBmbG93bWFwU3RhdGU6IEZsb3dtYXBTdGF0ZSB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihhY2Nlc3NvcnM6IEZsb3dtYXBEYXRhQWNjZXNzb3JzPEwsIEY+KSB7XG4gICAgLy8gc2NvcGUgc2VsZWN0b3JzIHRvIHRoZSBjb25jcmV0ZSBpbnN0YW5jZSBvZiBGbG93bWFwRGF0YVByb3ZpZGVyXG4gICAgdGhpcy5zZWxlY3RvcnMgPSBuZXcgRmxvd21hcFNlbGVjdG9yczxMLCBGPihhY2Nlc3NvcnMpO1xuICAgIHRoaXMuZmxvd21hcERhdGEgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5mbG93bWFwU3RhdGUgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBzZXRBY2Nlc3NvcnMoYWNjZXNzb3JzOiBGbG93bWFwRGF0YUFjY2Vzc29yczxMLCBGPikge1xuICAgIHRoaXMuc2VsZWN0b3JzLnNldEFjY2Vzc29ycyhhY2Nlc3NvcnMpO1xuICB9XG5cbiAgc2V0Rmxvd21hcERhdGEoZmxvd21hcERhdGE6IEZsb3dtYXBEYXRhPEwsIEY+KTogdm9pZCB7XG4gICAgdGhpcy5mbG93bWFwRGF0YSA9IGZsb3dtYXBEYXRhO1xuICB9XG5cbiAgZ2V0U2VsZWN0b3JzKCk6IEZsb3dtYXBTZWxlY3RvcnM8TCwgRj4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdG9ycztcbiAgfVxuXG4gIGdldEZsb3dtYXBEYXRhKCk6IEZsb3dtYXBEYXRhPEwsIEY+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5mbG93bWFwRGF0YTtcbiAgfVxuXG4gIGFzeW5jIHNldEZsb3dtYXBTdGF0ZShmbG93bWFwU3RhdGU6IEZsb3dtYXBTdGF0ZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuZmxvd21hcFN0YXRlID0gZmxvd21hcFN0YXRlO1xuICB9XG5cbiAgZ2V0Rmxvd21hcFN0YXRlKCk6IEZsb3dtYXBTdGF0ZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZmxvd21hcFN0YXRlO1xuICB9XG5cbiAgYXN5bmMgZ2V0Rmxvd0J5SW5kZXgoaWR4OiBudW1iZXIpOiBQcm9taXNlPEYgfCBBZ2dyZWdhdGVGbG93IHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKCF0aGlzLmZsb3dtYXBTdGF0ZSB8fCAhdGhpcy5mbG93bWFwRGF0YSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgZmxvd3MgPSB0aGlzLnNlbGVjdG9ycy5nZXRGbG93c0ZvckZsb3dtYXBMYXllcihcbiAgICAgIHRoaXMuZmxvd21hcFN0YXRlLFxuICAgICAgdGhpcy5mbG93bWFwRGF0YSxcbiAgICApO1xuICAgIHJldHVybiBmbG93cz8uW2lkeF07XG4gIH1cblxuICAvLyBUT0RPOiB0aGlzIGlzIHVucmVsaWFibGUsIHNob3VsZCByZXBsYWNlIGJ5IHVucWl1ZSBJRFxuICBhc3luYyBnZXRMb2NhdGlvbkJ5SW5kZXgoaWR4OiBudW1iZXIpOiBQcm9taXNlPEwgfCBDbHVzdGVyTm9kZSB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICghdGhpcy5mbG93bWFwU3RhdGUgfHwgIXRoaXMuZmxvd21hcERhdGEpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGNvbnN0IGxvY2F0aW9ucyA9IHRoaXMuc2VsZWN0b3JzLmdldExvY2F0aW9uc0ZvckZsb3dtYXBMYXllcihcbiAgICAgIHRoaXMuZmxvd21hcFN0YXRlLFxuICAgICAgdGhpcy5mbG93bWFwRGF0YSxcbiAgICApO1xuICAgIHJldHVybiBsb2NhdGlvbnM/LltpZHhdO1xuICB9XG5cbiAgYXN5bmMgZ2V0TGF5ZXJzRGF0YSgpOiBQcm9taXNlPExheWVyc0RhdGEgfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAoIXRoaXMuZmxvd21hcFN0YXRlIHx8ICF0aGlzLmZsb3dtYXBEYXRhKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zZWxlY3RvcnMuZ2V0TGF5ZXJzRGF0YSh0aGlzLmZsb3dtYXBTdGF0ZSwgdGhpcy5mbG93bWFwRGF0YSk7XG4gIH1cblxuICBhc3luYyBnZXRMb2NhdGlvbkJ5SWQoaWQ6IHN0cmluZyB8IG51bWJlcik6IFByb21pc2U8TCB8IENsdXN0ZXIgfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAoIXRoaXMuZmxvd21hcFN0YXRlIHx8ICF0aGlzLmZsb3dtYXBEYXRhKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBjbHVzdGVySW5kZXggPSB0aGlzLnNlbGVjdG9ycy5nZXRDbHVzdGVySW5kZXgoXG4gICAgICB0aGlzLmZsb3dtYXBTdGF0ZSxcbiAgICAgIHRoaXMuZmxvd21hcERhdGEsXG4gICAgKTtcbiAgICBpZiAoY2x1c3RlckluZGV4KSB7XG4gICAgICBjb25zdCBjbHVzdGVyID0gY2x1c3RlckluZGV4LmdldENsdXN0ZXJCeUlkKGlkKTtcbiAgICAgIGlmIChjbHVzdGVyKSB7XG4gICAgICAgIHJldHVybiBjbHVzdGVyO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBsb2NhdGlvbnNCeUlkID0gdGhpcy5zZWxlY3RvcnMuZ2V0TG9jYXRpb25zQnlJZChcbiAgICAgIHRoaXMuZmxvd21hcFN0YXRlLFxuICAgICAgdGhpcy5mbG93bWFwRGF0YSxcbiAgICApO1xuICAgIHJldHVybiBsb2NhdGlvbnNCeUlkPy5nZXQoaWQpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VG90YWxzRm9yTG9jYXRpb24oXG4gICAgaWQ6IHN0cmluZyB8IG51bWJlcixcbiAgKTogUHJvbWlzZTxMb2NhdGlvblRvdGFscyB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICghdGhpcy5mbG93bWFwU3RhdGUgfHwgIXRoaXMuZmxvd21hcERhdGEpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNlbGVjdG9yc1xuICAgICAgLmdldExvY2F0aW9uVG90YWxzKHRoaXMuZmxvd21hcFN0YXRlLCB0aGlzLmZsb3dtYXBEYXRhKVxuICAgICAgPy5nZXQoaWQpO1xuICB9XG5cbiAgYXN5bmMgZ2V0Vmlld3BvcnRGb3JMb2NhdGlvbnMoXG4gICAgZGltczogW251bWJlciwgbnVtYmVyXSxcbiAgICBvcHRzPzogR2V0Vmlld1N0YXRlT3B0aW9ucyxcbiAgKTogUHJvbWlzZTxWaWV3cG9ydFByb3BzIHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKCF0aGlzLmZsb3dtYXBEYXRhPy5sb2NhdGlvbnMpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gZ2V0Vmlld1N0YXRlRm9yTG9jYXRpb25zKFxuICAgICAgdGhpcy5mbG93bWFwRGF0YS5sb2NhdGlvbnMsXG4gICAgICAobG9jKSA9PiBbXG4gICAgICAgIHRoaXMuc2VsZWN0b3JzLmFjY2Vzc29ycy5nZXRMb2NhdGlvbkxvbihsb2MpLFxuICAgICAgICB0aGlzLnNlbGVjdG9ycy5hY2Nlc3NvcnMuZ2V0TG9jYXRpb25MYXQobG9jKSxcbiAgICAgIF0sXG4gICAgICBkaW1zLFxuICAgICAgb3B0cyxcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlTGF5ZXJzRGF0YShcbiAgICBzZXRMYXllcnNEYXRhOiAobGF5ZXJzRGF0YTogTGF5ZXJzRGF0YSB8IHVuZGVmaW5lZCkgPT4gdm9pZCxcbiAgKSB7XG4gICAgc2V0TGF5ZXJzRGF0YShhd2FpdCB0aGlzLmdldExheWVyc0RhdGEoKSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,10 @@
1
- import { ViewportProps } from './types';
1
+ import { ClusterLevel, LocationAccessors, ViewportProps } from './types';
2
+ import { ClusterIndex, LocationWeightGetter } from './cluster/ClusterIndex';
2
3
  export declare const getViewportBoundingBox: (viewport: ViewportProps, maxLocationCircleSize?: number) => [number, number, number, number];
3
4
  export declare const getFlowThicknessScale: (magnitudeExtent: [number, number] | undefined) => import("d3-scale").ScaleLinear<number, number, never> | undefined;
5
+ /**
6
+ * Adding meaningful cluster names.
7
+ * NOTE: this will mutate the nodes in clusterIndex
8
+ */
9
+ export declare function addClusterNames<L, F>(clusterIndex: ClusterIndex<F>, clusterLevels: ClusterLevel[], locationsById: Map<string | number, L>, locationAccessors: LocationAccessors<L>, getLocationWeight: LocationWeightGetter): void;
4
10
  //# sourceMappingURL=selector-functions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"selector-functions.d.ts","sourceRoot":"","sources":["../src/selector-functions.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAKtC,eAAO,MAAM,sBAAsB,aACvB,aAAa,qCAEtB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAQjC,CAAC;AAEF,eAAO,MAAM,qBAAqB,oBACf,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,sEAa9C,CAAC"}
1
+ {"version":3,"file":"selector-functions.d.ts","sourceRoot":"","sources":["../src/selector-functions.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EAEZ,iBAAiB,EACjB,aAAa,EACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAC,YAAY,EAAE,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAK1E,eAAO,MAAM,sBAAsB,aACvB,aAAa,qCAEtB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAQjC,CAAC;AAEF,eAAO,MAAM,qBAAqB,oBACf,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,sEAa9C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAClC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAC7B,aAAa,EAAE,YAAY,EAAE,EAC7B,aAAa,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,EACtC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,EACvC,iBAAiB,EAAE,oBAAoB,GACtC,IAAI,CAkCN"}
@@ -1,5 +1,7 @@
1
1
  import { WebMercatorViewport } from '@math.gl/web-mercator';
2
+ import { isCluster, } from './types';
2
3
  import { scaleLinear } from 'd3-scale';
4
+ import { descending } from 'd3-array';
3
5
  // TODO: use re-reselect
4
6
  export const getViewportBoundingBox = (viewport, maxLocationCircleSize = 0) => {
5
7
  const pad = maxLocationCircleSize;
@@ -17,4 +19,38 @@ export const getFlowThicknessScale = (magnitudeExtent) => {
17
19
  Math.max.apply(null, magnitudeExtent.map((x) => Math.abs(x || 0))),
18
20
  ]);
19
21
  };
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NlbGVjdG9yLWZ1bmN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXJDLHdCQUF3QjtBQUV4QixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUNwQyxRQUF1QixFQUN2QixxQkFBcUIsR0FBRyxDQUFDLEVBQ1MsRUFBRTtJQUNwQyxNQUFNLEdBQUcsR0FBRyxxQkFBcUIsQ0FBQztJQUNsQyxNQUFNLE1BQU0sR0FBRyxJQUFJLG1CQUFtQixpQ0FDakMsUUFBUSxLQUNYLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxHQUFHLEdBQUcsR0FBRyxDQUFDLEVBQy9CLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLElBQ2pDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDZixPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FDbkMsZUFBNkMsRUFDN0MsRUFBRTtJQUNGLElBQUksQ0FBQyxlQUFlO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFDdkMsT0FBTyxXQUFXLEVBQUU7U0FDakIsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ25CLE1BQU0sQ0FBQztRQUNOLENBQUM7UUFDRCwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQ1osSUFBSSxFQUNKLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFxQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNqRTtLQUNGLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7V2ViTWVyY2F0b3JWaWV3cG9ydH0gZnJvbSAnQG1hdGguZ2wvd2ViLW1lcmNhdG9yJztcbmltcG9ydCB7Vmlld3BvcnRQcm9wc30gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQge3NjYWxlTGluZWFyfSBmcm9tICdkMy1zY2FsZSc7XG5cbi8vIFRPRE86IHVzZSByZS1yZXNlbGVjdFxuXG5leHBvcnQgY29uc3QgZ2V0Vmlld3BvcnRCb3VuZGluZ0JveCA9IChcbiAgdmlld3BvcnQ6IFZpZXdwb3J0UHJvcHMsXG4gIG1heExvY2F0aW9uQ2lyY2xlU2l6ZSA9IDAsXG4pOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSA9PiB7XG4gIGNvbnN0IHBhZCA9IG1heExvY2F0aW9uQ2lyY2xlU2l6ZTtcbiAgY29uc3QgYm91bmRzID0gbmV3IFdlYk1lcmNhdG9yVmlld3BvcnQoe1xuICAgIC4uLnZpZXdwb3J0LFxuICAgIHdpZHRoOiB2aWV3cG9ydC53aWR0aCArIHBhZCAqIDIsXG4gICAgaGVpZ2h0OiB2aWV3cG9ydC5oZWlnaHQgKyBwYWQgKiAyLFxuICB9KS5nZXRCb3VuZHMoKTtcbiAgcmV0dXJuIFtib3VuZHNbMF1bMF0sIGJvdW5kc1swXVsxXSwgYm91bmRzWzFdWzBdLCBib3VuZHNbMV1bMV1dO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEZsb3dUaGlja25lc3NTY2FsZSA9IChcbiAgbWFnbml0dWRlRXh0ZW50OiBbbnVtYmVyLCBudW1iZXJdIHwgdW5kZWZpbmVkLFxuKSA9PiB7XG4gIGlmICghbWFnbml0dWRlRXh0ZW50KSByZXR1cm4gdW5kZWZpbmVkO1xuICByZXR1cm4gc2NhbGVMaW5lYXIoKVxuICAgIC5yYW5nZShbMC4wMjUsIDAuNV0pXG4gICAgLmRvbWFpbihbXG4gICAgICAwLFxuICAgICAgLy8gc2hvdWxkIHN1cHBvcnQgZGlmZiBtb2RlIHRvb1xuICAgICAgTWF0aC5tYXguYXBwbHkoXG4gICAgICAgIG51bGwsXG4gICAgICAgIG1hZ25pdHVkZUV4dGVudC5tYXAoKHg6IG51bWJlciB8IHVuZGVmaW5lZCkgPT4gTWF0aC5hYnMoeCB8fCAwKSksXG4gICAgICApLFxuICAgIF0pO1xufTtcbiJdfQ==
22
+ /**
23
+ * Adding meaningful cluster names.
24
+ * NOTE: this will mutate the nodes in clusterIndex
25
+ */
26
+ export function addClusterNames(clusterIndex, clusterLevels, locationsById, locationAccessors, getLocationWeight) {
27
+ const { getLocationId, getLocationName, getLocationClusterName } = locationAccessors;
28
+ const getName = (id) => {
29
+ const loc = locationsById.get(id);
30
+ if (loc) {
31
+ return getLocationName ? getLocationName(loc) : getLocationId(loc) || id;
32
+ }
33
+ return `"${id}"`;
34
+ };
35
+ for (const level of clusterLevels) {
36
+ for (const node of level.nodes) {
37
+ // Here mutating the nodes (adding names)
38
+ if (isCluster(node)) {
39
+ const leaves = clusterIndex.expandCluster(node);
40
+ leaves.sort((a, b) => descending(getLocationWeight(a), getLocationWeight(b)));
41
+ if (getLocationClusterName) {
42
+ node.name = getLocationClusterName(leaves);
43
+ }
44
+ else {
45
+ const topId = leaves[0];
46
+ const otherId = leaves.length === 2 ? leaves[1] : undefined;
47
+ node.name = `"${getName(topId)}" and ${otherId ? `"${getName(otherId)}"` : `${leaves.length - 1} others`}`;
48
+ }
49
+ }
50
+ else {
51
+ node.name = getName(node.id);
52
+ }
53
+ }
54
+ }
55
+ }
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NlbGVjdG9yLWZ1bmN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBRUwsU0FBUyxHQUdWLE1BQU0sU0FBUyxDQUFDO0FBQ2pCLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFckMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUVwQyx3QkFBd0I7QUFFeEIsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FDcEMsUUFBdUIsRUFDdkIscUJBQXFCLEdBQUcsQ0FBQyxFQUNTLEVBQUU7SUFDcEMsTUFBTSxHQUFHLEdBQUcscUJBQXFCLENBQUM7SUFDbEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxtQkFBbUIsaUNBQ2pDLFFBQVEsS0FDWCxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUMvQixNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUNqQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2YsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xFLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQ25DLGVBQTZDLEVBQzdDLEVBQUU7SUFDRixJQUFJLENBQUMsZUFBZTtRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQ3ZDLE9BQU8sV0FBVyxFQUFFO1NBQ2pCLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNuQixNQUFNLENBQUM7UUFDTixDQUFDO1FBQ0QsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUNaLElBQUksRUFDSixlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBcUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDakU7S0FDRixDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUM3QixZQUE2QixFQUM3QixhQUE2QixFQUM3QixhQUFzQyxFQUN0QyxpQkFBdUMsRUFDdkMsaUJBQXVDO0lBRXZDLE1BQU0sRUFBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixFQUFDLEdBQzVELGlCQUFpQixDQUFDO0lBQ3BCLE1BQU0sT0FBTyxHQUFHLENBQUMsRUFBbUIsRUFBRSxFQUFFO1FBQ3RDLE1BQU0sR0FBRyxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEMsSUFBSSxHQUFHLEVBQUU7WUFDUCxPQUFPLGVBQWUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzFFO1FBQ0QsT0FBTyxJQUFJLEVBQUUsR0FBRyxDQUFDO0lBQ25CLENBQUMsQ0FBQztJQUNGLEtBQUssTUFBTSxLQUFLLElBQUksYUFBYSxFQUFFO1FBQ2pDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRTtZQUM5Qix5Q0FBeUM7WUFDekMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ25CLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRWhELE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDbkIsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3ZELENBQUM7Z0JBRUYsSUFBSSxzQkFBc0IsRUFBRTtvQkFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDNUM7cUJBQU07b0JBQ0wsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN4QixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7b0JBQzVELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQzVCLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsU0FDMUQsRUFBRSxDQUFDO2lCQUNKO2FBQ0Y7aUJBQU07Z0JBQ0osSUFBWSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3ZDO1NBQ0Y7S0FDRjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1dlYk1lcmNhdG9yVmlld3BvcnR9IGZyb20gJ0BtYXRoLmdsL3dlYi1tZXJjYXRvcic7XG5pbXBvcnQge1xuICBDbHVzdGVyTGV2ZWwsXG4gIGlzQ2x1c3RlcixcbiAgTG9jYXRpb25BY2Nlc3NvcnMsXG4gIFZpZXdwb3J0UHJvcHMsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHtzY2FsZUxpbmVhcn0gZnJvbSAnZDMtc2NhbGUnO1xuaW1wb3J0IHtDbHVzdGVySW5kZXgsIExvY2F0aW9uV2VpZ2h0R2V0dGVyfSBmcm9tICcuL2NsdXN0ZXIvQ2x1c3RlckluZGV4JztcbmltcG9ydCB7ZGVzY2VuZGluZ30gZnJvbSAnZDMtYXJyYXknO1xuXG4vLyBUT0RPOiB1c2UgcmUtcmVzZWxlY3RcblxuZXhwb3J0IGNvbnN0IGdldFZpZXdwb3J0Qm91bmRpbmdCb3ggPSAoXG4gIHZpZXdwb3J0OiBWaWV3cG9ydFByb3BzLFxuICBtYXhMb2NhdGlvbkNpcmNsZVNpemUgPSAwLFxuKTogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0gPT4ge1xuICBjb25zdCBwYWQgPSBtYXhMb2NhdGlvbkNpcmNsZVNpemU7XG4gIGNvbnN0IGJvdW5kcyA9IG5ldyBXZWJNZXJjYXRvclZpZXdwb3J0KHtcbiAgICAuLi52aWV3cG9ydCxcbiAgICB3aWR0aDogdmlld3BvcnQud2lkdGggKyBwYWQgKiAyLFxuICAgIGhlaWdodDogdmlld3BvcnQuaGVpZ2h0ICsgcGFkICogMixcbiAgfSkuZ2V0Qm91bmRzKCk7XG4gIHJldHVybiBbYm91bmRzWzBdWzBdLCBib3VuZHNbMF1bMV0sIGJvdW5kc1sxXVswXSwgYm91bmRzWzFdWzFdXTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGbG93VGhpY2tuZXNzU2NhbGUgPSAoXG4gIG1hZ25pdHVkZUV4dGVudDogW251bWJlciwgbnVtYmVyXSB8IHVuZGVmaW5lZCxcbikgPT4ge1xuICBpZiAoIW1hZ25pdHVkZUV4dGVudCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgcmV0dXJuIHNjYWxlTGluZWFyKClcbiAgICAucmFuZ2UoWzAuMDI1LCAwLjVdKVxuICAgIC5kb21haW4oW1xuICAgICAgMCxcbiAgICAgIC8vIHNob3VsZCBzdXBwb3J0IGRpZmYgbW9kZSB0b29cbiAgICAgIE1hdGgubWF4LmFwcGx5KFxuICAgICAgICBudWxsLFxuICAgICAgICBtYWduaXR1ZGVFeHRlbnQubWFwKCh4OiBudW1iZXIgfCB1bmRlZmluZWQpID0+IE1hdGguYWJzKHggfHwgMCkpLFxuICAgICAgKSxcbiAgICBdKTtcbn07XG5cbi8qKlxuICogQWRkaW5nIG1lYW5pbmdmdWwgY2x1c3RlciBuYW1lcy5cbiAqIE5PVEU6IHRoaXMgd2lsbCBtdXRhdGUgdGhlIG5vZGVzIGluIGNsdXN0ZXJJbmRleFxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkQ2x1c3Rlck5hbWVzPEwsIEY+KFxuICBjbHVzdGVySW5kZXg6IENsdXN0ZXJJbmRleDxGPixcbiAgY2x1c3RlckxldmVsczogQ2x1c3RlckxldmVsW10sXG4gIGxvY2F0aW9uc0J5SWQ6IE1hcDxzdHJpbmcgfCBudW1iZXIsIEw+LFxuICBsb2NhdGlvbkFjY2Vzc29yczogTG9jYXRpb25BY2Nlc3NvcnM8TD4sXG4gIGdldExvY2F0aW9uV2VpZ2h0OiBMb2NhdGlvbldlaWdodEdldHRlcixcbik6IHZvaWQge1xuICBjb25zdCB7Z2V0TG9jYXRpb25JZCwgZ2V0TG9jYXRpb25OYW1lLCBnZXRMb2NhdGlvbkNsdXN0ZXJOYW1lfSA9XG4gICAgbG9jYXRpb25BY2Nlc3NvcnM7XG4gIGNvbnN0IGdldE5hbWUgPSAoaWQ6IHN0cmluZyB8IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IGxvYyA9IGxvY2F0aW9uc0J5SWQuZ2V0KGlkKTtcbiAgICBpZiAobG9jKSB7XG4gICAgICByZXR1cm4gZ2V0TG9jYXRpb25OYW1lID8gZ2V0TG9jYXRpb25OYW1lKGxvYykgOiBnZXRMb2NhdGlvbklkKGxvYykgfHwgaWQ7XG4gICAgfVxuICAgIHJldHVybiBgXCIke2lkfVwiYDtcbiAgfTtcbiAgZm9yIChjb25zdCBsZXZlbCBvZiBjbHVzdGVyTGV2ZWxzKSB7XG4gICAgZm9yIChjb25zdCBub2RlIG9mIGxldmVsLm5vZGVzKSB7XG4gICAgICAvLyBIZXJlIG11dGF0aW5nIHRoZSBub2RlcyAoYWRkaW5nIG5hbWVzKVxuICAgICAgaWYgKGlzQ2x1c3Rlcihub2RlKSkge1xuICAgICAgICBjb25zdCBsZWF2ZXMgPSBjbHVzdGVySW5kZXguZXhwYW5kQ2x1c3Rlcihub2RlKTtcblxuICAgICAgICBsZWF2ZXMuc29ydCgoYSwgYikgPT5cbiAgICAgICAgICBkZXNjZW5kaW5nKGdldExvY2F0aW9uV2VpZ2h0KGEpLCBnZXRMb2NhdGlvbldlaWdodChiKSksXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGdldExvY2F0aW9uQ2x1c3Rlck5hbWUpIHtcbiAgICAgICAgICBub2RlLm5hbWUgPSBnZXRMb2NhdGlvbkNsdXN0ZXJOYW1lKGxlYXZlcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgdG9wSWQgPSBsZWF2ZXNbMF07XG4gICAgICAgICAgY29uc3Qgb3RoZXJJZCA9IGxlYXZlcy5sZW5ndGggPT09IDIgPyBsZWF2ZXNbMV0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgbm9kZS5uYW1lID0gYFwiJHtnZXROYW1lKHRvcElkKX1cIiBhbmQgJHtcbiAgICAgICAgICAgIG90aGVySWQgPyBgXCIke2dldE5hbWUob3RoZXJJZCl9XCJgIDogYCR7bGVhdmVzLmxlbmd0aCAtIDF9IG90aGVyc2BcbiAgICAgICAgICB9YDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgKG5vZGUgYXMgYW55KS5uYW1lID0gZ2V0TmFtZShub2RlLmlkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
package/dist/types.d.ts CHANGED
@@ -21,7 +21,7 @@ export interface FlowAccessors<F> {
21
21
  }
22
22
  export interface LocationAccessors<L> {
23
23
  getLocationId: LocationAccessor<L, string | number>;
24
- getLocationName?: LocationAccessor<L, string | number>;
24
+ getLocationName?: LocationAccessor<L, string>;
25
25
  getLocationLat: LocationAccessor<L, number>;
26
26
  getLocationLon: LocationAccessor<L, number>;
27
27
  getLocationClusterName?: (locationIds: (string | number)[]) => string;
@@ -111,6 +111,7 @@ export interface FlowLinesLayerAttributes {
111
111
  export interface LayersData {
112
112
  circleAttributes: FlowCirclesLayerAttributes;
113
113
  lineAttributes: FlowLinesLayerAttributes;
114
+ locationLabels?: string[];
114
115
  }
115
116
  export declare type LayersDataAttrValues<T> = {
116
117
  value: T;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI;IAC9B,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC/B,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,oBAAY,YAAY,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;AAChD,oBAAY,gBAAgB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;AAExD,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,eAAe,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IAClD,aAAa,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IAChD,gBAAgB,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;CAErC;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,aAAa,EAAE,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACpD,eAAe,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACvD,cAAc,EAAE,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5C,cAAc,EAAE,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5C,sBAAsB,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC;CAIvE;AAED,oBAAY,oBAAoB,CAAC,CAAC,EAAE,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,GAC3D,aAAa,CAAC,CAAC,CAAC,CAAC;AAEnB,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAQD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrC,sBAAsB,CAAC,EAAE,GAAG,CAAC;IAC7B,sBAAsB,CAAC,EAAE,GAAG,CAAC;IAC7B,gBAAgB,CAAC,EAAE,GAAG,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,oBAAY,aAAa,GAAG,YAAY,EAAE,CAAC;AAG3C,MAAM,WAAW,OAAQ,SAAQ,WAAW;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,IAAI,OAAO,CAGtD;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,WAAW,GAAG,CAAC,IAAI,WAAW,CAG7E;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,IAAI,IAAI,aAAa,CAQvB;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG;IAC7C,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;IACpB,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;CACvC;AAED,oBAAY,kBAAkB;IAC5B,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE;QACV,WAAW,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;QAChD,QAAQ,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAC3C,WAAW,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;QAChD,YAAY,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;KAClD,CAAC;CACH;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE;QACV,iBAAiB,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACtD,iBAAiB,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACtD,YAAY,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACjD,QAAQ,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAC3C,kBAAkB,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACvD,aAAa,CAAC,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;KACpD,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,cAAc,EAAE,wBAAwB,CAAC;CAC1C;AAED,oBAAY,oBAAoB,CAAC,CAAC,IAAI;IAAC,KAAK,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -20,4 +20,4 @@ export var LocationFilterMode;
20
20
  LocationFilterMode["OUTGOING"] = "OUTGOING";
21
21
  LocationFilterMode["BETWEEN"] = "BETWEEN";
22
22
  })(LocationFilterMode || (LocationFilterMode = {}));
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0dBLE1BQU0sVUFBVSxTQUFTLENBQUMsQ0FBYztJQUN0QyxNQUFNLEVBQUMsUUFBUSxFQUFDLEdBQUcsQ0FBWSxDQUFDO0lBQ2hDLE9BQU8sUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUksQ0FBa0I7SUFDekQsTUFBTSxFQUFDLElBQUksRUFBQyxHQUFHLENBQWdCLENBQUM7SUFDaEMsT0FBTyxJQUFJLEtBQUssU0FBUyxDQUFDO0FBQzVCLENBQUM7QUFTRCxNQUFNLFVBQVUsZUFBZSxDQUM3QixJQUF5QjtJQUV6QixPQUFPLENBQ0wsSUFBSTtRQUNKLCtCQUErQjtRQUMvQiw2QkFBNkI7UUFDN0IsOEJBQThCO1FBQzlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FDaEMsQ0FBQztBQUNKLENBQUM7QUFPRCxNQUFNLENBQU4sSUFBWSxrQkFLWDtBQUxELFdBQVksa0JBQWtCO0lBQzVCLGlDQUFXLENBQUE7SUFDWCwyQ0FBcUIsQ0FBQTtJQUNyQiwyQ0FBcUIsQ0FBQTtJQUNyQix5Q0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUs3QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEZsb3dtYXBEYXRhPEwsIEY+ID0ge1xuICBsb2NhdGlvbnM6IEl0ZXJhYmxlPEw+IHwgdW5kZWZpbmVkO1xuICBmbG93czogSXRlcmFibGU8Rj4gfCB1bmRlZmluZWQ7XG4gIGNsdXN0ZXJMZXZlbHM/OiBDbHVzdGVyTGV2ZWxzO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBWaWV3U3RhdGUge1xuICBsYXRpdHVkZTogbnVtYmVyO1xuICBsb25naXR1ZGU6IG51bWJlcjtcbiAgem9vbTogbnVtYmVyO1xuICBiZWFyaW5nPzogbnVtYmVyO1xuICBwaXRjaD86IG51bWJlcjtcbiAgYWx0aXR1ZGU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIEZsb3dBY2Nlc3NvcjxGLCBUPiA9IChmbG93OiBGKSA9PiBUOyAvLyBvYmplY3RJbmZvPzogQWNjZXNzb3JPYmplY3RJbmZvLFxuZXhwb3J0IHR5cGUgTG9jYXRpb25BY2Nlc3NvcjxMLCBUPiA9IChsb2NhdGlvbjogTCkgPT4gVDtcblxuZXhwb3J0IGludGVyZmFjZSBGbG93QWNjZXNzb3JzPEY+IHtcbiAgZ2V0Rmxvd09yaWdpbklkOiBGbG93QWNjZXNzb3I8Riwgc3RyaW5nIHwgbnVtYmVyPjtcbiAgZ2V0Rmxvd0Rlc3RJZDogRmxvd0FjY2Vzc29yPEYsIHN0cmluZyB8IG51bWJlcj47XG4gIGdldEZsb3dNYWduaXR1ZGU6IEZsb3dBY2Nlc3NvcjxGLCBudW1iZXI+O1xuICBnZXRGbG93VGltZT86IEZsb3dBY2Nlc3NvcjxGLCBEYXRlPjsgLy8gVE9ETzogdXNlIG51bWJlciBpbnN0ZWFkIG9mIERhdGVcbiAgLy8gZ2V0Rmxvd0NvbG9yPzogRmxvd0FjY2Vzc29yPHN0cmluZyB8IHVuZGVmaW5lZD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb25BY2Nlc3NvcnM8TD4ge1xuICBnZXRMb2NhdGlvbklkOiBMb2NhdGlvbkFjY2Vzc29yPEwsIHN0cmluZyB8IG51bWJlcj47XG4gIGdldExvY2F0aW9uTmFtZT86IExvY2F0aW9uQWNjZXNzb3I8TCwgc3RyaW5nIHwgbnVtYmVyPjtcbiAgZ2V0TG9jYXRpb25MYXQ6IExvY2F0aW9uQWNjZXNzb3I8TCwgbnVtYmVyPjtcbiAgZ2V0TG9jYXRpb25Mb246IExvY2F0aW9uQWNjZXNzb3I8TCwgbnVtYmVyPjtcbiAgZ2V0TG9jYXRpb25DbHVzdGVyTmFtZT86IChsb2NhdGlvbklkczogKHN0cmluZyB8IG51bWJlcilbXSkgPT4gc3RyaW5nO1xuICAvLyBnZXRMb2NhdGlvblRvdGFsSW4/OiBMb2NhdGlvbkFjY2Vzc29yPG51bWJlcj47XG4gIC8vIGdldExvY2F0aW9uVG90YWxPdXQ/OiBMb2NhdGlvbkFjY2Vzc29yPG51bWJlcj47XG4gIC8vIGdldExvY2F0aW9uVG90YWxJbnRlcm5hbD86IExvY2F0aW9uQWNjZXNzb3I8bnVtYmVyPjtcbn1cblxuZXhwb3J0IHR5cGUgRmxvd21hcERhdGFBY2Nlc3NvcnM8TCwgRj4gPSBMb2NhdGlvbkFjY2Vzc29yczxMPiAmXG4gIEZsb3dBY2Nlc3NvcnM8Rj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb25Ub3RhbHMge1xuICBpbmNvbWluZ0NvdW50OiBudW1iZXI7XG4gIG91dGdvaW5nQ291bnQ6IG51bWJlcjtcbiAgaW50ZXJuYWxDb3VudDogbnVtYmVyO1xufVxuXG4vLyBleHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uc1RvdGFscyB7XG4vLyAgIGluY29taW5nOiB7W2lkOiBzdHJpbmddOiBudW1iZXJ9O1xuLy8gICBvdXRnb2luZzoge1tpZDogc3RyaW5nXTogbnVtYmVyfTtcbi8vICAgaW50ZXJuYWw6IHtbaWQ6IHN0cmluZ106IG51bWJlcn07XG4vLyB9XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ291bnRCeVRpbWUge1xuICB0aW1lOiBEYXRlO1xuICBjb3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZpZXdwb3J0UHJvcHMge1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbiAgbGF0aXR1ZGU6IG51bWJlcjtcbiAgbG9uZ2l0dWRlOiBudW1iZXI7XG4gIHpvb20/OiBudW1iZXI7XG4gIGJlYXJpbmc/OiBudW1iZXI7XG4gIHBpdGNoPzogbnVtYmVyO1xuICBhbHRpdHVkZT86IG51bWJlcjtcbiAgbWF4Wm9vbT86IG51bWJlcjtcbiAgbWluWm9vbT86IG51bWJlcjtcbiAgbWF4UGl0Y2g/OiBudW1iZXI7XG4gIG1pblBpdGNoPzogbnVtYmVyO1xuICB0cmFuc2l0aW9uRHVyYXRpb24/OiBudW1iZXIgfCAnYXV0byc7XG4gIHRyYW5zaXRpb25JbnRlcnBvbGF0b3I/OiBhbnk7XG4gIHRyYW5zaXRpb25JbnRlcnJ1cHRpb24/OiBhbnk7XG4gIHRyYW5zaXRpb25FYXNpbmc/OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3Rlck5vZGUge1xuICBpZDogc3RyaW5nIHwgbnVtYmVyO1xuICB6b29tOiBudW1iZXI7XG4gIGxhdDogbnVtYmVyO1xuICBsb246IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyTGV2ZWwge1xuICB6b29tOiBudW1iZXI7XG4gIG5vZGVzOiBDbHVzdGVyTm9kZVtdO1xufVxuXG5leHBvcnQgdHlwZSBDbHVzdGVyTGV2ZWxzID0gQ2x1c3RlckxldmVsW107XG5cbi8vIG5vbi1sZWFmIGNsdXN0ZXIgbm9kZVxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyIGV4dGVuZHMgQ2x1c3Rlck5vZGUge1xuICBuYW1lPzogc3RyaW5nO1xuICBjaGlsZHJlbjogc3RyaW5nW107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NsdXN0ZXIoYzogQ2x1c3Rlck5vZGUpOiBjIGlzIENsdXN0ZXIge1xuICBjb25zdCB7Y2hpbGRyZW59ID0gYyBhcyBDbHVzdGVyO1xuICByZXR1cm4gY2hpbGRyZW4gJiYgY2hpbGRyZW4ubGVuZ3RoID4gMDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTG9jYXRpb25DbHVzdGVyTm9kZTxMPihsOiBMIHwgQ2x1c3Rlck5vZGUpOiBsIGlzIENsdXN0ZXJOb2RlIHtcbiAgY29uc3Qge3pvb219ID0gbCBhcyBDbHVzdGVyTm9kZTtcbiAgcmV0dXJuIHpvb20gIT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZ2dyZWdhdGVGbG93IHtcbiAgb3JpZ2luOiBzdHJpbmcgfCBudW1iZXI7XG4gIGRlc3Q6IHN0cmluZyB8IG51bWJlcjtcbiAgY291bnQ6IG51bWJlcjtcbiAgYWdncmVnYXRlOiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNBZ2dyZWdhdGVGbG93KFxuICBmbG93OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuKTogZmxvdyBpcyBBZ2dyZWdhdGVGbG93IHtcbiAgcmV0dXJuIChcbiAgICBmbG93ICYmXG4gICAgLy8gZmxvdy5vcmlnaW4gIT09IHVuZGVmaW5lZCAmJlxuICAgIC8vIGZsb3cuZGVzdCAhPT0gdW5kZWZpbmVkICYmXG4gICAgLy8gZmxvdy5jb3VudCAhPT0gdW5kZWZpbmVkICYmXG4gICAgKGZsb3cuYWdncmVnYXRlID8gdHJ1ZSA6IGZhbHNlKVxuICApO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dDb3VudHNNYXBSZWR1Y2U8RiwgVCA9IGFueT4ge1xuICBtYXA6IChmbG93OiBGKSA9PiBUO1xuICByZWR1Y2U6IChhY2N1bXVsYXRlZDogVCwgdmFsOiBUKSA9PiBUO1xufVxuXG5leHBvcnQgZW51bSBMb2NhdGlvbkZpbHRlck1vZGUge1xuICBBTEwgPSAnQUxMJyxcbiAgSU5DT01JTkcgPSAnSU5DT01JTkcnLFxuICBPVVRHT0lORyA9ICdPVVRHT0lORycsXG4gIEJFVFdFRU4gPSAnQkVUV0VFTicsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvd0NpcmNsZXNMYXllckF0dHJpYnV0ZXMge1xuICBsZW5ndGg6IG51bWJlcjtcbiAgYXR0cmlidXRlczoge1xuICAgIGdldFBvc2l0aW9uOiBMYXllcnNEYXRhQXR0clZhbHVlczxGbG9hdDMyQXJyYXk+O1xuICAgIGdldENvbG9yOiBMYXllcnNEYXRhQXR0clZhbHVlczxVaW50OEFycmF5PjtcbiAgICBnZXRJblJhZGl1czogTGF5ZXJzRGF0YUF0dHJWYWx1ZXM8RmxvYXQzMkFycmF5PjtcbiAgICBnZXRPdXRSYWRpdXM6IExheWVyc0RhdGFBdHRyVmFsdWVzPEZsb2F0MzJBcnJheT47XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvd0xpbmVzTGF5ZXJBdHRyaWJ1dGVzIHtcbiAgbGVuZ3RoOiBudW1iZXI7XG4gIGF0dHJpYnV0ZXM6IHtcbiAgICBnZXRTb3VyY2VQb3NpdGlvbjogTGF5ZXJzRGF0YUF0dHJWYWx1ZXM8RmxvYXQzMkFycmF5PjtcbiAgICBnZXRUYXJnZXRQb3NpdGlvbjogTGF5ZXJzRGF0YUF0dHJWYWx1ZXM8RmxvYXQzMkFycmF5PjtcbiAgICBnZXRUaGlja25lc3M6IExheWVyc0RhdGFBdHRyVmFsdWVzPEZsb2F0MzJBcnJheT47XG4gICAgZ2V0Q29sb3I6IExheWVyc0RhdGFBdHRyVmFsdWVzPFVpbnQ4QXJyYXk+O1xuICAgIGdldEVuZHBvaW50T2Zmc2V0czogTGF5ZXJzRGF0YUF0dHJWYWx1ZXM8RmxvYXQzMkFycmF5PjtcbiAgICBnZXRTdGFnZ2VyaW5nPzogTGF5ZXJzRGF0YUF0dHJWYWx1ZXM8RmxvYXQzMkFycmF5PjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllcnNEYXRhIHtcbiAgY2lyY2xlQXR0cmlidXRlczogRmxvd0NpcmNsZXNMYXllckF0dHJpYnV0ZXM7XG4gIGxpbmVBdHRyaWJ1dGVzOiBGbG93TGluZXNMYXllckF0dHJpYnV0ZXM7XG59XG5cbmV4cG9ydCB0eXBlIExheWVyc0RhdGFBdHRyVmFsdWVzPFQ+ID0ge3ZhbHVlOiBUOyBzaXplOiBudW1iZXJ9O1xuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0dBLE1BQU0sVUFBVSxTQUFTLENBQUMsQ0FBYztJQUN0QyxNQUFNLEVBQUMsUUFBUSxFQUFDLEdBQUcsQ0FBWSxDQUFDO0lBQ2hDLE9BQU8sUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUksQ0FBa0I7SUFDekQsTUFBTSxFQUFDLElBQUksRUFBQyxHQUFHLENBQWdCLENBQUM7SUFDaEMsT0FBTyxJQUFJLEtBQUssU0FBUyxDQUFDO0FBQzVCLENBQUM7QUFTRCxNQUFNLFVBQVUsZUFBZSxDQUM3QixJQUF5QjtJQUV6QixPQUFPLENBQ0wsSUFBSTtRQUNKLCtCQUErQjtRQUMvQiw2QkFBNkI7UUFDN0IsOEJBQThCO1FBQzlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FDaEMsQ0FBQztBQUNKLENBQUM7QUFPRCxNQUFNLENBQU4sSUFBWSxrQkFLWDtBQUxELFdBQVksa0JBQWtCO0lBQzVCLGlDQUFXLENBQUE7SUFDWCwyQ0FBcUIsQ0FBQTtJQUNyQiwyQ0FBcUIsQ0FBQTtJQUNyQix5Q0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUs3QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEZsb3dtYXBEYXRhPEwsIEY+ID0ge1xuICBsb2NhdGlvbnM6IEl0ZXJhYmxlPEw+IHwgdW5kZWZpbmVkO1xuICBmbG93czogSXRlcmFibGU8Rj4gfCB1bmRlZmluZWQ7XG4gIGNsdXN0ZXJMZXZlbHM/OiBDbHVzdGVyTGV2ZWxzO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBWaWV3U3RhdGUge1xuICBsYXRpdHVkZTogbnVtYmVyO1xuICBsb25naXR1ZGU6IG51bWJlcjtcbiAgem9vbTogbnVtYmVyO1xuICBiZWFyaW5nPzogbnVtYmVyO1xuICBwaXRjaD86IG51bWJlcjtcbiAgYWx0aXR1ZGU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIEZsb3dBY2Nlc3NvcjxGLCBUPiA9IChmbG93OiBGKSA9PiBUOyAvLyBvYmplY3RJbmZvPzogQWNjZXNzb3JPYmplY3RJbmZvLFxuZXhwb3J0IHR5cGUgTG9jYXRpb25BY2Nlc3NvcjxMLCBUPiA9IChsb2NhdGlvbjogTCkgPT4gVDtcblxuZXhwb3J0IGludGVyZmFjZSBGbG93QWNjZXNzb3JzPEY+IHtcbiAgZ2V0Rmxvd09yaWdpbklkOiBGbG93QWNjZXNzb3I8Riwgc3RyaW5nIHwgbnVtYmVyPjtcbiAgZ2V0Rmxvd0Rlc3RJZDogRmxvd0FjY2Vzc29yPEYsIHN0cmluZyB8IG51bWJlcj47XG4gIGdldEZsb3dNYWduaXR1ZGU6IEZsb3dBY2Nlc3NvcjxGLCBudW1iZXI+O1xuICBnZXRGbG93VGltZT86IEZsb3dBY2Nlc3NvcjxGLCBEYXRlPjsgLy8gVE9ETzogdXNlIG51bWJlciBpbnN0ZWFkIG9mIERhdGVcbiAgLy8gZ2V0Rmxvd0NvbG9yPzogRmxvd0FjY2Vzc29yPHN0cmluZyB8IHVuZGVmaW5lZD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb25BY2Nlc3NvcnM8TD4ge1xuICBnZXRMb2NhdGlvbklkOiBMb2NhdGlvbkFjY2Vzc29yPEwsIHN0cmluZyB8IG51bWJlcj47XG4gIGdldExvY2F0aW9uTmFtZT86IExvY2F0aW9uQWNjZXNzb3I8TCwgc3RyaW5nPjtcbiAgZ2V0TG9jYXRpb25MYXQ6IExvY2F0aW9uQWNjZXNzb3I8TCwgbnVtYmVyPjtcbiAgZ2V0TG9jYXRpb25Mb246IExvY2F0aW9uQWNjZXNzb3I8TCwgbnVtYmVyPjtcbiAgZ2V0TG9jYXRpb25DbHVzdGVyTmFtZT86IChsb2NhdGlvbklkczogKHN0cmluZyB8IG51bWJlcilbXSkgPT4gc3RyaW5nO1xuICAvLyBnZXRMb2NhdGlvblRvdGFsSW4/OiBMb2NhdGlvbkFjY2Vzc29yPG51bWJlcj47XG4gIC8vIGdldExvY2F0aW9uVG90YWxPdXQ/OiBMb2NhdGlvbkFjY2Vzc29yPG51bWJlcj47XG4gIC8vIGdldExvY2F0aW9uVG90YWxJbnRlcm5hbD86IExvY2F0aW9uQWNjZXNzb3I8bnVtYmVyPjtcbn1cblxuZXhwb3J0IHR5cGUgRmxvd21hcERhdGFBY2Nlc3NvcnM8TCwgRj4gPSBMb2NhdGlvbkFjY2Vzc29yczxMPiAmXG4gIEZsb3dBY2Nlc3NvcnM8Rj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb25Ub3RhbHMge1xuICBpbmNvbWluZ0NvdW50OiBudW1iZXI7XG4gIG91dGdvaW5nQ291bnQ6IG51bWJlcjtcbiAgaW50ZXJuYWxDb3VudDogbnVtYmVyO1xufVxuXG4vLyBleHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uc1RvdGFscyB7XG4vLyAgIGluY29taW5nOiB7W2lkOiBzdHJpbmddOiBudW1iZXJ9O1xuLy8gICBvdXRnb2luZzoge1tpZDogc3RyaW5nXTogbnVtYmVyfTtcbi8vICAgaW50ZXJuYWw6IHtbaWQ6IHN0cmluZ106IG51bWJlcn07XG4vLyB9XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ291bnRCeVRpbWUge1xuICB0aW1lOiBEYXRlO1xuICBjb3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZpZXdwb3J0UHJvcHMge1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbiAgbGF0aXR1ZGU6IG51bWJlcjtcbiAgbG9uZ2l0dWRlOiBudW1iZXI7XG4gIHpvb20/OiBudW1iZXI7XG4gIGJlYXJpbmc/OiBudW1iZXI7XG4gIHBpdGNoPzogbnVtYmVyO1xuICBhbHRpdHVkZT86IG51bWJlcjtcbiAgbWF4Wm9vbT86IG51bWJlcjtcbiAgbWluWm9vbT86IG51bWJlcjtcbiAgbWF4UGl0Y2g/OiBudW1iZXI7XG4gIG1pblBpdGNoPzogbnVtYmVyO1xuICB0cmFuc2l0aW9uRHVyYXRpb24/OiBudW1iZXIgfCAnYXV0byc7XG4gIHRyYW5zaXRpb25JbnRlcnBvbGF0b3I/OiBhbnk7XG4gIHRyYW5zaXRpb25JbnRlcnJ1cHRpb24/OiBhbnk7XG4gIHRyYW5zaXRpb25FYXNpbmc/OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3Rlck5vZGUge1xuICBpZDogc3RyaW5nIHwgbnVtYmVyO1xuICB6b29tOiBudW1iZXI7XG4gIGxhdDogbnVtYmVyO1xuICBsb246IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyTGV2ZWwge1xuICB6b29tOiBudW1iZXI7XG4gIG5vZGVzOiBDbHVzdGVyTm9kZVtdO1xufVxuXG5leHBvcnQgdHlwZSBDbHVzdGVyTGV2ZWxzID0gQ2x1c3RlckxldmVsW107XG5cbi8vIG5vbi1sZWFmIGNsdXN0ZXIgbm9kZVxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyIGV4dGVuZHMgQ2x1c3Rlck5vZGUge1xuICBuYW1lPzogc3RyaW5nO1xuICBjaGlsZHJlbjogc3RyaW5nW107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NsdXN0ZXIoYzogQ2x1c3Rlck5vZGUpOiBjIGlzIENsdXN0ZXIge1xuICBjb25zdCB7Y2hpbGRyZW59ID0gYyBhcyBDbHVzdGVyO1xuICByZXR1cm4gY2hpbGRyZW4gJiYgY2hpbGRyZW4ubGVuZ3RoID4gMDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTG9jYXRpb25DbHVzdGVyTm9kZTxMPihsOiBMIHwgQ2x1c3Rlck5vZGUpOiBsIGlzIENsdXN0ZXJOb2RlIHtcbiAgY29uc3Qge3pvb219ID0gbCBhcyBDbHVzdGVyTm9kZTtcbiAgcmV0dXJuIHpvb20gIT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZ2dyZWdhdGVGbG93IHtcbiAgb3JpZ2luOiBzdHJpbmcgfCBudW1iZXI7XG4gIGRlc3Q6IHN0cmluZyB8IG51bWJlcjtcbiAgY291bnQ6IG51bWJlcjtcbiAgYWdncmVnYXRlOiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNBZ2dyZWdhdGVGbG93KFxuICBmbG93OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuKTogZmxvdyBpcyBBZ2dyZWdhdGVGbG93IHtcbiAgcmV0dXJuIChcbiAgICBmbG93ICYmXG4gICAgLy8gZmxvdy5vcmlnaW4gIT09IHVuZGVmaW5lZCAmJlxuICAgIC8vIGZsb3cuZGVzdCAhPT0gdW5kZWZpbmVkICYmXG4gICAgLy8gZmxvdy5jb3VudCAhPT0gdW5kZWZpbmVkICYmXG4gICAgKGZsb3cuYWdncmVnYXRlID8gdHJ1ZSA6IGZhbHNlKVxuICApO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dDb3VudHNNYXBSZWR1Y2U8RiwgVCA9IGFueT4ge1xuICBtYXA6IChmbG93OiBGKSA9PiBUO1xuICByZWR1Y2U6IChhY2N1bXVsYXRlZDogVCwgdmFsOiBUKSA9PiBUO1xufVxuXG5leHBvcnQgZW51bSBMb2NhdGlvbkZpbHRlck1vZGUge1xuICBBTEwgPSAnQUxMJyxcbiAgSU5DT01JTkcgPSAnSU5DT01JTkcnLFxuICBPVVRHT0lORyA9ICdPVVRHT0lORycsXG4gIEJFVFdFRU4gPSAnQkVUV0VFTicsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvd0NpcmNsZXNMYXllckF0dHJpYnV0ZXMge1xuICBsZW5ndGg6IG51bWJlcjtcbiAgYXR0cmlidXRlczoge1xuICAgIGdldFBvc2l0aW9uOiBMYXllcnNEYXRhQXR0clZhbHVlczxGbG9hdDMyQXJyYXk+O1xuICAgIGdldENvbG9yOiBMYXllcnNEYXRhQXR0clZhbHVlczxVaW50OEFycmF5PjtcbiAgICBnZXRJblJhZGl1czogTGF5ZXJzRGF0YUF0dHJWYWx1ZXM8RmxvYXQzMkFycmF5PjtcbiAgICBnZXRPdXRSYWRpdXM6IExheWVyc0RhdGFBdHRyVmFsdWVzPEZsb2F0MzJBcnJheT47XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvd0xpbmVzTGF5ZXJBdHRyaWJ1dGVzIHtcbiAgbGVuZ3RoOiBudW1iZXI7XG4gIGF0dHJpYnV0ZXM6IHtcbiAgICBnZXRTb3VyY2VQb3NpdGlvbjogTGF5ZXJzRGF0YUF0dHJWYWx1ZXM8RmxvYXQzMkFycmF5PjtcbiAgICBnZXRUYXJnZXRQb3NpdGlvbjogTGF5ZXJzRGF0YUF0dHJWYWx1ZXM8RmxvYXQzMkFycmF5PjtcbiAgICBnZXRUaGlja25lc3M6IExheWVyc0RhdGFBdHRyVmFsdWVzPEZsb2F0MzJBcnJheT47XG4gICAgZ2V0Q29sb3I6IExheWVyc0RhdGFBdHRyVmFsdWVzPFVpbnQ4QXJyYXk+O1xuICAgIGdldEVuZHBvaW50T2Zmc2V0czogTGF5ZXJzRGF0YUF0dHJWYWx1ZXM8RmxvYXQzMkFycmF5PjtcbiAgICBnZXRTdGFnZ2VyaW5nPzogTGF5ZXJzRGF0YUF0dHJWYWx1ZXM8RmxvYXQzMkFycmF5PjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllcnNEYXRhIHtcbiAgY2lyY2xlQXR0cmlidXRlczogRmxvd0NpcmNsZXNMYXllckF0dHJpYnV0ZXM7XG4gIGxpbmVBdHRyaWJ1dGVzOiBGbG93TGluZXNMYXllckF0dHJpYnV0ZXM7XG4gIGxvY2F0aW9uTGFiZWxzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCB0eXBlIExheWVyc0RhdGFBdHRyVmFsdWVzPFQ+ID0ge3ZhbHVlOiBUOyBzaXplOiBudW1iZXJ9O1xuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flowmap.gl/data",
3
- "version": "8.0.0-alpha.21",
3
+ "version": "8.0.0-alpha.22",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -40,7 +40,7 @@
40
40
  "@types/mapbox__geo-viewport": "^0.4.1",
41
41
  "@types/seedrandom": "^3.0.1"
42
42
  },
43
- "gitHead": "8ad02bb96982874e70c452a3607477bce184e91e",
43
+ "gitHead": "f063293ea0ee062e84e9b0fecb475b704847376e",
44
44
  "publishConfig": {
45
45
  "access": "public"
46
46
  }
@@ -26,14 +26,16 @@ export default class FlowmapAggregateAccessors<L, F> {
26
26
  ? location.id
27
27
  : this.accessors.getLocationId(location);
28
28
 
29
- getLocationName = (location: L | ClusterNode): string =>
30
- (isLocationClusterNode(location) && isCluster(location)
31
- ? location.name
32
- : undefined) ?? `${this.getLocationId(location)}`;
33
- // ? location.name // TODO getLocationName for locations and clusters
34
- // : this.accessors.getLocationName
35
- // ? this.accessors.getLocationName(location)
36
- // : this.getLocationId(location);
29
+ getLocationName = (location: L | ClusterNode): string => {
30
+ let name;
31
+ if (isLocationClusterNode(location) && isCluster(location)) {
32
+ name = location.name;
33
+ } else if (this.accessors.getLocationName) {
34
+ name = this.accessors.getLocationName(location as L);
35
+ }
36
+ if (!name) name = `${this.getLocationId(location)}`;
37
+ return name;
38
+ };
37
39
 
38
40
  getLocationLat = (location: L | ClusterNode): number =>
39
41
  isLocationClusterNode(location)
@@ -46,6 +46,7 @@ import getColors, {
46
46
  import FlowmapAggregateAccessors from './FlowmapAggregateAccessors';
47
47
  import {FlowmapState} from './FlowmapState';
48
48
  import {
49
+ addClusterNames,
49
50
  getFlowThicknessScale,
50
51
  getViewportBoundingBox,
51
52
  } from './selector-functions';
@@ -114,6 +115,8 @@ export default class FlowmapSelectors<L, F> {
114
115
  state.settings.clusteringEnabled;
115
116
  getLocationTotalsEnabled = (state: FlowmapState, props: FlowmapData<L, F>) =>
116
117
  state.settings.locationTotalsEnabled;
118
+ getLocationLabelsEnabled = (state: FlowmapState, props: FlowmapData<L, F>) =>
119
+ state.settings.locationLabelsEnabled;
117
120
  getZoom = (state: FlowmapState, props: FlowmapData<L, F>) =>
118
121
  state.viewport.zoom;
119
122
  getViewport = (state: FlowmapState, props: FlowmapData<L, F>) =>
@@ -361,46 +364,14 @@ export default class FlowmapSelectors<L, F> {
361
364
  return undefined;
362
365
 
363
366
  const clusterIndex = buildIndex<F>(clusterLevels);
364
- const {getLocationName, getLocationClusterName} =
365
- this.accessors.getFlowmapDataAccessors();
366
-
367
367
  // Adding meaningful names
368
- const getName = (id: string | number) => {
369
- const loc = locationsById.get(id);
370
- if (loc) {
371
- return getLocationName
372
- ? getLocationName(loc)
373
- : this.accessors.getLocationId(loc) || id;
374
- }
375
- return `"${id}"`;
376
- };
377
- for (const level of clusterLevels) {
378
- for (const node of level.nodes) {
379
- // Here mutating the nodes (adding names)
380
- if (isCluster(node)) {
381
- const leaves = clusterIndex.expandCluster(node);
382
-
383
- leaves.sort((a, b) =>
384
- descending(getLocationWeight(a), getLocationWeight(b)),
385
- );
386
-
387
- if (getLocationClusterName) {
388
- node.name = getLocationClusterName(leaves);
389
- } else {
390
- const topId = leaves[0];
391
- const otherId = leaves.length === 2 ? leaves[1] : undefined;
392
- node.name = `"${getName(topId)}" and ${
393
- otherId
394
- ? `"${getName(otherId)}"`
395
- : `${leaves.length - 1} others`
396
- }`;
397
- }
398
- } else {
399
- (node as any).name = getName(node.id);
400
- }
401
- }
402
- }
403
-
368
+ addClusterNames(
369
+ clusterIndex,
370
+ clusterLevels,
371
+ locationsById,
372
+ this.accessors.getFlowmapDataAccessors(),
373
+ getLocationWeight,
374
+ );
404
375
  return clusterIndex;
405
376
  },
406
377
  );
@@ -1099,6 +1070,15 @@ export default class FlowmapSelectors<L, F> {
1099
1070
  );
1100
1071
  });
1101
1072
 
1073
+ getLocationOrClusterByIdGetter = createSelector(
1074
+ this.getClusterIndex,
1075
+ this.getLocationsById,
1076
+ (clusterIndex, locationsById) => {
1077
+ return (id: string | number) =>
1078
+ clusterIndex?.getClusterById(id) ?? locationsById?.get(id);
1079
+ },
1080
+ );
1081
+
1102
1082
  getLayersData: Selector<L, F, LayersData> = createSelector(
1103
1083
  this.getLocationsForFlowmapLayer,
1104
1084
  this.getFlowsForFlowmapLayer,
@@ -1109,6 +1089,7 @@ export default class FlowmapSelectors<L, F> {
1109
1089
  this.getOutCircleSizeGetter,
1110
1090
  this.getFlowThicknessScale,
1111
1091
  this.getAnimate,
1092
+ this.getLocationLabelsEnabled,
1112
1093
  (
1113
1094
  locations,
1114
1095
  flows,
@@ -1119,6 +1100,7 @@ export default class FlowmapSelectors<L, F> {
1119
1100
  getOutCircleSize,
1120
1101
  flowThicknessScale,
1121
1102
  animationEnabled,
1103
+ locationLabelsEnabled,
1122
1104
  ) => {
1123
1105
  return this._prepareLayersData(
1124
1106
  locations,
@@ -1130,6 +1112,7 @@ export default class FlowmapSelectors<L, F> {
1130
1112
  getOutCircleSize,
1131
1113
  flowThicknessScale,
1132
1114
  animationEnabled,
1115
+ locationLabelsEnabled,
1133
1116
  );
1134
1117
  },
1135
1118
  );
@@ -1143,6 +1126,7 @@ export default class FlowmapSelectors<L, F> {
1143
1126
  const getInCircleSize = this.getInCircleSizeGetter(state, props);
1144
1127
  const getOutCircleSize = this.getOutCircleSizeGetter(state, props);
1145
1128
  const flowThicknessScale = this.getFlowThicknessScale(state, props);
1129
+ const locationLabelsEnabled = this.getLocationLabelsEnabled(state, props);
1146
1130
  return this._prepareLayersData(
1147
1131
  locations,
1148
1132
  flows,
@@ -1153,6 +1137,7 @@ export default class FlowmapSelectors<L, F> {
1153
1137
  getOutCircleSize,
1154
1138
  flowThicknessScale,
1155
1139
  state.settings.animationEnabled,
1140
+ locationLabelsEnabled,
1156
1141
  );
1157
1142
  }
1158
1143
 
@@ -1166,6 +1151,7 @@ export default class FlowmapSelectors<L, F> {
1166
1151
  getOutCircleSize: (locationId: string | number) => number,
1167
1152
  flowThicknessScale: ScaleLinear<number, number, never> | undefined,
1168
1153
  animationEnabled: boolean,
1154
+ locationLabelsEnabled: boolean,
1169
1155
  ): LayersData {
1170
1156
  if (!locations) locations = [];
1171
1157
  if (!flows) flows = [];
@@ -1176,6 +1162,7 @@ export default class FlowmapSelectors<L, F> {
1176
1162
  getLocationId,
1177
1163
  getLocationLon,
1178
1164
  getLocationLat,
1165
+ getLocationName,
1179
1166
  } = this.accessors;
1180
1167
 
1181
1168
  const flowMagnitudeExtent = extent(flows, (f) => getFlowMagnitude(f)) as [
@@ -1307,6 +1294,9 @@ export default class FlowmapSelectors<L, F> {
1307
1294
  : {}),
1308
1295
  },
1309
1296
  },
1297
+ ...(locationLabelsEnabled
1298
+ ? {locationLabels: locations.map(getLocationName)}
1299
+ : undefined),
1310
1300
  };
1311
1301
  }
1312
1302
 
@@ -11,6 +11,7 @@ export interface SettingsState {
11
11
  fadeEnabled: boolean;
12
12
  fadeOpacityEnabled: boolean;
13
13
  locationTotalsEnabled: boolean;
14
+ locationLabelsEnabled: boolean;
14
15
  adaptiveScalesEnabled: boolean;
15
16
  clusteringEnabled: boolean;
16
17
  clusteringAuto: boolean;
@@ -34,14 +34,26 @@ export default class LocalFlowmapDataProvider<L, F>
34
34
  this.selectors.setAccessors(accessors);
35
35
  }
36
36
 
37
- async setFlowmapData(flowmapData: FlowmapData<L, F>): Promise<void> {
37
+ setFlowmapData(flowmapData: FlowmapData<L, F>): void {
38
38
  this.flowmapData = flowmapData;
39
39
  }
40
40
 
41
+ getSelectors(): FlowmapSelectors<L, F> {
42
+ return this.selectors;
43
+ }
44
+
45
+ getFlowmapData(): FlowmapData<L, F> | undefined {
46
+ return this.flowmapData;
47
+ }
48
+
41
49
  async setFlowmapState(flowmapState: FlowmapState): Promise<void> {
42
50
  this.flowmapState = flowmapState;
43
51
  }
44
52
 
53
+ getFlowmapState(): FlowmapState | undefined {
54
+ return this.flowmapState;
55
+ }
56
+
45
57
  async getFlowByIndex(idx: number): Promise<F | AggregateFlow | undefined> {
46
58
  if (!this.flowmapState || !this.flowmapData) {
47
59
  return undefined;
@@ -1,6 +1,13 @@
1
1
  import {WebMercatorViewport} from '@math.gl/web-mercator';
2
- import {ViewportProps} from './types';
2
+ import {
3
+ ClusterLevel,
4
+ isCluster,
5
+ LocationAccessors,
6
+ ViewportProps,
7
+ } from './types';
3
8
  import {scaleLinear} from 'd3-scale';
9
+ import {ClusterIndex, LocationWeightGetter} from './cluster/ClusterIndex';
10
+ import {descending} from 'd3-array';
4
11
 
5
12
  // TODO: use re-reselect
6
13
 
@@ -32,3 +39,49 @@ export const getFlowThicknessScale = (
32
39
  ),
33
40
  ]);
34
41
  };
42
+
43
+ /**
44
+ * Adding meaningful cluster names.
45
+ * NOTE: this will mutate the nodes in clusterIndex
46
+ */
47
+ export function addClusterNames<L, F>(
48
+ clusterIndex: ClusterIndex<F>,
49
+ clusterLevels: ClusterLevel[],
50
+ locationsById: Map<string | number, L>,
51
+ locationAccessors: LocationAccessors<L>,
52
+ getLocationWeight: LocationWeightGetter,
53
+ ): void {
54
+ const {getLocationId, getLocationName, getLocationClusterName} =
55
+ locationAccessors;
56
+ const getName = (id: string | number) => {
57
+ const loc = locationsById.get(id);
58
+ if (loc) {
59
+ return getLocationName ? getLocationName(loc) : getLocationId(loc) || id;
60
+ }
61
+ return `"${id}"`;
62
+ };
63
+ for (const level of clusterLevels) {
64
+ for (const node of level.nodes) {
65
+ // Here mutating the nodes (adding names)
66
+ if (isCluster(node)) {
67
+ const leaves = clusterIndex.expandCluster(node);
68
+
69
+ leaves.sort((a, b) =>
70
+ descending(getLocationWeight(a), getLocationWeight(b)),
71
+ );
72
+
73
+ if (getLocationClusterName) {
74
+ node.name = getLocationClusterName(leaves);
75
+ } else {
76
+ const topId = leaves[0];
77
+ const otherId = leaves.length === 2 ? leaves[1] : undefined;
78
+ node.name = `"${getName(topId)}" and ${
79
+ otherId ? `"${getName(otherId)}"` : `${leaves.length - 1} others`
80
+ }`;
81
+ }
82
+ } else {
83
+ (node as any).name = getName(node.id);
84
+ }
85
+ }
86
+ }
87
+ }
package/src/types.ts CHANGED
@@ -26,7 +26,7 @@ export interface FlowAccessors<F> {
26
26
 
27
27
  export interface LocationAccessors<L> {
28
28
  getLocationId: LocationAccessor<L, string | number>;
29
- getLocationName?: LocationAccessor<L, string | number>;
29
+ getLocationName?: LocationAccessor<L, string>;
30
30
  getLocationLat: LocationAccessor<L, number>;
31
31
  getLocationLon: LocationAccessor<L, number>;
32
32
  getLocationClusterName?: (locationIds: (string | number)[]) => string;
@@ -160,6 +160,7 @@ export interface FlowLinesLayerAttributes {
160
160
  export interface LayersData {
161
161
  circleAttributes: FlowCirclesLayerAttributes;
162
162
  lineAttributes: FlowLinesLayerAttributes;
163
+ locationLabels?: string[];
163
164
  }
164
165
 
165
166
  export type LayersDataAttrValues<T> = {value: T; size: number};