evui 3.3.38 → 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 (32) hide show
  1. package/dist/evui.common.js +2447 -198
  2. package/dist/evui.common.js.map +1 -1
  3. package/dist/evui.umd.js +2447 -198
  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/grid/uses.js +2 -7
  30. package/src/components/pagination/pageButton.vue +1 -0
  31. package/src/components/treeGrid/uses.js +1 -1
  32. 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.38\"}");
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
 
@@ -29961,15 +30041,7 @@ var uses_contextMenuEvent = function contextMenuEvent(params) {
29961
30041
 
29962
30042
  var onContextMenu = function onContextMenu(event) {
29963
30043
  var target = event.target;
29964
- var tagName = target.tagName.toLowerCase();
29965
- var rowIndex;
29966
-
29967
- if (tagName === 'td') {
29968
- rowIndex = target.parentElement.dataset.index;
29969
- } else {
29970
- rowIndex = target.parentElement.parentElement.dataset.index;
29971
- }
29972
-
30044
+ var rowIndex = target.closest('.row').dataset.index;
29973
30045
  var clickedRow;
29974
30046
 
29975
30047
  if (rowIndex) {
@@ -30821,18 +30893,27 @@ Grid.install = function (app) {
30821
30893
  };
30822
30894
 
30823
30895
  /* harmony default export */ var grid = (Grid);
30824
- // 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");
30825
30904
 
30826
- function Chartvue_type_template_id_ca3428ac_render(_ctx, _cache, $props, $setup, $data, $options) {
30827
30905
  var _directive_resize = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDirective"])("resize");
30828
30906
 
30829
- 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", {
30830
30911
  ref: "wrapper",
30831
30912
  style: $setup.wrapperStyle,
30832
30913
  class: "ev-chart"
30833
- }, null, 4)), [[_directive_resize, $setup.onResize]]);
30914
+ }, null, 4), [[_directive_resize, $setup.onResize]])], 64);
30834
30915
  }
30835
- // 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
30836
30917
 
30837
30918
  // CONCATENATED MODULE: ./node_modules/lodash-es/_arrayEach.js
30838
30919
  /**
@@ -33174,17 +33255,49 @@ var modules = {
33174
33255
 
33175
33256
  return findInfo;
33176
33257
  },
33177
- getItem: function getItem(_ref3) {
33178
- var seriesID = _ref3.seriesID,
33179
- dataIndex = _ref3.dataIndex;
33258
+ getItem: function getItem(selectedInfo) {
33259
+ var _this6 = this;
33260
+
33180
33261
  var useApproximate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
33181
- var dataInfo = this.getDataByValues(seriesID, dataIndex);
33262
+ var seriesID = selectedInfo.seriesID,
33263
+ dataIndex = selectedInfo.dataIndex;
33264
+ var itemPosition;
33182
33265
 
33183
- if (!dataInfo || !(dataInfo !== null && dataInfo !== void 0 && dataInfo.xp) || !(dataInfo !== null && dataInfo !== void 0 && dataInfo.yp)) {
33184
- 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
+ });
33185
33298
  }
33186
33299
 
33187
- return this.getItemByPosition([dataInfo.xp, dataInfo.yp], useApproximate);
33300
+ return itemPosition;
33188
33301
  },
33189
33302
 
33190
33303
  /**
@@ -33290,7 +33403,7 @@ var modules = {
33290
33403
  * @returns {object} clicked series id
33291
33404
  */
33292
33405
  getSeriesIdByPosition: function getSeriesIdByPosition(offset) {
33293
- var _this6 = this;
33406
+ var _this7 = this;
33294
33407
 
33295
33408
  var _offset = _slicedToArray(offset, 2),
33296
33409
  clickedX = _offset[0],
@@ -33324,8 +33437,8 @@ var modules = {
33324
33437
  case 'line':
33325
33438
  {
33326
33439
  var orderedSeriesList = this.seriesInfo.charts.line;
33327
- var isStackChart = Object.values(this.seriesList).some(function (_ref4) {
33328
- var stackIndex = _ref4.stackIndex;
33440
+ var isStackChart = Object.values(this.seriesList).some(function (_ref3) {
33441
+ var stackIndex = _ref3.stackIndex;
33329
33442
  return stackIndex;
33330
33443
  });
33331
33444
 
@@ -33344,16 +33457,16 @@ var modules = {
33344
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
33345
33458
  };
33346
33459
  });
33347
- hitSeries = (_positionList$find = positionList.find(function (_ref5) {
33348
- var position = _ref5.position;
33460
+ hitSeries = (_positionList$find = positionList.find(function (_ref4) {
33461
+ var position = _ref4.position;
33349
33462
  return clickedY > position;
33350
33463
  })) === null || _positionList$find === void 0 ? void 0 : _positionList$find.sId;
33351
33464
  } else {
33352
33465
  var _Object$entries$find;
33353
33466
 
33354
- hitSeries = (_Object$entries$find = Object.entries(hitItem.items).find(function (_ref6) {
33355
- var _ref7 = _slicedToArray(_ref6, 2),
33356
- 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;
33357
33470
 
33358
33471
  return hit;
33359
33472
  })) === null || _Object$entries$find === void 0 ? void 0 : _Object$entries$find[0];
@@ -33363,29 +33476,29 @@ var modules = {
33363
33476
 
33364
33477
  // 클릭한 위치에 data 가 존재하지 않는 경우
33365
33478
  var visibleSeriesList = orderedSeriesList.filter(function (sId) {
33366
- return _this6.seriesList[sId].show;
33479
+ return _this7.seriesList[sId].show;
33367
33480
  });
33368
33481
  positionList = visibleSeriesList.map(function (sId) {
33369
- var _this6$seriesList$sId;
33482
+ var _this7$seriesList$sId;
33370
33483
 
33371
33484
  return {
33372
33485
  sId: sId,
33373
- position: (_this6$seriesList$sId = _this6.seriesList[sId].data) === null || _this6$seriesList$sId === void 0 ? void 0 : _this6$seriesList$sId.map(function (_ref8) {
33374
- var xp = _ref8.xp,
33375
- 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;
33376
33489
  return [xp, yp];
33377
33490
  })
33378
33491
  };
33379
33492
  });
33380
- var dataIndex = (_positionList$0$posit = positionList[0].position) === null || _positionList$0$posit === void 0 ? void 0 : _positionList$0$posit.findIndex(function (_ref9) {
33381
- var _ref10 = _slicedToArray(_ref9, 1),
33382
- 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];
33383
33496
 
33384
33497
  return xp >= clickedX;
33385
33498
  });
33386
- var vectorList = positionList.map(function (_ref11) {
33387
- var sId = _ref11.sId,
33388
- position = _ref11.position;
33499
+ var vectorList = positionList.map(function (_ref10) {
33500
+ var sId = _ref10.sId,
33501
+ position = _ref10.position;
33389
33502
  return {
33390
33503
  sId: sId,
33391
33504
  vector: {
@@ -33403,8 +33516,8 @@ var modules = {
33403
33516
  if (isStackChart) {
33404
33517
  var _vectorList$find;
33405
33518
 
33406
- hitSeries = (_vectorList$find = vectorList.find(function (_ref12) {
33407
- var vector = _ref12.vector;
33519
+ hitSeries = (_vectorList$find = vectorList.find(function (_ref11) {
33520
+ var vector = _ref11.vector;
33408
33521
 
33409
33522
  if (isEmptyVector(vector === null || vector === void 0 ? void 0 : vector.start) && isEmptyVector(vector === null || vector === void 0 ? void 0 : vector.end)) {
33410
33523
  return false;
@@ -33430,8 +33543,8 @@ var modules = {
33430
33543
  } else {
33431
33544
  var _vectorList$find2;
33432
33545
 
33433
- hitSeries = (_vectorList$find2 = vectorList.find(function (_ref13) {
33434
- var vector = _ref13.vector;
33546
+ hitSeries = (_vectorList$find2 = vectorList.find(function (_ref12) {
33547
+ var vector = _ref12.vector;
33435
33548
 
33436
33549
  if (isEmptyVector(vector === null || vector === void 0 ? void 0 : vector.start) && isEmptyVector(vector === null || vector === void 0 ? void 0 : vector.end)) {
33437
33550
  return false;
@@ -33514,7 +33627,7 @@ var modules = {
33514
33627
  * @returns {object} min/max info for all of data
33515
33628
  */
33516
33629
  getStoreMinMax: function getStoreMinMax() {
33517
- var _this7 = this;
33630
+ var _this8 = this;
33518
33631
 
33519
33632
  var keys = Object.keys(this.seriesList);
33520
33633
  var isHorizontal = this.options.horizontal;
@@ -33532,7 +33645,7 @@ var modules = {
33532
33645
  if (keys.length) {
33533
33646
  return keys.reduce(function (acc, key) {
33534
33647
  var minmax = acc;
33535
- var series = _this7.seriesList[key];
33648
+ var series = _this8.seriesList[key];
33536
33649
  var smm = series.minMax;
33537
33650
  var axisX = series.xAxisIndex;
33538
33651
  var axisY = series.yAxisIndex;
@@ -35022,7 +35135,8 @@ var element_line_Line = /*#__PURE__*/function () {
35022
35135
  axesSteps = param.axesSteps,
35023
35136
  selectLabel = param.selectLabel,
35024
35137
  selectSeries = param.selectSeries,
35025
- legendHitInfo = param.legendHitInfo; // about selectLabel
35138
+ legendHitInfo = param.legendHitInfo,
35139
+ isBrush = param.isBrush; // about selectLabel
35026
35140
 
35027
35141
  var selectLabelOption = selectLabel === null || selectLabel === void 0 ? void 0 : selectLabel.option;
35028
35142
  var useSelectLabel = (selectLabelOption === null || selectLabelOption === void 0 ? void 0 : selectLabelOption.use) && (selectLabelOption === null || selectLabelOption === void 0 ? void 0 : selectLabelOption.useSeriesOpacity);
@@ -35158,7 +35272,7 @@ var element_line_Line = /*#__PURE__*/function () {
35158
35272
  } // Draw points
35159
35273
 
35160
35274
 
35161
- if (this.point || useSelectLabel) {
35275
+ if (!isBrush && (this.point || useSelectLabel)) {
35162
35276
  ctx.strokeStyle = helpers_util.colorStringToRgba(mainColor, mainColorOpacity);
35163
35277
  var focusStyle = helpers_util.colorStringToRgba(pointFillColor, 1);
35164
35278
  var blurStyle = helpers_util.colorStringToRgba(pointFillColor, pointFillColorOpacity);
@@ -35394,6 +35508,8 @@ var merge = _createAssigner(function(object, source, srcIndex) {
35394
35508
 
35395
35509
 
35396
35510
 
35511
+
35512
+
35397
35513
  var element_scatter_Scatter = /*#__PURE__*/function () {
35398
35514
  function Scatter(sId, opt, sIdx) {
35399
35515
  var _this = this;
@@ -35439,6 +35555,7 @@ var element_scatter_Scatter = /*#__PURE__*/function () {
35439
35555
  var chartRect = param.chartRect;
35440
35556
  var labelOffset = param.labelOffset;
35441
35557
  var axesSteps = param.axesSteps;
35558
+ var displayOverflow = param.displayOverflow;
35442
35559
  var x;
35443
35560
  var y;
35444
35561
  var aliasPixel;
@@ -35448,6 +35565,15 @@ var element_scatter_Scatter = /*#__PURE__*/function () {
35448
35565
  var yArea = chartRect.chartHeight - (labelOffset.top + labelOffset.bottom);
35449
35566
  var xsp = chartRect.x1 + labelOffset.left;
35450
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
+
35451
35577
  this.data.forEach(function (item) {
35452
35578
  x = helpers_canvas.calculateX(item.x, minmaxX.graphMin, minmaxX.graphMax, xArea, xsp);
35453
35579
  y = helpers_canvas.calculateY(item.y, minmaxY.graphMin, minmaxY.graphMax, yArea, ysp);
@@ -37771,10 +37897,13 @@ var scale_Scale = /*#__PURE__*/function () {
37771
37897
  var labelPoint = void 0;
37772
37898
 
37773
37899
  if (this.type === 'x') {
37774
- var _options$selectItem, _this$options3;
37900
+ var _options$brush, _options$selectItem, _this$options3;
37775
37901
 
37776
37902
  labelPoint = this.position === 'top' ? offsetPoint - 10 : offsetPoint + 10;
37777
- 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
+ }
37778
37907
 
37779
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)) {
37780
37909
  var selectedLabel = this.getLabelFormat(Math.min(axisMax, hitInfo.label + 0 * stepValue));
@@ -37803,11 +37932,16 @@ var scale_Scale = /*#__PURE__*/function () {
37803
37932
  ctx.lineTo(linePosition, offsetCounterPoint);
37804
37933
  }
37805
37934
  } else {
37935
+ var _options$brush2;
37936
+
37806
37937
  labelPoint = this.position === 'left' ? offsetPoint - 10 : offsetPoint + 10;
37807
- 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
+ }
37808
37942
 
37809
37943
  if (ix === steps) {
37810
- linePosition += 1;
37944
+ linePosition -= 1;
37811
37945
  }
37812
37946
 
37813
37947
  if (ix !== 0 && this.showGrid) {
@@ -39578,7 +39712,8 @@ var plugins_legend_modules = {
39578
39712
  _this3.addLegend({
39579
39713
  cId: colorItem.id,
39580
39714
  color: colorItem.color,
39581
- name: name
39715
+ name: name,
39716
+ show: true
39582
39717
  });
39583
39718
  }
39584
39719
  }
@@ -39637,6 +39772,7 @@ var plugins_legend_modules = {
39637
39772
 
39638
39773
  this.onLegendBoxClick = function (e) {
39639
39774
  var opt = _this4.options.legend;
39775
+ var chartIdx = _this4.data.chartIdx;
39640
39776
 
39641
39777
  var targetDOM = _this4.getContainerDOM(e);
39642
39778
 
@@ -39697,6 +39833,14 @@ var plugins_legend_modules = {
39697
39833
  series.show = !series.show;
39698
39834
  targetDOM.classList.toggle('inactive');
39699
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
+
39700
39844
  _this4.update({
39701
39845
  updateSeries: false,
39702
39846
  updateSelTip: {
@@ -41415,6 +41559,11 @@ var plugins_interaction_modules = {
41415
41559
 
41416
41560
 
41417
41561
  this.onClick = function (e) {
41562
+ if (_this.isMouseMove) {
41563
+ _this.isMouseMove = false;
41564
+ return;
41565
+ }
41566
+
41418
41567
  var args = {
41419
41568
  e: e
41420
41569
  };
@@ -41568,6 +41717,7 @@ var plugins_interaction_modules = {
41568
41717
  var xep;
41569
41718
  var yep;
41570
41719
  dragInfo.isMove = true;
41720
+ _this2.isMouseMove = true;
41571
41721
 
41572
41722
  if (aOffsetX < aRange.x1) {
41573
41723
  xep = aRange.x1;
@@ -41626,6 +41776,8 @@ var plugins_interaction_modules = {
41626
41776
  var dragInfo = _this2.dragInfo;
41627
41777
 
41628
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
+
41629
41781
  var args = {
41630
41782
  e: e,
41631
41783
  data: _this2.findSelectedItems(dragInfo),
@@ -41633,13 +41785,28 @@ var plugins_interaction_modules = {
41633
41785
  };
41634
41786
  _this2.dragInfoBackup = lodash_es_defaultsDeep({}, dragInfo);
41635
41787
 
41636
- 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)) {
41637
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);
41638
41805
  }
41639
- }
41640
41806
 
41641
- if (!_this2.options.dragSelection.keepDisplay) {
41642
- _this2.removeSelectionArea();
41807
+ if (!_this2.options.dragSelection.keepDisplay) {
41808
+ _this2.removeSelectionArea();
41809
+ }
41643
41810
  }
41644
41811
 
41645
41812
  _this2.dragInfo = null;
@@ -43162,6 +43329,8 @@ var element_tip_modules = {
43162
43329
  * @returns {undefined}
43163
43330
  */
43164
43331
  drawTips: function drawTips(tipLocationInfo) {
43332
+ var _this = this;
43333
+
43165
43334
  var opt = this.options;
43166
43335
  var isHorizontal = !!opt.horizontal;
43167
43336
  var maxTipOpt = opt.maxTip;
@@ -43170,75 +43339,83 @@ var element_tip_modules = {
43170
43339
  var maxArgs;
43171
43340
  var isExistSelectedLabel;
43172
43341
 
43173
- if (labelTipOpt.use && labelTipOpt.showTip) {
43174
- isExistSelectedLabel = this.drawLabelTip();
43175
- }
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];
43176
43346
 
43177
- if (selTipOpt.use && tipLocationInfo && !isExistSelectedLabel) {
43178
- 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
+ }
43179
43350
 
43180
- if (!(seriesInfo !== null && seriesInfo !== void 0 && seriesInfo.show)) {
43181
- return;
43182
- }
43351
+ var selArgs = _this.calculateTipInfo(seriesInfo, 'sel', tipInfo);
43183
43352
 
43184
- var selArgs = this.calculateTipInfo(seriesInfo, 'sel', tipLocationInfo);
43353
+ if (selArgs) {
43354
+ var _maxArgs;
43185
43355
 
43186
- if (selArgs) {
43187
- var _maxArgs;
43356
+ var isSamePos = false;
43188
43357
 
43189
- var isSamePos = false;
43358
+ if (maxTipOpt.use && ((_maxArgs = maxArgs) === null || _maxArgs === void 0 ? void 0 : _maxArgs.dp) === selArgs.dp) {
43359
+ isSamePos = true;
43360
+ }
43190
43361
 
43191
- if (maxTipOpt.use && ((_maxArgs = maxArgs) === null || _maxArgs === void 0 ? void 0 : _maxArgs.dp) === selArgs.dp) {
43192
- isSamePos = true;
43193
- }
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
+ }
43194
43370
 
43195
- if (selTipOpt.showTextTip || selTipOpt.showTip) {
43196
- if (selTipOpt.tipText === 'label') {
43197
- var axisOpt = isHorizontal ? opt.axesY[0] : opt.axesX[0];
43198
- var label = selArgs.label;
43199
- selArgs.text = axisOpt.type === 'time' ? dayjs_min_default()(label).format(axisOpt.timeFormat) : label;
43200
- } else {
43201
- selArgs.text = numberWithComma(selArgs.value);
43202
- }
43371
+ _this.drawTextTip(_objectSpread2({
43372
+ opt: tipOpt,
43373
+ tipType: 'sel',
43374
+ seriesOpt: seriesInfo,
43375
+ isSamePos: isSamePos
43376
+ }, selArgs));
43377
+ }
43203
43378
 
43204
- this.drawTextTip(_objectSpread2({
43205
- opt: selTipOpt,
43206
- tipType: 'sel',
43207
- seriesOpt: seriesInfo,
43208
- isSamePos: isSamePos
43209
- }, selArgs));
43210
- }
43379
+ if (tipOpt.showIndicator) {
43380
+ _this.drawFixedIndicator(_objectSpread2({
43381
+ opt: tipOpt,
43382
+ seriesOpt: seriesInfo
43383
+ }, selArgs));
43384
+ }
43385
+ }
43211
43386
 
43212
- if (selTipOpt.showIndicator) {
43213
- this.drawFixedIndicator(_objectSpread2({
43214
- opt: selTipOpt,
43215
- seriesOpt: seriesInfo
43216
- }, 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
+ }
43217
43390
  }
43218
- }
43391
+ });
43392
+ };
43219
43393
 
43220
- if (tipLocationInfo && tipLocationInfo !== null && tipLocationInfo !== void 0 && tipLocationInfo.label && (tipLocationInfo === null || tipLocationInfo === void 0 ? void 0 : tipLocationInfo.label) === 0) {
43221
- this.lastHitInfo = tipLocationInfo;
43394
+ if (tipLocationInfo) {
43395
+ if (selTipOpt.use) {
43396
+ executeDrawTip(selTipOpt);
43397
+ } else if (labelTipOpt.use) {
43398
+ executeDrawTip(labelTipOpt);
43222
43399
  }
43223
43400
  }
43224
43401
 
43225
43402
  if (maxTipOpt.use && !isExistSelectedLabel) {
43226
43403
  var maxSID = this.minMax[isHorizontal ? 'x' : 'y'][0].maxSID;
43227
- var _seriesInfo = this.seriesList[maxSID];
43228
- maxArgs = this.calculateTipInfo(_seriesInfo, 'max', null);
43404
+ var seriesInfo = this.seriesList[maxSID];
43405
+ maxArgs = this.calculateTipInfo(seriesInfo, 'max', null);
43229
43406
 
43230
43407
  if (maxTipOpt.use && maxArgs) {
43231
43408
  maxArgs.text = numberWithComma(maxArgs.value);
43232
43409
  this.drawTextTip(_objectSpread2({
43233
43410
  opt: maxTipOpt,
43234
43411
  tipType: 'max',
43235
- seriesOpt: _seriesInfo
43412
+ seriesOpt: seriesInfo
43236
43413
  }, maxArgs));
43237
43414
 
43238
43415
  if (maxTipOpt.showIndicator) {
43239
43416
  this.drawFixedIndicator(_objectSpread2({
43240
43417
  opt: maxTipOpt,
43241
- seriesOpt: _seriesInfo
43418
+ seriesOpt: seriesInfo
43242
43419
  }, maxArgs));
43243
43420
  }
43244
43421
  }
@@ -43422,7 +43599,7 @@ var element_tip_modules = {
43422
43599
  * @returns {boolean} Whether drew at least one tip
43423
43600
  */
43424
43601
  drawLabelTip: function drawLabelTip() {
43425
- var _this = this;
43602
+ var _this2 = this;
43426
43603
 
43427
43604
  var opt = this.options;
43428
43605
  var isHorizontal = !!opt.horizontal;
@@ -43458,10 +43635,10 @@ var element_tip_modules = {
43458
43635
  offset *= isHorizontal ? 1 : -1;
43459
43636
  var seriesList = Object.keys((_this$seriesList = this.seriesList) !== null && _this$seriesList !== void 0 ? _this$seriesList : {});
43460
43637
  var visibleSeries = seriesList.filter(function (sId) {
43461
- return _this.seriesList[sId].show;
43638
+ return _this2.seriesList[sId].show;
43462
43639
  });
43463
43640
  var isExistGrp = seriesList.some(function (sId) {
43464
- return _this.seriesList[sId].isExistGrp;
43641
+ return _this2.seriesList[sId].isExistGrp;
43465
43642
  });
43466
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$ : [];
43467
43644
  var gp;
@@ -43481,9 +43658,9 @@ var element_tip_modules = {
43481
43658
  } else {
43482
43659
  graphX = this.axesSteps.x[0];
43483
43660
  lineSeries = seriesList.find(function (sId) {
43484
- var _this$seriesList$sId;
43661
+ var _this2$seriesList$sId;
43485
43662
 
43486
- 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';
43487
43664
  });
43488
43665
  sizeObj = this.seriesList[lineSeries].size;
43489
43666
  }
@@ -43526,8 +43703,8 @@ var element_tip_modules = {
43526
43703
  gp = valuePositionCalcFunction(value, valueAxesRange.min, valueAxesRange.max, valueSpace, valueStartPoint);
43527
43704
  gp += offset;
43528
43705
 
43529
- _this.showTip({
43530
- context: _this.bufferCtx,
43706
+ _this2.showTip({
43707
+ context: _this2.bufferCtx,
43531
43708
  x: isHorizontal ? gp : dp,
43532
43709
  y: isHorizontal ? dp : gp,
43533
43710
  opt: labelTipOpt,
@@ -43779,7 +43956,7 @@ var element_tip_modules = {
43779
43956
 
43780
43957
 
43781
43958
  var chart_core_EvChart = /*#__PURE__*/function () {
43782
- function EvChart(target, data, options, listeners, defaultSelectItemInfo, defaultSelectInfo) {
43959
+ function EvChart(target, data, options, listeners, defaultSelectItemInfo, defaultSelectInfo, brushSeries) {
43783
43960
  var _this = this;
43784
43961
 
43785
43962
  _classCallCheck(this, EvChart);
@@ -43787,25 +43964,29 @@ var chart_core_EvChart = /*#__PURE__*/function () {
43787
43964
  Object.keys(model).forEach(function (key) {
43788
43965
  return Object.assign(_this, model[key]);
43789
43966
  });
43790
- Object.assign(this, plugins_title);
43791
- Object.assign(this, plugins_legend);
43792
- Object.assign(this, plugins_interaction);
43793
- Object.assign(this, plugins_tooltip);
43794
- Object.assign(this, plugins_pie);
43795
- 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
+ }
43796
43976
 
43797
43977
  if (options.type === 'heatMap' && options.legend.type === 'gradient') {
43798
43978
  Object.assign(this, plugins_legend_gradient);
43799
43979
  }
43800
43980
 
43981
+ this.brushSeries = brushSeries;
43801
43982
  this.target = target;
43802
43983
  this.data = data;
43803
43984
  this.options = options;
43804
43985
  this.listeners = listeners;
43805
43986
  this.wrapperDOM = document.createElement('div');
43806
- this.wrapperDOM.className = 'ev-chart-wrapper';
43987
+ this.wrapperDOM.className = options.brush ? 'ev-chart-brush-wrapper' : 'ev-chart-wrapper';
43807
43988
  this.chartDOM = document.createElement('div');
43808
- this.chartDOM.className = 'ev-chart-container';
43989
+ this.chartDOM.className = options.brush ? 'ev-chart-brush-container' : 'ev-chart-container';
43809
43990
  this.wrapperDOM.appendChild(this.chartDOM);
43810
43991
  this.target.appendChild(this.wrapperDOM);
43811
43992
  this.displayCanvas = document.createElement('canvas');
@@ -43814,16 +43995,21 @@ var chart_core_EvChart = /*#__PURE__*/function () {
43814
43995
  this.bufferCanvas = document.createElement('canvas');
43815
43996
  this.bufferCanvas.setAttribute('style', 'display: block;');
43816
43997
  this.bufferCtx = this.bufferCanvas.getContext('2d');
43817
- this.overlayCanvas = document.createElement('canvas');
43818
- this.overlayCanvas.setAttribute('style', 'display: block;');
43819
- this.overlayCtx = this.overlayCanvas.getContext('2d');
43820
43998
  this.pixelRatio = window.devicePixelRatio || 1;
43821
43999
  this.oldPixelRatio = this.pixelRatio;
43822
44000
  this.chartDOM.appendChild(this.displayCanvas);
43823
- this.chartDOM.appendChild(this.overlayCanvas);
43824
- this.overlayCanvas.style.position = 'absolute';
43825
- this.overlayCanvas.style.top = '0px';
43826
- 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
+
43827
44013
  this.isInitLegend = false;
43828
44014
  this.isInitTitle = false;
43829
44015
  this.isInit = false;
@@ -43855,6 +44041,8 @@ var chart_core_EvChart = /*#__PURE__*/function () {
43855
44041
  _createClass(EvChart, [{
43856
44042
  key: "init",
43857
44043
  value: function init() {
44044
+ var _this$initSelectedInf, _this$createEventFunc;
44045
+
43858
44046
  var _this$data = this.data,
43859
44047
  series = _this$data.series,
43860
44048
  data = _this$data.data,
@@ -43879,7 +44067,7 @@ var chart_core_EvChart = /*#__PURE__*/function () {
43879
44067
  this.axesY = this.createAxes('y', axesY);
43880
44068
  this.axesRange = this.getAxesRange();
43881
44069
  this.labelOffset = this.getLabelOffset();
43882
- this.initSelectedInfo();
44070
+ (_this$initSelectedInf = this.initSelectedInfo) === null || _this$initSelectedInf === void 0 ? void 0 : _this$initSelectedInf.call(this);
43883
44071
  this.drawChart();
43884
44072
 
43885
44073
  if (tooltip.use) {
@@ -43890,7 +44078,7 @@ var chart_core_EvChart = /*#__PURE__*/function () {
43890
44078
  }
43891
44079
  }
43892
44080
 
43893
- this.createEventFunctions();
44081
+ (_this$createEventFunc = this.createEventFunctions) === null || _this$createEventFunc === void 0 ? void 0 : _this$createEventFunc.call(this);
43894
44082
  this.isInit = true;
43895
44083
  }
43896
44084
  /**
@@ -43959,7 +44147,9 @@ var chart_core_EvChart = /*#__PURE__*/function () {
43959
44147
  maxTip = _this$options2.maxTip,
43960
44148
  selectLabel = _this$options2.selectLabel,
43961
44149
  selectItem = _this$options2.selectItem,
43962
- selectSeries = _this$options2.selectSeries;
44150
+ selectSeries = _this$options2.selectSeries,
44151
+ brush = _this$options2.brush,
44152
+ displayOverflow = _this$options2.displayOverflow;
43963
44153
  var opt = {
43964
44154
  ctx: this.bufferCtx,
43965
44155
  chartRect: this.chartRect,
@@ -43977,7 +44167,9 @@ var chart_core_EvChart = /*#__PURE__*/function () {
43977
44167
  option: selectSeries,
43978
44168
  selected: this.defaultSelectInfo
43979
44169
  },
43980
- overlayCtx: this.overlayCtx
44170
+ overlayCtx: this.overlayCtx,
44171
+ isBrush: !!brush,
44172
+ displayOverflow: displayOverflow
43981
44173
  };
43982
44174
  var showIndex = 0;
43983
44175
  var showSeriesCount = 0;
@@ -44103,17 +44295,21 @@ var chart_core_EvChart = /*#__PURE__*/function () {
44103
44295
  }, {
44104
44296
  key: "drawTip",
44105
44297
  value: function drawTip() {
44298
+ var _this$drawTips;
44299
+
44106
44300
  var tipLocationInfo;
44107
44301
 
44108
44302
  if (this.lastHitInfo) {
44109
44303
  tipLocationInfo = this.lastHitInfo;
44110
44304
  } else if (this.defaultSelectItemInfo) {
44111
44305
  tipLocationInfo = this.getItem(this.defaultSelectItemInfo, false);
44306
+ } else if (this.defaultSelectInfo && this.options.selectLabel.use) {
44307
+ tipLocationInfo = this.getItem(this.defaultSelectInfo, false);
44112
44308
  } else {
44113
44309
  tipLocationInfo = null;
44114
44310
  }
44115
44311
 
44116
- this.drawTips(tipLocationInfo);
44312
+ (_this$drawTips = this.drawTips) === null || _this$drawTips === void 0 ? void 0 : _this$drawTips.call(this, tipLocationInfo);
44117
44313
  }
44118
44314
  /**
44119
44315
  * Create axes
@@ -44272,7 +44468,10 @@ var chart_core_EvChart = /*#__PURE__*/function () {
44272
44468
  }
44273
44469
 
44274
44470
  this.bufferCtx.scale(this.pixelRatio, this.pixelRatio);
44275
- this.overlayCtx.scale(this.pixelRatio, this.pixelRatio);
44471
+
44472
+ if (this.overlayCtx) {
44473
+ this.overlayCtx.scale(this.pixelRatio, this.pixelRatio);
44474
+ }
44276
44475
  }
44277
44476
  /**
44278
44477
  * Get chart DOM size and set canvas size
@@ -44366,8 +44565,11 @@ var chart_core_EvChart = /*#__PURE__*/function () {
44366
44565
  this.displayCanvas.style.width = "".concat(width, "px");
44367
44566
  this.bufferCanvas.width = width * this.pixelRatio;
44368
44567
  this.bufferCanvas.style.width = "".concat(width, "px");
44369
- this.overlayCanvas.width = width * this.pixelRatio;
44370
- 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
+ }
44371
44573
  }
44372
44574
  /**
44373
44575
  * Set canvas height
@@ -44387,8 +44589,11 @@ var chart_core_EvChart = /*#__PURE__*/function () {
44387
44589
  this.displayCanvas.style.height = "".concat(height, "px");
44388
44590
  this.bufferCanvas.height = height * this.pixelRatio;
44389
44591
  this.bufferCanvas.style.height = "".concat(height, "px");
44390
- this.overlayCanvas.height = height * this.pixelRatio;
44391
- 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
+ }
44392
44597
  }
44393
44598
  /**
44394
44599
  * Calculate labels offset from chart rect (Axis 영역을 벗어나는 label 크기 계산)
@@ -44476,6 +44681,8 @@ var chart_core_EvChart = /*#__PURE__*/function () {
44476
44681
  }, {
44477
44682
  key: "update",
44478
44683
  value: function update(updateInfo) {
44684
+ var _this$initSelectedInf2;
44685
+
44479
44686
  var options = this.options;
44480
44687
  var data = this.data.data;
44481
44688
  var labels = this.data.labels;
@@ -44571,7 +44778,7 @@ var chart_core_EvChart = /*#__PURE__*/function () {
44571
44778
  this.axesY = this.createAxes('y', options.axesY);
44572
44779
  this.axesRange = this.getAxesRange();
44573
44780
  this.labelOffset = this.getLabelOffset();
44574
- this.initSelectedInfo();
44781
+ (_this$initSelectedInf2 = this.initSelectedInfo) === null || _this$initSelectedInf2 === void 0 ? void 0 : _this$initSelectedInf2.call(this);
44575
44782
  this.render(updateInfo === null || updateInfo === void 0 ? void 0 : updateInfo.hitInfo);
44576
44783
  var isDragMove = this.dragInfo && this.drawSelectionArea;
44577
44784
 
@@ -44637,13 +44844,15 @@ var chart_core_EvChart = /*#__PURE__*/function () {
44637
44844
  }
44638
44845
  /**
44639
44846
  * Resize chart
44847
+ * @param {Function} promiseRes After evChart resize completes,
44848
+ * callback completion status with promiseRes to draw a Brush over it.
44640
44849
  *
44641
44850
  * @returns {undefined}
44642
44851
  */
44643
44852
 
44644
44853
  }, {
44645
44854
  key: "resize",
44646
- value: function resize() {
44855
+ value: function resize(promiseRes) {
44647
44856
  this.clear();
44648
44857
  this.bufferCtx.restore();
44649
44858
  this.bufferCtx.save();
@@ -44651,6 +44860,10 @@ var chart_core_EvChart = /*#__PURE__*/function () {
44651
44860
  this.initScale();
44652
44861
  this.chartRect = this.getChartRect();
44653
44862
  this.drawChart();
44863
+
44864
+ if (promiseRes) {
44865
+ promiseRes(true);
44866
+ }
44654
44867
  }
44655
44868
  /**
44656
44869
  * Render chart
@@ -44747,12 +44960,541 @@ var chart_core_EvChart = /*#__PURE__*/function () {
44747
44960
  }();
44748
44961
 
44749
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
+
44750
45486
  // CONCATENATED MODULE: ./src/components/chart/uses.js
44751
45487
 
44752
45488
 
44753
45489
 
44754
45490
 
44755
45491
 
45492
+
45493
+
45494
+
45495
+
45496
+
45497
+
44756
45498
  var DEFAULT_OPTIONS = {
44757
45499
  padding: {
44758
45500
  top: 20,
@@ -44881,6 +45623,7 @@ var DEFAULT_OPTIONS = {
44881
45623
  selectLabel: {
44882
45624
  use: false,
44883
45625
  useClick: true,
45626
+ tipText: 'value',
44884
45627
  limit: 1,
44885
45628
  useDeselectOverflow: false,
44886
45629
  showTip: false,
@@ -44888,7 +45631,18 @@ var DEFAULT_OPTIONS = {
44888
45631
  useLabelOpacity: true,
44889
45632
  fixedPosTop: false,
44890
45633
  useApproximateValue: false,
44891
- 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
44892
45646
  },
44893
45647
  selectSeries: {
44894
45648
  use: false,
@@ -44902,6 +45656,34 @@ var DEFAULT_OPTIONS = {
44902
45656
  fillColor: '#38ACEC',
44903
45657
  opacity: 0.65
44904
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
+ },
44905
45687
  heatMapColor: {
44906
45688
  min: '#FFFFFF',
44907
45689
  max: '#0052FF',
@@ -44923,7 +45705,9 @@ var DEFAULT_DATA = {
44923
45705
  labels: [],
44924
45706
  data: {}
44925
45707
  };
44926
- var chart_uses_useModel = function useModel() {
45708
+ var chart_uses_useModel = function useModel(selectedLabel) {
45709
+ var _props$selectedLabel;
45710
+
44927
45711
  var _getCurrentInstance = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["getCurrentInstance"])(),
44928
45712
  props = _getCurrentInstance.props,
44929
45713
  emit = _getCurrentInstance.emit;
@@ -44952,7 +45736,7 @@ var chart_uses_useModel = function useModel() {
44952
45736
  };
44953
45737
 
44954
45738
  var selectItemInfo = lodash_es_cloneDeep(props.selectedItem);
44955
- 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);
44956
45740
  var selectSeriesInfo = lodash_es_cloneDeep(props.selectedSeries);
44957
45741
  var eventListeners = {
44958
45742
  click: function () {
@@ -44975,9 +45759,13 @@ var chart_uses_useModel = function useModel() {
44975
45759
  }
44976
45760
 
44977
45761
  if ((_e$selected = e.selected) !== null && _e$selected !== void 0 && _e$selected.dataIndex) {
44978
- emit('update:selectedLabel', {
44979
- dataIndex: e.selected.dataIndex
44980
- });
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
+ }
44981
45769
  }
44982
45770
 
44983
45771
  if ((_e$selected2 = e.selected) !== null && _e$selected2 !== void 0 && _e$selected2.seriesId) {
@@ -45089,6 +45877,271 @@ var uses_useWrapper = function useWrapper(options) {
45089
45877
  wrapperStyle: wrapperStyle
45090
45878
  };
45091
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
+ };
45092
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
45093
46146
 
45094
46147
 
@@ -45097,8 +46150,13 @@ var uses_useWrapper = function useWrapper(options) {
45097
46150
 
45098
46151
 
45099
46152
 
46153
+
46154
+
45100
46155
  /* harmony default export */ var Chartvue_type_script_lang_js = ({
45101
46156
  name: 'EvChart',
46157
+ components: {
46158
+ EvChartToolbar: ChartToolbar
46159
+ },
45102
46160
  props: {
45103
46161
  selectedItem: {
45104
46162
  type: Object,
@@ -45127,13 +46185,31 @@ var uses_useWrapper = function useWrapper(options) {
45127
46185
  resizeTimeout: {
45128
46186
  type: Number,
45129
46187
  default: 0
46188
+ },
46189
+ zoomStartIdx: {
46190
+ type: Number,
46191
+ default: 0
46192
+ },
46193
+ zoomEndIdx: {
46194
+ type: Number,
46195
+ default: 0
45130
46196
  }
45131
46197
  },
45132
- 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'],
45133
46199
  setup: function setup(props) {
45134
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
+ });
45135
46211
 
45136
- var _useModel = chart_uses_useModel(),
46212
+ var _useModel = chart_uses_useModel(injectGroupSelectedLabel),
45137
46213
  eventListeners = _useModel.eventListeners,
45138
46214
  selectItemInfo = _useModel.selectItemInfo,
45139
46215
  selectLabelInfo = _useModel.selectLabelInfo,
@@ -45143,11 +46219,29 @@ var uses_useWrapper = function useWrapper(options) {
45143
46219
 
45144
46220
  var normalizedData = getNormalizedData(props.data);
45145
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
+ });
45146
46228
 
45147
46229
  var _useWrapper = uses_useWrapper(normalizedOptions),
45148
46230
  wrapper = _useWrapper.wrapper,
45149
46231
  wrapperStyle = _useWrapper.wrapperStyle;
45150
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
+
45151
46245
  var createChart = function createChart() {
45152
46246
  var selected;
45153
46247
 
@@ -45157,12 +46251,16 @@ var uses_useWrapper = function useWrapper(options) {
45157
46251
  selected = selectSeriesInfo;
45158
46252
  }
45159
46253
 
45160
- evChart = new chart_core(wrapper.value, normalizedData, normalizedOptions, eventListeners, selectItemInfo, selected);
46254
+ evChart = new chart_core(wrapper.value, normalizedData, normalizedOptions, eventListeners, selectItemInfo, selected, injectBrushSeries);
45161
46255
  };
45162
46256
 
45163
46257
  var drawChart = function drawChart() {
45164
46258
  if (evChart) {
45165
46259
  evChart.init();
46260
+
46261
+ if (!injectIsChartGroup && normalizedOptions.zoom.toolbar.show) {
46262
+ createEvChartZoom();
46263
+ }
45166
46264
  }
45167
46265
  };
45168
46266
 
@@ -45180,6 +46278,10 @@ var uses_useWrapper = function useWrapper(options) {
45180
46278
  },
45181
46279
  updateLegend: isUpdateLegendType
45182
46280
  });
46281
+
46282
+ if (!injectIsChartGroup) {
46283
+ setOptionsForUseZoom(newOpt);
46284
+ }
45183
46285
  }, {
45184
46286
  deep: true,
45185
46287
  flush: 'post'
@@ -45199,12 +46301,39 @@ var uses_useWrapper = function useWrapper(options) {
45199
46301
  },
45200
46302
  updateData: isUpdateData
45201
46303
  });
46304
+
46305
+ if (!injectIsChartGroup && isUpdateData) {
46306
+ setDataForUseZoom(newData);
46307
+ }
45202
46308
  }, {
45203
46309
  deep: true,
45204
46310
  flush: 'post'
45205
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
+
45206
46335
  Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () {
45207
- return props.selectedItem;
46336
+ return selectedItem.value;
45208
46337
  }, function (newValue) {
45209
46338
  var chartType = props.options.type;
45210
46339
  evChart.selectItemByData(newValue, chartType);
@@ -45213,7 +46342,9 @@ var uses_useWrapper = function useWrapper(options) {
45213
46342
  flush: 'post'
45214
46343
  });
45215
46344
  Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(function () {
45216
- 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;
45217
46348
  }, function (newValue) {
45218
46349
  if (newValue.dataIndex) {
45219
46350
  evChart.renderWithSelected(newValue.dataIndex);
@@ -45232,6 +46363,19 @@ var uses_useWrapper = function useWrapper(options) {
45232
46363
  deep: true,
45233
46364
  flush: 'post'
45234
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
+
45235
46379
  Object(external_commonjs_vue_commonjs2_vue_root_Vue_["onMounted"])( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
45236
46380
  return regeneratorRuntime.wrap(function _callee$(_context) {
45237
46381
  while (1) {
@@ -45283,14 +46427,19 @@ var uses_useWrapper = function useWrapper(options) {
45283
46427
  wrapper: wrapper,
45284
46428
  wrapperStyle: wrapperStyle,
45285
46429
  onResize: onResize,
45286
- 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')
45287
46436
  };
45288
46437
  }
45289
46438
  });
45290
46439
  // CONCATENATED MODULE: ./src/components/chart/Chart.vue?vue&type=script&lang=js
45291
46440
 
45292
- // EXTERNAL MODULE: ./src/components/chart/Chart.vue?vue&type=style&index=0&id=ca3428ac&lang=scss
45293
- 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");
45294
46443
 
45295
46444
  // CONCATENATED MODULE: ./src/components/chart/Chart.vue
45296
46445
 
@@ -45300,7 +46449,7 @@ var Chartvue_type_style_index_0_id_ca3428ac_lang_scss = __webpack_require__("e83
45300
46449
 
45301
46450
 
45302
46451
 
45303
- 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]])
45304
46453
 
45305
46454
  /* harmony default export */ var Chart = (Chart_exports_);
45306
46455
  // CONCATENATED MODULE: ./src/components/chart/index.js
@@ -45314,6 +46463,1099 @@ Chart.install = function (app) {
45314
46463
  };
45315
46464
 
45316
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);
45317
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
45318
47560
 
45319
47561
 
@@ -46588,7 +48830,7 @@ var treeGrid_uses_contextMenuEvent = function contextMenuEvent(params) {
46588
48830
 
46589
48831
  var onContextMenu = function onContextMenu(event) {
46590
48832
  var target = event.target;
46591
- var rowIndex = target.parentElement.dataset.index;
48833
+ var rowIndex = target.closest('.row').dataset.index;
46592
48834
 
46593
48835
  if (rowIndex) {
46594
48836
  var index = stores.viewStore.findIndex(function (v) {
@@ -47734,22 +49976,27 @@ function Paginationvue_type_template_id_541b906a_render(_ctx, _cache, $props, $s
47734
49976
  }
47735
49977
  // CONCATENATED MODULE: ./src/components/pagination/Pagination.vue?vue&type=template&id=541b906a
47736
49978
 
47737
- // 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
47738
49980
 
47739
49981
 
47740
- 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) {
47741
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"])({
47742
49984
  class: _defineProperty({
47743
49985
  'is-current': $props.page.isCurrent,
47744
49986
  'is-disabled': $props.disabled || $props.page.disabled
47745
49987
  }, $props.page.class, true)
47746
49988
  }, _ctx.$attrs, {
47747
- "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"]))
47748
49995
  }), [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderSlot"])(_ctx.$slots, "default", {}, function () {
47749
49996
  return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])($props.page.number), 1)];
47750
49997
  })], 16, ["aria-current"]);
47751
49998
  }
47752
- // 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
47753
50000
 
47754
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
47755
50002
  /* harmony default export */ var pageButtonvue_type_script_lang_js = ({
@@ -47773,7 +50020,7 @@ function pageButtonvue_type_template_id_dcd27724_render(_ctx, _cache, $props, $s
47773
50020
 
47774
50021
 
47775
50022
 
47776
- 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]])
47777
50024
 
47778
50025
  /* harmony default export */ var pageButton = (pageButton_exports_);
47779
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
@@ -48017,7 +50264,9 @@ var package_0 = __webpack_require__("9224");
48017
50264
 
48018
50265
 
48019
50266
 
48020
- 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];
48021
50270
 
48022
50271
  var install = function install(app) {
48023
50272
  if (!app) {