diff --git a/babel.config.js b/babel.config.js index cd575482f3..56516caee2 100644 --- a/babel.config.js +++ b/babel.config.js @@ -44,7 +44,7 @@ module.exports = api => { { // https://babeljs.io/docs/en/babel-preset-env#usebuiltins // useBuiltIns: 'usage', - ...isCDNBundle ? { corejs: '2.0.0' } : {}, + ...isCDNBundle ? { corejs: '3.0.0' } : {}, useBuiltIns: isCDNBundle ? 'usage' : false, // set `modules: false` when building CDN bundle, let rollup do commonjs works // @see https://github.com/rollup/rollup-plugin-babel#modules diff --git a/package.json b/package.json index d3d82d4224..bf9677cad5 100644 --- a/package.json +++ b/package.json @@ -149,7 +149,7 @@ "coveralls": "jest --coverage && cat ./tests/coverage/lcov.info | coveralls", "tsc": "tsc", "watch": "yarn clean && lerna exec --parallel -- cross-env BABEL_ENV=cjs NODE_ENV=production babel --watch src --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", - "bundle": "cross-env BABEL_ENV=bundle node_modules/.bin/rollup -c ./build/rollup.config.js --environment BUILD:production,MINIFY:true", + "bundle": "cross-env BABEL_ENV=bundle NODE_ENV=production node_modules/.bin/rollup -c ./build/rollup.config.js --environment BUILD:production,MINIFY:true", "bundle-dev": "cross-env BABEL_ENV=bundle node_modules/.bin/rollup -c ./build/rollup.config.js --environment 'BUILD:production,MINIFY:false'", "bundle:watch": "cross-env BABEL_ENV=bundle node_modules/.bin/rollup -c ./build/rollup.config.js --watch", "glsl-minify": "node_modules/.bin/glsl-minifier -i ./build/example.frag -o ./build/example.min.frag", @@ -175,7 +175,6 @@ } }, "resolutions": { - "core-js": "3", "d3-array": "1" }, "tnpm": { diff --git a/packages/draw/package.json b/packages/draw/package.json index 55fea98718..be22b3b995 100644 --- a/packages/draw/package.json +++ b/packages/draw/package.json @@ -31,6 +31,10 @@ "lint:ts": "run-p -c lint:ts-*", "test": "jest" }, + "dependencies": { + "@antv/l7": "^2.1.3", + "@babel/runtime": "^7.7.7" + }, "bugs": { "url": "https://github.com/antvis/L7/issues" }, diff --git a/packages/draw/src/modes/draw_circle.ts b/packages/draw/src/modes/draw_circle.ts new file mode 100644 index 0000000000..8b219bafa7 --- /dev/null +++ b/packages/draw/src/modes/draw_circle.ts @@ -0,0 +1,22 @@ +import { ILayer } from '@antv/l7'; +import DrawFeature from './draw_feature'; + +export default class DrawCircle extends DrawFeature { + private center: [number, number]; + private drawCircleLayer: ILayer; + protected onDragStart() { + // @ts-ignore + this.scene.map.dragdrag.disable(); + } + protected onDragging() { + return; + } + + protected onDragEnd() { + return; + } + + protected onClick() { + return; + } +} diff --git a/packages/draw/src/modes/draw_feature.ts b/packages/draw/src/modes/draw_feature.ts index 0d7400c1c6..0ebf0d4925 100644 --- a/packages/draw/src/modes/draw_feature.ts +++ b/packages/draw/src/modes/draw_feature.ts @@ -1,3 +1,4 @@ +import { Scene } from '@antv/l7'; import { Feature, FeatureCollection } from '@turf/helpers'; import DrawSource from '../source'; @@ -5,26 +6,35 @@ export interface IDrawOption { data: FeatureCollection; } +export type DrawStatus = 'Drawing' | 'Selected' | 'Edit' | 'Finish'; + export default abstract class DrawFeature { private source: DrawSource; - constructor(options: IDrawOption) { + private scene: Scene; + constructor(scene: Scene, options: IDrawOption) { const { data } = options; + this.scene = scene; this.source = new DrawSource(data); } - - protected onDragStart() { - throw new Error('not imp'); + public enable() { + this.scene.on('dragstart', this.onDragStart); + this.scene.on('drag', this.onDragging); + this.scene.on('dragend', this.onDragEnd); + this.scene.on('click', this.onClick); } - protected onDragging() { - throw new Error('not imp'); + public disable() { + this.scene.off('dragstart', this.onDragStart); + this.scene.off('drag', this.onDragging); + this.scene.off('dragend', this.onDragEnd); + this.scene.off('click', this.onClick); } - protected onDragEnd() { - throw new Error('not imp'); - } + protected abstract onDragStart(): any; - protected onClick() { - throw new Error('not imp'); - } + protected abstract onDragging(): any; + + protected abstract onDragEnd(): any; + + protected abstract onClick(): any; } diff --git a/packages/l7/demo/circle.html b/packages/l7/demo/circle.html index ec957776a9..26cbfd88db 100644 --- a/packages/l7/demo/circle.html +++ b/packages/l7/demo/circle.html @@ -27,7 +27,7 @@ - + - - +