evui 3.4.150 → 3.4.152

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.
package/dist/evui.umd.js CHANGED
@@ -700,20 +700,6 @@ if(content.locals) module.exports = content.locals;
700
700
  var add = __webpack_require__("499e").default
701
701
  var update = add("ede85a96", content, true, {"sourceMap":false,"shadowMode":false});
702
702
 
703
- /***/ }),
704
-
705
- /***/ "1776":
706
- /***/ (function(module, exports, __webpack_require__) {
707
-
708
- // Imports
709
- var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
710
- exports = ___CSS_LOADER_API_IMPORT___(false);
711
- // Module
712
- 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-custom__header,.ev-chart-tooltip .ev-chart-tooltip-header{padding:12px 16px 3px 16px;overflow:hidden}.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,.ev-chart-tooltip .ev-chart-tooltip-custom{overflow-x:hidden;overflow-y:hidden}.ev-chart-tooltip .ev-chart-tooltip-custom__body{padding:8px 20px 8px 16px;overflow-x:hidden;overflow-y:hidden}.ev-chart-tooltip .ev-chart-tooltip-custom__body .row{display:flex;flex-direction:row;align-items:center}.ev-chart-tooltip .ev-chart-tooltip-custom__body .series-name{flex:auto}.ev-chart-tooltip .ev-chart-tooltip-custom__body .value{text-align:right}.ev-chart-tooltip .ev-chart-tooltip-custom__body .color-circle,.ev-chart-tooltip .ev-chart-tooltip-custom__body .color-rect{width:12px;height:12px;margin-right:16px}.ev-chart-tooltip .ev-chart-tooltip-custom__body .color-circle{border-radius:12px}.ev-chart-scrollbar{position:absolute;z-index:3}.ev-chart-scrollbar-container{position:relative;top:0;left:0;width:100%;height:100%}.ev-chart-scrollbar-thumb,.ev-chart-scrollbar-track{position:absolute}.ev-chart-scrollbar-thumb:hover{opacity:.7}.ev-chart-scrollbar-button{position:absolute;text-align:center}.ev-chart-scrollbar-button:hover{opacity:.5!important}.ev-chart-scrollbar-button-icon{display:none;margin:0 auto;font-size:12px}", ""]);
713
- // Exports
714
- module.exports = exports;
715
-
716
-
717
703
  /***/ }),
718
704
 
719
705
  /***/ "17c2":
@@ -6149,6 +6135,21 @@ exports.push([module.i, "#ev-message-modal{position:fixed;top:0;left:50%;z-index
6149
6135
  module.exports = exports;
6150
6136
 
6151
6137
 
6138
+ /***/ }),
6139
+
6140
+ /***/ "50c1":
6141
+ /***/ (function(module, exports, __webpack_require__) {
6142
+
6143
+ // style-loader: Adds some css to the DOM by adding a <style> tag
6144
+
6145
+ // load the styles
6146
+ var content = __webpack_require__("852a");
6147
+ if(typeof content === 'string') content = [[module.i, content, '']];
6148
+ if(content.locals) module.exports = content.locals;
6149
+ // add the styles to the DOM
6150
+ var add = __webpack_require__("499e").default
6151
+ var update = add("52fbf574", content, true, {"sourceMap":false,"shadowMode":false});
6152
+
6152
6153
  /***/ }),
6153
6154
 
6154
6155
  /***/ "50c4":
@@ -6520,17 +6521,6 @@ exports.push([module.i, ".grid-pagination[data-v-414aff2b]{padding-top:8px}", ""
6520
6521
  module.exports = exports;
6521
6522
 
6522
6523
 
6523
- /***/ }),
6524
-
6525
- /***/ "5a0a":
6526
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
6527
-
6528
- "use strict";
6529
- /* 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_24eba9c6_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("9138");
6530
- /* 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_24eba9c6_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_24eba9c6_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
6531
- /* unused harmony reexport * */
6532
-
6533
-
6534
6524
  /***/ }),
6535
6525
 
6536
6526
  /***/ "5a0c":
@@ -7125,6 +7115,25 @@ exports.default = (sfc, props) => {
7125
7115
  };
7126
7116
 
7127
7117
 
7118
+ /***/ }),
7119
+
7120
+ /***/ "6b93":
7121
+ /***/ (function(module, exports, __webpack_require__) {
7122
+
7123
+ var $ = __webpack_require__("23e7");
7124
+
7125
+ var log = Math.log;
7126
+ var LOG10E = Math.LOG10E;
7127
+
7128
+ // `Math.log10` method
7129
+ // https://tc39.github.io/ecma262/#sec-math.log10
7130
+ $({ target: 'Math', stat: true }, {
7131
+ log10: function log10(x) {
7132
+ return log(x) * LOG10E;
7133
+ }
7134
+ });
7135
+
7136
+
7128
7137
  /***/ }),
7129
7138
 
7130
7139
  /***/ "6bcc":
@@ -7942,6 +7951,20 @@ exports.push([module.i, ".ev-window-scroll-lock{overflow:hidden!important}.ev-wi
7942
7951
  module.exports = exports;
7943
7952
 
7944
7953
 
7954
+ /***/ }),
7955
+
7956
+ /***/ "852a":
7957
+ /***/ (function(module, exports, __webpack_require__) {
7958
+
7959
+ // Imports
7960
+ var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb");
7961
+ exports = ___CSS_LOADER_API_IMPORT___(false);
7962
+ // Module
7963
+ 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-custom__header,.ev-chart-tooltip .ev-chart-tooltip-header{padding:12px 16px 3px 16px;overflow:hidden}.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,.ev-chart-tooltip .ev-chart-tooltip-custom{overflow-x:hidden;overflow-y:hidden}.ev-chart-tooltip .ev-chart-tooltip-custom__body{padding:8px 20px 8px 16px;overflow-x:hidden;overflow-y:hidden}.ev-chart-tooltip .ev-chart-tooltip-custom__body .row{display:flex;flex-direction:row;align-items:center}.ev-chart-tooltip .ev-chart-tooltip-custom__body .series-name{flex:auto}.ev-chart-tooltip .ev-chart-tooltip-custom__body .value{text-align:right}.ev-chart-tooltip .ev-chart-tooltip-custom__body .color-circle,.ev-chart-tooltip .ev-chart-tooltip-custom__body .color-rect{width:12px;height:12px;margin-right:16px}.ev-chart-tooltip .ev-chart-tooltip-custom__body .color-circle{border-radius:12px}.ev-chart-scrollbar{position:absolute;z-index:3}.ev-chart-scrollbar-container{position:relative;top:0;left:0;width:100%;height:100%}.ev-chart-scrollbar-thumb,.ev-chart-scrollbar-track{position:absolute}.ev-chart-scrollbar-thumb:hover{opacity:.7}.ev-chart-scrollbar-button{position:absolute;text-align:center}.ev-chart-scrollbar-button:hover{opacity:.5!important}.ev-chart-scrollbar-button-icon{display:none;margin:0 auto;font-size:12px}", ""]);
7964
+ // Exports
7965
+ module.exports = exports;
7966
+
7967
+
7945
7968
  /***/ }),
7946
7969
 
7947
7970
  /***/ "857a":
@@ -11216,27 +11239,12 @@ $({ target: 'Number', stat: true }, {
11216
11239
  });
11217
11240
 
11218
11241
 
11219
- /***/ }),
11220
-
11221
- /***/ "9138":
11222
- /***/ (function(module, exports, __webpack_require__) {
11223
-
11224
- // style-loader: Adds some css to the DOM by adding a <style> tag
11225
-
11226
- // load the styles
11227
- var content = __webpack_require__("1776");
11228
- if(typeof content === 'string') content = [[module.i, content, '']];
11229
- if(content.locals) module.exports = content.locals;
11230
- // add the styles to the DOM
11231
- var add = __webpack_require__("499e").default
11232
- var update = add("9519e5b6", content, true, {"sourceMap":false,"shadowMode":false});
11233
-
11234
11242
  /***/ }),
11235
11243
 
11236
11244
  /***/ "9224":
11237
11245
  /***/ (function(module) {
11238
11246
 
11239
- module.exports = JSON.parse("{\"a\":\"3.4.150\"}");
11247
+ module.exports = JSON.parse("{\"a\":\"3.4.152\"}");
11240
11248
 
11241
11249
  /***/ }),
11242
11250
 
@@ -12487,6 +12495,17 @@ $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGT
12487
12495
  });
12488
12496
 
12489
12497
 
12498
+ /***/ }),
12499
+
12500
+ /***/ "a444":
12501
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
12502
+
12503
+ "use strict";
12504
+ /* 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_de83f53c_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("50c1");
12505
+ /* 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_de83f53c_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_de83f53c_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
12506
+ /* unused harmony reexport * */
12507
+
12508
+
12490
12509
  /***/ }),
12491
12510
 
12492
12511
  /***/ "a4d3":
@@ -38346,20 +38365,20 @@ Grid.install = function (app) {
38346
38365
  };
38347
38366
 
38348
38367
  /* harmony default export */ var grid = (Grid);
38349
- // 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=24eba9c6
38368
+ // 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=de83f53c
38350
38369
 
38351
- var Chartvue_type_template_id_24eba9c6_hoisted_1 = {
38370
+ var Chartvue_type_template_id_de83f53c_hoisted_1 = {
38352
38371
  key: 0,
38353
38372
  ref: "evChartToolbarRef"
38354
38373
  };
38355
- function Chartvue_type_template_id_24eba9c6_render(_ctx, _cache, $props, $setup, $data, $options) {
38374
+ function Chartvue_type_template_id_de83f53c_render(_ctx, _cache, $props, $setup, $data, $options) {
38356
38375
  var _$setup$zoomOptions$t;
38357
38376
 
38358
38377
  var _component_ev_chart_toolbar = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("ev-chart-toolbar");
38359
38378
 
38360
38379
  var _directive_resize = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDirective"])("resize");
38361
38380
 
38362
- 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$t = $setup.zoomOptions.toolbar) !== null && _$setup$zoomOptions$t !== void 0 && _$setup$zoomOptions$t.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_24eba9c6_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ev_chart_toolbar, {
38381
+ 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$t = $setup.zoomOptions.toolbar) !== null && _$setup$zoomOptions$t !== void 0 && _$setup$zoomOptions$t.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_de83f53c_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ev_chart_toolbar, {
38363
38382
  toolbar: $setup.zoomOptions.toolbar,
38364
38383
  onOnClickToolbar: $setup.onClickToolbar
38365
38384
  }, 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", {
@@ -38368,7 +38387,7 @@ function Chartvue_type_template_id_24eba9c6_render(_ctx, _cache, $props, $setup,
38368
38387
  class: "ev-chart"
38369
38388
  }, null, 4), [[_directive_resize, $setup.onResize]])], 64);
38370
38389
  }
38371
- // CONCATENATED MODULE: ./src/components/chart/Chart.vue?vue&type=template&id=24eba9c6
38390
+ // CONCATENATED MODULE: ./src/components/chart/Chart.vue?vue&type=template&id=de83f53c
38372
38391
 
38373
38392
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.assign.js
38374
38393
  var es_object_assign = __webpack_require__("cca65");
@@ -39053,18 +39072,17 @@ var modules = {
39053
39072
  };
39054
39073
 
39055
39074
  for (var x = 0; x < keys.length; x++) {
39056
- var _this$dataSet$key$dat, _this$dataSet$key$dat2, _this$dataSet$key$dat3;
39075
+ var _dataGroup$at, _dataGroup$at$data, _dataGroup$at$data$at;
39057
39076
 
39058
39077
  var key = keys[x];
39059
39078
  var data = datas[key];
39060
- var storeLength = data === null || data === void 0 ? void 0 : data.length;
39061
- var lastTime = 0;
39079
+ var storeLength = data === null || data === void 0 ? void 0 : data.length; // 1) init / updateSeries 시 dataset shape 보장
39062
39080
 
39063
- if (!this.isInit || this.updateSeries) {
39081
+ if (!this.isInit || this.updateSeries || !this.dataSet[key]) {
39064
39082
  var defaultValues = {
39065
39083
  dataGroup: [],
39066
39084
  startIndex: 0,
39067
- endIndex: 0,
39085
+ endIndex: null,
39068
39086
  length: 0,
39069
39087
  fromTime: 0,
39070
39088
  toTime: 0
@@ -39072,104 +39090,132 @@ var modules = {
39072
39090
  this.dataSet[key] = _objectSpread2(_objectSpread2({}, defaultValues), this.dataSet[key]);
39073
39091
  }
39074
39092
 
39075
- this.dataSet[key].length = this.options.realTimeScatter.range || 300;
39093
+ var dataset = this.dataSet[key];
39094
+ var dataGroup = dataset.dataGroup; // 2) range(length) 결정 + 변경 감지
39095
+
39096
+ var nextLength = this.options.realTimeScatter.range || 300;
39097
+ var lengthChanged = dataset.length !== nextLength;
39098
+ dataset.length = nextLength;
39099
+ var length = dataset.length; // 3) 이번 배치의 lastTime(초 단위) 계산
39100
+
39101
+ var lastTime = 0;
39076
39102
 
39077
39103
  for (var i = 0; i < storeLength; i++) {
39078
39104
  var item = data[i];
39079
39105
 
39080
- if (lastTime < item.x) {
39106
+ if (item && lastTime < item.x) {
39081
39107
  lastTime = item.x;
39082
39108
  }
39083
39109
  }
39084
39110
 
39085
- lastTime = Math.floor(lastTime / 1000) * 1000;
39086
- var dataGroupLastTime = ((_this$dataSet$key$dat = this.dataSet[key].dataGroup.at(-1)) === null || _this$dataSet$key$dat === void 0 ? void 0 : (_this$dataSet$key$dat2 = _this$dataSet$key$dat.data) === null || _this$dataSet$key$dat2 === void 0 ? void 0 : (_this$dataSet$key$dat3 = _this$dataSet$key$dat2.at(-1)) === null || _this$dataSet$key$dat3 === void 0 ? void 0 : _this$dataSet$key$dat3.x) || Date.now();
39087
- this.dataSet[key].toTime = lastTime || (dataGroupLastTime ? Math.floor(dataGroupLastTime / 1000) * 1000 : 0);
39088
- this.dataSet[key].fromTime = this.dataSet[key].toTime - this.dataSet[key].length * 1000;
39089
- this.dataSet[key].endIndex = this.dataSet[key].length - 1;
39111
+ lastTime = lastTime ? Math.floor(lastTime / 1000) * 1000 : 0;
39112
+ var dataGroupLastTime = ((_dataGroup$at = dataGroup.at(-1)) === null || _dataGroup$at === void 0 ? void 0 : (_dataGroup$at$data = _dataGroup$at.data) === null || _dataGroup$at$data === void 0 ? void 0 : (_dataGroup$at$data$at = _dataGroup$at$data.at(-1)) === null || _dataGroup$at$data$at === void 0 ? void 0 : _dataGroup$at$data$at.x) || Date.now();
39113
+ var fallbackTime = Math.floor(dataGroupLastTime / 1000) * 1000; // 4) prevToTime은 덮기 전 값 (없으면 fallback)
39090
39114
 
39091
- if ((this.dataSet[key].toTime - lastTime) / 1000 > this.dataSet[key].length && key === '') {
39092
- return;
39093
- }
39115
+ var prevToTime = dataset.toTime || fallbackTime; // 5) nextToTime 결정: 데이터가 있으면 lastTime, 없으면 이전 유지
39094
39116
 
39095
- var gapCount = (lastTime - this.dataSet[key].toTime) / 1000;
39117
+ var nextToTime = lastTime || prevToTime; // 6) endIndex/startIndex 초기화 (최초 1회) + length 변경 시 재구성
39096
39118
 
39097
- if (gapCount > 0) {
39098
- this.dataSet[key].toTime = lastTime;
39099
- this.dataSet[key].fromTime = lastTime - this.dataSet[key].length * 1000;
39100
- }
39119
+ if (dataset.endIndex == null || lengthChanged) {
39120
+ dataset.startIndex = 0;
39121
+ dataset.endIndex = length - 1; // dataGroup 크기 맞추고 모두 reset
39101
39122
 
39102
- for (var _i = 0; _i < this.dataSet[key].length; _i++) {
39103
- var _defaultValues = {
39104
- data: [],
39105
- max: 0,
39106
- min: Infinity
39107
- };
39108
- this.dataSet[key].dataGroup[_i] = _objectSpread2(_objectSpread2({}, _defaultValues), this.dataSet[key].dataGroup[_i]);
39123
+ dataGroup.length = length;
39124
+
39125
+ for (var _i = 0; _i < length; _i++) {
39126
+ dataGroup[_i] = dataGroup[_i] || {
39127
+ data: [],
39128
+ max: 0,
39129
+ min: Infinity
39130
+ };
39131
+ dataGroup[_i].data.length = 0;
39132
+ dataGroup[_i].max = 0;
39133
+ dataGroup[_i].min = Infinity;
39134
+ } // toTime/fromTime도 새 기준으로 맞춤
39135
+
39136
+
39137
+ dataset.toTime = nextToTime;
39138
+ dataset.fromTime = dataset.toTime - length * 1000;
39139
+ } // 7) gapCount 계산 (반드시 정수) — prevToTime 기준
39140
+
39141
+
39142
+ var rawGap = (nextToTime - prevToTime) / 1000;
39143
+ var gapCount = Number.isFinite(rawGap) ? Math.max(0, Math.floor(rawGap)) : 0; // 8) to/from 갱신
39144
+
39145
+ dataset.toTime = nextToTime;
39146
+ dataset.fromTime = dataset.toTime - length * 1000; // (원래 코드에 있던 early return 유지)
39147
+
39148
+ if (lastTime && (dataset.toTime - lastTime) / 1000 > length && key === '') {
39149
+ return;
39109
39150
  }
39110
39151
 
39111
- if (gapCount > 0) {
39112
- if (gapCount >= this.dataSet[key].length) {
39113
- for (var _i2 = 0; _i2 < this.dataSet[key].length; _i2++) {
39114
- this.dataSet[key].dataGroup[_i2].data.length = 0;
39115
- this.dataSet[key].dataGroup[_i2].max = 0;
39116
- this.dataSet[key].dataGroup[_i2].min = Infinity;
39117
- }
39152
+ var resetDataGroup = function resetDataGroup(group) {
39153
+ group.data.length = 0;
39154
+ group.max = 0;
39155
+ group.min = Infinity;
39156
+ }; // 9) dataGroup 슬롯 확보
39118
39157
 
39119
- this.dataSet[key].startIndex = 0;
39120
- this.dataSet[key].endIndex = this.dataSet[key].length - 1;
39121
- } else {
39122
- while (gapCount > 0) {
39123
- if (this.dataSet[key].dataGroup[this.dataSet[key].startIndex] === null) {
39124
- this.dataSet[key].dataGroup[this.dataSet[key].startIndex] = {
39125
- data: [],
39126
- max: 0,
39127
- min: Infinity
39128
- };
39129
- } else {
39130
- this.dataSet[key].dataGroup[this.dataSet[key].startIndex].data.length = 0;
39131
- this.dataSet[key].dataGroup[this.dataSet[key].startIndex].max = 0;
39132
- this.dataSet[key].dataGroup[this.dataSet[key].startIndex].min = Infinity;
39133
- }
39134
39158
 
39135
- ++this.dataSet[key].startIndex;
39159
+ for (var _i2 = 0; _i2 < length; _i2++) {
39160
+ if (!dataGroup[_i2]) {
39161
+ dataGroup[_i2] = {
39162
+ data: [],
39163
+ max: 0,
39164
+ min: Infinity
39165
+ };
39166
+ } else if (!dataGroup[_i2].data) {
39167
+ dataGroup[_i2].data = [];
39168
+ dataGroup[_i2].max = 0;
39169
+ dataGroup[_i2].min = Infinity;
39170
+ }
39171
+ } // 10) gap만큼 링 전진 + 지나간 버킷 clear
39136
39172
 
39137
- if (this.dataSet[key].startIndex >= this.dataSet[key].length) {
39138
- this.dataSet[key].startIndex = 0;
39139
- }
39140
39173
 
39141
- ++this.dataSet[key].endIndex;
39174
+ if (gapCount > 0) {
39175
+ if (gapCount >= length) {
39176
+ for (var _i3 = 0; _i3 < length; _i3++) {
39177
+ resetDataGroup(dataGroup[_i3]);
39178
+ }
39142
39179
 
39143
- if (this.dataSet[key].endIndex >= this.dataSet[key].length) {
39144
- this.dataSet[key].endIndex = 0;
39145
- }
39180
+ dataset.startIndex = 0;
39181
+ dataset.endIndex = length - 1;
39182
+ } else {
39183
+ var currentStart = dataset.startIndex;
39184
+ var currentEnd = dataset.endIndex;
39146
39185
 
39147
- --gapCount;
39186
+ for (var _i4 = 0; _i4 < gapCount; _i4++) {
39187
+ resetDataGroup(dataGroup[currentStart]);
39188
+ currentStart = (currentStart + 1) % length;
39189
+ currentEnd = (currentEnd + 1) % length;
39148
39190
  }
39191
+
39192
+ dataset.startIndex = currentStart;
39193
+ dataset.endIndex = currentEnd;
39149
39194
  }
39150
- }
39195
+ } // 11) 데이터 push (윈도우 안에 들어오는 것만)
39151
39196
 
39152
- for (var _i3 = 0; _i3 < storeLength; _i3++) {
39153
- var _item = data[_i3];
39154
- var xAxisTime = Math.floor(_item.x / 1000) * 1000;
39155
39197
 
39156
- if (this.dataSet[key].fromTime <= xAxisTime) {
39157
- var _item$value;
39198
+ for (var _i5 = 0; _i5 < storeLength; _i5++) {
39199
+ var _item = data[_i5];
39158
39200
 
39159
- var index = this.dataSet[key].endIndex - (this.dataSet[key].toTime - xAxisTime) / 1000;
39201
+ if (_item) {
39202
+ var xAxisTime = Math.floor(_item.x / 1000) * 1000;
39160
39203
 
39161
- if (index < 0) {
39162
- index = this.dataSet[key].length + index;
39163
- }
39204
+ if (dataset.fromTime <= xAxisTime) {
39205
+ var _item$value;
39164
39206
 
39165
- this.dataSet[key].dataGroup[index].data.push({
39166
- x: _item.x,
39167
- y: _item.y,
39168
- o: (_item$value = _item.value) !== null && _item$value !== void 0 ? _item$value : _item.y,
39169
- color: _item.color
39170
- });
39171
- this.dataSet[key].dataGroup[index].max = Math.max(this.dataSet[key].dataGroup[index].max, _item.y);
39172
- this.dataSet[key].dataGroup[index].min = Math.min(this.dataSet[key].dataGroup[index].min, _item.y);
39207
+ var index = dataset.endIndex - (dataset.toTime - xAxisTime) / 1000;
39208
+ if (index < 0) index = length + index;
39209
+ var group = dataGroup[index];
39210
+ group.data.push({
39211
+ x: _item.x,
39212
+ y: _item.y,
39213
+ o: (_item$value = _item.value) !== null && _item$value !== void 0 ? _item$value : _item.y,
39214
+ color: _item.color
39215
+ });
39216
+ group.max = Math.max(group.max, _item.y);
39217
+ group.min = Math.min(group.min, _item.y);
39218
+ }
39173
39219
  }
39174
39220
  } // 실제 차트에 그려지는 데이터(fromTime ~ toTime 범위)에서만 min/max 계산
39175
39221
 
@@ -39178,12 +39224,11 @@ var modules = {
39178
39224
  maxY: -Infinity,
39179
39225
  minY: Infinity
39180
39226
  };
39181
- var _this$dataSet$key = this.dataSet[key],
39182
- fromTime = _this$dataSet$key.fromTime,
39183
- toTime = _this$dataSet$key.toTime;
39227
+ var fromTime = dataset.fromTime,
39228
+ toTime = dataset.toTime;
39184
39229
 
39185
- for (var _i4 = 0; _i4 < this.dataSet[key].length; _i4++) {
39186
- var groupData = this.dataSet[key].dataGroup[_i4].data;
39230
+ for (var _i6 = 0; _i6 < length; _i6++) {
39231
+ var groupData = dataGroup[_i6].data;
39187
39232
 
39188
39233
  for (var j = 0; j < groupData.length; j++) {
39189
39234
  var _item2 = groupData[j]; // 현재 시간 범위 내의 데이터만 minMax 계산에 포함
@@ -39211,8 +39256,8 @@ var modules = {
39211
39256
 
39212
39257
  minMaxValues.maxY = Math.max(minMaxValues.maxY, tempMinMax.maxY);
39213
39258
  minMaxValues.minY = Math.min(minMaxValues.minY, tempMinMax.minY);
39214
- minMaxValues.fromTime = this.dataSet[key].fromTime;
39215
- minMaxValues.toTime = this.dataSet[key].toTime;
39259
+ minMaxValues.fromTime = dataset.fromTime;
39260
+ minMaxValues.toTime = dataset.toTime;
39216
39261
  }
39217
39262
 
39218
39263
  this.seriesInfo.charts.scatter.forEach(function (seriesID) {
@@ -46314,12 +46359,105 @@ var scale_time_TimeScale = /*#__PURE__*/function (_Scale) {
46314
46359
 
46315
46360
  return Math.ceil((max - min) / step);
46316
46361
  }
46362
+ /**
46363
+ * With range information, calculate how many labels in axis
46364
+ * @param {object} range min/max information
46365
+ *
46366
+ * @returns {object} steps, interval, min/max graph value
46367
+ */
46368
+
46369
+ }, {
46370
+ key: "calculateSteps",
46371
+ value: function calculateSteps(range) {
46372
+ var maxValue = range.maxValue,
46373
+ minValue = range.minValue,
46374
+ maxSteps = range.maxSteps; // 사용자 interval로 인식하는 경우: 숫자 또는 객체({ time, unit }) 형태만
46375
+ // 문자열('hour', 'second' 등)은 기존 로직(분기 D)으로 처리
46376
+
46377
+ var hasUserRange = Array.isArray(this.range) && this.range.length === 2;
46378
+ var hasUserInterval = typeof this.interval === 'number' || _typeof(this.interval) === 'object' && this.interval !== null;
46379
+ var resolvedInterval = hasUserInterval ? this.getInterval(range) : null;
46380
+ var isValidInterval = resolvedInterval != null && resolvedInterval > 0 && isFinite(resolvedInterval);
46381
+ var graphMin = +minValue;
46382
+ var graphMax = +maxValue;
46383
+ var graphRange = graphMax - graphMin;
46384
+ var interval;
46385
+ var steps;
46386
+
46387
+ if (hasUserRange && isValidInterval) {
46388
+ // 1) user range + interval
46389
+ var candidateSteps = graphRange / resolvedInterval;
46390
+ var isExactlyDividable = Math.abs(candidateSteps - Math.round(candidateSteps)) < 1e-10;
46391
+
46392
+ if (isExactlyDividable && candidateSteps <= maxSteps) {
46393
+ // 1-1) interval 호환되는 경우
46394
+ interval = resolvedInterval;
46395
+ steps = Math.round(candidateSteps);
46396
+ } else {
46397
+ // 1-2) interval 호환되지 않음 -> 사용자 interval을 사용하지 않음
46398
+ steps = maxSteps;
46399
+ interval = graphRange / steps;
46400
+ }
46401
+ } else if (hasUserRange) {
46402
+ // 2) user range only
46403
+ steps = maxSteps;
46404
+ interval = graphRange / steps;
46405
+ } else if (isValidInterval) {
46406
+ // 3) user interval only
46407
+ interval = resolvedInterval;
46408
+ steps = Math.ceil(graphRange / interval);
46409
+
46410
+ while (steps > maxSteps) {
46411
+ interval *= 2;
46412
+ steps = Math.ceil(graphRange / interval);
46413
+ }
46414
+
46415
+ graphMax = graphMin + interval * steps;
46416
+ } else {
46417
+ // 4) 기존 로직
46418
+ interval = this.getInterval(range);
46419
+ var increase = minValue;
46420
+ var numberOfSteps;
46421
+
46422
+ while (increase < maxValue) {
46423
+ increase += interval;
46424
+ }
46425
+
46426
+ graphMax = increase;
46427
+ numberOfSteps = Math.round(graphRange / interval);
46428
+
46429
+ while (numberOfSteps > maxSteps) {
46430
+ interval *= 2;
46431
+ numberOfSteps = Math.round(graphRange / interval);
46432
+ var tempInterval = graphRange / numberOfSteps;
46433
+ interval = this.decimalPoint ? tempInterval : Math.ceil(tempInterval);
46434
+ }
46435
+
46436
+ if (graphMax - graphMin > numberOfSteps * interval) {
46437
+ var _tempInterval = (graphMax - graphMin) / numberOfSteps;
46438
+
46439
+ interval = this.decimalPoint ? _tempInterval : Math.ceil(_tempInterval);
46440
+ }
46441
+
46442
+ steps = numberOfSteps;
46443
+ }
46444
+
46445
+ return {
46446
+ steps: steps,
46447
+ interval: interval,
46448
+ graphMin: graphMin,
46449
+ graphMax: graphMax
46450
+ };
46451
+ }
46317
46452
  }]);
46318
46453
 
46319
46454
  return TimeScale;
46320
46455
  }(scale_scale);
46321
46456
 
46322
46457
  /* harmony default export */ var scale_time = (scale_time_TimeScale);
46458
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.math.log10.js
46459
+ var es_math_log10 = __webpack_require__("6b93");
46460
+
46323
46461
  // CONCATENATED MODULE: ./src/components/chart/scale/scale.linear.js
46324
46462
 
46325
46463
 
@@ -46332,6 +46470,8 @@ var scale_time_TimeScale = /*#__PURE__*/function (_Scale) {
46332
46470
 
46333
46471
 
46334
46472
 
46473
+
46474
+
46335
46475
  var scale_linear_LinearScale = /*#__PURE__*/function (_Scale) {
46336
46476
  _inherits(LinearScale, _Scale);
46337
46477
 
@@ -46354,11 +46494,16 @@ var scale_linear_LinearScale = /*#__PURE__*/function (_Scale) {
46354
46494
  * @returns {string} formatted label
46355
46495
  */
46356
46496
  value: function getTruthyValue(value) {
46357
- return truthyNumber(value) ? Number(value.toFixed(this.decimalPoint)) : value;
46497
+ var _this$adjustedDecimal;
46498
+
46499
+ var decimalPoint = (_this$adjustedDecimal = this.adjustedDecimalPoint) !== null && _this$adjustedDecimal !== void 0 ? _this$adjustedDecimal : this.decimalPoint;
46500
+ return truthyNumber(value) ? Number(value.toFixed(decimalPoint)) : value;
46358
46501
  }
46359
46502
  }, {
46360
46503
  key: "getLabelFormat",
46361
46504
  value: function getLabelFormat(value) {
46505
+ var _this$adjustedDecimal2;
46506
+
46362
46507
  var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
46363
46508
 
46364
46509
  if (this.formatter) {
@@ -46375,7 +46520,8 @@ var scale_linear_LinearScale = /*#__PURE__*/function (_Scale) {
46375
46520
  }
46376
46521
  }
46377
46522
 
46378
- return helpers_util.labelSignFormat(value, this.decimalPoint);
46523
+ var decimalPoint = (_this$adjustedDecimal2 = this.adjustedDecimalPoint) !== null && _this$adjustedDecimal2 !== void 0 ? _this$adjustedDecimal2 : this.decimalPoint;
46524
+ return helpers_util.labelSignFormat(value, decimalPoint);
46379
46525
  }
46380
46526
  /**
46381
46527
  * Calculate interval
@@ -46402,44 +46548,164 @@ var scale_linear_LinearScale = /*#__PURE__*/function (_Scale) {
46402
46548
  return Math.ceil((max - min) / step);
46403
46549
  }
46404
46550
  /**
46405
- * Get decimal point from range
46406
- * @param {object} {
46407
- * graphRange: number,
46408
- * numberOfSteps: number,
46409
- * interval: number,
46410
- * }
46411
- * @returns {number} decimal point
46412
- */
46551
+ * Get auto decimal point from interval
46552
+ * interval을 표현할 수 있는 최소 decimal 반환
46553
+ * 너무 긴 decimal은 제한
46554
+ * @param {number} interval
46555
+ * @returns {number} decimal point
46556
+ */
46413
46557
 
46414
46558
  }, {
46415
- key: "getDecimalPointFromRange",
46416
- value: function getDecimalPointFromRange(_ref) {
46417
- var graphRange = _ref.graphRange,
46418
- numberOfSteps = _ref.numberOfSteps;
46419
-
46420
- if (numberOfSteps <= 0 || graphRange === 0) {
46559
+ key: "getAutoDecimalPointFromInterval",
46560
+ value: function getAutoDecimalPointFromInterval(interval) {
46561
+ if (!isFinite(interval) || interval === 0) {
46421
46562
  return 0;
46422
46563
  }
46423
46564
 
46424
- var interval = graphRange / numberOfSteps;
46565
+ var absInterval = Math.abs(interval); // 1 미만 값 처리 (소수점 최대 10자리 제한)
46566
+
46567
+ if (absInterval < 1) {
46568
+ var decimals = 0;
46569
+ var temp = absInterval;
46570
+
46571
+ while (temp < 1) {
46572
+ temp *= 10;
46573
+ decimals++;
46574
+
46575
+ if (decimals > 10) {
46576
+ break;
46577
+ }
46578
+ }
46579
+
46580
+ return decimals;
46581
+ } // 1 이상 값 처리 (소수점 최대 2자리 제한)
46582
+
46425
46583
 
46426
- if (interval === 0) {
46584
+ for (var decimal = 0; decimal <= 6; decimal++) {
46585
+ var rounded = Number(absInterval.toFixed(decimal));
46586
+
46587
+ if (Math.abs(rounded - absInterval) < 1e-10) {
46588
+ return Math.min(decimal, 2);
46589
+ }
46590
+ }
46591
+
46592
+ return 2;
46593
+ }
46594
+ /**
46595
+ * axis interval을 nice number로 변환
46596
+ * (1, 2, 5 × 10^n)
46597
+ *
46598
+ * @param {Object} params
46599
+ * @param {number} params.range
46600
+ * @param {boolean} params.round
46601
+ * @returns {number}
46602
+ */
46603
+
46604
+ }, {
46605
+ key: "getNiceNumber",
46606
+ value: function getNiceNumber(_ref) {
46607
+ var range = _ref.range,
46608
+ _ref$round = _ref.round,
46609
+ round = _ref$round === void 0 ? false : _ref$round;
46610
+
46611
+ if (!isFinite(range) || range <= 0) {
46427
46612
  return 0;
46428
46613
  }
46429
46614
 
46430
- var decimals = 0;
46431
- var temp = interval;
46615
+ var exponent = Math.floor(Math.log10(range));
46616
+ var fraction = range / Math.pow(10, exponent);
46617
+ var niceFraction;
46432
46618
 
46433
- while (temp < 1) {
46434
- temp *= 10;
46435
- decimals++;
46619
+ if (round) {
46620
+ if (fraction < 1.5) {
46621
+ niceFraction = 1;
46622
+ } else if (fraction < 3) {
46623
+ niceFraction = 2;
46624
+ } else if (fraction < 7) {
46625
+ niceFraction = 5;
46626
+ } else {
46627
+ niceFraction = 10;
46628
+ }
46629
+ } else if (fraction <= 1) {
46630
+ niceFraction = 1;
46631
+ } else if (fraction <= 2) {
46632
+ niceFraction = 2;
46633
+ } else if (fraction <= 5) {
46634
+ niceFraction = 5;
46635
+ } else {
46636
+ niceFraction = 10;
46637
+ }
46436
46638
 
46437
- if (decimals > 10) {
46438
- break;
46639
+ return niceFraction * Math.pow(10, exponent);
46640
+ }
46641
+ /**
46642
+ * With range information, calculate how many labels in axis
46643
+ * @param {object} range min/max information
46644
+ *
46645
+ * @returns {object} steps, interval, min/max graph value
46646
+ */
46647
+
46648
+ }, {
46649
+ key: "calculateSteps",
46650
+ value: function calculateSteps(range) {
46651
+ var minValue = range.minValue,
46652
+ maxValue = range.maxValue;
46653
+ var maxSteps = Math.max(1, range.maxSteps);
46654
+ var hasUserRange = Array.isArray(this.range) && this.range.length === 2;
46655
+ var hasUserInterval = typeof this.interval === 'number' || _typeof(this.interval) === 'object' && this.interval !== null;
46656
+ var resolvedInterval = hasUserInterval ? this.getInterval(range) : null;
46657
+ var isValidInterval = resolvedInterval != null && resolvedInterval > 0 && isFinite(resolvedInterval);
46658
+ var graphMin = +minValue;
46659
+ var graphMax = +maxValue;
46660
+ var graphRange = graphMax - graphMin;
46661
+ var interval;
46662
+ var steps;
46663
+
46664
+ if (hasUserRange && isValidInterval) {
46665
+ // 1) user range + interval
46666
+ var candidateSteps = graphRange / resolvedInterval;
46667
+ var isExactlyDividable = Math.abs(candidateSteps - Math.round(candidateSteps)) < 1e-10;
46668
+
46669
+ if (isExactlyDividable && candidateSteps <= maxSteps) {
46670
+ interval = resolvedInterval;
46671
+ steps = Math.round(candidateSteps);
46672
+ } else {
46673
+ // interval 호환되지 않음 -> 사용자 interval을 사용하지 않음
46674
+ steps = maxSteps;
46675
+ interval = graphRange / steps;
46676
+ }
46677
+ } else if (hasUserRange) {
46678
+ // 2) user range only
46679
+ steps = maxSteps;
46680
+ interval = graphRange / steps;
46681
+ } else if (isValidInterval) {
46682
+ // 3) user interval only
46683
+ interval = resolvedInterval;
46684
+ steps = Math.ceil(graphRange / interval);
46685
+
46686
+ while (steps > maxSteps) {
46687
+ interval *= 2;
46688
+ steps = Math.ceil(graphRange / interval);
46439
46689
  }
46690
+
46691
+ graphMax = graphMin + interval * steps;
46692
+ } else {
46693
+ // 4) auto
46694
+ interval = this.getNiceNumber({
46695
+ range: graphRange / maxSteps,
46696
+ round: true
46697
+ });
46698
+ steps = Math.ceil(graphRange / interval);
46699
+ graphMax = graphMin + interval * steps;
46440
46700
  }
46441
46701
 
46442
- return decimals;
46702
+ this.adjustedDecimalPoint = this.decimalPoint === 'auto' ? this.getAutoDecimalPointFromInterval(interval) : this.decimalPoint;
46703
+ return {
46704
+ steps: steps,
46705
+ interval: interval,
46706
+ graphMin: graphMin,
46707
+ graphMax: graphMax
46708
+ };
46443
46709
  }
46444
46710
  }]);
46445
46711
 
@@ -47573,6 +47839,7 @@ var plugins_title_modules = {
47573
47839
 
47574
47840
 
47575
47841
 
47842
+
47576
47843
 
47577
47844
 
47578
47845
  var plugins_legend_modules = {
@@ -48110,6 +48377,8 @@ var plugins_legend_modules = {
48110
48377
 
48111
48378
 
48112
48379
  this.onLegendBoxClick = function (e) {
48380
+ var _this8$options$eventB;
48381
+
48113
48382
  var opt = _this8.options.legend;
48114
48383
 
48115
48384
  if (opt !== null && opt !== void 0 && opt.stopClickEvt) {
@@ -48135,11 +48404,12 @@ var plugins_legend_modules = {
48135
48404
 
48136
48405
  if (opt.clickMode === 'active') {
48137
48406
  var legendContainerDOMs = Array.from(_this8.legendBoxDOM.getElementsByClassName(classList.container));
48138
- var isActiveAll = legendContainerDOMs.every(function (dom) {
48407
+
48408
+ var _isActiveAll = legendContainerDOMs.every(function (dom) {
48139
48409
  return dom.dataset.inactive === 'false';
48140
48410
  });
48141
48411
 
48142
- if (isActiveAll) {
48412
+ if (_isActiveAll) {
48143
48413
  legendContainerDOMs.forEach(function (dom) {
48144
48414
  inactiveDomAndSeries(dom, opt.inactive);
48145
48415
  });
@@ -48190,13 +48460,35 @@ var plugins_legend_modules = {
48190
48460
  _this8.brushSeries.chartIdx = chartIdx;
48191
48461
  }
48192
48462
 
48193
- _this8.update({
48194
- updateSeries: false,
48195
- updateSelTip: {
48196
- update: true,
48197
- keepDomain: true
48198
- }
48463
+ if (((_this8$options$eventB = _this8.options.eventBehavior) === null || _this8$options$eventB === void 0 ? void 0 : _this8$options$eventB.legendClick) !== 'emitOnly') {
48464
+ _this8.update({
48465
+ updateSeries: false,
48466
+ updateSelTip: {
48467
+ update: true,
48468
+ keepDomain: true
48469
+ }
48470
+ });
48471
+ } // click-legend event 발생
48472
+
48473
+
48474
+ var activeSeries = Object.values(_this8.seriesList).filter(function (series) {
48475
+ return series.show;
48476
+ });
48477
+ var activeSeriesIds = activeSeries.map(function (series) {
48478
+ return series.sId;
48199
48479
  });
48480
+ var isActiveAll = activeSeriesIds.length === Object.values(_this8.seriesList).length;
48481
+ var args = {
48482
+ e: e,
48483
+ data: {
48484
+ seriesIds: isActiveAll ? [] : activeSeriesIds,
48485
+ isActiveAll: isActiveAll
48486
+ }
48487
+ };
48488
+
48489
+ if (typeof _this8.listeners['click-legend'] === 'function') {
48490
+ _this8.listeners['click-legend'](args);
48491
+ }
48200
48492
  };
48201
48493
  /**
48202
48494
  * callback for mouseleave event on legendBoxDOM
@@ -48370,6 +48662,8 @@ var plugins_legend_modules = {
48370
48662
 
48371
48663
 
48372
48664
  this.onLegendBoxClick = function (e) {
48665
+ var _this9$options$eventB;
48666
+
48373
48667
  var opt = _this9.options.legend;
48374
48668
 
48375
48669
  if (opt !== null && opt !== void 0 && opt.stopClickEvt) {
@@ -48398,11 +48692,12 @@ var plugins_legend_modules = {
48398
48692
 
48399
48693
  if (opt.clickMode === 'active') {
48400
48694
  var legendContainerDOMs = Array.from(_this9.legendBoxDOM.getElementsByClassName(classList.container));
48401
- var isActiveAll = legendContainerDOMs.every(function (dom) {
48695
+
48696
+ var _isActiveAll2 = legendContainerDOMs.every(function (dom) {
48402
48697
  return dom.dataset.inactive === 'false';
48403
48698
  });
48404
48699
 
48405
- if (isActiveAll) {
48700
+ if (_isActiveAll2) {
48406
48701
  legendContainerDOMs.forEach(function (dom) {
48407
48702
  inactiveDomAndSeries(dom, opt.inactive);
48408
48703
  });
@@ -48439,13 +48734,35 @@ var plugins_legend_modules = {
48439
48734
  }
48440
48735
  }
48441
48736
 
48442
- _this9.update({
48443
- updateSeries: false,
48444
- updateSelTip: {
48445
- update: true,
48446
- keepDomain: true
48447
- }
48737
+ if (((_this9$options$eventB = _this9.options.eventBehavior) === null || _this9$options$eventB === void 0 ? void 0 : _this9$options$eventB.legendClick) !== 'emitOnly') {
48738
+ _this9.update({
48739
+ updateSeries: false,
48740
+ updateSelTip: {
48741
+ update: true,
48742
+ keepDomain: true
48743
+ }
48744
+ });
48745
+ } // click-legend event 발생
48746
+
48747
+
48748
+ var activeSeries = series.colorState.filter(function (colorItem) {
48749
+ return colorItem.show;
48750
+ });
48751
+ var activeSerieIndices = activeSeries.map(function (colorItem) {
48752
+ return +colorItem.id.split('#')[1];
48448
48753
  });
48754
+ var isActiveAll = series.colorState.length === activeSeries.length;
48755
+ var args = {
48756
+ e: e,
48757
+ data: {
48758
+ seriesIndices: isActiveAll ? [] : activeSerieIndices,
48759
+ isActiveAll: isActiveAll
48760
+ }
48761
+ };
48762
+
48763
+ if (typeof _this9.listeners['click-legend'] === 'function') {
48764
+ _this9.listeners['click-legend'](args);
48765
+ }
48449
48766
  };
48450
48767
  /**
48451
48768
  * callback for mouseleave event on legendBoxDOM
@@ -57484,7 +57801,10 @@ var DEFAULT_OPTIONS = {
57484
57801
  decimalPoint: 0
57485
57802
  },
57486
57803
  seriesReverse: false,
57487
- coordinateDedupe: true
57804
+ coordinateDedupe: true,
57805
+ eventBehavior: {
57806
+ legendClick: 'update'
57807
+ }
57488
57808
  };
57489
57809
  var DEFAULT_DATA = {
57490
57810
  series: {},
@@ -57760,7 +58080,33 @@ var chart_uses_useModel = function useModel(injectGroupSelectedLabel, injectGrou
57760
58080
  if (injectGroupHoveredLabel !== null && injectGroupHoveredLabel !== void 0 && injectGroupHoveredLabel.value) {
57761
58081
  injectGroupHoveredLabel.value.label = null;
57762
58082
  }
57763
- }
58083
+ },
58084
+ 'click-legend': function () {
58085
+ var _clickLegend = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(e) {
58086
+ return regeneratorRuntime.wrap(function _callee5$(_context5) {
58087
+ while (1) {
58088
+ switch (_context5.prev = _context5.next) {
58089
+ case 0:
58090
+ _context5.next = 2;
58091
+ return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])();
58092
+
58093
+ case 2:
58094
+ emit('click-legend', e);
58095
+
58096
+ case 3:
58097
+ case "end":
58098
+ return _context5.stop();
58099
+ }
58100
+ }
58101
+ }, _callee5);
58102
+ }));
58103
+
58104
+ function clickLegend(_x5) {
58105
+ return _clickLegend.apply(this, arguments);
58106
+ }
58107
+
58108
+ return clickLegend;
58109
+ }()
57764
58110
  };
57765
58111
  return {
57766
58112
  eventListeners: eventListeners,
@@ -58124,7 +58470,7 @@ var uses_useZoomModel = function useZoomModel(evChartNormalizedOptions, _ref3, s
58124
58470
  default: false
58125
58471
  }
58126
58472
  },
58127
- emits: ['click', 'dbl-click', 'drag-select', 'mouse-move', 'update:selectedItem', 'update:selectedLabel', 'update:selectedSeries', 'update:zoomStartIdx', 'update:zoomEndIdx', 'update:realTimeScatterReset'],
58473
+ emits: ['click', 'dbl-click', 'drag-select', 'mouse-move', 'update:selectedItem', 'update:selectedLabel', 'update:selectedSeries', 'update:zoomStartIdx', 'update:zoomEndIdx', 'update:realTimeScatterReset', 'click-legend'],
58128
58474
  setup: function setup(props, _ref) {
58129
58475
  var emit = _ref.emit;
58130
58476
  var evChart = null;
@@ -58457,8 +58803,8 @@ var uses_useZoomModel = function useZoomModel(evChartNormalizedOptions, _ref3, s
58457
58803
  });
58458
58804
  // CONCATENATED MODULE: ./src/components/chart/Chart.vue?vue&type=script&lang=js
58459
58805
 
58460
- // EXTERNAL MODULE: ./src/components/chart/Chart.vue?vue&type=style&index=0&id=24eba9c6&lang=scss
58461
- var Chartvue_type_style_index_0_id_24eba9c6_lang_scss = __webpack_require__("5a0a");
58806
+ // EXTERNAL MODULE: ./src/components/chart/Chart.vue?vue&type=style&index=0&id=de83f53c&lang=scss
58807
+ var Chartvue_type_style_index_0_id_de83f53c_lang_scss = __webpack_require__("a444");
58462
58808
 
58463
58809
  // CONCATENATED MODULE: ./src/components/chart/Chart.vue
58464
58810
 
@@ -58468,7 +58814,7 @@ var Chartvue_type_style_index_0_id_24eba9c6_lang_scss = __webpack_require__("5a0
58468
58814
 
58469
58815
 
58470
58816
 
58471
- const Chart_exports_ = /*#__PURE__*/exportHelper_default()(Chartvue_type_script_lang_js, [['render',Chartvue_type_template_id_24eba9c6_render]])
58817
+ const Chart_exports_ = /*#__PURE__*/exportHelper_default()(Chartvue_type_script_lang_js, [['render',Chartvue_type_template_id_de83f53c_render]])
58472
58818
 
58473
58819
  /* harmony default export */ var Chart = (Chart_exports_);
58474
58820
  // CONCATENATED MODULE: ./src/components/chart/index.js