diff --git a/.eslintignore b/.eslintignore
index 776103ec61..e35cabbe24 100755
--- a/.eslintignore
+++ b/.eslintignore
@@ -1,4 +1,5 @@
build/
+bundler/
coverage/
lib/
dist/
@@ -7,4 +8,9 @@ node_modules/
demos/assets/
demos/index.html
demos/*
+<<<<<<< HEAD
+rollup/*
+webpack/*
+=======
src/core/three.js
+>>>>>>> master
diff --git a/.eslintrc b/.eslintrc
index 446574a9c4..39752e76b3 100755
--- a/.eslintrc
+++ b/.eslintrc
@@ -11,7 +11,11 @@
"G2": true,
"_": true,
"mapboxgl":true,
- "dat" : true
+ "dat" : true,
+ },
+ "env": {
+ "browser": true,
+ "node": true
},
"parser": "babel-eslint",
"parserOptions": {
diff --git a/src/attr/base.js b/src/attr/base.js
index 51a1812b5d..8da8dcca0c 100644
--- a/src/attr/base.js
+++ b/src/attr/base.js
@@ -2,8 +2,8 @@
* @fileOverview the Attribute base class
* @author huangtonger@aliyun.com
*/
-const ColorUtil = require('./color-util');
-const Util = require('../util');
+import ColorUtil from './color-util';
+import Util from '../util';
function toScaleString(scale, value) {
if (Util.isString(value)) {
@@ -171,7 +171,7 @@ class AttributeBase {
}
if (this.type === 'color' && !Util.isArray(values)) {
values = ColorUtil.toRGB(values).map(e => e / 255);
- // values[3] = values[3] * 255;
+ // values[3] = values[3] * 255;
}
if (!Util.isArray(values)) {
values = [ values ];
@@ -196,4 +196,4 @@ class AttributeBase {
}
}
-module.exports = AttributeBase;
+export default AttributeBase;
diff --git a/src/attr/color-util.js b/src/attr/color-util.js
index 32f0f6acee..e5f5aa75d1 100644
--- a/src/attr/color-util.js
+++ b/src/attr/color-util.js
@@ -2,8 +2,7 @@
* @fileOverview 颜色计算的辅助方法
* @author dxq613@gmail.com
*/
-
-const Util = require('../util');
+import Util from '../util';
const RGB_REG = /rgba?\(([\s.,0-9]+)\)/;
// const RGBA_REG = /rgba\((\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(\d+)\s*\)/;
@@ -80,7 +79,7 @@ const ColorUtil = {
}
return rst;
},
- // 转成 WebGl color buffer
+ // 转成 WebGl color buffer
color2Arr(str) {
const rgba = this.toRGB(str);
return rgba.map(v => v / 255);
@@ -112,4 +111,4 @@ const ColorUtil = {
}
};
-module.exports = ColorUtil;
+export default ColorUtil;
diff --git a/src/attr/color.js b/src/attr/color.js
index cadfdef123..625cf996a5 100644
--- a/src/attr/color.js
+++ b/src/attr/color.js
@@ -2,10 +2,9 @@
* @fileOverview the color attribute of core
* @author huangtonger@aliyun.com
*/
-
-const ColorUtil = require('./color-util');
-const Base = require('./base');
-const Util = require('../util');
+import ColorUtil from './color-util';
+import Base from './base';
+import Util from '../util';
/**
* 视觉通道 color
@@ -38,4 +37,4 @@ class Color extends Base {
}
}
-module.exports = Color;
+export default Color;
diff --git a/src/attr/colorscales.js b/src/attr/colorscales.js
index 15a5185676..bbda09d0e0 100644
--- a/src/attr/colorscales.js
+++ b/src/attr/colorscales.js
@@ -97,4 +97,4 @@ export const colorScales = {
magma: new Uint8Array([ 0, 0, 4, 255, 1, 0, 5, 255, 1, 1, 6, 255, 1, 1, 8, 255, 2, 1, 9, 255, 2, 2, 11, 255, 2, 2, 13, 255, 3, 3, 15, 255, 3, 3, 18, 255, 4, 4, 20, 255, 5, 4, 22, 255, 6, 5, 24, 255, 6, 5, 26, 255, 7, 6, 28, 255, 8, 7, 30, 255, 9, 7, 32, 255, 10, 8, 34, 255, 11, 9, 36, 255, 12, 9, 38, 255, 13, 10, 41, 255, 14, 11, 43, 255, 16, 11, 45, 255, 17, 12, 47, 255, 18, 13, 49, 255, 19, 13, 52, 255, 20, 14, 54, 255, 21, 14, 56, 255, 22, 15, 59, 255, 24, 15, 61, 255, 25, 16, 63, 255, 26, 16, 66, 255, 28, 16, 68, 255, 29, 17, 71, 255, 30, 17, 73, 255, 32, 17, 75, 255, 33, 17, 78, 255, 34, 17, 80, 255, 36, 18, 83, 255, 37, 18, 85, 255, 39, 18, 88, 255, 41, 17, 90, 255, 42, 17, 92, 255, 44, 17, 95, 255, 45, 17, 97, 255, 47, 17, 99, 255, 49, 17, 101, 255, 51, 16, 103, 255, 52, 16, 105, 255, 54, 16, 107, 255, 56, 16, 108, 255, 57, 15, 110, 255, 59, 15, 112, 255, 61, 15, 113, 255, 63, 15, 114, 255, 64, 15, 116, 255, 66, 15, 117, 255, 68, 15, 118, 255, 69, 16, 119, 255, 71, 16, 120, 255, 73, 16, 120, 255, 74, 16, 121, 255, 76, 17, 122, 255, 78, 17, 123, 255, 79, 18, 123, 255, 81, 18, 124, 255, 82, 19, 124, 255, 84, 19, 125, 255, 86, 20, 125, 255, 87, 21, 126, 255, 89, 21, 126, 255, 90, 22, 126, 255, 92, 22, 127, 255, 93, 23, 127, 255, 95, 24, 127, 255, 96, 24, 128, 255, 98, 25, 128, 255, 100, 26, 128, 255, 101, 26, 128, 255, 103, 27, 128, 255, 104, 28, 129, 255, 106, 28, 129, 255, 107, 29, 129, 255, 109, 29, 129, 255, 110, 30, 129, 255, 112, 31, 129, 255, 114, 31, 129, 255, 115, 32, 129, 255, 117, 33, 129, 255, 118, 33, 129, 255, 120, 34, 129, 255, 121, 34, 130, 255, 123, 35, 130, 255, 124, 35, 130, 255, 126, 36, 130, 255, 128, 37, 130, 255, 129, 37, 129, 255, 131, 38, 129, 255, 132, 38, 129, 255, 134, 39, 129, 255, 136, 39, 129, 255, 137, 40, 129, 255, 139, 41, 129, 255, 140, 41, 129, 255, 142, 42, 129, 255, 144, 42, 129, 255, 145, 43, 129, 255, 147, 43, 128, 255, 148, 44, 128, 255, 150, 44, 128, 255, 152, 45, 128, 255, 153, 45, 128, 255, 155, 46, 127, 255, 156, 46, 127, 255, 158, 47, 127, 255, 160, 47, 127, 255, 161, 48, 126, 255, 163, 48, 126, 255, 165, 49, 126, 255, 166, 49, 125, 255, 168, 50, 125, 255, 170, 51, 125, 255, 171, 51, 124, 255, 173, 52, 124, 255, 174, 52, 123, 255, 176, 53, 123, 255, 178, 53, 123, 255, 179, 54, 122, 255, 181, 54, 122, 255, 183, 55, 121, 255, 184, 55, 121, 255, 186, 56, 120, 255, 188, 57, 120, 255, 189, 57, 119, 255, 191, 58, 119, 255, 192, 58, 118, 255, 194, 59, 117, 255, 196, 60, 117, 255, 197, 60, 116, 255, 199, 61, 115, 255, 200, 62, 115, 255, 202, 62, 114, 255, 204, 63, 113, 255, 205, 64, 113, 255, 207, 64, 112, 255, 208, 65, 111, 255, 210, 66, 111, 255, 211, 67, 110, 255, 213, 68, 109, 255, 214, 69, 108, 255, 216, 69, 108, 255, 217, 70, 107, 255, 219, 71, 106, 255, 220, 72, 105, 255, 222, 73, 104, 255, 223, 74, 104, 255, 224, 76, 103, 255, 226, 77, 102, 255, 227, 78, 101, 255, 228, 79, 100, 255, 229, 80, 100, 255, 231, 82, 99, 255, 232, 83, 98, 255, 233, 84, 98, 255, 234, 86, 97, 255, 235, 87, 96, 255, 236, 88, 96, 255, 237, 90, 95, 255, 238, 91, 94, 255, 239, 93, 94, 255, 240, 95, 94, 255, 241, 96, 93, 255, 242, 98, 93, 255, 242, 100, 92, 255, 243, 101, 92, 255, 244, 103, 92, 255, 244, 105, 92, 255, 245, 107, 92, 255, 246, 108, 92, 255, 246, 110, 92, 255, 247, 112, 92, 255, 247, 114, 92, 255, 248, 116, 92, 255, 248, 118, 92, 255, 249, 120, 93, 255, 249, 121, 93, 255, 249, 123, 93, 255, 250, 125, 94, 255, 250, 127, 94, 255, 250, 129, 95, 255, 251, 131, 95, 255, 251, 133, 96, 255, 251, 135, 97, 255, 252, 137, 97, 255, 252, 138, 98, 255, 252, 140, 99, 255, 252, 142, 100, 255, 252, 144, 101, 255, 253, 146, 102, 255, 253, 148, 103, 255, 253, 150, 104, 255, 253, 152, 105, 255, 253, 154, 106, 255, 253, 155, 107, 255, 254, 157, 108, 255, 254, 159, 109, 255, 254, 161, 110, 255, 254, 163, 111, 255, 254, 165, 113, 255, 254, 167, 114, 255, 254, 169, 115, 255, 254, 170, 116, 255, 254, 172, 118, 255, 254, 174, 119, 255, 254, 176, 120, 255, 254, 178, 122, 255, 254, 180, 123, 255, 254, 182, 124, 255, 254, 183, 126, 255, 254, 185, 127, 255, 254, 187, 129, 255, 254, 189, 130, 255, 254, 191, 132, 255, 254, 193, 133, 255, 254, 194, 135, 255, 254, 196, 136, 255, 254, 198, 138, 255, 254, 200, 140, 255, 254, 202, 141, 255, 254, 204, 143, 255, 254, 205, 144, 255, 254, 207, 146, 255, 254, 209, 148, 255, 254, 211, 149, 255, 254, 213, 151, 255, 254, 215, 153, 255, 254, 216, 154, 255, 253, 218, 156, 255, 253, 220, 158, 255, 253, 222, 160, 255, 253, 224, 161, 255, 253, 226, 163, 255, 253, 227, 165, 255, 253, 229, 167, 255, 253, 231, 169, 255, 253, 233, 170, 255, 253, 235, 172, 255, 252, 236, 174, 255, 252, 238, 176, 255, 252, 240, 178, 255, 252, 242, 180, 255, 252, 244, 182, 255, 252, 246, 184, 255, 252, 247, 185, 255, 252, 249, 187, 255, 252, 251, 189, 255, 252, 253, 191, 255 ]),
plasma: new Uint8Array([ 13, 8, 135, 255, 16, 7, 136, 255, 19, 7, 137, 255, 22, 7, 138, 255, 25, 6, 140, 255, 27, 6, 141, 255, 29, 6, 142, 255, 32, 6, 143, 255, 34, 6, 144, 255, 36, 6, 145, 255, 38, 5, 145, 255, 40, 5, 146, 255, 42, 5, 147, 255, 44, 5, 148, 255, 46, 5, 149, 255, 47, 5, 150, 255, 49, 5, 151, 255, 51, 5, 151, 255, 53, 4, 152, 255, 55, 4, 153, 255, 56, 4, 154, 255, 58, 4, 154, 255, 60, 4, 155, 255, 62, 4, 156, 255, 63, 4, 156, 255, 65, 4, 157, 255, 67, 3, 158, 255, 68, 3, 158, 255, 70, 3, 159, 255, 72, 3, 159, 255, 73, 3, 160, 255, 75, 3, 161, 255, 76, 2, 161, 255, 78, 2, 162, 255, 80, 2, 162, 255, 81, 2, 163, 255, 83, 2, 163, 255, 85, 2, 164, 255, 86, 1, 164, 255, 88, 1, 164, 255, 89, 1, 165, 255, 91, 1, 165, 255, 92, 1, 166, 255, 94, 1, 166, 255, 96, 1, 166, 255, 97, 0, 167, 255, 99, 0, 167, 255, 100, 0, 167, 255, 102, 0, 167, 255, 103, 0, 168, 255, 105, 0, 168, 255, 106, 0, 168, 255, 108, 0, 168, 255, 110, 0, 168, 255, 111, 0, 168, 255, 113, 0, 168, 255, 114, 1, 168, 255, 116, 1, 168, 255, 117, 1, 168, 255, 119, 1, 168, 255, 120, 1, 168, 255, 122, 2, 168, 255, 123, 2, 168, 255, 125, 3, 168, 255, 126, 3, 168, 255, 128, 4, 168, 255, 129, 4, 167, 255, 131, 5, 167, 255, 132, 5, 167, 255, 134, 6, 166, 255, 135, 7, 166, 255, 136, 8, 166, 255, 138, 9, 165, 255, 139, 10, 165, 255, 141, 11, 165, 255, 142, 12, 164, 255, 143, 13, 164, 255, 145, 14, 163, 255, 146, 15, 163, 255, 148, 16, 162, 255, 149, 17, 161, 255, 150, 19, 161, 255, 152, 20, 160, 255, 153, 21, 159, 255, 154, 22, 159, 255, 156, 23, 158, 255, 157, 24, 157, 255, 158, 25, 157, 255, 160, 26, 156, 255, 161, 27, 155, 255, 162, 29, 154, 255, 163, 30, 154, 255, 165, 31, 153, 255, 166, 32, 152, 255, 167, 33, 151, 255, 168, 34, 150, 255, 170, 35, 149, 255, 171, 36, 148, 255, 172, 38, 148, 255, 173, 39, 147, 255, 174, 40, 146, 255, 176, 41, 145, 255, 177, 42, 144, 255, 178, 43, 143, 255, 179, 44, 142, 255, 180, 46, 141, 255, 181, 47, 140, 255, 182, 48, 139, 255, 183, 49, 138, 255, 184, 50, 137, 255, 186, 51, 136, 255, 187, 52, 136, 255, 188, 53, 135, 255, 189, 55, 134, 255, 190, 56, 133, 255, 191, 57, 132, 255, 192, 58, 131, 255, 193, 59, 130, 255, 194, 60, 129, 255, 195, 61, 128, 255, 196, 62, 127, 255, 197, 64, 126, 255, 198, 65, 125, 255, 199, 66, 124, 255, 200, 67, 123, 255, 201, 68, 122, 255, 202, 69, 122, 255, 203, 70, 121, 255, 204, 71, 120, 255, 204, 73, 119, 255, 205, 74, 118, 255, 206, 75, 117, 255, 207, 76, 116, 255, 208, 77, 115, 255, 209, 78, 114, 255, 210, 79, 113, 255, 211, 81, 113, 255, 212, 82, 112, 255, 213, 83, 111, 255, 213, 84, 110, 255, 214, 85, 109, 255, 215, 86, 108, 255, 216, 87, 107, 255, 217, 88, 106, 255, 218, 90, 106, 255, 218, 91, 105, 255, 219, 92, 104, 255, 220, 93, 103, 255, 221, 94, 102, 255, 222, 95, 101, 255, 222, 97, 100, 255, 223, 98, 99, 255, 224, 99, 99, 255, 225, 100, 98, 255, 226, 101, 97, 255, 226, 102, 96, 255, 227, 104, 95, 255, 228, 105, 94, 255, 229, 106, 93, 255, 229, 107, 93, 255, 230, 108, 92, 255, 231, 110, 91, 255, 231, 111, 90, 255, 232, 112, 89, 255, 233, 113, 88, 255, 233, 114, 87, 255, 234, 116, 87, 255, 235, 117, 86, 255, 235, 118, 85, 255, 236, 119, 84, 255, 237, 121, 83, 255, 237, 122, 82, 255, 238, 123, 81, 255, 239, 124, 81, 255, 239, 126, 80, 255, 240, 127, 79, 255, 240, 128, 78, 255, 241, 129, 77, 255, 241, 131, 76, 255, 242, 132, 75, 255, 243, 133, 75, 255, 243, 135, 74, 255, 244, 136, 73, 255, 244, 137, 72, 255, 245, 139, 71, 255, 245, 140, 70, 255, 246, 141, 69, 255, 246, 143, 68, 255, 247, 144, 68, 255, 247, 145, 67, 255, 247, 147, 66, 255, 248, 148, 65, 255, 248, 149, 64, 255, 249, 151, 63, 255, 249, 152, 62, 255, 249, 154, 62, 255, 250, 155, 61, 255, 250, 156, 60, 255, 250, 158, 59, 255, 251, 159, 58, 255, 251, 161, 57, 255, 251, 162, 56, 255, 252, 163, 56, 255, 252, 165, 55, 255, 252, 166, 54, 255, 252, 168, 53, 255, 252, 169, 52, 255, 253, 171, 51, 255, 253, 172, 51, 255, 253, 174, 50, 255, 253, 175, 49, 255, 253, 177, 48, 255, 253, 178, 47, 255, 253, 180, 47, 255, 253, 181, 46, 255, 254, 183, 45, 255, 254, 184, 44, 255, 254, 186, 44, 255, 254, 187, 43, 255, 254, 189, 42, 255, 254, 190, 42, 255, 254, 192, 41, 255, 253, 194, 41, 255, 253, 195, 40, 255, 253, 197, 39, 255, 253, 198, 39, 255, 253, 200, 39, 255, 253, 202, 38, 255, 253, 203, 38, 255, 252, 205, 37, 255, 252, 206, 37, 255, 252, 208, 37, 255, 252, 210, 37, 255, 251, 211, 36, 255, 251, 213, 36, 255, 251, 215, 36, 255, 250, 216, 36, 255, 250, 218, 36, 255, 249, 220, 36, 255, 249, 221, 37, 255, 248, 223, 37, 255, 248, 225, 37, 255, 247, 226, 37, 255, 247, 228, 37, 255, 246, 230, 38, 255, 246, 232, 38, 255, 245, 233, 38, 255, 245, 235, 39, 255, 244, 237, 39, 255, 243, 238, 39, 255, 243, 240, 39, 255, 242, 242, 39, 255, 241, 244, 38, 255, 241, 245, 37, 255, 240, 247, 36, 255, 240, 249, 33, 255 ])
};
-// module.exports = colorScales;
+// export default colorScales;
diff --git a/src/attr/filter.js b/src/attr/filter.js
index 8c802cfcc2..6a0b29f650 100644
--- a/src/attr/filter.js
+++ b/src/attr/filter.js
@@ -5,7 +5,7 @@
* @Last Modified time: 2018-07-15 17:26:40
*/
-const Base = require('./base');
+import Base from './base';
/**
* 视觉通道 symbol
@@ -19,4 +19,4 @@ class Filter extends Base {
this.gradient = null;
}
}
-module.exports = Filter;
+export default Filter;
diff --git a/src/attr/index.js b/src/attr/index.js
index 81a4682448..eb4d45ba47 100644
--- a/src/attr/index.js
+++ b/src/attr/index.js
@@ -1,10 +1,19 @@
-const Base = require('./base');
-Base.Color = require('./color');
-Base.Size = require('./size');
-Base.Opacity = require('./opacity');
-Base.Shape = require('./shape');
-Base.Position = require('./position');
-Base.Symbol = require('./symbol');
-Base.Filter = require('./filter');
-module.exports = Base;
+import Base from './base';
+import Color from './color';
+import Size from './size';
+import Opacity from './opacity';
+import Shape from './shape';
+import Position from './position';
+import Symbol from './symbol';
+import Filter from './filter';
+
+Base.Color = Color;
+Base.Size = Size;
+Base.Opacity = Opacity;
+Base.Shape = Shape;
+Base.Position = Position;
+Base.Symbol = Symbol;
+Base.Filter = Filter;
+
+export default Base;
diff --git a/src/attr/opacity.js b/src/attr/opacity.js
index 7d2c07155f..058b8e1450 100644
--- a/src/attr/opacity.js
+++ b/src/attr/opacity.js
@@ -3,7 +3,7 @@
* @author huangtonger@aliyun.com
*/
-const Base = require('./base');
+import Base from './base';
/**
* 视觉通道 Opacity
@@ -18,4 +18,4 @@ class Opacity extends Base {
}
}
-module.exports = Opacity;
+export default Opacity;
diff --git a/src/attr/position.js b/src/attr/position.js
index e191c33342..70c1a85de7 100644
--- a/src/attr/position.js
+++ b/src/attr/position.js
@@ -4,8 +4,8 @@
*/
-const Util = require('../util');
-const Base = require('./base');
+import Base from './base';
+import Util from '../util';
class Position extends Base {
constructor(cfg) {
@@ -88,4 +88,4 @@ class Position extends Base {
}
}
-module.exports = Position;
+export default Position;
diff --git a/src/attr/shape.js b/src/attr/shape.js
index c2daff1754..1474486394 100644
--- a/src/attr/shape.js
+++ b/src/attr/shape.js
@@ -4,7 +4,7 @@
*/
-const Base = require('./base');
+import Base from './base';
/**
* 视觉通道 Shape
@@ -26,7 +26,7 @@ class Shape extends Base {
const index = Math.round((values.length - 1) * percent);
return values[index];
}
- /**
+ /**
* @override
*/
_getAttrValue(scale, value) {
@@ -41,4 +41,4 @@ class Shape extends Base {
}
}
-module.exports = Shape;
+export default Shape;
diff --git a/src/attr/size.js b/src/attr/size.js
index 539f1d1766..ec2d9430d4 100644
--- a/src/attr/size.js
+++ b/src/attr/size.js
@@ -3,8 +3,8 @@
* @author huangtonger@aliyun.com
*/
-const Base = require('./base');
-const Util = require('../util');
+import Base from './base';
+import Util from '../util';
/**
* 视觉通道 size
@@ -20,7 +20,7 @@ class Size extends Base {
}
mapping() {
- // 重构
+ // 重构
const self = this;
const outputs = [];
const scales = self.scales;
@@ -62,4 +62,4 @@ class Size extends Base {
}
-module.exports = Size;
+export default Size;
diff --git a/src/attr/symbol.js b/src/attr/symbol.js
index 0ec2e19748..6461a381ee 100644
--- a/src/attr/symbol.js
+++ b/src/attr/symbol.js
@@ -5,7 +5,7 @@
* @Last Modified time: 2018-07-02 18:24:58
*/
-const Base = require('./base');
+import Base from './base';
/**
* 视觉通道 symbol
@@ -19,4 +19,4 @@ class Symbol extends Base {
this.gradient = null;
}
}
-module.exports = Symbol;
+export default Symbol;
diff --git a/src/component/index.js b/src/component/index.js
deleted file mode 100644
index b64cfa4ea5..0000000000
--- a/src/component/index.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * @fileOverview chart component module
- * @author sima.zhang1990@gmail.com
- */
-module.exports = {
- Axis: require('./axis/index'),
- Guide: require('./guide/index'),
- Label: require('./label/index'),
- Legend: require('./legend/index'),
- Plot: require('./plot'),
- Tooltip: require('./tooltip/index')
-};
diff --git a/src/component/tooltip/index.js b/src/component/tooltip/index.js
deleted file mode 100644
index dd7ac6800e..0000000000
--- a/src/component/tooltip/index.js
+++ /dev/null
@@ -1,568 +0,0 @@
-/**
- * @fileOverview The class of tooltip
- * @author sima.zhang
- */
-const Util = require('../../util');
-const Base = require('../../base');
-const Global = require('../../global');
-const { DomUtil } = require('@antv/g');
-
-const CONTAINER_CLASS = 'g2-tooltip';
-const TITLE_CLASS = 'g2-tooltip-title';
-const LIST_CLASS = 'g2-tooltip-list';
-const MARKER_CLASS = 'g2-tooltip-marker';
-const LIST_ITEM_CLASS = 'g2-tooltip-list-item';
-
-function find(dom, cls) {
- return dom.getElementsByClassName(cls)[0];
-}
-
-function refixTooltipPosition(x, y, el, viewWidth, viewHeight) {
- const width = el.clientWidth;
- const height = el.clientHeight;
- const gap = 20;
-
- if (x + width + gap > viewWidth) {
- x -= width + gap;
- x = x < 0 ? 0 : x;
- } else {
- x += gap;
- }
- if (y + height + gap > viewHeight) {
- y -= height + gap;
- y = x < 0 ? 0 : y;
- } else {
- y += gap;
- }
- return [ x, y ];
-}
-
-function calcTooltipPosition(x, y, position, dom, target) {
- const domWidth = dom.clientWidth;
- const domHeight = dom.clientHeight;
- let rectWidth = 0;
- let rectHeight = 0;
- let gap = 20;
-
- if (target) {
- const rect = target.getBBox();
- rectWidth = rect.width;
- rectHeight = rect.height;
- x = rect.x;
- y = rect.y;
- gap = 5;
- }
- switch (position) {
- case 'inside':
- x = x + rectWidth / 2 - domWidth / 2;
- y = y + rectHeight / 2 - domHeight / 2;
- break;
- case 'top':
- x = x + rectWidth / 2 - domWidth / 2;
- y = y - domHeight - gap;
- break;
- case 'left':
- x = x - domWidth - gap;
- y = y + rectHeight / 2 - domHeight / 2;
- break;
- case 'right':
- x = x + rectWidth + gap;
- y = y + rectHeight / 2 - domHeight / 2;
- break;
- case 'bottom':
- default:
- x = x + rectWidth / 2 - domWidth / 2;
- y = y + rectHeight + gap;
- break;
- }
- return [ x, y ];
-}
-
-function confineTooltipPosition(x, y, el, plotRange) {
- const gap = 20;
- const width = el.clientWidth;
- const height = el.clientHeight;
- if (x + width > plotRange.tr.x) {
- x -= width + 2 * gap;
- }
-
- if (x < plotRange.tl.x) {
- x = plotRange.tl.x;
- }
-
- if (y + height > plotRange.bl.y) {
- y -= height + 2 * gap;
- }
-
- if (y < plotRange.tl.y) {
- y = plotRange.tl.y;
- }
-
- return [ x, y ];
-}
-
-class Tooltip extends Base {
- getDefaultCfg() {
- return {
- /**
- * 右下角坐标
- * @type {Number}
- */
- x: 0,
- /**
- * y 右下角坐标
- * @type {Number}
- */
- y: 0,
- /**
- * tooltip 记录项
- * @type {Array}
- */
- items: null,
- /**
- * 是否展示 title
- * @type {Boolean}
- */
- showTitle: true,
- /**
- * tooltip 辅助线配置
- * @type {Object}
- */
- crosshairs: null,
- /**
- * 视图范围
- * @type {Object}
- */
- plotRange: null,
- /**
- * x轴上,移动到位置的偏移量
- * @type {Number}
- */
- offset: 10,
- /**
- * 时间戳
- * @type {Number}
- */
- timeStamp: 0,
- /**
- * tooltip 容器模板
- * @type {String}
- */
- containerTpl: '
',
- /**
- * tooltip 列表项模板
- * @type {String}
- */
- itemTpl: ''
- + ''
- + '{name}: {value}',
- /**
- * 将 tooltip 展示在指定区域内
- * @type {Boolean}
- */
- inPlot: true,
- /**
- * tooltip 内容跟随鼠标移动
- * @type {Boolean}
- */
- follow: true,
- /**
- * 是否允许鼠标停留在 tooltip 上,默认不允许
- * @type {Boolean}
- */
- enterable: false
- };
- }
-
- _initTooltipWrapper() {
- const self = this;
- const containerTpl = self.get('containerTpl');
- const outterNode = self.get('canvas').get('el').parentNode;
- let container;
- if (/^\#/.test(containerTpl)) { // 如果传入 dom 节点的 id
- const id = containerTpl.replace('#', '');
- container = document.getElementById(id);
- } else {
- container = DomUtil.createDom(containerTpl);
- DomUtil.modifyCSS(container, self.get(CONTAINER_CLASS));
- outterNode.appendChild(container);
- outterNode.style.position = 'relative';
- }
- self.set('container', container);
- }
-
- _init() {
- const crosshairs = this.get('crosshairs');
- const frontPlot = this.get('frontPlot');
- const backPlot = this.get('backPlot');
- let crosshairsGroup;
-
- if (crosshairs) {
- if (crosshairs.type === 'rect') {
- this.set('crosshairs', Util.deepMix({}, Global.tooltipCrosshairsRect, crosshairs));
- crosshairsGroup = backPlot.addGroup({
- zIndex: 0
- });
- } else {
- this.set('crosshairs', Util.deepMix({}, Global.tooltipCrosshairsLine, crosshairs));
- crosshairsGroup = frontPlot.addGroup();
- }
- }
-
- this.set('crosshairsGroup', crosshairsGroup);
- this._initTooltipWrapper();
- }
-
- constructor(cfg) {
- super(cfg);
- this._init(); // 初始化属性
-
- if (this.get('items')) {
- this._renderTooltip();
- }
- this._renderCrosshairs();
- }
-
-
- _clearDom() {
- const container = this.get('container');
- const titleDom = find(container, TITLE_CLASS);
- const listDom = find(container, LIST_CLASS);
- if (titleDom) {
- titleDom.innerHTML = '';
- }
- if (listDom) {
- listDom.innerHTML = '';
- }
- }
-
- _addItem(item, index) {
- const itemTpl = this.get('itemTpl'); // TODO: 有可能是个回调函数
-
- const itemDiv = Util.substitute(itemTpl, Util.mix({
- index
- }, item));
-
- const itemDOM = DomUtil.createDom(itemDiv);
- DomUtil.modifyCSS(itemDOM, this.get(LIST_ITEM_CLASS));
- const markerDom = find(itemDOM, MARKER_CLASS);
- if (markerDom) {
- DomUtil.modifyCSS(markerDom, this.get(MARKER_CLASS));
- }
-
- return itemDOM;
- }
-
- _renderTooltip() {
- const self = this;
- const showTitle = self.get('showTitle');
- const titleContent = self.get('titleContent');
- const container = self.get('container');
- const titleDom = find(container, TITLE_CLASS);
- const listDom = find(container, LIST_CLASS);
- const items = self.get('items');
- self._clearDom();
-
- if (titleDom && showTitle) {
- DomUtil.modifyCSS(titleDom, self.get(TITLE_CLASS));
- titleDom.innerHTML = titleContent;
- }
-
- if (listDom) {
- DomUtil.modifyCSS(listDom, self.get(LIST_CLASS));
- Util.each(items, (item, index) => {
- listDom.appendChild(self._addItem(item, index));
- });
- }
- }
-
- _clearCrosshairsGroup() {
- const crosshairsGroup = this.get('crosshairsGroup');
- this.set('crossLineShapeX', null);
- this.set('crossLineShapeY', null);
- this.set('crosshairsRectShape', null);
- crosshairsGroup.clear();
- }
-
- _renderCrosshairs() {
- const crosshairs = this.get('crosshairs');
- const canvas = this.get('canvas');
- const plotRange = this.get('plotRange');
- const isTransposed = this.get('isTransposed');
- if (crosshairs) {
- this._clearCrosshairsGroup();
- switch (crosshairs.type) {
- case 'x':
- this._renderHorizontalLine(canvas, plotRange);
- break;
- case 'y':
- this._renderVerticalLine(canvas, plotRange);
- break;
- case 'cross':
- this._renderHorizontalLine(canvas, plotRange);
- this._renderVerticalLine(canvas, plotRange);
- break;
- case 'rect':
- this._renderBackground(canvas, plotRange);
- break;
- default:
- isTransposed ? this._renderHorizontalLine(canvas, plotRange) : this._renderVerticalLine(canvas, plotRange);
- }
- }
- }
-
- _addCrossLineShape(attrs, type) {
- const crosshairsGroup = this.get('crosshairsGroup');
- const shape = crosshairsGroup.addShape('line', {
- attrs
- });
- shape.hide();
- this.set('crossLineShape' + type, shape);
- return shape;
- }
-
- _renderVerticalLine(canvas, plotRange) {
- const { style } = this.get('crosshairs');
- const attrs = Util.mix({
- x1: 0,
- y1: plotRange ? plotRange.bl.y : canvas.get('height'),
- x2: 0,
- y2: plotRange ? plotRange.tl.y : 0
- }, style);
-
- this._addCrossLineShape(attrs, 'Y');
- }
-
- _renderHorizontalLine(canvas, plotRange) {
- const { style } = this.get('crosshairs');
- const attrs = Util.mix({
- x1: plotRange ? plotRange.bl.x : canvas.get('width'),
- y1: 0,
- x2: plotRange ? plotRange.br.x : 0,
- y2: 0
- }, style);
-
- this._addCrossLineShape(attrs, 'X');
- }
-
- _renderBackground(canvas, plotRange) {
- const { style } = this.get('crosshairs');
- const crosshairsGroup = this.get('crosshairsGroup');
- const attrs = Util.mix({
- x: plotRange ? plotRange.tl.x : 0,
- y: plotRange ? plotRange.tl.y : canvas.get('height'),
- width: plotRange ? plotRange.br.x - plotRange.bl.x : canvas.get('width'),
- height: plotRange ? Math.abs(plotRange.tl.y - plotRange.bl.y) : canvas.get('height')
- }, style);
-
- const shape = crosshairsGroup.addShape('rect', {
- attrs
- });
- shape.hide();
- this.set('crosshairsRectShape', shape);
- return shape;
- }
-
- isContentChange(title, items) {
- const titleContent = this.get('titleContent');
- const lastItems = this.get('items');
- let isChanged = !(title === titleContent && lastItems.length === items.length);
- if (!isChanged) {
- Util.each(items, (item, index) => {
- const preItem = lastItems[index];
- isChanged = (item.value !== preItem.value) || (item.color !== preItem.color) || (item.name !== preItem.name) || (item.title !== preItem.title);
- if (isChanged) {
- return false;
- }
- });
- }
-
- return isChanged;
- }
-
- setContent(title, items) {
- // const isChange = this.isContentChange(title, items);
- // if (isChange) {
- // 在外面进行判断是否内容发生改变
- const timeStamp = +new Date();
- this.set('items', items);
- this.set('titleContent', title);
- this.set('timeStamp', timeStamp);
- this._renderTooltip();
- // }
- return this;
- }
-
- setMarkers(markerItems, markerCfg) {
- const self = this;
- let markerGroup = self.get('markerGroup');
- const frontPlot = self.get('frontPlot');
- if (!markerGroup) {
- markerGroup = frontPlot.addGroup({
- zIndex: 1,
- capture: false // 不进行拾取
- });
- self.set('markerGroup', markerGroup);
- } else {
- markerGroup.clear();
- }
- Util.each(markerItems, item => {
- markerGroup.addShape('marker', {
- color: item.color,
- attrs: Util.mix({}, markerCfg, {
- x: item.x,
- y: item.y
- })
- });
- });
- this.set('markerItems', markerItems);
- }
-
- clearMarkers() {
- const markerGroup = this.get('markerGroup');
- markerGroup && markerGroup.clear();
- }
-
- setPosition(x, y, target) {
- const container = this.get('container');
- const crossLineShapeX = this.get('crossLineShapeX');
- const crossLineShapeY = this.get('crossLineShapeY');
- const crosshairsRectShape = this.get('crosshairsRectShape');
- let endx = x;
- let endy = y;
- // const outterNode = this.get('canvas').get('el').parentNode;
- const outterNode = this.get('canvas').get('el');
- const viewWidth = DomUtil.getWidth(outterNode);
- const viewHeight = DomUtil.getHeight(outterNode);
- let offset = this.get('offset');
-
- let position;
- if (this.get('position')) {
- position = calcTooltipPosition(x, y, this.get('position'), container, target);
- x = position[0];
- y = position[1];
- } else if (!this.get('position')) {
- position = refixTooltipPosition(x, y, container, viewWidth, viewHeight);
- x = position[0];
- y = position[1];
- }
-
- if (this.get('inPlot')) { // tooltip 必须限制在绘图区域内
- const plotRange = this.get('plotRange');
- position = confineTooltipPosition(x, y, container, plotRange);
- x = position[0];
- y = position[1];
- }
-
- if (this.get('x') !== x || this.get('y') !== y) {
- const markerItems = this.get('markerItems');
- if (!Util.isEmpty(markerItems)) {
- endx = markerItems[0].x;
- endy = markerItems[0].y;
- }
- if (crossLineShapeY) { // 第一次进入时,画布需要单独绘制,所以需要先设定corss的位置
- crossLineShapeY.move(endx, 0);
- }
- if (crossLineShapeX) {
- crossLineShapeX.move(0, endy);
- }
-
- if (crosshairsRectShape) { // 绘制矩形辅助框,只在直角坐标系下生效
- const isTransposed = this.get('isTransposed');
- const items = this.get('items');
- const firstItem = items[0];
- const lastItem = items[items.length - 1];
- const dim = isTransposed ? 'y' : 'x';
- const attr = isTransposed ? 'height' : 'width';
- let startDim = firstItem[dim];
- if (items.length > 1 && firstItem[dim] > lastItem[dim]) {
- startDim = lastItem[dim];
- }
-
- if (this.get('crosshairs').width) { // 用户定义了 width
- crosshairsRectShape.attr(dim, startDim - this.get('crosshairs').width / 2);
- crosshairsRectShape.attr(attr, this.get('crosshairs').width);
- } else {
- if (Util.isArray(firstItem.point[dim]) && !firstItem.size) { // 直方图
- const width = firstItem.point[dim][1] - firstItem.point[dim][0];
- crosshairsRectShape.attr(dim, firstItem.point[dim][0]);
- crosshairsRectShape.attr(attr, width);
- } else {
- offset = (3 * firstItem.size) / 4;
- crosshairsRectShape.attr(dim, startDim - offset);
-
- if (items.length === 1) {
- crosshairsRectShape.attr(attr, (3 * firstItem.size) / 2);
- } else {
- crosshairsRectShape.attr(attr, Math.abs(lastItem[dim] - firstItem[dim]) + 2 * offset);
- }
- }
- }
- }
-
- const follow = this.get('follow');
- container.style.left = follow ? (x + 'px') : 0;
- container.style.top = follow ? (y + 'px') : 0;
- }
- }
-
- show() {
- const crossLineShapeX = this.get('crossLineShapeX');
- const crossLineShapeY = this.get('crossLineShapeY');
- const crosshairsRectShape = this.get('crosshairsRectShape');
- const markerGroup = this.get('markerGroup');
- const container = this.get('container');
- const canvas = this.get('canvas');
- crossLineShapeX && crossLineShapeX.show();
- crossLineShapeY && crossLineShapeY.show();
- crosshairsRectShape && crosshairsRectShape.show();
- markerGroup && markerGroup.show();
- super.show();
- container.style.visibility = 'visible';
- // canvas.sort();
- canvas.draw();
- }
-
- hide() {
- const self = this;
- const container = self.get('container');
- const crossLineShapeX = self.get('crossLineShapeX');
- const crossLineShapeY = self.get('crossLineShapeY');
- const crosshairsRectShape = this.get('crosshairsRectShape');
- const markerGroup = self.get('markerGroup');
- const canvas = self.get('canvas');
- container.style.visibility = 'hidden';
- crossLineShapeX && crossLineShapeX.hide();
- crossLineShapeY && crossLineShapeY.hide();
- crosshairsRectShape && crosshairsRectShape.hide();
- markerGroup && markerGroup.hide();
- super.hide();
- canvas.draw();
- }
-
- destroy() {
- const self = this;
- const crossLineShapeX = self.get('crossLineShapeX');
- const crossLineShapeY = self.get('crossLineShapeY');
- const markerGroup = self.get('markerGroup');
- const crosshairsRectShape = self.get('crosshairsRectShape');
- const container = self.get('container');
- const containerTpl = self.get('containerTpl');
-
- if (container && !(/^\#/.test(containerTpl))) {
- container.parentNode.removeChild(container);
- }
-
- crossLineShapeX && crossLineShapeX.remove();
- crossLineShapeY && crossLineShapeY.remove();
- markerGroup && markerGroup.remove();
- crosshairsRectShape && crosshairsRectShape.remove();
- // super.remove();
- super.destroy();
- }
-}
-
-module.exports = Tooltip;
diff --git a/src/core/base.js b/src/core/base.js
index e5b3e92d7a..55ba028668 100644
--- a/src/core/base.js
+++ b/src/core/base.js
@@ -4,7 +4,7 @@
*/
import EventEmitter from 'wolfy87-eventemitter';
-import { assign } from '../util';
+import Util from '../util';
class Base extends EventEmitter {
@@ -19,7 +19,7 @@ class Base extends EventEmitter {
};
const defaultCfg = this.getDefaultCfg();
this._attrs = attrs;
- assign(attrs, defaultCfg, cfg);
+ Util.assign(attrs, defaultCfg, cfg);
}
get(name) {
diff --git a/src/core/controller/index.js b/src/core/controller/index.js
index be256246b0..183b371353 100644
--- a/src/core/controller/index.js
+++ b/src/core/controller/index.js
@@ -1,4 +1,4 @@
import Scale from './scale';
-export {
+export default {
Scale
};
diff --git a/src/core/controller/scale.js b/src/core/controller/scale.js
index 669b9ad7ec..5fd56120bd 100644
--- a/src/core/controller/scale.js
+++ b/src/core/controller/scale.js
@@ -3,9 +3,9 @@
* @author dxq613@gmail.com
*/
-const Util = require('../../util');
-const Global = require('../../global');
-const Scale = require('../../scale/');
+import Util from '../../util';
+import Global from '../../global';
+import Scale from '../../scale/';
const dateRegex = /^(?:(?!0000)[0-9]{4}([-/.]+)(?:(?:0?[1-9]|1[0-2])\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\1(?:29|30)|(?:0?[13578]|1[02])\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-/.]?)0?2\2(?:29))(\s+([01]|([01][0-9]|2[0-3])):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9]))?$/;
const TYPES = {
LINEAR: 'linear',
@@ -111,4 +111,4 @@ class ScaleController {
}
}
-module.exports = ScaleController;
+export default ScaleController;
diff --git a/src/core/image.js b/src/core/image.js
index 845053d977..eb1ab5c415 100644
--- a/src/core/image.js
+++ b/src/core/image.js
@@ -18,7 +18,7 @@ export default class LoadImage extends EventEmitter {
this.imagesIds = [];
}
addImage(id, opt) {
- this.imagesCount ++;
+ this.imagesCount++;
this.imagesIds.push(id);
const imageCount = this.imagesCount;
const x = imageCount % 8 * this.imageWidth;
diff --git a/src/core/layer.js b/src/core/layer.js
index dc0afbd99e..9cad42e7f2 100644
--- a/src/core/layer.js
+++ b/src/core/layer.js
@@ -9,7 +9,7 @@ import source from './source';
import PickingMaterial from '../core/engine/picking/pickingMaterial';
import Attr from '../attr/index';
import Util from '../util';
-const Global = require('../global');
+import Global from '../global';
let id = 1;
function parseFields(field) {
if (Util.isArray(field)) {
@@ -183,7 +183,6 @@ export default class Layer extends Base {
if (colorItem.indexOf(item) !== -1 && styleOptions[item] !== 'none') {
styleOptions[item] = ColorUtil.color2RGBA(styleOptions[item]);
}
- styleOptions[item] = styleOptions[item];
}
this.set('styleOptions', styleOptions);
return this;
@@ -525,7 +524,7 @@ export default class Layer extends Base {
this._updateMaping();
}
- /**
+ /**
* 用于过滤数据
* @param {*} object 需要过滤的mesh
*/
diff --git a/src/core/scene.js b/src/core/scene.js
index 38e3879c48..c86c5cf65c 100644
--- a/src/core/scene.js
+++ b/src/core/scene.js
@@ -25,7 +25,7 @@ export default class Scene extends Base {
this.workerPool = new WorkerPool();
compileBuiltinModules();
}
- // 为pickup场景添加 object 对象
+ // 为pickup场景添加 object 对象
addPickMesh(object) {
this._engine._picking.add(object);
}
diff --git a/src/core/source.js b/src/core/source.js
index 259ab32179..230e9c3b33 100644
--- a/src/core/source.js
+++ b/src/core/source.js
@@ -1,6 +1,6 @@
import Base from './base';
-const Controller = require('./controller/index');
+import Controller from './controller/index';
import { getTransform, getParser } from '../source';
import { getMap } from '../map/index';
export default class Source extends Base {
diff --git a/src/core/three.js b/src/core/three.js
index 1658e39038..7b344e2b23 100644
--- a/src/core/three.js
+++ b/src/core/three.js
@@ -23,16 +23,16 @@ export { Vector2 } from 'three/src/math/Vector2.js';
export { ShaderMaterial } from 'three/src/materials/ShaderMaterial.js';
export { DataTexture } from 'three/src/textures/DataTexture.js';
export {
- Float64BufferAttribute,
- Float32BufferAttribute,
- Uint32BufferAttribute,
- Int32BufferAttribute,
- Uint16BufferAttribute,
- Int16BufferAttribute,
- Uint8ClampedBufferAttribute,
- Uint8BufferAttribute,
- Int8BufferAttribute,
- BufferAttribute
+ Float64BufferAttribute,
+ Float32BufferAttribute,
+ Uint32BufferAttribute,
+ Int32BufferAttribute,
+ Uint16BufferAttribute,
+ Int16BufferAttribute,
+ Uint8ClampedBufferAttribute,
+ Uint8BufferAttribute,
+ Int8BufferAttribute,
+ BufferAttribute
} from 'three/src/core/BufferAttribute.js';
// export * from '../../build/three.js';
diff --git a/src/geom/buffer/point.js b/src/geom/buffer/point.js
index 009c90452e..36b0aac3f1 100644
--- a/src/geom/buffer/point.js
+++ b/src/geom/buffer/point.js
@@ -3,8 +3,9 @@ import { regularShape } from '../shape/index';
import * as polygonPath from '../shape/path';
import * as polygonShape from '../shape/polygon';
import * as lineShape from '../shape/line';
-import { pointShape } from '../../global';
+import Global from '../../global';
import Util from '../../util';
+const { pointShape } = Global;
export default class PointBuffer extends BufferBase {
geometryBuffer() {
const type = this.get('type');
diff --git a/src/geom/buffer/point/fillBuffer.js b/src/geom/buffer/point/fillBuffer.js
index 7179959827..c2e861eaf6 100644
--- a/src/geom/buffer/point/fillBuffer.js
+++ b/src/geom/buffer/point/fillBuffer.js
@@ -1,8 +1,9 @@
-import { pointShape } from '../../../global';
+import Global from '../../../global';
import * as THREE from '../../../core/three';
import * as polygonShape from '../../shape/polygon';
import * as polygonPath from '../../shape/path';
import Util from '../../../util';
+const { pointShape } = Global;
export default function fillBuffer(layerData) {
const attribute = {
vertices: [],
diff --git a/src/geom/buffer/point/strokeBuffer.js b/src/geom/buffer/point/strokeBuffer.js
index eff757e3c6..7d0e59b014 100644
--- a/src/geom/buffer/point/strokeBuffer.js
+++ b/src/geom/buffer/point/strokeBuffer.js
@@ -1,7 +1,8 @@
import * as polygonPath from '../../shape/path';
import * as polygonShape from '../../shape/polygon';
import * as lineShape from '../../shape/line';
-import { pointShape } from '../../../global';
+import Global from '../../../global';
+const { pointShape } = Global;
import Util from '../../../util';
export default function StrokeBuffer(layerData, style) {
const attribute = {
@@ -26,7 +27,7 @@ export default function StrokeBuffer(layerData, style) {
} else if (pointShape['3d'].indexOf(shape) !== -1) {
Util.isArray(size) || (size = [ size, size, size ]);
const polygonExtrudePath = polygonShape.extrudeline([ path ]);
- // TODO 3d line
+ // TODO 3d line
polygon = lineShape.Line([ polygonExtrudePath ], { size: [ strokeWidth, 0 ], color: stroke, id }, positionsIndex);
diff --git a/src/geom/buffer/point/textBuffer.js b/src/geom/buffer/point/textBuffer.js
index 1d68acb3b1..211dc00ff6 100644
--- a/src/geom/buffer/point/textBuffer.js
+++ b/src/geom/buffer/point/textBuffer.js
@@ -70,7 +70,7 @@ function loadTextTexture(url, cb) {
img.src = url;
}
- /**
+/**
* 计算每个标注词语的位置
* @param {*} chars 文本信息
* @param {*} pos 文字三维空间坐标
@@ -109,18 +109,18 @@ function drawGlyph(chars, pos, text, pen, size, colors, textureElements, originP
pos[0] + originX, pos[1] + originY, 0,
pos[0] + originX, pos[1] + originY, 0,
pos[0] + originX, pos[1] + originY, 0,
- );
+ );
const bx = 0;
const by = metrics.size / 2 + buffer;
textSizes.push(
- ((bx - buffer + width) * scale), (height - by) * scale,
- ((bx - buffer) * scale), (height - by) * scale,
- ((bx - buffer) * scale), -by * scale,
+ ((bx - buffer + width) * scale), (height - by) * scale,
+ ((bx - buffer) * scale), (height - by) * scale,
+ ((bx - buffer) * scale), -by * scale,
- ((bx - buffer + width) * scale), (height - by) * scale,
- ((bx - buffer) * scale), -by * scale,
- ((bx - buffer + width) * scale), -by * scale,
- );
+ ((bx - buffer + width) * scale), (height - by) * scale,
+ ((bx - buffer) * scale), -by * scale,
+ ((bx - buffer + width) * scale), -by * scale,
+ );
textOffsets.push(
@@ -142,14 +142,14 @@ function drawGlyph(chars, pos, text, pen, size, colors, textureElements, originP
);
textureElements.push(
- posX + width, posY,
- posX, posY,
- posX, posY + height,
+ posX + width, posY,
+ posX, posY,
+ posX, posY + height,
- posX + width, posY,
- posX, posY + height,
- posX + width, posY + height
- );
+ posX + width, posY,
+ posX, posY + height,
+ posX + width, posY + height
+ );
}
pen.x = pen.x + size * 1.8;
diff --git a/src/geom/buffer/polygon.js b/src/geom/buffer/polygon.js
index 60c585d872..ab2d6c2aea 100644
--- a/src/geom/buffer/polygon.js
+++ b/src/geom/buffer/polygon.js
@@ -26,7 +26,7 @@ export default class PolygonBuffer extends BufferBase {
positions.push(extrudeData.positions);
if (shape !== 'line') {
- // faceUv.push(...extrudeData.faceUv);
+ // faceUv.push(...extrudeData.faceUv);
const count = extrudeData.faceUv.length / 2;
for (let i = 0; i < count; i++) {
// uv 系数生成等大小的窗户
diff --git a/src/geom/buffer/text.js b/src/geom/buffer/text.js
index 5f906352b4..4680ffeafe 100644
--- a/src/geom/buffer/text.js
+++ b/src/geom/buffer/text.js
@@ -116,7 +116,7 @@ export default class TextBuffer extends BufferBase {
// const horiBearingX = metric[2];
// const horiBearingY = metric[3];
- // const horiAdvance = metric[4];
+ // const horiAdvance = metric[4];
// const posX = metric[5];
// const posY = metric[6];
const posX = x;
@@ -128,7 +128,7 @@ export default class TextBuffer extends BufferBase {
width += buffer * 2;
height += buffer * 2;
- // Add a quad (= two triangles) per glyph.
+ // Add a quad (= two triangles) per glyph.
// const originX = (horiBearingX - buffer + width / 2) * scale;
// const originY = -(height - horiBearingY) * scale;
const originX = 0;
@@ -144,13 +144,13 @@ export default class TextBuffer extends BufferBase {
const offsetX = pen.x;
const offsetY = pen.y;
originPoints.push(
- pos[0] + originX, pos[1] + originY, 0,
- pos[0] + originX, pos[1] + originY, 0,
- pos[0] + originX, pos[1] + originY, 0,
- pos[0] + originX, pos[1] + originY, 0,
- pos[0] + originX, pos[1] + originY, 0,
- pos[0] + originX, pos[1] + originY, 0,
- );
+ pos[0] + originX, pos[1] + originY, 0,
+ pos[0] + originX, pos[1] + originY, 0,
+ pos[0] + originX, pos[1] + originY, 0,
+ pos[0] + originX, pos[1] + originY, 0,
+ pos[0] + originX, pos[1] + originY, 0,
+ pos[0] + originX, pos[1] + originY, 0,
+ );
// textSizes.push(
// offsetWidth, offsetHeight,
@@ -169,31 +169,31 @@ export default class TextBuffer extends BufferBase {
((bx - buffer) * scale), (height - by) * scale,
((bx - buffer) * scale), -by * scale,
- ((bx - buffer + width) * scale), (height - by) * scale,
- ((bx - buffer) * scale), -by * scale,
- ((bx - buffer + width) * scale), -by * scale,
+ ((bx - buffer + width) * scale), (height - by) * scale,
+ ((bx - buffer) * scale), -by * scale,
+ ((bx - buffer + width) * scale), -by * scale,
);
textOffsets.push(
- offsetX, offsetY,
- offsetX, offsetY,
- offsetX, offsetY,
- offsetX, offsetY,
- offsetX, offsetY,
- offsetX, offsetY,
- );
+ offsetX, offsetY,
+ offsetX, offsetY,
+ offsetX, offsetY,
+ offsetX, offsetY,
+ offsetX, offsetY,
+ offsetX, offsetY,
+ );
colors.push(
- ...color,
- ...color,
- ...color,
- ...color,
- ...color,
- ...color,
- );
+ ...color,
+ ...color,
+ ...color,
+ ...color,
+ ...color,
+ ...color,
+ );
textureElements.push(
posX + width, posY,
diff --git a/src/geom/extrude.js b/src/geom/extrude.js
index 543ccddbc6..3b3375b798 100644
--- a/src/geom/extrude.js
+++ b/src/geom/extrude.js
@@ -34,7 +34,7 @@ export default function extrudePolygon(points, extrude) {
}
}
function full() {
- // 顶部纹理
+ // 顶部纹理
triangles.forEach(() => {
faceUv.push(-1, -1);
});
@@ -85,11 +85,11 @@ export function extrudePolygonLine(points, extrude) {
extrude === 0 ? flat() : full();
function flat() {
- points[0].forEach(p => { positions.push([ p[0], p[1], 0 ]); }); // top
+ points[0].forEach(p => { positions.push([ p[0], p[1], 0 ]); }); // top
}
function full() {
points[0].forEach(p => { positions.push([ p[0], p[1], 1 ]); }); // top
- points[0].forEach(p => { positions.push([ p[0], p[1], 0 ]); }); // bottom
+ points[0].forEach(p => { positions.push([ p[0], p[1], 0 ]); }); // bottom
for (let i = 0; i < n; i++) {
if (i === (n - 1)) {
cells.push(i + n, n, i);
diff --git a/src/geom/shape/path.js b/src/geom/shape/path.js
index 6f9c269388..d4c2842a50 100644
--- a/src/geom/shape/path.js
+++ b/src/geom/shape/path.js
@@ -19,14 +19,14 @@ function hexagon() {
return polygonPath(6);
}
export {
- circle,
- square,
- triangle,
- hexagon,
- circle as cylinder,
- triangle as triangleColumn,
- hexagon as hexagonColumn,
- square as squareColumn
+ circle,
+ square,
+ triangle,
+ hexagon,
+ circle as cylinder,
+ triangle as triangleColumn,
+ hexagon as hexagonColumn,
+ square as squareColumn
};
export function polygonPath(pointCount) {
diff --git a/src/global.js b/src/global.js
index be038b3e66..83d6ab5fc5 100644
--- a/src/global.js
+++ b/src/global.js
@@ -33,4 +33,4 @@ const Global = {
};
-module.exports = Global;
+export default Global;
diff --git a/src/index.js b/src/index.js
index 3117424cd7..ab6962277f 100755
--- a/src/index.js
+++ b/src/index.js
@@ -7,7 +7,7 @@ const version = Global.version;
const track = function(enable) {
Global.trackable = enable;
};
-require('./track');
+import './track';
export {
version,
Scene,
diff --git a/src/layer/pointLayer.js b/src/layer/pointLayer.js
index 39eb197c6d..e574ae3335 100644
--- a/src/layer/pointLayer.js
+++ b/src/layer/pointLayer.js
@@ -1,12 +1,12 @@
import Layer from '../core/layer';
import * as THREE from '../core/three';
import * as drawPoint from '../layer/render/point';
-import { pointShape } from '../global';
+import Global from '../global';
// import PointBuffer from '../geom/buffer/point';
import TextBuffer from '../geom/buffer/text';
import TextMaterial from '../geom/material/textMaterial';
import * as PointBuffer from '../geom/buffer/point/index';
-
+const { pointShape } = Global;
/**
* point shape 2d circle, traingle text,image
* shape 3d cube,column, sphere
@@ -42,33 +42,33 @@ export default class PointLayer extends Layer {
switch (pointShapeType) {
case 'fill' :// 填充图形
- {
- if (fill !== 'none') { // 是否填充
- const attributes = PointBuffer.FillBuffer(this.layerData, style);
- const meshfill = drawPoint.DrawFill(attributes, this.get('styleOptions'));
- this.add(meshfill);
- }
- if (stroke !== 'none') { // 是否绘制边界
- const lineAttribute = PointBuffer.StrokeBuffer(this.layerData, style);
- const meshStroke = drawPoint.DrawStroke(lineAttribute, this.get('styleOptions'));
- this.add(meshStroke, 'line');
- }
- break;
+ {
+ if (fill !== 'none') { // 是否填充
+ const attributes = PointBuffer.FillBuffer(this.layerData, style);
+ const meshfill = drawPoint.DrawFill(attributes, this.get('styleOptions'));
+ this.add(meshfill);
}
+ if (stroke !== 'none') { // 是否绘制边界
+ const lineAttribute = PointBuffer.StrokeBuffer(this.layerData, style);
+ const meshStroke = drawPoint.DrawStroke(lineAttribute, this.get('styleOptions'));
+ this.add(meshStroke, 'line');
+ }
+ break;
+ }
case 'image':// 绘制图片标注
- {
- const imageAttribute = PointBuffer.ImageBuffer(this.layerData, { imagePos: this.scene.image.imagePos });
- const imageMesh = drawPoint.DrawImage(imageAttribute, { ...style, texture: this.scene.image.texture });
- this.add(imageMesh);
- break;
- }
+ {
+ const imageAttribute = PointBuffer.ImageBuffer(this.layerData, { imagePos: this.scene.image.imagePos });
+ const imageMesh = drawPoint.DrawImage(imageAttribute, { ...style, texture: this.scene.image.texture });
+ this.add(imageMesh);
+ break;
+ }
case 'normal' : // 原生点
- {
- const normalAttribute = PointBuffer.NormalBuffer(this.layerData, style);
- const normalPointMesh = drawPoint.DrawNormal(normalAttribute, style);
- this.add(normalPointMesh);
- break;
- }
+ {
+ const normalAttribute = PointBuffer.NormalBuffer(this.layerData, style);
+ const normalPointMesh = drawPoint.DrawNormal(normalAttribute, style);
+ this.add(normalPointMesh);
+ break;
+ }
default:
return null;
}
diff --git a/src/map/AMap.js b/src/map/AMap.js
index e54615b94a..6e9ef3b5df 100644
--- a/src/map/AMap.js
+++ b/src/map/AMap.js
@@ -1,11 +1,11 @@
import Base from '../core/base';
-import { scene } from '../global';
+import Global from '../global';
import * as Theme from '../theme/index';
import Util from '../util';
const DEG2RAD = Math.PI / 180;
export default class GaodeMap extends Base {
getDefaultCfg() {
- return Util.assign(scene, {
+ return Util.assign(Global.scene, {
resizeEnable: true,
viewMode: '3D'
});
diff --git a/src/map/mapbox.js b/src/map/mapbox.js
index 8eebadc8ef..b3e7ddf875 100644
--- a/src/map/mapbox.js
+++ b/src/map/mapbox.js
@@ -1,6 +1,6 @@
import Base from '../core/base';
import Util from '../util';
-import { scene } from '../global';
+import Global from '../global';
import * as THREE from '../core/three';
const WORLD_SIZE = 512;
const MERCATOR_A = 6378137.0;
@@ -8,7 +8,7 @@ const WORLD_SCALE = 1 / 100;
const PROJECTION_WORLD_SIZE = WORLD_SIZE / (MERCATOR_A * Math.PI) / 2;
export default class MapBox extends Base {
getDefaultCfg() {
- return Util.assign(scene, {
+ return Util.assign(Global.scene, {
resizeEnable: true,
viewMode: '3D'
});
@@ -80,10 +80,10 @@ export default class MapBox extends Base {
// Unlike the Mapbox GL JS camera, separate camera translation and rotation out into its world matrix
// If this is applied directly to the projection matrix, it will work OK but break raycasting
cameraWorldMatrix
- .premultiply(cameraTranslateZ)
- .premultiply(cameraRotateX)
- .premultiply(cameraRotateZ)
- .premultiply(cameraTranslateXY);
+ .premultiply(cameraTranslateZ)
+ .premultiply(cameraRotateX)
+ .premultiply(cameraRotateZ)
+ .premultiply(cameraTranslateXY);
camera.matrixWorld.copy(cameraWorldMatrix);
@@ -94,23 +94,23 @@ export default class MapBox extends Base {
const translateMap = new THREE.Matrix4();
const rotateMap = new THREE.Matrix4();
scale
- .makeScale(zoomPow, zoomPow, 1.0);
+ .makeScale(zoomPow, zoomPow, 1.0);
translateCenter
- .makeTranslation(WORLD_SIZE / 2, -WORLD_SIZE / 2, 0);
+ .makeTranslation(WORLD_SIZE / 2, -WORLD_SIZE / 2, 0);
translateMap
- .makeTranslation(-this.map.transform.x, this.map.transform.y, 0);
+ .makeTranslation(-this.map.transform.x, this.map.transform.y, 0);
rotateMap
- .makeRotationZ(Math.PI);
+ .makeRotationZ(Math.PI);
scene.matrix = new THREE.Matrix4();
scene.matrix
- .premultiply(rotateMap)
- .premultiply(translateCenter)
- .premultiply(scale);
+ .premultiply(rotateMap)
+ .premultiply(translateCenter)
+ .premultiply(scale);
pickScene.matrix = new THREE.Matrix4();
pickScene.matrix
- .premultiply(rotateMap)
- .premultiply(translateCenter)
- .premultiply(scale);
+ .premultiply(rotateMap)
+ .premultiply(translateCenter)
+ .premultiply(scale);
}
makePerspectiveMatrix(fovy, aspect, near, far) {
const out = new THREE.Matrix4();
diff --git a/src/scale/auto/cat.js b/src/scale/auto/cat.js
index 68095a29e5..733988eb6b 100644
--- a/src/scale/auto/cat.js
+++ b/src/scale/auto/cat.js
@@ -2,8 +2,7 @@
* @fileOverview 计算分类的的坐标点
* @author dxq613@gmail.com
*/
-
-const Util = require('../../util');
+import Util from '../../util';
const MAX_COUNT = 8;
const SUB_COUNT = 4; // 控制个数不能过小
@@ -32,7 +31,7 @@ function getGreatestFactor(count, number) {
return i;
}
-module.exports = function(info) {
+export default function(info) {
const rst = {};
const ticks = [];
const maxCount = info.maxCount || MAX_COUNT;
@@ -70,4 +69,4 @@ module.exports = function(info) {
rst.categories = categories;
rst.ticks = ticks;
return rst;
-};
+}
diff --git a/src/scale/auto/number.js b/src/scale/auto/number.js
index 09eb5f9fb7..3f370be5c4 100644
--- a/src/scale/auto/number.js
+++ b/src/scale/auto/number.js
@@ -3,13 +3,13 @@
* @author dxq613@gmail.com
*/
-const Util = require('../../util');
-const AutoUtil = require('./util');
+import Util from '../../util';
+import AutoUtil from './util';
const MIN_COUNT = 5;
const MAX_COUNT = 7;
-const Global = require('../../global');
+import Global from '../../global';
-module.exports = function(info) {
+export default function(info) {
let min = info.min;
let max = info.max;
let interval = info.interval;
@@ -116,4 +116,4 @@ module.exports = function(info) {
count,
ticks
};
-};
+}
diff --git a/src/scale/auto/time.js b/src/scale/auto/time.js
index 8a3d160e3d..0bbfb48e5d 100644
--- a/src/scale/auto/time.js
+++ b/src/scale/auto/time.js
@@ -3,8 +3,8 @@
* @author dxq613@gmail.com
*/
-const Util = require('../../util');
-const AutoUtil = require('./util');
+import Util from '../../util';
+import AutoUtil from './util';
const MAX_COUNT = 6;
const SNAP_ARRAY = [ 1, 2, 4, 6, 8, 12 ];
@@ -48,7 +48,7 @@ function diffMinus(min, max) {
return Math.ceil((max - min) / (60 * 1000));
}
-module.exports = function(info) {
+export default function(info) {
const minInterval = info.minInterval;
const ticks = [];
let min = info.min;
@@ -158,4 +158,4 @@ module.exports = function(info) {
ticks,
count: ticks.length
};
-};
+}
diff --git a/src/scale/auto/util.js b/src/scale/auto/util.js
index 890d3245ce..f559a6ee2f 100644
--- a/src/scale/auto/util.js
+++ b/src/scale/auto/util.js
@@ -85,7 +85,8 @@ function arrayCeiling(values, value) {
const Util = {
// 获取逼近的数值
- snapFactorTo(v, arr, snapType) { // 假设 v = -512,isFloor = true
+ snapFactorTo(v, arr, snapType) {
+ // 假设 v = -512,isFloor = true
if (isNaN(v)) {
return NaN;
}
@@ -112,7 +113,7 @@ const Util = {
if (Math.abs(factor) < 1 && rst.toString().length > DECIMAL_LENGTH) {
const decimalVal = parseInt(1 / factor);
const symbol = factor > 0 ? 1 : -1;
- rst = v / decimalVal * symbol;
+ rst = (v / decimalVal) * symbol;
}
return rst;
},
@@ -174,4 +175,4 @@ const Util = {
}
};
-module.exports = Util;
+export default Util;
diff --git a/src/scale/base.js b/src/scale/base.js
index f92bac46ba..91e5c148c7 100644
--- a/src/scale/base.js
+++ b/src/scale/base.js
@@ -3,13 +3,13 @@
* @author dxq613@gmail.com
*/
-const Util = require('../util');
+import Util from '../util';
/**
* 度量的构造函数
* @class Scale
*/
-class Scale {
+class Base {
/**
* 获取默认的配置属性
@@ -183,4 +183,4 @@ class Scale {
}
}
-module.exports = Scale;
+export default Base;
diff --git a/src/scale/category.js b/src/scale/category.js
index dc85509522..50d31aa212 100644
--- a/src/scale/category.js
+++ b/src/scale/category.js
@@ -4,9 +4,9 @@
*/
-const Base = require('./base');
-const Util = require('../util');
-const catAuto = require('./auto/cat');
+import Base from './base';
+import Util from '../util';
+import catAuto from './auto/cat';
/**
* 度量的构造函数
@@ -132,4 +132,4 @@ class Category extends Base {
}
}
-module.exports = Category;
+export default Category;
diff --git a/src/scale/identity.js b/src/scale/identity.js
index e11fc0af70..4d1fc55553 100644
--- a/src/scale/identity.js
+++ b/src/scale/identity.js
@@ -3,8 +3,8 @@
* @author dxq613@gmail.com
*/
-const Base = require('./base');
-const Util = require('../util');
+import Base from './base';
+import Util from '../util';
class Identity extends Base {
@@ -54,4 +54,4 @@ class Identity extends Base {
}
}
-module.exports = Identity;
+export default Identity;
diff --git a/src/scale/index.js b/src/scale/index.js
index 7c8ed3cd32..b0c27f4066 100644
--- a/src/scale/index.js
+++ b/src/scale/index.js
@@ -3,15 +3,23 @@
* @author dxq613@gmail.com
*/
-const Util = require('../util');
-const Base = require('./base');
-Base.Linear = require('./linear');
-Base.Identity = require('./identity');
-Base.Cat = require('./category');
-Base.Time = require('./time');
-Base.TimeCat = require('./time-cat');
-Base.Log = require('./log');
-Base.Pow = require('./pow');
+import Util from '../util';
+import Base from './base';
+import Linear from './linear';
+import Identity from './identity';
+import Cat from './category';
+import Time from './time';
+import TimeCat from './time-cat';
+import Log from './log';
+import Pow from './pow';
+
+Base.Linear = Linear;
+Base.Identity = Identity;
+Base.Cat = Cat;
+Base.Time = Time;
+Base.TimeCat = TimeCat;
+Base.Log = Log;
+Base.Pow = Pow;
for (const k in Base) {
if (Base.hasOwnProperty(k)) {
@@ -28,4 +36,4 @@ Base.isCategory = function(type) {
return CAT_ARR.indexOf(type) >= 0;
};
-module.exports = Base;
+export default Base;
diff --git a/src/scale/linear.js b/src/scale/linear.js
index 6070a45ccb..a80e5f732f 100644
--- a/src/scale/linear.js
+++ b/src/scale/linear.js
@@ -4,9 +4,9 @@
*/
-const Base = require('./base');
-const Util = require('../util');
-const numberAuto = require('./auto/number');
+import Base from './base';
+import Util from '../util';
+import numberAuto from './auto/number';
/**
* 线性度量
@@ -192,4 +192,4 @@ class Linear extends Base {
}
}
-module.exports = Linear;
+export default Linear;
diff --git a/src/scale/log.js b/src/scale/log.js
index a3b69a9375..1a92809b57 100644
--- a/src/scale/log.js
+++ b/src/scale/log.js
@@ -3,8 +3,8 @@
* @author dxq613@gmail.com
*/
-const Linear = require('./linear');
-const Util = require('../util');
+import Linear from './linear';
+import Util from '../util';
// 计算log
function log(a, b) {
@@ -157,4 +157,4 @@ class Log extends Linear {
}
}
-module.exports = Log;
+export default Log;
diff --git a/src/scale/pow.js b/src/scale/pow.js
index 72991bb310..f8ead37bb8 100644
--- a/src/scale/pow.js
+++ b/src/scale/pow.js
@@ -4,8 +4,8 @@
*/
-const Linear = require('./linear');
-const Util = require('../util');
+import Linear from './linear';
+import Util from '../util';
// 求以a为次幂,结果为b的基数,如 x^^a = b;求x
function calBase(a, b) {
@@ -111,4 +111,4 @@ class Pow extends Linear {
}
}
-module.exports = Pow;
+export default Pow;
diff --git a/src/scale/time-cat.js b/src/scale/time-cat.js
index 28ceacc2fc..c49eae862f 100644
--- a/src/scale/time-cat.js
+++ b/src/scale/time-cat.js
@@ -3,11 +3,11 @@
* @author dxq613@gmail.com
*/
-const Category = require('./category');
-const Util = require('../util');
-const fecha = require('fecha');
-const catAuto = require('./auto/cat');
-const TimeUtil = require('./time-util');
+import Category from './category';
+import Util from '../util';
+import fecha from 'fecha';
+import TimeUtil from './time-util';
+import catAuto from './auto/cat';
/**
* 度量的构造函数
@@ -166,4 +166,4 @@ class TimeCategory extends Category {
}
}
-module.exports = TimeCategory;
+export default TimeCategory;
diff --git a/src/scale/time-util.js b/src/scale/time-util.js
index 822be91826..2387d62268 100644
--- a/src/scale/time-util.js
+++ b/src/scale/time-util.js
@@ -3,9 +3,9 @@
* @author dxq613@gmail.com
*/
-const Util = require('../util');
+import Util from '../util';
-module.exports = {
+export default {
toTimeStamp(value) {
if (Util.isString(value)) {
if (value.indexOf('T') > 0) {
diff --git a/src/scale/time.js b/src/scale/time.js
index 60a91407ad..13a0c9b01b 100644
--- a/src/scale/time.js
+++ b/src/scale/time.js
@@ -3,11 +3,11 @@
* @author dxq613@gmail.com
*/
-const Linear = require('./linear');
-const Util = require('../util');
-const timeAuto = require('./auto/time');
-const fecha = require('fecha');
-const TimeUtil = require('./time-util');
+import Linear from './linear';
+import Util from '../util';
+import timeAuto from './auto/time';
+import fecha from 'fecha';
+import TimeUtil from './time-util';
/**
* 时间度量的构造函数
@@ -126,4 +126,4 @@ class Time extends Linear {
}
}
-module.exports = Time;
+export default Time;
diff --git a/src/theme/index.js b/src/theme/index.js
index be722b9dcf..7b4cd3a988 100644
--- a/src/theme/index.js
+++ b/src/theme/index.js
@@ -1,6 +1,3 @@
import DarkTheme from './dark';
import LightTheme from './light';
-export {
- DarkTheme,
- LightTheme
-};
+export { DarkTheme, LightTheme };
diff --git a/src/theme/light.js b/src/theme/light.js
index 0736730011..80b1082e2d 100644
--- a/src/theme/light.js
+++ b/src/theme/light.js
@@ -1,6 +1,5 @@
+const LightTheme = {
+ mapStyle: 'amap://styles/a80c558f91b29cf56fa47f895fb1773c?isPublic=true'
+};
- const LightTheme = {
- mapStyle: 'amap://styles/a80c558f91b29cf56fa47f895fb1773c?isPublic=true'
- };
-
- export default LightTheme;
+export default LightTheme;
diff --git a/src/track.js b/src/track.js
index 77295e480b..d3ebbec1ed 100644
--- a/src/track.js
+++ b/src/track.js
@@ -2,7 +2,7 @@
* @fileOverview track g2
* @author dxq613@gmail.com
*/
-const Global = require('./global');
+import Global from './global';
const SERVER_URL = 'https://kcart.alipay.com/web/bi.do';
// 延迟发送请求
diff --git a/src/util.js b/src/util.js
index 5500da1ca4..77d8948ffc 100644
--- a/src/util.js
+++ b/src/util.js
@@ -3,7 +3,7 @@
* @author dxq613@gmail.com
* @see https://github.com/lodash/lodash
*/
-const Utils = require('@antv/util');
+import Utils from '@antv/util';
const Util = Utils.mix({}, Utils, {
assign: Utils.mix, // simple mix
@@ -52,4 +52,4 @@ Util.Array = {
remove: Utils.pull
};
-module.exports = Util;
+export default Util;
diff --git a/src/util/ajax.js b/src/util/ajax.js
index c95bd487c6..1fc5541fbe 100644
--- a/src/util/ajax.js
+++ b/src/util/ajax.js
@@ -6,7 +6,7 @@ class AJAXError extends Error {
this.status = status;
this.url = url;
- // work around for https://github.com/Rich-Harris/buble/issues/40
+ // work around for https://github.com/Rich-Harris/buble/issues/40
this.name = this.constructor.name;
this.message = message;
}
@@ -88,8 +88,8 @@ function sameOrigin(url) {
const transparentPngUrl = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=';
export const getImage = function(requestParameters, callback) {
- // request the image with XHR to work around caching issues
- // see https://github.com/mapbox/mapbox-gl-js/issues/1470
+ // request the image with XHR to work around caching issues
+ // see https://github.com/mapbox/mapbox-gl-js/issues/1470
return getArrayBuffer(requestParameters, (err, imgData) => {
if (err) {
callback(err);
diff --git a/src/util/common.js b/src/util/common.js
index 62987e0457..0308b370c0 100644
--- a/src/util/common.js
+++ b/src/util/common.js
@@ -2,7 +2,7 @@ const PRECISION = 0.00001; // 常量,据的精度,小于这个精度认为
const RADIAN = Math.PI / 180;
const DEGREE = 180 / Math.PI;
-module.exports = {
+export default {
isFunction: require('lodash/isFunction'),
isObject: require('lodash/isObject'),
isBoolean: require('lodash/isBoolean'),
diff --git a/src/util/dom.js b/src/util/dom.js
index 09650e3aeb..580496a676 100644
--- a/src/util/dom.js
+++ b/src/util/dom.js
@@ -1,4 +1,4 @@
-const Util = require('./common');
+import Util from './common';
const TABLE = document.createElement('table');
const TABLE_TR = document.createElement('tr');
@@ -13,7 +13,7 @@ const CONTAINERS = {
'*': document.createElement('div')
};
-module.exports = {
+export default {
getBoundingClientRect(node, defaultValue) {
if (node && node.getBoundingClientRect) {
const rect = node.getBoundingClientRect();
diff --git a/src/util/format.js b/src/util/format.js
index ce19982452..0c60414b8b 100644
--- a/src/util/format.js
+++ b/src/util/format.js
@@ -1,4 +1,4 @@
-const Util = require('../util/index');
+import Util from '../util/index';
const regexTags = /[MLHVQTCSAZ]([^MLHVQTCSAZ]*)/ig;
const regexDot = /[^\s\,]+/ig;
@@ -138,13 +138,14 @@ function parsePattern(color, self) {
} else {
img.onload = onload;
// Fix onload() bug in IE9
+ // eslint-disable-next-line
img.src = img.src;
}
return pattern;
}
-module.exports = {
+export default {
parsePath(path) {
path = path || [];
if (Util.isArray(path)) {
diff --git a/src/util/index.js b/src/util/index.js
index 2dde46b67e..5d3404b1b8 100644
--- a/src/util/index.js
+++ b/src/util/index.js
@@ -1,5 +1,5 @@
-const CommonUtil = require('./common');
-const DomUtil = require('./dom');
+import CommonUtil from './common';
+import DomUtil from './dom';
const Util = {};
@@ -22,4 +22,4 @@ CommonUtil.merge(Util, CommonUtil, DomUtil, {
}
});
-module.exports = Util;
+export default Util;
diff --git a/src/util/matrix.js b/src/util/matrix.js
index b3a61af50a..2a40f581b8 100644
--- a/src/util/matrix.js
+++ b/src/util/matrix.js
@@ -1,7 +1,7 @@
-const CommonUtil = require('./common');
-const mat3 = require('gl-matrix/src/gl-matrix/mat3');
-const vec3 = require('gl-matrix/src/gl-matrix/vec3');
-const vec2 = require('gl-matrix/src/gl-matrix/vec2');
+import CommonUtil from './common';
+import mat3 from 'gl-matrix/src/gl-matrix/mat3';
+import vec3 from 'gl-matrix/src/gl-matrix/vec3';
+import vec2 from 'gl-matrix/src/gl-matrix/vec2';
vec2.angle = function(v1, v2) {
const theta = vec2.dot(v1, v2) / (vec2.length(v1) * vec2.length(v2));
@@ -62,7 +62,7 @@ mat3.scale = function(out, a, v) {
return mat3.multiply(out, scaleMat, a);
};
-module.exports = {
+export default {
mat3,
vec2,
vec3,
diff --git a/src/util/path.js b/src/util/path.js
index df2a7a6581..0a1f3c2b83 100644
--- a/src/util/path.js
+++ b/src/util/path.js
@@ -1,4 +1,4 @@
-const Util = require('./common');
+import Util from './common';
const SPACES = '\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029';
const PATH_COMMAND = new RegExp('([a-z])[' + SPACES + ',]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[' + SPACES + ']*,?[' + SPACES + ']*)+)', 'ig');
const PATH_VALUES = new RegExp('(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)[' + SPACES + ']*,?[' + SPACES + ']*', 'ig');
@@ -954,7 +954,7 @@ const pathIntersection = function(path1, path2) {
return interPathHelper(path1, path2);
};
-module.exports = {
+export default {
parsePathString,
parsePathArray,
pathTocurve,
diff --git a/src/worker/main.worker.js b/src/worker/main.worker.js
index bdefe02116..1818813de2 100644
--- a/src/worker/main.worker.js
+++ b/src/worker/main.worker.js
@@ -1,5 +1,4 @@
-
-self.addEventListener('message', e => {
+this.addEventListener('message', e => {
const res = e.data;
// res = {
// command : 'POLYGON-EXTRUDE',
@@ -16,6 +15,8 @@ self.addEventListener('message', e => {
break;
}
});
-self.addEventListener('error', function(e) {
- console.error('filename:' + e.filename + '\nmessage:' + e.message + '\nline:' + e.lineno);
+this.addEventListener('error', function(e) {
+ console.error(
+ 'filename:' + e.filename + '\nmessage:' + e.message + '\nline:' + e.lineno
+ );
});
diff --git a/webpack-dev.config.js b/webpack-dev.config.js
index fcefcc98ed..5ed7514ad1 100755
--- a/webpack-dev.config.js
+++ b/webpack-dev.config.js
@@ -1,10 +1,14 @@
const webpackConfig = require('./webpack.config');
const _ = require('lodash');
-module.exports = _.merge({
- watch: true,
- watchOptions: {
- aggregateTimeout: 300,
- poll: 1000
- }
-}, webpackConfig);
+module.exports = _.merge(
+ {
+ mode: 'development',
+ watch: true,
+ watchOptions: {
+ aggregateTimeout: 300,
+ poll: 1000
+ }
+ },
+ webpackConfig
+);