From aa7bc2e380d7e63a2169053d11e244620e4bfe7f Mon Sep 17 00:00:00 2001 From: yunji Date: Mon, 23 May 2022 17:21:29 +0800 Subject: [PATCH 1/4] =?UTF-8?q?chore:=20=E7=BB=99=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=B1=BB=E5=9E=8B=E5=A4=87=E6=B3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/composite-layers/README.md | 2 +- .../src/composite-layers/bubble-layer/types.ts | 10 ++++++---- .../composite-layers/choropleth-layer/types.ts | 11 +++++++---- .../src/core/composite-layer.ts | 13 +++++++++++++ packages/composite-layers/src/types/attr.ts | 18 ++++++++++++++++++ 5 files changed, 45 insertions(+), 9 deletions(-) diff --git a/packages/composite-layers/README.md b/packages/composite-layers/README.md index f5ecb32c2..e45be0c09 100644 --- a/packages/composite-layers/README.md +++ b/packages/composite-layers/README.md @@ -1,5 +1,5 @@

Composite Layers

-Composite layers for @antv/l7、@antv/l7plot、@antv/larkmap、@antv/dipper. +Composite layers for @antv/l7、@antv/l7plot、@antv/lark-map、@antv/dipper.
diff --git a/packages/composite-layers/src/composite-layers/bubble-layer/types.ts b/packages/composite-layers/src/composite-layers/bubble-layer/types.ts index 1ca274d6f..0f2a8c77e 100644 --- a/packages/composite-layers/src/composite-layers/bubble-layer/types.ts +++ b/packages/composite-layers/src/composite-layers/bubble-layer/types.ts @@ -4,13 +4,13 @@ import { CompositeLayerOptions } from '../../core/composite-layer'; import { ISource, SourceOptions } from '../../types'; export type BubbleLayerActiveOptions = { - // 填充颜色 + /** 填充颜色 */ fillColor?: false | string; - // 描边颜色 + /** 描边颜色 */ strokeColor?: false | string; - // 描边的宽度 + /** 描边的宽度 */ lineWidth?: number; - // 描边透明度 + /** 描边透明度 */ lineOpacity?: number; }; @@ -51,7 +51,9 @@ export interface BubbleLayerOptions extends CompositeLayerOptions { * 交互反馈 */ state?: { + /** 高亮交互 */ active?: boolean | BubbleLayerActiveOptions; + /** 选中交互 */ select?: boolean | BubbleLayerActiveOptions; }; /** diff --git a/packages/composite-layers/src/composite-layers/choropleth-layer/types.ts b/packages/composite-layers/src/composite-layers/choropleth-layer/types.ts index 171ca3e3f..08da37cc5 100644 --- a/packages/composite-layers/src/composite-layers/choropleth-layer/types.ts +++ b/packages/composite-layers/src/composite-layers/choropleth-layer/types.ts @@ -7,17 +7,18 @@ import { ISourceCFG, ISource } from '../../types'; * 数据配置 */ export interface ChoroplethLayerSourceOptions extends Pick { + /** 数据 */ data: any; } export type ChoroplethLayerActiveOptions = { - // 填充颜色 + /** 填充颜色 */ fillColor?: false | string; - // 描边颜色 + /** 描边颜色 */ strokeColor?: false | string; - // 描边的宽度 + /** 描边的宽度 */ lineWidth?: number; - // 描边透明度 + /** 描边透明度 */ lineOpacity?: number; }; @@ -67,7 +68,9 @@ export interface ChoroplethLayerOptions extends CompositeLayerOptions { * 交互反馈 */ state?: { + /** 高亮交互 */ active?: boolean | ChoroplethLayerActiveOptions; + /** 选中交互 */ select?: boolean | ChoroplethLayerActiveOptions; }; /** diff --git a/packages/composite-layers/src/core/composite-layer.ts b/packages/composite-layers/src/core/composite-layer.ts index 51f22fe77..479715bd1 100644 --- a/packages/composite-layers/src/core/composite-layer.ts +++ b/packages/composite-layers/src/core/composite-layer.ts @@ -9,15 +9,28 @@ import { LayerGroup } from './layer-group'; * 复合图层的基础配置 */ export interface CompositeLayerOptions { + /** 图层名称 */ name?: string; + /** 图层 ID */ id?: string; + /** 图层 zIndex */ zIndex?: number; + /** 图层是否可见 */ visible?: boolean; + /** 图层最小可见层级 */ minZoom?: number; + /** 图层最大可见层级 */ maxZoom?: number; + /** + * 图层拾取缓存配置, + * 如 1px 宽度的线鼠标很难拾取到, 通过设置该参数可扩大拾取的范围 + * */ pickingBuffer?: number; + /** 图层初始化完成之后,地图是否自动缩放到图层范围 */ autoFit?: boolean; + /** 图层元素混合效果 */ blend?: LayerBlend; + /** 数据源 */ source: any; } diff --git a/packages/composite-layers/src/types/attr.ts b/packages/composite-layers/src/types/attr.ts index a1fcb369f..c67d323cf 100644 --- a/packages/composite-layers/src/types/attr.ts +++ b/packages/composite-layers/src/types/attr.ts @@ -7,36 +7,51 @@ export type Callback = (data: Record) => T | T[]; export type ColorsAttr = string | string[]; export type StyleAttribute = { + /** 映射字段 */ field?: string | string[]; + /** 映射值 */ value?: T | T[] | Callback; }; export type ColorStyleAttribute = { + /** 映射字段 */ field?: string | string[]; + /** 映射值 */ value?: string | string[] | Callback; + /** scale 配置项 */ scale?: ScaleConfig; }; export type SizeStyleAttribute = { + /** 映射字段 */ field?: string; + /** 映射值 */ value?: number | number[] | Callback; + /** scale 配置项 */ scale?: ScaleConfig; }; export type ShapeStyleAttribute = { + /** 映射字段 */ field?: string | string[]; + /** 映射值 */ value?: T | T[] | Callback; + /** scale 配置项 */ scale?: ScaleConfig; }; export type RotateStyleAttribute = { + /** 映射字段 */ field?: string; + /** 映射值 */ value?: number | number[] | Callback; }; /** 图形交互反馈 */ export type StateAttribute = { + /** 高亮交互 */ active?: boolean | IActiveOption; + /** 选中交互 */ select?: boolean | IActiveOption; }; @@ -63,7 +78,9 @@ export type ScaleAttr = Record; /** 数据过滤 */ export type FilterAttr = { + /** 映射字段 */ field?: string | string[]; + /** 映射值 */ value: Callback; }; @@ -71,5 +88,6 @@ export type FilterAttr = { * 数据配置 */ export interface SourceOptions extends ISourceCFG { + /** 数据 */ data: any; } From 406ef0e1baa37d5b9fbcd8b6333ca6eac56f8dc4 Mon Sep 17 00:00:00 2001 From: yunji Date: Mon, 23 May 2022 17:37:21 +0800 Subject: [PATCH 2/4] =?UTF-8?q?chore:=20=E5=AF=BC=E5=87=BA=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../composite-layers/bubble-layer/index.ts | 2 -- .../choropleth-layer/index.ts | 2 -- .../src/core-layers/heatmap-layer/index.ts | 2 -- .../src/core-layers/heatmap-layer/types.ts | 14 ------------- .../src/core-layers/line-layer/index.ts | 2 -- .../src/core-layers/point-layer/index.ts | 2 -- .../src/core-layers/polygon-layer/index.ts | 2 -- .../src/core-layers/text-layer/index.ts | 2 -- packages/composite-layers/src/index.ts | 21 ++++++++++++------- 9 files changed, 14 insertions(+), 35 deletions(-) diff --git a/packages/composite-layers/src/composite-layers/bubble-layer/index.ts b/packages/composite-layers/src/composite-layers/bubble-layer/index.ts index 5ef88ebce..8f17d3886 100644 --- a/packages/composite-layers/src/composite-layers/bubble-layer/index.ts +++ b/packages/composite-layers/src/composite-layers/bubble-layer/index.ts @@ -7,8 +7,6 @@ import { getDefaultState } from './adaptor'; import { DEFAULT_OPTIONS, DEFAULT_STATE, EMPTY_SOURCE } from './constants'; import { BubbleLayerOptions } from './types'; -export type { BubbleLayerOptions }; - export class BubbleLayer extends CompositeLayer { /** * 默认配置项 diff --git a/packages/composite-layers/src/composite-layers/choropleth-layer/index.ts b/packages/composite-layers/src/composite-layers/choropleth-layer/index.ts index bf6ca5b7b..8f56fbbeb 100644 --- a/packages/composite-layers/src/composite-layers/choropleth-layer/index.ts +++ b/packages/composite-layers/src/composite-layers/choropleth-layer/index.ts @@ -8,8 +8,6 @@ import { ChoroplethLayerOptions, ChoroplethLayerSourceOptions } from './types'; import { ICoreLayer, ISource, MouseEvent } from '../../types'; import { DEFAULT_OPTIONS, DEFAULT_STATE, EMPTY_SOURCE } from './constants'; -export type { ChoroplethLayerOptions }; - export class ChoroplethLayer extends CompositeLayer { /** * 默认配置项 diff --git a/packages/composite-layers/src/core-layers/heatmap-layer/index.ts b/packages/composite-layers/src/core-layers/heatmap-layer/index.ts index 00f06eee6..80fced697 100644 --- a/packages/composite-layers/src/core-layers/heatmap-layer/index.ts +++ b/packages/composite-layers/src/core-layers/heatmap-layer/index.ts @@ -3,8 +3,6 @@ import { CoreLayer } from '../../core/core-layer'; import { ILayer } from '../../types'; import { HeatmapLayerOptions } from './types'; -export type { HeatmapLayerOptions }; - /** * 热力图层 * 对应 L7 的 HeatmapLayer diff --git a/packages/composite-layers/src/core-layers/heatmap-layer/types.ts b/packages/composite-layers/src/core-layers/heatmap-layer/types.ts index deb074eba..931efe9fc 100644 --- a/packages/composite-layers/src/core-layers/heatmap-layer/types.ts +++ b/packages/composite-layers/src/core-layers/heatmap-layer/types.ts @@ -45,20 +45,6 @@ export type HeatmapShape3d = 'cylinder' | 'squareColumn' | 'hexagonColumn' | 'tr export type HeatmapShape = 'heatmap' | 'heatmap3D' | HeatmapShape2d | HeatmapShape3d; -/** - * 热力图层基础配置 - */ -export interface HeatmapLayerConfig { - /** - * 图形形状 - */ - shape?: HeatmapShape; - /** - * 图层样式 - */ - style?: HeatmapLayerStyleOptions | GridHeatmapLayerStyleOptions; -} - /** * 线图层配置 */ diff --git a/packages/composite-layers/src/core-layers/line-layer/index.ts b/packages/composite-layers/src/core-layers/line-layer/index.ts index 0b5b5213a..97e5b5021 100644 --- a/packages/composite-layers/src/core-layers/line-layer/index.ts +++ b/packages/composite-layers/src/core-layers/line-layer/index.ts @@ -3,8 +3,6 @@ import { CoreLayer } from '../../core/core-layer'; import { ILayer } from '../../types'; import { LineLayerOptions } from './types'; -export type { LineLayerOptions }; - /** * 线图层 * 对应 L7 的 LineLayer diff --git a/packages/composite-layers/src/core-layers/point-layer/index.ts b/packages/composite-layers/src/core-layers/point-layer/index.ts index 6eb710940..4134c28c2 100644 --- a/packages/composite-layers/src/core-layers/point-layer/index.ts +++ b/packages/composite-layers/src/core-layers/point-layer/index.ts @@ -3,8 +3,6 @@ import { CoreLayer } from '../../core/core-layer'; import { ILayer } from '../../types'; import { PointLayerOptions } from './types'; -export type { PointLayerOptions }; - /** * 点图层 * 对应 L7 的 PointLayer diff --git a/packages/composite-layers/src/core-layers/polygon-layer/index.ts b/packages/composite-layers/src/core-layers/polygon-layer/index.ts index 10552660a..b1332194b 100644 --- a/packages/composite-layers/src/core-layers/polygon-layer/index.ts +++ b/packages/composite-layers/src/core-layers/polygon-layer/index.ts @@ -3,8 +3,6 @@ import { CoreLayer } from '../../core/core-layer'; import { ILayer } from '../../types'; import { PolygonLayerOptions } from './types'; -export type { PolygonLayerOptions }; - /** * 面图层 * 对应 L7 的 PolygonLayer diff --git a/packages/composite-layers/src/core-layers/text-layer/index.ts b/packages/composite-layers/src/core-layers/text-layer/index.ts index f91257cc9..278a4cce0 100644 --- a/packages/composite-layers/src/core-layers/text-layer/index.ts +++ b/packages/composite-layers/src/core-layers/text-layer/index.ts @@ -3,8 +3,6 @@ import { CoreLayer } from '../../core/core-layer'; import { ILayer } from '../../types'; import { TextLayerOptions } from './types'; -export type { TextLayerOptions }; - /** * 文本图层 * 对应 L7 的 PointLayer diff --git a/packages/composite-layers/src/index.ts b/packages/composite-layers/src/index.ts index e91a0d20d..6b57e89a2 100644 --- a/packages/composite-layers/src/index.ts +++ b/packages/composite-layers/src/index.ts @@ -9,18 +9,25 @@ export { LayerGroup, LayerGroupOptions } from './core/layer-group'; /** 核心图层 **/ // 点图层及类型定义 | author by [yunji]](https://github.com/lvisei) -export { PointLayer, PointLayerOptions } from './core-layers/point-layer'; +export { PointLayer } from './core-layers/point-layer'; +export * from './core-layers/point-layer/types'; // 文本图层及类型定义 | author by [yunji]](https://github.com/lvisei) -export { TextLayer, TextLayerOptions } from './core-layers/text-layer'; +export { TextLayer } from './core-layers/text-layer'; +export * from './core-layers/text-layer/types'; // 热力图层及类型定义 | author by [yunji]](https://github.com/lvisei) -export { HeatmapLayer, HeatmapLayerOptions } from './core-layers/heatmap-layer'; +export { HeatmapLayer } from './core-layers/heatmap-layer'; +export * from './core-layers/heatmap-layer/types'; // 线图层及类型定义 | author by [yunji]](https://github.com/lvisei) -export { LineLayer, LineLayerOptions } from './core-layers/line-layer'; +export { LineLayer } from './core-layers/line-layer'; +export * from './core-layers/line-layer/types'; // 面图层及类型定义 | author by [yunji]](https://github.com/lvisei) -export { PolygonLayer, PolygonLayerOptions } from './core-layers/polygon-layer'; +export { PolygonLayer } from './core-layers/polygon-layer'; +export * from './core-layers/polygon-layer/types'; /** 复合图层 **/ // 气泡图层及类型定义 | author by [yunji]](https://github.com/lvisei) -export { BubbleLayer, BubbleLayerOptions } from './composite-layers/bubble-layer'; +export { BubbleLayer } from './composite-layers/bubble-layer'; +export * from './composite-layers/bubble-layer/types'; // 区域图层及类型定义 | author by [yunji]](https://github.com/lvisei) -export { ChoroplethLayer, ChoroplethLayerOptions } from './composite-layers/choropleth-layer'; +export { ChoroplethLayer } from './composite-layers/choropleth-layer'; +export * from './composite-layers/choropleth-layer/types'; From 791cd272fad465c600c60c3106de4f764be3372d Mon Sep 17 00:00:00 2001 From: yunji Date: Mon, 23 May 2022 19:06:32 +0800 Subject: [PATCH 3/4] chore: version --- packages/composite-layers/package.json | 2 +- packages/composite-layers/src/version.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/composite-layers/package.json b/packages/composite-layers/package.json index c864264b0..4e414fef3 100644 --- a/packages/composite-layers/package.json +++ b/packages/composite-layers/package.json @@ -1,6 +1,6 @@ { "name": "@antv/l7-composite-layers", - "version": "0.0.1-alpha.4", + "version": "0.0.1-alpha.5", "description": "Composite layer for @antv/l7", "main": "dist/lib/index.js", "types": "dist/lib/index.d.ts", diff --git a/packages/composite-layers/src/version.ts b/packages/composite-layers/src/version.ts index 4723f890a..6c125aa87 100644 --- a/packages/composite-layers/src/version.ts +++ b/packages/composite-layers/src/version.ts @@ -1 +1 @@ -export default '0.0.1-alpha.4'; +export default '0.0.1-alpha.5'; From 97169e693fd362579f32c9f9d3a9a41be8b61361 Mon Sep 17 00:00:00 2001 From: yunji Date: Mon, 23 May 2022 20:14:19 +0800 Subject: [PATCH 4/4] =?UTF-8?q?chore:=20=E7=A7=BB=E9=99=A4=E6=97=A7?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/composite-layers/package.json | 3 +++ .../src/composite-layers/bubble-layer/index.ts | 8 +++----- .../src/composite-layers/choropleth-layer/index.ts | 8 +++----- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/packages/composite-layers/package.json b/packages/composite-layers/package.json index 4e414fef3..c5f77b58f 100644 --- a/packages/composite-layers/package.json +++ b/packages/composite-layers/package.json @@ -41,6 +41,9 @@ "@antv/event-emitter": "^0.1.2", "@antv/util": "^2.0.14" }, + "peerDependencies": { + "@antv/l7": "^2.7.22" + }, "publishConfig": { "access": "public" } diff --git a/packages/composite-layers/src/composite-layers/bubble-layer/index.ts b/packages/composite-layers/src/composite-layers/bubble-layer/index.ts index 8f17d3886..d1ff0099d 100644 --- a/packages/composite-layers/src/composite-layers/bubble-layer/index.ts +++ b/packages/composite-layers/src/composite-layers/bubble-layer/index.ts @@ -271,8 +271,6 @@ export class BubbleLayer extends CompositeLayer { this.labelLayer.setSource(source); } else { const { data, ...option } = source; - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore this.source.setData(data, option); } @@ -291,7 +289,7 @@ export class BubbleLayer extends CompositeLayer { const features = feature ? [feature] : []; this.highlightStrokeLayer.changeData({ data: features, - parser: this.source['parser'], + parser: this.source.parser, }); this.highlightData = featureId; } @@ -310,8 +308,8 @@ export class BubbleLayer extends CompositeLayer { return; } const features = selectData.map(({ feature }) => feature); - this.selectFillLayer.changeData({ data: features, parser: this.source['parser'] }); - this.selectStrokeLayer.changeData({ data: features, parser: this.source['parser'] }); + this.selectFillLayer.changeData({ data: features, parser: this.source.parser }); + this.selectStrokeLayer.changeData({ data: features, parser: this.source.parser }); this.selectData = selectData; } diff --git a/packages/composite-layers/src/composite-layers/choropleth-layer/index.ts b/packages/composite-layers/src/composite-layers/choropleth-layer/index.ts index 8f56fbbeb..9cb0a00d4 100644 --- a/packages/composite-layers/src/composite-layers/choropleth-layer/index.ts +++ b/packages/composite-layers/src/composite-layers/choropleth-layer/index.ts @@ -295,8 +295,6 @@ export class ChoroplethLayer extends CompositeLayer { this.labelLayer.setSource(source); } else { const { data, ...option } = source; - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore this.source.setData(data, option); } @@ -315,7 +313,7 @@ export class ChoroplethLayer extends CompositeLayer { const features = feature ? [feature] : []; this.highlightStrokeLayer.changeData({ data: { type: 'FeatureCollection', features }, - parser: this.source['parser'], + parser: this.source.parser, }); this.highlightData = featureId; } @@ -334,8 +332,8 @@ export class ChoroplethLayer extends CompositeLayer { return; } const features = selectData.map(({ feature }) => feature); - this.selectFillLayer.changeData({ data: { type: 'FeatureCollection', features }, parser: this.source['parser'] }); - this.selectStrokeLayer.changeData({ data: { type: 'FeatureCollection', features }, parser: this.source['parser'] }); + this.selectFillLayer.changeData({ data: { type: 'FeatureCollection', features }, parser: this.source.parser }); + this.selectStrokeLayer.changeData({ data: { type: 'FeatureCollection', features }, parser: this.source.parser }); this.selectData = selectData; }