Skip to content

Commit

Permalink
feat(source): add join transfroms
Browse files Browse the repository at this point in the history
  • Loading branch information
lzxue committed Dec 12, 2019
1 parent 27a09a7 commit 6da2528
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 14 deletions.
28 changes: 14 additions & 14 deletions packages/core/src/services/renderer/passes/PixelPickingPass.ts
Original file line number Diff line number Diff line change
Expand Up @@ -195,20 +195,20 @@ export default class PixelPickingPass<
feature: unknown;
}) {
const { onHover, onClick } = this.layer.getLayerConfig();
if (onHover) {
onHover({
x,
y,
feature,
});
}
if (onClick) {
onClick({
x,
y,
feature,
});
}
// if (onHover) {
// onHover({
// x,
// y,
// feature,
// });
// }
// if (onClick) {
// onClick({
// x,
// y,
// feature,
// });
// }
this.layer.emit(type, {
x,
y,
Expand Down
1 change: 1 addition & 0 deletions packages/l7/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"main": "lib/index.js",
"module": "es/index.js",
"types": "es/index.d.ts",
"unpkg": "dist/l7.js",
"sideEffects": true,
"files": [
"dist",
Expand Down
1 change: 1 addition & 0 deletions packages/source/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import { cluster } from './transform/cluster';
import { filter } from './transform/filter';
import { aggregatorToGrid } from './transform/grid';
import { pointToHexbin } from './transform/hexagon';
import { join } from './transform/join';
import { map } from './transform/map';
export default Source;
registerParser('geojson', geojson);
Expand Down
28 changes: 28 additions & 0 deletions packages/source/src/transform/join.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import { IParseDataItem, IParserData } from '@antv/l7-core';

interface IJoinOption {
field: 'string';
data: any[];
}

/**
*
* @param data
* @param options
*/
export function filter(geoData: IParserData, options: { [key: string]: any }) {
const { field, data } = options;
const dataObj: { [key: string]: any } = {};
data.forEach((element: { [key: string]: any }) => {
dataObj[element.field] = element;
});
geoData.dataArray = data.dataArray.map((item: IParseDataItem) => {
const joinName = item[field];
return {
...dataObj[joinName],
...item,
};
});

return data;
}

0 comments on commit 6da2528

Please sign in to comment.