evui 3.3.39 → 3.3.40

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.
Files changed (30) hide show
  1. package/dist/evui.common.js +2445 -188
  2. package/dist/evui.common.js.map +1 -1
  3. package/dist/evui.umd.js +2445 -188
  4. package/dist/evui.umd.js.map +1 -1
  5. package/dist/evui.umd.min.js +1 -1
  6. package/dist/evui.umd.min.js.map +1 -1
  7. package/package.json +1 -1
  8. package/src/components/chart/Chart.vue +95 -5
  9. package/src/components/chart/ChartToolbar.vue +52 -0
  10. package/src/components/chart/chart.core.js +69 -27
  11. package/src/components/chart/chartZoom.core.js +479 -0
  12. package/src/components/chart/element/element.line.js +2 -1
  13. package/src/components/chart/element/element.scatter.js +8 -2
  14. package/src/components/chart/element/element.tip.js +41 -33
  15. package/src/components/chart/model/model.store.js +34 -5
  16. package/src/components/chart/plugins/plugins.interaction.js +28 -4
  17. package/src/components/chart/plugins/plugins.legend.js +11 -1
  18. package/src/components/chart/scale/scale.js +8 -3
  19. package/src/components/chart/style/chart.scss +14 -0
  20. package/src/components/chart/uses.js +319 -5
  21. package/src/components/chartBrush/ChartBrush.vue +298 -0
  22. package/src/components/chartBrush/chartBrush.core.js +453 -0
  23. package/src/components/chartBrush/index.js +9 -0
  24. package/src/components/chartBrush/uses.js +22 -0
  25. package/src/components/chartGroup/ChartGroup.vue +125 -0
  26. package/src/components/chartGroup/index.js +9 -0
  27. package/src/components/chartGroup/style/chartGroup.scss +5 -0
  28. package/src/components/chartGroup/uses.js +48 -0
  29. package/src/components/pagination/pageButton.vue +1 -0
  30. package/src/main.js +4 -0
@@ -275,6 +275,20 @@ $({ target: 'Object', stat: true }, {
275
275
  });
276
276
 
277
277
 
278
+ /***/ }),
279
+
280
+ /***/ "08a2":
281
+ /***/ (function(module, exports, __webpack_require__) {
282
+
283
+ // Imports
284
+ var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
285
+ exports = ___CSS_LOADER_API_IMPORT___(false);
286
+ // Module
287
+ exports.push([module.i, ".ev-chart-group__wrapper[data-v-bd8c6660]{display:flex;height:100%;flex-direction:column}", ""]);
288
+ // Exports
289
+ module.exports = exports;
290
+
291
+
278
292
  /***/ }),
279
293
 
280
294
  /***/ "0924":
@@ -284,6 +298,21 @@ module.exports = __webpack_require__.p + "img/icon_oracle.0572d3ee.svg";
284
298
 
285
299
  /***/ }),
286
300
 
301
+ /***/ "0b6e":
302
+ /***/ (function(module, exports, __webpack_require__) {
303
+
304
+ // style-loader: Adds some css to the DOM by adding a <style> tag
305
+
306
+ // load the styles
307
+ var content = __webpack_require__("cdcc");
308
+ if(typeof content === 'string') content = [[module.i, content, '']];
309
+ if(content.locals) module.exports = content.locals;
310
+ // add the styles to the DOM
311
+ var add = __webpack_require__("499e").default
312
+ var update = add("0311a9bf", content, true, {"sourceMap":false,"shadowMode":false});
313
+
314
+ /***/ }),
315
+
287
316
  /***/ "0cfb":
288
317
  /***/ (function(module, exports, __webpack_require__) {
289
318
 
@@ -299,6 +328,17 @@ module.exports = !DESCRIPTORS && !fails(function () {
299
328
  });
300
329
 
301
330
 
331
+ /***/ }),
332
+
333
+ /***/ "0d1d":
334
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
335
+
336
+ "use strict";
337
+ /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Chart_vue_vue_type_style_index_0_id_018cc1f3_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1180");
338
+ /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Chart_vue_vue_type_style_index_0_id_018cc1f3_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Chart_vue_vue_type_style_index_0_id_018cc1f3_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
339
+ /* unused harmony reexport * */
340
+
341
+
302
342
  /***/ }),
303
343
 
304
344
  /***/ "0eff":
@@ -351,6 +391,21 @@ module.exports = ''.repeat || function repeat(count) {
351
391
  };
352
392
 
353
393
 
394
+ /***/ }),
395
+
396
+ /***/ "1180":
397
+ /***/ (function(module, exports, __webpack_require__) {
398
+
399
+ // style-loader: Adds some css to the DOM by adding a <style> tag
400
+
401
+ // load the styles
402
+ var content = __webpack_require__("850f");
403
+ if(typeof content === 'string') content = [[module.i, content, '']];
404
+ if(content.locals) module.exports = content.locals;
405
+ // add the styles to the DOM
406
+ var add = __webpack_require__("499e").default
407
+ var update = add("8bf57f30", content, true, {"sourceMap":false,"shadowMode":false});
408
+
354
409
  /***/ }),
355
410
 
356
411
  /***/ "1276":
@@ -649,21 +704,6 @@ module.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callback
649
704
  } : [].forEach;
650
705
 
651
706
 
652
- /***/ }),
653
-
654
- /***/ "1839":
655
- /***/ (function(module, exports, __webpack_require__) {
656
-
657
- // style-loader: Adds some css to the DOM by adding a <style> tag
658
-
659
- // load the styles
660
- var content = __webpack_require__("1d10");
661
- if(typeof content === 'string') content = [[module.i, content, '']];
662
- if(content.locals) module.exports = content.locals;
663
- // add the styles to the DOM
664
- var add = __webpack_require__("499e").default
665
- var update = add("34615be8", content, true, {"sourceMap":false,"shadowMode":false});
666
-
667
707
  /***/ }),
668
708
 
669
709
  /***/ "196e":
@@ -4182,20 +4222,6 @@ var userAgent = __webpack_require__("342f");
4182
4222
  module.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);
4183
4223
 
4184
4224
 
4185
- /***/ }),
4186
-
4187
- /***/ "1d10":
4188
- /***/ (function(module, exports, __webpack_require__) {
4189
-
4190
- // Imports
4191
- var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
4192
- exports = ___CSS_LOADER_API_IMPORT___(false);
4193
- // Module
4194
- exports.push([module.i, ".ev-chart-wrapper{display:block}.ev-chart-container,.ev-chart-wrapper{position:relative;width:100%;height:100%}.ev-chart-container{overflow:hidden}.ev-chart-title{top:0;left:0;width:100%;padding-left:10px;word-wrap:normal;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ev-chart-legend,.ev-chart-title{position:absolute;overflow:hidden}.ev-chart-legend{padding:5px 0 0 0}.ev-chart-legend-container{position:relative}.ev-chart-legend-color,.ev-chart-legend-color--point-line{position:absolute;top:50%;left:0;transform:translateY(-50%);width:18px;height:4px}.ev-chart-legend-color--point-line:after{display:inline-block;position:absolute;top:-2px;left:5px;width:8px;height:8px;content:\" \";border-radius:50%;background-color:inherit}.ev-chart-legend-name{position:absolute;top:50%;left:0;width:100%;text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:12px;margin-left:24px;padding-right:16px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-weight:400;transform:translateY(-50%)}.ev-chart-legend-name:hover{font-weight:700}.ev-chart-legend-value{float:right;text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ev-chart-legend--table{width:100%;font-size:12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-collapse:collapse}.ev-chart-legend--table td,.ev-chart-legend--table th{padding:3px;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ev-chart-legend--table__row{cursor:pointer;min-height:18px}.ev-chart-legend--table__row:hover{font-weight:700}.ev-chart-legend--table__color{width:18px}.ev-chart-legend--table__color-wrapper{position:relative;min-width:18px}.ev-chart-legend--table__color--line{height:4px}.ev-chart-legend--table__color--point-line{position:absolute;top:50%;left:3px;transform:translateY(-50%);height:4px}.ev-chart-legend--table__color--point-line:after{display:inline-block;position:absolute;top:-2px;left:5px;width:8px;height:8px;content:\" \";border-radius:50%;background-color:inherit}.ev-chart-legend--table__name,.ev-chart-legend--table__value{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ev-chart-legend-line{position:relative;width:100%;height:100%;border-radius:10px;background-color:#e3e3e3}.ev-chart-legend-line-layer,.ev-chart-legend-thumb{position:absolute;top:0;left:0;width:100%;height:100%}.ev-chart-legend-thumb{border-radius:10px;color:#000}.ev-chart-legend-handle{position:absolute;top:0;left:0;cursor:pointer}.ev-chart-legend-handle.dragging,.ev-chart-legend-handle:hover{transform:scale(1.2)}.ev-chart-legend-handle-btn{width:100%;height:100%;border-radius:50%;background-color:#fff;transition:transform .1s ease-in-out;box-sizing:border-box;border:2px solid #979797}.ev-chart-legend-handle-btn-color{position:absolute;top:4px;left:4px;width:calc(100% - 8px);height:calc(100% - 8px);border-radius:50%}.ev-chart-legend-label{position:absolute;font-size:12px;line-height:1.4em}.ev-chart-legend-label-text{display:block;white-space:nowrap}.ev-chart-legend-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.ev-chart-legend-overlay .ev-chart-legend-overlay-item{position:absolute;top:1px;left:1px;border-radius:50%;border:1px solid #fff;background-color:transparent}.ev-chart-legend-overlay .ev-chart-legend-overlay-tooltip{position:absolute;font-size:12px;line-height:1.4em}.ev-chart-resize-bar{position:absolute;background:transparent;opacity:.5;z-index:10}.ev-chart-resize-bar:hover,.ev-chart-resize-ghost{background-color:#e2e2e2}.ev-chart-resize-ghost{position:absolute;width:4px;height:100%;cursor:col-resize;opacity:.5}.ev-chart-resize-ghost.horizontal{width:100%;height:4px;cursor:row-resize}.ev-chart-tooltip{position:absolute;z-index:850;top:0;left:0;overflow-y:hidden;overflow-x:hidden;border-radius:8px}.ev-chart-tooltip .ev-chart-tooltip-header{padding:8px 16px 0 16px;overflow:hidden;font-size:16px}.ev-chart-tooltip .ev-chart-tooltip-header--wrap{word-wrap:break-word}.ev-chart-tooltip .ev-chart-tooltip-header--ellipsis{text-overflow:ellipsis;white-space:nowrap}.ev-chart-tooltip .ev-chart-tooltip-body{overflow-x:hidden;overflow-y:hidden}", ""]);
4195
- // Exports
4196
- module.exports = exports;
4197
-
4198
-
4199
4225
  /***/ }),
4200
4226
 
4201
4227
  /***/ "1d80":
@@ -6815,6 +6841,17 @@ exports.push([module.i, ".ev-input,.ev-textarea{width:100%;outline:0;background-
6815
6841
  module.exports = exports;
6816
6842
 
6817
6843
 
6844
+ /***/ }),
6845
+
6846
+ /***/ "6938":
6847
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
6848
+
6849
+ "use strict";
6850
+ /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_v16_dist_index_js_ref_0_1_ChartToolbar_vue_vue_type_style_index_0_id_691b9473_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("0b6e");
6851
+ /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_v16_dist_index_js_ref_0_1_ChartToolbar_vue_vue_type_style_index_0_id_691b9473_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_v16_dist_index_js_ref_0_1_ChartToolbar_vue_vue_type_style_index_0_id_691b9473_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
6852
+ /* unused harmony reexport * */
6853
+
6854
+
6818
6855
  /***/ }),
6819
6856
 
6820
6857
  /***/ "69f3":
@@ -7587,6 +7624,17 @@ module.exports = function (it) {
7587
7624
  };
7588
7625
 
7589
7626
 
7627
+ /***/ }),
7628
+
7629
+ /***/ "8352":
7630
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
7631
+
7632
+ "use strict";
7633
+ /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_v16_dist_index_js_ref_0_1_ChartGroup_vue_vue_type_style_index_0_id_bd8c6660_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("c920");
7634
+ /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_v16_dist_index_js_ref_0_1_ChartGroup_vue_vue_type_style_index_0_id_bd8c6660_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_v16_dist_index_js_ref_0_1_ChartGroup_vue_vue_type_style_index_0_id_bd8c6660_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
7635
+ /* unused harmony reexport * */
7636
+
7637
+
7590
7638
  /***/ }),
7591
7639
 
7592
7640
  /***/ "83ab":
@@ -7632,6 +7680,20 @@ exports.push([module.i, ".ev-window-scroll-lock{overflow:hidden!important}.ev-wi
7632
7680
  module.exports = exports;
7633
7681
 
7634
7682
 
7683
+ /***/ }),
7684
+
7685
+ /***/ "850f":
7686
+ /***/ (function(module, exports, __webpack_require__) {
7687
+
7688
+ // Imports
7689
+ var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
7690
+ exports = ___CSS_LOADER_API_IMPORT___(false);
7691
+ // Module
7692
+ exports.push([module.i, ".ev-chart-brush-wrapper,.ev-chart-wrapper{display:block;position:relative;width:100%;height:100%}.ev-chart-brush-container,.ev-chart-container{position:relative;overflow:hidden;width:100%;height:100%}.ev-chart-title{top:0;left:0;width:100%;padding-left:10px;word-wrap:normal;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ev-chart-legend,.ev-chart-title{position:absolute;overflow:hidden}.ev-chart-legend{padding:5px 0 0 0}.ev-chart-legend-container{position:relative}.ev-chart-legend-color,.ev-chart-legend-color--point-line{position:absolute;top:50%;left:0;transform:translateY(-50%);width:18px;height:4px}.ev-chart-legend-color--point-line:after{display:inline-block;position:absolute;top:-2px;left:5px;width:8px;height:8px;content:\" \";border-radius:50%;background-color:inherit}.ev-chart-legend-name{position:absolute;top:50%;left:0;width:100%;text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:12px;margin-left:24px;padding-right:16px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-weight:400;transform:translateY(-50%)}.ev-chart-legend-name:hover{font-weight:700}.ev-chart-legend-value{float:right;text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ev-chart-legend--table{width:100%;font-size:12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-collapse:collapse}.ev-chart-legend--table td,.ev-chart-legend--table th{padding:3px;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ev-chart-legend--table__row{cursor:pointer;min-height:18px}.ev-chart-legend--table__row:hover{font-weight:700}.ev-chart-legend--table__color{width:18px}.ev-chart-legend--table__color-wrapper{position:relative;min-width:18px}.ev-chart-legend--table__color--line{height:4px}.ev-chart-legend--table__color--point-line{position:absolute;top:50%;left:3px;transform:translateY(-50%);height:4px}.ev-chart-legend--table__color--point-line:after{display:inline-block;position:absolute;top:-2px;left:5px;width:8px;height:8px;content:\" \";border-radius:50%;background-color:inherit}.ev-chart-legend--table__name,.ev-chart-legend--table__value{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ev-chart-legend-line{position:relative;width:100%;height:100%;border-radius:10px;background-color:#e3e3e3}.ev-chart-legend-line-layer,.ev-chart-legend-thumb{position:absolute;top:0;left:0;width:100%;height:100%}.ev-chart-legend-thumb{border-radius:10px;color:#000}.ev-chart-legend-handle{position:absolute;top:0;left:0;cursor:pointer}.ev-chart-legend-handle.dragging,.ev-chart-legend-handle:hover{transform:scale(1.2)}.ev-chart-legend-handle-btn{width:100%;height:100%;border-radius:50%;background-color:#fff;transition:transform .1s ease-in-out;box-sizing:border-box;border:2px solid #979797}.ev-chart-legend-handle-btn-color{position:absolute;top:4px;left:4px;width:calc(100% - 8px);height:calc(100% - 8px);border-radius:50%}.ev-chart-legend-label{position:absolute;font-size:12px;line-height:1.4em}.ev-chart-legend-label-text{display:block;white-space:nowrap}.ev-chart-legend-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.ev-chart-legend-overlay .ev-chart-legend-overlay-item{position:absolute;top:1px;left:1px;border-radius:50%;border:1px solid #fff;background-color:transparent}.ev-chart-legend-overlay .ev-chart-legend-overlay-tooltip{position:absolute;font-size:12px;line-height:1.4em}.ev-chart-resize-bar{position:absolute;background:transparent;opacity:.5;z-index:10}.ev-chart-resize-bar:hover,.ev-chart-resize-ghost{background-color:#e2e2e2}.ev-chart-resize-ghost{position:absolute;width:4px;height:100%;cursor:col-resize;opacity:.5}.ev-chart-resize-ghost.horizontal{width:100%;height:4px;cursor:row-resize}.ev-chart-tooltip{position:absolute;z-index:850;top:0;left:0;overflow-y:hidden;overflow-x:hidden;border-radius:8px}.ev-chart-tooltip .ev-chart-tooltip-header{padding:8px 16px 0 16px;overflow:hidden;font-size:16px}.ev-chart-tooltip .ev-chart-tooltip-header--wrap{word-wrap:break-word}.ev-chart-tooltip .ev-chart-tooltip-header--ellipsis{text-overflow:ellipsis;white-space:nowrap}.ev-chart-tooltip .ev-chart-tooltip-body{overflow-x:hidden;overflow-y:hidden}", ""]);
7693
+ // Exports
7694
+ module.exports = exports;
7695
+
7696
+
7635
7697
  /***/ }),
7636
7698
 
7637
7699
  /***/ "861d":
@@ -7909,7 +7971,7 @@ $({ target: 'Number', stat: true }, {
7909
7971
  /***/ "9224":
7910
7972
  /***/ (function(module) {
7911
7973
 
7912
- module.exports = JSON.parse("{\"a\":\"3.3.39\"}");
7974
+ module.exports = JSON.parse("{\"a\":\"3.3.40\"}");
7913
7975
 
7914
7976
  /***/ }),
7915
7977
 
@@ -10537,6 +10599,21 @@ module.exports = function (METHOD_NAME) {
10537
10599
  };
10538
10600
 
10539
10601
 
10602
+ /***/ }),
10603
+
10604
+ /***/ "c920":
10605
+ /***/ (function(module, exports, __webpack_require__) {
10606
+
10607
+ // style-loader: Adds some css to the DOM by adding a <style> tag
10608
+
10609
+ // load the styles
10610
+ var content = __webpack_require__("08a2");
10611
+ if(typeof content === 'string') content = [[module.i, content, '']];
10612
+ if(content.locals) module.exports = content.locals;
10613
+ // add the styles to the DOM
10614
+ var add = __webpack_require__("499e").default
10615
+ var update = add("7946d016", content, true, {"sourceMap":false,"shadowMode":false});
10616
+
10540
10617
  /***/ }),
10541
10618
 
10542
10619
  /***/ "c975":
@@ -10679,6 +10756,20 @@ $({ target: 'Object', stat: true, forced: Object.assign !== assign }, {
10679
10756
  /* unused harmony reexport * */
10680
10757
 
10681
10758
 
10759
+ /***/ }),
10760
+
10761
+ /***/ "cdcc":
10762
+ /***/ (function(module, exports, __webpack_require__) {
10763
+
10764
+ // Imports
10765
+ var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
10766
+ exports = ___CSS_LOADER_API_IMPORT___(false);
10767
+ // Module
10768
+ exports.push([module.i, ".ev-chart__toolbar__wrapper[data-v-691b9473]{height:30px;text-align:right;padding-right:30px}.ev-chart__toolbar__wrapper__icon i[data-v-691b9473]{pointer-events:none;opacity:.5;cursor:pointer}.ev-chart__toolbar__wrapper__icon i+i[data-v-691b9473]{margin-left:10px}.ev-chart__toolbar__wrapper__icon .active[data-v-691b9473]{font-weight:700}", ""]);
10769
+ // Exports
10770
+ module.exports = exports;
10771
+
10772
+
10682
10773
  /***/ }),
10683
10774
 
10684
10775
  /***/ "cdf9":
@@ -12229,17 +12320,6 @@ if(content.locals) module.exports = content.locals;
12229
12320
  var add = __webpack_require__("499e").default
12230
12321
  var update = add("235b9c6e", content, true, {"sourceMap":false,"shadowMode":false});
12231
12322
 
12232
- /***/ }),
12233
-
12234
- /***/ "e83f":
12235
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
12236
-
12237
- "use strict";
12238
- /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Chart_vue_vue_type_style_index_0_id_ca3428ac_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1839");
12239
- /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Chart_vue_vue_type_style_index_0_id_ca3428ac_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_v16_dist_index_js_ref_0_1_Chart_vue_vue_type_style_index_0_id_ca3428ac_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
12240
- /* unused harmony reexport * */
12241
-
12242
-
12243
12323
  /***/ }),
12244
12324
 
12245
12325
  /***/ "e843":
@@ -18979,7 +19059,7 @@ Slider.install = function (app) {
18979
19059
 
18980
19060
  /* harmony default export */ var components_slider = (Slider);
18981
19061
  // EXTERNAL MODULE: ./src/style/lib/icon.css
18982
- var icon = __webpack_require__("2d5d");
19062
+ var lib_icon = __webpack_require__("2d5d");
18983
19063
 
18984
19064
  // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/components/icon/Icon.vue?vue&type=template&id=5c77b16f
18985
19065
 
@@ -30813,18 +30893,27 @@ Grid.install = function (app) {
30813
30893
  };
30814
30894
 
30815
30895
  /* harmony default export */ var grid = (Grid);
30816
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/components/chart/Chart.vue?vue&type=template&id=ca3428ac
30896
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/components/chart/Chart.vue?vue&type=template&id=018cc1f3
30897
+
30898
+ var Chartvue_type_template_id_018cc1f3_hoisted_1 = {
30899
+ key: 0,
30900
+ ref: "evChartToolbarRef"
30901
+ };
30902
+ function Chartvue_type_template_id_018cc1f3_render(_ctx, _cache, $props, $setup, $data, $options) {
30903
+ var _component_ev_chart_toolbar = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("ev-chart-toolbar");
30817
30904
 
30818
- function Chartvue_type_template_id_ca3428ac_render(_ctx, _cache, $props, $setup, $data, $options) {
30819
30905
  var _directive_resize = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDirective"])("resize");
30820
30906
 
30821
- return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])((Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])("div", {
30907
+ return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, [$setup.zoomOptions.toolbar.show && !$setup.injectIsChartGroup ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])("div", Chartvue_type_template_id_018cc1f3_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ev_chart_toolbar, {
30908
+ toolbar: $setup.zoomOptions.toolbar,
30909
+ onOnClickToolbar: $setup.onClickToolbar
30910
+ }, null, 8, ["toolbar", "onOnClickToolbar"])], 512)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])("div", {
30822
30911
  ref: "wrapper",
30823
30912
  style: $setup.wrapperStyle,
30824
30913
  class: "ev-chart"
30825
- }, null, 4)), [[_directive_resize, $setup.onResize]]);
30914
+ }, null, 4), [[_directive_resize, $setup.onResize]])], 64);
30826
30915
  }
30827
- // CONCATENATED MODULE: ./src/components/chart/Chart.vue?vue&type=template&id=ca3428ac
30916
+ // CONCATENATED MODULE: ./src/components/chart/Chart.vue?vue&type=template&id=018cc1f3
30828
30917
 
30829
30918
  // CONCATENATED MODULE: ./node_modules/lodash-es/_arrayEach.js
30830
30919
  /**
@@ -33166,17 +33255,49 @@ var modules = {
33166
33255
 
33167
33256
  return findInfo;
33168
33257
  },
33169
- getItem: function getItem(_ref3) {
33170
- var seriesID = _ref3.seriesID,
33171
- dataIndex = _ref3.dataIndex;
33258
+ getItem: function getItem(selectedInfo) {
33259
+ var _this6 = this;
33260
+
33172
33261
  var useApproximate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
33173
- var dataInfo = this.getDataByValues(seriesID, dataIndex);
33262
+ var seriesID = selectedInfo.seriesID,
33263
+ dataIndex = selectedInfo.dataIndex;
33264
+ var itemPosition;
33174
33265
 
33175
- if (!dataInfo || !(dataInfo !== null && dataInfo !== void 0 && dataInfo.xp) || !(dataInfo !== null && dataInfo !== void 0 && dataInfo.yp)) {
33176
- return null;
33266
+ if ('seriesID' in selectedInfo) {
33267
+ var dataInfo = this.getDataByValues(seriesID, dataIndex);
33268
+
33269
+ if (!dataInfo || !(dataInfo !== null && dataInfo !== void 0 && dataInfo.xp) || !(dataInfo !== null && dataInfo !== void 0 && dataInfo.yp)) {
33270
+ return null;
33271
+ }
33272
+
33273
+ itemPosition = [this.getItemByPosition([dataInfo.xp, dataInfo.yp], useApproximate)];
33274
+ } else {
33275
+ var seriesList = Object.entries(this.seriesList);
33276
+ var firShowSeriesID;
33277
+
33278
+ for (var i = 0; i < seriesList.length; i++) {
33279
+ var _seriesList$i = _slicedToArray(seriesList[i], 2),
33280
+ id = _seriesList$i[0],
33281
+ info = _seriesList$i[1];
33282
+
33283
+ if (info.show) {
33284
+ firShowSeriesID = id;
33285
+ break;
33286
+ }
33287
+ }
33288
+
33289
+ itemPosition = dataIndex.map(function (idx) {
33290
+ var dataInfo = _this6.getDataByValues(firShowSeriesID, idx);
33291
+
33292
+ if (!dataInfo || !(dataInfo !== null && dataInfo !== void 0 && dataInfo.xp) || !(dataInfo !== null && dataInfo !== void 0 && dataInfo.yp)) {
33293
+ return null;
33294
+ }
33295
+
33296
+ return _this6.getItemByPosition([dataInfo.xp, dataInfo.yp], useApproximate);
33297
+ });
33177
33298
  }
33178
33299
 
33179
- return this.getItemByPosition([dataInfo.xp, dataInfo.yp], useApproximate);
33300
+ return itemPosition;
33180
33301
  },
33181
33302
 
33182
33303
  /**
@@ -33282,7 +33403,7 @@ var modules = {
33282
33403
  * @returns {object} clicked series id
33283
33404
  */
33284
33405
  getSeriesIdByPosition: function getSeriesIdByPosition(offset) {
33285
- var _this6 = this;
33406
+ var _this7 = this;
33286
33407
 
33287
33408
  var _offset = _slicedToArray(offset, 2),
33288
33409
  clickedX = _offset[0],
@@ -33316,8 +33437,8 @@ var modules = {
33316
33437
  case 'line':
33317
33438
  {
33318
33439
  var orderedSeriesList = this.seriesInfo.charts.line;
33319
- var isStackChart = Object.values(this.seriesList).some(function (_ref4) {
33320
- var stackIndex = _ref4.stackIndex;
33440
+ var isStackChart = Object.values(this.seriesList).some(function (_ref3) {
33441
+ var stackIndex = _ref3.stackIndex;
33321
33442
  return stackIndex;
33322
33443
  });
33323
33444
 
@@ -33336,16 +33457,16 @@ var modules = {
33336
33457
  position: (_hitItem$items$sId = hitItem.items[sId]) === null || _hitItem$items$sId === void 0 ? void 0 : (_hitItem$items$sId$da = _hitItem$items$sId.data) === null || _hitItem$items$sId$da === void 0 ? void 0 : _hitItem$items$sId$da.yp
33337
33458
  };
33338
33459
  });
33339
- hitSeries = (_positionList$find = positionList.find(function (_ref5) {
33340
- var position = _ref5.position;
33460
+ hitSeries = (_positionList$find = positionList.find(function (_ref4) {
33461
+ var position = _ref4.position;
33341
33462
  return clickedY > position;
33342
33463
  })) === null || _positionList$find === void 0 ? void 0 : _positionList$find.sId;
33343
33464
  } else {
33344
33465
  var _Object$entries$find;
33345
33466
 
33346
- hitSeries = (_Object$entries$find = Object.entries(hitItem.items).find(function (_ref6) {
33347
- var _ref7 = _slicedToArray(_ref6, 2),
33348
- hit = _ref7[1].hit;
33467
+ hitSeries = (_Object$entries$find = Object.entries(hitItem.items).find(function (_ref5) {
33468
+ var _ref6 = _slicedToArray(_ref5, 2),
33469
+ hit = _ref6[1].hit;
33349
33470
 
33350
33471
  return hit;
33351
33472
  })) === null || _Object$entries$find === void 0 ? void 0 : _Object$entries$find[0];
@@ -33355,29 +33476,29 @@ var modules = {
33355
33476
 
33356
33477
  // 클릭한 위치에 data 가 존재하지 않는 경우
33357
33478
  var visibleSeriesList = orderedSeriesList.filter(function (sId) {
33358
- return _this6.seriesList[sId].show;
33479
+ return _this7.seriesList[sId].show;
33359
33480
  });
33360
33481
  positionList = visibleSeriesList.map(function (sId) {
33361
- var _this6$seriesList$sId;
33482
+ var _this7$seriesList$sId;
33362
33483
 
33363
33484
  return {
33364
33485
  sId: sId,
33365
- position: (_this6$seriesList$sId = _this6.seriesList[sId].data) === null || _this6$seriesList$sId === void 0 ? void 0 : _this6$seriesList$sId.map(function (_ref8) {
33366
- var xp = _ref8.xp,
33367
- yp = _ref8.yp;
33486
+ position: (_this7$seriesList$sId = _this7.seriesList[sId].data) === null || _this7$seriesList$sId === void 0 ? void 0 : _this7$seriesList$sId.map(function (_ref7) {
33487
+ var xp = _ref7.xp,
33488
+ yp = _ref7.yp;
33368
33489
  return [xp, yp];
33369
33490
  })
33370
33491
  };
33371
33492
  });
33372
- var dataIndex = (_positionList$0$posit = positionList[0].position) === null || _positionList$0$posit === void 0 ? void 0 : _positionList$0$posit.findIndex(function (_ref9) {
33373
- var _ref10 = _slicedToArray(_ref9, 1),
33374
- xp = _ref10[0];
33493
+ var dataIndex = (_positionList$0$posit = positionList[0].position) === null || _positionList$0$posit === void 0 ? void 0 : _positionList$0$posit.findIndex(function (_ref8) {
33494
+ var _ref9 = _slicedToArray(_ref8, 1),
33495
+ xp = _ref9[0];
33375
33496
 
33376
33497
  return xp >= clickedX;
33377
33498
  });
33378
- var vectorList = positionList.map(function (_ref11) {
33379
- var sId = _ref11.sId,
33380
- position = _ref11.position;
33499
+ var vectorList = positionList.map(function (_ref10) {
33500
+ var sId = _ref10.sId,
33501
+ position = _ref10.position;
33381
33502
  return {
33382
33503
  sId: sId,
33383
33504
  vector: {
@@ -33395,8 +33516,8 @@ var modules = {
33395
33516
  if (isStackChart) {
33396
33517
  var _vectorList$find;
33397
33518
 
33398
- hitSeries = (_vectorList$find = vectorList.find(function (_ref12) {
33399
- var vector = _ref12.vector;
33519
+ hitSeries = (_vectorList$find = vectorList.find(function (_ref11) {
33520
+ var vector = _ref11.vector;
33400
33521
 
33401
33522
  if (isEmptyVector(vector === null || vector === void 0 ? void 0 : vector.start) && isEmptyVector(vector === null || vector === void 0 ? void 0 : vector.end)) {
33402
33523
  return false;
@@ -33422,8 +33543,8 @@ var modules = {
33422
33543
  } else {
33423
33544
  var _vectorList$find2;
33424
33545
 
33425
- hitSeries = (_vectorList$find2 = vectorList.find(function (_ref13) {
33426
- var vector = _ref13.vector;
33546
+ hitSeries = (_vectorList$find2 = vectorList.find(function (_ref12) {
33547
+ var vector = _ref12.vector;
33427
33548
 
33428
33549
  if (isEmptyVector(vector === null || vector === void 0 ? void 0 : vector.start) && isEmptyVector(vector === null || vector === void 0 ? void 0 : vector.end)) {
33429
33550
  return false;
@@ -33506,7 +33627,7 @@ var modules = {
33506
33627
  * @returns {object} min/max info for all of data
33507
33628
  */
33508
33629
  getStoreMinMax: function getStoreMinMax() {
33509
- var _this7 = this;
33630
+ var _this8 = this;
33510
33631
 
33511
33632
  var keys = Object.keys(this.seriesList);
33512
33633
  var isHorizontal = this.options.horizontal;
@@ -33524,7 +33645,7 @@ var modules = {
33524
33645
  if (keys.length) {
33525
33646
  return keys.reduce(function (acc, key) {
33526
33647
  var minmax = acc;
33527
- var series = _this7.seriesList[key];
33648
+ var series = _this8.seriesList[key];
33528
33649
  var smm = series.minMax;
33529
33650
  var axisX = series.xAxisIndex;
33530
33651
  var axisY = series.yAxisIndex;
@@ -35014,7 +35135,8 @@ var element_line_Line = /*#__PURE__*/function () {
35014
35135
  axesSteps = param.axesSteps,
35015
35136
  selectLabel = param.selectLabel,
35016
35137
  selectSeries = param.selectSeries,
35017
- legendHitInfo = param.legendHitInfo; // about selectLabel
35138
+ legendHitInfo = param.legendHitInfo,
35139
+ isBrush = param.isBrush; // about selectLabel
35018
35140
 
35019
35141
  var selectLabelOption = selectLabel === null || selectLabel === void 0 ? void 0 : selectLabel.option;
35020
35142
  var useSelectLabel = (selectLabelOption === null || selectLabelOption === void 0 ? void 0 : selectLabelOption.use) && (selectLabelOption === null || selectLabelOption === void 0 ? void 0 : selectLabelOption.useSeriesOpacity);
@@ -35150,7 +35272,7 @@ var element_line_Line = /*#__PURE__*/function () {
35150
35272
  } // Draw points
35151
35273
 
35152
35274
 
35153
- if (this.point || useSelectLabel) {
35275
+ if (!isBrush && (this.point || useSelectLabel)) {
35154
35276
  ctx.strokeStyle = helpers_util.colorStringToRgba(mainColor, mainColorOpacity);
35155
35277
  var focusStyle = helpers_util.colorStringToRgba(pointFillColor, 1);
35156
35278
  var blurStyle = helpers_util.colorStringToRgba(pointFillColor, pointFillColorOpacity);
@@ -35386,6 +35508,8 @@ var merge = _createAssigner(function(object, source, srcIndex) {
35386
35508
 
35387
35509
 
35388
35510
 
35511
+
35512
+
35389
35513
  var element_scatter_Scatter = /*#__PURE__*/function () {
35390
35514
  function Scatter(sId, opt, sIdx) {
35391
35515
  var _this = this;
@@ -35431,6 +35555,7 @@ var element_scatter_Scatter = /*#__PURE__*/function () {
35431
35555
  var chartRect = param.chartRect;
35432
35556
  var labelOffset = param.labelOffset;
35433
35557
  var axesSteps = param.axesSteps;
35558
+ var displayOverflow = param.displayOverflow;
35434
35559
  var x;
35435
35560
  var y;
35436
35561
  var aliasPixel;
@@ -35440,6 +35565,15 @@ var element_scatter_Scatter = /*#__PURE__*/function () {
35440
35565
  var yArea = chartRect.chartHeight - (labelOffset.top + labelOffset.bottom);
35441
35566
  var xsp = chartRect.x1 + labelOffset.left;
35442
35567
  var ysp = chartRect.y2 - labelOffset.bottom;
35568
+
35569
+ if (displayOverflow) {
35570
+ this.data = this.data.map(function (val) {
35571
+ return _objectSpread2(_objectSpread2({}, val), {}, {
35572
+ y: val.y > minmaxY.graphMax ? minmaxY.graphMax : val.y
35573
+ });
35574
+ });
35575
+ }
35576
+
35443
35577
  this.data.forEach(function (item) {
35444
35578
  x = helpers_canvas.calculateX(item.x, minmaxX.graphMin, minmaxX.graphMax, xArea, xsp);
35445
35579
  y = helpers_canvas.calculateY(item.y, minmaxY.graphMin, minmaxY.graphMax, yArea, ysp);
@@ -37763,10 +37897,13 @@ var scale_Scale = /*#__PURE__*/function () {
37763
37897
  var labelPoint = void 0;
37764
37898
 
37765
37899
  if (this.type === 'x') {
37766
- var _options$selectItem, _this$options3;
37900
+ var _options$brush, _options$selectItem, _this$options3;
37767
37901
 
37768
37902
  labelPoint = this.position === 'top' ? offsetPoint - 10 : offsetPoint + 10;
37769
- ctx.fillText(labelText, labelCenter, labelPoint);
37903
+
37904
+ if (options !== null && options !== void 0 && (_options$brush = options.brush) !== null && _options$brush !== void 0 && _options$brush.showLabel || !options.brush) {
37905
+ ctx.fillText(labelText, labelCenter, labelPoint);
37906
+ }
37770
37907
 
37771
37908
  if (!isBlurredLabel && options !== null && options !== void 0 && (_options$selectItem = options.selectItem) !== null && _options$selectItem !== void 0 && _options$selectItem.showLabelTip && hitInfo !== null && hitInfo !== void 0 && hitInfo.label && !((_this$options3 = this.options) !== null && _this$options3 !== void 0 && _this$options3.horizontal)) {
37772
37909
  var selectedLabel = this.getLabelFormat(Math.min(axisMax, hitInfo.label + 0 * stepValue));
@@ -37795,11 +37932,16 @@ var scale_Scale = /*#__PURE__*/function () {
37795
37932
  ctx.lineTo(linePosition, offsetCounterPoint);
37796
37933
  }
37797
37934
  } else {
37935
+ var _options$brush2;
37936
+
37798
37937
  labelPoint = this.position === 'left' ? offsetPoint - 10 : offsetPoint + 10;
37799
- ctx.fillText(labelText, labelPoint, labelCenter);
37938
+
37939
+ if (options !== null && options !== void 0 && (_options$brush2 = options.brush) !== null && _options$brush2 !== void 0 && _options$brush2.showLabel || !options.brush) {
37940
+ ctx.fillText(labelText, labelPoint, labelCenter);
37941
+ }
37800
37942
 
37801
37943
  if (ix === steps) {
37802
- linePosition += 1;
37944
+ linePosition -= 1;
37803
37945
  }
37804
37946
 
37805
37947
  if (ix !== 0 && this.showGrid) {
@@ -39570,7 +39712,8 @@ var plugins_legend_modules = {
39570
39712
  _this3.addLegend({
39571
39713
  cId: colorItem.id,
39572
39714
  color: colorItem.color,
39573
- name: name
39715
+ name: name,
39716
+ show: true
39574
39717
  });
39575
39718
  }
39576
39719
  }
@@ -39629,6 +39772,7 @@ var plugins_legend_modules = {
39629
39772
 
39630
39773
  this.onLegendBoxClick = function (e) {
39631
39774
  var opt = _this4.options.legend;
39775
+ var chartIdx = _this4.data.chartIdx;
39632
39776
 
39633
39777
  var targetDOM = _this4.getContainerDOM(e);
39634
39778
 
@@ -39689,6 +39833,14 @@ var plugins_legend_modules = {
39689
39833
  series.show = !series.show;
39690
39834
  targetDOM.classList.toggle('inactive');
39691
39835
 
39836
+ if (_this4.brushSeries) {
39837
+ var seriesList = _toConsumableArray(_this4.brushSeries.list);
39838
+
39839
+ seriesList[chartIdx] = _this4.seriesList;
39840
+ _this4.brushSeries.list = seriesList;
39841
+ _this4.brushSeries.chartIdx = chartIdx;
39842
+ }
39843
+
39692
39844
  _this4.update({
39693
39845
  updateSeries: false,
39694
39846
  updateSelTip: {
@@ -41407,6 +41559,11 @@ var plugins_interaction_modules = {
41407
41559
 
41408
41560
 
41409
41561
  this.onClick = function (e) {
41562
+ if (_this.isMouseMove) {
41563
+ _this.isMouseMove = false;
41564
+ return;
41565
+ }
41566
+
41410
41567
  var args = {
41411
41568
  e: e
41412
41569
  };
@@ -41560,6 +41717,7 @@ var plugins_interaction_modules = {
41560
41717
  var xep;
41561
41718
  var yep;
41562
41719
  dragInfo.isMove = true;
41720
+ _this2.isMouseMove = true;
41563
41721
 
41564
41722
  if (aOffsetX < aRange.x1) {
41565
41723
  xep = aRange.x1;
@@ -41618,6 +41776,8 @@ var plugins_interaction_modules = {
41618
41776
  var dragInfo = _this2.dragInfo;
41619
41777
 
41620
41778
  if (dragInfo !== null && dragInfo !== void 0 && dragInfo.isMove && (dragInfo === null || dragInfo === void 0 ? void 0 : dragInfo.width) > 1 && (dragInfo === null || dragInfo === void 0 ? void 0 : dragInfo.height) > 1) {
41779
+ var _this2$options, _this2$options$zoom;
41780
+
41621
41781
  var args = {
41622
41782
  e: e,
41623
41783
  data: _this2.findSelectedItems(dragInfo),
@@ -41625,13 +41785,28 @@ var plugins_interaction_modules = {
41625
41785
  };
41626
41786
  _this2.dragInfoBackup = lodash_es_defaultsDeep({}, dragInfo);
41627
41787
 
41628
- if (typeof _this2.listeners['drag-select'] === 'function') {
41788
+ if (typeof _this2.listeners['drag-select'] === 'function' && !((_this2$options = _this2.options) !== null && _this2$options !== void 0 && (_this2$options$zoom = _this2$options.zoom) !== null && _this2$options$zoom !== void 0 && _this2$options$zoom.use)) {
41629
41789
  _this2.listeners['drag-select'](args);
41790
+ } else {
41791
+ var xsp = dragInfo.xsp,
41792
+ chartRange = dragInfo.range,
41793
+ dragWidth = dragInfo.width;
41794
+ var dragXsp = xsp - chartRange.x1;
41795
+ args.range.dragSelectionInfo = {
41796
+ dragXsp: dragXsp,
41797
+ dragXep: dragXsp + dragWidth,
41798
+ exceptAxesYChartWidth: chartRange.x2 - chartRange.x1,
41799
+ exceptAxesXChartHeight: chartRange.y2 - chartRange.y1,
41800
+ chartRange: chartRange,
41801
+ chartTitle: _this2.options.title.text
41802
+ };
41803
+
41804
+ _this2.options.zoom.getRangeInfo(args);
41630
41805
  }
41631
- }
41632
41806
 
41633
- if (!_this2.options.dragSelection.keepDisplay) {
41634
- _this2.removeSelectionArea();
41807
+ if (!_this2.options.dragSelection.keepDisplay) {
41808
+ _this2.removeSelectionArea();
41809
+ }
41635
41810
  }
41636
41811
 
41637
41812
  _this2.dragInfo = null;
@@ -43154,6 +43329,8 @@ var element_tip_modules = {
43154
43329
  * @returns {undefined}
43155
43330
  */
43156
43331
  drawTips: function drawTips(tipLocationInfo) {
43332
+ var _this = this;
43333
+
43157
43334
  var opt = this.options;
43158
43335
  var isHorizontal = !!opt.horizontal;
43159
43336
  var maxTipOpt = opt.maxTip;
@@ -43162,75 +43339,83 @@ var element_tip_modules = {
43162
43339
  var maxArgs;
43163
43340
  var isExistSelectedLabel;
43164
43341
 
43165
- if (labelTipOpt.use && labelTipOpt.showTip) {
43166
- isExistSelectedLabel = this.drawLabelTip();
43167
- }
43342
+ var executeDrawTip = function executeDrawTip(tipOpt) {
43343
+ tipLocationInfo.forEach(function (tipInfo) {
43344
+ if (tipInfo && !isExistSelectedLabel) {
43345
+ var seriesInfo = _this.seriesList[tipInfo === null || tipInfo === void 0 ? void 0 : tipInfo.sId];
43168
43346
 
43169
- if (selTipOpt.use && tipLocationInfo && !isExistSelectedLabel) {
43170
- var seriesInfo = this.seriesList[tipLocationInfo === null || tipLocationInfo === void 0 ? void 0 : tipLocationInfo.sId];
43347
+ if (!(seriesInfo !== null && seriesInfo !== void 0 && seriesInfo.show)) {
43348
+ return;
43349
+ }
43171
43350
 
43172
- if (!(seriesInfo !== null && seriesInfo !== void 0 && seriesInfo.show)) {
43173
- return;
43174
- }
43351
+ var selArgs = _this.calculateTipInfo(seriesInfo, 'sel', tipInfo);
43175
43352
 
43176
- var selArgs = this.calculateTipInfo(seriesInfo, 'sel', tipLocationInfo);
43353
+ if (selArgs) {
43354
+ var _maxArgs;
43177
43355
 
43178
- if (selArgs) {
43179
- var _maxArgs;
43356
+ var isSamePos = false;
43180
43357
 
43181
- var isSamePos = false;
43358
+ if (maxTipOpt.use && ((_maxArgs = maxArgs) === null || _maxArgs === void 0 ? void 0 : _maxArgs.dp) === selArgs.dp) {
43359
+ isSamePos = true;
43360
+ }
43182
43361
 
43183
- if (maxTipOpt.use && ((_maxArgs = maxArgs) === null || _maxArgs === void 0 ? void 0 : _maxArgs.dp) === selArgs.dp) {
43184
- isSamePos = true;
43185
- }
43362
+ if (tipOpt.showTextTip || tipOpt.showTip) {
43363
+ if (tipOpt.tipText === 'label') {
43364
+ var axisOpt = isHorizontal ? opt.axesY[0] : opt.axesX[0];
43365
+ var label = selArgs.label;
43366
+ selArgs.text = axisOpt.type === 'time' ? dayjs_min_default()(label).format(axisOpt.timeFormat) : label;
43367
+ } else {
43368
+ selArgs.text = numberWithComma(selArgs.value);
43369
+ }
43186
43370
 
43187
- if (selTipOpt.showTextTip || selTipOpt.showTip) {
43188
- if (selTipOpt.tipText === 'label') {
43189
- var axisOpt = isHorizontal ? opt.axesY[0] : opt.axesX[0];
43190
- var label = selArgs.label;
43191
- selArgs.text = axisOpt.type === 'time' ? dayjs_min_default()(label).format(axisOpt.timeFormat) : label;
43192
- } else {
43193
- selArgs.text = numberWithComma(selArgs.value);
43194
- }
43371
+ _this.drawTextTip(_objectSpread2({
43372
+ opt: tipOpt,
43373
+ tipType: 'sel',
43374
+ seriesOpt: seriesInfo,
43375
+ isSamePos: isSamePos
43376
+ }, selArgs));
43377
+ }
43195
43378
 
43196
- this.drawTextTip(_objectSpread2({
43197
- opt: selTipOpt,
43198
- tipType: 'sel',
43199
- seriesOpt: seriesInfo,
43200
- isSamePos: isSamePos
43201
- }, selArgs));
43202
- }
43379
+ if (tipOpt.showIndicator) {
43380
+ _this.drawFixedIndicator(_objectSpread2({
43381
+ opt: tipOpt,
43382
+ seriesOpt: seriesInfo
43383
+ }, selArgs));
43384
+ }
43385
+ }
43203
43386
 
43204
- if (selTipOpt.showIndicator) {
43205
- this.drawFixedIndicator(_objectSpread2({
43206
- opt: selTipOpt,
43207
- seriesOpt: seriesInfo
43208
- }, selArgs));
43387
+ if (tipInfo && tipInfo !== null && tipInfo !== void 0 && tipInfo.label && (tipInfo === null || tipInfo === void 0 ? void 0 : tipInfo.label) === 0) {
43388
+ _this.lastHitInfo = tipInfo;
43389
+ }
43209
43390
  }
43210
- }
43391
+ });
43392
+ };
43211
43393
 
43212
- if (tipLocationInfo && tipLocationInfo !== null && tipLocationInfo !== void 0 && tipLocationInfo.label && (tipLocationInfo === null || tipLocationInfo === void 0 ? void 0 : tipLocationInfo.label) === 0) {
43213
- this.lastHitInfo = tipLocationInfo;
43394
+ if (tipLocationInfo) {
43395
+ if (selTipOpt.use) {
43396
+ executeDrawTip(selTipOpt);
43397
+ } else if (labelTipOpt.use) {
43398
+ executeDrawTip(labelTipOpt);
43214
43399
  }
43215
43400
  }
43216
43401
 
43217
43402
  if (maxTipOpt.use && !isExistSelectedLabel) {
43218
43403
  var maxSID = this.minMax[isHorizontal ? 'x' : 'y'][0].maxSID;
43219
- var _seriesInfo = this.seriesList[maxSID];
43220
- maxArgs = this.calculateTipInfo(_seriesInfo, 'max', null);
43404
+ var seriesInfo = this.seriesList[maxSID];
43405
+ maxArgs = this.calculateTipInfo(seriesInfo, 'max', null);
43221
43406
 
43222
43407
  if (maxTipOpt.use && maxArgs) {
43223
43408
  maxArgs.text = numberWithComma(maxArgs.value);
43224
43409
  this.drawTextTip(_objectSpread2({
43225
43410
  opt: maxTipOpt,
43226
43411
  tipType: 'max',
43227
- seriesOpt: _seriesInfo
43412
+ seriesOpt: seriesInfo
43228
43413
  }, maxArgs));
43229
43414
 
43230
43415
  if (maxTipOpt.showIndicator) {
43231
43416
  this.drawFixedIndicator(_objectSpread2({
43232
43417
  opt: maxTipOpt,
43233
- seriesOpt: _seriesInfo
43418
+ seriesOpt: seriesInfo
43234
43419
  }, maxArgs));
43235
43420
  }
43236
43421
  }
@@ -43414,7 +43599,7 @@ var element_tip_modules = {
43414
43599
  * @returns {boolean} Whether drew at least one tip
43415
43600
  */
43416
43601
  drawLabelTip: function drawLabelTip() {
43417
- var _this = this;
43602
+ var _this2 = this;
43418
43603
 
43419
43604
  var opt = this.options;
43420
43605
  var isHorizontal = !!opt.horizontal;
@@ -43450,10 +43635,10 @@ var element_tip_modules = {
43450
43635
  offset *= isHorizontal ? 1 : -1;
43451
43636
  var seriesList = Object.keys((_this$seriesList = this.seriesList) !== null && _this$seriesList !== void 0 ? _this$seriesList : {});
43452
43637
  var visibleSeries = seriesList.filter(function (sId) {
43453
- return _this.seriesList[sId].show;
43638
+ return _this2.seriesList[sId].show;
43454
43639
  });
43455
43640
  var isExistGrp = seriesList.some(function (sId) {
43456
- return _this.seriesList[sId].isExistGrp;
43641
+ return _this2.seriesList[sId].isExistGrp;
43457
43642
  });
43458
43643
  var groups = (_this$data$groups$ = (_this$data$groups = this.data.groups) === null || _this$data$groups === void 0 ? void 0 : _this$data$groups[0]) !== null && _this$data$groups$ !== void 0 ? _this$data$groups$ : [];
43459
43644
  var gp;
@@ -43473,9 +43658,9 @@ var element_tip_modules = {
43473
43658
  } else {
43474
43659
  graphX = this.axesSteps.x[0];
43475
43660
  lineSeries = seriesList.find(function (sId) {
43476
- var _this$seriesList$sId;
43661
+ var _this2$seriesList$sId;
43477
43662
 
43478
- return ((_this$seriesList$sId = _this.seriesList[sId]) === null || _this$seriesList$sId === void 0 ? void 0 : _this$seriesList$sId.type) === 'line';
43663
+ return ((_this2$seriesList$sId = _this2.seriesList[sId]) === null || _this2$seriesList$sId === void 0 ? void 0 : _this2$seriesList$sId.type) === 'line';
43479
43664
  });
43480
43665
  sizeObj = this.seriesList[lineSeries].size;
43481
43666
  }
@@ -43518,8 +43703,8 @@ var element_tip_modules = {
43518
43703
  gp = valuePositionCalcFunction(value, valueAxesRange.min, valueAxesRange.max, valueSpace, valueStartPoint);
43519
43704
  gp += offset;
43520
43705
 
43521
- _this.showTip({
43522
- context: _this.bufferCtx,
43706
+ _this2.showTip({
43707
+ context: _this2.bufferCtx,
43523
43708
  x: isHorizontal ? gp : dp,
43524
43709
  y: isHorizontal ? dp : gp,
43525
43710
  opt: labelTipOpt,
@@ -43771,7 +43956,7 @@ var element_tip_modules = {
43771
43956
 
43772
43957
 
43773
43958
  var chart_core_EvChart = /*#__PURE__*/function () {
43774
- function EvChart(target, data, options, listeners, defaultSelectItemInfo, defaultSelectInfo) {
43959
+ function EvChart(target, data, options, listeners, defaultSelectItemInfo, defaultSelectInfo, brushSeries) {
43775
43960
  var _this = this;
43776
43961
 
43777
43962
  _classCallCheck(this, EvChart);
@@ -43779,25 +43964,29 @@ var chart_core_EvChart = /*#__PURE__*/function () {
43779
43964
  Object.keys(model).forEach(function (key) {
43780
43965
  return Object.assign(_this, model[key]);
43781
43966
  });
43782
- Object.assign(this, plugins_title);
43783
- Object.assign(this, plugins_legend);
43784
- Object.assign(this, plugins_interaction);
43785
- Object.assign(this, plugins_tooltip);
43786
- Object.assign(this, plugins_pie);
43787
- Object.assign(this, element_tip);
43967
+
43968
+ if (!options.brush) {
43969
+ Object.assign(this, plugins_tooltip);
43970
+ Object.assign(this, plugins_interaction);
43971
+ Object.assign(this, element_tip);
43972
+ Object.assign(this, plugins_legend);
43973
+ Object.assign(this, plugins_pie);
43974
+ Object.assign(this, plugins_title);
43975
+ }
43788
43976
 
43789
43977
  if (options.type === 'heatMap' && options.legend.type === 'gradient') {
43790
43978
  Object.assign(this, plugins_legend_gradient);
43791
43979
  }
43792
43980
 
43981
+ this.brushSeries = brushSeries;
43793
43982
  this.target = target;
43794
43983
  this.data = data;
43795
43984
  this.options = options;
43796
43985
  this.listeners = listeners;
43797
43986
  this.wrapperDOM = document.createElement('div');
43798
- this.wrapperDOM.className = 'ev-chart-wrapper';
43987
+ this.wrapperDOM.className = options.brush ? 'ev-chart-brush-wrapper' : 'ev-chart-wrapper';
43799
43988
  this.chartDOM = document.createElement('div');
43800
- this.chartDOM.className = 'ev-chart-container';
43989
+ this.chartDOM.className = options.brush ? 'ev-chart-brush-container' : 'ev-chart-container';
43801
43990
  this.wrapperDOM.appendChild(this.chartDOM);
43802
43991
  this.target.appendChild(this.wrapperDOM);
43803
43992
  this.displayCanvas = document.createElement('canvas');
@@ -43806,16 +43995,21 @@ var chart_core_EvChart = /*#__PURE__*/function () {
43806
43995
  this.bufferCanvas = document.createElement('canvas');
43807
43996
  this.bufferCanvas.setAttribute('style', 'display: block;');
43808
43997
  this.bufferCtx = this.bufferCanvas.getContext('2d');
43809
- this.overlayCanvas = document.createElement('canvas');
43810
- this.overlayCanvas.setAttribute('style', 'display: block;');
43811
- this.overlayCtx = this.overlayCanvas.getContext('2d');
43812
43998
  this.pixelRatio = window.devicePixelRatio || 1;
43813
43999
  this.oldPixelRatio = this.pixelRatio;
43814
44000
  this.chartDOM.appendChild(this.displayCanvas);
43815
- this.chartDOM.appendChild(this.overlayCanvas);
43816
- this.overlayCanvas.style.position = 'absolute';
43817
- this.overlayCanvas.style.top = '0px';
43818
- this.overlayCanvas.style.left = '0px';
44001
+
44002
+ if (!options.brush) {
44003
+ this.overlayCanvas = document.createElement('canvas');
44004
+ this.overlayCanvas.setAttribute('style', 'display: block; z-index: 2;');
44005
+ this.overlayCanvas.setAttribute('class', 'overlay-canvas');
44006
+ this.overlayCtx = this.overlayCanvas.getContext('2d');
44007
+ this.chartDOM.appendChild(this.overlayCanvas);
44008
+ this.overlayCanvas.style.position = 'absolute';
44009
+ this.overlayCanvas.style.top = '0px';
44010
+ this.overlayCanvas.style.left = '0px';
44011
+ }
44012
+
43819
44013
  this.isInitLegend = false;
43820
44014
  this.isInitTitle = false;
43821
44015
  this.isInit = false;
@@ -43847,6 +44041,8 @@ var chart_core_EvChart = /*#__PURE__*/function () {
43847
44041
  _createClass(EvChart, [{
43848
44042
  key: "init",
43849
44043
  value: function init() {
44044
+ var _this$initSelectedInf, _this$createEventFunc;
44045
+
43850
44046
  var _this$data = this.data,
43851
44047
  series = _this$data.series,
43852
44048
  data = _this$data.data,
@@ -43871,7 +44067,7 @@ var chart_core_EvChart = /*#__PURE__*/function () {
43871
44067
  this.axesY = this.createAxes('y', axesY);
43872
44068
  this.axesRange = this.getAxesRange();
43873
44069
  this.labelOffset = this.getLabelOffset();
43874
- this.initSelectedInfo();
44070
+ (_this$initSelectedInf = this.initSelectedInfo) === null || _this$initSelectedInf === void 0 ? void 0 : _this$initSelectedInf.call(this);
43875
44071
  this.drawChart();
43876
44072
 
43877
44073
  if (tooltip.use) {
@@ -43882,7 +44078,7 @@ var chart_core_EvChart = /*#__PURE__*/function () {
43882
44078
  }
43883
44079
  }
43884
44080
 
43885
- this.createEventFunctions();
44081
+ (_this$createEventFunc = this.createEventFunctions) === null || _this$createEventFunc === void 0 ? void 0 : _this$createEventFunc.call(this);
43886
44082
  this.isInit = true;
43887
44083
  }
43888
44084
  /**
@@ -43951,7 +44147,9 @@ var chart_core_EvChart = /*#__PURE__*/function () {
43951
44147
  maxTip = _this$options2.maxTip,
43952
44148
  selectLabel = _this$options2.selectLabel,
43953
44149
  selectItem = _this$options2.selectItem,
43954
- selectSeries = _this$options2.selectSeries;
44150
+ selectSeries = _this$options2.selectSeries,
44151
+ brush = _this$options2.brush,
44152
+ displayOverflow = _this$options2.displayOverflow;
43955
44153
  var opt = {
43956
44154
  ctx: this.bufferCtx,
43957
44155
  chartRect: this.chartRect,
@@ -43969,7 +44167,9 @@ var chart_core_EvChart = /*#__PURE__*/function () {
43969
44167
  option: selectSeries,
43970
44168
  selected: this.defaultSelectInfo
43971
44169
  },
43972
- overlayCtx: this.overlayCtx
44170
+ overlayCtx: this.overlayCtx,
44171
+ isBrush: !!brush,
44172
+ displayOverflow: displayOverflow
43973
44173
  };
43974
44174
  var showIndex = 0;
43975
44175
  var showSeriesCount = 0;
@@ -44095,17 +44295,21 @@ var chart_core_EvChart = /*#__PURE__*/function () {
44095
44295
  }, {
44096
44296
  key: "drawTip",
44097
44297
  value: function drawTip() {
44298
+ var _this$drawTips;
44299
+
44098
44300
  var tipLocationInfo;
44099
44301
 
44100
44302
  if (this.lastHitInfo) {
44101
44303
  tipLocationInfo = this.lastHitInfo;
44102
44304
  } else if (this.defaultSelectItemInfo) {
44103
44305
  tipLocationInfo = this.getItem(this.defaultSelectItemInfo, false);
44306
+ } else if (this.defaultSelectInfo && this.options.selectLabel.use) {
44307
+ tipLocationInfo = this.getItem(this.defaultSelectInfo, false);
44104
44308
  } else {
44105
44309
  tipLocationInfo = null;
44106
44310
  }
44107
44311
 
44108
- this.drawTips(tipLocationInfo);
44312
+ (_this$drawTips = this.drawTips) === null || _this$drawTips === void 0 ? void 0 : _this$drawTips.call(this, tipLocationInfo);
44109
44313
  }
44110
44314
  /**
44111
44315
  * Create axes
@@ -44264,7 +44468,10 @@ var chart_core_EvChart = /*#__PURE__*/function () {
44264
44468
  }
44265
44469
 
44266
44470
  this.bufferCtx.scale(this.pixelRatio, this.pixelRatio);
44267
- this.overlayCtx.scale(this.pixelRatio, this.pixelRatio);
44471
+
44472
+ if (this.overlayCtx) {
44473
+ this.overlayCtx.scale(this.pixelRatio, this.pixelRatio);
44474
+ }
44268
44475
  }
44269
44476
  /**
44270
44477
  * Get chart DOM size and set canvas size
@@ -44358,8 +44565,11 @@ var chart_core_EvChart = /*#__PURE__*/function () {
44358
44565
  this.displayCanvas.style.width = "".concat(width, "px");
44359
44566
  this.bufferCanvas.width = width * this.pixelRatio;
44360
44567
  this.bufferCanvas.style.width = "".concat(width, "px");
44361
- this.overlayCanvas.width = width * this.pixelRatio;
44362
- this.overlayCanvas.style.width = "".concat(width, "px");
44568
+
44569
+ if (this.overlayCanvas) {
44570
+ this.overlayCanvas.width = width * this.pixelRatio;
44571
+ this.overlayCanvas.style.width = "".concat(width, "px");
44572
+ }
44363
44573
  }
44364
44574
  /**
44365
44575
  * Set canvas height
@@ -44379,8 +44589,11 @@ var chart_core_EvChart = /*#__PURE__*/function () {
44379
44589
  this.displayCanvas.style.height = "".concat(height, "px");
44380
44590
  this.bufferCanvas.height = height * this.pixelRatio;
44381
44591
  this.bufferCanvas.style.height = "".concat(height, "px");
44382
- this.overlayCanvas.height = height * this.pixelRatio;
44383
- this.overlayCanvas.style.height = "".concat(height, "px");
44592
+
44593
+ if (this.overlayCanvas) {
44594
+ this.overlayCanvas.height = height * this.pixelRatio;
44595
+ this.overlayCanvas.style.height = "".concat(height, "px");
44596
+ }
44384
44597
  }
44385
44598
  /**
44386
44599
  * Calculate labels offset from chart rect (Axis 영역을 벗어나는 label 크기 계산)
@@ -44468,6 +44681,8 @@ var chart_core_EvChart = /*#__PURE__*/function () {
44468
44681
  }, {
44469
44682
  key: "update",
44470
44683
  value: function update(updateInfo) {
44684
+ var _this$initSelectedInf2;
44685
+
44471
44686
  var options = this.options;
44472
44687
  var data = this.data.data;
44473
44688
  var labels = this.data.labels;
@@ -44563,7 +44778,7 @@ var chart_core_EvChart = /*#__PURE__*/function () {
44563
44778
  this.axesY = this.createAxes('y', options.axesY);
44564
44779
  this.axesRange = this.getAxesRange();
44565
44780
  this.labelOffset = this.getLabelOffset();
44566
- this.initSelectedInfo();
44781
+ (_this$initSelectedInf2 = this.initSelectedInfo) === null || _this$initSelectedInf2 === void 0 ? void 0 : _this$initSelectedInf2.call(this);
44567
44782
  this.render(updateInfo === null || updateInfo === void 0 ? void 0 : updateInfo.hitInfo);
44568
44783
  var isDragMove = this.dragInfo && this.drawSelectionArea;
44569
44784
 
@@ -44629,13 +44844,15 @@ var chart_core_EvChart = /*#__PURE__*/function () {
44629
44844
  }
44630
44845
  /**
44631
44846
  * Resize chart
44847
+ * @param {Function} promiseRes After evChart resize completes,
44848
+ * callback completion status with promiseRes to draw a Brush over it.
44632
44849
  *
44633
44850
  * @returns {undefined}
44634
44851
  */
44635
44852
 
44636
44853
  }, {
44637
44854
  key: "resize",
44638
- value: function resize() {
44855
+ value: function resize(promiseRes) {
44639
44856
  this.clear();
44640
44857
  this.bufferCtx.restore();
44641
44858
  this.bufferCtx.save();
@@ -44643,6 +44860,10 @@ var chart_core_EvChart = /*#__PURE__*/function () {
44643
44860
  this.initScale();
44644
44861
  this.chartRect = this.getChartRect();
44645
44862
  this.drawChart();
44863
+
44864
+ if (promiseRes) {
44865
+ promiseRes(true);
44866
+ }
44646
44867
  }
44647
44868
  /**
44648
44869
  * Render chart
@@ -44739,12 +44960,541 @@ var chart_core_EvChart = /*#__PURE__*/function () {
44739
44960
  }();
44740
44961
 
44741
44962
  /* harmony default export */ var chart_core = (chart_core_EvChart);
44963
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/components/chart/ChartToolbar.vue?vue&type=template&id=691b9473&scoped=true
44964
+
44965
+
44966
+
44967
+ var ChartToolbarvue_type_template_id_691b9473_scoped_true_withId = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withScopeId"])("data-v-691b9473");
44968
+
44969
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["pushScopeId"])("data-v-691b9473");
44970
+
44971
+ var ChartToolbarvue_type_template_id_691b9473_scoped_true_hoisted_1 = {
44972
+ class: "ev-chart__toolbar__wrapper"
44973
+ };
44974
+ var ChartToolbarvue_type_template_id_691b9473_scoped_true_hoisted_2 = {
44975
+ class: "ev-chart__toolbar__wrapper__icon"
44976
+ };
44977
+
44978
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["popScopeId"])();
44979
+
44980
+ var ChartToolbarvue_type_template_id_691b9473_scoped_true_render = /*#__PURE__*/ChartToolbarvue_type_template_id_691b9473_scoped_true_withId(function (_ctx, _cache, $props, $setup, $data, $options) {
44981
+ var _component_ev_icon = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("ev-icon");
44982
+
44983
+ return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])("div", ChartToolbarvue_type_template_id_691b9473_scoped_true_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])("div", ChartToolbarvue_type_template_id_691b9473_scoped_true_hoisted_2, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.$props.toolbar.items, function (option, iconType) {
44984
+ return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(_component_ev_icon, {
44985
+ key: "".concat(iconType, "-").concat(option.icon),
44986
+ class: iconType,
44987
+ icon: option.icon,
44988
+ size: option.size,
44989
+ title: option.title,
44990
+ onClick: function onClick($event) {
44991
+ return _ctx.$emit('onClickToolbar', $event, iconType);
44992
+ }
44993
+ }, null, 8, ["class", "icon", "size", "title", "onClick"]);
44994
+ }), 128))])]);
44995
+ });
44996
+ // CONCATENATED MODULE: ./src/components/chart/ChartToolbar.vue?vue&type=template&id=691b9473&scoped=true
44997
+
44998
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/components/chart/ChartToolbar.vue?vue&type=script&lang=js
44999
+ /* harmony default export */ var ChartToolbarvue_type_script_lang_js = ({
45000
+ name: 'EvChartToolbar',
45001
+ props: {
45002
+ toolbar: {
45003
+ type: Object,
45004
+ default: function _default() {
45005
+ return {};
45006
+ }
45007
+ }
45008
+ },
45009
+ emits: ['onClickToolbar']
45010
+ });
45011
+ // CONCATENATED MODULE: ./src/components/chart/ChartToolbar.vue?vue&type=script&lang=js
45012
+
45013
+ // EXTERNAL MODULE: ./src/components/chart/ChartToolbar.vue?vue&type=style&index=0&id=691b9473&lang=scss&scoped=true
45014
+ var ChartToolbarvue_type_style_index_0_id_691b9473_lang_scss_scoped_true = __webpack_require__("6938");
45015
+
45016
+ // CONCATENATED MODULE: ./src/components/chart/ChartToolbar.vue
45017
+
45018
+
45019
+
45020
+
45021
+
45022
+
45023
+
45024
+ const ChartToolbar_exports_ = /*#__PURE__*/exportHelper_default()(ChartToolbarvue_type_script_lang_js, [['render',ChartToolbarvue_type_template_id_691b9473_scoped_true_render],['__scopeId',"data-v-691b9473"]])
45025
+
45026
+ /* harmony default export */ var ChartToolbar = (ChartToolbar_exports_);
45027
+ // CONCATENATED MODULE: ./src/components/chart/chartZoom.core.js
45028
+
45029
+
45030
+
45031
+
45032
+
45033
+
45034
+
45035
+
45036
+
45037
+
45038
+
45039
+
45040
+
45041
+
45042
+
45043
+ var chartZoom_core_EvChartZoom = /*#__PURE__*/function () {
45044
+ function EvChartZoom(evChartInfo, evChartClone, evChartZoomOptions, evChartToolbarRef, isExecuteZoom, brushIdx, emitFunc) {
45045
+ _classCallCheck(this, EvChartZoom);
45046
+
45047
+ this.isExecuteZoom = isExecuteZoom;
45048
+ this.evChartProps = evChartInfo.props;
45049
+ this.evChartCloneData = evChartClone.data;
45050
+ this.brushIdx = brushIdx;
45051
+ this.setEvChartZoomOptions(evChartZoomOptions);
45052
+ this.setIcon(evChartToolbarRef);
45053
+ var cloneLabelsLastIdx = evChartClone.data[0].labels.length - 1;
45054
+ this.cloneLabelsLastIdx = cloneLabelsLastIdx;
45055
+ this.isAnimationFinish = true;
45056
+ this.zoomAreaMemory = {
45057
+ previous: [],
45058
+ current: [[0, cloneLabelsLastIdx]],
45059
+ latest: []
45060
+ };
45061
+
45062
+ if (emitFunc) {
45063
+ this.emitFunc = emitFunc;
45064
+ emitFunc.updateZoomStartIdx(0);
45065
+ emitFunc.updateZoomEndIdx(cloneLabelsLastIdx);
45066
+ }
45067
+
45068
+ this.wrapWheelMoveZoomArea = this.wheelMoveZoomArea.bind(this);
45069
+ this.evChartDomContainers = this.drawAnimationCanvas(evChartInfo.dom);
45070
+ }
45071
+
45072
+ _createClass(EvChartZoom, [{
45073
+ key: "setEvChartZoomOptions",
45074
+ value: function setEvChartZoomOptions(options) {
45075
+ this.evChartZoomOptions = options;
45076
+ }
45077
+ }, {
45078
+ key: "setIcon",
45079
+ value: function setIcon(evChartToolbarRef) {
45080
+ if (!evChartToolbarRef) {
45081
+ return;
45082
+ }
45083
+
45084
+ var dragZoomIcon = evChartToolbarRef.querySelector('.dragZoom');
45085
+ this.resetIcon = evChartToolbarRef.querySelector('.reset');
45086
+ this.previousIcon = evChartToolbarRef.querySelector('.previous');
45087
+ this.latestIcon = evChartToolbarRef.querySelector('.latest');
45088
+ this.dragZoomIcon = dragZoomIcon;
45089
+ this.iconStyle(dragZoomIcon, 'enable');
45090
+ }
45091
+ }, {
45092
+ key: "drawAnimationCanvas",
45093
+ value: function drawAnimationCanvas(evChartDom) {
45094
+ evChartDom.forEach(function (dom) {
45095
+ var animationCanvas = document.createElement('canvas');
45096
+ animationCanvas.setAttribute('style', 'display: block;');
45097
+ animationCanvas.setAttribute('class', 'animation-canvas');
45098
+ animationCanvas.style.position = 'absolute';
45099
+ dom.appendChild(animationCanvas);
45100
+ });
45101
+ return evChartDom;
45102
+ }
45103
+ }, {
45104
+ key: "setEventListener",
45105
+ value: function setEventListener(isUseZoomMode) {
45106
+ var _this = this;
45107
+
45108
+ var toggleEventListener = isUseZoomMode ? 'addEventListener' : 'removeEventListener';
45109
+ this.isUseZoomMode = isUseZoomMode;
45110
+ this.evChartDomContainers.forEach(function (dom) {
45111
+ dom[toggleEventListener]('wheel', _this.wrapWheelMoveZoomArea);
45112
+ });
45113
+ }
45114
+ }, {
45115
+ key: "wheelMoveZoomArea",
45116
+ value: function wheelMoveZoomArea(e) {
45117
+ e.preventDefault();
45118
+
45119
+ var _this$zoomAreaMemory$ = _slicedToArray(this.zoomAreaMemory.current[0], 2),
45120
+ zoomStartIdx = _this$zoomAreaMemory$[0],
45121
+ zoomEndIdx = _this$zoomAreaMemory$[1];
45122
+
45123
+ if (zoomStartIdx === zoomEndIdx) {
45124
+ return;
45125
+ }
45126
+
45127
+ var zoomMoveStartIdx;
45128
+ var zoomMoveEndIdx;
45129
+
45130
+ if (e.deltaY > 0) {
45131
+ if (!zoomStartIdx) {
45132
+ return;
45133
+ }
45134
+
45135
+ zoomMoveStartIdx = zoomStartIdx - 1;
45136
+ zoomMoveEndIdx = zoomEndIdx - 1;
45137
+ } else {
45138
+ if (zoomEndIdx === this.cloneLabelsLastIdx) {
45139
+ return;
45140
+ }
45141
+
45142
+ zoomMoveStartIdx = zoomStartIdx + 1;
45143
+ zoomMoveEndIdx = zoomEndIdx + 1;
45144
+ }
45145
+
45146
+ this.isUseToolbar = true;
45147
+ this.executeZoom(zoomMoveStartIdx, zoomMoveEndIdx);
45148
+ this.zoomAreaMemory.current[0] = [zoomMoveStartIdx, zoomMoveEndIdx];
45149
+ }
45150
+ }, {
45151
+ key: "clickMoveZoomArea",
45152
+ value: function clickMoveZoomArea(direction) {
45153
+ if (!this.zoomAreaMemory[direction].length) {
45154
+ return;
45155
+ }
45156
+
45157
+ var _this$zoomAreaMemory$2 = this.zoomAreaMemory[direction].pop(),
45158
+ _this$zoomAreaMemory$3 = _slicedToArray(_this$zoomAreaMemory$2, 2),
45159
+ zoomStartIdx = _this$zoomAreaMemory$3[0],
45160
+ zoomEndIdx = _this$zoomAreaMemory$3[1];
45161
+
45162
+ this.isUseToolbar = true;
45163
+ this.executeZoom(zoomStartIdx, zoomEndIdx);
45164
+ this.setZoomAreaMemory(zoomStartIdx, zoomEndIdx, direction === 'previous' ? 'latest' : 'previous');
45165
+ }
45166
+ }, {
45167
+ key: "dragZoom",
45168
+ value: function dragZoom(_ref) {
45169
+ var zoomInfoData = _ref.data,
45170
+ dragSelectionInfo = _ref.range.dragSelectionInfo;
45171
+ var dragXsp = dragSelectionInfo.dragXsp,
45172
+ dragXep = dragSelectionInfo.dragXep,
45173
+ exceptAxesYChartWidth = dragSelectionInfo.exceptAxesYChartWidth,
45174
+ chartTitle = dragSelectionInfo.chartTitle;
45175
+ var _this$evChartProps = this.evChartProps,
45176
+ evChartOptions = _this$evChartProps.options,
45177
+ evChartData = _this$evChartProps.data;
45178
+ var dragChartIdx = evChartOptions.length > 1 ? evChartOptions.findIndex(function (option) {
45179
+ var _option$title$text, _option$title;
45180
+
45181
+ return ((_option$title$text = option === null || option === void 0 ? void 0 : (_option$title = option.title) === null || _option$title === void 0 ? void 0 : _option$title.text) !== null && _option$title$text !== void 0 ? _option$title$text : '') === chartTitle;
45182
+ }) : 0;
45183
+
45184
+ if (evChartOptions[dragChartIdx].axesX[0].type === 'time') {
45185
+ var zoomSeries = zoomInfoData[0].items;
45186
+ var zoomStartDate = zoomSeries[0].x;
45187
+ var zoomEndDate = zoomSeries[zoomSeries.length - 1].x;
45188
+ var currentChartDataLabels = evChartData[dragChartIdx].labels;
45189
+ var cloneChartDataLabels = this.evChartCloneData[dragChartIdx].labels;
45190
+
45191
+ var _this$zoomAreaMemory$4 = _slicedToArray(this.zoomAreaMemory.current[0], 2),
45192
+ currentZoomStartIdx = _this$zoomAreaMemory$4[0],
45193
+ currentZoomEndIdx = _this$zoomAreaMemory$4[1];
45194
+
45195
+ var newZoomStartIdx = cloneChartDataLabels.findIndex(function (label) {
45196
+ return +label.$d === +zoomStartDate.$d;
45197
+ });
45198
+ var newZoomEndIdx = cloneChartDataLabels.findLastIndex(function (label) {
45199
+ return +label.$d === +zoomEndDate.$d;
45200
+ });
45201
+
45202
+ var calculateAxesXPosition = function calculateAxesXPosition(zoomIdx) {
45203
+ var axesXInterval = exceptAxesYChartWidth / (currentChartDataLabels.length - 1);
45204
+ return axesXInterval * (zoomIdx - currentZoomStartIdx);
45205
+ };
45206
+
45207
+ var newDragStartAxesX = calculateAxesXPosition(newZoomStartIdx);
45208
+
45209
+ if (newZoomStartIdx === newZoomEndIdx) {
45210
+ // drag 영역에 한 포인트만 있을 경우
45211
+ if (newDragStartAxesX - dragXsp >= dragXep - newDragStartAxesX) {
45212
+ newZoomStartIdx -= 1;
45213
+ } else {
45214
+ newZoomEndIdx += 1;
45215
+ }
45216
+ }
45217
+
45218
+ if (newZoomStartIdx === currentZoomStartIdx && newZoomEndIdx === currentZoomEndIdx) {
45219
+ return;
45220
+ }
45221
+
45222
+ if (newZoomStartIdx - newZoomEndIdx === -1) {
45223
+ newDragStartAxesX = calculateAxesXPosition(newZoomStartIdx);
45224
+ }
45225
+
45226
+ var newDragEndAxesX = calculateAxesXPosition(newZoomEndIdx);
45227
+ this.dragZoomAnimation(dragSelectionInfo, newZoomStartIdx, newZoomEndIdx, newDragStartAxesX, newDragEndAxesX);
45228
+ }
45229
+ }
45230
+ }, {
45231
+ key: "dragZoomAnimation",
45232
+ value: function dragZoomAnimation(dragSelectionInfo, newZoomStartIdx, newZoomEndIdx, newDragStartAxesX, newDragEndAxesX) {
45233
+ var _this2 = this;
45234
+
45235
+ var chartRange = dragSelectionInfo.chartRange,
45236
+ exceptAxesYChartWidth = dragSelectionInfo.exceptAxesYChartWidth,
45237
+ exceptAxesXChartHeight = dragSelectionInfo.exceptAxesXChartHeight;
45238
+ var pixelRatio = window.devicePixelRatio || 1;
45239
+ var displayAnimaionCanvas = Array.from(this.evChartDomContainers).map(function (container) {
45240
+ var animationCanvas = container.querySelector('.animation-canvas');
45241
+ var displayCanvas = container.children[0];
45242
+ return [displayCanvas, animationCanvas];
45243
+ });
45244
+
45245
+ var _loop = function _loop(idx) {
45246
+ var _displayAnimaionCanva = _slicedToArray(displayAnimaionCanvas[idx], 2),
45247
+ displayCanvas = _displayAnimaionCanva[0],
45248
+ animationCanvas = _displayAnimaionCanva[1];
45249
+
45250
+ var animationCtx = animationCanvas.getContext('2d');
45251
+ animationCanvas.style.top = "".concat(chartRange.y1, "px");
45252
+ animationCanvas.style.left = "".concat(chartRange.x1, "px");
45253
+ animationCanvas.width = exceptAxesYChartWidth * pixelRatio;
45254
+ animationCanvas.style.width = "".concat(exceptAxesYChartWidth, "px");
45255
+ animationCanvas.height = exceptAxesXChartHeight * pixelRatio;
45256
+ animationCanvas.style.height = "".concat(exceptAxesXChartHeight, "px");
45257
+
45258
+ if (animationCanvas.style.display === 'none') {
45259
+ animationCanvas.style.display = 'block';
45260
+ }
45261
+
45262
+ _this2.isAnimationFinish = false;
45263
+ _this2.isUseToolbar = true;
45264
+
45265
+ _this2.executeDragZoomAnimation(displayCanvas, animationCtx, dragSelectionInfo, newDragStartAxesX, newDragEndAxesX).then(function (isAnimationFinish) {
45266
+ animationCanvas.style.display = 'none';
45267
+
45268
+ if (isAnimationFinish && idx === displayAnimaionCanvas.length - 1) {
45269
+ _this2.isAnimationFinish = isAnimationFinish;
45270
+
45271
+ _this2.executeZoom(newZoomStartIdx, newZoomEndIdx);
45272
+
45273
+ _this2.setZoomAreaMemory(newZoomStartIdx, newZoomEndIdx);
45274
+ }
45275
+ });
45276
+ };
45277
+
45278
+ for (var idx = 0; idx < displayAnimaionCanvas.length; idx++) {
45279
+ _loop(idx);
45280
+ }
45281
+ }
45282
+ }, {
45283
+ key: "executeZoom",
45284
+ value: function executeZoom(zoomStartIdx, zoomEndIdx) {
45285
+ if (this.isExecuteZoom) {
45286
+ this.isExecuteZoom.value = true;
45287
+ }
45288
+
45289
+ for (var idx = 0; idx < this.evChartCloneData.length; idx++) {
45290
+ var _this$evChartCloneDat = this.evChartCloneData[idx],
45291
+ cloneData = _this$evChartCloneDat.data,
45292
+ cloneLabels = _this$evChartCloneDat.labels,
45293
+ cloneSeries = _this$evChartCloneDat.series;
45294
+ var evChartData = this.evChartProps.data[idx];
45295
+ var cloneSeriesNames = Object.keys(cloneSeries);
45296
+
45297
+ for (var jdx = 0; jdx < cloneSeriesNames.length; jdx++) {
45298
+ var cloneSeriesName = cloneSeriesNames[jdx];
45299
+ evChartData.data[cloneSeriesName] = cloneData[cloneSeriesName].filter(function (d, dataIdx) {
45300
+ return zoomStartIdx <= dataIdx && zoomEndIdx >= dataIdx;
45301
+ });
45302
+ }
45303
+
45304
+ evChartData.labels = cloneLabels.filter(function (l, labelIdx) {
45305
+ return zoomStartIdx <= labelIdx && zoomEndIdx >= labelIdx;
45306
+ });
45307
+ }
45308
+
45309
+ if (!this.brushIdx.isUseButton && !this.brushIdx.isUseScroll) {
45310
+ this.brushIdx.start = zoomStartIdx;
45311
+ this.brushIdx.end = zoomEndIdx;
45312
+ }
45313
+
45314
+ if (this.emitFunc) {
45315
+ this.emitFunc.updateZoomStartIdx(zoomStartIdx);
45316
+ this.emitFunc.updateZoomEndIdx(zoomEndIdx);
45317
+ }
45318
+ }
45319
+ }, {
45320
+ key: "updateEvChartCloneData",
45321
+ value: function updateEvChartCloneData(evChartClone, isUseZoomMode) {
45322
+ var cloneLabelsLastIdx = evChartClone.data[0].labels.length - 1;
45323
+ this.cloneLabelsLastIdx = cloneLabelsLastIdx;
45324
+ this.evChartCloneData = evChartClone.data;
45325
+
45326
+ if (this.dragZoomIcon) {
45327
+ this.dragZoomIcon.classList.remove('active');
45328
+ }
45329
+
45330
+ this.zoomAreaMemory = {
45331
+ previous: [],
45332
+ current: [[0, cloneLabelsLastIdx]],
45333
+ latest: []
45334
+ };
45335
+
45336
+ if (this.emitFunc) {
45337
+ this.emitFunc.updateZoomStartIdx(0);
45338
+ this.emitFunc.updateZoomEndIdx(cloneLabelsLastIdx);
45339
+ }
45340
+
45341
+ this.setIconStyle(isUseZoomMode);
45342
+ }
45343
+ }, {
45344
+ key: "setZoomAreaMemory",
45345
+ value: function setZoomAreaMemory(zoomStartIdx, zoomEndIdx, direction) {
45346
+ var _this$zoomAreaMemory = this.zoomAreaMemory,
45347
+ previous = _this$zoomAreaMemory.previous,
45348
+ current = _this$zoomAreaMemory.current,
45349
+ latest = _this$zoomAreaMemory.latest;
45350
+ var currentZoomArea = current.pop();
45351
+ var bufferMemoryCnt = this.evChartZoomOptions.zoom.bufferMemoryCnt;
45352
+
45353
+ if (direction) {
45354
+ if (previous.length >= bufferMemoryCnt) {
45355
+ previous.splice(0, previous.length - bufferMemoryCnt + 1);
45356
+ }
45357
+
45358
+ this.zoomAreaMemory[direction].push(currentZoomArea);
45359
+ } else {
45360
+ previous.push(currentZoomArea);
45361
+ latest.length = 0;
45362
+ }
45363
+
45364
+ current.push([zoomStartIdx, zoomEndIdx]);
45365
+ this.setIconStyle(this.isUseZoomMode);
45366
+ }
45367
+ }, {
45368
+ key: "executeDragZoomAnimation",
45369
+ value: function executeDragZoomAnimation(displayCanvas, animationCtx, dragSelectionInfo, newDragStartAxesX, newDragEndAxesX) {
45370
+ var chartRange = dragSelectionInfo.chartRange,
45371
+ exceptAxesYChartWidth = dragSelectionInfo.exceptAxesYChartWidth,
45372
+ exceptAxesXChartHeight = dragSelectionInfo.exceptAxesXChartHeight;
45373
+ var leftDx = 0;
45374
+ var centerDx = newDragStartAxesX;
45375
+ var centerDWidth = newDragEndAxesX - newDragStartAxesX;
45376
+ var rightDx = newDragEndAxesX;
45377
+ var globalAlpha = 1;
45378
+ var globalAlphaSensitivity = 0.0015;
45379
+ var evChartOpacity = 0.5;
45380
+ var evChartMinOpacity = 0.1;
45381
+ var evChartOpacitySensitivity = 0.05;
45382
+ var zoomSpeed = 50;
45383
+ var leftSpeed = Math.ceil(zoomSpeed * (newDragStartAxesX / exceptAxesYChartWidth));
45384
+ var rightSpeed = Math.ceil(zoomSpeed * ((exceptAxesYChartWidth - newDragEndAxesX) / exceptAxesYChartWidth));
45385
+
45386
+ var animate = function animate(responseFinishStatus) {
45387
+ animationCtx.clearRect(0, 0, exceptAxesYChartWidth, exceptAxesXChartHeight);
45388
+
45389
+ if (centerDx <= 0 && centerDWidth >= exceptAxesYChartWidth) {
45390
+ displayCanvas.style.opacity = 'initial';
45391
+ return responseFinishStatus(true);
45392
+ }
45393
+
45394
+ if (evChartOpacity >= evChartMinOpacity) {
45395
+ displayCanvas.style.opacity = evChartOpacity;
45396
+ evChartOpacity -= evChartOpacitySensitivity;
45397
+ }
45398
+
45399
+ animationCtx.globalAlpha = globalAlpha; // 줌 영역 왼쪽
45400
+
45401
+ animationCtx.drawImage(displayCanvas, chartRange.x1, chartRange.y1, newDragStartAxesX, exceptAxesXChartHeight, leftDx, 0, newDragStartAxesX, exceptAxesXChartHeight); // 줌 영역
45402
+
45403
+ animationCtx.drawImage(displayCanvas, chartRange.x1 + newDragStartAxesX, chartRange.y1, newDragEndAxesX - newDragStartAxesX, exceptAxesXChartHeight, centerDx, 0, centerDWidth, exceptAxesXChartHeight); // 줌 영역 오른쪽
45404
+
45405
+ animationCtx.drawImage(displayCanvas, chartRange.x1 + newDragEndAxesX, chartRange.y1, exceptAxesYChartWidth, exceptAxesXChartHeight, rightDx, 0, exceptAxesYChartWidth, exceptAxesXChartHeight);
45406
+ globalAlpha -= globalAlphaSensitivity;
45407
+ leftDx -= leftSpeed;
45408
+ centerDx -= leftSpeed;
45409
+ centerDWidth += leftSpeed + rightSpeed;
45410
+ rightDx += rightSpeed;
45411
+ return requestAnimationFrame(function () {
45412
+ return animate(responseFinishStatus);
45413
+ });
45414
+ };
45415
+
45416
+ return new Promise(function (response) {
45417
+ return animate(response);
45418
+ });
45419
+ }
45420
+ }, {
45421
+ key: "setIconStyle",
45422
+ value: function setIconStyle(isUseZoomMode) {
45423
+ var _this3 = this;
45424
+
45425
+ var toggleIconStyle = function toggleIconStyle(icon, condition) {
45426
+ if (condition) {
45427
+ _this3.iconStyle(icon, 'enable');
45428
+ } else {
45429
+ _this3.iconStyle(icon, 'disable');
45430
+ }
45431
+ };
45432
+
45433
+ if (isUseZoomMode) {
45434
+ var _this$zoomAreaMemory2 = this.zoomAreaMemory,
45435
+ previous = _this$zoomAreaMemory2.previous,
45436
+ latest = _this$zoomAreaMemory2.latest;
45437
+ toggleIconStyle(this.previousIcon, previous.length);
45438
+ toggleIconStyle(this.latestIcon, latest.length);
45439
+ this.iconStyle(this.resetIcon, 'enable');
45440
+ } else {
45441
+ toggleIconStyle(this.resetIcon);
45442
+ toggleIconStyle(this.previousIcon);
45443
+ toggleIconStyle(this.latestIcon);
45444
+ }
45445
+ }
45446
+ }, {
45447
+ key: "iconStyle",
45448
+ value: function iconStyle(icon, mode) {
45449
+ if (!icon) {
45450
+ return;
45451
+ }
45452
+
45453
+ var _ref2 = mode === 'enable' ? [1, 'initial'] : [0.5, 'none'],
45454
+ _ref3 = _slicedToArray(_ref2, 2),
45455
+ opacity = _ref3[0],
45456
+ pointerEvents = _ref3[1];
45457
+
45458
+ icon.style.opacity = opacity;
45459
+ icon.style.pointerEvents = pointerEvents;
45460
+ }
45461
+ }, {
45462
+ key: "initZoom",
45463
+ value: function initZoom() {
45464
+ if (!this.isAnimationFinish) {
45465
+ return;
45466
+ }
45467
+
45468
+ var _this$zoomAreaMemory$5 = _slicedToArray(this.zoomAreaMemory.current[0], 2),
45469
+ currentZoomStartIdx = _this$zoomAreaMemory$5[0],
45470
+ currentZoomEndIdx = _this$zoomAreaMemory$5[1];
45471
+
45472
+ var cloneLabelsLastIdx = this.cloneLabelsLastIdx;
45473
+
45474
+ if (currentZoomStartIdx !== 0 || currentZoomEndIdx !== cloneLabelsLastIdx) {
45475
+ this.isUseToolbar = true;
45476
+ this.executeZoom(0, cloneLabelsLastIdx);
45477
+ this.setZoomAreaMemory(0, cloneLabelsLastIdx);
45478
+ }
45479
+ }
45480
+ }]);
45481
+
45482
+ return EvChartZoom;
45483
+ }();
45484
+
45485
+
44742
45486
  // CONCATENATED MODULE: ./src/components/chart/uses.js
44743
45487
 
44744
45488
 
44745
45489
 
44746
45490
 
44747
45491
 
45492
+
45493
+
45494
+
45495
+
45496
+
45497
+
44748
45498
  var DEFAULT_OPTIONS = {
44749
45499
  padding: {
44750
45500
  top: 20,
@@ -44873,6 +45623,7 @@ var DEFAULT_OPTIONS = {
44873
45623
  selectLabel: {
44874
45624
  use: false,
44875
45625
  useClick: true,
45626
+ tipText: 'value',
44876
45627
  limit: 1,
44877
45628
  useDeselectOverflow: false,
44878
45629
  showTip: false,
@@ -44880,7 +45631,18 @@ var DEFAULT_OPTIONS = {
44880
45631
  useLabelOpacity: true,
44881
45632
  fixedPosTop: false,
44882
45633
  useApproximateValue: false,
44883
- tipBackground: '#000000'
45634
+ tipBackground: '#000000',
45635
+ indicatorColor: '#000000',
45636
+ tipStyle: {
45637
+ height: 20,
45638
+ background: '#000000',
45639
+ textColor: '#FFFFFF',
45640
+ fontSize: 14,
45641
+ fontFamily: 'Roboto',
45642
+ fontWeight: 400
45643
+ },
45644
+ showTextTip: false,
45645
+ showIndicator: false
44884
45646
  },
44885
45647
  selectSeries: {
44886
45648
  use: false,
@@ -44894,6 +45656,34 @@ var DEFAULT_OPTIONS = {
44894
45656
  fillColor: '#38ACEC',
44895
45657
  opacity: 0.65
44896
45658
  },
45659
+ zoom: {
45660
+ bufferMemoryCnt: 100,
45661
+ toolbar: {
45662
+ show: false,
45663
+ items: {
45664
+ previous: {
45665
+ icon: 'ev-icon-allow2-left',
45666
+ size: 'medium',
45667
+ title: 'Previous'
45668
+ },
45669
+ latest: {
45670
+ icon: 'ev-icon-allow2-right',
45671
+ size: 'medium',
45672
+ title: 'Latest'
45673
+ },
45674
+ reset: {
45675
+ icon: 'ev-icon-redo',
45676
+ size: 'medium',
45677
+ title: 'Reset'
45678
+ },
45679
+ dragZoom: {
45680
+ icon: 'ev-icon-zoomin',
45681
+ size: 'medium',
45682
+ title: 'Drag Zoom'
45683
+ }
45684
+ }
45685
+ }
45686
+ },
44897
45687
  heatMapColor: {
44898
45688
  min: '#FFFFFF',
44899
45689
  max: '#0052FF',
@@ -44915,7 +45705,9 @@ var DEFAULT_DATA = {
44915
45705
  labels: [],
44916
45706
  data: {}
44917
45707
  };
44918
- var chart_uses_useModel = function useModel() {
45708
+ var chart_uses_useModel = function useModel(selectedLabel) {
45709
+ var _props$selectedLabel;
45710
+
44919
45711
  var _getCurrentInstance = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["getCurrentInstance"])(),
44920
45712
  props = _getCurrentInstance.props,
44921
45713
  emit = _getCurrentInstance.emit;
@@ -44944,7 +45736,7 @@ var chart_uses_useModel = function useModel() {
44944
45736
  };
44945
45737
 
44946
45738
  var selectItemInfo = lodash_es_cloneDeep(props.selectedItem);
44947
- var selectLabelInfo = lodash_es_cloneDeep(props.selectedLabel);
45739
+ var selectLabelInfo = lodash_es_cloneDeep((_props$selectedLabel = props.selectedLabel) !== null && _props$selectedLabel !== void 0 ? _props$selectedLabel : selectedLabel === null || selectedLabel === void 0 ? void 0 : selectedLabel.value);
44948
45740
  var selectSeriesInfo = lodash_es_cloneDeep(props.selectedSeries);
44949
45741
  var eventListeners = {
44950
45742
  click: function () {
@@ -44967,9 +45759,13 @@ var chart_uses_useModel = function useModel() {
44967
45759
  }
44968
45760
 
44969
45761
  if ((_e$selected = e.selected) !== null && _e$selected !== void 0 && _e$selected.dataIndex) {
44970
- emit('update:selectedLabel', {
44971
- dataIndex: e.selected.dataIndex
44972
- });
45762
+ if (selectedLabel !== null && selectedLabel !== void 0 && selectedLabel.value) {
45763
+ selectedLabel.value.dataIndex = e.selected.dataIndex;
45764
+ } else {
45765
+ emit('update:selectedLabel', {
45766
+ dataIndex: e.selected.dataIndex
45767
+ });
45768
+ }
44973
45769
  }
44974
45770
 
44975
45771
  if ((_e$selected2 = e.selected) !== null && _e$selected2 !== void 0 && _e$selected2.seriesId) {
@@ -45081,6 +45877,271 @@ var uses_useWrapper = function useWrapper(options) {
45081
45877
  wrapperStyle: wrapperStyle
45082
45878
  };
45083
45879
  };
45880
+ var uses_useZoomModel = function useZoomModel(evChartNormalizedOptions, _ref, selectedLabelOrItem) {
45881
+ var evChartWrapper = _ref.wrapper,
45882
+ evChartGroupRef = _ref.evChartGroupRef;
45883
+
45884
+ var _getCurrentInstance2 = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["getCurrentInstance"])(),
45885
+ props = _getCurrentInstance2.props,
45886
+ slots = _getCurrentInstance2.slots,
45887
+ emit = _getCurrentInstance2.emit;
45888
+
45889
+ var isExecuteZoom = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(false);
45890
+ var isUseZoomMode = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(false);
45891
+ var evChartToolbarRef = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])();
45892
+ var evChartZoomOptions = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["reactive"])({
45893
+ zoom: evChartNormalizedOptions.zoom
45894
+ });
45895
+ var brushIdx = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["reactive"])({
45896
+ start: 0,
45897
+ end: 0,
45898
+ isUseButton: false,
45899
+ isUseScroll: false
45900
+ });
45901
+ var evChartZoom = null;
45902
+ var evChartInfo = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["reactive"])({
45903
+ dom: [],
45904
+ props: {
45905
+ data: [],
45906
+ options: []
45907
+ }
45908
+ });
45909
+ var evChartClone = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["reactive"])({
45910
+ data: null,
45911
+ options: null
45912
+ });
45913
+
45914
+ var getRangeInfo = function getRangeInfo(zoomInfo) {
45915
+ if (zoomInfo.data.length && zoomInfo.range && isUseZoomMode.value) {
45916
+ evChartZoom.dragZoom(zoomInfo);
45917
+ }
45918
+ };
45919
+
45920
+ var setEvChartOptions = function setEvChartOptions() {
45921
+ evChartInfo.props.options.forEach(function (option, idx) {
45922
+ option.zoom = _objectSpread2(_objectSpread2({}, option.zoom), {}, {
45923
+ use: isUseZoomMode.value,
45924
+ getRangeInfo: getRangeInfo
45925
+ });
45926
+
45927
+ if (isUseZoomMode.value) {
45928
+ option.dragSelection = _objectSpread2(_objectSpread2({}, option.dragSelection), {}, {
45929
+ use: true,
45930
+ keepDisplay: false
45931
+ });
45932
+ } else {
45933
+ var _evChartClone$options;
45934
+
45935
+ var _ref2 = (_evChartClone$options = evChartClone.options[idx].dragSelection) !== null && _evChartClone$options !== void 0 ? _evChartClone$options : {},
45936
+ originUseOption = _ref2.use,
45937
+ originKeepDisplayOption = _ref2.keepDisplay;
45938
+
45939
+ option.dragSelection = {
45940
+ use: !!originUseOption,
45941
+ keepDisplay: !!originKeepDisplayOption
45942
+ };
45943
+ }
45944
+ });
45945
+ };
45946
+
45947
+ var createEvChartZoom = function createEvChartZoom() {
45948
+ if (evChartGroupRef) {
45949
+ evChartInfo.dom = evChartGroupRef.value.querySelectorAll('.ev-chart-container');
45950
+ var chartIdx = 0;
45951
+
45952
+ if (evChartInfo.dom.length) {
45953
+ slots.default(evChartInfo.dom).forEach(function (_ref3) {
45954
+ var type = _ref3.type,
45955
+ evChartProps = _ref3.props;
45956
+
45957
+ if ((type === null || type === void 0 ? void 0 : type.name) === 'EvChart') {
45958
+ var options = evChartProps.options,
45959
+ data = evChartProps.data;
45960
+ data.chartIdx = chartIdx;
45961
+ chartIdx++;
45962
+ evChartInfo.props.data.push(data);
45963
+ evChartInfo.props.options.push(options);
45964
+ }
45965
+ });
45966
+ }
45967
+ } else {
45968
+ evChartInfo.dom = [evChartWrapper.value.querySelector('.ev-chart-container')];
45969
+ evChartInfo.props.data.push(props.data);
45970
+ evChartInfo.props.options.push(props.options);
45971
+ }
45972
+
45973
+ if (evChartInfo.props.data.length) {
45974
+ evChartClone.data = lodash_es_cloneDeep(evChartInfo.props.data);
45975
+ evChartClone.options = lodash_es_cloneDeep(evChartInfo.props.options);
45976
+ var emitFunc = {
45977
+ updateZoomStartIdx: function updateZoomStartIdx(startIdx) {
45978
+ return emit('update:zoomStartIdx', startIdx);
45979
+ },
45980
+ updateZoomEndIdx: function updateZoomEndIdx(endIdx) {
45981
+ return emit('update:zoomEndIdx', endIdx);
45982
+ }
45983
+ };
45984
+ evChartZoom = new chartZoom_core_EvChartZoom(evChartInfo, evChartClone, evChartZoomOptions, evChartToolbarRef.value, isExecuteZoom, brushIdx, emitFunc);
45985
+ }
45986
+ };
45987
+
45988
+ var toggleUseZoom = function toggleUseZoom(target) {
45989
+ if (evChartClone.data[0].labels.length <= 1) {
45990
+ return;
45991
+ }
45992
+
45993
+ isUseZoomMode.value = !isUseZoomMode.value;
45994
+
45995
+ if (target) {
45996
+ target.classList.toggle('active');
45997
+ } else {
45998
+ var dragZoomIcon = evChartToolbarRef.value.querySelector('.dragZoom');
45999
+ dragZoomIcon.classList.toggle('active');
46000
+ }
46001
+
46002
+ setEvChartOptions();
46003
+ evChartZoom.setIconStyle(isUseZoomMode.value);
46004
+ evChartZoom.setEventListener(isUseZoomMode.value);
46005
+ };
46006
+
46007
+ var onClickToolbar = function onClickToolbar(e, iconType) {
46008
+ if (!evChartZoom.isAnimationFinish) {
46009
+ return;
46010
+ }
46011
+
46012
+ switch (iconType) {
46013
+ case 'dragZoom':
46014
+ toggleUseZoom(e.target);
46015
+ break;
46016
+
46017
+ case 'reset':
46018
+ evChartZoom.initZoom();
46019
+ break;
46020
+
46021
+ case 'previous':
46022
+ case 'latest':
46023
+ evChartZoom.clickMoveZoomArea(iconType);
46024
+ break;
46025
+
46026
+ default:
46027
+ break;
46028
+ }
46029
+ };
46030
+
46031
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onUpdated"])(function () {
46032
+ if (evChartToolbarRef.value) {
46033
+ evChartZoom.setIcon(evChartToolbarRef.value);
46034
+ }
46035
+ });
46036
+
46037
+ var setOptionsForUseZoom = function setOptionsForUseZoom(newOpt) {
46038
+ var isUpdateZoomOptions = !lodash_es_isEqual(newOpt.zoom, evChartZoomOptions.zoom);
46039
+
46040
+ if (isUpdateZoomOptions) {
46041
+ evChartZoomOptions.zoom = newOpt.zoom;
46042
+
46043
+ if (evChartZoom) {
46044
+ if (!evChartZoomOptions.zoom.toolbar.show && isUseZoomMode.value) {
46045
+ toggleUseZoom();
46046
+ }
46047
+
46048
+ evChartZoom.setEvChartZoomOptions(evChartZoomOptions);
46049
+ } else if (evChartZoomOptions.zoom.toolbar.show && !evChartGroupRef) {
46050
+ createEvChartZoom();
46051
+ }
46052
+ }
46053
+ };
46054
+
46055
+ var setDataForUseZoom = function setDataForUseZoom(newData) {
46056
+ if (!isExecuteZoom.value) {
46057
+ evChartClone.data = evChartGroupRef ? lodash_es_cloneDeep(newData) : [lodash_es_cloneDeep(newData)];
46058
+ isUseZoomMode.value = false;
46059
+ setEvChartOptions();
46060
+ brushIdx.start = 0;
46061
+ brushIdx.end = evChartClone.data[0].labels.length - 1;
46062
+
46063
+ if (evChartZoom) {
46064
+ evChartZoom.updateEvChartCloneData(evChartClone, isUseZoomMode.value);
46065
+ }
46066
+ }
46067
+
46068
+ isExecuteZoom.value = false;
46069
+ };
46070
+
46071
+ var controlZoomIdx = function controlZoomIdx(zoomStartIdx, zoomEndIdx) {
46072
+ if (evChartZoom.isUseToolbar) {
46073
+ evChartZoom.isUseToolbar = false;
46074
+ return;
46075
+ }
46076
+
46077
+ if (isUseZoomMode.value) {
46078
+ evChartZoom.executeZoom(zoomStartIdx, zoomEndIdx);
46079
+ evChartZoom.setZoomAreaMemory(zoomStartIdx, zoomEndIdx);
46080
+ }
46081
+ };
46082
+
46083
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () {
46084
+ return [brushIdx.start, brushIdx.end];
46085
+ }, function (_ref4, _ref5) {
46086
+ var _ref6 = _slicedToArray(_ref4, 2),
46087
+ curBrushStartIdx = _ref6[0],
46088
+ curBrushEndIdx = _ref6[1];
46089
+
46090
+ var _ref7 = _slicedToArray(_ref5, 1),
46091
+ prevBrushStartIdx = _ref7[0];
46092
+
46093
+ if (selectedLabelOrItem !== null && selectedLabelOrItem !== void 0 && selectedLabelOrItem.value) {
46094
+ if (typeof selectedLabelOrItem.value.dataIndex === 'number') {
46095
+ if (curBrushStartIdx >= (prevBrushStartIdx !== null && prevBrushStartIdx !== void 0 ? prevBrushStartIdx : 0)) {
46096
+ selectedLabelOrItem.value.dataIndex -= curBrushStartIdx - (prevBrushStartIdx !== null && prevBrushStartIdx !== void 0 ? prevBrushStartIdx : 0);
46097
+ } else {
46098
+ selectedLabelOrItem.value.dataIndex += prevBrushStartIdx - curBrushStartIdx;
46099
+ }
46100
+ } else {
46101
+ for (var idx = 0; idx < selectedLabelOrItem.value.dataIndex.length; idx++) {
46102
+ if (curBrushStartIdx >= (prevBrushStartIdx !== null && prevBrushStartIdx !== void 0 ? prevBrushStartIdx : 0)) {
46103
+ selectedLabelOrItem.value.dataIndex[idx] -= curBrushStartIdx - (prevBrushStartIdx !== null && prevBrushStartIdx !== void 0 ? prevBrushStartIdx : 0);
46104
+ } else {
46105
+ selectedLabelOrItem.value.dataIndex[idx] += prevBrushStartIdx - curBrushStartIdx;
46106
+ }
46107
+ }
46108
+ }
46109
+ }
46110
+
46111
+ if (brushIdx.isUseButton || brushIdx.isUseScroll) {
46112
+ evChartZoom.executeZoom(curBrushStartIdx, curBrushEndIdx);
46113
+ }
46114
+ });
46115
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () {
46116
+ return [brushIdx.isUseButton, brushIdx.isUseScroll];
46117
+ }, function (_ref8, _ref9) {
46118
+ var _ref10 = _slicedToArray(_ref8, 2),
46119
+ curIsUseButton = _ref10[0],
46120
+ curIsUseScroll = _ref10[1];
46121
+
46122
+ var _ref11 = _slicedToArray(_ref9, 2),
46123
+ prevIsUseButton = _ref11[0],
46124
+ prevIsUseScroll = _ref11[1];
46125
+
46126
+ if (prevIsUseButton && !curIsUseButton) {
46127
+ evChartZoom.setZoomAreaMemory(brushIdx.start, brushIdx.end);
46128
+ } else if (prevIsUseScroll && !curIsUseScroll) {
46129
+ evChartZoom.zoomAreaMemory.current[0] = [brushIdx.start, brushIdx.end];
46130
+ }
46131
+ });
46132
+ return {
46133
+ evChartZoomOptions: evChartZoomOptions,
46134
+ evChartInfo: evChartInfo,
46135
+ evChartToolbarRef: evChartToolbarRef,
46136
+ evChartClone: evChartClone,
46137
+ brushIdx: brushIdx,
46138
+ createEvChartZoom: createEvChartZoom,
46139
+ setOptionsForUseZoom: setOptionsForUseZoom,
46140
+ setDataForUseZoom: setDataForUseZoom,
46141
+ controlZoomIdx: controlZoomIdx,
46142
+ onClickToolbar: onClickToolbar
46143
+ };
46144
+ };
45084
46145
  // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/components/chart/Chart.vue?vue&type=script&lang=js
45085
46146
 
45086
46147
 
@@ -45089,8 +46150,13 @@ var uses_useWrapper = function useWrapper(options) {
45089
46150
 
45090
46151
 
45091
46152
 
46153
+
46154
+
45092
46155
  /* harmony default export */ var Chartvue_type_script_lang_js = ({
45093
46156
  name: 'EvChart',
46157
+ components: {
46158
+ EvChartToolbar: ChartToolbar
46159
+ },
45094
46160
  props: {
45095
46161
  selectedItem: {
45096
46162
  type: Object,
@@ -45119,13 +46185,31 @@ var uses_useWrapper = function useWrapper(options) {
45119
46185
  resizeTimeout: {
45120
46186
  type: Number,
45121
46187
  default: 0
46188
+ },
46189
+ zoomStartIdx: {
46190
+ type: Number,
46191
+ default: 0
46192
+ },
46193
+ zoomEndIdx: {
46194
+ type: Number,
46195
+ default: 0
45122
46196
  }
45123
46197
  },
45124
- emits: ['click', 'dbl-click', 'drag-select', 'update:selectedItem', 'update:selectedLabel', 'update:selectedSeries'],
46198
+ emits: ['click', 'dbl-click', 'drag-select', 'update:selectedItem', 'update:selectedLabel', 'update:selectedSeries', 'update:zoomStartIdx', 'update:zoomEndIdx'],
45125
46199
  setup: function setup(props) {
45126
46200
  var evChart = null;
46201
+ var injectIsChartGroup = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('isChartGroup', false);
46202
+ var injectBrushSeries = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('brushSeries', {
46203
+ list: [],
46204
+ chartIdx: null
46205
+ });
46206
+ var injectGroupSelectedLabel = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('groupSelectedLabel', null);
46207
+ var injectBrushIdx = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('brushIdx', {
46208
+ start: 0,
46209
+ end: 0
46210
+ });
45127
46211
 
45128
- var _useModel = chart_uses_useModel(),
46212
+ var _useModel = chart_uses_useModel(injectGroupSelectedLabel),
45129
46213
  eventListeners = _useModel.eventListeners,
45130
46214
  selectItemInfo = _useModel.selectItemInfo,
45131
46215
  selectLabelInfo = _useModel.selectLabelInfo,
@@ -45135,11 +46219,29 @@ var uses_useWrapper = function useWrapper(options) {
45135
46219
 
45136
46220
  var normalizedData = getNormalizedData(props.data);
45137
46221
  var normalizedOptions = getNormalizedOptions(props.options);
46222
+ var selectedLabel = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () {
46223
+ return props.selectedLabel;
46224
+ });
46225
+ var selectedItem = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () {
46226
+ return props.selectedItem;
46227
+ });
45138
46228
 
45139
46229
  var _useWrapper = uses_useWrapper(normalizedOptions),
45140
46230
  wrapper = _useWrapper.wrapper,
45141
46231
  wrapperStyle = _useWrapper.wrapperStyle;
45142
46232
 
46233
+ var _useZoomModel = uses_useZoomModel(normalizedOptions, {
46234
+ wrapper: wrapper,
46235
+ evChartGroupRef: null
46236
+ }, props.selectedLabel ? selectedLabel : selectedItem),
46237
+ evChartZoomOptions = _useZoomModel.evChartZoomOptions,
46238
+ evChartToolbarRef = _useZoomModel.evChartToolbarRef,
46239
+ createEvChartZoom = _useZoomModel.createEvChartZoom,
46240
+ setOptionsForUseZoom = _useZoomModel.setOptionsForUseZoom,
46241
+ setDataForUseZoom = _useZoomModel.setDataForUseZoom,
46242
+ controlZoomIdx = _useZoomModel.controlZoomIdx,
46243
+ onClickToolbar = _useZoomModel.onClickToolbar;
46244
+
45143
46245
  var createChart = function createChart() {
45144
46246
  var selected;
45145
46247
 
@@ -45149,12 +46251,16 @@ var uses_useWrapper = function useWrapper(options) {
45149
46251
  selected = selectSeriesInfo;
45150
46252
  }
45151
46253
 
45152
- evChart = new chart_core(wrapper.value, normalizedData, normalizedOptions, eventListeners, selectItemInfo, selected);
46254
+ evChart = new chart_core(wrapper.value, normalizedData, normalizedOptions, eventListeners, selectItemInfo, selected, injectBrushSeries);
45153
46255
  };
45154
46256
 
45155
46257
  var drawChart = function drawChart() {
45156
46258
  if (evChart) {
45157
46259
  evChart.init();
46260
+
46261
+ if (!injectIsChartGroup && normalizedOptions.zoom.toolbar.show) {
46262
+ createEvChartZoom();
46263
+ }
45158
46264
  }
45159
46265
  };
45160
46266
 
@@ -45172,6 +46278,10 @@ var uses_useWrapper = function useWrapper(options) {
45172
46278
  },
45173
46279
  updateLegend: isUpdateLegendType
45174
46280
  });
46281
+
46282
+ if (!injectIsChartGroup) {
46283
+ setOptionsForUseZoom(newOpt);
46284
+ }
45175
46285
  }, {
45176
46286
  deep: true,
45177
46287
  flush: 'post'
@@ -45191,12 +46301,39 @@ var uses_useWrapper = function useWrapper(options) {
45191
46301
  },
45192
46302
  updateData: isUpdateData
45193
46303
  });
46304
+
46305
+ if (!injectIsChartGroup && isUpdateData) {
46306
+ setDataForUseZoom(newData);
46307
+ }
45194
46308
  }, {
45195
46309
  deep: true,
45196
46310
  flush: 'post'
45197
46311
  });
46312
+
46313
+ if (injectIsChartGroup && !(injectGroupSelectedLabel !== null && injectGroupSelectedLabel !== void 0 && injectGroupSelectedLabel.value)) {
46314
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () {
46315
+ return injectBrushIdx.start;
46316
+ }, function (curBrushStartIdx, prevBrushStartIdx) {
46317
+ if (selectedLabel !== null && selectedLabel !== void 0 && selectedLabel.value) {
46318
+ for (var idx = 0; idx < selectedLabel.value.dataIndex.length; idx++) {
46319
+ if (curBrushStartIdx >= (prevBrushStartIdx !== null && prevBrushStartIdx !== void 0 ? prevBrushStartIdx : 0)) {
46320
+ selectedLabel.value.dataIndex[idx] -= curBrushStartIdx - (prevBrushStartIdx !== null && prevBrushStartIdx !== void 0 ? prevBrushStartIdx : 0);
46321
+ } else {
46322
+ selectedLabel.value.dataIndex[idx] += prevBrushStartIdx - curBrushStartIdx;
46323
+ }
46324
+ }
46325
+ } else if (selectedItem !== null && selectedItem !== void 0 && selectedItem.value) {
46326
+ if (curBrushStartIdx >= (prevBrushStartIdx !== null && prevBrushStartIdx !== void 0 ? prevBrushStartIdx : 0)) {
46327
+ selectedItem.value.dataIndex -= curBrushStartIdx - (prevBrushStartIdx !== null && prevBrushStartIdx !== void 0 ? prevBrushStartIdx : 0);
46328
+ } else {
46329
+ selectedItem.value.dataIndex += prevBrushStartIdx - curBrushStartIdx;
46330
+ }
46331
+ }
46332
+ });
46333
+ }
46334
+
45198
46335
  Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () {
45199
- return props.selectedItem;
46336
+ return selectedItem.value;
45200
46337
  }, function (newValue) {
45201
46338
  var chartType = props.options.type;
45202
46339
  evChart.selectItemByData(newValue, chartType);
@@ -45205,7 +46342,9 @@ var uses_useWrapper = function useWrapper(options) {
45205
46342
  flush: 'post'
45206
46343
  });
45207
46344
  Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () {
45208
- return props.selectedLabel;
46345
+ var _injectGroupSelectedL;
46346
+
46347
+ return (_injectGroupSelectedL = injectGroupSelectedLabel === null || injectGroupSelectedLabel === void 0 ? void 0 : injectGroupSelectedLabel.value) !== null && _injectGroupSelectedL !== void 0 ? _injectGroupSelectedL : selectedLabel.value;
45209
46348
  }, function (newValue) {
45210
46349
  if (newValue.dataIndex) {
45211
46350
  evChart.renderWithSelected(newValue.dataIndex);
@@ -45224,6 +46363,19 @@ var uses_useWrapper = function useWrapper(options) {
45224
46363
  deep: true,
45225
46364
  flush: 'post'
45226
46365
  });
46366
+
46367
+ if (!injectIsChartGroup) {
46368
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () {
46369
+ return [props.zoomStartIdx, props.zoomEndIdx];
46370
+ }, function (_ref) {
46371
+ var _ref2 = _slicedToArray(_ref, 2),
46372
+ zoomStartIdx = _ref2[0],
46373
+ zoomEndIdx = _ref2[1];
46374
+
46375
+ controlZoomIdx(zoomStartIdx, zoomEndIdx);
46376
+ });
46377
+ }
46378
+
45227
46379
  Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onMounted"])( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
45228
46380
  return regeneratorRuntime.wrap(function _callee$(_context) {
45229
46381
  while (1) {
@@ -45275,14 +46427,19 @@ var uses_useWrapper = function useWrapper(options) {
45275
46427
  wrapper: wrapper,
45276
46428
  wrapperStyle: wrapperStyle,
45277
46429
  onResize: onResize,
45278
- redraw: redraw
46430
+ redraw: redraw,
46431
+ evChartToolbarRef: evChartToolbarRef,
46432
+ injectIsChartGroup: injectIsChartGroup,
46433
+ onClickToolbar: onClickToolbar,
46434
+ normalizedOptions: normalizedOptions,
46435
+ zoomOptions: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toRef"])(evChartZoomOptions, 'zoom')
45279
46436
  };
45280
46437
  }
45281
46438
  });
45282
46439
  // CONCATENATED MODULE: ./src/components/chart/Chart.vue?vue&type=script&lang=js
45283
46440
 
45284
- // EXTERNAL MODULE: ./src/components/chart/Chart.vue?vue&type=style&index=0&id=ca3428ac&lang=scss
45285
- var Chartvue_type_style_index_0_id_ca3428ac_lang_scss = __webpack_require__("e83f");
46441
+ // EXTERNAL MODULE: ./src/components/chart/Chart.vue?vue&type=style&index=0&id=018cc1f3&lang=scss
46442
+ var Chartvue_type_style_index_0_id_018cc1f3_lang_scss = __webpack_require__("0d1d");
45286
46443
 
45287
46444
  // CONCATENATED MODULE: ./src/components/chart/Chart.vue
45288
46445
 
@@ -45292,7 +46449,7 @@ var Chartvue_type_style_index_0_id_ca3428ac_lang_scss = __webpack_require__("e83
45292
46449
 
45293
46450
 
45294
46451
 
45295
- const Chart_exports_ = /*#__PURE__*/exportHelper_default()(Chartvue_type_script_lang_js, [['render',Chartvue_type_template_id_ca3428ac_render]])
46452
+ const Chart_exports_ = /*#__PURE__*/exportHelper_default()(Chartvue_type_script_lang_js, [['render',Chartvue_type_template_id_018cc1f3_render]])
45296
46453
 
45297
46454
  /* harmony default export */ var Chart = (Chart_exports_);
45298
46455
  // CONCATENATED MODULE: ./src/components/chart/index.js
@@ -45306,6 +46463,1099 @@ Chart.install = function (app) {
45306
46463
  };
45307
46464
 
45308
46465
  /* harmony default export */ var chart = (Chart);
46466
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/components/chartGroup/ChartGroup.vue?vue&type=template&id=bd8c6660&scoped=true
46467
+
46468
+
46469
+ var ChartGroupvue_type_template_id_bd8c6660_scoped_true_withId = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withScopeId"])("data-v-bd8c6660");
46470
+
46471
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["pushScopeId"])("data-v-bd8c6660");
46472
+
46473
+ var ChartGroupvue_type_template_id_bd8c6660_scoped_true_hoisted_1 = {
46474
+ key: 0,
46475
+ ref: "evChartToolbarRef"
46476
+ };
46477
+ var ChartGroupvue_type_template_id_bd8c6660_scoped_true_hoisted_2 = {
46478
+ ref: "evChartGroupRef",
46479
+ class: "ev-chart-group__wrapper"
46480
+ };
46481
+
46482
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["popScopeId"])();
46483
+
46484
+ var ChartGroupvue_type_template_id_bd8c6660_scoped_true_render = /*#__PURE__*/ChartGroupvue_type_template_id_bd8c6660_scoped_true_withId(function (_ctx, _cache, $props, $setup, $data, $options) {
46485
+ var _component_ev_chart_toolbar = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("ev-chart-toolbar");
46486
+
46487
+ return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, [$setup.zoomOptions.toolbar.show ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])("div", ChartGroupvue_type_template_id_bd8c6660_scoped_true_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ev_chart_toolbar, {
46488
+ toolbar: $setup.zoomOptions.toolbar,
46489
+ onOnClickToolbar: $setup.onClickToolbar
46490
+ }, null, 8, ["toolbar", "onOnClickToolbar"])], 512)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])("div", ChartGroupvue_type_template_id_bd8c6660_scoped_true_hoisted_2, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderSlot"])(_ctx.$slots, "default")], 512)], 64);
46491
+ });
46492
+ // CONCATENATED MODULE: ./src/components/chartGroup/ChartGroup.vue?vue&type=template&id=bd8c6660&scoped=true
46493
+
46494
+ // CONCATENATED MODULE: ./src/components/chartGroup/uses.js
46495
+
46496
+
46497
+ var uses_DEFAULT_OPTIONS = {
46498
+ zoom: {
46499
+ bufferMemoryCnt: 100,
46500
+ toolbar: {
46501
+ show: false,
46502
+ items: {
46503
+ previous: {
46504
+ icon: 'ev-icon-allow2-left',
46505
+ size: 'medium',
46506
+ title: 'Previous'
46507
+ },
46508
+ latest: {
46509
+ icon: 'ev-icon-allow2-right',
46510
+ size: 'medium',
46511
+ title: 'Latest'
46512
+ },
46513
+ reset: {
46514
+ icon: 'ev-icon-redo',
46515
+ size: 'medium',
46516
+ title: 'Reset'
46517
+ },
46518
+ dragZoom: {
46519
+ icon: 'ev-icon-zoomin',
46520
+ size: 'medium',
46521
+ title: 'Drag Zoom'
46522
+ }
46523
+ }
46524
+ }
46525
+ }
46526
+ }; // eslint-disable-next-line import/prefer-default-export
46527
+
46528
+ var uses_useGroupModel = function useGroupModel() {
46529
+ var isExecuteZoom = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(false);
46530
+ var evChartGroupRef = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])();
46531
+ var brushSeries = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["reactive"])({
46532
+ list: [],
46533
+ chartIdx: null
46534
+ });
46535
+
46536
+ var getNormalizedOptions = function getNormalizedOptions(options) {
46537
+ return lodash_es_defaultsDeep({}, options, uses_DEFAULT_OPTIONS);
46538
+ };
46539
+
46540
+ return {
46541
+ getNormalizedOptions: getNormalizedOptions,
46542
+ isExecuteZoom: isExecuteZoom,
46543
+ brushSeries: brushSeries,
46544
+ evChartGroupRef: evChartGroupRef
46545
+ };
46546
+ };
46547
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/components/chartGroup/ChartGroup.vue?vue&type=script&lang=js
46548
+
46549
+
46550
+
46551
+
46552
+
46553
+
46554
+ /* harmony default export */ var ChartGroupvue_type_script_lang_js = ({
46555
+ name: 'EvChartGroup',
46556
+ components: {
46557
+ evChartToolbar: ChartToolbar
46558
+ },
46559
+ props: {
46560
+ options: {
46561
+ type: Object,
46562
+ default: function _default() {
46563
+ return {};
46564
+ }
46565
+ },
46566
+ zoomStartIdx: {
46567
+ type: Number,
46568
+ default: 0
46569
+ },
46570
+ zoomEndIdx: {
46571
+ type: Number,
46572
+ default: 0
46573
+ },
46574
+ groupSelectedLabel: {
46575
+ type: Object,
46576
+ default: null
46577
+ }
46578
+ },
46579
+ emits: ['update:zoomStartIdx', 'update:zoomEndIdx'],
46580
+ setup: function setup(props) {
46581
+ var _useGroupModel = uses_useGroupModel(),
46582
+ getNormalizedOptions = _useGroupModel.getNormalizedOptions,
46583
+ isExecuteZoom = _useGroupModel.isExecuteZoom,
46584
+ brushSeries = _useGroupModel.brushSeries,
46585
+ evChartGroupRef = _useGroupModel.evChartGroupRef;
46586
+
46587
+ var normalizedOptions = getNormalizedOptions(props.options);
46588
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["provide"])('isExecuteZoom', isExecuteZoom);
46589
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["provide"])('isChartGroup', true);
46590
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["provide"])('brushSeries', brushSeries);
46591
+ var groupSelectedLabel = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () {
46592
+ return props.groupSelectedLabel;
46593
+ });
46594
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["provide"])('groupSelectedLabel', groupSelectedLabel);
46595
+
46596
+ var _useZoomModel = uses_useZoomModel(normalizedOptions, {
46597
+ wrapper: null,
46598
+ evChartGroupRef: evChartGroupRef
46599
+ }, groupSelectedLabel),
46600
+ evChartZoomOptions = _useZoomModel.evChartZoomOptions,
46601
+ evChartInfo = _useZoomModel.evChartInfo,
46602
+ evChartToolbarRef = _useZoomModel.evChartToolbarRef,
46603
+ evChartClone = _useZoomModel.evChartClone,
46604
+ brushIdx = _useZoomModel.brushIdx,
46605
+ createEvChartZoom = _useZoomModel.createEvChartZoom,
46606
+ setOptionsForUseZoom = _useZoomModel.setOptionsForUseZoom,
46607
+ setDataForUseZoom = _useZoomModel.setDataForUseZoom,
46608
+ controlZoomIdx = _useZoomModel.controlZoomIdx,
46609
+ onClickToolbar = _useZoomModel.onClickToolbar;
46610
+
46611
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["provide"])('evChartClone', evChartClone);
46612
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["provide"])('evChartInfo', evChartInfo);
46613
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["provide"])('brushIdx', brushIdx);
46614
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onMounted"])(function () {
46615
+ createEvChartZoom();
46616
+ });
46617
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () {
46618
+ return evChartInfo.props.data;
46619
+ }, function (evChartProps) {
46620
+ setDataForUseZoom(evChartProps);
46621
+ }, {
46622
+ deep: true
46623
+ });
46624
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () {
46625
+ return props.options;
46626
+ }, function (zoomOptions) {
46627
+ var newOpt = getNormalizedOptions(zoomOptions);
46628
+ setOptionsForUseZoom(newOpt);
46629
+ }, {
46630
+ deep: true
46631
+ });
46632
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () {
46633
+ return [props.zoomStartIdx, props.zoomEndIdx];
46634
+ }, function (_ref) {
46635
+ var _ref2 = _slicedToArray(_ref, 2),
46636
+ zoomStartIdx = _ref2[0],
46637
+ zoomEndIdx = _ref2[1];
46638
+
46639
+ if (brushIdx.isUseButton || brushIdx.isUseScroll) {
46640
+ return;
46641
+ }
46642
+
46643
+ controlZoomIdx(zoomStartIdx, zoomEndIdx);
46644
+ });
46645
+ return {
46646
+ evChartGroupRef: evChartGroupRef,
46647
+ evChartToolbarRef: evChartToolbarRef,
46648
+ zoomOptions: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toRef"])(evChartZoomOptions, 'zoom'),
46649
+ onClickToolbar: onClickToolbar
46650
+ };
46651
+ }
46652
+ });
46653
+ // CONCATENATED MODULE: ./src/components/chartGroup/ChartGroup.vue?vue&type=script&lang=js
46654
+
46655
+ // EXTERNAL MODULE: ./src/components/chartGroup/ChartGroup.vue?vue&type=style&index=0&id=bd8c6660&lang=scss&scoped=true
46656
+ var ChartGroupvue_type_style_index_0_id_bd8c6660_lang_scss_scoped_true = __webpack_require__("8352");
46657
+
46658
+ // CONCATENATED MODULE: ./src/components/chartGroup/ChartGroup.vue
46659
+
46660
+
46661
+
46662
+
46663
+
46664
+
46665
+
46666
+ const ChartGroup_exports_ = /*#__PURE__*/exportHelper_default()(ChartGroupvue_type_script_lang_js, [['render',ChartGroupvue_type_template_id_bd8c6660_scoped_true_render],['__scopeId',"data-v-bd8c6660"]])
46667
+
46668
+ /* harmony default export */ var ChartGroup = (ChartGroup_exports_);
46669
+ // CONCATENATED MODULE: ./src/components/chartGroup/index.js
46670
+
46671
+
46672
+
46673
+
46674
+ ChartGroup.install = function (app) {
46675
+ app.component(ChartGroup.name, ChartGroup);
46676
+ app.use(dist_default.a);
46677
+ };
46678
+
46679
+ /* harmony default export */ var chartGroup = (ChartGroup);
46680
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/components/chartBrush/ChartBrush.vue?vue&type=template&id=1b10467a
46681
+
46682
+ function ChartBrushvue_type_template_id_1b10467a_render(_ctx, _cache, $props, $setup, $data, $options) {
46683
+ var _directive_resize = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDirective"])("resize");
46684
+
46685
+ return $setup.evChartBrushOptions.show ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])((Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])("div", {
46686
+ key: 0,
46687
+ ref: "evChartBrushRef",
46688
+ style: $setup.evChartBrushStyle,
46689
+ class: "ev-chart-brush"
46690
+ }, null, 4)), [[_directive_resize, $setup.onResize]]) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true);
46691
+ }
46692
+ // CONCATENATED MODULE: ./src/components/chartBrush/ChartBrush.vue?vue&type=template&id=1b10467a
46693
+
46694
+ // CONCATENATED MODULE: ./src/components/chartBrush/chartBrush.core.js
46695
+
46696
+
46697
+
46698
+
46699
+
46700
+
46701
+ var chartBrush_core_EvChartBrush = /*#__PURE__*/function () {
46702
+ function EvChartBrush(evChart, evChartData, evChartBrushOptions, brushIdx, evChartBrushRef) {
46703
+ _classCallCheck(this, EvChartBrush);
46704
+
46705
+ this.evChart = evChart;
46706
+ this.evChartData = evChartData;
46707
+ this.evChartBrushOptions = evChartBrushOptions;
46708
+ this.evChartBrushRef = evChartBrushRef;
46709
+ this.brushIdx = brushIdx;
46710
+
46711
+ if (evChartBrushOptions.value.useDebounce) {
46712
+ this.debounceBrushIdx = {
46713
+ start: brushIdx.start,
46714
+ end: brushIdx.end
46715
+ };
46716
+ }
46717
+ }
46718
+
46719
+ _createClass(EvChartBrush, [{
46720
+ key: "init",
46721
+ value: function init(isResize) {
46722
+ if (this.brushIdx.start > this.brushIdx.end) {
46723
+ return;
46724
+ }
46725
+
46726
+ var existedBrushCanvas = this.evChartBrushRef.value.querySelector('.brush-canvas');
46727
+
46728
+ if (!existedBrushCanvas) {
46729
+ var brushCanvas = document.createElement('canvas');
46730
+ brushCanvas.setAttribute('class', 'brush-canvas');
46731
+ brushCanvas.setAttribute('style', 'display: block; z-index: 1;');
46732
+ var evChartBrushContainer = this.evChartBrushRef.value.querySelector('.ev-chart-brush-container');
46733
+
46734
+ if (evChartBrushContainer) {
46735
+ this.brushCanvas = brushCanvas;
46736
+ evChartBrushContainer.appendChild(brushCanvas);
46737
+ this.evChartBrushContainer = evChartBrushContainer;
46738
+ this.drawBrushRect({
46739
+ brushCanvas: brushCanvas
46740
+ });
46741
+ this.addEvent(brushCanvas);
46742
+ }
46743
+ } else {
46744
+ this.drawBrushRect({
46745
+ brushCanvas: existedBrushCanvas,
46746
+ isResize: isResize
46747
+ });
46748
+ }
46749
+ }
46750
+ }, {
46751
+ key: "drawBrushRect",
46752
+ value: function drawBrushRect(_ref) {
46753
+ var _this$debounceBrushId;
46754
+
46755
+ var brushCanvas = _ref.brushCanvas,
46756
+ isResize = _ref.isResize,
46757
+ isDebounce = _ref.isDebounce;
46758
+ var _this$evChart = this.evChart,
46759
+ chartRect = _this$evChart.chartRect,
46760
+ labelOffset = _this$evChart.labelOffset;
46761
+
46762
+ if (!chartRect && !labelOffset) {
46763
+ return;
46764
+ }
46765
+
46766
+ var evChartRange = {
46767
+ x1: chartRect.x1 + labelOffset.left,
46768
+ x2: chartRect.x2 - labelOffset.right,
46769
+ y1: chartRect.y1 + labelOffset.top,
46770
+ y2: chartRect.y2 - labelOffset.bottom
46771
+ };
46772
+ var pixelRatio = window.devicePixelRatio || 1;
46773
+ var brushButtonWidth = 6;
46774
+ var brushCanvasWidth = evChartRange.x2 - evChartRange.x1 + brushButtonWidth;
46775
+ var brushCanvasHeight = evChartRange.y2 - evChartRange.y1;
46776
+ var isEqualWidth = brushCanvas.width === Math.floor(brushCanvasWidth * pixelRatio);
46777
+
46778
+ if (isResize && isEqualWidth) {
46779
+ return;
46780
+ }
46781
+
46782
+ if (!isDebounce && this.debounceBrushIdx) {
46783
+ this.debounceBrushIdx.start = this.brushIdx.start;
46784
+ this.debounceBrushIdx.end = this.brushIdx.end;
46785
+ }
46786
+
46787
+ var brushIdx = (_this$debounceBrushId = this.debounceBrushIdx) !== null && _this$debounceBrushId !== void 0 ? _this$debounceBrushId : this.brushIdx;
46788
+ var labelEndIdx = this.evChartData.value.labels.length - 1;
46789
+ this.labelEndIdx = labelEndIdx;
46790
+ var axesXInterval = (evChartRange.x2 - evChartRange.x1) / labelEndIdx;
46791
+ var brushRectX = brushIdx.start * axesXInterval * pixelRatio;
46792
+ var brushRectWidth = (brushCanvasWidth - (labelEndIdx - (brushIdx.end - brushIdx.start)) * axesXInterval) * pixelRatio;
46793
+ var brushRectHeight = this.evChartBrushOptions.value.height - evChartRange.y1;
46794
+ var brushButtonLeftXPos = brushRectX;
46795
+ var brushButtonRightXPos = brushRectX + brushRectWidth;
46796
+
46797
+ if (!brushCanvas.style.position) {
46798
+ brushCanvas.style.position = 'absolute';
46799
+ brushCanvas.style.top = "".concat(evChartRange.y1, "px");
46800
+ brushCanvas.style.left = "".concat(evChartRange.x1 - brushButtonWidth / 2, "px");
46801
+ }
46802
+
46803
+ if (!isEqualWidth) {
46804
+ brushCanvas.width = brushCanvasWidth * pixelRatio;
46805
+ brushCanvas.style.width = "".concat(brushCanvasWidth, "px");
46806
+ brushCanvas.height = brushCanvasHeight * pixelRatio;
46807
+ brushCanvas.style.height = "".concat(brushCanvasHeight, "px");
46808
+ }
46809
+
46810
+ var ctx = brushCanvas.getContext('2d');
46811
+ ctx.clearRect(0, 0, brushCanvasWidth * pixelRatio, brushCanvasHeight * pixelRatio);
46812
+ ctx.fillStyle = this.evChartBrushOptions.value.selection.fillColor;
46813
+ ctx.globalAlpha = this.evChartBrushOptions.value.selection.opacity;
46814
+ ctx.fillRect(brushRectX, 0, brushRectWidth, brushRectHeight);
46815
+ ctx.fillRect(brushButtonLeftXPos, 0, brushButtonWidth, brushRectHeight);
46816
+ ctx.fillRect(brushButtonRightXPos - brushButtonWidth, 0, brushButtonWidth, brushRectHeight);
46817
+ this.evChartBrushPos = {
46818
+ leftX: brushButtonLeftXPos / pixelRatio,
46819
+ rightX: brushButtonRightXPos / pixelRatio,
46820
+ buttonWidth: brushButtonWidth,
46821
+ axesXInterval: axesXInterval
46822
+ };
46823
+ }
46824
+ }, {
46825
+ key: "addEvent",
46826
+ value: function addEvent() {
46827
+ var _this = this;
46828
+
46829
+ var mousePosition;
46830
+
46831
+ this.onMouseDown = function (e) {
46832
+ e.preventDefault();
46833
+
46834
+ if (mousePosition.isInsideButton) {
46835
+ _this.clickBrushInsideX = -1;
46836
+ } else if (mousePosition.isInsideBrush) {
46837
+ _this.clickBrushInsideX = e.offsetX;
46838
+ } else if (mousePosition.isOutsideBrush) {
46839
+ _this.teleportBrush(e);
46840
+ }
46841
+ };
46842
+
46843
+ var onMouseMove = function onMouseMove(e) {
46844
+ if (_this.clickBrushInsideX) {
46845
+ _this.mouseDownAndMove(e);
46846
+ } else {
46847
+ mousePosition = _this.getMousePosition(e);
46848
+
46849
+ _this.changeCursor(mousePosition);
46850
+ }
46851
+ };
46852
+
46853
+ this.onMouseMove = lodash_es_throttle(onMouseMove, 5);
46854
+
46855
+ this.onWheel = function (e) {
46856
+ e.preventDefault();
46857
+
46858
+ _this.updateBrushIdx(e.deltaY > 0 ? 'movedown' : 'moveup');
46859
+ };
46860
+
46861
+ this.onMouseUp = function () {
46862
+ _this.initEventState();
46863
+ };
46864
+
46865
+ this.onMouseLeave = function () {
46866
+ if (_this.clickBrushInsideX) {
46867
+ _this.initEventState();
46868
+ }
46869
+ };
46870
+
46871
+ var onWheelDebounce = function onWheelDebounce() {
46872
+ _this.initEventState();
46873
+ };
46874
+
46875
+ this.onWheelDebounce = lodash_es_debounce(onWheelDebounce, 100);
46876
+ this.setEventListener('addEventListener');
46877
+ }
46878
+ }, {
46879
+ key: "getMousePosition",
46880
+ value: function getMousePosition(e) {
46881
+ var _this2 = this;
46882
+
46883
+ var calDisToCurMouseX = function calDisToCurMouseX(xPos) {
46884
+ return Math.abs(_this2.evChartBrushPos[xPos] - e.offsetX);
46885
+ };
46886
+
46887
+ var buttonType = calDisToCurMouseX('rightX') > calDisToCurMouseX('leftX') ? 'leftX' : 'rightX';
46888
+ this.curBrushButtonType = buttonType;
46889
+
46890
+ var isMoveRight = function isMoveRight(xPos) {
46891
+ return e.offsetX > _this2.evChartBrushPos[xPos];
46892
+ };
46893
+
46894
+ var isMoveLeft = function isMoveLeft(xPos) {
46895
+ return e.offsetX < _this2.evChartBrushPos[xPos];
46896
+ };
46897
+
46898
+ var isOutsideBrush = isMoveLeft('leftX') || isMoveRight('rightX');
46899
+ var isInsideBrush = isMoveRight('leftX') && isMoveLeft('rightX');
46900
+ var isInsideButton = e.offsetX + this.evChartBrushPos.buttonWidth >= this.evChartBrushPos[buttonType] && e.offsetX - this.evChartBrushPos.buttonWidth <= this.evChartBrushPos[buttonType];
46901
+ return {
46902
+ isInsideButton: isInsideButton,
46903
+ isInsideBrush: isInsideBrush,
46904
+ isOutsideBrush: isOutsideBrush
46905
+ };
46906
+ }
46907
+ }, {
46908
+ key: "destroy",
46909
+ value: function destroy() {
46910
+ if (this.brushCanvas) {
46911
+ this.setEventListener('removeEventListener');
46912
+ this.brushCanvas = null;
46913
+ }
46914
+
46915
+ var evChartBrushContainer = this.evChartBrushContainer;
46916
+
46917
+ while (evChartBrushContainer.hasChildNodes()) {
46918
+ evChartBrushContainer.removeChild(evChartBrushContainer.firstChild);
46919
+ }
46920
+ }
46921
+ /**
46922
+ * @param {string} type eventListener setting type.
46923
+ *
46924
+ * @returns {undefined}
46925
+ */
46926
+
46927
+ }, {
46928
+ key: "setEventListener",
46929
+ value: function setEventListener(type) {
46930
+ this.brushCanvas[type]('mousemove', this.onMouseMove);
46931
+ this.brushCanvas[type]('mousedown', this.onMouseDown);
46932
+ this.brushCanvas[type]('mouseup', this.onMouseUp);
46933
+ this.brushCanvas[type]('mouseleave', this.onMouseLeave);
46934
+ this.brushCanvas[type]('wheel', this.onWheel);
46935
+ this.brushCanvas[type]('wheel', this.onWheelDebounce);
46936
+ }
46937
+ }, {
46938
+ key: "removeBrushWrapper",
46939
+ value: function removeBrushWrapper() {
46940
+ if (this.evChartBrushRef.value) {
46941
+ var evChartBrushWrapper = this.evChartBrushRef.value.querySelector('.ev-chart-brush-wrapper');
46942
+
46943
+ if (evChartBrushWrapper) {
46944
+ this.evChartBrushRef.value.removeChild(evChartBrushWrapper);
46945
+ }
46946
+ }
46947
+ }
46948
+ }, {
46949
+ key: "removeBrushCanvas",
46950
+ value: function removeBrushCanvas() {
46951
+ if (this.evChartBrushContainer) {
46952
+ var brushCanvas = this.evChartBrushContainer.querySelector('.brush-canvas');
46953
+
46954
+ if (brushCanvas) {
46955
+ this.evChartBrushContainer.removeChild(brushCanvas);
46956
+ }
46957
+ }
46958
+ }
46959
+ }, {
46960
+ key: "teleportBrush",
46961
+ value: function teleportBrush(e) {
46962
+ var _this$debounceBrushId2;
46963
+
46964
+ var brushIdx = (_this$debounceBrushId2 = this.debounceBrushIdx) !== null && _this$debounceBrushId2 !== void 0 ? _this$debounceBrushId2 : this.brushIdx;
46965
+ var middle = (brushIdx.end - brushIdx.start) / 2;
46966
+ var left;
46967
+ var right;
46968
+ var clickIdx;
46969
+
46970
+ if (middle > 0.5) {
46971
+ if ((brushIdx.end - brushIdx.start) % 2 === 0) {
46972
+ clickIdx = Math.round(e.offsetX / this.evChartBrushPos.axesXInterval);
46973
+ left = Math.ceil(middle);
46974
+ right = Math.floor(middle);
46975
+ } else {
46976
+ clickIdx = Math.ceil(e.offsetX / this.evChartBrushPos.axesXInterval);
46977
+ left = Math.ceil(middle);
46978
+ right = Math.floor(middle);
46979
+ }
46980
+ } else {
46981
+ clickIdx = Math.floor(e.offsetX / this.evChartBrushPos.axesXInterval);
46982
+
46983
+ if (e.offsetX - clickIdx * this.evChartBrushPos.axesXInterval > this.evChartBrushPos.axesXInterval / 2) {
46984
+ left = Math.floor(middle);
46985
+ right = Math.ceil(middle);
46986
+ } else {
46987
+ left = Math.ceil(middle);
46988
+ right = Math.floor(middle);
46989
+
46990
+ if (middle < 1) {
46991
+ clickIdx += 1;
46992
+ }
46993
+ }
46994
+ }
46995
+
46996
+ if (clickIdx - left <= 0) {
46997
+ brushIdx.start = 0;
46998
+ brushIdx.end = right + left;
46999
+ } else if (clickIdx + right >= this.labelEndIdx) {
47000
+ brushIdx.start = this.labelEndIdx - right - left;
47001
+ brushIdx.end = this.labelEndIdx;
47002
+ } else {
47003
+ brushIdx.start = clickIdx - left;
47004
+ brushIdx.end = clickIdx + right;
47005
+ }
47006
+
47007
+ this.brushIdx.isUseScroll = true;
47008
+ }
47009
+ }, {
47010
+ key: "changeCursor",
47011
+ value: function changeCursor(mousePosition) {
47012
+ if (mousePosition.isOutsideBrush) {
47013
+ this.brushCanvas.style.cursor = 'pointer';
47014
+ } else if (mousePosition.isInsideBrush) {
47015
+ if (mousePosition.isInsideButton) {
47016
+ this.brushCanvas.style.cursor = 'ew-resize';
47017
+ } else {
47018
+ this.brushCanvas.style.cursor = 'grab';
47019
+ }
47020
+ }
47021
+ }
47022
+ }, {
47023
+ key: "mouseDownAndMove",
47024
+ value: function mouseDownAndMove(e) {
47025
+ var moveSensitive = this.evChartBrushPos.axesXInterval / 3;
47026
+ var mode;
47027
+
47028
+ if (e.offsetX > this.beforeMouseXPos) {
47029
+ // 오른쪽 이동
47030
+ if (this.clickBrushInsideX > 0) {
47031
+ if (this.clickBrushInsideX < e.offsetX - moveSensitive) {
47032
+ mode = 'moveup';
47033
+ this.clickBrushInsideX = e.offsetX + moveSensitive;
47034
+ }
47035
+ } else {
47036
+ var isMoveRight = e.offsetX - this.evChartBrushPos[this.curBrushButtonType] > moveSensitive;
47037
+
47038
+ if (isMoveRight) {
47039
+ mode = this.curBrushButtonType === 'leftX' ? 'decrease' : 'increase';
47040
+ }
47041
+ }
47042
+ } else if (e.offsetX < this.beforeMouseXPos) {
47043
+ // 왼쪽 이동
47044
+ if (this.clickBrushInsideX > 0) {
47045
+ if (this.clickBrushInsideX > e.offsetX + moveSensitive) {
47046
+ mode = 'movedown';
47047
+ this.clickBrushInsideX = e.offsetX - moveSensitive;
47048
+ }
47049
+ } else {
47050
+ var isMoveLeft = this.evChartBrushPos[this.curBrushButtonType] - e.offsetX > moveSensitive;
47051
+
47052
+ if (isMoveLeft) {
47053
+ mode = this.curBrushButtonType === 'leftX' ? 'increase' : 'decrease';
47054
+ }
47055
+ }
47056
+ }
47057
+
47058
+ if (mode) {
47059
+ this.updateBrushIdx(mode);
47060
+ }
47061
+
47062
+ this.beforeMouseXPos = e.offsetX;
47063
+ }
47064
+ /**
47065
+ * @param {string} mode determines how to update the brush index value.
47066
+ *
47067
+ * @returns {undefined}
47068
+ */
47069
+
47070
+ }, {
47071
+ key: "updateBrushIdx",
47072
+ value: function updateBrushIdx(mode) {
47073
+ var _this$debounceBrushId3;
47074
+
47075
+ var brushIdx = (_this$debounceBrushId3 = this.debounceBrushIdx) !== null && _this$debounceBrushId3 !== void 0 ? _this$debounceBrushId3 : this.brushIdx;
47076
+
47077
+ switch (mode) {
47078
+ case 'moveup':
47079
+ if (brushIdx.end === this.labelEndIdx) {
47080
+ return;
47081
+ }
47082
+
47083
+ brushIdx.start += 1;
47084
+ brushIdx.end += 1;
47085
+ this.brushIdx.isUseScroll = true;
47086
+ break;
47087
+
47088
+ case 'movedown':
47089
+ if (!brushIdx.start) {
47090
+ return;
47091
+ }
47092
+
47093
+ brushIdx.start -= 1;
47094
+ brushIdx.end -= 1;
47095
+ this.brushIdx.isUseScroll = true;
47096
+ break;
47097
+
47098
+ case 'increase':
47099
+ if (this.curBrushButtonType === 'leftX') {
47100
+ if (!brushIdx.start) {
47101
+ return;
47102
+ }
47103
+
47104
+ brushIdx.start -= 1;
47105
+ } else {
47106
+ if (brushIdx.end === this.labelEndIdx) {
47107
+ return;
47108
+ }
47109
+
47110
+ brushIdx.end += 1;
47111
+ }
47112
+
47113
+ this.brushIdx.isUseButton = true;
47114
+ break;
47115
+
47116
+ case 'decrease':
47117
+ if (brushIdx.start === brushIdx.end - 1) {
47118
+ return;
47119
+ }
47120
+
47121
+ if (this.curBrushButtonType === 'leftX') {
47122
+ brushIdx.start += 1;
47123
+ } else {
47124
+ brushIdx.end -= 1;
47125
+ }
47126
+
47127
+ this.brushIdx.isUseButton = true;
47128
+ break;
47129
+
47130
+ default:
47131
+ break;
47132
+ }
47133
+
47134
+ if (mode && this.debounceBrushIdx) {
47135
+ this.drawBrushRect({
47136
+ brushCanvas: this.brushCanvas,
47137
+ isResize: false,
47138
+ isDebounce: true
47139
+ });
47140
+ }
47141
+ }
47142
+ /**
47143
+ * @param {boolean} isUpdateBrushIdx to initialize state after update brush index value
47144
+ *
47145
+ * @returns {undefined}
47146
+ */
47147
+
47148
+ }, {
47149
+ key: "initEventState",
47150
+ value: function initEventState() {
47151
+ var _this3 = this;
47152
+
47153
+ var promise = new Promise(function (resolve) {
47154
+ if (_this3.debounceBrushIdx && (_this3.brushIdx.isUseButton || _this3.brushIdx.isUseScroll)) {
47155
+ _this3.brushIdx.start = _this3.debounceBrushIdx.start;
47156
+ _this3.brushIdx.end = _this3.debounceBrushIdx.end;
47157
+ }
47158
+
47159
+ resolve(true);
47160
+ });
47161
+ promise.then(function (isUpdateBrushIdx) {
47162
+ if (isUpdateBrushIdx) {
47163
+ _this3.clickBrushInsideX = null;
47164
+ _this3.beforeMouseXPos = null;
47165
+ _this3.curBrushButtonType = null;
47166
+ _this3.brushIdx.isUseButton = false;
47167
+ _this3.brushIdx.isUseScroll = false;
47168
+ }
47169
+ });
47170
+ }
47171
+ }]);
47172
+
47173
+ return EvChartBrush;
47174
+ }();
47175
+
47176
+
47177
+ // CONCATENATED MODULE: ./src/components/chartBrush/uses.js
47178
+
47179
+ var chartBrush_uses_DEFAULT_OPTIONS = {
47180
+ show: true,
47181
+ useDebounce: true,
47182
+ chartIdx: 0,
47183
+ height: 100,
47184
+ showLabel: false,
47185
+ selection: {
47186
+ fillColor: '#38ACEC',
47187
+ opacity: 0.65
47188
+ }
47189
+ }; // eslint-disable-next-line import/prefer-default-export
47190
+
47191
+ var uses_useBrushModel = function useBrushModel() {
47192
+ var getNormalizedBrushOptions = function getNormalizedBrushOptions(options) {
47193
+ return lodash_es_defaultsDeep({}, options, chartBrush_uses_DEFAULT_OPTIONS);
47194
+ };
47195
+
47196
+ return {
47197
+ getNormalizedBrushOptions: getNormalizedBrushOptions
47198
+ };
47199
+ };
47200
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/components/chartBrush/ChartBrush.vue?vue&type=script&lang=js
47201
+
47202
+
47203
+
47204
+
47205
+
47206
+
47207
+
47208
+
47209
+
47210
+
47211
+
47212
+
47213
+
47214
+
47215
+ /* harmony default export */ var ChartBrushvue_type_script_lang_js = ({
47216
+ name: 'EvChartBrush',
47217
+ props: {
47218
+ options: {
47219
+ type: Object,
47220
+ default: function _default() {
47221
+ return {};
47222
+ }
47223
+ }
47224
+ },
47225
+ setup: function setup(props) {
47226
+ var evChart = null;
47227
+ var evChartBrush = null;
47228
+ var injectEvChartClone = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('evChartClone', {
47229
+ data: []
47230
+ });
47231
+ var injectEvChartInfo = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('evChartInfo', {
47232
+ props: {
47233
+ options: []
47234
+ }
47235
+ });
47236
+ var injectBrushIdx = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('brushIdx', {
47237
+ start: 0,
47238
+ end: 0,
47239
+ isUseButton: false,
47240
+ isUseScroll: false
47241
+ });
47242
+ var injectBrushSeries = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["inject"])('brushSeries', {
47243
+ list: [],
47244
+ chartIdx: null
47245
+ });
47246
+
47247
+ var _useBrushModel = uses_useBrushModel(),
47248
+ getNormalizedBrushOptions = _useBrushModel.getNormalizedBrushOptions;
47249
+
47250
+ var evChartBrushOptions = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () {
47251
+ return getNormalizedBrushOptions(props.options);
47252
+ });
47253
+
47254
+ var _useModel = chart_uses_useModel(),
47255
+ eventListeners = _useModel.eventListeners,
47256
+ selectItemInfo = _useModel.selectItemInfo,
47257
+ selectLabelInfo = _useModel.selectLabelInfo,
47258
+ selectSeriesInfo = _useModel.selectSeriesInfo,
47259
+ getNormalizedData = _useModel.getNormalizedData,
47260
+ getNormalizedOptions = _useModel.getNormalizedOptions;
47261
+
47262
+ var evChartData = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () {
47263
+ var _injectEvChartClone$d;
47264
+
47265
+ return getNormalizedData(((_injectEvChartClone$d = injectEvChartClone.data) !== null && _injectEvChartClone$d !== void 0 ? _injectEvChartClone$d : [])[evChartBrushOptions.value.chartIdx]);
47266
+ });
47267
+ var evChartOption = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () {
47268
+ var _chartOption$axesX, _chartOption$axesY;
47269
+
47270
+ var chartOption = injectEvChartInfo.props.options[evChartBrushOptions.value.chartIdx];
47271
+
47272
+ var option = _objectSpread2(_objectSpread2({}, chartOption), {}, {
47273
+ brush: _objectSpread2({
47274
+ use: true
47275
+ }, evChartBrushOptions.value),
47276
+ height: evChartBrushOptions.value.height,
47277
+ zoom: {
47278
+ use: false
47279
+ },
47280
+ dragSelection: {
47281
+ use: false
47282
+ },
47283
+ title: {
47284
+ show: false
47285
+ },
47286
+ tooltip: {
47287
+ use: false
47288
+ },
47289
+ legend: {
47290
+ show: false
47291
+ },
47292
+ selectLabel: {
47293
+ use: false
47294
+ },
47295
+ selectSeries: {
47296
+ use: false
47297
+ },
47298
+ axesX: [_objectSpread2(_objectSpread2({}, chartOption === null || chartOption === void 0 ? void 0 : (_chartOption$axesX = chartOption.axesX) === null || _chartOption$axesX === void 0 ? void 0 : _chartOption$axesX[0]), {}, {
47299
+ title: {
47300
+ use: false
47301
+ }
47302
+ })],
47303
+ axesY: [_objectSpread2(_objectSpread2({}, chartOption === null || chartOption === void 0 ? void 0 : (_chartOption$axesY = chartOption.axesY) === null || _chartOption$axesY === void 0 ? void 0 : _chartOption$axesY[0]), {}, {
47304
+ title: {
47305
+ use: false
47306
+ }
47307
+ })]
47308
+ });
47309
+
47310
+ return getNormalizedOptions(option);
47311
+ });
47312
+
47313
+ var _useWrapper = uses_useWrapper(evChartOption.value),
47314
+ evChartBrushRef = _useWrapper.wrapper,
47315
+ evChartBrushStyle = _useWrapper.wrapperStyle;
47316
+
47317
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () {
47318
+ return injectBrushSeries.list;
47319
+ }, function () {
47320
+ if (evChartBrushRef.value && injectBrushSeries.chartIdx === evChartBrushOptions.value.chartIdx) {
47321
+ evChart.seriesList = injectBrushSeries.list[evChartBrushOptions.value.chartIdx];
47322
+ evChart.update({
47323
+ updateSeries: false,
47324
+ updateSelTip: {
47325
+ update: false,
47326
+ keepDomain: false
47327
+ }
47328
+ });
47329
+ }
47330
+ });
47331
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(evChartOption, function (newOpt, prevOpt) {
47332
+ var _injectEvChartClone$d2;
47333
+
47334
+ if (newOpt.brush.chartIdx <= ((_injectEvChartClone$d2 = injectEvChartClone.data) === null || _injectEvChartClone$d2 === void 0 ? void 0 : _injectEvChartClone$d2.length) - 1) {
47335
+ if (evChartBrush && !lodash_es_isEqual(prevOpt.brush, newOpt.brush)) {
47336
+ evChartBrush.removeBrushWrapper();
47337
+ } else if (evChart && !lodash_es_isEqual(newOpt, prevOpt)) {
47338
+ evChart.options = lodash_es_cloneDeep(newOpt);
47339
+ evChart.update({
47340
+ updateSeries: false,
47341
+ updateSelTip: {
47342
+ update: false,
47343
+ keepDomain: false
47344
+ }
47345
+ });
47346
+ }
47347
+ } else {
47348
+ evChart.data = lodash_es_cloneDeep(evChartData.value);
47349
+ evChart.update({
47350
+ updateSeries: true,
47351
+ updateSelTip: {
47352
+ update: false,
47353
+ keepDomain: false
47354
+ },
47355
+ updateData: false
47356
+ });
47357
+ evChartBrush.removeBrushCanvas();
47358
+ }
47359
+ });
47360
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () {
47361
+ return injectEvChartClone.data;
47362
+ }, function (newData) {
47363
+ if (evChart) {
47364
+ var data = newData[evChartBrushOptions.value.chartIdx];
47365
+
47366
+ if (data) {
47367
+ var isUpdateSeries = !lodash_es_isEqual(data.series, evChart.data.series);
47368
+ var seriesList = injectBrushSeries.list[evChartBrushOptions.value.chartIdx];
47369
+
47370
+ if (seriesList) {
47371
+ Object.keys(data.series).forEach(function (series) {
47372
+ data.series[series].show = seriesList[series].show;
47373
+ });
47374
+ }
47375
+
47376
+ evChart.data = lodash_es_cloneDeep(data);
47377
+ evChart.update({
47378
+ updateSeries: isUpdateSeries,
47379
+ updateSelTip: {
47380
+ update: false,
47381
+ keepDomain: false
47382
+ },
47383
+ updateData: false
47384
+ });
47385
+ }
47386
+ }
47387
+ });
47388
+
47389
+ var createChart = function createChart() {
47390
+ var selected;
47391
+
47392
+ if (evChartOption.value.selectLabel.use) {
47393
+ selected = selectLabelInfo;
47394
+ } else if (evChartOption.value.selectSeries.use) {
47395
+ selected = selectSeriesInfo;
47396
+ }
47397
+
47398
+ evChart = new chart_core(evChartBrushRef.value, evChartData.value, evChartOption.value, eventListeners, selectItemInfo, selected);
47399
+ };
47400
+
47401
+ var createChartBrush = function createChartBrush() {
47402
+ evChartBrush = new chartBrush_core_EvChartBrush(evChart, evChartData, evChartBrushOptions, injectBrushIdx, evChartBrushRef);
47403
+ };
47404
+
47405
+ var drawChart = function drawChart() {
47406
+ if (evChart) {
47407
+ evChart.init();
47408
+ }
47409
+ };
47410
+
47411
+ var drawChartBrush = function drawChartBrush(isResize) {
47412
+ if (evChartBrush) {
47413
+ evChartBrush.init(isResize);
47414
+ }
47415
+ };
47416
+
47417
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () {
47418
+ return [injectBrushIdx.start, injectBrushIdx.end];
47419
+ }, function () {
47420
+ var _injectEvChartClone$d3;
47421
+
47422
+ if (evChartBrushRef.value && evChartBrushOptions.value.chartIdx <= ((_injectEvChartClone$d3 = injectEvChartClone.data) === null || _injectEvChartClone$d3 === void 0 ? void 0 : _injectEvChartClone$d3.length) - 1) {
47423
+ drawChartBrush();
47424
+ }
47425
+ });
47426
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onMounted"])( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
47427
+ return regeneratorRuntime.wrap(function _callee$(_context) {
47428
+ while (1) {
47429
+ switch (_context.prev = _context.next) {
47430
+ case 0:
47431
+ if (!evChartBrushOptions.value.show) {
47432
+ _context.next = 7;
47433
+ break;
47434
+ }
47435
+
47436
+ _context.next = 3;
47437
+ return createChart();
47438
+
47439
+ case 3:
47440
+ _context.next = 5;
47441
+ return drawChart();
47442
+
47443
+ case 5:
47444
+ createChartBrush();
47445
+ drawChartBrush();
47446
+
47447
+ case 7:
47448
+ case "end":
47449
+ return _context.stop();
47450
+ }
47451
+ }
47452
+ }, _callee);
47453
+ })));
47454
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onUpdated"])( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
47455
+ var _injectEvChartClone$d4, seriesList;
47456
+
47457
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
47458
+ while (1) {
47459
+ switch (_context2.prev = _context2.next) {
47460
+ case 0:
47461
+ if (!evChartBrushOptions.value.show) {
47462
+ _context2.next = 10;
47463
+ break;
47464
+ }
47465
+
47466
+ if (!(evChartBrushOptions.value.chartIdx <= ((_injectEvChartClone$d4 = injectEvChartClone.data) === null || _injectEvChartClone$d4 === void 0 ? void 0 : _injectEvChartClone$d4.length) - 1)) {
47467
+ _context2.next = 10;
47468
+ break;
47469
+ }
47470
+
47471
+ seriesList = injectBrushSeries.list[evChartBrushOptions.value.chartIdx];
47472
+
47473
+ if (seriesList) {
47474
+ Object.keys(evChartData.value.series).forEach(function (series) {
47475
+ evChartData.value.series[series].show = seriesList[series].show;
47476
+ });
47477
+ }
47478
+
47479
+ _context2.next = 6;
47480
+ return createChart();
47481
+
47482
+ case 6:
47483
+ _context2.next = 8;
47484
+ return drawChart();
47485
+
47486
+ case 8:
47487
+ createChartBrush();
47488
+ drawChartBrush();
47489
+
47490
+ case 10:
47491
+ case "end":
47492
+ return _context2.stop();
47493
+ }
47494
+ }
47495
+ }, _callee2);
47496
+ })));
47497
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onBeforeUnmount"])(function () {
47498
+ if (evChart && 'destroy' in evChart) {
47499
+ evChart.destroy();
47500
+ }
47501
+
47502
+ if (evChartBrush) {
47503
+ evChartBrush.destroy();
47504
+ }
47505
+ });
47506
+ Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onDeactivated"])(function () {
47507
+ if (evChart && 'hideTooltip' in evChart) {
47508
+ evChart.hideTooltip();
47509
+ }
47510
+ });
47511
+ /**
47512
+ * @param {boolean} isResizeDone resizing complete status
47513
+ *
47514
+ * @returns {undefined}
47515
+ */
47516
+
47517
+ var onResize = lodash_es_debounce(function () {
47518
+ if (evChart && 'resize' in evChart) {
47519
+ var resize = new Promise(function (resolve) {
47520
+ return evChart.resize(resolve);
47521
+ });
47522
+ resize.then(function (isResizeDone) {
47523
+ if (isResizeDone) {
47524
+ drawChartBrush(isResizeDone);
47525
+ }
47526
+ });
47527
+ }
47528
+ }, 0);
47529
+ return {
47530
+ evChartBrushOptions: evChartBrushOptions,
47531
+ evChartBrushRef: evChartBrushRef,
47532
+ evChartBrushStyle: evChartBrushStyle,
47533
+ onResize: onResize
47534
+ };
47535
+ }
47536
+ });
47537
+ // CONCATENATED MODULE: ./src/components/chartBrush/ChartBrush.vue?vue&type=script&lang=js
47538
+
47539
+ // CONCATENATED MODULE: ./src/components/chartBrush/ChartBrush.vue
47540
+
47541
+
47542
+
47543
+
47544
+
47545
+ const ChartBrush_exports_ = /*#__PURE__*/exportHelper_default()(ChartBrushvue_type_script_lang_js, [['render',ChartBrushvue_type_template_id_1b10467a_render]])
47546
+
47547
+ /* harmony default export */ var ChartBrush = (ChartBrush_exports_);
47548
+ // CONCATENATED MODULE: ./src/components/chartBrush/index.js
47549
+
47550
+
47551
+
47552
+
47553
+ ChartBrush.install = function (app) {
47554
+ app.component(ChartBrush.name, ChartBrush);
47555
+ app.use(dist_default.a);
47556
+ };
47557
+
47558
+ /* harmony default export */ var chartBrush = (ChartBrush);
45309
47559
  // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/components/treeGrid/TreeGrid.vue?vue&type=template&id=99e6d310&scoped=true
45310
47560
 
45311
47561
 
@@ -47726,22 +49976,27 @@ function Paginationvue_type_template_id_541b906a_render(_ctx, _cache, $props, $s
47726
49976
  }
47727
49977
  // CONCATENATED MODULE: ./src/components/pagination/Pagination.vue?vue&type=template&id=541b906a
47728
49978
 
47729
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/components/pagination/pageButton.vue?vue&type=template&id=dcd27724
49979
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/components/pagination/pageButton.vue?vue&type=template&id=530eda26
47730
49980
 
47731
49981
 
47732
- function pageButtonvue_type_template_id_dcd27724_render(_ctx, _cache, $props, $setup, $data, $options) {
49982
+ function pageButtonvue_type_template_id_530eda26_render(_ctx, _cache, $props, $setup, $data, $options) {
47733
49983
  return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])("span", Object(external_commonjs_vue_commonjs2_vue_root_Vue_["mergeProps"])({
47734
49984
  class: _defineProperty({
47735
49985
  'is-current': $props.page.isCurrent,
47736
49986
  'is-disabled': $props.disabled || $props.page.disabled
47737
49987
  }, $props.page.class, true)
47738
49988
  }, _ctx.$attrs, {
47739
- "aria-current": $props.page.isCurrent
49989
+ "aria-current": $props.page.isCurrent,
49990
+ onClick: _cache[1] || (_cache[1] = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withModifiers"])(function () {
49991
+ var _$props$page;
49992
+
49993
+ return $props.page.click && (_$props$page = $props.page).click.apply(_$props$page, arguments);
49994
+ }, ["stop"]))
47740
49995
  }), [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderSlot"])(_ctx.$slots, "default", {}, function () {
47741
49996
  return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])($props.page.number), 1)];
47742
49997
  })], 16, ["aria-current"]);
47743
49998
  }
47744
- // CONCATENATED MODULE: ./src/components/pagination/pageButton.vue?vue&type=template&id=dcd27724
49999
+ // CONCATENATED MODULE: ./src/components/pagination/pageButton.vue?vue&type=template&id=530eda26
47745
50000
 
47746
50001
  // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/components/pagination/pageButton.vue?vue&type=script&lang=js
47747
50002
  /* harmony default export */ var pageButtonvue_type_script_lang_js = ({
@@ -47765,7 +50020,7 @@ function pageButtonvue_type_template_id_dcd27724_render(_ctx, _cache, $props, $s
47765
50020
 
47766
50021
 
47767
50022
 
47768
- const pageButton_exports_ = /*#__PURE__*/exportHelper_default()(pageButtonvue_type_script_lang_js, [['render',pageButtonvue_type_template_id_dcd27724_render]])
50023
+ const pageButton_exports_ = /*#__PURE__*/exportHelper_default()(pageButtonvue_type_script_lang_js, [['render',pageButtonvue_type_template_id_530eda26_render]])
47769
50024
 
47770
50025
  /* harmony default export */ var pageButton = (pageButton_exports_);
47771
50026
  // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/components/pagination/Pagination.vue?vue&type=script&lang=js
@@ -48009,7 +50264,9 @@ var package_0 = __webpack_require__("9224");
48009
50264
 
48010
50265
 
48011
50266
 
48012
- var components = [tabs, tabPanel, components_button, buttonGroup, components_checkbox, checkboxGroup, components_radio, radioGroup, components_select, toggle, textField, inputNumber, components_slider, components_icon, calendar, components_datePicker, scheduler, components_contextMenu, components_window, loading, progress, components_menu, tree, timePicker, grid, chart, components_message, components_notification, components_messageBox, treeGrid, pagination];
50267
+
50268
+
50269
+ var components = [tabs, tabPanel, components_button, buttonGroup, components_checkbox, checkboxGroup, components_radio, radioGroup, components_select, toggle, textField, inputNumber, components_slider, components_icon, calendar, components_datePicker, scheduler, components_contextMenu, components_window, loading, progress, components_menu, tree, timePicker, grid, chart, chartGroup, chartBrush, components_message, components_notification, components_messageBox, treeGrid, pagination];
48013
50270
 
48014
50271
  var install = function install(app) {
48015
50272
  if (!app) {